From 14bc9725c38aec848bfecb0d11b0bd8fd6193c5b Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期三, 21 八月 2024 16:01:33 +0800
Subject: [PATCH] 增加 生产日需求模具报表方法,出站单增加系统参数(不是开工状态不能出站),设备工艺产数点检(不是开工状态不能出站),报工台判断单据状态进行优化,改为存储过程,是可配的

---
 WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs |  502 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 441 insertions(+), 61 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index 2832ddd..99abdc1 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 = "涓嶅瓨鍦ㄥ紑宸ュ崟鍙�" };
 
@@ -201,11 +201,11 @@
         /// <returns></returns>
         [Route("Sc_MESBeginWorkBill/DeltetMESBeginWorkBill")]
         [HttpGet]
-        public object DeltetMESBeginWorkBill(string HInterID,string UserName)
+        public object DeltetMESBeginWorkBill(string HInterID, string UserName)
         {
             DBUtility.ClsPub.CurUserName = UserName;
             //缂栬緫鏉冮檺
-            if (!DBUtility.ClsPub.Security_Log("MES_MESBeginWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
+            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Delete", 1, false, DBUtility.ClsPub.CurUserName))
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
@@ -287,12 +287,12 @@
         [HttpGet]
         public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName)
         {
-            string ModRightNameCheck = "MES_MESBeginWorkBill_Check"; 
+            string ModRightNameCheck = "MES_MESBeginWorkBill_Check";
             DBUtility.ClsPub.CurUserName = CurUserName;
             try
             {
                 //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -457,26 +457,20 @@
         }
         #endregion
 
-        #region 鎶ュ伐骞冲彴寮�宸ュ崟淇濆瓨/缂栬緫
+        #region 鎶ュ伐骞冲彴寮�宸ュ崟蹇�熶繚瀛� 
         /// <summary>
         /// 寮�宸ュ崟
         /// </summary>
         /// <param name="msg"></param>
         /// <returns></returns>
-        [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom")]
-        [HttpPost]
-        public object SaveGetMESBeginWorkFrom([FromBody] JObject msg)
+        [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom_KS")]
+        [HttpGet]
+        public object SaveGetMESBeginWorkFrom_KS(string HBillType,int HSourceInterID,int HSourceEntryID,string HSourceBillNo,string user,string HSourceBillType)
         {
-        
-            var _value = msg["msg"].ToString();
-            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();
-            DBUtility.ClsPub.CurUserName = UserName;
+
+         
             //淇濆瓨鏉冮檺
-            if (!DBUtility.ClsPub.Security_Log("MES_MESBeginWorkBill_Edit", 1, true, DBUtility.ClsPub.CurUserName))
+            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, false, user))
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
@@ -496,7 +490,277 @@
                 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_xt_UserAssociationSelect where Czymc='" + 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]["HEmployeeID"].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]["HEmployeeID"].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);
+                   
+                    string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (sCapName.Contains("鍑礉"))
+                    {
+                        DataTable dt = getInfodatanow(oItem.HSourceID.ToString());
+                        if (dt.Rows.Count > 0)
+                        {
+                            DataRow dr = dt.Rows[0];
+                            oItem.HRunStatus = dr["runStu"].ToString();
+                            oItem.HSourceBeginQty = Convert.ToDecimal(dr["countAll"]);
+                        }
+                    }
+
+                    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"))); //鎵弿鏃ユ湡锛堝勾-鏈�-鏃�-鏃�-鍒�-绉掞級
+
+                    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
+
+        #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>
+        /// 寮�宸ュ崟
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom")]
+        [HttpPost]
+        public object SaveGetMESBeginWorkFrom([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();
+            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))
+            {
+                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
             {
@@ -555,8 +819,19 @@
                             return objJsonResult;
                         }
                     }
-
-                    DBUtility.ClsPub.CurUserName =oItem.HMaker;
+                    ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
+                    string sCapName = oClsXt_SystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (sCapName.Contains("鍑礉"))
+                    {
+                        DataTable dt = getInfodatanow(oItem.HSourceID.ToString());
+                        if (dt.Rows.Count > 0)
+                        {
+                            DataRow dr = dt.Rows[0];
+                            oItem.HRunStatus = dr["runStu"].ToString();
+                            oItem.HSourceBeginQty = Convert.ToDecimal(dr["countAll"]);
+                        }
+                    }
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
                     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鍒ゅ畾涓嶅悎鏍硷級     
@@ -574,14 +849,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);
+
+                }
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
                 if (oBill.omodel.HInterID == 0)
                 {
-                   
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (bResult) 
+
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (bResult)
                     {
                         objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //杩斿洖涓籌D
                         //绯荤粺鍙傛暟  鑷姩瀹℃牳
@@ -598,7 +893,7 @@
                             }
                         }
                     }
-                   
+
                 }
                 else
                 {
@@ -607,7 +902,7 @@
                 }
                 if (bResult)
                 {
-                   
+
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
@@ -634,6 +929,14 @@
         }
         #endregion
 
