From e7dcdcd81ad0a11d36084ca124f031f42d61bdd2 Mon Sep 17 00:00:00 2001 From: duhe <226547893@qq.com> Date: 星期四, 19 六月 2025 10:29:02 +0800 Subject: [PATCH] 华远接口:优化 --- WebAPI/Controllers/SCGL/日计划管理/JIT_Cg_PODemandPlanBillController.cs | 254 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 246 insertions(+), 8 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 aad2162..89735cf 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" @@ -7,6 +7,7 @@ using System.Web.Http; using WebAPI.Models; using Newtonsoft.Json; +using DBUtility; namespace WebAPI.Controllers.SCGL { @@ -18,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")] @@ -26,6 +28,7 @@ { try { + List<object> a = new List<object>(); //鏌ョ湅鏉冮檺 if (!DBUtility.ClsPub.Security_Log("JIT_Cg_PODemandPlanBill_Query", 1, false, user)) { @@ -37,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) @@ -260,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] @@ -281,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; } @@ -321,10 +441,72 @@ } #endregion - #region 鎻愭枡璁″垝鍗� 鎻愭枡璁″垝鎶ヨ〃(閲囪喘璁㈠崟缁村害) - public class ReportPODemandPlanBill + #region 鎻愭枡璁″垝鍗� 鍙嶅叧闂� + [Route("JIT_Cg_PODemandPlanBill/CancelClosePODemandPlanBillList")] + [HttpGet] + public object CancelClosePODemandPlanBillList(string HInterID, string User) { - public int? HORGID; + 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 string HORGID; public DateTime HBEGINDATE; public DateTime HENDDATE; public int? HMATERIALID; @@ -338,8 +520,9 @@ { try { + List<object> a = new List<object>(); //鏌ョ湅鏉冮檺 - if (!DBUtility.ClsPub.Security_Log("JIT_Cg_PODemandPlanBill_Query", 1, false, user)) + if (!DBUtility.ClsPub.Security_Log("JIT_ReportPODemandPlanBillList_S", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; @@ -347,9 +530,64 @@ 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}' ", "h_p_JIT_PODemandPlanBill_ReportList"); + 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; -- Gitblit v1.9.1