From d38136e8b743a3186dc873d0f18e5a58e84e86d9 Mon Sep 17 00:00:00 2001 From: yangle <admin@YINMOU> Date: 星期四, 24 十一月 2022 08:51:40 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/POStockInBillController.cs | 927 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 536 insertions(+), 391 deletions(-) diff --git a/WebAPI/Controllers/POStockInBillController.cs b/WebAPI/Controllers/POStockInBillController.cs index 6ff55fd..57446e2 100644 --- a/WebAPI/Controllers/POStockInBillController.cs +++ b/WebAPI/Controllers/POStockInBillController.cs @@ -51,6 +51,7 @@ 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(); + Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); public double sRelQty = 0; SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); // private DataBaseServices objDataBaseServices = new DataBaseServices(); @@ -81,6 +82,8 @@ { try { + + var sJXCode = POStockInBillController.JX_Json(sCode, HOWNERID); //if (sRedBlue == true) //{ // HBillType = "1239"; @@ -89,7 +92,8 @@ 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); + WebSoBar = oWebs.get_CheckTypeByBarCode_All(sJXCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); + //WebSoBar = oWebs.get_ba(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo); if (WebSoBar == null) { objJsonResult.code = "0"; @@ -164,6 +168,83 @@ objJsonResult.Message = e.Message + ";" + e.StackTrace; objJsonResult.data = null; return objJsonResult; + } + + } + + + [Route("kf_PoStockInBill/JX_Json")] + [HttpGet] + public static string JX_Json(string sBarCodeNew, Int64 HOrgID) + { + try + { + //鍔犱簡 鐢熶骇鏃ユ湡 鏈夋晥鏈熻嚦 淇濊川鏈熸爣蹇� + + string[] sArray = sBarCodeNew.Split('@'); + string HMaterNumber = ""; + HMaterNumber = sArray[0]; + Int64 HQty = 0; + HQty = ClsPub.isInt(sArray[4]); + string HBarchNo = ""; + HBarchNo = sArray[6]; + + DateTime HSCRQ = ClsPub.isDate(sArray[3]); + DateTime HYXQZ = ClsPub.isDate(sArray[5]); + + + Int64 HMaterID = 0; + + SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); + DataSet Dss; + Dss = oCn.RunProcReturn(" select HNumber from h_v_CLD_ORGANIZATIONSList where HItemID= " + HOrgID, "h_v_CLD_ORGANIZATIONSList"); + string HOrgNumber = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HNumber"]); + + DataSet Dss1; + Dss1 = oCn.RunProcReturn(" select HItemID,HName,HModel,HUnitID from Gy_Material where HNumber= '" + HMaterNumber + "' and huseorgid = " + HOrgID, "Gy_Material"); + HMaterID = Pub_Class.ClsPub.isLong(Dss1.Tables[0].Rows[0]["HItemID"]); + string HMaterName = Pub_Class.ClsPub.isStrNull(Dss1.Tables[0].Rows[0]["HName"]); + string HMaterModel = Pub_Class.ClsPub.isStrNull(Dss1.Tables[0].Rows[0]["HModel"]); + Int64 HUnitID = Pub_Class.ClsPub.isInt(Dss1.Tables[0].Rows[0]["HUnitID"]); + + string HTM = ""; + HTM = HOrgNumber + HMaterID + HBarchNo; + string ModName = "85"; + var HInterID = DBUtility.ClsPub.CreateBillID_Prod(ModName, ref DBUtility.ClsPub.sExeReturnInfo); + Int64 HSupID = 0; + oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" + + ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" + + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " + + ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " + + ",HCusID,HCusType,HEndDate,HProduceDate,HExpiryDate,HWorkLineName,HBarCodeDate " + + ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " + + ",HGiveAwayFlag,HSeOrderSEQ,HInitSourceEntryID " + + ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo,HExpirationDateFlag " + + ") values (" + + "'" + HTM + "','鎵规鏉$爜'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty.ToString() + + ",'" + HBarchNo + "'," + HSupID.ToString() + ",0,'" + ClsPub.CurUserName + "',getdate(),0," + HQty.ToString() + + ", 0,0,'','',0" + + ", 0,'',0,0,0,''" + + ",0,'',''," + HSCRQ.ToShortDateString() + "," + HYXQZ.ToShortDateString() + ",'',getdate()" + + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",''," + HInterID.ToString() + ",1" + + ",0,0,0" + + ",'" + HMaterName + "','" + HMaterModel + "','',0,'','',1)"); + + + string sExpressNumber = ""; + //objJsonResult.code = "0"; + //objJsonResult.count = 1; + //objJsonResult.Message = DBUtility.ClsPub.sErrInfo; + //objJsonResult.data = ; + return HTM; + } + catch (Exception e) + { + //objJsonResult.code = "0"; + //objJsonResult.count = 1; + //objJsonResult.Message = e.Message + ";" + e.StackTrace; + //objJsonResult.data = null; + return e.Message + ";" + e.StackTrace; } } @@ -409,6 +490,55 @@ return objJsonResult; } } + + + + + + + [Route("Kf_QCStockInCheckBill_Fast/BarCode_Json")] + [HttpGet] + public object BarCode_Json(string HBarCode) + { + try + { + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); + ds = oCN.RunProcReturn("select * from h_v_QCStockInCheckBill_Json where 鏉$爜缂栧彿 ='" + HBarCode.ToString() + "'", "h_v_QCStockInCheckBill_Json"); + if (ds == null || ds.Tables[0].Rows.Count <= 0) + { + + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"; + objJsonResult.data = null; + return objJsonResult; + //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); + } + else + { + objJsonResult.code = "0"; + objJsonResult.count = 1; + objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�"; + 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; + } + } + + + + + + /// <summary> @@ -847,8 +977,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) @@ -985,7 +1113,6 @@ } catch (Exception) { - objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "鍒犻櫎澶辫触锛�"; @@ -995,7 +1122,6 @@ } - #region 鍒拌揣纭 [Route("POStockInBillList/Get_ReciveBill")] [HttpGet] @@ -1003,25 +1129,8 @@ { try { - 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; - } + json result = Get_ReciveBillCheckDate(HBillno); + return result; } catch (Exception e) { @@ -1030,372 +1139,6 @@ 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) @@ -1411,13 +1154,23 @@ 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"); + DataSet Ds; + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);//瀹㈡埛鍚嶇О + if (FCusName.Contains("瀹夌憺")) + Ds = oCn.RunProcReturn("exec h_p_GetPOInStockByBarCode'" + HBarCode + "'", "h_p_GetPOInStockByBarCode"); + else + 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"; @@ -1457,6 +1210,398 @@ } } + [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; + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);//瀹㈡埛鍚嶇О + string FisRealess = oSystemParameter.GetSingleSystemParameter("Cg_POInStockBill_ErpAduit", ref DBUtility.ClsPub.sExeReturnInfo);//閫佽揣鍗曞埌璐х‘璁ゅ悗鍚屾閲戣澏浜戞敹鏂欓�氱煡鍗� + string FishaveBarcode = oSystemParameter.GetSingleSystemParameter("Cg_POInStockBill_BarCodeCtl", ref DBUtility.ClsPub.sExeReturnInfo);//鍒拌揣纭蹇呴』鎵爜绠辨潯鐮� + var kdTbaleName = Util.GetConfigKey(AppDomain.CurrentDomain.BaseDirectory + "/Config/kdapi.config", "DataBaseName"); + string sql = string.Empty; + #region 鏍¢獙鏄惁鎵弿鏉$爜 + if (FishaveBarcode == "Y") + { + var HInterID = list[0].HInterID; + string jysql = string.Format(@"select * from KF_PonderationBillMain_Temp where HSourceInterID = {0}", HInterID); + DataTable jyDt = oCn.RunProcReturn(jysql, "jysql").Tables[0]; + if (jyDt.Rows.Count == 0 || jyDt == null) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "璇锋壂鎻忔潯鐮�"; + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + #region 閲戣澏瀹℃牳鍚庝細閲嶆柊鍚屾鍗曟嵁鍒癿es 鏁呬笉闇�瑕佹洿鏂癿es鐨勬敹鏂欓�氱煡鍗� + oCn.BeginTran(); + 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.Commit(); + #endregion + + if (FCusName.Contains("瀹夌憺")) + { + 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); + DataTable dt = oCn.RunProcReturn(sql, "sltz").Tables[0]; + List<string> fidList = new List<string>(); + if (dt.Rows.Count > 0) + { + //foreach (DataRow dr in dt.Rows) + //{ + // //閲囪喘璁㈠崟涓嬫帹鐢熸垚閫佽揣鍗� 鏃跺�� 鍒ゆ柇鏄惁鏈夌敓鎴愰噰璐鍗曞彉鏇村崟 濡傛灉鏈変笖鍙樻洿鍗曠姸鎬佷笉涓哄凡瀹℃牳 闄愬埗涓嬫帹 + // objJsonResult = TestPOOrder(dr["FEntryID"].ToString()); + // if (objJsonResult.code == "0") + // return objJsonResult; + //} + foreach (DataRow dr in dt.Rows) + { + if (fidList.Contains(dr["HINTERID"].ToString())) + continue; + else + fidList.Add(dr["HINTERID"].ToString()); + DataRow[] drs = dt.Select("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("FStockID", new JObject() { ["Fnumber"] = "BJCK-SH.01.005" }); // 搴撳瓨鍗曚綅 + 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) + { + 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") + { + //鏇存柊閫佽揣鍗� 涓昏〃 ERP鍗曟嵁鍙� 浠ュ強 ERP涓诲唴鐜� + string FBillNo = JObject.Parse(result)["Result"]["Number"].ToString(); + 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 + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = result; + objJsonResult.data = null; + return objJsonResult; + } + + } + } + else + { + LogService.Write("鏀舵枡閫氱煡鍗曞鏍告棤鏁版嵁锛�" + sql); + } + } + else //澶忓疂 锛屾洿鏂癳rp淇℃伅 + { + 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("FActReceiveQty ", item.HSQty); ; + Entry.Add(jsonFPOOrderEntry); + } + jsonModel.Add("FDetailEntity", 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; + } + var result = InvokeHelper.Save("PUR_ReceiveBill", jsonRoot.ToString()); + //LogService.Write(result); + if (JObject.Parse(result)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + LogService.Write("鏀舵枡閫氱煡鍗曚慨鏀瑰け璐sonRoot:" + jsonRoot.ToString()); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟洿鏂板け璐�" + result; + objJsonResult.data = null; + return objJsonResult; + } + } + var json = new + { + Ids = FID, + }; + //LogService.Write(json); + //鎻愪氦 + var _result = InvokeHelper.Submit("PUR_ReceiveBill", JsonConvert.SerializeObject(json)); + var _saveObj = JObject.Parse(_result); + if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + LogService.Write("鏀舵枡閫氱煡鍗曟彁浜ゅけ璐sonRoot:" + json.ToString()); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曟彁浜ゅけ璐�" + _result; + objJsonResult.data = null; + return objJsonResult; + + } + //瀹℃牳 + _result = InvokeHelper.Audit("PUR_ReceiveBill", JsonConvert.SerializeObject(json)); + _saveObj = JObject.Parse(_result); + if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + LogService.Write("鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot:" + json.ToString()); + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曞鏍稿け璐sonRoot" + _result; + objJsonResult.data = null; + return objJsonResult; + + } + + + 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 + { + //var code = HBarcode.Split('#')[0]; + //鏍¢獙鏉$爜鏄惁瀛樺湪 + string FCusName = oSystemParameter.GetSingleSystemParameter("WMS_CampanyName", ref DBUtility.ClsPub.sExeReturnInfo);//瀹㈡埛鍚嶇О + string sql = string.Empty; + if (FCusName.Contains("瀹夌憺")) + sql = $"select HItemID,HSourceBillNo,HQty,HSourceInterID,HSourceEntryID from Gy_BarCodeBill where HSourceInterID ={HInterID} and HBarCode = '{HBarcode}' and HBarCodeType ='绠卞彿鍐呮潯鐮�'"; + else + sql = $"select HItemID,HSourceBillNo,HQty,HSourceInterID,HSourceEntryID from Gy_BarCodeBill where HSourceInterID ={HInterID} and HBarCode = '{HBarcode.Split('#')[0]}' and HQty = {HBarcode.Split('#')[1]}"; + 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; + } + else + { + //瀛樺叆鏉$爜涓存椂琛� + sql = $"delete from KF_PonderationBillMain_Temp Where HBillNo='{ds.Tables[0].Rows[0]["HSourceBillNo"]}' "; + oCn.RunProc(sql); + sql = string.Format(@"Insert into KF_PonderationBillMain_Temp + (HInterID,HBillNo,HBillType,HMaterID,HProcID,HWhID,HSCWHID + ,HStockPlaceID,HOutStockPlaceID,HGroupID,HQty,HQtyMust,HPieceQty + ,HAuxPropID,HBatchNo,HBarCode,HAddr,HMaker,HMakeDate + ,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo,HMTONo + ,HSTOCKORGID,HOWNERID,HExpressNumber,HSubBillType + ,HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag + ,HCusID) + select HInterID,HSourceBillNo,HBillType,HMaterID,0,0,0 + ,0,0,0,HQty,HQty,0 + ,HAuxPropID,HBatchNo,'','','System',getdate() + ,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo,HMTONo + ,HSTOCKORGID,HOWNERID,'',HBillType + ,0,0,'',0 + ,0 from Gy_BarCodeBill + where HItemID = {0}", ds.Tables[0].Rows[0]["HItemID"]); + oCn.RunProc(sql); + } + + 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] -- Gitblit v1.9.1