From f76084c29964fb0bd45c7fd8da2d1837ae995608 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期五, 29 十一月 2024 13:23:40 +0800
Subject: [PATCH] 多人刷卡开工 保存子表

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

diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index bd708fd..a438827 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -83,7 +83,7 @@
                 return new ApiResult<DataSet> { code = -1, msg = "ID涓嶈兘涓虹┖" };
             SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
 
-            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_NEW  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_NEW");
+            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_Edit  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_Edit");
             if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                 return new ApiResult<DataSet> { code = -1, msg = "涓嶅瓨鍦ㄥ紑宸ュ崟鍙�" };
 
@@ -634,6 +634,92 @@
         }
         #endregion
 
+        #region 鎶ュ伐骞冲彴寮�宸ュ崟淇濆瓨鍓嶇郴缁熼獙璇�
+        [Route("Sc_MESBeginWorkBill/Xt_AllowLoadData")]
+        [HttpGet]
+        public object Xt_AllowLoadData(string HKey)
+        {
+            try
+            {
+                ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
+                string Key = "N";
+                string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (sCapName.Contains("鏉窞鏂帿灏�"))
+                {
+                    Key = oClsXt_SystemParameter.GetSingleSystemParameter(HKey, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "";
+                objJsonResult.data = null;
+                objJsonResult.Verify = Key;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message;
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+        #region 鎶ュ伐骞冲彴寮�宸ュ崟娴佹按鍙峰洖杞﹁幏鍙栨潯鐮佷俊鎭�
+        [Route("Sc_MESBeginWorkBill/txtHBarCode_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown(string HBarCode, string HSourceInterID)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("exec h_p_Sc_MESBeginWorkBill_AllowLoadData '"+ HBarCode + "',"+ HSourceInterID, "h_p_Sc_MESBeginWorkBill_AllowLoadData");
+              
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else if (ds.Tables.Count ==1)
+                {
+                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                    objJsonResult.data = ds;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                objJsonResult.count = 1;
+                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                objJsonResult.data = ds;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 鎶ュ伐骞冲彴寮�宸ュ崟淇濆瓨/缂栬緫
         /// <summary>
         /// 寮�宸ュ崟
@@ -649,8 +735,9 @@
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
-            string UserName = sArray[1].ToString();
-            string refSav = sArray[2].ToString();
+            string msg3 = sArray[1].ToString();
+            string UserName = sArray[2].ToString();
+            string refSav = sArray[3].ToString();
             DBUtility.ClsPub.CurUserName = UserName;
             //淇濆瓨鏉冮檺
             if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, false, DBUtility.ClsPub.CurUserName))
@@ -673,6 +760,8 @@
                 objJsonResult.data = null;
                 return objJsonResult;
             }
+
+            LogService.Write("寮�宸�:1"+ msg1);
 
             ListModels oListModels = new ListModels();
             try
@@ -762,12 +851,34 @@
                     oBill.omodel = oItem;
                 }
 
+                // 琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<Models.ClsSc_MESBeginWorkBillSub_RelationBill> ls = new List<Models.ClsSc_MESBeginWorkBillSub_RelationBill>();
+                ls = oListModels.getObjectByJson_Sc_MESBeginWorkBillSub_RelationBill(msg3);
+                int i = 0;
+                foreach (Models.ClsSc_MESBeginWorkBillSub_RelationBill oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+
+
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+
+                    oBill.DetailCol2.Add(oItemSub);
+
+                }
+
+                LogService.Write("寮�宸�:2" + msg1);
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
                 if (oBill.omodel.HInterID == 0)
                 {
-
+                    LogService.Write("寮�宸�:2.1" + msg1);
                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                     if (bResult)
                     {
@@ -776,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";
+                            //}
                         }
                     }
 
@@ -793,6 +906,9 @@
                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                     objJsonResult.Verify = "N";
                 }
+
+                LogService.Write("寮�宸�:3" + msg1);
+
                 if (bResult)
                 {
 
@@ -822,6 +938,79 @@
         }
         #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)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message;
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         public DataTable getInfodatanow(string hsoucreID)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -837,7 +1026,14 @@
         {
             try
             {
-                ds = new SQLHelper.ClsCN().RunProcReturn("select * from Sc_ICMOBillStatus_Tmp" + sWhere, "Sc_ICMOBillStatus_Tmp");
+                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
+
+                string HSourceID = dic["HSourceID"].ToString();
+                string HICMOBillNo = dic["HICMOBillNo"].ToString();
+                string HInterID = dic["HInterID"].ToString();
+                string Type = dic["type"].ToString();
+
+                ds = new SQLHelper.ClsCN().RunProcReturn("exec h_p_IpadIndexButton  '"+ HSourceID + "','" + HICMOBillNo + "','" + HInterID + "','" + Type + "'", "h_p_IpadIndexButton");
                 if (ds.Tables[0].Rows.Count > 0)
                 {
                     objJsonResult.code = "1";
@@ -1379,6 +1575,46 @@
         #endregion
 
 
+        #region  鎶ュ伐骞冲彴妫�楠屽彇鏍峰崟寮圭獥鏌ユ壘鏁版嵁
+        [Route("Sc_MESBeginWorkBill/GetQC_TakeSampleCheckBill")]
+        [HttpGet]
+        public object GetQC_TakeSampleCheckBill(string HSourceInterID, string HSourceEntryID, string HSourceBillNo, string HSourceBillType)
+        {
+            try
+            {
+                //鏍规嵁閫夋嫨璧勬簮ID鑾峰彇褰撳墠鐢熶骇宸ュ崟銆佽矗浠讳汉
+                ds = oCN.RunProcReturn("exec h_p_GetQC_TakeSampleCheckBill @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HSourceBillType + "'", "h_p_GetQC_TakeSampleCheckBill");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇璧勬簮缁戝畾鏁版嵁鎴愬姛锛�";
+                    objJsonResult.data = ds;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏆傛棤璧勬簮缁戝畾锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message.ToString();
+                objJsonResult.data = null;
+
+            }
+            return objJsonResult;
+        }
+        #endregion
+     
 
 
     }

--
Gitblit v1.9.1