From 282233a35c8c4d5dbf9eaac9aeb7dee9bed183eb Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期三, 14 九月 2022 17:47:26 +0800 Subject: [PATCH] 优化 --- WebAPI/Controllers/POStockInBillController.cs | 1046 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 980 insertions(+), 66 deletions(-) diff --git a/WebAPI/Controllers/POStockInBillController.cs b/WebAPI/Controllers/POStockInBillController.cs index f058753..3619b9b 100644 --- a/WebAPI/Controllers/POStockInBillController.cs +++ b/WebAPI/Controllers/POStockInBillController.cs @@ -1,5 +1,6 @@ 锘縰sing DBUtility; using Model; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SQLHelper; using System; @@ -14,6 +15,8 @@ using WebAPI; using WebAPI.Code; using WebAPI.Models; +using WebAPI.Utility; + namespace WebAPI.Controllers { /** @@ -26,14 +29,14 @@ public Int64 HWhID;//浠撳簱ID public Int64 HSPID;//浠撲綅ID - public string HSupName=string.Empty; - public string HDeptName=string.Empty; - public string HWhName=string.Empty; - public string HSPName=string.Empty; + public string HSupName = string.Empty; + public string HDeptName = string.Empty; + public string HWhName = string.Empty; + public string HSPName = string.Empty; public Int64 HInterID;//鏈崟ID public string HBillNo; - public string HSourceBillNo=string.Empty; + public string HSourceBillNo = string.Empty; public string HBillType = "1201";//鍗曟嵁绫诲瀷 public string sBillCode = "ICStockBill"; public string sTranType = "1"; @@ -43,16 +46,17 @@ public string sSourceTypeName = "閲囪喘璁㈠崟"; public string sRedBlue2 = "钃濆瓧"; //public bool sRedBlue = false; - public WebServer webserver =new WebServer(); - public DataSet ds =new DataSet(); - public ClsGy_BarCodeBill_WMS_Model_View oView =new ClsGy_BarCodeBill_WMS_Model_View(); - public ClsKF_PonderationBillMain_Temp model =new ClsKF_PonderationBillMain_Temp(); + public WebServer webserver = new WebServer(); + public DataSet ds = new DataSet(); + public ClsGy_BarCodeBill_WMS_Model_View oView = new ClsGy_BarCodeBill_WMS_Model_View(); + public ClsKF_PonderationBillMain_Temp model = new ClsKF_PonderationBillMain_Temp(); public ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); public double sRelQty = 0; - // private DataBaseServices objDataBaseServices = new DataBaseServices(); + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + // private DataBaseServices objDataBaseServices = new DataBaseServices(); private JsonResult objJsonResult = new JsonResult(); - // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}"; + // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}"; public static string GetSession(string sMsg) { @@ -75,32 +79,97 @@ [HttpGet] public Object get_CheckTypeByBarCode_Json(string sCode, Int64 sInterID, string sBillNo, string sBillType, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID) { - //if (sRedBlue == true) - //{ - // HBillType = "1239"; - //} - //oBar = webserver.get_CheckTypeByBarCode(sCode, sInterID, sBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, ref DBUtility.ClsPub.sErrInfo); - WebS.WebService1 oWebs = new WebS.WebService1(); - WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS(); - string sExpressNumber = ""; - WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); - if (WebSoBar == null) + try { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = DBUtility.ClsPub.sErrInfo; - objJsonResult.data = null; - return objJsonResult; + //if (sRedBlue == true) + //{ + // HBillType = "1239"; + //} + //oBar = webserver.get_CheckTypeByBarCode(sCode, sInterID, sBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, ref DBUtility.ClsPub.sErrInfo); + WebS.WebService1 oWebs = new WebS.WebService1(); + WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS(); + string sExpressNumber = ""; + WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); + if (WebSoBar == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = DBUtility.ClsPub.sErrInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = DBUtility.ClsPub.sErrInfo; + objJsonResult.data = WebSoBar; + return objJsonResult; + } } - else + catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 1; - objJsonResult.Message = DBUtility.ClsPub.sErrInfo; - objJsonResult.data = WebSoBar; + objJsonResult.Message = e.Message + ";" + e.StackTrace; + objJsonResult.data = null; return objJsonResult; } + } + + + + + /// <summary> + /// 鐢熶骇姹囨姤/鎵潯鐮�/鐩存帴璋冪敤webservice + /// </summary> + /// <returns></returns> + [Route("ICMOReportBill/get_CheckTypeByBarCode_Json1")] + [HttpGet] + public Object get_CheckTypeByBarCode_Json1(string sCode, Int64 sInterID, string sBillType, string sBillNo, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID) + { + try + { + //if (sRedBlue == true) + //{ + // HBillType = "1239"; + //} + //oBar = webserver.get_CheckTypeByBarCode(sCode, sInterID, sBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, ref DBUtility.ClsPub.sErrInfo); + WebS.WebService1 oWebs = new WebS.WebService1(); + WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS(); + string sExpressNumber = ""; + WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, sBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); + if (WebSoBar == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = DBUtility.ClsPub.sErrInfo; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = DBUtility.ClsPub.sErrInfo; + objJsonResult.data = WebSoBar; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = e.Message + ";" + e.StackTrace; + objJsonResult.data = null; + return objJsonResult; + } + + } + + + /// <summary> /// 涓�閿壂鐮佺孩瀛� /// </summary> @@ -113,7 +182,7 @@ { HBillType = "1239"; } - oBar = webserver.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID,sExpressNumber, ref DBUtility.ClsPub.sErrInfo); + oBar = webserver.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); if (oBar == null) { objJsonResult.code = "0"; @@ -168,16 +237,16 @@ objJsonResult.count = 0; objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + HSourceBillType; objJsonResult.data = null; - return objJsonResult; + return objJsonResult; } else - { + { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�"; objJsonResult.data = ds.Tables[0]; return objJsonResult; - + } } catch (Exception ex) @@ -199,12 +268,12 @@ /// <returns></returns> [Route("POStockInBill/set_SavePonderationBillMain_Temp_Source_Fast_Json")] [HttpGet] - public object set_SavePonderationBillMain_Temp_Source_Fast_Json(string HSourceBillType,string HSourceBillNo, Int64 sInterID, string sBillNo) + public object set_SavePonderationBillMain_Temp_Source_Fast_Json(string HSourceBillType, string HSourceBillNo, Int64 sInterID, string sBillNo) { try { - // DataSet ds = new DataSet(); - // WebServer webserver = new WebServer(); + // DataSet ds = new DataSet(); + // WebServer webserver = new WebServer(); string sWhere = " Where 鍗曟嵁鍙� like '%" + HSourceBillNo.Trim() + "'"; //鏍规嵁婧愬崟绫诲瀷鏉ヨ皟鐢ㄤ笉鍚岀殑WEBS鏂规硶 new if (HSourceBillType == "1102") @@ -213,7 +282,7 @@ } else if (HSourceBillType == "1103") { - ds = webserver.GetCg_PoInStockBillList(sWhere + " and isnull(HBillSubType,0)=12510 "); + ds = webserver.GetCg_PoInStockBillList(sWhere + ""); } else { @@ -259,14 +328,89 @@ } catch (Exception ex) { - + objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"+ex.ToString(); + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString(); objJsonResult.data = null; return objJsonResult; } } + + + + /// <summary> + /// 鍐欏叆涓存椂琛� 鎵簮鍗曠殑鏂规硶 + /// </summary> + /// <param name="HSourceBillNo"></param> + /// <returns></returns> + [Route("ICMOReportBill/set_SavePonderationBillMain_Temp_Source_Fast_Json_New")] + [HttpGet] + public object set_SavePonderationBillMain_Temp_Source_Fast_Json_New(string HSourceBillType, string HSourceBillNo, Int64 sInterID, string sBillNo) + { + try + { + LogService.Write("鎵ц鎴愬姛!"); + // DataSet ds = new DataSet(); + // WebServer webserver = new WebServer(); + string sWhere = " Where 鍗曟嵁鍙� like '%" + HSourceBillNo.Trim() + "'"; + //鏍规嵁婧愬崟绫诲瀷鏉ヨ皟鐢ㄤ笉鍚岀殑WEBS鏂规硶 new + if (HSourceBillType == "3710") + { + ds = webserver.GetSc_ICMOBillList(sWhere + " "); + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍,婧愬崟绫诲瀷鏈夐敊璇紒"; + objJsonResult.data = null; + return objJsonResult; ; + } + // + if (ds == null || ds.Tables[0].Rows.Count <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + HSourceBillType; + objJsonResult.data = null; + return objJsonResult; + //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); + } + else + { + HDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]); + HDeptName = Convert.ToString(ds.Tables[0].Rows[0]["HDeptName"]); + if (webserver.set_SavePonderationBillMain_Temp_Source_Fast(sInterID, sBillNo, "3711", HSourceBillNo, HSourceBillType, "钃濆瓧", ref DBUtility.ClsPub.sErrInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "杩斿洖璁板綍鎴愬姛锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍐欏叆涓存椂琛ㄥけ璐ワ紒" + DBUtility.ClsPub.sErrInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + } + catch (Exception ex) + { + + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + /// <summary> /// 杩斿洖鍑哄叆搴撴潯鐮佷复鏃惰〃 /// </summary> @@ -299,12 +443,12 @@ } catch (Exception e) { - - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"+e.ToString(); - objJsonResult.data = null; - return objJsonResult; + + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; } } /// <summary> @@ -327,7 +471,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 1; - objJsonResult.Message =""; + objJsonResult.Message = ""; objJsonResult.data = null; return objJsonResult; } @@ -335,7 +479,7 @@ { objJsonResult.code = "0"; objJsonResult.count = 0; - objJsonResult.Message = "澶辫触锛�"+DBUtility.ClsPub.sErrInfo; + objJsonResult.Message = "澶辫触锛�" + DBUtility.ClsPub.sErrInfo; objJsonResult.data = null; return objJsonResult; } @@ -363,7 +507,7 @@ else { - if (webserver.set_SavePonderationBillMain_Temp_Source_SourceBillType(sInterID, sBillNo, HBillType, sBarCode, sRedBlue2, ref HSourceBillNo, ref sSourceTypeName, ref HSupID, ref HSupName, ref HDeptID, ref HDeptName, ref DBUtility.ClsPub.sErrInfo)) + if (webserver.set_SavePonderationBillMain_Temp_Source_SourceBillType(sInterID, sBillNo, HBillType, sBarCode, sRedBlue2, ref HSourceBillNo, ref sSourceTypeName, ref HSupID, ref HSupName, ref HDeptID, ref HDeptName, ref DBUtility.ClsPub.sErrInfo)) { //----------鍒涘缓铏氳〃------------------------ DataTable dt_Main = new DataTable("Json"); @@ -424,7 +568,7 @@ [HttpGet] public object get_InfoByBarCode_Source_Json(string sBarCode, Int64 sInterID, string sBillNo, Double sQty, Int64 HWHID, Int64 HSPID) { - // string sRedBlue = "钃濆瓧"; + // string sRedBlue = "钃濆瓧"; try { string sErrMsg = ""; @@ -473,12 +617,12 @@ } catch (Exception e) { - - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鎵爜澶辫触,姝ゆ潯鐮佷笉瀛樺湪锛�"+e.ToString(); - objJsonResult.data = null; - return objJsonResult; + + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎵爜澶辫触,姝ゆ潯鐮佷笉瀛樺湪锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; } } /// <summary> @@ -487,7 +631,7 @@ /// <returns></returns> [Route("POStockInBill/set_SavePOStockInBackBill_Json")] [HttpPost] - public object set_SavePOStockInBackBill_Json([FromBody]JObject oMain) + public object set_SavePOStockInBackBill_Json([FromBody] JObject oMain) { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); @@ -543,7 +687,7 @@ /// <returns></returns> [Route("POStockInBill/set_SavePOStockInBill_Json")] [HttpPost] - public object set_SavePOStockInBill_Json([FromBody]JObject oMain) + public object set_SavePOStockInBill_Json([FromBody] JObject oMain) { var _value = oMain["oMain"].ToString(); string msg1 = _value.ToString(); @@ -565,6 +709,7 @@ websLsmain.HDeptID = lsmain[0].HDeptID; websLsmain.HWHID = lsmain[0].HWHID; websLsmain.HSCWHID = 0; + //websLsmain.HSPID = lsmain[0].HSPID; websLsmain.HSupID = lsmain[0].HSupID; websLsmain.HKeeperID = lsmain[0].HKeeperID; websLsmain.HSecManagerID = lsmain[0].HSecManagerID; @@ -572,11 +717,13 @@ websLsmain.HManagerID = 0; websLsmain.HBillerID = lsmain[0].HBillerID; websLsmain.HRemark = ""; + websLsmain.HExplanation = lsmain[0].HExplanation; websLsmain.HInnerBillNo = ""; websLsmain.HRedBlueFlag = false;//false钃濆瓧 true绾㈠瓧 websLsmain.HMainSourceBillType = lsmain[0].HBillType; - websLsmain.HExplanation = lsmain[0].HExplanation; - + websLsmain.HMaker = lsmain[0].HMaker; + websLsmain.HSTOCKORGID = lsmain[0].HSTOCKORGID; + websLsmain.HOWNERID = lsmain[0].HSTOCKORGID; if (webserver.set_SavePOStockInBill_New(websLsmain, sSourceBillType, ref DBUtility.ClsPub.sErrInfo)) { @@ -605,16 +752,75 @@ } } + + /// <summary> + /// 鐢熶骇姹囨姤鍗�/鎻愪氦/鐩存帴璋僿ebservice + /// </summary> + /// <returns></returns> + [Route("ICMOReportBill/set_SaveICMOReportBill_Json")] + [HttpPost] + public object set_SaveICMOReportBill_Json([FromBody] JObject oMain) + { + var _value = oMain["oMain"].ToString(); + string msg1 = _value.ToString(); + try + { + List<Model.ClsSc_ICMOReportBillMain> lsmain = new List<Model.ClsSc_ICMOReportBillMain>(); + ListModels oListModels = new ListModels(); + lsmain = oListModels.getICMOReportBillMainByJson(msg1); + lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); + lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); + string sSourceBillType = lsmain[0].HBillType; + + WebAPI.WebS.ClsSc_ICMOReportBillMain websLsmain = new WebS.ClsSc_ICMOReportBillMain(); + + websLsmain.HInterID = lsmain[0].HInterID; + websLsmain.HBillNo = lsmain[0].HBillNo; + websLsmain.HBillType = "3711";//鍥哄畾鍊� + websLsmain.HDate = lsmain[0].HDate; + websLsmain.HDeptID = lsmain[0].HDeptID; + websLsmain.HEmpID = 0; + websLsmain.HBillerID = lsmain[0].HBillerID; + websLsmain.HRemark = ""; + websLsmain.HMainSourceBillType = lsmain[0].HBillType; + + + if (webserver.set_SaveICMOReportBill_Json(websLsmain, sSourceBillType, ref DBUtility.ClsPub.sErrInfo)) + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鎴愬姛锛佸崟鎹彿涓猴細"; + objJsonResult.data = null; + return objJsonResult; + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "涓婁紶澶辫触锛�" + DBUtility.ClsPub.sErrInfo; + objJsonResult.data = null; + return objJsonResult; + } + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "涓婁紶澶辫触锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + [Route("POStockInBill/GetSpName_Json")] [HttpGet] - public object GetSpName_Json(long HSpID, long HWHID,long HStockOrgID, ref string sErrMsg) + public object GetSpName_Json(long HSpID, long HWHID, long HStockOrgID, ref string sErrMsg) { try { ds = webserver.GetSPInfoByIDandHWHIDandOrg(HSpID, HWHID, HStockOrgID, ref sErrMsg); if (ds == null || ds.Tables[0].Rows.Count <= 0) { - objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"; @@ -641,8 +847,6 @@ return objJsonResult; } } - - [Route("POStockInBill/Delete_Json")] [HttpGet] public object Delete_Json(long HInterID, long HMaterID, long HAuxPropID, string HMTONo, long HSourceInterID, long HSourceEntryID, string sHBillType) @@ -650,7 +854,7 @@ string sErrMsg = string.Empty; try { - if (webserver.set_DelPonderationBillMain_Temp_InterIDAndSource(HInterID, HMaterID,HAuxPropID,HMTONo,HSourceInterID,HSourceEntryID,sHBillType,ref sErrMsg)) + if (webserver.set_DelPonderationBillMain_Temp_InterIDAndSource(HInterID, HMaterID, HAuxPropID, HMTONo, HSourceInterID, HSourceEntryID, sHBillType, ref sErrMsg)) { objJsonResult.code = "0"; objJsonResult.count = 1; @@ -719,7 +923,7 @@ [Route("POStockInBillList/DisBillEntryList_Mate_Webs_Json")] [HttpGet] - public object DisBillEntryList_Webs_Json(string HBillType,string sWhere) + public object DisBillEntryList_Webs_Json(string HBillType, string sWhere) { try { @@ -779,7 +983,6 @@ } catch (Exception) { - objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "鍒犻櫎澶辫触锛�"; @@ -789,5 +992,716 @@ } + + #region 鍒拌揣纭 + [Route("POStockInBillList/Get_ReciveBill")] + [HttpGet] + public object get_InfoByBillNo(string HBillno) + { + try + { + json result = Get_ReciveBillCheckDate(HBillno); + return result; + //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + //string sql = $"select * from H_v_SRM_POInStockBillList where 鍗曟嵁鍙� ='{HBillno}'"; + //ds = oCn.RunProcReturn(sql, "H_v_SRM_POInStockBillList"); + //if (ds == null || ds.Tables[0].Rows.Count == 0) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} + //else + //{ + // 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 = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + [Route("POStockInBillList/AuditPOInStockBill")] + [HttpGet] + public object AuditPOInStockBill(string HInterID, string CurUserName, string HBillNo) + { + Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); + json objjson = new json(); + try + { + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + //閲囪喘璁㈠崟 鐢熸垚閫佽揣鍗曞垪琛� + if (!String.IsNullOrEmpty(HBillNo)) + HInterID = GetHinterIDByBillNo(HBillNo, "Aduit").ToString(); + if (HInterID == "0") + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鎿嶄綔澶辫触,璇峰厛淇濆瓨璁㈠崟"; + objjson.data = null; + return objjson; + } + string parameterSql = $"select HValue from Xt_SystemParameter where HKey ='Cg_POInStockBill_ErpAduit'"; + var HValue = oCn.RunProcReturn(parameterSql, "dt").Tables[0].Rows[0][0].ToString(); + string sql = string.Empty; + if (HValue == "Y") + { + var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName"); + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo); + DataTable dt = new DataTable(); + List<string> fidList = new List<string>(); + if (FCusName == "鐟炰笌绁�" || FCusName == "") + { + sql = string.Format(@" +SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER +,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER AS FSETTLEORGNUMBER, +E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID +,CU.FNUMBER AS FUNITNUMBER,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER +FROM CG_POINSTOCKBILLSUB B +JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID +JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID +LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID +LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID +JOIN {0}..T_PUR_POORDERENTRY_D CD ON C.FENTRYID = CD.FENTRYID +LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID +JOIN {0}..T_PUR_POORDERENTRY_F CR ON C.FENTRYID = CR.FENTRYID +LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID +LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID +LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID +LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID=2052 +LEFT JOIN {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID +LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID +LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID +JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID +LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID + WHERE b.hinterid in ({1}) and M.HERPInterID = 0 +", kdTbaleName, HInterID); + //LEFT JOIN {0}..T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID + dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + if (fidList.Contains(dr["FID"].ToString() + dr["HINTERID"].ToString())) + continue; + else + fidList.Add(dr["FID"].ToString() + dr["HINTERID"].ToString()); + + DataRow[] drs = dt.Select("FID = " + dr["FID"].ToString() + " and HINTERID = " + dr["HINTERID"].ToString()); + + JObject model = new JObject(); + string fTypeName = "SLD01_SYS";//鏍囧噯閲囪喘璁㈠崟绫诲瀷 + string ywTypeName = "CG";//鏍囧噯涓氬姟绫诲瀷 + if (dr["FTYPENAME"].ToString().Contains("濮斿")) + { + fTypeName = "SLD03_SYS"; + ywTypeName = "WW"; + } + if (dr["FTYPENAME"].ToString().Contains("璧勪骇")) + { + fTypeName = "SLD04_SYS"; + ywTypeName = "ZCCG"; + } + model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = fTypeName }); //鍗曟嵁绫诲瀷 + model.Add("FBusinessType", ywTypeName); //涓氬姟绫诲瀷 + model.Add("FBILLNO", dr["HBillNo"].ToString()); //鍗曟嵁缂栧彿 + model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡 + model.Add("FStockOrgId", new JObject() { ["Fnumber"] = dr["FRECEIVENUMBER"].ToString() }); // 鏀舵枡缁勭粐 + model.Add("FPurOrgId", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() }); //閲囪喘缁勭粐 + model.Add("FSupplierId", new JObject() { ["Fnumber"] = dr["FSUPPLIERNUMBER"].ToString() }); //渚涘簲鍟� + model.Add("FPURCHASERID", new JObject() { ["Fnumber"] = dr["FPURCHASERNUMBER"].ToString() }); //閲囪喘鍛� + model.Add("FOwnerTypeIdHead", "BD_Supplier");// 璐т富绫诲瀷 + model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = dr["FSUPPLIERNUMBER"].ToString() });//璐т富 渚涘簲鍟� + JArray Fentity = new JArray(); + foreach (var item in drs) + { + JObject FentityModel = new JObject(); + FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = item["FMATERIALNUMBER"].ToString() }); // 鐗╂枡缂栫爜 + FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 鍗曚綅 + FentityModel.Add("FPreDeliveryDate", DateTime.Now.ToString("yyyy-MM-dd")); //棰勮鍒拌揣鏃ユ湡 + FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 璁′环鍗曚綅 + FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 搴撳瓨鍗曚綅 + FentityModel.Add("FActReceiveQty", Convert.ToDecimal(item["HQTY"])); // 渚涘簲鍟嗛�佽揣鏁伴噺锛堟彁鏂欒鍒掓暟閲� - 宸茬敓鎴愰�佽揣鍗曟暟閲忥級 + FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//璐т富绫诲瀷 + FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() });//璐т富 + FentityModel.Add("FSrcId", item["FID"].ToString());//婧愬崟鍐呯爜 + FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//婧愬崟绫诲瀷 + FentityModel.Add("FSrcBillNo", item["FBILLNO"].ToString());//婧愬崟鍗曞彿 + FentityModel.Add("FSRCENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FORDERBILLNO", item["FBILLNO"].ToString());//婧愬崟鍗曞彿 + FentityModel.Add("FPOORDERENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid + FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环 + FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环 + FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼 + + JArray Fentity2 = new JArray(); + JObject FentityModel2 = new JObject(); + FentityModel2.Add("FDetailEntity_Link_FRULEID", "PUR_PurchaseOrder-PUR_ReceiveBill"); + FentityModel2.Add("FDetailEntity_Link_FSTableName", "t_PUR_POOrderEntry"); + FentityModel2.Add("FDetailEntity_Link_FSBillId", item["FID"].ToString()); + FentityModel2.Add("FDetailEntity_Link_FSId", item["FEntryID"].ToString()); + Fentity2.Add(FentityModel2); + FentityModel.Add("FDetailEntity_Link", Fentity2); + Fentity.Add(FentityModel); + } + model.Add("FDetailEntity", Fentity); //鏄庣粏淇℃伅 + + JObject _FentityModel = new JObject(); + _FentityModel.Add("FSettleOrgId", new JObject() { ["Fnumber"] = dr["FSETTLEORGNUMBER"].ToString() }); // 缁撶畻缁勭粐 + _FentityModel.Add("FSettleCurrId", new JObject() { ["Fnumber"] = dr["FSETTLECURRNUMBER"].ToString() }); // 缁撶畻甯佸埆 + _FentityModel.Add("FPricePoint", 0); // 瀹氫环鏃剁偣 + model.Add("FinanceEntity ", _FentityModel);//璐㈠姟淇℃伅 + JObject jsonRoot = new JObject() + { + ["Creator"] = "", + ["NeedUpDateFields"] = new JArray(), + ["NeedReturnFields"] = new JArray(), + ["IsDeleteEntry"] = "false", + ["SubSystemId"] = "", + ["IsVerifyBaseDataField"] = "false", + ["Model"] = model + }; + var loginRet = InvokeHelper.Login(); + var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); + if (isSuccess <= 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = loginRet; + objjson.data = null; + return objjson; + } + //LogService.Write("jsonRoot:" + jsonRoot.ToString()); + var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString()); + //LogService.Write(result); + if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE") + { + //鏇存柊閫佽揣鍗� 涓昏〃 ERP鍗曟嵁鍙� 浠ュ強 ERP涓诲唴鐜� + string FBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); + string FID = JObject.Parse(result)["Result"]["Id"].ToString(); + + string updateSql = string.Format(@" + update a set + a.HERPInterID = {0} , + a.HERPBillNO ='{1}' + from Cg_POInStockBillMain a + join Cg_POInStockBillSub b on a.hinterid = b.hinterid + where b.HInterID = ({2}) + and b. HSOURCEINTERID = {3} + and a.HERPInterID = 0 + ", FID, FBillNo, dr["HINTERID"].ToString(), dr["FID"].ToString()); + oCn.RunProc(updateSql); + } + else + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = result; + objjson.data = null; + return objjson; + } + } + } + } + else if (FCusName == "澶忓疂鐢靛櫒") + { + sql = string.Format(@" +SELECT T3.FNAME AS FTYPENAME,M.HBILLNO,B.HINTERID,B.HENTRYID,C.FID,C.FENTRYID, D.FBILLNO,B.HQTY,CD.FRECEIVEORGID,CDOO.FNUMBER AS FRECEIVENUMBER +,D.FSUPPLIERID,DS.FNUMBER AS FSUPPLIERNUMBER,D.FPURCHASEORGID,DOO.FNUMBER AS FPURCHASEORGNUMBER,CROO.FNUMBER AS FSETTLEORGNUMBER, +E.FPRICETIMEPOINT,E.FSETTLECURRID,EC.FNUMBER AS FSETTLECURRNUMBER,C.FMATERIALID,CM.FNUMBER AS FMATERIALNUMBER ,C.FUNITID +,CU.FNUMBER AS FUNITNUMBER,D.F_XBKF_COMBO1,CR.FPRICE,CR.FTAXPRICE,CR.FTAXRATE,D.FPURCHASERID,isnull(T4.FNUMBER,'') AS FPURCHASERNUMBER,D.F_XBKF_BASE1,isnull(T5.FNUMBER,'') AS FRECEIVEMENNUMBER +FROM CG_POINSTOCKBILLSUB B +JOIN CG_POINSTOCKBILLMAIN M ON B.HINTERID = M.HINTERID +JOIN {0}..T_PUR_POORDERENTRY C ON B.HSOURCEINTERID = C.FID AND B.HSOURCEENTRYID = C.FENTRYID +LEFT JOIN {0}..T_BD_MATERIAL CM ON C.FMATERIALID =CM.FMATERIALID +LEFT JOIN {0}..T_BD_UNIT CU ON C.FUNITID =CU.FUNITID +JOIN {0}..T_PUR_POORDERENTRY_D CD ON C.FENTRYID = CD.FENTRYID +LEFT JOIN {0}..T_ORG_ORGANIZATIONS CDOO ON CD.FRECEIVEORGID = CDOO.FORGID +JOIN {0}..T_PUR_POORDERENTRY_F CR ON C.FENTRYID = CR.FENTRYID +LEFT JOIN {0}..T_ORG_ORGANIZATIONS CROO ON CR.FSETTLEORGID = CROO.FORGID +LEFT JOIN {0}..T_PUR_POORDER D ON C.FID =D.FID +LEFT JOIN {0}..T_BAS_BILLTYPE T2 ON D.FBILLTYPEID = T2.FBILLTYPEID +LEFT JOIN {0}..T_BAS_BILLTYPE_L T3 ON T2.FBILLTYPEID = T3.FBILLTYPEID and FLOCALEID=2052 +LEFT JOIN {0}..V_BD_BUYER T4 ON D.FPURCHASERID =T4.FID +LEFT JOIN {0}..T_HR_EMPINFO T5 ON D.F_XBKF_BASE1 = T5.FID +LEFT JOIN {0}..T_BD_SUPPLIER DS ON D.FSUPPLIERID = DS.FSUPPLIERID +LEFT JOIN {0}..T_ORG_ORGANIZATIONS DOO ON D.FPURCHASEORGID = DOO.FORGID +JOIN {0}..T_PUR_POORDERFIN E ON C.FID =E.FID +LEFT JOIN {0}..T_BD_CURRENCY EC ON E. FSETTLECURRID =EC.FCURRENCYID + WHERE b.hinterid in ({1}) and M.HERPInterID = 0 +", kdTbaleName, HInterID); + dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; + if (dt.Rows.Count > 0) + { + foreach (DataRow dr in dt.Rows) + { + if (fidList.Contains(dr["FID"].ToString() + dr["HINTERID"].ToString())) + continue; + else + fidList.Add(dr["FID"].ToString() + dr["HINTERID"].ToString()); + + DataRow[] drs = dt.Select("FID = " + dr["FID"].ToString() + " and HINTERID = " + dr["HINTERID"].ToString()); + + JObject model = new JObject(); + string fTypeName = "SLD01_SYS";//鏍囧噯閲囪喘璁㈠崟绫诲瀷 + string ywTypeName = "CG";//鏍囧噯涓氬姟绫诲瀷 + if (dr["FTYPENAME"].ToString().Contains("濮斿")) + { + fTypeName = "SLD03_SYS"; + ywTypeName = "WW"; + } + if (dr["FTYPENAME"].ToString().Contains("璧勪骇")) + { + fTypeName = "SLD04_SYS"; + ywTypeName = "ZCCG"; + } + model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = fTypeName }); //鍗曟嵁绫诲瀷 + model.Add("FBusinessType", ywTypeName); //涓氬姟绫诲瀷 + model.Add("FBILLNO", dr["HBillNo"].ToString()); //鍗曟嵁缂栧彿 + model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡 + model.Add("FStockOrgId", new JObject() { ["Fnumber"] = dr["FRECEIVENUMBER"].ToString() }); // 鏀舵枡缁勭粐 + model.Add("FPurOrgId", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() }); //閲囪喘缁勭粐 + model.Add("FSupplierId", new JObject() { ["Fnumber"] = dr["FSUPPLIERNUMBER"].ToString() }); //渚涘簲鍟� + model.Add("FPURCHASERID", new JObject() { ["Fnumber"] = dr["FPURCHASERNUMBER"].ToString() }); //閲囪喘鍛� + model.Add("F_xbkf_Base", new JObject() { ["Fnumber"] = dr["FRECEIVEMENNUMBER"].ToString() }); //鏀舵枡鍛� + model.Add("FOwnerTypeIdHead", "BD_Supplier");// 璐т富绫诲瀷 + model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = dr["FSUPPLIERNUMBER"].ToString() });//璐т富 渚涘簲鍟� + model.Add("F_XBKF_COMBO", dr["F_xbkf_Combo1"].ToString());//鏄惁鏈夌エ + JArray Fentity = new JArray(); + foreach (var item in drs) + { + JObject FentityModel = new JObject(); + FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = item["FMATERIALNUMBER"].ToString() }); // 鐗╂枡缂栫爜 + FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 鍗曚綅 + FentityModel.Add("FPreDeliveryDate", DateTime.Now.ToString("yyyy-MM-dd")); //棰勮鍒拌揣鏃ユ湡 + FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 璁′环鍗曚綅 + FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = item["FUNITNUMBER"].ToString() }); // 搴撳瓨鍗曚綅 + FentityModel.Add("FActReceiveQty", Convert.ToDecimal(item["HQTY"])); // 渚涘簲鍟嗛�佽揣鏁伴噺锛堟彁鏂欒鍒掓暟閲� - 宸茬敓鎴愰�佽揣鍗曟暟閲忥級 + FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//璐т富绫诲瀷 + FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = dr["FPURCHASEORGNUMBER"].ToString() });//璐т富 + FentityModel.Add("FSrcId", item["FID"].ToString());//婧愬崟鍐呯爜 + FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//婧愬崟绫诲瀷 + FentityModel.Add("FSrcBillNo", item["FBILLNO"].ToString());//婧愬崟鍗曞彿 + FentityModel.Add("FSRCENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FORDERBILLNO", item["FBILLNO"].ToString());//婧愬崟鍗曞彿 + FentityModel.Add("FPOORDERENTRYID", item["FENTRYID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 + FentityModel.Add("FSRMENTRYID", item["HENTRYID"].ToString());//SRM hentryid + FentityModel.Add("FPrice", item["FPRICE"].ToString());//鍗曚环 + FentityModel.Add("FTaxPrice", item["FTAXPRICE"].ToString());//鍚◣鍗曚环 + FentityModel.Add("FEntryTaxRate", item["FTAXRATE"].ToString());//绋庣巼 + + JArray Fentity2 = new JArray(); + JObject FentityModel2 = new JObject(); + FentityModel2.Add("FDetailEntity_Link_FRULEID", "PUR_PurchaseOrder-PUR_ReceiveBill"); + FentityModel2.Add("FDetailEntity_Link_FSTableName", "t_PUR_POOrderEntry"); + FentityModel2.Add("FDetailEntity_Link_FSBillId", item["FID"].ToString()); + FentityModel2.Add("FDetailEntity_Link_FSId", item["FEntryID"].ToString()); + Fentity2.Add(FentityModel2); + FentityModel.Add("FDetailEntity_Link", Fentity2); + Fentity.Add(FentityModel); + } + model.Add("FDetailEntity", Fentity); //鏄庣粏淇℃伅 + + JObject _FentityModel = new JObject(); + _FentityModel.Add("FSettleOrgId", new JObject() { ["Fnumber"] = dr["FSETTLEORGNUMBER"].ToString() }); // 缁撶畻缁勭粐 + _FentityModel.Add("FSettleCurrId", new JObject() { ["Fnumber"] = dr["FSETTLECURRNUMBER"].ToString() }); // 缁撶畻甯佸埆 + _FentityModel.Add("FPricePoint", 0); // 瀹氫环鏃剁偣 + model.Add("FinanceEntity ", _FentityModel);//璐㈠姟淇℃伅 + JObject jsonRoot = new JObject() + { + ["Creator"] = "", + ["NeedUpDateFields"] = new JArray(), + ["NeedReturnFields"] = new JArray(), + ["IsDeleteEntry"] = "false", + ["SubSystemId"] = "", + ["IsVerifyBaseDataField"] = "false", + ["Model"] = model + }; + var loginRet = InvokeHelper.Login(); + var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); + if (isSuccess < 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = loginRet; + objjson.data = null; + return objjson; + } + //LogService.Write("jsonRoot:" + jsonRoot.ToString()); + var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString()); + //LogService.Write(result); + if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE") + { + //鏇存柊閫佽揣鍗� 涓昏〃 ERP鍗曟嵁鍙� 浠ュ強 ERP涓诲唴鐜� + string FBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); + string FID = JObject.Parse(result)["Result"]["Id"].ToString(); + + string updateSql = string.Format(@" + update a set + a.HERPInterID = {0} , + a.HERPBillNO ='{1}' + from Cg_POInStockBillMain a + join Cg_POInStockBillSub b on a.hinterid = b.hinterid + where b.HInterID = ({2}) + and b. HSOURCEINTERID = {3} + and a.HERPInterID = 0 + ", FID, FBillNo, dr["HINTERID"].ToString(), dr["FID"].ToString()); + oCn.RunProc(updateSql); + } + else + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = result; + objjson.data = null; + return objjson; + } + } + } + } + } + var check = Exec_ReciveBillCheck(HBillNo); + if (check.code == "0") + return check; + //if(check) + //鏇存柊涓昏〃鐘舵�� 瀹℃牳 + sql = string.Format(@"update Cg_POInStockBillMain set +HBillStatus = 2 , +HChecker ='{0}', +HCheckDate = getdate() +where HInterID in ({1})", CurUserName, HInterID); + oCn.RunProc(sql); + objjson.code = "1"; + objjson.count = 1; + objjson.Message = "鎿嶄綔鎴愬姛"; + objjson.data = null; + return objjson; + } + catch (Exception ex) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鎿嶄綔澶辫触" + ex.Message.ToString(); + objjson.data = null; + return objjson; + } + } + public int GetHinterIDByBillNo(string HBillNo, string type) + { + SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM(); + int HInterID = 0; + string sql = "select HInterID from CG_POINSTOCKBILLMAIN where HBILLNO = '" + HBillNo + "'"; + if (type == "Print") + sql += " and HBillStatus = '2' ";//鎵撳嵃鍒ゆ柇鏄惁瀹℃牳 + DataTable dt = oCn.RunProcReturn(sql, "HInterID").Tables[0]; + if (dt.Rows.Count > 0) + HInterID = Convert.ToInt32(dt.Rows[0]["HInterID"]); + return HInterID; + } + + /// <summary> + /// 鍒拌揣纭鎵敹鏂欓�氱煡鍗曞彿 鑾峰彇琛ㄤ綋鍜岃〃澶存暟鎹� + /// </summary> + /// <param name="HBarCode"></param> + /// <returns></returns> + public json Get_ReciveBillCheckDate(string HBarCode) + { + json objjson = new json(); + try + { + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + DataSet Ds = oCn.RunProcReturn("exec h_p_KF_PonderationBillMain_Temp_Add_POInStockCheck2 '" + HBarCode + "'", "h_p_KF_PonderationBillMain_Temp_Add_POInStockCheck2"); + if (Ds == null || Ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"; + objjson.data = null; + return objjson; + } + else + { + if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 0) + { + objjson.code = "1"; + objjson.count = 1; + objjson.Message = "Sucess锛�"; + objjson.data = Ds.Tables[0]; + return objjson; + } + else + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]); + objjson.data = null; + return objjson; + } + } + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; + + } + } + + [Route("POStockInBillList/AuditPOInStockBillPost")] + [HttpPost] + public object AuditPOInStockBill([FromBody] JObject msg) + { + try + { + string _msg = msg["msg"].ToString(); + _msg = _msg.Replace("\\", ""); + _msg = _msg.Replace("\n", ""); + List<Models.ReciveBill_FastModel> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ReciveBill_FastModel>>(_msg); + DAL.ClsCg_POInStockBill oBill = new DAL.ClsCg_POInStockBill(); + var hinterID = list[0].HInterID; + var FID = list[0].FID; + oCn.BeginTran(); + string sql = string.Empty; + foreach (var item in list) + { + if (item.HSQty == 0) + continue; + sql = $"update Cg_POInStockBillSub set Hqty = {item.HSQty} where HInterID ={item.HInterID} and HEntryID = {item.HEntryID}"; + oCn.RunProc(sql); + } + oCn.RunProc("exec h_p_Cg_UpDatePOOrderRelation_Del " + hinterID);//鍒犻櫎鍏宠仈鍏崇郴 + + JObject jsonRoot = new JObject(); + jsonRoot.Add("Creator", ""); + jsonRoot.Add("NeedUpDateFields", new JArray()); + jsonRoot.Add("NeedReturnFields", new JArray()); + jsonRoot.Add("IsDeleteEntry", "false"); + jsonRoot.Add("SubSystemId", ""); + jsonRoot.Add("IsVerifyBaseDataField", ""); + + JObject jsonModel = new JObject(); + jsonModel.Add("FID", FID); + JArray Entry = new JArray(); + + foreach (var item in list) + { + if (item.HSQty == 0) + continue; + JObject jsonFPOOrderEntry = new JObject(); + jsonFPOOrderEntry.Add("FEntryID", item.FEntryID); + jsonFPOOrderEntry.Add("FHQty ", item.HSQty); ; + Entry.Add(jsonFPOOrderEntry); + } + jsonModel.Add("FEntity", Entry); + jsonRoot.Add("Model", jsonModel); + var loginRet = InvokeHelper.Login(); + var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); + if (isSuccess <= 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = loginRet; + objJsonResult.data = null; + return objJsonResult; + } + //LogService.Write("jsonRoot:" + jsonRoot.ToString()); + var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString()); + //LogService.Write(result); + if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() == "TRUE") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟洿鏂板け璐�" + result; + objJsonResult.data = null; + return objJsonResult; + } + + //鏇存柊鎴愬姛鍚� 鍚屾鏇存柊閲戣澏 + oCn.Commit(); + objJsonResult.code = "1"; + objJsonResult.count = 1; + 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; + } + + } + + /// <summary> + /// 鍒拌揣纭 鎵潯鐮� 鏍¢獙 + /// </summary> + /// <param name="HBarcode"></param> + /// <param name="HInterID"></param> + /// <returns></returns> + [Route("POStockInBillList/Get_ReciveBillByBarcode")] + [HttpGet] + public object Get_ReciveBillByBarcode(string HBarcode, string HInterID) + { + try + { + //鏍¢獙鏉$爜鏄惁瀛樺湪 + string sql = $"select* from Gy_BarCodeBill where HSourceInterID ={HInterID} and HBarCode = '{HBarcode}'"; + DataSet ds = oCn.RunProcReturn(sql, "H_v_SRM_POOrderBillList"); + if (ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏉$爜涓嶅瓨鍦紒"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + return objJsonResult; + //SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + //string sql = $"select * from H_v_SRM_POInStockBillList where 鍗曟嵁鍙� ='{HBillno}'"; + //ds = oCn.RunProcReturn(sql, "H_v_SRM_POInStockBillList"); + //if (ds == null || ds.Tables[0].Rows.Count == 0) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"; + // objJsonResult.data = null; + // return objJsonResult; + //} + //else + //{ + + //} + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + + //鏀舵枡閫氱煡鍗曞鏍� 瀹℃牳鎻愪氦 + [Route("POStockInBillList/Exec_ReciveBillCheck")] + [HttpGet] + public json Exec_ReciveBillCheck(string HBarCode) + { + json objjson = new json(); + try + { + //淇敼閲戣澏鐢熶骇鍗曠殑鐘舵�� + //璁块棶閲戣澏 + var loginRet = InvokeHelper.Login(); + var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>(); + + if (isSuccess == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet; + objjson.data = null; + return objjson; + } + var json = new + { + //CreateOrgId = 0, + Numbers = HBarCode, + //Ids = (EntyID).Split('-')[0], + //PkEntryIds = (EntyID).Split('-')[1] + }; + string result1 = string.Empty; + string result2 = string.Empty; + DataSet Ds = oCn.RunProcReturn("select FDOCUMENTSTATUS,FID from AIS20210811135644..T_PUR_RECEIVE where FBILLNO='" + HBarCode + "'", "AIS20210811135644..T_PUR_RECEIVE"); + //鍒ゆ柇褰撳墠鏀舵枡閫氱煡鍗曠姸鎬佲�斺�斿凡鍒涘缓鍒欏厛鎻愪氦鍐嶅鏍搞�佷互鎻愪氦鍒欏彧瀹℃牳 + if (Ds.Tables[0].Rows[0][0].ToString() == "A" || Ds.Tables[0].Rows[0][0].ToString() == "D") + { + result1 = InvokeHelper.Submit("PUR_ReceiveBill", JsonConvert.SerializeObject(json)); + result2 = InvokeHelper.Audit("PUR_ReceiveBill", JsonConvert.SerializeObject(json)); + } + if (Ds.Tables[0].Rows[0][0].ToString() == "B") + { + result2 = InvokeHelper.Audit("PUR_ReceiveBill", JsonConvert.SerializeObject(json)); + } + //鍒ゆ柇瀹℃牳鏄惁鎴愬姛 + if (JObject.Parse(result2)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "瀹℃牳鏀舵枡閫氱煡鍗曞け璐ワ紒鍗曟嵁鍙凤細" + HBarCode; + objjson.data = null; + return objjson; + } + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "瀹℃牳鎴愬姛锛�"; + objJsonResult.data = 1; + return objjson; + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + + } + #endregion + + #region PDA閿�鍞嚭搴� + //PDA閿�鍞嚭搴撴暣鎵樺垹闄� + [Route("POStockInBillList/SellOutBillSDeleCode")] + [HttpGet] + public object SellOutBillSDeleCode(string HBarCode, string HInterID) + { + try + { + //鏍规嵁鏉$爜鍦ㄦ潯鐮佹。妗堜腑鎵惧埌瀵瑰簲鐨勬墭鏉$爜锛屽啀鍦ㄤ复鏃惰〃涓垹闄よ鎵樻潯鐮佺殑鍏ㄩ儴璁板綍 + string sql = string.Format(@"delete from KF_PonderationBillMain_Temp where HBillType=1205 and HInterID=" + HInterID + " and HBarCode" + + " in (select HBarCode from Gy_BarCodeBill where HBarCode_Pack = (select HBarCode_Pack from Gy_BarCodeBill where HBarCode = '" + HBarCode + "'))"); + oCn.RunProc(sql); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鏁存墭鍒犻櫎鎴愬姛锛�"; + objJsonResult.data = 1; + return objJsonResult; + } + catch (Exception e) + { + 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