From 957b51cfdeb4374d817086a2ca761c75545e206d Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期四, 28 十一月 2024 16:59:56 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/SCGL/日计划管理/Sc_WorkBillSortBillController.cs | 204 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 165 insertions(+), 39 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..fb4aa7a 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,7 +12,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(); @@ -25,6 +26,7 @@ { try { + List<object> columnNameList = new List<object>(); //鏌ョ湅鏉冮檺 if (!DBUtility.ClsPub.Security_Log("Sc_WorkBillSortBill_Query", 1, false, user)) { @@ -35,12 +37,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 +98,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 +113,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 +151,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 +194,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 +220,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 +253,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 +266,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_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();//寮�鍚簨鍔� - - 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 +378,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 +417,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