From 9124a9b2e9f4a041da4509039c65a70cc81dd033 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期五, 16 五月 2025 15:49:58 +0800
Subject: [PATCH] 组织物料启动检查项目防错装置优化

---
 WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs |  262 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 251 insertions(+), 11 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index 99abdc1..a5b53b3 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -761,6 +761,8 @@
                 return objJsonResult;
             }
 
+            LogService.Write("寮�宸�:1"+ msg1);
+
             ListModels oListModels = new ListModels();
             try
             {
@@ -869,13 +871,15 @@
                     oBill.DetailCol2.Add(oItemSub);
 
                 }
+
+                LogService.Write("寮�宸�:2" + msg1);
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
                 if (oBill.omodel.HInterID == 0)
                 {
-
-                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    LogService.Write("寮�宸�:2.1" + msg1);
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                     if (bResult)
                     {
                         objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //杩斿洖涓籌D
@@ -883,14 +887,16 @@
                         string sReturn = "";
                         if (oSystemParameter.ShowBill(ref sReturn) == true)
                         {
-                            if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
-                            {
-                                objJsonResult.Verify = "Y";
-                            }
-                            else
-                            {
-                                objJsonResult.Verify = "N";
-                            }
+                            LogService.Write("寮�宸�:2.8");
+                            objJsonResult.Verify = "Y";
+                            //if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                            //{
+                            //    objJsonResult.Verify = "Y";
+                            //}
+                            //else
+                            //{
+                            //    objJsonResult.Verify = "N";
+                            //}
                         }
                     }
 
@@ -900,6 +906,9 @@
                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                     objJsonResult.Verify = "N";
                 }
