From 08665ff78fbc131fd647fad4ba48742faec53529 Mon Sep 17 00:00:00 2001
From: ch <37327@LLOOCCY>
Date: 星期二, 12 七月 2022 11:27:51 +0800
Subject: [PATCH] 修改了 夏宝  车间看板  采购看板 缺料看板 根据系统设置默认车间过滤功能

---
 WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs |  500 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 391 insertions(+), 109 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
index 41407d2..51bce5f 100644
--- a/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ComplementGoodBillController.cs
@@ -69,7 +69,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}'," +
-                    $"'{com.MaterialModel}','{com.HICMOBillNo}','{com.CPNumber}','{com.CPName}','{com.CPModel}','{com.HBeginDate}','{com.HEndDate}'," +
+                    $"'{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");
 
                 objJsonResult.code = "1";
@@ -98,6 +98,8 @@
             public long HSouceInterID = 0;//HSourceInterIDCol
             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; }//閫�鏂欏師鍥�
@@ -107,15 +109,16 @@
             public int 璋冨嚭浠撳簱搴撳瓨鏁伴噺 = 0;//HKFQtySCol
             public double 璁″垝鍙戞枡鏁伴噺 = 0;//HPlanQtyCol 
             public int HWHID = 0;//HWHIDCol
+            public int? 璋冨嚭浠撳簱id = 0;//璋冨嚭浠撳簱id
             public string HMaterialNumberCol { get; set; }
             public string HMaterialModelCol { get; set; }
-            public string HProcIDCol { get; set; }//HProcID
+            public string HProcID { get; set; }//HProcIDCol
             public string HProcNameCol { get; set; }//宸ユ
-            public int HOutOrgIDCol = 0;//HOutOrgID
-            public string  HICMOBillNoCol { get; set; }//HICMOBillNo
-            public long HICMOInterIDCol = 0;//HICMOInterID
-            public long HICMOEntryIDCol = 0;//HICMOEntryID
-            public long HDeptIDCol = 0;//HDeptID
+            public int HOutOrgID = 0;//HOutOrgID
+            public string HICMOBillNo { get; set; }// HICMOBillNoCol
+            public long HICMOInterID = 0;// HICMOInterIDCol
+            public long HICMOEntryID = 0;// HICMOEntryIDCol
+            public long HDeptID = 0;//HDeptID
             public double HBHGQtyCol = 0;
             public string 閿�鍞鍗曞彿 { get; set; }//HSeOrderNOCol
             public DateTime? 璁″垝寮�宸ユ棩鏈� = null;//HBPlanDateCol
@@ -155,6 +158,7 @@
             string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
             string user = sArray[1].ToString();
