From a52bdc2aed17ba07d5ce0f1cc4adf64d5cd21ad2 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期六, 06 五月 2023 15:07:10 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs |  111 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 84 insertions(+), 27 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
index 899f3c7..187c835 100644
--- a/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
+++ b/WebAPI/Controllers/CJGL/Sc_ProcessExchangeBillController.cs
@@ -50,7 +50,7 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-
+                DBUtility.ClsPub.CurUserName = msg4;
                 DAL.ClsSc_ProcessExchangeBill oBill = new DAL.ClsSc_ProcessExchangeBill();
                 List<Model.ClsSc_ProcessExchangeBillMain> lsmain = new List<Model.ClsSc_ProcessExchangeBillMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -61,8 +61,8 @@
                     UserName = oItem.HMaker;  //鍒跺崟浜�
                     oItem.HBillType = "3772";
                     oItem.HBillSubType = "3772";
-                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                     {
                         objJsonResult.code = "0";
@@ -445,6 +445,9 @@
                 {
                     Main.HBillNo = ListHbillNo[i].HBillNo;
                     Main.HQty = ListHbillNo[i].HQty;
+                    Main.HSplitNo = ListHbillNo[i].HSplitNo;
+                    Main.HAuxQty = 0;
+                    Main.HAuxUnit = 0;
                     oBill.omodel = Main;
 
                     int j = 0;
@@ -666,12 +669,12 @@
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 string sql = string.Format(@"select 娴佹按鍙� HProcNo,HProcID,宸ュ簭浠g爜 HProcNumber,宸ュ簭鍚嶇О HProcName,鍔犲伐璇存槑 HWorkRemark,HCenterID,宸ヤ綔涓績浠g爜 HCenterNumber,
-                                                宸ヤ綔涓績 HCenterName,HSupID,渚涘簲鍟嗕唬鐮� HSupNumber,渚涘簲鍟� HSupName,isEntrust,璁″垝鏁伴噺 HQty,鍔犲伐鍗曚环 HOutPrice, 琛ㄤ綋澶囨敞 HRemark,
+                                                宸ヤ綔涓績 HCenterName,HSupID,渚涘簲鍟嗕唬鐮� HSupNumber,渚涘簲鍟� HSupName,isEntrust HSupFlag,璁″垝鏁伴噺 HQty,鍔犲伐鍗曚环 HOutPrice, 琛ㄤ綋澶囨敞 HRemark,
                                             杩涚珯鍏宠仈鏁伴噺 HRelationQty_In,鍑虹珯鍏宠仈鏁伴噺 HRelationQty_Out,濮斿宸ュ崟鏁伴噺 HRelationQty_WWOrder,涓嶅悎鏍兼暟閲� HRelationQty_Bad,瓒呴姣斾緥 HOverRate,
                                             鑹巼 HPassRate,绱鑹巼 HSumPassRate,鍥剧焊缂栧彿 HPicNum,鏈伐搴忕‘璁よ褰� HProcCheckNote,宸ヨ壓鍙傛暟 HTechnologyParameter,HDeptID,
                                             鍔犲伐杞﹂棿浠g爜 HDeptNumber,鍔犲伐杞﹂棿 HDeptName
                                             from h_v_Sc_ProcessExchangeBillQuerySub");
-                ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID, "h_v_Sc_ProcessExchangeBillQuerySub");
+                ds = oCN.RunProcReturn(sql+ " where hmainid="+ HInterID + "  order by cast(娴佹按鍙� as int) ", "h_v_Sc_ProcessExchangeBillQuerySub");
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
@@ -900,12 +903,26 @@
             try
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+                var ds1= oCN.RunProcReturn("select isnull(max(娴佹按鍙�),0) from h_v_Sc_ProcessExchangeBillQuerySub where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺>0 ", "h_v_Sc_ProcessExchangeBillQuerySub");
+
                 string sql = string.Format(@"select * from h_v_Sc_ProcessExchangeBillQuerySub");
-                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID, "h_v_Sc_ProcessExchangeBillQuerySub");
-                objJsonResult.code = "0";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
-                objJsonResult.data = ds.Tables[0];
+
+                ds = oCN.RunProcReturn(sql + " where hmainid=" + HInterID + " and 鍑虹珯鍏宠仈鏁伴噺=0  and  cast(娴佹按鍙� as int)>" + ds1 .Tables[0].Rows[0][0].ToString(), "h_v_Sc_ProcessExchangeBillQuerySub");
+
+                if (float.Parse(ds.Tables[0].Rows[0]["杩涚珯鍏宠仈鏁伴噺"].ToString()) > 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "褰撳墠鍗曟嵁:"+ ds.Tables[0].Rows[0]["宸ュ簭鍚嶇О"].ToString() + "鏈嚭绔欎笉鑳芥媶鍒�!";
+                    objJsonResult.data = ds.Tables[0];
+                }
+                else {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                }
             }
             catch (Exception e)
             {
@@ -933,6 +950,7 @@
             string msg3 = sArray[1].ToString();
             string msg4 = sArray[2].ToString();
             string msg5 = sArray[3].ToString();
+            string linterid = sArray[4].ToString();
 
             string UserName = "";
             ListModels oListModels = new ListModels();
@@ -953,16 +971,11 @@
                 msg2 = msg2.Replace("\\", "");
                 msg2 = msg2.Replace("\n", "");  //\n
                 lsmain = oListModels.getObjectByJson_Sc_ProcessExchangeBillMain(msg2);
+                string sReturn = "";
+                DBUtility.ClsPub.HOrgID = lsmain[0].HPRDORGID;
+                oBill.ShowBill(long.Parse(linterid), ref sReturn);
                 foreach (Model.ClsSc_ProcessExchangeBillMain oItem in lsmain)
                 {
-                    oItem.HMaker = msg5;  //鍒跺崟浜�
-                    oItem.HBillType = "3772";
-                    oBill.HBillSubType = "Split";
-                    oItem.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[1]);
-                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
-                    oItem.HMaterID2 = oItem.HMaterID;
                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                     {
                         objJsonResult.code = "0";
@@ -971,7 +984,16 @@
                         objJsonResult.data = 1;
                         return objJsonResult;
                     }
-                    oBill.omodel = oItem;
+
+                    oBill.omodel.HMaker = msg5;  //鍒跺崟浜�
+                    oBill.omodel.HNo = DBUtility.ClsPub.isLong(oItem.HBillNo.Split('-')[1]);
+                    oBill.omodel.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oBill.omodel.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    oBill.omodel.HDate = oItem.HDate;// 鏃ユ湡
+                    oBill.omodel.HPlanBeginDate = oItem.HPlanBeginDate;// 璁″垝寮�宸ユ棩鏈�
+                    oBill.omodel.HPlanEndDate = oItem.HPlanEndDate;// 璁″垝瀹屽伐鏃ユ湡
+                    oBill.omodel.HQty = oItem.HQty;// 鏁伴噺
+                    oBill.omodel.HBillNo = oItem.HBillNo;// 鍗曟嵁鍙�
                 }
 
                 //琛ㄤ綋鏁版嵁
