zrg
2024-04-19 52c55f711937ba38c8bf2d45dc8333bb45ed796b
WebAPI/Controllers/BaseSet/Gy_WorkCenterController.cs
@@ -8,6 +8,8 @@
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
using Newtonsoft.Json;
namespace WebAPI.Controllers
{
    public class Gy_WorkCenterController : ApiController
@@ -18,44 +20,43 @@
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        /// <summary>
        /// 返回工作中心列表
        ///参数:string sql。
        ///返回值:object。
        /// 工作中心动态列
        /// </summary>
        [Route("Gy_WorkCenter/list")]
        /// <param name="sWhere"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        [Route("Gy_WorkCenter/Gy_WorkCenterDyCollist")]
        [HttpGet]
        public object list(string sWhere)
        public object Gy_WorkCenterDyCollist(string sWhere,string user)
        {
            try
            {
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_WorkCenterList " + sWhere, "h_v_WorkCenterList");
                }
                else
                {
                    string sql1 = "select * from h_v_WorkCenterList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_WorkCenterList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_WorkCenter", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!";
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                ds = oCN.RunProcReturn("select * from h_v_WorkCenterList where 1 = 1 " + sWhere + " order by 工作中心代码 ", "h_v_WorkCenterList");
                List<object> listCol = new List<object>();
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                    Type dataType = col.DataType;
                    string str = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    listCol.Add(JsonConvert.DeserializeObject(str));
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = listCol;
                return objJsonResult;
            }
            catch (Exception e)
            {
@@ -66,6 +67,58 @@
                return objJsonResult;
            }
        }
        /// <summary>
        /// 返回工作中心列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_WorkCenter/list")]
        [HttpGet]
        public object list(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_WorkCenter", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_WorkCenterList where 1 = 1 " + sWhere + " order by 工作中心代码 ", "h_v_WorkCenterList");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// 根据基础资料ID 查找记录
@@ -227,44 +280,83 @@
                DAL.ClsGy_WorkCenter_View oDeptHlp = new DAL.ClsGy_WorkCenter_View();
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                //string msg3 = sArray[1].ToString();
                string msg3 = _value.ToString();
                string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg1 = sArray[0].ToString();
                string msg2 = sArray[1].ToString();
                //string msg4 = sArray[2].ToString();
                //string msg5 = sArray[3].ToString();
                //判断是否有编辑权限
                if (!DBUtility.ClsPub.Security_Log("Gy_WorkCenter_Edit", 1, false, msg2))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无编辑权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //反序列化
                msg2 = "[" + msg2.ToString() + "]";
                List<Gy_WorkCenter> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_WorkCenter>>(msg2);
                msg1 = "[" + msg1.ToString() + "]";
                List<Gy_WorkCenter> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_WorkCenter>>(msg1);
                long HItemID = list[0].HItemID;
                string HNumber = list[0].HNumber;
                string HName = list[0].HName;
                string HShortNumber = list[0].HShortNumber;
                string HDeptNumber = list[0].HDeptNumber;
                long HParentID = list[0].HParentID;
                string HHelpCode = list[0].HHelpCode;
                string HRemark = list[0].HRemark;
                bool HStopflag = list[0].HStopflag;
                bool HEndFlag = list[0].HStopflag;
                string HUseFlag = list[0].HUseFlag;
                var HQty = list[0].HQty;
                var HBarCodeForBase = list[0].HBarCodeForBase;
                var HDayMoney = list[0].HDayMoney;
                var HDeptID = list[0].HDeptID;
                var HProcID = list[0].HProcID;
                var HLevel = list[0].HLevel;
                var HWorkTimes = list[0].HWorkTimes;
                int HUSEORGID = list[0].HUSEORGID;
                string HMaker = msg2;
                ////判断权限
                //if (!ClsPub.Security_Log(msg5, 1, true, msg4))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "没有找到该功能模块!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //末级标志
                bool HEndFlag = true;
                //得到短代码
                string HShortNumber = DBUtility.ClsPub.GetShortNumber(HNumber);
                if (HShortNumber.Trim() == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!短代码为空!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //等级
                int HLevel = DBUtility.ClsPub.GetLevel(HNumber);
                //检查父级是否存在
                long HParentID = 0;
                string sParent = DBUtility.ClsPub.GetParentCode(HNumber);
                if (sParent.Trim() == "")
                {
                    HParentID = 0;
                }
                else
                {
                    ds = oCN.RunProcReturn("select * from Gy_WorkCenter where HNumber='" + sParent + "' and HStopFlag=0 ", "Gy_WorkCenter");
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        HParentID = long.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!上级代码不存在或被禁用!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                }
                //if (!DBUtility.ClsPub.AllowNumber(HNumber))
                //{
@@ -292,11 +384,12 @@
                   " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                   ",HDeptNumber,HWorkTimes,HQty" +
                   ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase" +
                   ",HProcID,HDayMoney) " +
                   ",HProcID,HDayMoney,HUSEORGID,HMaker,HMakeTime) " +
                   " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() +
                    ",'" + HDeptNumber + "'," + HWorkTimes + "," + HQty +
                    "," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) +
                    ",'" + HRemark + "'," + HDeptID + ",'" + HBarCodeForBase + "'," + HProcID + "," + HDayMoney + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                    ",'" + HRemark + "'," + HDeptID + ",'" + HBarCodeForBase + "'," + HProcID + "," + HDayMoney + ","+ HUSEORGID + "" +
                    ",'"+ HMaker + "',getdate())", ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update  Gy_WorkCenter set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.Commit();
@@ -313,7 +406,10 @@
                                  ",HParentID=" + HParentID +
                                  ",HStopflag='" + HStopflag + "'" +
                                  ",HRemark= '" + HRemark + "'" +
                                  ",HUpDater= '" + HMaker + "'" +
                                  ",HUpDateDate= getdate()" +
                                  ",HDeptID=" + HDeptID +
                                  ",HLevel=" + HLevel +
                                  ",HQty=" + HQty +
                                  ",HWorkTimes=" + HWorkTimes +
                                  ",HBarCodeForBase='" + HBarCodeForBase + "'  Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -375,7 +471,7 @@
        //var HWorkTimes = list[0].HWorkTimes;
        //        //判断权限
        //        //if (!ClsPub.Security_Log(msg5, 1, true, msg4))
        //        //if (!ClsPub.Security_Log(msg5, 1, false, msg4))
        //        //{
        //        //    objJsonResult.code = "0";
        //        //    objJsonResult.count = 0;
@@ -442,22 +538,21 @@
        /// <returns></returns>
        [Route("DeltetGy_WorkCenter")]
        [HttpGet]
        public object DeltetGy_WorkCenter(string HItemID)
        public object DeltetGy_WorkCenter(string HItemID,string user)
        {
            DataSet ds;
            DataSet ds1;
            //string ModRightNameCheck = "Sc_ProcessReport_check";
            try
            {
                //删除权限
                //if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "审核失败!无权限!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (!DBUtility.ClsPub.Security_Log("Gy_WorkCenter_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (string.IsNullOrWhiteSpace(HItemID))
@@ -568,7 +663,7 @@
            DAL.ClsGy_WorkCenter_View oDeptHlp = new DAL.ClsGy_WorkCenter_View();
            try
            {
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, true, User))
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -633,5 +728,198 @@
                return objJsonResult;
            }
        }
        #region 工作中心审核、反审核
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_WorkCenter/AuditGy_WorkCenter")]
        [HttpGet]
        public object AuditGy_WorkCenter(int HInterID, int IsAudit, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_WorkCenter_Check", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_WorkCenter where HItemID=" + HInterID, "Gy_WorkCenter");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //审核判断
                {
                    oCN.RunProc("update Gy_WorkCenter set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    oCN.RunProc("update Gy_WorkCenter set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 工作中心禁用、反禁用
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsStop">禁用(0),反禁用(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_WorkCenter/StopGy_WorkCenter")]
        [HttpGet]
        public object StopGy_Material(int HInterID, int IsStop, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_WorkCenter_Stop", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "禁用失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_WorkCenter where HItemID=" + HInterID, "Gy_WorkCenter");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsStop == 0)  //禁用判断
                    {
                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已禁用!不能再次禁用!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsStop == 1) //反禁用判断
                    {
                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未禁用!不需要反禁用!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsStop == 0)  //禁用判断
                {
                    oCN.RunProc("update Gy_WorkCenter set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "禁用成功";
                    objJsonResult.data = null;
                }
                if (IsStop == 1) //反禁用判断
                {
                    oCN.RunProc("update Gy_WorkCenter set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反禁用成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}