From a0230295c6b15dae49a502b3ef0c675caa66b820 Mon Sep 17 00:00:00 2001 From: yxt_djz Date: Mon, 17 Oct 2022 09:52:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=B4=A2=E5=8A=A1=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseAccadjApplyService.java | 86 ++++++++++++++++--- .../base/biz/basevehicle/BaseVehicleRest.java | 14 ++- .../yxt/anrui/fin/api/kingdee/push/Push.java | 6 ++ .../stktransferdirect/StkTransferDirect.java | 10 +-- .../fin/biz/kingdee/FinKingDeeService.java | 10 +++ .../anrui/fin/biz/kingdee/KingDeeUtils.java | 6 +- .../fin/biz/kingdee/push/PushService.java | 4 +- .../saloutstock/SalOutStockService.java | 47 +++++----- ...TransferDirectCastToKingDeeBillFields.java | 2 +- .../StkTransferDirectService.java | 28 ++++++ .../stktransferdirect/data_FBillEntry.json | 4 +- .../kingdee/stktransferdirect/data_model.json | 4 +- .../yxt/anrui/fin/biz/timer/TimerUtil.java | 2 +- .../ScmApplyInboundService.java | 35 -------- 14 files changed, 169 insertions(+), 89 deletions(-) diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java index 7ee4980d46..4bd29d6a03 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java @@ -39,9 +39,11 @@ import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto; import com.yxt.anrui.base.api.baseaccadjapplyeveh.BaseAccadjApplyeVeh; import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle; import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo; +import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; import com.yxt.anrui.base.biz.baseaccadjapplyeveh.BaseAccadjApplyeVehService; import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService; import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; +import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService; import com.yxt.anrui.base.common.enums.VehicleState; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.KingDeeResult; @@ -53,12 +55,16 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.UserQuery; import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; +import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; +import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -106,7 +112,12 @@ public class BaseAccadjApplyService extends MybatisBaseService createQueryWrapper(BaseAccadjApplyQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -431,19 +442,34 @@ public class BaseAccadjApplyService extends MybatisBaseService pcResubean = sysOrganizationFeign.fetchBySid(baseVehicle.getPurchaseSystemSid()); + if (pcResubean.getSuccess()) { + SysOrganizationVo vo = pcResubean.getData(); + if (vo != null) { + stkInStock.setFPurchaseDeptId(vo.getOrgCode()); + } + }*/ stkInStock.setFPurchaseDeptId("05.04"); /** * //采购组织:FPurchaseOrgId (必填项) */ - stkInStock.setFPurchaseOrgId("101"); + //分公司id + ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(baseAccadjApply.getCallInOrgSid()); + if (sysOrganizationVoResultBean.getSuccess()) { + SysOrganizationVo vo = sysOrganizationVoResultBean.getData(); + if (vo != null) { + stkInStock.setFPurchaseOrgId(vo.getOrgCode()); + /** + * //分配目标组织:TOrgId (必填项) + */ + stkInStock.setTOrgId(vo.getOrgCode()); + } + } + /** * // 供应商:FSupplierId (必填项) */ - stkInStock.setFSupplierId("010001"); - /** - * //分配目标组织:TOrgId (必填项) - */ - stkInStock.setTOrgId("100012"); + stkInStock.setFSupplierId("010001");//TODO /** * // 物料列表:FInStockEntry (必填项) */ @@ -457,7 +483,7 @@ public class BaseAccadjApplyService extends MybatisBaseService voResultBean = scmWarehouseFeign.fetchBySid(baseInternalPurchaseVehicle.getInventoryLocationSid()); + if(voResultBean.getSuccess()){ + //fe.setFStockID(voResultBean.getData().getGressionCode()); + sf.setFStockId(voResultBean.getData().getGressionCode()); + // fe.setFStockID("CK001"); + //fe.setFStockID(baseInternalPurchaseVehicle.getInventoryLocationSid()); + } + /** * 物料分组 */ - sf.setWlfz("01"); + BaseVehicleBrand baseVehicleBrand = baseVehicleBrandService.selectByModelSid(baseInternalPurchaseVehicle.getModelSid()); + if (baseVehicleBrand != null) { + sf.setWlfz(baseVehicleBrand.getBrandCode()); + // sf.setWlfz("01"); + } /** * 物料分组 */ @@ -521,7 +558,16 @@ public class BaseAccadjApplyService extends MybatisBaseService resultBean = sysOrganizationFeign.fetchBySid(baseAccadjApply.getCallOutOrgSid()); + if (resultBean.getSuccess()) { + SysOrganizationVo vo = resultBean.getData(); + if (vo != null) { + salOutStock.setFSaleOrgId(vo.getOrgCode()); + //salOutStock.setFSaleOrgId("101"); + } + } + /** * 客户:FCustomerID (必填项) */ @@ -529,7 +575,15 @@ public class BaseAccadjApplyService extends MybatisBaseService resultBean1 = sysOrganizationFeign.selectByPSid(baseAccadjApply.getCallOutOrgSid(), "销售支持部"); + if (resultBean1.getSuccess()) { + SysOrganizationVo vo = resultBean1.getData(); + if (vo != null) { + salOutStock.setFSaleDeptID(vo.getOrgCode()); + //salOutStock.setFSaleDeptID("05.04"); + } + } /** * 发货组织:FStockOrgId (必填项) */ @@ -565,8 +619,12 @@ public class BaseAccadjApplyService extends MybatisBaseService voResultBean = scmWarehouseFeign.fetchBySid(baseInternalPurchaseVehicle.getInventoryLocationSid()); + if(voResultBean.getSuccess()){ + fe.setFStockID(voResultBean.getData().getGressionCode()); + // fe.setFStockID("CK001"); + //fe.setFStockID(baseInternalPurchaseVehicle.getInventoryLocationSid()); + } /** * 库存状态:FStockStatusID */ diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java index e782f863f1..58125f30a2 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java @@ -38,6 +38,8 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; +import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; +import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -124,7 +126,8 @@ public class BaseVehicleRest implements BaseVehicleFeign { private BaseManufacturerService baseManufacturerService; @Autowired private BaseManufacturerBankService baseManufacturerBankService; - + @Autowired + private ScmWarehouseFeign scmWarehouseFeign; @Override public ResultBean> pagerList(@RequestBody PagerQuery pagerQuery) { ResultBean> rb = ResultBean.fireFail(); @@ -349,7 +352,8 @@ public class BaseVehicleRest implements BaseVehicleFeign { * 单价 对应厂家结算价 */ sf.setFPrice(baseVehicleDto.getCostPrice() + ""); - if (ManPurOrderType.ManOrderType.PC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey()) || ManPurOrderType.ManOrderType.TC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey())) { + if (ManPurOrderType.ManOrderType.PC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey()) || + ManPurOrderType.ManOrderType.TC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey())) { //根据sid查询 BaseManufacturerBank baseManufacturerBank = baseManufacturerBankService.fetchBySid(baseVehicle.getManufSaleAccessSid()); if (baseManufacturerBank != null) { @@ -381,7 +385,11 @@ public class BaseVehicleRest implements BaseVehicleFeign { // 在途仓库 sf.setFStockId("ARZTCK"); } else { - sf.setFStockId(baseVehicleDto.getLocation()); + ResultBean scmWarehouseVoResultBean = scmWarehouseFeign.fetchBySid(baseVehicleDto.getLocation()); + if(scmWarehouseVoResultBean.getSuccess()){ + ScmWarehouseVo data = scmWarehouseVoResultBean.getData(); + sf.setFStockId(data.getGressionCode()); + } } /** diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/push/Push.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/push/Push.java index 7e91bb4d51..3a865524bc 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/push/Push.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/push/Push.java @@ -35,6 +35,12 @@ public class Push { @NotBlank(message = "Numbers不能为空") @JsonProperty("Numbers") private String Numbers; + /** + * 单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录):Numbers (必填项) 单据编码 + */ + @NotBlank(message = "stkInstockId不能为空") + @JsonProperty("stkInstockId") + private String stkInstockId; /** * 分录内码集合,逗号分隔(分录下推时必录),注(按分录下推时,单据内码和编码不需要填,否则按整单下推) 物料编码 为空时整单下推 */ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java index be3618c452..172ef70e0c 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java @@ -54,9 +54,8 @@ public class StkTransferDirect { @NotBlank public String FOwnerOutId;*/ /*调出批号:FLot*/ - /* @JsonProperty("FLot") - @NotBlank - public String FLot;*/ + @JsonProperty("FLot") + public String FLot; /* 调出货主类型:FOwnerTypeOutId (必填项)*/ /*@JsonProperty("FOwnerTypeOutId") @NotBlank @@ -66,9 +65,8 @@ public class StkTransferDirect { @NotBlank public String FBusinessDate;*/ /*调入批号:FDestLot*/ - /* @JsonProperty("FDestLot") - @NotBlank - public String FDestLot;*/ + @JsonProperty("FDestLot") + public String FDestLot; /* 调入货主:FOwnerId (必填项)*/ /* @JsonProperty("FOwnerId") @NotBlank diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java index b2874b4de4..e72ea79c67 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java @@ -123,6 +123,16 @@ public class FinKingDeeService { //2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录) return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Number\\\":\\\""+Numbers+"\\\",\\\"Id\\\":\\\"\\\"}\"}"; } + /** + * 构造查看接口的数据格式 + * @return + */ + public String getGetKDForIds(String formId, String ids) { + //2.1.CreateOrgId:创建者组织内码,字符串类型(非必录) + //2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录) + //2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录) + return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Number\\\":\\\"\\\",\\\"Id\\\":\\\""+ids+"\\\"}\"}"; + } /** * 构造提交接口的数据格式 diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeUtils.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeUtils.java index 8fbe75922d..6bcff6e7d3 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeUtils.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeUtils.java @@ -2,12 +2,14 @@ package com.yxt.anrui.fin.biz.kingdee; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.resource.ResourceUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; import java.io.BufferedReader; import java.io.IOException; import java.nio.charset.Charset; import java.util.Map; - +@Slf4j public class KingDeeUtils { public static String readJsonFileByResource(String filename) { //#传文件的路径 try { @@ -28,7 +30,9 @@ public class KingDeeUtils { return str; } public static String replaceTemplateParams(String template, Map params) { + log.info("params:{}", JSONObject.toJSONString(params)); for (Map.Entry entry : params.entrySet()) { + log.info("entry.getKey():{}",entry.getKey()); log.info("entry.getValue():{}",entry.getValue()); template = template.replace("@KD_"+entry.getKey(),entry.getValue()); } return template; diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java index a4e075a47e..af0d472ca0 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java @@ -73,6 +73,7 @@ public class PushService extends FinKingDeeService { push.setRuleId("STK_InStock-PUR_MRB"); push.setTargetFormId(KingDeeBillId.PUR_MRB.getID()); push.setNumbers(stkInstockNo); + push.setStkInstockId(finStkInstockNumber.getStkInstockId()); String kingDeeData = createKingDeeDate(push); return rb.success().setData(kingDeeData); } @@ -162,7 +163,8 @@ public class PushService extends FinKingDeeService { * @throws Exception */ private JSONArray getStkInStockEntrys(Push push) throws Exception { - String stk = getGetKDForNumbers(KingDeeBillId.STK_INSTOCK.getID(), push.getNumbers()); + //String stk = getGetKDForNumbers(KingDeeBillId.STK_INSTOCK.getID(), push.getNumbers()); + String stk = getGetKDForIds(KingDeeBillId.STK_INSTOCK.getID(), push.getStkInstockId()); ResultBean resultBean = accessKingDeeInterface(KingDeeBillId.STK_INSTOCK.getID(), stk, KingDeeBillUrl.VIEW_URL.getURL()); log.info("stk:{}",stk); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java index 1dd7dce4af..d4a87cbd64 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java @@ -1,5 +1,6 @@ package com.yxt.anrui.fin.biz.kingdee.saloutstock; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; @@ -28,31 +29,31 @@ public class SalOutStockService extends FinKingDeeService { public ResultBean draftSalOutStock(SalOutStock salOutStock) { // salOutStock=SalOutStock.createSalOutStock(); ResultBean rb=ResultBean.fireFail(); - /* List fInStockEntry1 = stkInStock.getFInStockEntry(); - for (StkInStock.FInStockEntry f: fInStockEntry1){ - //单据查看的json模板 - String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId()); - ResultBean kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers, - KingDeeBillUrl.VIEW_URL.getURL()); - log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); - JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); - JSONObject result = (JSONObject)jsonObject.get("Result"); - JSONObject responseStatus = (JSONObject)result.get("ResponseStatus"); - log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); - if(responseStatus!=null){//不存在该物料 - //新增物料 - bdMaterial(stkInStock, f); - }else{ //存在该物料 - //单据查询 - //分配物料 + try { + List fEntity1 = salOutStock.getFEntity(); + for (SalOutStock.FEntity f: fEntity1){ + //单据查看的json模板 + String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialID()); + ResultBean kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers, + KingDeeBillUrl.VIEW_URL.getURL()); + log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); + JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); + JSONObject result = (JSONObject)jsonObject.get("Result"); + JSONObject responseStatus = (JSONObject)result.get("ResponseStatus"); JSONObject result2 = (JSONObject)result.get("Result"); - Integer Id = (Integer)result2.get("Id"); - log.info("Id:{}",Id); - allocate(f,stkInStock,Id); + log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); + log.info("result2:{}",result2); + if(result2==null){ + return rb.setMsg(f.getFMaterialID()+"物料不存在"); + } + JSONArray materialStocks = (JSONArray)result2.get("MaterialStock"); + JSONObject materialStock = (JSONObject)materialStocks.get(0); + boolean IsBatchManage = (boolean) materialStock.get("IsBatchManage"); + if(!IsBatchManage){ + f.setFlot(""); + } } - } -*/ - try { + //业务表的主表数据集合 Map map_fEntityModel_= object2Map(salOutStock); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java index dfe5c28cbc..0e47141c05 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java @@ -51,7 +51,7 @@ public class StkTransferDirectCastToKingDeeBillFields { log.info("FBillEntry_:{}",fBillEntry_); Map params=vehicleList.get(i); Map map_fEntityDetail_=new HashMap<>(); - map_fEntityDetail_.put("FStockOutOrgId",map_fEntityModel_.get("FStockOutOrgId")); + /* map_fEntityDetail_.put("FStockOutOrgId",map_fEntityModel_.get("FStockOutOrgId"));*/ map_fEntityDetail_.put("FStockOrgId",map_fEntityModel_.get("FStockOrgId")); map_fEntityDetail_.put("FDate",map_fEntityModel_.get("FDate")); for (Map.Entry entry : params.entrySet()) { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java index b336b440b8..535a86b856 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java @@ -1,7 +1,10 @@ package com.yxt.anrui.fin.biz.kingdee.stktransferdirect; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; +import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; import com.yxt.common.core.result.ResultBean; @@ -29,6 +32,31 @@ public class StkTransferDirectService extends FinKingDeeService { //业务表的主表数据集合 Map map_fEntityModel_= object2Map(stkTransferDirect); List fBillEntry = stkTransferDirect.getFBillEntry(); + for (StkTransferDirect.FBillEntry f: fBillEntry){ + //单据查看的json模板 + String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId()); + ResultBean kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers, + KingDeeBillUrl.VIEW_URL.getURL()); + log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); + JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); + JSONObject result = (JSONObject)jsonObject.get("Result"); + JSONObject result2 = (JSONObject)result.get("Result"); + log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); + log.info("result2:{}",result2); + if(result2==null){ + return rb.setMsg(f.getFMaterialId()+"物料不存在"); + } + JSONArray materialStocks = (JSONArray)result2.get("MaterialStock"); + JSONObject materialStock = (JSONObject)materialStocks.get(0); + boolean IsBatchManage = (boolean) materialStock.get("IsBatchManage"); + if(!IsBatchManage){//未开启批号管理 + f.setFLot("");//批号 + f.setFDestLot("");//调入批号 + }else{//开启批号管理 + f.setFLot(f.getFMaterialId());//批号 + f.setFDestLot(f.getFMaterialId());//调入批号 + } + } //准备 物料列表的数据 ForEntryBill List> vehicleListMap = createVehicleLists(fBillEntry); String kingDeeData = StkTransferDirectCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json index e3c96ffc18..be2cf6bca7 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json @@ -6,10 +6,10 @@ "FNumber": "liang" }, "FDestLot":{ - "FNumber": "" + "FNumber": "@KD_FDestLot" }, "FLot": { - "FNumber": "" + "FNumber": "@KD_FLot" }, "FQty": 1.0, "FSrcStockId": { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json index 9ded37c3ba..8789f426fc 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json @@ -13,11 +13,11 @@ "FNumber": "" }, "FStockOutOrgId": { - "FNumber": "@KD_FStockOutOrgId" + "FNumber": "@KD_FStockOrgId" }, "FOwnerTypeOutIdHead": "BD_OwnerOrg", "FOwnerOutIdHead": { - "FNumber": "" + "FNumber": "@KD_FStockOrgId" }, "FStockOrgId": { "FNumber": "@KD_FStockOrgId" diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/timer/TimerUtil.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/timer/TimerUtil.java index a8b972062b..46199fb871 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/timer/TimerUtil.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/timer/TimerUtil.java @@ -18,7 +18,7 @@ public class TimerUtil { // 添加定时任务 @Scheduled(cron = "0/2 * * * * ?") // cron表达式:每隔两秒中执行一次 public void doTask2(){ - log.info("我是定时任务doTask2~:{},{}",DateUtil.now(),TimerUtil.class); + // log.info("我是定时任务doTask2~:{},{}",DateUtil.now(),TimerUtil.class); } // 添加定时任务 @Scheduled(cron = "0 59 23 * * ?") // cron表达式:每天晚上23点59分执行一次 diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java index 14b33e19fb..572387b13e 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java @@ -555,41 +555,6 @@ public class ScmApplyInboundService extends MybatisBaseService scmApplyInboundVehicleDtos) { - StkInStock stkInStock=new StkInStock(); - try { - stkInStock.setFPurchaseOrgId("101");//采购组织 - // stkInStock.setFStockOrgId("101");// 收料组织 - stkInStock.setFPurchaseDeptId("05.04");// 采购部门 - stkInStock.setFSupplierId("010001");// 供应商 - stkInStock.setFDate(scmApplyInbound.getApplicationDate()); - // stkInStock.setFOwnerIdHead("101");// 货主 - // stkInStock.setFSettleOrgId("101"); // 结算组织 - stkInStock.setTOrgId("100012"); - List FInStockEntry=new ArrayList<>(); - for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){ - StkInStock.FInStockEntry fise=new StkInStock.FInStockEntry(); - fise.setFMaterialId(s.getVinNo());// 物料编码 - //fise.setFRealQty(1.0);// 实收数量 - //fise.setFPriceUnitQty("1");// 计价数量 - //fise.setFRemainInStockQty(1.0);// 采购数量 - fise.setFLot(s.getVinNo());// 批号 - fise.setFStockId("CK001");// 仓库 - //fise.setFUnitID("liang");// 库存单位 - FInStockEntry.add(fise); - } - stkInStock.setFInStockEntry(FInStockEntry); - }catch (Exception e){ - e.printStackTrace(); - } - return stkInStock; - } /** * 创建物料的信息