From 99660c0a8a0532cbec865dbd86aff2d15ca80fdb Mon Sep 17 00:00:00 2001
From: ch <37327@LLOOCCY>
Date: 星期三, 07 九月 2022 13:25:34 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs |  135 ++++++++++++++++++++++++++++++--------------
 1 files changed, 92 insertions(+), 43 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
index 8475e02..8b4ad48 100644
--- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
@@ -68,7 +68,7 @@
                 //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
                 ComplementGoodBill com = JsonConvert.DeserializeObject<ComplementGoodBill>(sWhere.ToString());
 
-                ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_Query '{com.HSeOrderBillNo}','{com.DepartmentName}','{com.MaterialNumber}','{com.MaterialName}'," +
+                    ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_Query '{com.HSeOrderBillNo}','{com.DepartmentName}','{com.MaterialNumber}','{com.MaterialName}'," +
                     $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}','{com.HBeginDate}','{com.HEndDate.AddDays(1).AddSeconds(-1)}'," +
                     $"{com.ps},{com.Organization},'{com.user}' ", "h_p_JIT_CallGoodsPlatForm_Query");
 
@@ -99,6 +99,7 @@
             public long HSourceEntryID = 0;//HSourceEntryIDCol
             public int? 鍙枡鏁伴噺 = 0;//HBHGQtyCol
             public int? 宸插彨鏂欐暟閲� = 0;//HBHGQtyCol
+            public int? 宸查厤閫佹暟閲� = 0;//HBHGQtyCol
             public double? 閫�鏂欐暟閲� = 0;//閫�鏂欐暟閲�
             public long HSTOCKID = 0;//HSTOCKID
             public string 閫�鏂欏師鍥� { get; set; }//閫�鏂欏師鍥�
@@ -109,6 +110,7 @@
             public double 璁″垝鍙戞枡鏁伴噺 = 0;//HPlanQtyCol 
             public int HWHID = 0;//HWHIDCol
             public int? 璋冨嚭浠撳簱id = 0;//璋冨嚭浠撳簱id
+            public int? 璋冨叆浠撳簱id = 0;//璋冨叆浠撳簱id
             public string HMaterialNumberCol { get; set; }
             public string HMaterialModelCol { get; set; }
             public string HProcID { get; set; }//HProcIDCol
@@ -118,10 +120,10 @@
             public long HICMOInterID = 0;// HICMOInterIDCol
             public long HICMOEntryID = 0;// HICMOEntryIDCol
             public long HDeptID = 0;//HDeptID
+            public long 搴撳瓨鏁伴噺 = 0;
             public double HBHGQtyCol = 0;
             public string 閿�鍞鍗曞彿 { get; set; }//HSeOrderNOCol
             public DateTime? 璁″垝寮�宸ユ棩鏈� = null;//HBPlanDateCol
-
         }
 
         //涓存椂琛�  鍙枡瀛愯〃
@@ -138,6 +140,7 @@
             public string HSeOrderNo;
             public string HSeOrderBillNo;
             public int HWHID = 0;
+            public int HSCWHID = 0;
             public long HOutOrgID = 0;
             public long HICMOInterID = 0;
             public long HICMOEntryID = 0;
@@ -193,6 +196,51 @@
                             return objJsonResult;
                         }
 
+                        if (listCa[i].搴撳瓨鏁伴噺 == 0 && listCa[i].鍙枡鏁伴噺 > 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "搴撳瓨鏁伴噺涓�0,鏃犳硶鍙枡!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].鍙枡鏁伴噺 > listCa[i].搴撳瓨鏁伴噺)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "搴撳瓨鏁伴噺灏忎簬鍙枡鏁伴噺,鏃犳硶鍙枡!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨叆浠撳簱id == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].鍙枡鏁伴噺 > 0 && listCa[i].璋冨嚭浠撳簱id == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        //if (listCa[i].璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺 == 0)
+                        //{
+                        //    objJsonResult.code = "0";
+                        //    objJsonResult.count = 0;
+                        //    objJsonResult.Message = "璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺涓�0!";
+                        //    objJsonResult.data = null;
+                        //    return objJsonResult;
+                        //}
+
                         j = 1;
 
                         var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