+
+                LogService.Write("寮�宸�:3" + msg1);
+
                 if (bResult)
                 {
 
@@ -917,6 +926,79 @@
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message;
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鎶ュ伐骞冲彴寮�宸ュ崟 鍒峰崱淇濆瓨鍒峰崱浜�
+        /// <summary>
+        /// 寮�宸ュ崟
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sc_MESBeginWorkBill/AddHCardswiper")]
+        [HttpPost]
+        public object AddHCardswiper([FromBody] JObject msg)
+        {
+
+            var _value = msg["msg"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+
+            ListModels oListModels = new ListModels();
+            try
+            {
+                oCN.BeginTran();
+                DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
+                List<Models.ClsSc_MESBeginWorkBillSub> lsmain = new List<Models.ClsSc_MESBeginWorkBillSub>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Sc_MESBeginWorkBillSub(msg2);
+
+                foreach (Models.ClsSc_MESBeginWorkBillSub oItemSub in lsmain)
+                {
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailColl.Add(oItemSub);
+                }
+                ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillSub where HInterID<0 order by HInterID", "Sc_MESBeginWorkBillSub");
+                string HInterID = "-1";
+                if (ds.Tables[0].Rows.Count>0) {
+                    HInterID = (int.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()) - 1).ToString();
+                }
+                //msg3 = msg3.Substring(1, msg3.Length - 2);
+                //msg3 = msg3.Replace("\\", "");
+                //msg3 = msg3.Replace("\n", "");  //\n
+
+                //淇濆瓨
+                foreach (Models.ClsSc_MESBeginWorkBillSub oSub in oBill.DetailColl)
+                {
+                    ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillSub where HBillNo_bak='" + oSub.HBillNo_bak + "'", "Sc_MESBeginWorkBillSub");
+                    string subSql = "insert into Sc_MESBeginWorkBillSub " +
+                        "(HInterID, HEntryID,HBillNo_bak,HCloseMan,HEntryCloseDate,HCloseType, HSourceInterID, HSourceEntryID" +
+                        ",HRelationQty,HRelationMoney, HSourceBillNo, HSourceBillType, HRemark,HCardswiperMan,HCardswiperDate,HEmpID) " +
+                        "values(" +
+                        "'" + HInterID + "','" + (ds.Tables[0].Rows.Count + 1) + "','" + oSub.HBillNo_bak + "','','" + oSub.HEntryCloseDate + "','" + oSub.HCloseType + "','',''," +
+                        "0,0,'','','','" + oSub.HCardswiperMan + "',getdate(),'" + oSub.HEmpID + "')";
+                    oCN.RunProc(subSql);
+                }
+                oCN.Commit();
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                objJsonResult.data = 1;
+                return objJsonResult;
             }
             catch (Exception e)
             {
@@ -1532,8 +1614,166 @@
             return objJsonResult;
         }
         #endregion
-     
+
+        #region 鎶ュ伐骞冲彴蹇嵎寮�宸�
+        [Route("Sc_MESBeginWorkBill/FastBeginWorkBill")]
+        [HttpGet]
+        public object FastBeginWorkBill(string HBillType, int HSourceInterID, int HSourceEntryID, string HSourceBillNo, string HSourceBillType,string user)
+        {
 
 
+            //淇濆瓨鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, false, user))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = s;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+            ListModels oListModels = new ListModels();
+            try
+            {
+
+                ds = oCN.RunProcReturn("exec h_p_JIT_GetInfoByICMOStatusInterID @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HBillType + "'", "h_p_JIT_GetInfoByICMOStatusInterID");
+
+                Models.ClsSc_MESBeginWorkBillMain ClsSc_MESBeginWorkBillMain = new Models.ClsSc_MESBeginWorkBillMain();
+                ClsSc_MESBeginWorkBillMain.HProcID = int.Parse(ds.Tables[0].Rows[0]["HProcID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HMaterID = int.Parse(ds.Tables[0].Rows[0]["HMaterID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HSourceID = int.Parse(ds.Tables[0].Rows[0]["HSourceID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HMainSourceBillNo = ds.Tables[0].Rows[0]["HSourceBillNo"].ToString();
+                ClsSc_MESBeginWorkBillMain.HMainSourceInterID = int.Parse(ds.Tables[0].Rows[0]["HSourceInterID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HMainSourceEntryID = ds.Tables[0].Rows[0]["HSourceEntryID"].ToString();
+                ClsSc_MESBeginWorkBillMain.HMainSourceBillType = HSourceBillType == null ? "" : HSourceBillType;
+                ClsSc_MESBeginWorkBillMain.HDeptID = int.Parse(ds.Tables[0].Rows[0]["HDeptID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HICMOInterID = int.Parse(ds.Tables[0].Rows[0]["HICMOInterID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HICMOEntryID = int.Parse(ds.Tables[0].Rows[0]["HICMOEntryID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HICMOBillNo = ds.Tables[0].Rows[0]["HICMOBillNo"].ToString();
+
+                ds = oCN.RunProcReturn("select * from h_v_Cj_GetDefValByUser where 鐢ㄦ埛鍚嶇О='" + user + "'", "h_v_xt_UserAssociationSelect");
+
+                //if (ds.Tables[0].Rows[0]["HGroupID"].ToString() == "0")
+                //{
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "淇濆瓨澶辫触锛佺敤鎴锋病鏈夌粦瀹氱彮缁�!";
+                //    objJsonResult.data = 1;
+                //    return objJsonResult;
+                //}
+
+                if (ds.Tables[0].Rows[0]["HEmpID"].ToString() == "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛佺敤鎴锋病鏈夌粦瀹氳亴鍛�!";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                ClsSc_MESBeginWorkBillMain.HGroupID = int.Parse(ds.Tables[0].Rows[0]["HGroupID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HEmpID = int.Parse(ds.Tables[0].Rows[0]["HEmpID"].ToString());
+
+                DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
+                List<Models.ClsSc_MESBeginWorkBillMain> lsmain = new List<Models.ClsSc_MESBeginWorkBillMain>();
+                lsmain.Add(ClsSc_MESBeginWorkBillMain);
+                ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
+
+                DBUtility.ClsPub.CurUserName = user;
+
+                foreach (Models.ClsSc_MESBeginWorkBillMain oItem in lsmain)
+                {
+                    oItem.HBillNo = DBUtility.ClsPub.CreateBillCode("3787", ref DBUtility.ClsPub.sExeReturnInfo, true);
+
+                    oItem.HBillType = "3787";
+                    oItem.HBillSubType = "3787";
+                    oItem.HBillStatus = 1;   //鍗曟嵁鐘舵�侊紙1鏈锛�2瀹℃牳閫氳繃锛�3鍏抽棴锛�4浣滃簾锛�5瀹℃牳閫�鍥�,6瀹℃牳涓�,7宸查槄锛�8宸插洖澶嶏紝9缁撴锛�10楠岃瘉,11涓嬭揪锛�12寮�宸�,13鐢宠瀹℃壒,15鐢宠妫�楠岋紝16 鍒ゅ畾鍚堟牸锛�17鍒ゅ畾涓嶅悎鏍硷級     
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oItem.HMaker = user;
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    oItem.HBarCodeMakeDate = Convert.ToDateTime(DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"))); //鎵弿鏃ユ湡锛堝勾-鏈�-鏃�-鏃�-鍒�-绉掞級
+                    oItem.HRemark = "蹇嵎寮�宸�";
+                    oBill.omodel = oItem;
+                }
+
+                oCN.BeginTran();
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult = false;
+                if (oBill.omodel.HInterID == 0)
+                {
+
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                }
+                ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillMain where HBillNo='" + oBill.omodel.HBillNo + "'", "Sc_MESBeginWorkBillMain");
+                if (ds.Tables[0].Rows.Count == 0)
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏌ユ棤鍗曟嵁!";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+
+                string sAutoCheck = oClsXt_SystemParameter.GetSingleSystemParameter("Sc_MESBeginWorkBill_AutoCheck", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (sAutoCheck == "Y")
+                {
+
+                    if (!oBill.CheckBill(long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()), ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();
+
+                if (bResult)
+                {
+
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message;
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }

--
Gitblit v1.9.1