Browse Source

完善财务对接

master
yxt_djz 3 years ago
parent
commit
a0230295c6
  1. 86
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  2. 14
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  3. 6
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/push/Push.java
  4. 10
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stktransferdirect/StkTransferDirect.java
  5. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  6. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeUtils.java
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/push/PushService.java
  8. 47
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java
  9. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectCastToKingDeeBillFields.java
  10. 28
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java
  11. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_FBillEntry.json
  12. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/data_model.json
  13. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/timer/TimerUtil.java
  14. 35
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

86
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<BaseAccadjApplyMa
private BaseVehicleService baseVehicleService;
@Resource
private FinKingDeeFeign finKingDeeFeign;
@Resource
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private ScmWarehouseFeign scmWarehouseFeign;
@Autowired
private BaseVehicleBrandService baseVehicleBrandService;
private QueryWrapper<BaseAccadjApply> 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<BaseAccadjApplyMa
/**
* // 采购部门:FPurchaseDeptId (必填项)
*/
/*ResultBean<SysOrganizationVo> 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<SysOrganizationVo> 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<BaseAccadjApplyMa
/**
* 车辆类型
*/
sf.setCllx("03");
sf.setCllx("03");//TODO
/**
* 车辆类型
*/
@ -473,11 +499,22 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
/**
* // 仓库:FStockId
*/
sf.setFStockId("CK001");
ResultBean<ScmWarehouseVo> 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<BaseAccadjApplyMa
/**
* 销售组织:FSaleOrgId (必填项)
*/
salOutStock.setFSaleOrgId("101");
//分公司id
ResultBean<SysOrganizationVo> 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<BaseAccadjApplyMa
/**
* 销售部门:FSaleDeptID (必填项)
*/
salOutStock.setFSaleDeptID("05.04");
//销售部门id
ResultBean<SysOrganizationVo> 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<BaseAccadjApplyMa
/**
* 仓库:FStockID
*/
fe.setFStockID("CK001");
//fe.setFStockID(baseInternalPurchaseVehicle.getInventoryLocationSid());
ResultBean<ScmWarehouseVo> voResultBean = scmWarehouseFeign.fetchBySid(baseInternalPurchaseVehicle.getInventoryLocationSid());
if(voResultBean.getSuccess()){
fe.setFStockID(voResultBean.getData().getGressionCode());
// fe.setFStockID("CK001");
//fe.setFStockID(baseInternalPurchaseVehicle.getInventoryLocationSid());
}
/**
* 库存状态:FStockStatusID
*/

14
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<PagerVo<BaseVehicleVo>> pagerList(@RequestBody PagerQuery<BaseVehicleQuery> pagerQuery) {
ResultBean<PagerVo<BaseVehicleVo>> 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<ScmWarehouseVo> scmWarehouseVoResultBean = scmWarehouseFeign.fetchBySid(baseVehicleDto.getLocation());
if(scmWarehouseVoResultBean.getSuccess()){
ScmWarehouseVo data = scmWarehouseVoResultBean.getData();
sf.setFStockId(data.getGressionCode());
}
}
/**

6
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;
/**
* 分录内码集合逗号分隔分录下推时必录按分录下推时单据内码和编码不需要填,否则按整单下推 物料编码 为空时整单下推
*/

10
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

10
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+"\\\"}\"}";
}
/**
* 构造提交接口的数据格式

6
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<String, String> params) {
log.info("params:{}", JSONObject.toJSONString(params));
for (Map.Entry<String, String> 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;

4
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<String> resultBean = accessKingDeeInterface(KingDeeBillId.STK_INSTOCK.getID(),
stk, KingDeeBillUrl.VIEW_URL.getURL());
log.info("stk:{}",stk);

47
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<StkInStock.FInStockEntry> fInStockEntry1 = stkInStock.getFInStockEntry();
for (StkInStock.FInStockEntry f: fInStockEntry1){
//单据查看的json模板
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId());
ResultBean<String> 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<SalOutStock.FEntity> fEntity1 = salOutStock.getFEntity();
for (SalOutStock.FEntity f: fEntity1){
//单据查看的json模板
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialID());
ResultBean<String> 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<String,String> map_fEntityModel_= object2Map(salOutStock);

2
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<String,String> params=vehicleList.get(i);
Map<String,String> 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<String, String> entry : params.entrySet()) {

28
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<String,String> map_fEntityModel_= object2Map(stkTransferDirect);
List<StkTransferDirect.FBillEntry> fBillEntry = stkTransferDirect.getFBillEntry();
for (StkTransferDirect.FBillEntry f: fBillEntry){
//单据查看的json模板
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId());
ResultBean<String> 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<Map<String, String>> vehicleListMap = createVehicleLists(fBillEntry);
String kingDeeData = StkTransferDirectCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);

4
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": {

4
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"

2
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分执行一次

35
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<ScmApplyInboundMa
}
scmVehinspectItemService.saveItem(list);
}
/**
* 创建采购入库单
* @param scmApplyInbound
* @param scmApplyInboundVehicleDtos
* @return
*/
private StkInStock createStkInStock(ScmApplyInbound scmApplyInbound, List<ScmApplyInboundVehicleDto> 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<StkInStock.FInStockEntry> 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;
}
/**
* 创建物料的信息

Loading…
Cancel
Save