yusijie
2024-03-07 c5a629655949aa14868b66e8517e6c5505b2ad8a
WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -40,7 +40,7 @@
            string msg3 = sArray[1].ToString();
            string msg4 = sArray[2].ToString();
            string msg5 = sArray[3].ToString();
            string OperationType = sArray[4].ToString();
            string HBillSubType = sArray[4].ToString();
            string HComputerName = SystemInformation.ComputerName; //设备名称    
            string UserName = "";
@@ -48,14 +48,28 @@
            
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg4))
                if (HBillSubType == "SUB")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Edit", 1, false, msg4))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "指引卡无保存权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else {
                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Edit", 1, false, msg4))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "流转卡无保存权限!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                DBUtility.ClsPub.CurUserName = msg4;
                DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
                List<Model.ClsSc_ProcessExchangeBillMain> lsmain = new List<Model.ClsSc_ProcessExchangeBillMain>();
@@ -66,10 +80,10 @@
                {
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3772";
                    oItem.HBillSubType = OperationType=="5"?"SUB":"3772";
                    oItem.HBillSubType = HBillSubType == "SUB" ? HBillSubType : "3772";
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                    oItem.HDate = OperationType == "5" ? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")) : oItem.HDate;
                    oItem.HDate = HBillSubType == "SUB" ? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")) : oItem.HDate;
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
@@ -824,37 +838,54 @@
        }
        #endregion
        #region [模具保养计划单删除功能]
        #region [工序流转卡删除功能]
        /// <summary>
        /// 模具维修单删除功能
        /// 工序流转卡删除功能
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessExchangeBill/DeltetProcessExchangeBillByID")]
        [HttpGet]
        public object DeltetProcessExchangeBillByID(string HInterID, int HPRDORGID, string user)
        public object DeltetProcessExchangeBillByID(string HInterID, int HPRDORGID, string user, string HSouceBillType)
        {
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Drop", 1, false, user))
            if (HSouceBillType == "SUB")
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无删除权限!";
                objJsonResult.data = null;
                return objJsonResult;
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Drop", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "指引卡无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            else {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Drop", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "流转卡无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            string HComputerName = SystemInformation.ComputerName; //设备名称    
            DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
            string[] HBillNo = HInterID.Split(',');
            string[] HInterIDs = HInterID.Split(',');
            string[] HBillNos = new string[HInterIDs.Length];
            string HBillNo_S = "";
            foreach (var item in HBillNo)
            for (int i = 0; i < HInterIDs.Length; i++)
            {
                Int64 lngBillKey = 0;
                lngBillKey = DBUtility.ClsPub.isLong(item);
                lngBillKey = DBUtility.ClsPub.isLong(HInterIDs[i]);
                DBUtility.ClsPub.HOrgID = HPRDORGID;
                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
@@ -863,7 +894,7 @@
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据号:"+ oBill .omodel.HBillNo+ "单据ID为空!";
                        objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + "单据ID为空!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
@@ -919,6 +950,7 @@
                        return objJsonResult;
                    }
                    HBillNo_S += oBill.omodel.HBillNo + ",";
                    HBillNos[i] = oBill.omodel.HBillNo;
                }
                else
                {
@@ -931,21 +963,67 @@
            }
            HBillNo_S = HBillNo_S.Substring(0, HBillNo_S.Length - 1);
            LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",删除工序流转卡单据:" + HBillNo_S);
            oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "删除工序流转卡单据:" + HBillNo_S + "','LMES-工序流转卡模块','" + DBUtility.ClsPub.IPAddress + "','删除单据'", ref DBUtility.ClsPub.sExeReturnInfo);
            foreach (var item in HBillNo)
            for (int i = 0; i < HInterIDs.Length; i++)
            {
                bool IsDete = oBill.DeleteBill(long.Parse(item), ref DBUtility.ClsPub.sExeReturnInfo);
                oCN.BeginTran();
                if (HSouceBillType == "SUB")
                {
                    ds = oCN.RunProcReturn("select  * from Sc_ProcessExchangeBillMain where HInterID=" + HInterIDs[i], "Sc_ProcessExchangeBillMain");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "无流转卡数据!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=0 where HInterID=" + ds.Tables[0].Rows[0]["HMainSourceInterID"].ToString() + " and HEntryID=" + ds.Tables[0].Rows[0]["HMainSourceEntryID"].ToString());
                }
                //删除前控制=========================================
                string sql1 = "exec h_p_Sc_ProcessExchangeBill_BeforeDelCtrl " + HInterIDs[i] + ",'" + HBillNos[i] + "','" + user + "'";
                ds = oCN.RunProcReturn(sql1, "h_p_Sc_ProcessExchangeBill_BeforeDelCtrl");
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系";
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                    objJsonResult.data = null;
                    oCN.RollBack();
                    return objJsonResult;
                }
                //==================================================================================
                bool IsDete = oBill.DeleteBill(long.Parse(HInterIDs[i]), HBillNos[i], "h_p_Sc_ProcessExchangeBill_AfterDelCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo);
                if (!IsDete)
                {
                    oCN.RollBack();
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.Commit();
            }
            if (oSystemParameter.omodel.WMS_CampanyName == "瑞与祺")
@@ -1277,19 +1355,34 @@
        #region 工序流转卡审核/反审核功能
        [Route("Sc_ProcessExchangeBill/CheckSc_ProcessExchangeBill")]
        [HttpGet]
        public object CheckSc_ProcessExchangeBill(string HInterID, int Type, string user)
        public object CheckSc_ProcessExchangeBill(string HInterID, int Type, string user,string HBillSubType)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Check", 1, false, user))
                if (HBillSubType == "SUB")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限审核!";
                    objJsonResult.data = null;
                    return objJsonResult;
                    //判断是否有删除权限
                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Check", 1, false, user))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "指引卡无权限审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else {
                    //判断是否有删除权限
                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Check", 1, false, user))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "流转卡无权限审核!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
@@ -1322,8 +1415,32 @@
                            return objJsonResult;
                        }
                    }
                    //审核前控制
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    sql = "exec h_p_Sc_ProcessExchangeBill_BeforeCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchangeBill_BeforeCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //审核单据
                    if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    if (!BillOld.CheckBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ProcessExchangeBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
@@ -1349,8 +1466,31 @@
                            return objJsonResult;
                        }
                    }
                    //反审核前控制
                    string HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
                    sql = "exec h_p_Sc_ProcessExchangeBill_BeforeUnCheckCtrl " + int.Parse(HInterID) + ",'" + HBillNo + "','" + user + "'";
                    ds = oCN.RunProcReturn(sql, "h_p_Sc_ProcessExchangeBill_BeforeUnCheckCtrl");
                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //反审核单据
                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    if (BillOld.AbandonCheck(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ProcessExchangeBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo))
                    {
                        //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                        //DataSet DSet = oCn.RunProcReturn("exec h_p_Sc_ICMOBill_AbandonCheckCtrl " + int.Parse(HInterID), "h_p_Sc_ICMOBill_AbandonCheckCtrl");
@@ -1396,19 +1536,35 @@
        #region 工序流转卡关闭/反关闭功能
        [Route("Sc_ProcessExchangeBill/CloseSc_ProcessExchangeBill")]
        [HttpGet]
        public object CloseSc_ProcessExchangeBill(string HInterID, int Type, string user)
        public object CloseSc_ProcessExchangeBill(string HInterID, int Type, string user,string HBillSubType)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Close", 1, false, user))
                if (HBillSubType == "SUB")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限关闭!";
                    objJsonResult.data = null;
                    return objJsonResult;
                    //判断是否有删除权限
                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Sub_Close", 1, false, user))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "指引卡无权限关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    //判断是否有删除权限
                    if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Close", 1, false, user))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "流转卡无权限关闭!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                if (string.IsNullOrWhiteSpace(HInterID))
                {
@@ -1550,10 +1706,19 @@
        #region 单据变更 保存
        [Route("Sc_ProcessExchangeBill/GetProcessExchangeBillMain_Change_save")]
        [HttpGet]
        public object GetProcessExchangeBillMain_Change_save(string HInterID,string HMaterModel2)
        public object GetProcessExchangeBillMain_Change_save(string HInterID,string HMaterModel2, string user)
        {
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_ChangeBill", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无单据变更权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (string.IsNullOrEmpty(HInterID))
                {
                    objJsonResult.code = "0";