From 9255ef991d94447b3056dd08caa97461eeec9c03 Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期二, 07 三月 2023 09:50:52 +0800 Subject: [PATCH] 送货单添加系统参数,自动审核同步 --- WebAPI/Controllers/POInStockController.cs | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 278 insertions(+), 1 deletions(-) diff --git a/WebAPI/Controllers/POInStockController.cs b/WebAPI/Controllers/POInStockController.cs index f6dce2b..f5965b1 100644 --- a/WebAPI/Controllers/POInStockController.cs +++ b/WebAPI/Controllers/POInStockController.cs @@ -288,7 +288,7 @@ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); - string UserName = ""; + string UserName = sArray[2]; ListModels oListModels = new ListModels(); try { @@ -406,6 +406,18 @@ objJsonResult.Message = "淇濆瓨鎴愬姛锛�"; WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�"); objJsonResult.data = 1; + + //淇濆瓨鎴愬姛鏃讹紝鍒ゆ柇鏄惁涓鸿嚜鍔ㄥ鏍革紝Y涓鸿嚜鍔ㄥ鏍革紝N涓烘墜鍔ㄥ鏍� + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.SRM_POInStockBill_AutoAudit == "Y") + { + string HInterID = GetHinterIDByBillNo(billno, "select").ToString(); + //璋冪敤瀹℃牳鏂规硶 + AuditPOInStockBill(HInterID, UserName, billno); + } + } return objJsonResult; } else @@ -462,6 +474,16 @@ Int64 RowTotal = Common.GetRowTotal("H_v_SRM_POInStockBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo); //鑾峰彇杩斿洖鏁版嵁 ds = oCn.RunProcReturn("exec H_p_SRM_POInStockBillList '" + PcWhere + "'", "H_p_SRM_POInStockBillList"); + + //娣诲姞鍒楀悕 + List<object> columnNameList = new List<object>(); + foreach (DataColumn col in ds.Tables[0].Columns) + { + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 + } + LogService.Write("閫佽揣鍗曞垪琛ㄥ姞杞絪ql:exec H_p_SRM_POInStockBillList '" + PcWhere + "'"); LogService.Write("鏁版嵁鏌ヨ杩斿洖" + sw.Elapsed); sw.Stop();//缁撴潫璁℃椂 @@ -469,6 +491,7 @@ objjson.count = 10000; objjson.Message = "鑾峰彇鎴愬姛"; objjson.data = ds.Tables[0]; + objjson.list = columnNameList; return objjson; } catch (Exception e) @@ -925,6 +948,260 @@ objjson.Message = result; objjson.data = null; return objjson; + } + + //瀹℃牳鎴愬姛鏃讹紝鍒ゆ柇鏄惁涓鸿嚜鍔ㄥ悓姝ワ紝Y涓鸿嚜鍔ㄥ悓姝ワ紝N涓烘墜鍔ㄥ悓姝� + string sReturn = ""; + if (oSystemParameter.ShowBill(ref sReturn) == true) + { + if (oSystemParameter.omodel.SRM_POInStockBill_AutoSync == "Y") + { + #region [鑷姩鍚屾妯″紡锛岃皟鐢╓EBAPI鐨勬柟寮忚繘琛屾洿鏂癩 + var json = new + { + CreateOrgId = 0, + Number = HBillNo, + Id = "" + }; + #region [閲戣澏閮ㄥ垎] + //鐧诲綍閲戣澏 + //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.View("PUR_ReceiveBill", JsonConvert.SerializeObject(json)); + var _saveObj = JObject.Parse(_result); + //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛 + if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "閲戣澏鏀舵枡閫氱煡鍗曞悓姝ュけ璐sonRoot锛�" + _result; + objJsonResult.data = null; + return objJsonResult; + } + + #endregion + //鑾峰彇涓昏〃鏁版嵁 + DataSet Ds; + Int64 InterID = 0; + Ds = oCn.RunProcReturn("select * from Cg_POInStockBillMain where HBillNo = '" + HBillNo + "'", "Cg_POInStockBillMain"); + if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0) + { + InterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()); + } + + #region [涓昏〃鏁版嵁璧嬪�糫 + var jsonData = new + { + HInterID = _saveObj["Result"]["Result"]["Id"], + HYear = DateTime.Now.Year, + HPeriod = DateTime.Now.Month, + HBillType = 1103, + HBillSubType = _saveObj["Result"]["Result"]["BusinessType"].ToString() == "WW" ? 12511 : 12510, + HDate = _saveObj["Result"]["Result"]["Date"], + HBillNo = _saveObj["Result"]["Result"]["BillNo"], + HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == "0" ? 1 : 2, + HSupID = _saveObj["Result"]["Result"]["SupplierId_Id"], + HManagerID = _saveObj["Result"]["Result"]["PurchaserId_Id"], + HEmpID = _saveObj["Result"]["Result"]["ReceiverId_Id"], + HDeptID = _saveObj["Result"]["Result"]["ReceiveDeptId_Id"], + HRemark = "CLOUD瀵煎叆", + HMaker = _saveObj["Result"]["Result"]["CreatorId_Id"], + HMakeDate = _saveObj["Result"]["Result"]["CreateDate"], + HChecker = _saveObj["Result"]["Result"]["ApproverId_Id"], + HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"], + HOWNERTYPEID = _saveObj["Result"]["Result"]["OwnerTypeIdHead"], + HOWNERID = _saveObj["Result"]["Result"]["OwnerIdHead_Id"], + HERPInterID = _saveObj["Result"]["Result"]["Id"], + HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"], + HPURCHASEORGID = _saveObj["Result"]["Result"]["PurOrgId_Id"], + HSTOCKORGID = _saveObj["Result"]["Result"]["StockOrgId_Id"], + HREQUIREORGID = _saveObj["Result"]["Result"]["DemandOrgId_Id"], + HSTOCKGROUPID = _saveObj["Result"]["Result"]["StockGroupId_Id"], + HSENDBILLNO = _saveObj["Result"]["Result"]["SendBillNo"], + HLADBILLNO = _saveObj["Result"]["Result"]["LadBillNo"], + HPURDEPTID = _saveObj["Result"]["Result"]["PurDeptId_Id"], + HPURGROUPID = _saveObj["Result"]["Result"]["PurGroupId_Id"], + HSUPPLYID = _saveObj["Result"]["Result"]["SupplyId_Id"], + HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"], + HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"], + HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"], + HSUPPLYADDRESS = _saveObj["Result"]["Result"]["SupplyAddress"], + HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"], + HPROVIDERCONTACTID = _saveObj["Result"]["Result"]["ProviderContactId_Id"], + }; + #endregion + // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁 + sql = $"delete from Cg_POInStockBillMain where HInterID = " + InterID; + oCn.RunProc(sql); + + //鎻掑叆涓昏〃 + sql = $@" + insert into Cg_PoInstockbillMain + (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate + ,HBillNo,HBillStatus,HSupID,HManagerID,HEmpID,HDeptID,HRemark + ,HMaker,HMakeDate,HChecker,HCheckDate,HOWNERTYPEID,HOWNERID + ,HERPInterID,HERPBillType,HPURCHASEORGID,HSTOCKORGID,HREQUIREORGID + ,HSTOCKGROUPID,HSENDBILLNO,HLADBILLNO,HPURDEPTID,HPURGROUPID,HSUPPLYID + ,HSETTLEID,HCHARGEID,HBUSINESSTYPE,HSUPPLYADDRESS,HCORRESPONDORGID,HPROVIDERCONTACTID + ) + values + ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},'{jsonData.HDate}','{jsonData.HBillNo}', + {jsonData.HBillStatus},{jsonData.HSupID},{jsonData.HManagerID},{jsonData.HEmpID},{jsonData.HDeptID},'{jsonData.HRemark}','{jsonData.HMaker}', + '{jsonData.HMakeDate}','{jsonData.HChecker}','{jsonData.HCheckDate}','{jsonData.HOWNERTYPEID}','{jsonData.HOWNERID}',{jsonData.HERPInterID}, + '{jsonData.HERPBillType}',{jsonData.HPURCHASEORGID},{jsonData.HSTOCKORGID},{jsonData.HREQUIREORGID},{jsonData.HSTOCKGROUPID},'{jsonData.HSENDBILLNO}', + '{jsonData.HLADBILLNO}',{jsonData.HPURDEPTID},{jsonData.HPURGROUPID},{jsonData.HSUPPLYID},{jsonData.HSETTLEID},{jsonData.HCHARGEID},'{jsonData.HBUSINESSTYPE}', + '{jsonData.HSUPPLYADDRESS}',{jsonData.HCORRESPONDORGID},{jsonData.HPROVIDERCONTACTID})"; + oCn.RunProc(sql); + + #region [鐢宠瀛愯〃鍙橀噺] + var dataArr = _saveObj["Result"]["Result"]["PUR_ReceiveEntry"]; + + DataSet Cs; + #endregion + + // 鑾峰彇瀛愯〃鏁版嵁 + Cs = oCn.RunProcReturn("select * from Cg_POInStockBillSub where HInterID = " + jsonData.HInterID, "Cg_POInStockBillSub"); + // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁 + sql = $"delete from Cg_POInStockBillSub where HInterID = " + InterID; + oCn.RunProc(sql); + + foreach (var oSub in dataArr) + { + #region [瀛愯〃鏁版嵁璧嬪�糫 + + if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HInterID"].ToString()) != 0) + { + + } + + var subData = new + { + HInterID = _saveObj["Result"]["Result"]["Id"], + HEntryID = oSub["Id"], + HMaterID = oSub["MaterialID_Id"], + HUnitID = oSub["UnitId_Id"], + HQty = oSub["ActReceiveQty"], + HPrice = oSub["Price"], + HMoney = oSub["Amount"], + HWHID = oSub["StockID_Id"], + HSPID = oSub["StockLocId_Id"], + HRemark = "CLOUD瀵煎叆", + HTaxMoney = oSub["TaxAmount"], + HTaxRate = oSub["TaxRate"], + HTaxMoney_TAX = oSub["TaxAmount"], + HTaxRate_TAX = oSub["TaxRate"], + HSourceInterID = oSub["SrcId"], + HSourceEntryID = oSub["SrcEntryId"], + HSourceBillNo = oSub["SrcBillNo"], + HSourceBillType = 1102, + HPOOrderInterID = oSub["SrcId"], + HPOOrderEntryID = oSub["POORDERENTRYID"], + HPOORderBillNo = oSub["OrderBillNo"], + HAuxPropID = oSub["AuxPropId_Id"], + HBatchNO = oSub["Lot_Text"], + HMTONo = oSub["MtoNo"], + HPlanMode = "", + HERPInterID = _saveObj["Result"]["Result"]["Id"], + HERPEntryID = oSub["Id"], + HRelationQty = oSub["InStockBaseQty"], + HGiveAwayFlag = oSub["GiveAway"] = false ? 0 : 1, + HReceiveQty = oSub["ReceiveQty"], + HSecUnitID = oSub["ExtAuxUnitId_Id"], + HSEQ = oSub["Seq"], + HPRODUCEDATE = oSub["ProduceDate"], + HEXPIRYDATE = oSub["ExpiryDate"], + HSUPPLYLOT = oSub["SupplierLot"], + HREQTRACENO = oSub["ReqTraceNo"], + HBOMID = oSub["BomId_Id"], + HSTOCKUNITID = oSub["StockUnitID_Id"], + HBASEUNITID = oSub["BaseUnitId_Id"], + HSTOCKSTATUSID = oSub["StockStatusId_Id"], + HKEEPERTYPEID = oSub["KeeperTypeId"], + HPROJECTNO = oSub["ProjectNo"], + HCHECKINCOMING = oSub["CheckInComing"] = false ? 0 : 1, + HTAXPRICE = oSub["TaxPrice"], + HDISCOUNTRATE = oSub["DiscountRate"], + HPRICECOEFFICIENT = oSub["PriceCoefficient"], + HPRICEUNITID = oSub["PriceUnitId_Id"], + HPRICELISTENTRY = oSub["PriceListEntry_Id"], + HTAXCOMBINATION = oSub["TaxCombination_Id"], + HSAMPLEDAMAGEQTY = oSub["SampleDamageQty"], + HSAMPLEDAMAGEBASEQTY = oSub["SampleDamageBaseQty"], + HOWNERTYPEID = oSub["OwnerTypeId"], + HOWNERID = oSub["OwnerId_Id"], + HBFLOWID = oSub["FBFLowId_Id"], + HPAYORGID = _saveObj["Result"]["Result"]["Receivefinance"][0]["PayOrgId_Id"], + HSETTLEORGID = _saveObj["Result"]["Result"]["Receivefinance"][0]["SettleOrgId_Id"], + HSETTLECURRID = _saveObj["Result"]["Result"]["Receivefinance"][0]["SettleCurrId_Id"], + HSETTLEMODEID = _saveObj["Result"]["Result"]["Receivefinance"][0]["SettleModeId_Id"], + HEXCHANGETYPEID = _saveObj["Result"]["Result"]["Receivefinance"][0]["ExchangeTypeId_Id"], + HPAYCONDITONID = 0, + HEXCHANGERATE = _saveObj["Result"]["Result"]["Receivefinance"][0]["ExchangeRate"], + HLOCALCURRID = _saveObj["Result"]["Result"]["Receivefinance"][0]["LocalCurrId_Id"], + HISINCLUDEDTAX = _saveObj["Result"]["Result"]["Receivefinance"][0]["IsIncludedTax"], + HISPRICEEXCLUDETAX = _saveObj["Result"]["Result"]["Receivefinance"][0]["ISPRICEEXCLUDETAX"], + HTAXRATEID = 0, + HCOSTPERCENT = 0, + HCOSTAMOUNT = 0, + HVAT = 0, + HSELLERWITHHOLDING = 0, + HBUYERWITHHOLDING = 0, + }; + #endregion + + + //鎻掑叆瀛愯〃 + sql = $@" + insert into Cg_PoInstockbillSub + (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice + ,HMoney,HWHID,HSPID,HRemark,HTaxMoney,HTaxRate,HTaxMoney_TAX,HTaxRate_TAX + ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HPOOrderInterID,HPOOrderEntryID,HPOORderBillNo + ,HAuxPropID,HBatchNO,HMTONo,HPlanMode,HERPInterID,HERPEntryID + ,HRelationQty,HGiveAwayFlag,HReceiveQty,HSecUnitID + ,HSEQ,HPRODUCEDATE,HEXPIRYDATE,HSUPPLYLOT,HREQTRACENO,HBOMID,HSTOCKUNITID + ,HBASEUNITID,HSTOCKSTATUSID,HKEEPERTYPEID,HPROJECTNO,HCHECKINCOMING + ,HTAXPRICE,HDISCOUNTRATE,HPRICECOEFFICIENT,HPRICEUNITID,HPRICELISTENTRY + ,HTAXCOMBINATION,HSAMPLEDAMAGEQTY,HSAMPLEDAMAGEBASEQTY,HOWNERTYPEID,HOWNERID,HBFLOWID + ,HPAYORGID,HSETTLEORGID,HSETTLECURRID,HSETTLEMODEID,HEXCHANGETYPEID,HPAYCONDITONID + ,HEXCHANGERATE,HLOCALCURRID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX + ,HTAXRATEID,HCOSTPERCENT,HCOSTAMOUNT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING + ) + values + ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice}, + {subData.HMoney},{subData.HWHID},{subData.HSPID},'{subData.HRemark}',{subData.HTaxMoney},{subData.HTaxRate},{subData.HTaxMoney_TAX}, + {subData.HTaxRate_TAX},{subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}',{subData.HSourceBillType}, + {subData.HPOOrderInterID},{subData.HPOOrderEntryID},'{subData.HPOORderBillNo}',{subData.HAuxPropID},'{subData.HBatchNO}', + '{subData.HMTONo}','{subData.HPlanMode}',{subData.HERPInterID},{subData.HERPEntryID},{subData.HRelationQty},{subData.HGiveAwayFlag}, + {subData.HReceiveQty},{subData.HSecUnitID},{subData.HSEQ},'{subData.HPRODUCEDATE}','{subData.HEXPIRYDATE}','{subData.HSUPPLYLOT}', + '{subData.HREQTRACENO}',{subData.HBOMID},{subData.HSTOCKUNITID},{subData.HBASEUNITID},{subData.HSTOCKSTATUSID},'{subData.HKEEPERTYPEID}', + '{subData.HPROJECTNO}',{subData.HCHECKINCOMING},{subData.HTAXPRICE},{subData.HDISCOUNTRATE}, + {subData.HPRICECOEFFICIENT},{subData.HPRICEUNITID},{subData.HPRICELISTENTRY},'{subData.HTAXCOMBINATION}',{subData.HSAMPLEDAMAGEQTY}, + {subData.HSAMPLEDAMAGEBASEQTY},'{subData.HOWNERTYPEID}',{subData.HOWNERID},'{subData.HBFLOWID}',{subData.HPAYORGID},{subData.HSETTLEORGID}, + {subData.HSETTLECURRID},{subData.HSETTLEMODEID},{subData.HEXCHANGETYPEID},{subData.HPAYCONDITONID},{subData.HEXCHANGERATE}, + {subData.HLOCALCURRID},'{subData.HISINCLUDEDTAX}','{subData.HISPRICEEXCLUDETAX}',{subData.HTAXRATEID},{subData.HCOSTPERCENT}, + {subData.HCOSTAMOUNT},{subData.HVAT},{subData.HSELLERWITHHOLDING},{subData.HBUYERWITHHOLDING})"; + oCn.RunProc(sql); + } + + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛锛�"; + objJsonResult.data = null; + return objJsonResult; + + #endregion + } } } -- Gitblit v1.9.1