From 436768f043554c4acf846eb8b387d91860799580 Mon Sep 17 00:00:00 2001
From: yxj <1qaz@123>
Date: 星期三, 27 七月 2022 14:01:36 +0800
Subject: [PATCH] 新增直接调拨单校验-多行相同物料自动拆分换行匹配、生产领料单校验-多行相同物料自动拆分换行匹配参数

---
 WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs |   96 +++++++++++++++++++++--------------------------
 1 files changed, 43 insertions(+), 53 deletions(-)

diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
index b83ec6e..76b2def 100644
--- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -331,6 +331,7 @@
 
                 //鍒涘缓涓存椂琛�
                 DataTable tb2 = new DataTable("dt2");
+                DataTable tb3 = new DataTable("dt3");
 
                 //娣诲姞鍒楀悕
                 for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
@@ -428,18 +429,11 @@
                     return objJsonResult;
                 }
 
-                string hnumber = "";
-                if (tb2.Rows.Count > 0)
-                {
-                    hnumber = DBUtility.ClsPub.isStrNull(tb2.Rows[0]["浜у搧浠g爜"].ToString());
-                }
-
                 for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                 {
                     string sHNumber = "";
                     if (DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString()) != "")
                     {
-                        //
                         sHNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString());
                         //瀹℃牳浠g爜鏄惁鍚堢悊
                         if (!DBUtility.ClsPub.AllowNumber(sHNumber))
@@ -451,41 +445,14 @@
                             return objJsonResult;
                         }
 
-                        if (hnumber == DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString()))
+                        //寰楀埌鐗╂枡鍐呯爜
+                        if (!oMaterHlp.GetInfoByNumber(sHNumber))
                         {
-                            //寰楀埌鐗╂枡鍐呯爜
-                            if (!oMaterHlp.GetInfoByNumber(sHNumber))
-                            {
-                                objJsonResult.code = "0";
-                                objJsonResult.count = 0;
-                                objJsonResult.Message = "绗�" + (i+1).ToString() + "琛�," + sHNumber + "娌℃湁鎵惧埌瀵瑰簲鐨勭墿鏂欙紒";
-                                objJsonResult.data = null;
-                                return objJsonResult;
-                            }
-                        }
-                        else
-                        {
-                            hnumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString());
-                            sHNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["浜у搧浠g爜"].ToString());
-
-                            //瀹℃牳浠g爜鏄惁鍚堢悊
-                            if (!DBUtility.ClsPub.AllowNumber(sHNumber))
-                            {
-                                objJsonResult.code = "0";
-                                objJsonResult.count = 0;
-                                objJsonResult.Message = "鐗╂枡浠g爜涓笉鑳藉嚭鐜拌繛缁��.鈥欏苟涓旈浣嶆湯浣嶄笉鑳戒负鈥�.鈥欙紒";
-                                objJsonResult.data = null;
-                                return objJsonResult;
-                            }
-                            //寰楀埌鐗╂枡鍐呯爜
-                            if (!oMaterHlp.GetInfoByNumber(sHNumber))
-                            {
-                                objJsonResult.code = "0";
-                                objJsonResult.count = 0;
-                                objJsonResult.Message = "绗�" + (i + 1).ToString() + "琛�," + sHNumber + "娌℃湁鎵惧埌瀵瑰簲鐨勭墿鏂欙紒";
-                                objJsonResult.data = null;
-                                return objJsonResult;
-                            }
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "绗�" + (i + 1).ToString() + "琛�," + sHNumber + "娌℃湁鎵惧埌瀵瑰簲鐨勭墿鏂欙紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
                         }
                     }
                     else
@@ -629,6 +596,7 @@
             public string HPeriod;
             public string DataAppend;
             public string HOrgID;
+            public Int64 HTProcessFlag;
         }
 
         [Route("Gy_RoutingBill/Gy_RoutingBill_btnSave")]
@@ -747,10 +715,10 @@
                         HProcID = ds.Tables[0].Rows[0]["HItemID"].ToString();
 
                     //鑾峰彇宸ヤ綔涓績
-                    ds = oCN.RunProcReturn("select * from Gy_WorkCenter Where HNumber='" + list[i]["宸ヤ綔涓績浠g爜"].ToString() + "'", "Gy_WorkCenter");
+                    ds = oCN.RunProcReturn("select * from Gy_WorkCenter Where HName='" + list[i]["宸ヤ綔涓績"].ToString() + "'", "Gy_WorkCenter");
                     var HCenterID = "0";
                     if (ds.Tables[0].Rows.Count > 0)
-                        HCenterID = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                    HCenterID = ds.Tables[0].Rows[0]["HItemID"].ToString();
 
                     var HProcNo = list[i]["宸ュ簭搴忓彿"].ToString();
                     var HTimeUnit = list[i]["鏃堕棿鍗曚綅"].ToString();
@@ -773,16 +741,38 @@
                     var HProcWorkNum = list[i]["绋嬪簭鍙�"].ToString();
                     //鐗╂枡鍒嗙被
 