+        public DataTable getInfodatanow(string hsoucreID)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            string sql = $" select HMacAddr, isnull(runStu,'')runStu, isnull(countAll,0)countAll from Gy_Source t1  left join HX_LIOTsys..Info_data_now t2 on t1.HMacAddr = t2.hid where t1.hitemid={hsoucreID}";
+            DataTable dt = oCn.RunProcReturn(sql, "dt").Tables[0];
+            return dt;
+        }
+
         #region  鎶ュ伐骞冲彴楠岃瘉鍗曟嵁鐘舵��
         [Route("Sc_MESBeginWorkBill/GetMESBeginWorkBillStaus")]
         [HttpGet]
@@ -641,7 +944,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";
@@ -696,20 +1006,20 @@
 
         public static DataSet Sc_GetMESProductReportBillList(string sWhere)
         {
-            string sql = string.Format(@"select a.HInterID, a.HBillNo,a.HDate,a.HBillType,a.HBillStatus,a.HMaterID,m.HNumber HMaterCode,m.HName HMaterName,m.HModel HMaterSpec 
-                                   ,a.HSourceID,s.HNumber HSourceCode,s.HName HSourceName,a.HGroupID,g.HNumber HGroupCode,g.HName HGroupName
-                                   ,a.HWorkManID,e.HName HWorkManName,a.HMaker,a.HMakeDate, a.HReportType  
-                                   ,a.HQty,a.HICMOBillNo,a.HICMOInterID,a.HICMOEntryID 
-                                   ,a.HSourceInterID,a.HSourceEntryID,a.HSourceBillNo, a.HSourceBillType
-                                   from Sc_ICMOBillWorkQtyStatus_Tmp a 
-                                   left join Gy_Material m on a.HMaterID=m.hitemid
-                                   left join Gy_Source s on a.HSourceID=s.HItemID
-                                   left join Gy_Group g on a.HGroupID=g.HItemID
-                                   left join Gy_Employee e on a.HWorkManID=e.HItemID " + sWhere + " and HRelationInterID='0'");
-            return new SQLHelper.ClsCN().RunProcReturn(sql, "Sc_ICMOBillWorkQtyStatus_Tmp");
+            string sql = "";
+            if (sWhere != null && sWhere != "")
+            {
+                sql = "select * from h_v_Sc_ICMOBillWorkQtyTmpList_ReportingPlatform " + sWhere;
+            }
+            else
+            {
+                sql = "select * from h_v_Sc_ICMOBillWorkQtyTmpList_ReportingPlatform " ;
+            }
+            
+            return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_ICMOBillWorkQtyTmpList_ReportingPlatform");
         }
         #endregion
-        
+
         #region 鎶ュ伐骞冲彴浜ч噺姹囬獙璇佹眹鎶ユ暟閲忔槸鍚﹁秴鍑鸿鍒掓暟閲忚緫
         /// <summary>
         /// 
@@ -722,7 +1032,7 @@
         {
             try
             {
-                ds = new SQLHelper.ClsCN().RunProcReturn("select isnull(sum(HQty),0) HQty,isnull(sum(HBadQty),0) HBadQty,isnull(sum(HWasterQty),0) HWasterQty   from Sc_ICMOBillWorkQtyStatus_Tmp with (nolock)" + sWhere, "Sc_ICMOBillWorkQtyStatus_Tmp");
+                ds = new SQLHelper.ClsCN().RunProcReturn("select isnull(sum(HQty),0) HQty,isnull(sum(HBadCount),0) HBadQty,isnull(sum(HWasterQty),0) HWasterQty   from Sc_ICMOBillWorkQtyStatus_Tmp with (nolock)" + sWhere, "Sc_ICMOBillWorkQtyStatus_Tmp");
                 if (ds.Tables[0].Rows.Count > 0)
                 {
                     objJsonResult.code = "1";
@@ -849,7 +1159,7 @@
                     if (bResult)
                     {
                         objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //杩斿洖涓籌D
-                        //绯荤粺鍙傛暟  鑷姩瀹℃牳
+                                                                                  //绯荤粺鍙傛暟  鑷姩瀹℃牳
                         string sReturn = "";
                         if (oSystemParameter.ShowBill(ref sReturn) == true)
                         {
@@ -881,7 +1191,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触锛�";
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
@@ -907,7 +1217,7 @@
         /// <returns></returns>
         [Route("Sc_MESBeginWorkBill/MESProductAuditProcessReportList")]
         [HttpGet]
-        public object MESProductAuditProcessReportList(int HSourceID,int HSourceInterID,int HSourceEntryID,string HSourceBillNo, int HICMOInterID,int HICMOEntryID, int HInterID, int IsAudit, string CurUserName)
+        public object MESProductAuditProcessReportList(int HSourceID, int HSourceInterID, int HSourceEntryID, string HSourceBillNo, int HICMOInterID, int HICMOEntryID, int HInterID, int IsAudit, string CurUserName)
         {
             string ModRightNameCheck = "MES_ProcExchReport_Check";
             DBUtility.ClsPub.CurUserName = CurUserName;
@@ -915,7 +1225,7 @@
             {
                 string StrMessage = "";
                 //瀹℃牳鏉冮檺
-                if (!WebClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName,ref  StrMessage))
+                if (!WebClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName, ref StrMessage))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -987,7 +1297,7 @@
                 if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
                     //瀹℃牳鎻愪氦
-                    if (oBill.CheckBill(HSourceID, HSourceInterID,HSourceEntryID,HSourceBillNo,HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    if (oBill.CheckBill(HSourceID, HSourceInterID, HSourceEntryID, HSourceBillNo, HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
                     {
                         objJsonResult.code = "1";
                         objJsonResult.count = 1;
@@ -1040,17 +1350,24 @@
         #region 鎶ュ伐骞冲彴浜ч噺姹囨姤鍒犻櫎
         [Route("Sc_MESBeginWorkBill/DeltetMESProductReportBill")]
         [HttpGet]
-        public object DeleteGetLineBindBillList(string HInterID,string HICMOInterID,string HICMOEntryID,string UserName)
+        public object DeleteGetLineBindBillList(string HInterID, string HICMOInterID, string HICMOEntryID, string UserName)
         {
             try
             {
                 oCN.BeginTran();
+                //鏌ヨ浜ч噺姹囨姤涓存椂琛ㄦ暟閲�
+                ds = oCN.RunProcReturn("select isnull(HQty,0) HQty,isnull(HWasterQty,0) HWasterQty,isnull(HBadQty,0) HBadQty  from Sc_ICMOBillWorkQtyStatus_Tmp where HInterID='" + HInterID + "' and HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'", "Sc_ICMOBillWorkQtyStatus_Tmp");
+                double HQty = double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString());
+                double HWasterQty = double.Parse(ds.Tables[0].Rows[0]["HWasterQty"].ToString());
+                double HBadQty = double.Parse(ds.Tables[0].Rows[0]["HBadQty"].ToString());
+                double sumqty = HQty + HBadQty + HWasterQty;  //姹囨姤鏁伴噺+涓嶈壇+鎶ュ簾
+                                                              //鏇存柊浜ч噺瑁呴噺涓存椂琛ㄥ凡姹囨姤鏁伴噺
+                string sql1 = string.Format(@"update Sc_ICMOBillStatus_Tmp  set  HICMOStatus='1',HFinishFlag='0', HRelationInterID=0,HSplitRelationQty=HSplitRelationQty-" + sumqty + ",HDateFinishQty=HDateFinishQty-" + sumqty + "   where  HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'");
+                oCN.RunProc(sql1);
                 //鏇存柊鍒囨崲鐘舵�佸��
                 string sql = string.Format(@"delete Sc_ICMOBillWorkQtyStatus_Tmp  where HInterID='" + HInterID + "'");
                 oCN.RunProc(sql);
-                //鏇存柊浜ч噺瑁呴噺涓存椂琛ㄥ凡姹囨姤鏁伴噺
-                string sql1 = string.Format(@"update Sc_ICMOBillStatus_Tmp  set HRelationInterID=0,HSplitRelationQty=0 where HInterID='" + HInterID + "' and HICMOInterID='"+ HICMOInterID + "' and HICMOEntryID='"+ HICMOEntryID + "'");
-                oCN.RunProc(sql);
+
                 oCN.Commit();
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -1074,15 +1391,38 @@
         #region 鎶ュ伐骞冲彴鎶ユ鐢宠淇濆瓨
         [Route("Sc_MESBeginWorkBill/SaveGetMESProductReportBillList")]
         [HttpGet]
-        public object SaveGetMESProductReportBillList(string ScMaxWork,string HSourceBillType, string workcode,int HSourceID,int HICMOInterID,int HICMOEntryID,string HMaker,string Czybm)
-        {   
+        public object SaveGetMESProductReportBillList(string ScMaxWork, string HSourceBillType, string workcode, int HSourceID, int HICMOInterID, int HICMOEntryID, string HMaker, string Czybm)
+        {
             ListModels oListModels = new ListModels();
             try
             {
+                //绯荤粺鍙傛暟 鐢熸垚鐢熶骇姹囨姤鍗曞墠鍒ゆ柇鏄惁棣栨
+                //string sReturn = "";
+                //if (oSystemParameter.ShowBill(ref sReturn) == true)
+                //{
+                //    if (oSystemParameter.omodel.Sc_ICMOReportBill_FirstCheckOut == "Y") //绯荤粺鍙傛暟   蹇呴』棣栦欢妫�楠岄�氳繃鎵嶈兘淇濆瓨鍗曟嵁
+                //    {
+                //        //绯荤粺鍙傛暟瀹℃牳,鍒欐牴鎹敓浜ц鍗曞彿锛屽叧鑱旈妫�妫�楠屽崟涓簮鍗曞彿鏌ユ壘妫�楠屽崟鏁版嵁锛屽垽鏂崟鎹姸鎬佹槸鍚﹀悎鏍�
+                //        ds = oCN.RunProcReturn("select *   from QC_FirstPieceCheckBillMain where HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'", "QC_FirstPieceCheckBillMain");
+                //        if (ds.Tables[0].Rows.Count > 0) //鏈夐妫�妫�楠屽崟
+                //        {
+                //            int rows = ds.Tables[0].AsEnumerable().Where(item => item["HLastResult"].ToString().Equals("True")).Count(); //鍒ゆ柇褰撳墠鏁版嵁(涓�鏉℃垨澶氭潯)涓渶缁堝垽瀹氭槸鍚︽湁鍚堟牸
+                //            if (rows <= 0)
+                //            {
+                //                objJsonResult.code = "0";
+                //                objJsonResult.count = 0;
+                //                objJsonResult.Message = "褰撳墠宸ュ崟棣栨妫�楠屽垽瀹氫笉鍚堟牸,鏃犳硶鐢熸垚姹囨姤鍗曪紒";
+                //                objJsonResult.data = null;
+                //                return objJsonResult;
+                //            }
+                //        }
+                //    }
+                //}
+
                 string sHSourceType = HSourceBillType;
-                string  BillType = "3711";  //鍗曟嵁绫诲瀷 (鐢熶骇姹囨姤鍗�)
-                //寰楀埌mainid
-                 long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                string BillType = "3711";  //鍗曟嵁绫诲瀷 (鐢熶骇姹囨姤鍗�)
+                                           //寰楀埌mainid
+                long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                 //oCN.BeginTran();
                 //鏍规嵁鍗曞彿銆佽祫婧怚D銆佽鍗曚富ID銆佽鍗曞瓙ID銆佸埗鍗曚汉杩囨护浜ч噺姹囨姤鎶ユ鐢宠鎻愪氦鏁版嵁
                 //string sql = string.Format(@"update Sc_ICMOBillWorkQtyStatus_Tmp set 
@@ -1096,14 +1436,14 @@
                 //ds = oCN.RunProcReturn("select top 1 * from  Sc_ICMOBillWorkQtyStatus_Tmp where HICMOReportInterID='" + HInterID + "' and HICMOReportBillNo='" + ScMaxWork + "'", "Sc_ICMOBillWorkQtyStatus_Tmp");
                 //if (ds.Tables[0].Rows.Count <= 0)
                 //{
-                    //oCN.RollBack();
+                //oCN.RollBack();
                 //    objJsonResult.code = "0";
                 //    objJsonResult.count = 0;
                 //    objJsonResult.Message = "褰撳墠鍗曟嵁鏃犱骇閲忔眹鎶ヨ褰曪紒";
                 //    objJsonResult.data = null;
                 //    return objJsonResult;
                 //}
-               
+
                 WebS.ClsSc_ICMOReportBillMain model = new WebS.ClsSc_ICMOReportBillMain();
                 model.HInterID = HInterID;
                 model.HBillNo = ScMaxWork;
@@ -1118,9 +1458,9 @@
                 //model.HPRDORGID = DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HPRDORGID"]);
                 model.HMainSourceInterID = HICMOInterID;
                 model.HMainSourceEntryID = HICMOEntryID;
-                
+
                 //oWebs.Timeout = 30000;
-                bool flag=oWebs.set_SaveICMOProductReportBill_Layui(model,workcode,HSourceID, sHSourceType, ref DBUtility.ClsPub.sErrInfo);
+                bool flag = oWebs.set_SaveICMOProductReportBill_Layui(model, workcode, HSourceID, sHSourceType, ref DBUtility.ClsPub.sErrInfo);
                 if (flag)
                 {
                     //oCN.Commit();
@@ -1130,12 +1470,12 @@
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
-                else 
+                else
                 {
                     //oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触锛�"+ flag+ ";"+ DBUtility.ClsPub.sErrInfo;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + flag + ";" + DBUtility.ClsPub.sErrInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1153,7 +1493,47 @@
         #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