+            omodel.HPRDORGID = long.Parse(sArray[2].ToString());
 
             try
             {
@@ -181,6 +185,15 @@
                 {
                     if (listCa[i].HMaterialID != 0 && listCa[i].鍙枡鏁伴噺 > 0)
                     {
+                        if (listCa[i].鍙枡鏁伴噺 > listCa[i].璁″垝鍙戞枡鏁伴噺)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍙枡鏁伴噺澶т簬璁″垝鍙戞枡鏁伴噺!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
                         j = 1;
 
                         var txtHBillNo = DBUtility.ClsPub.CreateBillCode_Prod(CallGoodsBill.ModName, ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
@@ -228,12 +241,12 @@
                         oSub.HModel = listCa[i].HMaterialModelCol;
                         oSub.HWHID = listCa[i].HWHID;
                         oSub.HProcName = listCa[i].HProcNameCol; 
-                        oSub.HProcID = listCa[i].HProcIDCol;
-                        oSub.HOutOrgID = listCa[i].HOutOrgIDCol;
-                        oSub.HICMOBillNo = listCa[i].HICMOBillNoCol;
-                        oSub.HICMOInterID = listCa[i].HICMOInterIDCol;
-                        oSub.HICMOEntryID = listCa[i].HICMOEntryIDCol; 
-                        oSub.HDeptID = listCa[i].HDeptIDCol; 
+                        oSub.HProcID = listCa[i].HProcID;
+                        oSub.HOutOrgID = listCa[i].HOutOrgID;
+                        oSub.HICMOBillNo = listCa[i].HICMOBillNo;
+                        oSub.HICMOInterID = listCa[i].HICMOInterID;
+                        oSub.HICMOEntryID = listCa[i].HICMOEntryID; 
+                        oSub.HDeptID = listCa[i].HDeptID; 
                         oSub.HPlanQty = listCa[i].璁″垝鍙戞枡鏁伴噺;
                         oSub.HSeOrderNo = listCa[i].閿�鍞鍗曞彿; 
                         oSub.HBPlanDate = listCa[i].璁″垝寮�宸ユ棩鏈�;
@@ -270,7 +283,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱换浣曞彨鏂欐暟閲忥紝鏃犳硶鍙枡!";
+                    objJsonResult.Message = "鏃犱换浣曞彨鏂欐暟閲忔垨鍙枡鏁伴噺灏忎簬0锛屾棤娉曞彨鏂�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -301,12 +314,12 @@
                       " (HInterID,HEntryID,HRemark" +
                       ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                       ",HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" +
-                      ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSPID,HBillNo_bak" +
+                      ",HDeptID,HMaterID,HQty,HProcID,HWHID,HSPID,HBillNo_bak,HOutOrgID" +
                       ") 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() +",'') ", ref DBUtility.ClsPub.sExeReturnInfo);
+                      "," + oSub.HDeptID.ToString() + "," + oSub.HMaterID.ToString() + "," + oSub.HQty.ToString() + ",'" + oSub.HProcID + "'," + oSub.HWHID.ToString() + ", " + oSub.HSPID.ToString() +",'',"+oSub.HOutOrgID+") ", ref DBUtility.ClsPub.sExeReturnInfo);
 
                 //涓昏〃
 
@@ -317,14 +330,14 @@
                 ",HMainSourceBillType,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo" +
                 ",HBacker,HBackDate,HBackRemark,HChecker,HCheckDate,HUpDater,HUpDateDate " +
                 ",HCloseMan,HCloseDate,HCloseType,HDeleteMan,HDeleteDate " +
-                ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID) " +
+                ",HPrintQty,HCallManID,HSendManID,HCallType,HWareManID,HOrgID) " +
                 " values('" + CallGoodsBill.ModName + "','" + CallGoodsBill.ModName + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                 ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" +
                 ",'" + omodel.HBillStatus + "'," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() + ", " + omodel.HCheckFlowID.ToString() +
                 ",'" + omodel.HMainSourceBillType + "'," + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ", '" + omodel.HMainSourceBillNo + "'" +
                 ",'" + omodel.HBacker + "','" + omodel.HBackDate + "','" + omodel.HBackRemark + "', '" + omodel.HChecker + "','" + omodel.HCheckDate + "', '" + omodel.HUpDater + "',''" +
                 ",'" + omodel.HCloseMan + "','" + omodel.HCloseDate + "','" + omodel.HCloseType + "', '" + omodel.HDeleteMan + "','" + omodel.HDeleteDate + "'" +
-                ",0,0,0,'鏅��',0) ", ref DBUtility.ClsPub.sExeReturnInfo);
+                ",0,0,0,'鏅��',0," + omodel.HPRDORGID + ") ", ref DBUtility.ClsPub.sExeReturnInfo);
 
                 sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
                 //oCn.Commit();
@@ -346,12 +359,13 @@
             var _value = msg["msg"].ToString();
             string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
-            string user = sArray[1].ToString();
+            DBUtility.ClsPub.CurUserName = sArray[1].ToString();
             string HOrgID = sArray[2].ToString();
+            bool flag = false;
 
             try
             {
-                if (!DBUtility.ClsPub.Security_Log("JIT_BLP_ComplementGoods_Edit", 1, false, user))
+                if (!DBUtility.ClsPub.Security_Log("JIT_BLP_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -366,40 +380,58 @@
                 //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎
                 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString());
 
-                if (listCa[0].閫�鏂欐暟閲� > 0)
+                int j=0;
+                for (int i = 0; i < listCa.Count; i++)
                 {
-                    Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID;
-                    Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID;
-                    double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�);
-                    long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID;
-                    string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�;
-                    var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
-                    var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
-
-                    ds = oCN.RunProcReturn("exec h_p_JIT_BadGoodsRequest_Insert  " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " ,  '" + user + "'  ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestBad_Insert");
-
-                    if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1)
+                    if (listCa[i].閫�鏂欐暟閲� > 0)
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        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()==""?"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.data = null;
+                            return objJsonResult;
+                        }
+
+                        flag = AddICStockTuiBill(listCa[i], "666601", "涓嶈壇鍝侀��鏂�", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo);
+                        j = 1;
                     }