@@ -217,28 +265,11 @@
                         oSub.HSourceBillNo = listCa[i].HSourceBillNo;
                         oSub.HQty =double.Parse(listCa[i].鍙枡鏁伴噺.ToString());
 
-                        //if (oSub.HQty <= 0)
-                        //{
-                        //    objJsonResult.code = "0";
-                        //    objJsonResult.count = 0;
-                        //    objJsonResult.Message = $"绗瑊i+1}琛岋紝鍙枡鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0";
-                        //    objJsonResult.data = null;
-                        //    return objJsonResult;
-                        //}
-
-                        //if (oSub.HQty > listCa[i].璋冨嚭浠撳簱鍙敤搴撳瓨鏁伴噺)
-                        //{
-                        //    objJsonResult.code = "0";
-                        //    objJsonResult.count = 0;
-                        //    objJsonResult.Message = $"绗瑊i+1}琛岋紝鍙枡鏁伴噺澶т簬璇ョ墿鏂欒皟鍑轰粨搴撳彲鐢ㄥ簱瀛樻暟閲�";
-                        //    objJsonResult.data = null;
-                        //    return objJsonResult;
-                        //}
-
                         oSub.HMaterID = listCa[i].HMaterialID;
                         oSub.HMaterNumber = listCa[i].HMaterialNumberCol; 
                         oSub.HModel = listCa[i].HMaterialModelCol;
-                        oSub.HWHID = listCa[i].HWHID;
+                        oSub.HWHID = int.Parse(listCa[i].璋冨叆浠撳簱id.ToString());
+                        oSub.HSCWHID = int.Parse(listCa[i].璋冨嚭浠撳簱id.ToString());
                         oSub.HProcName = listCa[i].HProcNameCol; 
                         oSub.HProcID = listCa[i].HProcID;
                         oSub.HOutOrgID = listCa[i].HOutOrgID;
@@ -313,12 +344,12 @@
                       " (HInterID,HEntryID,HRemark" +
                       ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                       ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" +
-                      ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSPID,HBillNo_bak,HOutOrgID" +
+                      ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSCWHID,HSPID,HBillNo_bak,HOutOrgID,HStockOutOrgID,HStockInOrgID" +
                       ") values("
                       + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'" +
                       "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                       "," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'" +
-                      "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+") ", ref DBUtility.ClsPub.sExeReturnInfo);
+                      "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSCWHID.ToString()+"," + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+ ","+oSub.HOutOrgID+ "," + omodel.HPRDORGID +") ", ref DBUtility.ClsPub.sExeReturnInfo);
 
                 //涓昏〃
 
@@ -384,23 +415,41 @@
                 {
                     if (listCa[i].閫�鏂欐暟閲� > 0)
                     {
-                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸插彨鏂欐暟閲�)
+                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡鍙枡鏁伴噺!";
+                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
 
-                        ds = oCN.RunProcReturn("select sum(HQty) from JIT_CallGoodsBackRequestBillSub " +
-                   $"where HSourceInterID={listCa[i].HSouceInterID} and HSourceEntryID ={listCa[i].HSourceEntryID} and HSourceBillNo = '{listCa[i].HSourceBillNo}' and HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
+                        ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " +
+                   $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
 
-                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString())+listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�)
+                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString()==""?"0": ds.Tables[0].Rows[0][0].ToString()) +listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = $"宸茬粡閫�鏂欑敵璇锋暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
+                            objJsonResult.Message = $"宸茬粡閫�鏂欐暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].璋冨叆浠撳簱id == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璇烽�夋嫨璋冨叆浠撳簱!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (listCa[i].璋冨嚭浠撳簱id == 0)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "璇烽�夋嫨璋冨嚭浠撳簱!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -453,7 +502,7 @@
                 Int64 lngBillKey = listCa.HSouceInterID == 0 ? 0 : listCa.HSouceInterID;
                 Int64 lngBillKeyEntry = listCa.HSourceEntryID == 0 ? 0 : listCa.HSourceEntryID;
                 double HQty = (double)(listCa.閫�鏂欐暟閲� == 0 ? 0 : listCa.閫�鏂欐暟閲�);