@@ -982,24 +1004,52 @@
                 //msg2 = msg2.Replace("'", "鈥�");
                 List<Model.ClsSc_ProcessExchangeBillSub> ls = new List<Model.ClsSc_ProcessExchangeBillSub>();
                 ls = oListModels.getObjectByJson_Sc_ProcessExchangeBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in ls)
-                {
+              
+                string HEntryID = "";
 
-                    i++;
-                    if (oItemSub.HSplitQty > oItemSub.HLeftQty)
+                for (int i = 0; i < oBill.DetailColl.Count; i++)
+                {
+                    if (oBill.DetailColl[i].HRelationQty_Out > 0 || oBill.DetailColl[i].HRelationQty_In > 0)
+                    {
+                        HEntryID += i + ",";
+                    }
+                }
+                if (HEntryID != "")
+                {
+                    HEntryID = HEntryID.Substring(0, HEntryID.Length - 1);
+                    var num = HEntryID.Split(',');
+
+                    for (int k = 0; k < num.Length; k++)
+                    {
+                        oBill.DetailColl.RemoveAt(int.Parse(num[k]) - k);
+                    }
+                }
+
+                int j = 0 ;
+                foreach (Model.ClsSc_ProcessExchangeBillSub oItemSub in oBill.DetailColl)
+                {
+                    if (ls[j].HSplitQty > ls[j].HLeftQty)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "绗�"+i+ "琛岋紝鎷嗗垎鏁伴噺涓嶈兘澶т簬鍙媶鍒嗘暟閲忥紒";
+                        objJsonResult.Message = "绗�" + (j + 1) + "琛岋紝鎷嗗垎鏁伴噺涓嶈兘澶т簬鍙媶鍒嗘暟閲忥紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-                    oItemSub.HEntryID = i;
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oBill.DetailColl.Add(oItemSub);
 
+                    if (oBill.DetailColl[j].HProcNo == ls[j].HProcNo)
+                    {
+                        oBill.DetailColl[j].HEntryID = j+1;
+                        oBill.DetailColl[j].HQty = ls[j].HQty;
+                        oBill.DetailColl[j].HBackProc = ls[j].HBackProc;
+                        oBill.DetailColl[j].HPrevSourceInterID = ls[j].HPrevSourceInterID;
+                        oBill.DetailColl[j].HPrevSourceEntryID = ls[j].HPrevSourceEntryID;
+                        oBill.DetailColl[j].HRemark = ls[j].HRemark;
+                        oBill.DetailColl[j].HTechnologyParameter = ls[j].HTechnologyParameter;
+                        j++;
+                    }
                 }
+
 
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
@@ -1012,6 +1062,13 @@
                 //{
                 //    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //}
+               
+                oCN.BeginTran();
+
+                oCN.RunProc("update Sc_ProcessExchangeBillSub set HQty=(select HQty from Sc_ProcessExchangeBillMain where HInterID="+ oBill.DetailColl[0].HPrevSourceInterID + ") where HInterID=" + oBill.DetailColl[0].HPrevSourceInterID );
+
+                oCN.Commit();
+
                 if (bResult)
                 {
                     objJsonResult.code = "0";

--
Gitblit v1.9.1