-                    else
-                    {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = "閫�鏂欐垚鍔�";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
+                }
+                if (j == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忔垨閫�鏂欐暟閲忓皬浜�0锛屾棤娉曢��鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (flag)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "涓嶈壇鍝侀��鏂欐垚鍔�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
                 else
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                    objJsonResult.Message = "涓嶈壇鍝侀��鏂欏け璐�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -413,6 +445,47 @@
                 return objJsonResult;
             }
         }
+
+        //鏂板
+        public bool AddICStockTuiBill(CallGoodsBill listCa,string HBillType,string HBackType,string HOrgID, ref string sReturn)
+        {
+            try
+            {
+                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;
+                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);
+
+                oCN.BeginTran();
+                //鎻掑叆瀛愯〃
+                oCN.RunProc("Insert into JIT_CallGoodsBackRequestBillSub ( HInterID,HEntryID,HSourceInterID,HSourceEntryID," +
+                        "HSourceBillNo,HSourceBillType, HMaterID, HQty, HSCWHID," +
+                        " HWHID, HSPID, HResult, HDeptID, HProcID,HBackReason) " +
+                        $"values({HBillInterID},1,{lngBillKey},{ lngBillKeyEntry}," +
+                        $"'{listCa.HSourceBillNo}',88,{listCa.HMaterialID},{HQty},{(listCa.璋冨嚭浠撳簱id==null?0:listCa.璋冨嚭浠撳簱id)}," +
+                        $"{HDeptWHID},'','',{listCa.HDeptID},'','{HTuiResult}')");
+
+                    //鎻掑叆涓昏〃
+                    oCN.RunProc("insert into JIT_CallGoodsBackRequestBillMain(HYear,HPeriod,HInterid,HBillSubType,HBillStatus," +
+                        "HBillType,HDate,HBillNo,HOrgID,HMaker,HMakeDate,HRemark,HBackRemark,HMainSourceBillType , HMainSourceInterID, HMainSourceEntryID, HMainSourceBillNo," +
+                        " 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}')");
+                 
+                sReturn = "鏂板鍗曟嵁鎴愬姛锛�";
+                oCN.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
         #endregion
 
         #region 鐢熶骇鍙枡骞冲彴  浣欓噺閫�鏂欑敵璇峰崟鏂板
@@ -423,12 +496,12 @@
             var _value = msg["msg"].ToString();
             string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
-            string user = sArray[1].ToString();
+            DBUtility.ClsPub.CurUserName = sArray[1].ToString();
             string HOrgID = sArray[2].ToString();
 
             try
             {
-                if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, user))
+                if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -442,37 +515,39 @@
                 List<CallGoodsBill> listCa = new List<CallGoodsBill>();
                 //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎
                 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString());
+                bool flag = false;
 
-                if (listCa[0].閫�鏂欐暟閲� > 0)
+                int j = 0;
+                for (int i = 0; i < listCa.Count; i++)
                 {
-                    Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID;
-                    Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID;
-                    double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�);
-                    long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID;
-                    string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�;
-                    var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
-                    var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
-
-                    ds = oCN.RunProcReturn("exec h_p_JIT_MarginGoodsRequest_Insert  " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " ,  '" + user + "'  ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestMargin_Insert");
-
-                    if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1)
+                    if (listCa[i].閫�鏂欐暟閲� > 0)
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
-                    else
-                    {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = "閫�鏂欐垚鍔�";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        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() == "" ? "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.data = null;
+                            return objJsonResult;
+                        }
+
+                        flag = AddICStockTuiBill(listCa[i], "666602", " 浣欓噺閫�鏂�", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo);
+                        j = 1;
                     }
                 }
