From 0a7180184d2382b87cd92b4fbe096c9c79647dfc Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期三, 23 四月 2025 13:33:25 +0800 Subject: [PATCH] 费用待审核待保存清单查询语句更新 --- WebAPI/Controllers/SCGL/日计划管理/JIT_Cg_PODemandPlanBillController.cs | 328 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 305 insertions(+), 23 deletions(-) diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" index a5c7176..83acfaa 100644 --- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" +++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" @@ -6,6 +6,8 @@ using System.Web; using System.Web.Http; using WebAPI.Models; +using Newtonsoft.Json; +using DBUtility; namespace WebAPI.Controllers.SCGL { @@ -17,6 +19,7 @@ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); JIT_Cg_PODemandPlanBillMain omdelMian = new JIT_Cg_PODemandPlanBillMain(); List<JIT_Cg_PODemandPlanBillSub> omodelsub = new List<JIT_Cg_PODemandPlanBillSub>(); + public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill(); #region 鎻愭枡璁″垝鍗� 鍒楄〃 [Route("JIT_Cg_PODemandPlanBill/JIT_Cg_PODemandPlanBillList")] @@ -25,8 +28,9 @@ { try { + List<object> a = new List<object>(); //鏌ョ湅鏉冮檺 - if (!DBUtility.ClsPub.Security_Log("Cg_PODemandPlanBill_Query", 1, false, user)) + if (!DBUtility.ClsPub.Security_Log("JIT_Cg_PODemandPlanBill_Query", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -36,11 +40,17 @@ } ds = oCN.RunProcReturn("select * from h_v_JIT_Cg_PODemandPlanBillList where 1=1" + sWhere + "order by hmainid desc ", "h_v_JIT_Cg_PODemandPlanBillList"); - + 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鏍煎紡鐨勫瓧绗︿覆 + a.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess锛�"; objJsonResult.data = ds.Tables[0]; + objJsonResult.list = a; return objJsonResult; } catch (Exception e) @@ -86,13 +96,11 @@ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 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("Cg_PODemandPlanBill_Edit", 1, false, user)) + if (!DBUtility.ClsPub.Security_Log("JIT_Cg_PODemandPlanBill_Edit", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -103,7 +111,11 @@ omdelMian = Newtonsoft.Json.JsonConvert.DeserializeObject<JIT_Cg_PODemandPlanBillMain>(msg2); string BillType = "4608"; - + ds = ds = oCN.RunProcReturn($"select * from h_v_JIT_Cg_PODemandPlanBillList where hmainid={omdelMian.HInterID} and 鍗曟嵁鍙�='{omdelMian.HBillNo}'", "h_v_JIT_Cg_PODemandPlanBillList"); + if (ds.Tables[0].Rows.Count > 0) + { + OperationType = 3; + } if (OperationType == 1)//鏂板 { @@ -126,7 +138,7 @@ $",HRemark='{omdelMian.HRemark}',HExplanation='{omdelMian.HExplanation}' where HInterID={omdelMian.HInterID}"); } //淇濆瓨瀛愯〃 - objJsonResult = AddBillSub(msg3, hentryid); + objJsonResult = AddBillSub(msg3); if (objJsonResult.code == "0") { objJsonResult.code = "0"; @@ -152,16 +164,10 @@ } } - public json AddBillSub(string msg3, int hentryid) + public json AddBillSub(string msg3) { - if (hentryid != -1) - { - //鑾峰彇琛ㄦ牸鏁版嵁 - ds = oCN.RunProcReturn($"select * from h_v_JIT_Cg_PODemandPlanBillList where 鍗曟嵁鍙�='{omdelMian.HBillNo}'", "h_v_JIT_Cg_PODemandPlanBillList"); - //鍒犻櫎瀛愯〃 - oCN.RunProc("delete from JIT_Cg_PODemandPlanBillSub where HInterID='" + omdelMian.HInterID.ToString() + "' and HEntryID='" + hentryid + "'"); - } - + //鍒犻櫎瀛愯〃 + oCN.RunProc("delete from JIT_Cg_PODemandPlanBillSub where HInterID='" + omdelMian.HInterID.ToString() + "'"); omodelsub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<JIT_Cg_PODemandPlanBillSub>>(msg3); int i = 1; @@ -177,7 +183,7 @@ ", HCloseMan, HEntryCloseDate, HSendQty, HReciveQty, HCloseStatus" + ", HRemoveQty, HSeOrderBillNo, HUnReciveQty, HPOOrderBillDate, HPOOrderBillDeliveryDate" + ", HPOOrderBillRemark, HPOOrderBillNote)" + - $"values({omdelMian.HInterID}, {(hentryid == -1 ? i : omodelsub.Count == 1 ? hentryid : i == 1 ? hentryid : (i + ds.Tables[0].Rows.Count - 1))}, '{oSub.HLaterReason}', {(oSub.HMaterID == null ? 0 : oSub.HMaterID)}, '{oSub.HMaterName}'" + + $"values({omdelMian.HInterID}, {i}, '{oSub.HLaterReason}', {(oSub.HMaterID == null ? 0 : oSub.HMaterID)}, '{oSub.HMaterName}'" + $", '{oSub.HMaterModel}', {(oSub.HUnitID == null ? 0 : oSub.HUnitID)}, '{oSub.HErpClsID}', {(oSub.HQty == null ? 0 : oSub.HQty)}, '{oSub.HRemark}'" + $", {(oSub.HPURCHASEORGID == null ? 0 : oSub.HPURCHASEORGID)}, '{oSub.HStatus}', {(oSub.HFixleadTime == null ? 0 : oSub.HFixleadTime)}, '{oSub.HDayPlanBillNo}', {oSub.HSourceInterID}" + $", {oSub.HSourceEntryID}, '{oSub.HSourceBillNo}', '{oSub.HSourceBillType}', {(oSub.HWorkShopID == null ? 0 : oSub.HWorkShopID)}, '{oSub.HDayPlanDate}'" + @@ -206,7 +212,7 @@ try { //鍒犻櫎鏉冮檺 - if (!DBUtility.ClsPub.Security_Log_second("Cg_PODemandPlanBill_Drop", 1, false, User)) + if (!DBUtility.ClsPub.Security_Log_second("JIT_Cg_PODemandPlanBill_Drop", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -263,6 +269,117 @@ } #endregion + #region 鎻愭枡璁″垝鍗� 瀹℃牳/鍙嶅鏍稿姛鑳� + [Route("JIT_Cg_PODemandPlanBill/CheckPODemandPlanBillList")] + [HttpGet] + public object CheckPODemandPlanBillList(string HInterID, int Type, string user) + { + try + { + //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄� + if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Check", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎻愭枡璁″垝鍗曟棤鏉冮檺瀹℃牳!"; + objJsonResult.data = null; + return objJsonResult; + } + + + if (string.IsNullOrWhiteSpace(HInterID)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ClsPub.CurUserName = user; + BillOld.MvarItemKey = "JIT_Cg_PODemandPlanBillMain"; + oCN.BeginTran();//寮�濮嬩簨鍔� + + //Type 1 瀹℃牳 2 鍙嶅鏍� + if (Type == 1) + { + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡瀹℃牳 + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶉渶瑕佸啀瀹℃牳!"; + objJsonResult.data = null; + return objJsonResult; + } + } + //瀹℃牳鍗曟嵁 + if (!BillOld.CheckBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + else + { + //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅鏍� + DataSet ds; + string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; + ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); + if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) + { + if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁宸插弽瀹℃牳!涓嶉渶瑕佸啀鍙嶅鏍�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + //鍙嶅鏍稿崟鎹� + if (BillOld.AbandonCheck(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo)) + { + + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + + oCN.Commit();//鎻愪氦浜嬪姟 + + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎵ц鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; ; + + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + #region 鎻愭枡璁″垝鍗� 鍏抽棴 [Route("JIT_Cg_PODemandPlanBill/ClosePODemandPlanBillList")] [HttpGet] @@ -271,7 +388,7 @@ try { //鍏抽棴鏉冮檺 - if (!DBUtility.ClsPub.Security_Log_second("Cg_PODemandPlanBill_Close", 1, false, User)) + if (!DBUtility.ClsPub.Security_Log_second("JIT_Cg_PODemandPlanBill_Close", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -284,11 +401,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; } @@ -323,5 +440,170 @@ } } #endregion + + #region 鎻愭枡璁″垝鍗� 鍙嶅叧闂� + [Route("JIT_Cg_PODemandPlanBill/CancelClosePODemandPlanBillList")] + [HttpGet] + public object CancelClosePODemandPlanBillList(string HInterID, string User) + { + try + { + //鍏抽棴鏉冮檺 + if (!DBUtility.ClsPub.Security_Log_second("JIT_Cg_PODemandPlanBill_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_Cg_PODemandPlanBillList where 1=1 and hmainid=" + HInterID, "h_v_JIT_Cg_PODemandPlanBillList"); + + 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 JIT_Cg_PODemandPlanBillMain 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 + + #region 鎻愭枡璁″垝鍗� 鎻愭枡璁″垝鎶ヨ〃(閲囪喘璁㈠崟缁村害) + public class ReportPODemandPlanBill + { + public int? HORGID; + public DateTime HBEGINDATE; + public DateTime HENDDATE; + public int? HMATERIALID; + public int? HSUPPLIERID; + public string HXQD; + public string HPURORDERNO; + } + [Route("JIT_Cg_PODemandPlanBill/ReportPODemandPlanBillList")] + [HttpGet] + public object ReportPODemandPlanBillList(string sWhere, string user) + { + try + { + List<object> a = new List<object>(); + //鏌ョ湅鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("JIT_ReportPODemandPlanBillList_S", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + //鏌ョ湅渚涘簲鍟嗘潈闄� + if (DBUtility.ClsPub.Security_Log("JIT_ReportPODemandPlanBillList_AllSup", 1, false, user)) + { + user = "0"; + } + + ReportPODemandPlanBill Report = JsonConvert.DeserializeObject<ReportPODemandPlanBill>(sWhere); + + ds = oCN.RunProcReturn($"exec h_p_JIT_PODemandPlanBill_ReportList {Report.HORGID},'{Report.HBEGINDATE}','{Report.HENDDATE}',{Report.HMATERIALID},{Report.HSUPPLIERID},'{Report.HXQD}','{Report.HPURORDERNO}','{user}' ", "h_p_JIT_PODemandPlanBill_ReportList"); + + 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鏍煎紡鐨勫瓧绗︿覆 + a.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = a; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 鎻愭枡璁″垝鍗� 鎻愭枡璁″垝鎶ヨ〃 + [Route("JIT_Cg_PODemandPlanBill/ReportPODemandPlanBillList_S")] + [HttpGet] + public object ReportPODemandPlanBillList_S(string sWhere, string user,string HBEGINDATE,string HENDDATE) + { + try + { + //鏌ョ湅鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("JIT_ReportPODemandPlanBillList_S", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + //鏌ョ湅渚涘簲鍟嗘潈闄� + if (DBUtility.ClsPub.Security_Log("JIT_ReportPODemandPlanBillList_AllSup", 1, false, user)) + { + user = "0"; + } + + ds = oCN.RunProcReturn($"exec h_p_JIT_PODemandPlanBill_S_ReportList '{sWhere.ToString()}','{HBEGINDATE}','{HENDDATE}','{user}' ", "h_p_JIT_PODemandPlanBill_S_ReportList"); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion } } -- Gitblit v1.9.1