From 3ea5f47292c60354e89212803ac88b329d819469 Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期二, 09 八月 2022 12:54:51 +0800 Subject: [PATCH] 到货确认 --- WebAPI/Controllers/POStockInBillController.cs | 620 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 457 insertions(+), 163 deletions(-) diff --git a/WebAPI/Controllers/POStockInBillController.cs b/WebAPI/Controllers/POStockInBillController.cs index e180af3..da59411 100644 --- a/WebAPI/Controllers/POStockInBillController.cs +++ b/WebAPI/Controllers/POStockInBillController.cs @@ -15,6 +15,8 @@ using WebAPI; using WebAPI.Code; using WebAPI.Models; +using WebAPI.Utility; + namespace WebAPI.Controllers { /** @@ -109,11 +111,11 @@ { objJsonResult.code = "0"; objJsonResult.count = 1; - objJsonResult.Message = e.Message+";"+e.StackTrace; + objJsonResult.Message = e.Message + ";" + e.StackTrace; objJsonResult.data = null; return objJsonResult; } - + } @@ -766,7 +768,7 @@ 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; @@ -991,18 +993,16 @@ } - #region 鍒拌揣鐐规暟 - [Route("POStockInBillList/get_InfoByBillNo")] + #region 鍒拌揣纭 + [Route("POStockInBillList/Get_ReciveBill")] [HttpGet] public object get_InfoByBillNo(string HBillno) { try { - string sqlwhere = " where 1=1 "; - if (!String.IsNullOrEmpty(HBillno)) - sqlwhere += "and 鍗曟嵁鍙�='" + HBillno + "'"; - string sql = $"select * from h_v_Cg_POInStockBillList {sqlwhere} "; - ds = oCn.RunProcReturn(sql, "h_v_Cg_POInStockBillList"); + 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"; @@ -1013,141 +1013,11 @@ } else { - objJsonResult.code = "0"; + objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess锛�"; objJsonResult.data = ds.Tables[0]; return objJsonResult; - } - } - catch (Exception) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "澶辫触 锛�"; - objJsonResult.data = null; - return objJsonResult; - } - - } - - - //[Route("POStockInBillList/confirm")] - //public object confirm(string hmainid) - //{ - // try - // { - // JObject model = new JObject(); - // model.Add("FBILLTYPEID", new JObject() { ["Fnumber"] = "SLD01_SYS" }); //鍗曟嵁绫诲瀷 - // model.Add("FDate", DateTime.Now.ToString("yyyy-MM-dd")); //閫氱煡鏃ユ湡 - // model.Add("FStockOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); // 鏀舵枡缁勭粐 - // model.Add("FPurOrgId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); //閲囪喘缁勭粐 - // model.Add("FSupplierId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSupplierID") as DynamicObject)?["Number"].ToString() ?? "" }); //渚涘簲鍟� - // model.Add("FOwnerTypeIdHead", "BD_OwnerOrg");// 璐т富绫诲瀷 - // model.Add("FOwnerIdHead", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//璐т富 - // //瀛愯〃 鏁版嵁妯″瀷 - // JArray Fentity = new JArray(); - // foreach (var item in entityRows) - // { - // if (Convert.ToBoolean(item["FCloseStatus"])) - // continue; - // JObject FentityModel = new JObject(); - // FentityModel.Add("FMaterialId", new JObject() { ["Fnumber"] = (item["FHMaterID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 鐗╂枡缂栫爜 - // FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 鍗曚綅 - // FentityModel.Add("FPreDeliveryDate", this.Model.GetValue("FHDate").ToString()); //棰勮鍒拌揣鏃ユ湡 - // FentityModel.Add("FPriceUnitId", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 璁′环鍗曚綅 - // FentityModel.Add("FStockUnitID", new JObject() { ["Fnumber"] = (item["FUnitID"] as DynamicObject)?["Number"].ToString() ?? "" }); // 搴撳瓨鍗曚綅 - // FentityModel.Add("FActReceiveQty", Convert.ToDecimal(item["FHQty"]) - Convert.ToDecimal(item["FReciveCount"])); // 渚涘簲鍟嗛�佽揣鏁伴噺锛堟彁鏂欒鍒掓暟閲� - 宸茬敓鎴愰�佽揣鍗曟暟閲忥級 - // FentityModel.Add("FOwnerTypeId", "BD_OwnerOrg");//璐т富绫诲瀷 - // FentityModel.Add("FOwnerID", new JObject() { ["Fnumber"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" });//璐т富 - // FentityModel.Add("FSrcId", item["FHPOOrderInterID"].ToString());//婧愬崟鍐呯爜 - // FentityModel.Add("FSRCFORMID", "PUR_PurchaseOrder");//婧愬崟绫诲瀷 - // FentityModel.Add("FSrcBillNo", item["FHPOOrderBillNo"].ToString());//婧愬崟鍗曞彿 - // FentityModel.Add("FSRCENTRYID", item["FHPOOrderEntryID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 - // FentityModel.Add("FORDERBILLNO", item["FHPOOrderBillNo"].ToString());//婧愬崟鍗曞彿 - // FentityModel.Add("FPOORDERENTRYID", item["FHPOOrderEntryID"].ToString());//婧愬崟鍒嗗綍鍐呯爜 - - - // JArray Fentity2 = new JArray(); - // JObject FentityModel2 = new JObject(); - // FentityModel2.Add("FDetailEntity_Link_FRULEID", "a8c6b6e5-a8c0-4fc1-8592-6b76c2136cf9"); - // FentityModel2.Add("FDetailEntity_Link_FSTableName", "t_PUR_POOrderEntry"); - // FentityModel2.Add("FDetailEntity_Link_FSBillId", item["FHPOOrderInterID"].ToString()); - // FentityModel2.Add("FDetailEntity_Link_FSId", item["FHPOOrderEntryID"].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"] = (this.Model.GetValue("FHPURCHASEORGID") as DynamicObject)?["Number"].ToString() ?? "" }); // 缁撶畻缁勭粐 - // _FentityModel.Add("FSettleCurrId", new JObject() { ["Fnumber"] = (this.Model.GetValue("FSettleCurrId") as DynamicObject)?["Number"].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", - // //["IsAutoSubmitAndAudit"] = true,//鑷姩璋冪敤鎻愪氦鍜屽鏍稿姛鑳� - // ["Model"] = model - // }; - // var result = cloudClient.Save("PUR_ReceiveBill", jsonRoot.ToString()); - // JObject saveObj = JObject.Parse(result); - // string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper(); - // } - // catch (Exception) - // { - // objJsonResult.code = "0"; - // objJsonResult.count = 0; - // objJsonResult.Message = "澶辫触 锛�"; - // objJsonResult.data = null; - // return objJsonResult; - // } - - //} - #endregion - - #region [鏀舵枡閫氱煡鍗曞鏍竇 - //鏀舵枡閫氱煡鍗曞鏍� 鎵潯鐮� - [Route("POStockInBillList/Get_ReciveBillCheckDate")] - [HttpGet] - public object Get_ReciveBillCheckDate(string HBarCode) - { - 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) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 0) - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "Sucess锛�"; - objJsonResult.data = Ds.Tables[0]; - return objJsonResult; - } - else - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]); - objJsonResult.data = null; - return objJsonResult; - } } } catch (Exception e) @@ -1158,14 +1028,438 @@ 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; + } + + 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/Exec_ReciveBillCheck")] [HttpGet] - public object Exec_ReciveBillCheck(string HBarCode) + public json Exec_ReciveBillCheck(string HBarCode) { + json objjson = new json(); try { //淇敼閲戣澏鐢熶骇鍗曠殑鐘舵�� @@ -1175,11 +1469,11 @@ if (isSuccess == 0) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet; - objJsonResult.data = null; - return objJsonResult; + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鎿嶄綔澶辫触,閲戣澏璐﹀彿鐧诲綍寮傚父銆�" + loginRet; + objjson.data = null; + return objjson; } var json = new { @@ -1190,9 +1484,9 @@ }; 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"); + 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") + 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)); @@ -1204,25 +1498,25 @@ //鍒ゆ柇瀹℃牳鏄惁鎴愬姛 if (JObject.Parse(result2)["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "瀹℃牳鏀舵枡閫氱煡鍗曞け璐ワ紒鍗曟嵁鍙凤細" + HBarCode; - objJsonResult.data = null; - return objJsonResult; + 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 objJsonResult; + return objjson; } catch (Exception e) { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); - objJsonResult.data = null; - return objJsonResult; + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; } } @@ -1232,15 +1526,15 @@ //PDA閿�鍞嚭搴撴暣鎵樺垹闄� [Route("POStockInBillList/SellOutBillSDeleCode")] [HttpGet] - public object SellOutBillSDeleCode(string HBarCode,string HInterID) + 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 + "'))"); + " 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 = "鏁存墭鍒犻櫎鎴愬姛锛�"; -- Gitblit v1.9.1