-                    oCN.RunProc("Insert into Gy_RoutingBillSub (HInterID,HEntryID,HSupID,HProcID,HCenterID,HProcNO,HTimeUnit" +
-                                ", hworkqty, HFixPrice, HBadPrice, HWasterPrice, HBeginFixQty, HBeginDayQty, HFixWorkDays" +
-                                ", HTrunWorkDays, HAutoTrunFlag, HSupFlag, HTechnologyParameter, HPicNum, HProcCheckNote" +
-                                ", hpassrate, hremark, HMouldNo, HProcWorkNum, HReadyTime, HQueueTime, HMoveTime, HUnitTime)values" +
-                                $"({HInterID}, {num[0]}, {HSupID}, {HProcID},{HCenterID}, '{HProcNo}', '{HTimeUnit}'" +
-                                $", {hworkqty}, {(HFixPrice==""?"0": HFixPrice)}, {(HBadPrice == "" ? "0": HBadPrice)}, {(HWasterPrice == "" ? "0": HWasterPrice)}, {(HBeginFixQty == "" ? "0": HBeginFixQty)}, {(HBeginDayQty == "" ? "0": HBeginDayQty)}, {(HFixWorkDays == "" ? "0": HFixWorkDays)}" +
-                                $", {(HTrunWorkDays == "" ? "0": HTrunWorkDays)},{(HAutoTrunFlag == "True" ? "1": "0")},{(HSupFlag == "True" ? "1" : "0")}, '{HTechnologyParameter}', '{HPicNum}', '{HProcCheckNote}'" +
-                                $", {hpassrate}, '{hremark}', '{HMouldNo}', '{HProcWorkNum}', 0, 0, 0, 0)");
-                    //鑷娆℃暟
-                    num[0]++;
+
+                    
+                        oCN.RunProc("Insert into Gy_RoutingBillSub (HInterID,HEntryID,HSupID,HProcID,HCenterID,HProcNO,HTimeUnit" +
+                                    ", hworkqty, HFixPrice, HBadPrice, HWasterPrice, HBeginFixQty, HBeginDayQty, HFixWorkDays" +
+                                    ", HTrunWorkDays, HAutoTrunFlag, HSupFlag, HTechnologyParameter, HPicNum, HProcCheckNote" +
+                                    ", hpassrate, hremark, HMouldNo, HProcWorkNum, HReadyTime, HQueueTime, HMoveTime, HUnitTime)values" +
+                                    $"({HInterID}, {num[0]}, {HSupID}, {HProcID},{HCenterID}, '{HProcNo}', '{HTimeUnit}'" +
+                                    $", {hworkqty}, {(HFixPrice == "" ? "0" : HFixPrice)}, {(HBadPrice == "" ? "0" : HBadPrice)}, {(HWasterPrice == "" ? "0" : HWasterPrice)}, {(HBeginFixQty == "" ? "0" : HBeginFixQty)}, {(HBeginDayQty == "" ? "0" : HBeginDayQty)}, {(HFixWorkDays == "" ? "0" : HFixWorkDays)}" +
+                                    $", {(HTrunWorkDays == "" ? "0" : HTrunWorkDays)},{(HAutoTrunFlag == "True" ? "1" : "0")},{(HSupFlag == "True" ? "1" : "0")}, '{HTechnologyParameter}', '{HPicNum}', '{HProcCheckNote}'" +
+                                    $", {hpassrate}, '{hremark}', '{HMouldNo}', '{HProcWorkNum}', 0, 0, 0, 0)");
+                        //鑷娆℃暟
+                        num[0]++;
+                    if(omdelMian.HTProcessFlag == 1 )
+                    {
+                        if ((i == list.Count - 1) || (list[i]["浜у搧浠g爜"].ToString() != list[i + 1]["浜у搧浠g爜"].ToString()))
+                        {
+                            ds = oCN.RunProcReturn("select * from Gy_Process Where HTProcessFlag = 1", "Gy_Process");
+                            if (ds.Tables[0].Rows.Count > 0)
+                            HProcID = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                            HProcNo = ds.Tables[0].Rows[0]["HSno"].ToString();
+                            oCN.RunProc("Insert into Gy_RoutingBillSub (HInterID,HEntryID,HSupID,HProcID,HCenterID,HProcNO,HTimeUnit" +
+                                       ", hworkqty, HFixPrice, HBadPrice, HWasterPrice, HBeginFixQty, HBeginDayQty, HFixWorkDays" +
+                                       ", HTrunWorkDays, HAutoTrunFlag, HSupFlag, HTechnologyParameter, HPicNum, HProcCheckNote" +
+                                       ", hpassrate, hremark, HMouldNo, HProcWorkNum, HReadyTime, HQueueTime, HMoveTime, HUnitTime)values" +
+                                       $"({HInterID}, {num[0]}, {HSupID}, {HProcID},{HCenterID}, '{HProcNo}', '{HTimeUnit}'" +
+                                       $", {hworkqty}, {(HFixPrice == "" ? "0" : HFixPrice)}, {(HBadPrice == "" ? "0" : HBadPrice)}, {(HWasterPrice == "" ? "0" : HWasterPrice)}, {(HBeginFixQty == "" ? "0" : HBeginFixQty)}, {(HBeginDayQty == "" ? "0" : HBeginDayQty)}, {(HFixWorkDays == "" ? "0" : HFixWorkDays)}" +
+                                       $", {(HTrunWorkDays == "" ? "0" : HTrunWorkDays)},{(HAutoTrunFlag == "True" ? "1" : "0")},{(HSupFlag == "True" ? "1" : "0")}, '{HTechnologyParameter}', '{HPicNum}', '{HProcCheckNote}'" +
+                                       $", {hpassrate}, '{hremark}', '{HMouldNo}', '{HProcWorkNum}', 0, 0, 0, 0)");
+                        }
+                        num[0]++;
+                    }
+                  
                 }
 
                 objJsonResult.code = "1";

--
Gitblit v1.9.1