-                else
+                if (j == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -480,6 +555,24 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                if (flag)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "浣欓噺閫�鏂欐垚鍔�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "浣欓噺閫�鏂欏け璐�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+             
             }
             catch (Exception e)
             {
@@ -500,12 +593,12 @@
             var _value = msg["msg"].ToString();
             string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
-            string user = sArray[1].ToString();
+            DBUtility.ClsPub.CurUserName = sArray[1].ToString();
             string HOrgID = sArray[2].ToString();
 
             try
             {
-                if (!DBUtility.ClsPub.Security_Log("JIT_YL_ComplementGoods_Edit", 1, false, user))
+                if (!DBUtility.ClsPub.Security_Log("JIT_BF_ComplementGoods_Edit", 1, false, DBUtility.ClsPub.CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -520,40 +613,59 @@
                 //鑾峰彇琛ㄦ牸鏁版嵁闆嗗悎
                 listCa = JsonConvert.DeserializeObject<List<CallGoodsBill>>(msg2.ToString());
 
-                if (listCa[0].閫�鏂欐暟閲� > 0)
+                bool flag = false;
+                int j = 0;
+                for (int i = 0; i < listCa.Count; i++)
                 {
-                    Int64 lngBillKey = listCa[0].HSouceInterID == 0 ? 0 : listCa[0].HSouceInterID;
-                    Int64 lngBillKeyEntry = listCa[0].HSourceEntryID == 0 ? 0 : listCa[0].HSourceEntryID;
-                    double HQty = (double)(listCa[0].閫�鏂欐暟閲� == 0 ? 0 : listCa[0].閫�鏂欐暟閲�);
-                    long HDeptWHID = listCa[0].HSTOCKID == 0 ? 0 : listCa[0].HSTOCKID;
-                    string HTuiResult = listCa[0].閫�鏂欏師鍥� == "" ? "" : listCa[0].閫�鏂欏師鍥�;
-                    var HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);//鑾峰緱涓�涓柊鐨勫崟鎹彿
-                    var HBillInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
-
-                    ds = oCN.RunProcReturn("exec h_p_JIT_ScrapGoodsRequest_Insert  " + lngBillKey.ToString() + " , " + lngBillKeyEntry.ToString() + " ,  '" + user + "'  ," + HQty.ToString() + " ," + HOrgID.ToString() + " , '" + HBillNo + "' ," + HBillInterID.ToString() + "," + HDeptWHID.ToString() + ",'" + HTuiResult + "'", "h_p_JIT_GoodsRequestMargin_Insert");
-
-                    if (int.Parse(ds.Tables[0].Rows[0][0].ToString()) == 1)
+                    if (listCa[i].閫�鏂欐暟閲� > 0)
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (listCa[i].閫�鏂欐暟閲� > listCa[i].宸查厤閫佹暟閲�)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "閫�鏂欐暟閲忓ぇ浜庡凡閰嶉�佹暟閲�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        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() == "" ? "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.data = null;
+                            return objJsonResult;
+                        }
+
+                        flag = AddICStockTuiBill(listCa[i], "666603", "鎶ュ簾閫�鏂�", HOrgID, ref DBUtility.ClsPub.sExeReturnInfo);
+                        j = 1;
                     }
-                    else
-                    {
-                        objJsonResult.code = "1";
-                        objJsonResult.count = 1;
-                        objJsonResult.Message = "閫�鏂欐垚鍔�";
-                        objJsonResult.data = null;
-                        return objJsonResult;
-                    }
+                }
+                if (j == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (flag)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎶ュ簾閫�鏂欐垚鍔�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
                 else
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱换浣曢��鏂欐暟閲忥紝鏃犳硶閫�鏂�!";
+                    objJsonResult.Message = "鎶ュ簾閫�鏂欏け璐�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -569,12 +681,13 @@
         }
         #endregion
 
-        #region 鐢熶骇鍙枡骞冲彴  鍙枡鎷f枡淇℃伅鏌ヨ
+        #region 鐢熶骇鍙枡骞冲彴  鍙枡鎷f枡淇℃伅鏌ヨ  涓婃煡/涓嬫煡
         //鏌ヨ鏉′欢
         public class HlpBill
         {
             public int HSouceInterID = 0;
             public int HSourceEntryID = 0;
+            public int Type = 0;
             public string user { get; set; }
         }
         [Route("Sc_ComplementGoodBill/HlpBillList")]
@@ -583,18 +696,187 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鍙嶅簭鍒楀寲浼犻�掔殑鍊�
                 HlpBill com = JsonConvert.DeserializeObject<HlpBill>(sWhere.ToString());
 
-                ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,'{com.HSouceInterID}','{com.HSourceEntryID}'"+
-                    $"'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery");
+                if (com.Type == 1)
+                {
+                    //鐢熶骇鍙枡骞冲彴  涓嬫煡
+                    ds = oCN.RunProcReturn($"exec h_p_JIT_CallGoodsPlatForm_DownQuery 0,0,'',0,0,{com.HSouceInterID},{com.HSourceEntryID}" +
+                       $",'{com.user}'", "h_p_JIT_CallGoodsPlatForm_DownQuery");
+                }
+                else if (com.Type == 2)
+                {
+                    //鎷f枡閰嶉�� 涓婃煡
+                    ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_UpQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_UpQuery");
+                }
+                else if (com.Type == 3)
+                {
+                    //鎷f枡閰嶉�� 涓嬫煡
+                    ds = oCN.RunProcReturn($"exec h_p_JIT_ComplementGoodsBillList_DownQuery '{com.HSouceInterID}',{com.HSourceEntryID}", "h_p_JIT_ComplementGoodsBillList_DownQuery");
+                }
 
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //type==1 瀛樺偍杩囩▼閲岄潰鏌ヨ浜嗕袱娆�  鎵�鏈夐渶瑕佸垽鏂袱寮犺〃閮芥湁娌℃湁鏁版嵁
+                if (ds.Tables[0].Rows.Count != 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else if ((com.Type == 1 ? ds.Tables[1].Rows.Count : ds.Tables[0].Rows.Count) != 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[1];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
                 return objJsonResult;
             }
+        }
+        #endregion
+
+        #region 鐢熶骇鍙枡骞冲彴  鎷f枡鍗曟柊澧�
+        [Route("Sc_ComplementGoodBill/Insert_JL_ICStockTuiBill")]
+        [HttpPost]
+        public object Insert_JL_ICStockTuiBill([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+            string HOrgID = sArray[2].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Cj_ComplementGoodsBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");
+
+                ds = oCN.RunProcReturn("select * from h_v_IF_JIT_CallGoodsBillList ", "h_v_IF_JIT_CallGoodsBillList ");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    ds.Clear();
+                    long HInterID = DBUtility.ClsPub.CreateBillID_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo);
+                    string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("4602", ref DBUtility.ClsPub.sExeReturnInfo, true);
+
+                   ds= oCN.RunProcReturn($"exec h_p_JIT_ComplementGoods_Insert {HInterID},'{HBillNo}',{HOrgID},'{user}',0,0", "h_p_JIT_ComplementGoods_Insert");
+
+                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                    objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString());
+                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳暟鎹紝鏃犳硶鎷f枡!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鍙枡骞冲彴  閫�鏂欏崟鏂板
+        [Route("Sc_ComplementGoodBill/Insert_TL_ICStockTuiBill")]
+        [HttpPost]
+        public object Insert_TL_ICStockTuiBill([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+            string HOrgID = sArray[2].ToString();
+
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Cj_CallGoodsBillBack_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");
+
+                ds = oCN.RunProcReturn("select * from JIT_CallGoodsBackRequestBillMain where HISCheck=0 ", "JIT_CallGoodsBackRequestBillMain ");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+
+                    long HInterID = DBUtility.ClsPub.CreateBillID_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo);
+                    string HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("6666", ref DBUtility.ClsPub.sExeReturnInfo, true);
+                    //long HOutOrgID = int.Parse(listCa[i].HOutOrgID.ToString());
+                    //long HWHID = int.Parse(listCa[i].HWHID.ToString());
+
+                   ds= oCN.RunProcReturn($"exec h_p_JIT_GetCallGoodsBillCount_Back {HInterID},'{HBillNo}',{HOrgID},'{user}'", "h_p_JIT_GetCallGoodsBillCount_Back");
+
+                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString();
+                    objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString());
+                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString();
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳暟鎹紝鏃犳硶閫�鏂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
             catch (Exception e)
             {
                 objJsonResult.code = "0";

--
Gitblit v1.9.1