From 00567438dd8bd28c28acb8c5c5bf0ed2543f688c Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期三, 12 七月 2023 08:47:52 +0800
Subject: [PATCH] 项目管理:审核优化

---
 WebAPI/Controllers/SCGL/日计划管理/Sc_WorkBillSortBillController.cs |  189 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 152 insertions(+), 37 deletions(-)

diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs"
index fbf08e6..cd6758c 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/Sc_WorkBillSortBillController.cs"
@@ -11,7 +11,7 @@
 {
     public class Sc_WorkBillSortBillController : ApiController
     {
-        private json objJsonResult = new json();
+        private json objJsonResult = new json();    
         public DataSet ds = new DataSet();
         public WebServer webserver = new WebServer();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -35,7 +35,7 @@
                     return objJsonResult;
                 }
 
-                ds = oCN.RunProcReturn("select * from  h_v_JIT_Sc_WorkBillSortBillList where 1=1" + sWhere + "order by hmainid desc ", "h_v_JIT_Sc_WorkBillSortBillList");
+                ds = oCN.RunProcReturn("select * from  h_v_JIT_Sc_WorkBillSortBillList where 1=1" + sWhere + " order by 鍗曟嵁鍙� desc ", "h_v_JIT_Sc_WorkBillSortBillList");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
@@ -87,12 +87,11 @@
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
 
-            int hentryid = int.Parse(sArray[2].ToString());//瀛愯〃鐨勯『搴廼d
-            int OperationType = int.Parse(sArray[3].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼
-            string user = sArray[4].ToString();
+            int OperationType = int.Parse(sArray[2].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            string user = sArray[3].ToString();
             try
             {
-                if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoodBill_Edit", 1, false, user))
+                if (!DBUtility.ClsPub.Security_Log("Sc_WorkBillSortBill_Edit", 1, false, user)) 
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -103,7 +102,11 @@
 
                 omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject<Sc_WorkBillSortBillMain>(msg2);
                 string BillType = "4610";
-
+                ds = ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where hmainid={omdelMian.HInterID} and  鍗曟嵁鍙�='{omdelMian.HBillNo}'", "h_v_JIT_Sc_WorkBillSortBillList");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    OperationType = 3;
+                }
 
                 if (OperationType == 1)//鏂板
                 {
@@ -137,8 +140,20 @@
                 }
                 else if (OperationType == 3)
                 {
+
+                    ds = oCN.RunProcReturn($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={omdelMian.HMainSourceInterID}" +
+                      $" and HMainSourceEntryID={omdelMian.HMainSourceEntryID} and HICMOBillNo='{omdelMian.HICMOBillNo}' and HICMOEntrySEQ={omdelMian.HICMOEntrySEQ} and HSourceID={omdelMian.HSourceID}", "Sc_WorkBillSortBillMain");
+                    if ((ds.Tables[0].Rows.Count == 1 && ds.Tables[0].Rows[0]["HInterID"].ToString() != omdelMian.HInterID.ToString()))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鐢熶骇璧勬簮鏈夐噸澶�,璇蜂慨鏀�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
                     //淇敼
-                    oCN.RunProc($"update Sc_WorkBillSortBillMain set HUpDater='{omdelMian.HMaker}',HUpDateDate=GETDATE()" +
+                    oCN.RunProc($"update Sc_WorkBillSortBillMain set HDate='{omdelMian.HDate}',HUpDater='{omdelMian.HMaker}',HUpDateDate=GETDATE()" +
                                   $", HRemark='{omdelMian.HRemark}', HPrintQty={(omdelMian.HPrintQty == null ? 0 : omdelMian.HPrintQty)}" +
                                   $", HDeptID={omdelMian.HDeptID}, HSeOrderBillNo='{omdelMian.HSeOrderBillNo}', HSourceQty= {(omdelMian.HSourceQty == null ? 0 : omdelMian.HSourceQty)}" +
                                   $", HInStockQty={(omdelMian.HInStockQty == null ? 0 : omdelMian.HInStockQty)}, HMaterID={omdelMian.HMaterID}" +
@@ -168,7 +183,7 @@
                                   $", HHangUp='{(omdelMian.HHangUp == true ? 1 : 0)}' where HInterID={omdelMian.HInterID}");
                 }
                 //淇濆瓨瀛愯〃
-                objJsonResult = AddBillSub(msg3, hentryid);
+                objJsonResult = AddBillSub(msg3);
                 if (objJsonResult.code == "0")
                 {
                     objJsonResult.code = "0";
@@ -194,24 +209,21 @@
             }
         }
 
-        public json AddBillSub(string msg3, int hentryid)
+        public json AddBillSub(string msg3)
         {
-            //鑾峰彇琛ㄦ牸鏁版嵁
-            ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where 鍗曟嵁鍙�='{omdelMian.HBillNo}'", "h_v_JIT_Sc_WorkBillSortBillList");
-
             //鍒犻櫎瀛愯〃
-            oCN.RunProc("delete from Sc_WorkBillSortBillSub where HInterID='" + omdelMian.HInterID.ToString() + "' and HEntryID='" + hentryid + "'");
+            oCN.RunProc("delete from Sc_WorkBillSortBillSub where HInterID='" + omdelMian.HInterID.ToString() + "'");
 
             omodelsub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Sc_WorkBillSortBillSub>>(msg3);
             int i = 1;
             //鎻掑叆瀛愯〃
             foreach (Models.Sc_WorkBillSortBillSub oSub in omodelsub)
             {
-                oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HEntryID,HRemark,HMasterDate,HQty" +
+                oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ,HRemark,HMasterDate,HQty" +
                             ", HRptFinishQty, HTimes, HUseTimes, HBTimes, HETimes" +
                             ", HDateSub, HCloseMan, HEntryCloseDate, HCloseTypeSub, HColumn" +
                             ", HLockedSub, HComplete, HStatusTag, HIsHandModify)" +
-                            $"values({omdelMian.HInterID}, {(hentryid == -1 ? i : omodelsub.Count==1? hentryid:i==1? hentryid:(i+ds.Tables[0].Rows.Count-1))}, '{oSub.HRemark}', '{oSub.HMasterDate}', {(oSub.HQty == null ? 0: oSub.HQty)}" +
+                            $"values({omdelMian.HInterID}, {i}, '{oSub.HRemark}', '{oSub.HMasterDate}', {(oSub.HQty == null ? 0: oSub.HQty)}" +
                             $", {(oSub.HRptFinishQty == null ? 0: oSub.HRptFinishQty)}, {(oSub.HTimes == null ? 0: oSub.HTimes)}, {(oSub.HUseTimes == null ? 0: oSub.HUseTimes)}, '{oSub.HBTimes}', '{oSub.HETimes}'" +
                             $", '{oSub.HDateSub}', '{oSub.HCloseMan}', '{oSub.HEntryCloseDate}', {(oSub.HCloseTypeSub == true ? 1 : 0)}, '{oSub.HColumn}'" +
                             $", '{(oSub.HLockedSub == true ? 1 : 0)}', '{oSub.HComplete}', '{(oSub.HStatusTag == true ? 1 : 0)}', '{(oSub.HIsHandModify == true ? 1 : 0)}')");
@@ -230,7 +242,7 @@
         #region 鏃ヨ鍒掑伐鍗� 鍒犻櫎
         [Route("Sc_WorkBillSortBill/DelWorkBillSortBillList")]
         [HttpGet]
-        public object DelWorkBillSortBillList(string HInterID, string HEntryID, string User)
+        public object DelWorkBillSortBillList(string HInterID,int DataType, string User)
         {
             try
             {
@@ -243,30 +255,72 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-
-                ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + HInterID, "h_v_JIT_Sc_WorkBillSortBillList");
-
-                if (ds.Tables[0].Rows.Count > 0)
+                //DataType 1=鏃ヨ鍒掑伐鍗� 澶氶�夊垹闄�   2=鏃ヨ鍒掑钩鍙板閫夊垹闄�
+                if (DataType == 1)
                 {
-                    if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "1")
+                    var NumData = HInterID.Split(',');
+
+                    for (int i = 0; i < NumData.Length; i++)
                     {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        var NumData_T = NumData[i].Split('_');
+
+                        ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + NumData_T[0], "h_v_JIT_Sc_WorkBillSortBillList");
+
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "1")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+
+                            oCN.BeginTran();//寮�鍚簨鍔�
+
+                            if (ds.Tables[0].Rows.Count == 1)
+                            {
+                                oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData_T[0]}");
+                            }
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData_T[0]} and HEntryID={ NumData_T[1]}");
+
+                            oCN.Commit();//缁撴潫浜嬪姟
+                        }
                     }
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (DataType == 2)
+                {
+                    var NumData = HInterID.Split(',');
 
-                    oCN.BeginTran();//寮�鍚簨鍔�
-
-                    if (ds.Tables[0].Rows.Count == 1)
+                    for (int i = 0; i < NumData.Length; i++)
                     {
-                        oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={HInterID}");
+                        ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + NumData[i], "h_v_JIT_Sc_WorkBillSortBillList");
+
+                        if (ds.Tables[0].Rows.Count > 0)
+                        {
+                            if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "1")
+                            {
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 0;
+                                objJsonResult.Message = "褰撳墠鍗曟嵁涓嶈兘鍒犻櫎锛�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+
+                            oCN.BeginTran();//寮�鍚簨鍔�
+
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData[i]}");
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData[i]}");
+
+                            oCN.Commit();//缁撴潫浜嬪姟
+                        }
                     }
