From a8f6a1bfb1c1dd39985ddeb8401c46cd9620e803 Mon Sep 17 00:00:00 2001 From: yxj <1qaz@123> Date: 星期二, 19 七月 2022 10:16:45 +0800 Subject: [PATCH] 生产入库(源单:生产订单、生产汇报单)生成CLOUD单据时根据参数按组织区分是否审核单据;表头增加递入MainCustom、HCheckFlag;生成单据时回滚事务修改 --- CLOUDWEB/WebService1.asmx.cs | 274 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 174 insertions(+), 100 deletions(-) diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs index 103dcdd..9d7fa1e 100644 --- a/CLOUDWEB/WebService1.asmx.cs +++ b/CLOUDWEB/WebService1.asmx.cs @@ -24917,7 +24917,6 @@ if (SaveProductInBill_ICMO_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg)) { //"淇濆瓨鎴愬姛锛�"; - sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo; return true; } else @@ -24932,7 +24931,6 @@ if (SaveProductInBill_ICMOReport_CLD(oMain, sHSourceType, oSystemParameterMain, ref sErrMsg)) { //"淇濆瓨鎴愬姛锛�"; - sErrMsg = "淇濆瓨鎴愬姛锛�" + oMain.HBillNo; return true; } else @@ -24957,7 +24955,32 @@ /// <returns></returns> public bool SaveProductInBill_ICMO_CLD(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { - SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛� + //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮� + if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) + { + sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; + return false; + } + + //鑾峰彇CLOUD璐﹀彿瀵嗙爜 + string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; + string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; + DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); + if (ds11 == null || ds11.Tables[0].Rows.Count == 0) + { + } + else + { + sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); + sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); + } + + string HReturn; + ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); + string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 + bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + try { //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞� @@ -24993,12 +25016,6 @@ //鏇存柊鍏宠仈鏁伴噺 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOToProductIn_Add " + oMain.HInterID.ToString()); - if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 - { - //瀹℃牳鍗曟嵁 - oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); - } - //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅 DataSet Ds; Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_ICMO_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMO_CLD_New"); @@ -25010,6 +25027,17 @@ } else { + string sCheckFlag = ""; //鏄惁瀹℃牳鏍囧織 + string sJson_MainCustom = ""; //涓昏〃鑷畾涔夊瓧娈� + //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織 + sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]); + if (sCheckFlag != "") + { + oSystemParameterMain.Kf_ProductInBill_AutoCheck = sCheckFlag; + } + + sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]); + string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," + "\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," + "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," + @@ -25028,6 +25056,7 @@ //\"FCurrId\":{\"FNumber\":\"\"}, //\"FEntrustInStockId\":\"0\", //\"FScanBox\":\"\", + sJson_MainCustom + "\"FEntity\": [ "; string sJson_Entry = ""; for (int i = 0; i < Ds.Tables[1].Rows.Count; i++) @@ -25145,31 +25174,7 @@ string sJson_End = " ] }}"; string sJson = sJson_Main + sJson_Entry + sJson_End; - //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮� - if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) - { - sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; - return false; - } - - //鑾峰彇CLOUD璐﹀彿瀵嗙爜 - string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; - string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; - DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); - if (ds11 == null || ds11.Tables[0].Rows.Count == 0) - { - } - else - { - sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); - sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); - } - - //鐢熸垚 鍏ュ簱鍗� - string HReturn; - ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); - string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 - bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); + //鐢熸垚閲戣澏浜戝崟鎹� if (bLogin) { var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", @@ -25178,22 +25183,8 @@ //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁 oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn '" + oMain.HBillNo + "','" + sHSourceType + "'"); - if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 - { - string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; - var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", - new object[] { "PRD_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁 + HReturn = result.ToString(); - string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; - var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", - new object[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁 - - HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString(); - } - else - { - HReturn = result.ToString(); - } if (HReturn.Contains("\"IsSuccess\":false") == true) { sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson; @@ -25203,12 +25194,11 @@ else { oCn.Commit(); - return true; } } else { - sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�"; + sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒"; oCn.RollBack(); return false; } @@ -25220,6 +25210,52 @@ oCn.RollBack(); return false; } + + if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 + { + try + { + oCn.BeginTran(); + //瀹℃牳WMS鍗曟嵁 + oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); + + //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁 + HReturn = ""; + string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", + new object[] { "PRD_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁 + + string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", + new object[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁 + + HReturn = result2.ToString() + "," + result3.ToString(); + + if (HReturn.Contains("\"IsSuccess\":false") == true) + { + sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn; + oCn.RollBack(); + return true; + } + else + { + sErrMsg = "鐢熸垚骞跺鏍哥敓浜у叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo; + oCn.Commit(); + return true; + } + } + catch (Exception e) + { + sErrMsg = "瀹℃牳鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + e.Message; + oCn.RollBack(); + return false; + } + } + else + { + sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo; + return true; + } } /// <summary> @@ -25230,7 +25266,32 @@ /// <returns></returns> public bool SaveProductInBill_ICMOReport_CLD(Model.ClsKf_ProductInBillMain oMain, string sHSourceType, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg) { - SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); //寤虹珛涓�涓� 浜嬪姟锛� + //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮� + if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) + { + sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; + return false; + } + + //鑾峰彇CLOUD璐﹀彿瀵嗙爜 + string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; + string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; + DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); + if (ds11 == null || ds11.Tables[0].Rows.Count == 0) + { + } + else + { + sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); + sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); + } + + string HReturn; + ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); + string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 + bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + try { //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞� @@ -25266,12 +25327,6 @@ //鏇存柊鍏宠仈鏁伴噺 oCn.RunProc("exec h_p_Sc_UpDateRelation_ICMOReportToProductIn_Add " + oMain.HInterID.ToString()); - if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 - { - //瀹℃牳鍗曟嵁 - oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); - } - //鏍规嵁TMP琛� 杩斿洖 瀛愯〃淇℃伅 DataSet Ds; Ds = oCn.RunProcReturn("exec h_p_Kf_GetProductInBill_ICMOReport_CLD_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetProductInBill_ICMOReport_CLD_New"); @@ -25283,6 +25338,17 @@ } else { + string sCheckFlag = ""; //鏄惁瀹℃牳鏍囧織 + string sJson_MainCustom = ""; //涓昏〃鑷畾涔夊瓧娈� + //鏍规嵁缁勭粐鑾峰彇鏄惁瀹℃牳鏍囧織锛岃繑鍥� 涓嶄负绌猴紝鑾峰彇瀵瑰簲缁勭粐 鏄惁瀹℃牳鏍囧織 + sCheckFlag = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HCheckFlag"]); + if(sCheckFlag!="") + { + oSystemParameterMain.Kf_ProductInBill_AutoCheck = sCheckFlag; + } + + sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]); + string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," + "\"IsEntryBatchFill\":\"false\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," + "\"Model\": { \"FBILLNO\":\"" + oMain.HBillNo + "\"," + @@ -25301,6 +25367,7 @@ //\"FCurrId\":{\"FNumber\":\"\"}, //\"FEntrustInStockId\":\"0\", //\"FScanBox\":\"\", + sJson_MainCustom + "\"FEntity\": [ "; string sJson_Entry = ""; for (int i = 0; i < Ds.Tables[1].Rows.Count; i++) @@ -25444,31 +25511,7 @@ string sJson_End = " ] }}"; string sJson = sJson_Main + sJson_Entry + sJson_End; - //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮� - if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo)) - { - sErrMsg = Pub_Class.ClsPub.sExeReturnInfo; - return false; - } - - //鑾峰彇CLOUD璐﹀彿瀵嗙爜 - string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName; - string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd; - DataSet ds11 = get_SaveCLOUDUseNameandPsd(oMain.HInterID); - if (ds11 == null || ds11.Tables[0].Rows.Count == 0) - { - } - else - { - sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]); - sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]); - } - - //鐢熸垚 鍏ュ簱鍗� - string HReturn; - ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl); - string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117 - bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052); + //鐢熸垚閲戣澏浜戝崟鎹� if (bLogin) { var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save", @@ -25477,22 +25520,8 @@ //鐢熸垚鍗曟嵁鍚庢洿鏂拌嚜瀹氫箟瀛楁 oCn.RunProc("exec h_p_Sc_UpDateSelfFildProductIn '" + oMain.HBillNo + "','" + sHSourceType + "'"); - if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 - { - string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; - var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", - new object[] { "PRD_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁 + HReturn = result.ToString(); - string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; - var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", - new object[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁 - - HReturn = result.ToString() + "," + result2.ToString() + "," + result3.ToString(); - } - else - { - HReturn = result.ToString(); - } if (HReturn.Contains("\"IsSuccess\":false") == true) { sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson; @@ -25502,12 +25531,11 @@ else { oCn.Commit(); - return true; } } else { - sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�"; + sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒"; oCn.RollBack(); return false; } @@ -25519,6 +25547,52 @@ oCn.RollBack(); return false; } + + if (oSystemParameterMain.Kf_ProductInBill_AutoCheck == "Y") //绯荤粺鍙傛暟 鑷姩瀹℃牳 + { + try + { + oCn.BeginTran(); + //瀹℃牳WMS鍗曟嵁 + oCn.RunProc("Update Kf_ICStockBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=convert(varchar(10),getdate(),120) where HInterID= " + oMain.HInterID.ToString()); + + //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁 + HReturn = ""; + string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit", + new object[] { "PRD_INSTOCK", sJson2 }); //鎻愪氦鍗曟嵁 + + string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}"; + var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit", + new object[] { "PRD_INSTOCK", sJson3 }); //瀹℃牳鍗曟嵁 + + HReturn = result2.ToString() + "," + result3.ToString(); + + if (HReturn.Contains("\"IsSuccess\":false") == true) + { + sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛�" + HReturn; + oCn.RollBack(); + return true; + } + else + { + sErrMsg = "鐢熸垚骞跺鏍哥敓浜у叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo; + oCn.Commit(); + return true; + } + } + catch (Exception e) + { + sErrMsg = "瀹℃牳鐢熶骇鍏ュ簱鍗曞け璐ワ紒" + e.Message; + oCn.RollBack(); + return false; + } + } + else + { + sErrMsg = "鐢熸垚鐢熶骇鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo; + return true; + } } #endregion -- Gitblit v1.9.1