-                long HDeptWHID = listCa.HSTOCKID == 0 ? 0 : listCa.HSTOCKID;
+                long HDeptWHID = int.Parse(listCa.璋冨叆浠撳簱id.ToString()) == 0 ? 0 : int.Parse(listCa.璋冨叆浠撳簱id.ToString());
                 string HTuiResult = listCa.閫�鏂欏師鍥� == "" ? "" : listCa.閫�鏂欏師鍥�;
                 var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
                 var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
@@ -473,7 +522,7 @@
                         " HItemMainID, HSendManID, HWareManID, HStockOutOrgID, HStockInOrgID, HBackType)" +
                        $"values({DateTime.Now.Year},{DateTime.Now.Month},{HBillInterID},'{HBillType}',1," +
                        $" '{HBillType}','{DateTime.Now}','{HBillNo}',{HOrgID},'{ DBUtility.ClsPub.CurUserName}','{DateTime.Now}','','',0,0,0,''," +
-                       $" 0, 0, 0, {HOrgID}, 0,'{HBackType}')");
+                       $" 0, 0, {listCa.HOutOrgID}, {HOrgID}, 0,'{HBackType}')");
                  
                 sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
                 oCN.Commit();
@@ -521,23 +570,23 @@
                 {
                     if (listCa[i].閫�鏂欐暟閲� > 0)
                     {
-                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸插彨鏂欐暟閲�)
+                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡鍙枡鏁伴噺!";
+                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
 
-                        ds = oCN.RunProcReturn("select sum(HQty) from JIT_CallGoodsBackRequestBillSub " +
-                $"where HSourceInterID={listCa[i].HSouceInterID} and HSourceEntryID ={listCa[i].HSourceEntryID} and HSourceBillNo = '{listCa[i].HSourceBillNo}' and HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
+                        ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " +
+                   $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
 
-                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString()) + listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�)
+                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = $"宸茬粡閫�鏂欑敵璇锋暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
+                            objJsonResult.Message = $"宸茬粡閫�鏂欐暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -618,23 +667,23 @@
                 {
                     if (listCa[i].閫�鏂欐暟閲� > 0)
                     {
-                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸插彨鏂欐暟閲�)
+                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡鍙枡鏁伴噺!";
+                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
 
-                        ds = oCN.RunProcReturn("select sum(HQty) from JIT_CallGoodsBackRequestBillSub " +
-               $"where HSourceInterID={listCa[i].HSouceInterID} and HSourceEntryID ={listCa[i].HSourceEntryID} and HSourceBillNo = '{listCa[i].HSourceBillNo}' and HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
+                        ds = oCN.RunProcReturn("select sum(d.HQty) HQty from JIT_CallGoodsBackRequestBillSub c inner join JIT_CallGoodsBackBillSub d on c.HInterID = d.HSourceInterID and c.HEntryID = d.HSourceEntryID and c.HMaterID = d.HMaterID " +
+                   $"where c.HSourceInterID={listCa[i].HSouceInterID} and c.HSourceEntryID ={listCa[i].HSourceEntryID} and c.HSourceBillNo = '{listCa[i].HSourceBillNo}' and c.HMaterID={listCa[i].HMaterialID}", "JIT_CallGoodsBackRequestBillSub");
 
-                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString()) + listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�)
+                        if ((double.Parse(ds.Tables[0].Rows[0][0].ToString() == "" ? "0" : ds.Tables[0].Rows[0][0].ToString()) + listCa[i].閫�鏂欐暟閲�) > listCa[i].宸插彨鏂欐暟閲�)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = $"宸茬粡閫�鏂欑敵璇锋暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
+                            objJsonResult.Message = $"宸茬粡閫�鏂欐暟閲�:{double.Parse(ds.Tables[0].Rows[0][0].ToString())},鍙��鏂欐暟閲忎负:{(listCa[i].宸插彨鏂欐暟閲� - double.Parse(ds.Tables[0].Rows[0][0].ToString()))}!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }

--
Gitblit v1.9.1