-                    oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={HInterID} and HEntryID={HEntryID}");
-
-                    oCN.Commit();//缁撴潫浜嬪姟
-
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
@@ -313,11 +367,11 @@
 
                 if (ds.Tables[0].Rows.Count > 0)
                 {
-                    if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() == "2")
+                    if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() == "3")
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "褰撳墠鍗曟嵁姝e湪瀹℃牳,涓嶈兘鍏抽棴锛�";
+                        objJsonResult.Message = "褰撳墠鍗曟嵁宸插叧闂紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -352,5 +406,66 @@
             }
         }
         #endregion
+
+        #region 鏃ヨ鍒掑伐鍗� 鍙嶅叧闂�
+        [Route("Sc_WorkBillSortBill/CancelCloseBillWorkBillSortBillList")]
+        [HttpGet]
+        public object CancelCloseBillWorkBillSortBillList(string HInterID, string User)
+        {
+            try
+            {
+                //鍏抽棴鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Sc_WorkBillSortBill_Close", 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_JIT_Sc_WorkBillSortBillList where 1=1 and hmainid=" + HInterID, "h_v_JIT_Sc_WorkBillSortBillList");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (ds.Tables[0].Rows[0]["鍗曟嵁鐘舵��"].ToString() != "3")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "褰撳墠鍗曟嵁娌℃湁澶勪簬鍏抽棴鐘舵�侊紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oCN.BeginTran();//寮�鍚簨鍔�
+                    string HBillStatus = ds.Tables[0].Rows[0]["瀹℃牳浜�"].ToString() == "" ? "1" : "2";
+                    oCN.RunProc("update Sc_WorkBillSortBillMain set HBillStatus='" + HBillStatus + "',HCloseMan='',HCloseDate=null   where HInterID=" + HInterID + "");
+
+                    oCN.Commit();//缁撴潫浜嬪姟
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍏抽棴鎴愬姛锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "褰撳墠鍗曟嵁涓嶅瓨鍦�,鏃犳硶鍏抽棴锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();//鍥炴粴浜嬪姟
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1