From 5898d7f62ec4b29f313a018c7526ce100e9d30a6 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期三, 09 四月 2025 15:02:05 +0800
Subject: [PATCH] 加日志

---
 WebAPI/Controllers/SCGL/日计划管理/Sc_WorkBillSortBillController.cs |  219 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 181 insertions(+), 38 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 1d23b35..44839ac 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"
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -11,12 +12,13 @@
 {
     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();
         Sc_WorkBillSortBillMain omdelMian = new Sc_WorkBillSortBillMain();
         List<Sc_WorkBillSortBillSub> omodelsub = new List<Sc_WorkBillSortBillSub>();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         #region 鏃ヨ鍒掑伐鍗� 鍒楄〃
         [Route("Sc_WorkBillSortBill/Sc_WorkBillSortBillList")]
@@ -25,6 +27,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();
                 //鏌ョ湅鏉冮檺
                 if (!DBUtility.ClsPub.Security_Log("Sc_WorkBillSortBill_Query", 1, false, user))
                 {
@@ -35,12 +38,21 @@
                     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_Left where 1=1" + sWhere + " order by 鍗曟嵁鍙� desc ", "h_v_JIT_Sc_WorkBillSortBillList");
+          
+                    foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                    {
+                        Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                   
+                }
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+            
+                objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+                objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
                 return objJsonResult;
             }
             catch (Exception e)
@@ -87,12 +99,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 +114,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,6 +152,18 @@
                 }
                 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 HDate='{omdelMian.HDate}',HUpDater='{omdelMian.HMaker}',HUpDateDate=GETDATE()" +
                                   $", HRemark='{omdelMian.HRemark}', HPrintQty={(omdelMian.HPrintQty == null ? 0 : omdelMian.HPrintQty)}" +
@@ -168,7 +195,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 +221,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 +254,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 +267,88 @@
                     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_Left 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();//寮�鍚簨鍔�
+                    //鑾峰彇绯荤粺鍙傛暟
+                    string sReturn = "";
+                    oSystemParameter.ShowBill(ref sReturn);                   
 
-                    if (ds.Tables[0].Rows.Count == 1)
+                    for (int i = 0; i < NumData.Length; i++)
                     {
-                        oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={HInterID}");
+                        if (oSystemParameter.omodel.WMS_CampanyName == "娣诲悍绉戞妧")
+                        {
+                            oCN.BeginTran();//寮�鍚簨鍔�
+
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillSub where HInterID={ NumData[i]}");
+                            oCN.RunProc($"delete from Sc_WorkBillSortBillMain where HInterID={ NumData[i]}");
+
+                            oCN.Commit();//缁撴潫浜嬪姟
+                        }
+                        else
+                        {
+                            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 +395,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 +434,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