diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/ActualAndOrgDeptDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/ActualAndOrgDeptDto.java new file mode 100644 index 0000000000..aa837a9d2d --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/ActualAndOrgDeptDto.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.base.api.busvehicleorder; + +import lombok.Data; + +/** + * 采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路 + */ +@Data +public class ActualAndOrgDeptDto { + //厂家销售通路sid + private String actualSid; + //厂家销售通路 + private String actualPay; + //采购系统(部门) + private String orgDeptName; + //采购系统(部门)sid + private String orgDeptSid; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java index 60d162a378..f97312ab19 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java @@ -36,6 +36,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; +import java.util.Map; /** * Project: anrui-base(车型信息)
@@ -78,7 +79,6 @@ public interface BusVehicleOrderFeign { @ApiOperation("根据sid查询车辆采购订单") @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); - /** * pc端排产车型列表(改) * 2022/3/31 @@ -115,4 +115,7 @@ public interface BusVehicleOrderFeign { @ApiOperation("手机端销售订单选择采购订单列表") @GetMapping("/getAppReadyCar/{modelSid}/{configSid}") public ResultBean> getAppReadyCar(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid); + @ApiOperation("查询采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路") + @GetMapping("/getActualAndOrgDept/{vehicleOrderSid}") + public ResultBean getActualAndOrgDept(@PathVariable("vehicleOrderSid") String vehicleOrderSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java index aa1bc90ea3..48ac50e9da 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java @@ -32,6 +32,7 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; /** * Project: anrui-base(车型信息)
@@ -107,4 +108,10 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign { return null; } + @Override + public ResultBean getActualAndOrgDept(String vehicleOrderSid) { + return null; + } + + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java index ec3e8ceb14..af9732c674 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclebrand/BaseVehicleBrandService.java @@ -216,8 +216,6 @@ public class BaseVehicleBrandService extends MybatisBaseService @@ -62,7 +67,10 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign { @Autowired private BusVehicleOrderService busVehicleOrderService; - + @Autowired + private BusVehicleApplyService busVehicleApplyService; + @Autowired + private BusVehicleApplyDetailService busVehicleApplyDetailService; @Override public ResultBean> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); @@ -193,4 +201,21 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign { return new ResultBean>().success().setData(list); } + @Override + public ResultBean getActualAndOrgDept(String vehicleOrderSid) { + ResultBean rb = ResultBean.fireFail(); + BusVehicleOrderVo vo = busVehicleOrderService.selectBySid(vehicleOrderSid); + if (vo == null) { + return rb; + } + BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyService.fetchAllBySid(vo.getPurchaseRequisitionSid()); + BusVehicleApplyDetail busVehicleApplyDetail = busVehicleApplyDetailService.fetchBySid(vo.getPurchaseApplyMediumModelSid()); + ActualAndOrgDeptDto actualAndOrgDeptDto = new ActualAndOrgDeptDto(); + actualAndOrgDeptDto.setOrgDeptSid(busVehicleApplyDetailsVo.getOrgDeptSid()); + actualAndOrgDeptDto.setOrgDeptName(busVehicleApplyDetailsVo.getOrgDeptName()); + actualAndOrgDeptDto.setActualPay(busVehicleApplyDetail.getActualPay()); + actualAndOrgDeptDto.setActualSid(busVehicleApplyDetail.getActualSid()); + return rb.success().setData(actualAndOrgDeptDto); + } + } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java index 3986a5ec5c..fb3af89930 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java @@ -15,6 +15,7 @@ public enum KingDeeBillId { BD_MATERIAL("BD_MATERIAL","物料"), BD_BANK("BD_BANK","银行"), CN_BANKACNT("CN_BANKACNT","银行账号"), + PAEZ_CLLX("PAEZ_CLLX","车辆类型"), BD_STOCK("BD_STOCK","仓库"); private String ID; private String NAME; diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java index e51d0e318e..0e152db0e8 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java @@ -49,7 +49,7 @@ public class ApPayBill { * //备注:FREMARK */ @JsonProperty("FREMARK") - public String FREMARK; + public String FREMARK=""; /* @JsonProperty("FCONTACTUNITTYPE") @NotBlank //往来单位类型:FCONTACTUNITTYPE (必填项) diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java index b4d2376c16..e818acea51 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java @@ -28,7 +28,7 @@ public class BdCustomer { * 备注 */ @JsonProperty("FDescription") - public String FDescription; + public String FDescription=""; public final static BdCustomer bdCustomer = new BdCustomer(); static { /* 创建组织:FCreateOrgId (必填项)*/ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java index e9a49109a0..6a2408b98c 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java @@ -51,6 +51,9 @@ public class BdMaterial { @NotBlank(message = "车辆类型:F_PAEZ_BaseKey ") @JsonProperty("F_PAEZ_BaseKey") public String F_PAEZ_BaseKey; + @NotBlank(message = "车辆类型:F_PAEZ_BaseName ") + @JsonProperty("F_PAEZ_BaseName") + public String F_PAEZ_BaseName; @NotBlank(message = "车辆系别:F_PAEZ_Base2Type ") @JsonProperty("F_PAEZ_Base2Type") public String F_PAEZ_Base2Type; @@ -73,7 +76,7 @@ public class BdMaterial { * 备注描述 */ @JsonProperty("FDescription") - public String FDescription; + public String FDescription=""; /** *创建组织:FCreateOrgId (必填项) */ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdstock/BDStock.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdstock/BDStock.java index 211c4c7289..d865dfa633 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdstock/BDStock.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdstock/BDStock.java @@ -34,7 +34,7 @@ public class BDStock implements Serializable { * 备注 */ @JsonProperty("FStockProperty") - private String FStockProperty; + private String FStockProperty=""; /** * 分配的分公司的id:TOrgIds (必填项) */ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java index e5e8779104..a89934db14 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java @@ -18,6 +18,10 @@ public class CNBankacnt { @NotBlank @JsonProperty("FBANKID") public String FBANKID; + /*银行名称:bankName (必填项)*/ + @NotBlank + @JsonProperty("bankName") + public String bankName; /*账户名称:FName (必填项)*/ @NotBlank @JsonProperty("FName") diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/orgorganizations/OrgOrganizations.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/orgorganizations/OrgOrganizations.java index f754a780c5..9ba9237e44 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/orgorganizations/OrgOrganizations.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/orgorganizations/OrgOrganizations.java @@ -24,7 +24,7 @@ public class OrgOrganizations { public String FOrgFormID; /*描述:FDescription*/ @JsonProperty("FDescription") - public String FDescription; + public String FDescription=""; public final static OrgOrganizations orgOrganizations = new OrgOrganizations(); static { /*名称:FName (必填项)*/ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/paezcllx/PaezCllx.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/paezcllx/PaezCllx.java new file mode 100644 index 0000000000..640ad8b940 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/paezcllx/PaezCllx.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.fin.api.kingdee.paezcllx; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 车辆类型 + */ +@Data +public class PaezCllx { + /** + * 使用组织:FUseOrgId (必填项) + */ + @JsonProperty("FUseOrgId") + @NotBlank + public String FUseOrgId; + /** + * 创建组织:FCreateOrgId (必填项) + */ + @JsonProperty("FCreateOrgId") + @NotBlank + public String FCreateOrgId; + /** + * 类型名称:FName (必填项) + */ + @JsonProperty("FName") + @NotBlank + public String FName; + /** + * 类型编码:FNumber (必填项) + */ + @JsonProperty("FNumber") + @NotBlank + public String FNumber; +} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java index 05ec75e94b..f10325fcef 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/saloutstock/SalOutStock.java @@ -148,7 +148,7 @@ public class SalOutStock { */ @JsonProperty("FEntrynote") @NotBlank - public String FEntrynote; + public String FEntrynote=""; } public final static SalOutStock salOutStock = new SalOutStock(); diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java index 7b76a61b65..0398cfa4fa 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/stkinstock/StkInStock.java @@ -144,7 +144,7 @@ public class StkInStock { * 备注 */ @JsonProperty("FNote") - public String FNote; + public String FNote=""; } public final static StkInStock stkInStock = new StkInStock(); 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 acb2a7a170..4adade621f 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 @@ -110,7 +110,7 @@ public class StkTransferDirect { * 备注 */ @JsonProperty("FNote") - public String FNote; + public String FNote=""; /* 调拨类型:FTransferBizType (必填项)*/ /*@JsonProperty("FTransferBizType") @NotBlank diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java index 7ed0dc4fec..81b5a81955 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java @@ -5,14 +5,19 @@ 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.KingDeeCode; +import com.yxt.anrui.fin.api.kingdee.bank.BDBank; import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; +import com.yxt.anrui.fin.api.kingdee.paezcllx.PaezCllx; import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig; +import com.yxt.anrui.fin.biz.kingdee.paezcllx.PaezCllxService; +import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; import com.yxt.anrui.portal.api.sysmapping.SysMappingInfoQueryBatch; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.result.ResultBean; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -25,6 +30,8 @@ import java.util.Map; @Service public class BdMaterialService extends FinKingDeeService { private static Logger log= LoggerFactory.getLogger(BdMaterialService.class); + @Autowired + private PaezCllxService paezCllxService; /** * 批量暂存物料 list * @param bdMaterials @@ -127,6 +134,22 @@ public class BdMaterialService extends FinKingDeeService { ResultBean rb=ResultBean.fireFail(); String kingDeeData = BdMaterialCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); try { + //车辆类型 + String F_PAEZ_Base = map_fEntityModel_.get("F_PAEZ_Base"); + JSONObject result = view(F_PAEZ_Base); + log.info(JSONObject.toJSONString(result)); + Object result1 = result.get("Result"); + if(result1==null){ + PaezCllx p=new PaezCllx(); + String TOrgIds = map_fEntityModel_.get("TOrgIds"); + p.setFUseOrgId(TOrgIds); + p.setFCreateOrgId(TOrgIds); + String F_PAEZ_BaseName = map_fEntityModel_.get("F_PAEZ_BaseName"); + p.setFName(F_PAEZ_BaseName); + String F_PAEZ_BaseKey = map_fEntityModel_.get("F_PAEZ_BaseKey"); + p.setFNumber(F_PAEZ_BaseKey); + paezCllxService.draftPaezCllx(p); + } ResultBean draft = draft(kingDeeData); String data = draft.getData(); ResultBean submit = submitAuditAllocate(data); @@ -293,7 +316,7 @@ public class BdMaterialService extends FinKingDeeService { */ public ResultBean unAudit(BdMaterial bdMaterial) throws Exception { ResultBean rb=ResultBean.fireFail(); - JSONObject result = view(bdMaterial); + JSONObject result = view(bdMaterial.getOldFName()); JSONObject responseStatus = (JSONObject)result.get("ResponseStatus"); if(responseStatus!=null){//不存在该物料 //新增物料 return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg()); @@ -312,12 +335,12 @@ public class BdMaterialService extends FinKingDeeService { /** * 查看物料 - * @param bdMaterial + * @param oldFName * @return * @throws Exception */ - private JSONObject view(BdMaterial bdMaterial) throws Exception { - String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), bdMaterial.getOldFName()); + private JSONObject view(String oldFName) throws Exception { + String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), oldFName); ResultBean kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers, KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.VIEW_URL.getURL()); log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java index a5709486c8..155376eb8b 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java @@ -1,12 +1,17 @@ package com.yxt.anrui.fin.biz.kingdee.cnbankcnt; +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.KingDeeResult; import com.yxt.anrui.fin.api.kingdee.bank.BDBank; +import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; +import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig; +import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService; import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -15,6 +20,8 @@ import java.util.Map; @Service public class CNBankcntService extends FinKingDeeService { + @Autowired + private BDBankService bdBankService; /** * 保存银行账号信息 list * @param cNBankacnts @@ -40,10 +47,24 @@ public class CNBankcntService extends FinKingDeeService { //bdCustomer=BdCustomer.createBdCustomer(); ResultBean rb=ResultBean.fireFail(); try { + //银行 + String fbankid = cNBankcnt.getFBANKID(); + JSONObject result = view(fbankid); + log.info(JSONObject.toJSONString(result)); + Object result1 = result.get("Result"); + if(result1==null){ + BDBank b=new BDBank(); + b.setFName(cNBankcnt.getBankName()); + b.setFNumber(cNBankcnt.getFBANKID()); + b.setFCreateOrgId(cNBankcnt.getFCreateOrgId()); + b.setFUseOrgId(cNBankcnt.getFUseOrgId()); + bdBankService.draftBDBank(b); + } //业务表的主表数据集合 Map map_fEntityModel_= object2Map(cNBankcnt); //准备 物料列表的数据 ForEntryBill String kingDeeData = CNBankcntCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); + ResultBean resultBean = accessKingDeeInterface( KingDeeBillId.CN_BANKACNT.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); @@ -77,5 +98,19 @@ public class CNBankcntService extends FinKingDeeService { } return rb; } - + /** + * 查看物料 + * @param bankName + * @return + * @throws Exception + */ + private JSONObject view(String bankName) throws Exception { + String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_BANK.getID(), bankName); + ResultBean kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), getKDForNumbers, + KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.VIEW_URL.getURL()); + log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData()); + JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString()); + JSONObject result = (JSONObject)jsonObject.get("Result"); + return result; + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxCastToKingDeeBillFields.java new file mode 100644 index 0000000000..9a74186888 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxCastToKingDeeBillFields.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.fin.biz.kingdee.paezcllx; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; +import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; + +/** + * 封装转换的类 + */ +public class PaezCllxCastToKingDeeBillFields { + private static Logger log=LoggerFactory.getLogger(PaezCllxCastToKingDeeBillFields.class); + /** + * 构造金蝶需要的数据结构 并对字段赋值 + * + * @param map_fEntityModel_ + * @return + */ + public static String getKingDeeData(Map map_fEntityModel_ ){ + /** + * 取模板 + */ + String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data.json"); + String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data_data.json"); + String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/paezcllx/data_model.json"); + log.info("readJsonFile:{}",readJsonFile); + log.info("fEntityData_:{}",fEntityData_); + log.info("fEntityModel_:{}",fEntityModel_); + + //模板字符创转json + JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField); + JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField); + fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_); + JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField); + + jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField)); + jsonObj.put("data",jsonFEntityData_.toJSONString()); + return jsonObj.toJSONString(); + } +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxService.java new file mode 100644 index 0000000000..d2daf6d01f --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/PaezCllxService.java @@ -0,0 +1,74 @@ +package com.yxt.anrui.fin.biz.kingdee.paezcllx; + +import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; +import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; +import com.yxt.anrui.fin.api.kingdee.KingDeeResult; +import com.yxt.anrui.fin.api.kingdee.paezcllx.PaezCllx; +import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; +import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class PaezCllxService extends FinKingDeeService { + /** + * 保存车辆类型信息 list + * @param paezCllx + * @return + */ + public ResultBean> draftPaezCllxList(List paezCllx) { + List list=new ArrayList<>(); + ResultBean rb=ResultBean.fireFail(); + for(PaezCllx p:paezCllx) { + ResultBean> resultBean = draftPaezCllx(p); + if (resultBean.getSuccess()) { + list.add(resultBean.getData().get(0)); + } + } + return rb.success().setData(list); + } + /** + * 保存车辆类型信息 + * @param paezCllx + * @return + */ + public ResultBean draftPaezCllx(PaezCllx paezCllx) { + //bdCustomer=BdCustomer.createBdCustomer(); + ResultBean rb=ResultBean.fireFail(); + try { + //业务表的主表数据集合 + Map map_fEntityModel_= object2Map(paezCllx); + //准备 物料列表的数据 ForEntryBill + String kingDeeData = PaezCllxCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); + + ResultBean resultBean = accessKingDeeInterface( + KingDeeBillId.PAEZ_CLLX.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); + + String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.PAEZ_CLLX.getID()); + ResultBean resultBean1 = accessKingDeeInterface(KingDeeBillId.PAEZ_CLLX.getID(), + submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); + if(!resultBean1.getSuccess()){ + log.info("车辆类型提交失败!"); + return rb.setMsg("车辆类型提交失败!"); + } + log.info("车辆类型提交成功!"); + + String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); + ResultBean resultBean2 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL()); + if(!resultBean2.getSuccess()){ + log.info("车辆类型审核失败!"); + return rb.setMsg("车辆类型审核失败!"); + } + log.info("车辆类型审核成功!"); + return resultBean; + } catch (Exception e) { + e.printStackTrace(); + } + return rb; + } +} diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data.json new file mode 100644 index 0000000000..95b627170f --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data.json @@ -0,0 +1,4 @@ +{ + "formId": "PAEZ_CLLX", + "data": "@KD_data" +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data_data.json new file mode 100644 index 0000000000..8a1e182ff3 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data_data.json @@ -0,0 +1,13 @@ +{ + "Creator": "", + "NeedUpDateFields": [], + "NeedReturnFields": [], + "IsDeleteEntry": "True", + "SubSystemId": "", + "IsVerifyBaseDataField": "false", + "IsEntryBatchFill": "True", + "ValidateFlag": "True", + "NumberSearch": "True", + "InterationFlags": "", + "Model":{} +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data_model.json new file mode 100644 index 0000000000..b755f5f120 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/data_model.json @@ -0,0 +1,11 @@ +{ + "FContactId": 0, + "FNumber": "@KD_FNumber", + "FName": "@KD_FName", + "FUseOrgId": { + "FNumber": "@KD_FUseOrgId" + }, + "FCreateOrgId": { + "FNumber": "@KD_FCreateOrgId" + } +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/remarks.txt new file mode 100644 index 0000000000..ad870050cf --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/remarks.txt @@ -0,0 +1,44 @@ +一、请求参数说明: +1.formid:业务对象表单Id,字符串类型(必录) +2.data:Json格式数据(详情参考Json格式数据)(必录) + 2.1.Creator:创建者内码(非必录) + 2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key) + 2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key) + 2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录) + 2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录) + 2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录) + 2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录) + 2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录) + 2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录) + 2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult) + 2.11.Model:表单数据包,Json类型(必录) + +二、Json格式数据: +{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FCreateOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\"}} + +三、返回参数: +{\"Result\":{\"ResponseStatus\":{\"ErrorCode\":\"\",\"IsSuccess\":\"false\",\"Errors\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}],\"SuccessEntitys\":[{\"Id\":\"\",\"Number\":\"\",\"DIndex\":0}],\"SuccessMessages\":[{\"FieldName\":\"\",\"Message\":\"\",\"DIndex\":0}]},\"Id\":\"\",\"NeedReturnData\":[{}]}} + +四、代码示例: +// 使用webapi引用组件Kingdee.BOS.WebApi.Client.dll +K3CloudApiClient client = new K3CloudApiClient("http://121.36.43.55/k3cloud/"); +var ret = client.ValidateLogin("61dce6601125a0","Administrator","888888",2052); +var result = JObject.Parse(ret)["LoginResultType"].Value(); +// 登陆成功 +if (result == 1) +{ + client.Draft("PAEZ_CLLX","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FUseOrgId\":{\"FNumber\":\"\"},\"FCreateOrgId\":{\"FNumber\":\"\"},\"FDescription\":\"\"}}"); +} + +五、字段说明: +创建人:FCreatorId +使用组织:FUseOrgId (必填项) +修改人:FModifierId +修改日期:FModifyDate +创建日期:FCreateDate +创建组织:FCreateOrgId (必填项) +禁用状态:FForbidStatus +数据状态:FDocumentStatus +类型名称:FName (必填项) +描述:FDescription +类型编码:FNumber (必填项) \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/webapi测试的数据.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/webapi测试的数据.txt new file mode 100644 index 0000000000..51b61e1180 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/webapi测试的数据.txt @@ -0,0 +1 @@ +{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FContactId\":0,\"FNumber\":\"21\",\"FName\":\"2121\",\"FUseOrgId\":{\"FNumber\":\"101\"},\"FCreateOrgId\":{\"FNumber\":\"101\"}}} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/车辆类型的参数必填备注.xlsx b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/车辆类型的参数必填备注.xlsx new file mode 100644 index 0000000000..092a3f6641 Binary files /dev/null and b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/paezcllx/车辆类型的参数必填备注.xlsx differ 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 d945f76719..26d76c25bf 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 @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.base.api.busvehicleorder.ActualAndOrgDeptDto; import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign; import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderVo; import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; @@ -481,14 +482,26 @@ public class ScmApplyInboundService extends MybatisBaseService scmApplyInboundVehicleDtos) { List baseVehicleDtos=new ArrayList<>(); + //获取车辆对应的采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路 + ResultBean actualAndOrgDept = busVehicleOrderFeign.getActualAndOrgDept(booad.getVehicleOrderSid()); + ActualAndOrgDeptDto aaodd = actualAndOrgDept.getData(); + if(!actualAndOrgDept.getSuccess()||aaodd==null){ + return; + } for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){ //车辆台账推送数据 BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); - BusVehicleOrderVo busVehicleOrderVo = busVehicleOrderFeign.fetchBySid(booad.getVehicleOrderSid()).getData(); - /*baseVehicleDto.setPurchaseSystemSid(); - baseVehicleDto.setPurchaseSystemName(); - baseVehicleDto.setManufSaleAccessSid(); - baseVehicleDto.setManufSaleAccessName();*/ + /* BusVehicleOrderVo busVehicleOrderVo = busVehicleOrderFeign.fetchBySid(booad.getVehicleOrderSid()).getData(); + //排产/采购申请sid + String purchaseRequisitionSid = busVehicleOrderVo.getPurchaseRequisitionSid();*/ + // //采购系统(部门)sid + baseVehicleDto.setPurchaseSystemSid(aaodd.getOrgDeptSid()); + //采购系统(部门) + baseVehicleDto.setPurchaseSystemName(aaodd.getOrgDeptName()); + //厂家销售通路sid + baseVehicleDto.setManufSaleAccessSid(aaodd.getActualSid()); + //厂家销售通路 + baseVehicleDto.setManufSaleAccessName(aaodd.getActualPay()); baseVehicleDto.setVinNo(s.getVinNo()); baseVehicleDto.setModelSid(booad.getModelSid()); baseVehicleDto.setModelName(booad.getModelName()); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java index 13b77db897..92b8301734 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java @@ -239,16 +239,7 @@ public class ScmVehicleReturnService extends MybatisBaseService baseVehicleDtos = new ArrayList<>(); - for (ScmVehicleReturnDetailsDto scmVehicleReturnDetailsDto : detailsList) { - BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); - baseVehicleDto.setVinNo(scmVehicleReturnDetailsDto.getVinNo()); - baseVehicleDto.setUseOrgSid(scmVehicleReturnDto.getCreateOrgSid()); - baseVehicleDto.setVehicleState(VehicleState.StockEnum.RETURNING_STOCK.getCode()); - baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.RETURNING_STOCK.getRemarks()); - baseVehicleDtos.add(baseVehicleDto); - } - baseVehicleFeign.saveOrUpdate(baseVehicleDtos, OperVehicleState.EventType.UPDATE_VEHICLE.getCode()); + updateVehicleState(detailsList, scmVehicleReturnDto); //极光推送 ScmVehicleReturn scmVehicleReturn = fetchBySid(businessSid); MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); @@ -285,21 +276,13 @@ public class ScmVehicleReturnService extends MybatisBaseService resultBean1 = flowableFeign.startProcess(bv); UpdateFlowFieldVo uff = resultBean1.getData(); updateFlowFiled(BeanUtil.beanToMap(uff)); - List baseVehicleDtos = new ArrayList<>(); - for (ScmVehicleReturnDetailsDto scmVehicleReturnDetailsDto : detailsList) { - BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); - baseVehicleDto.setVinNo(scmVehicleReturnDetailsDto.getVinNo()); - baseVehicleDto.setUseOrgSid(booad.getCreateOrgSid()); - baseVehicleDto.setVehicleState(VehicleState.StockEnum.RETURNING_STOCK.getCode()); - baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.RETURNING_STOCK.getRemarks()); - baseVehicleDtos.add(baseVehicleDto); - } - baseVehicleFeign.saveOrUpdate(baseVehicleDtos, OperVehicleState.EventType.UPDATE_VEHICLE.getCode()); //极光推送 ScmVehicleReturn scmVehicleReturn = fetchBySid(businessSid); MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); @@ -315,6 +298,7 @@ public class ScmVehicleReturnService extends MybatisBaseService detailsList, ScmVehicleReturnDto booad) { + List baseVehicleDtos = new ArrayList<>(); + for (ScmVehicleReturnDetailsDto scmVehicleReturnDetailsDto : detailsList) { + BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); + baseVehicleDto.setVinNo(scmVehicleReturnDetailsDto.getVinNo()); + baseVehicleDto.setUseOrgSid(booad.getCreateOrgSid()); + baseVehicleDto.setVehicleState(VehicleState.StockEnum.RETURNING_STOCK.getCode()); + baseVehicleDto.setVehicleStateValue(VehicleState.StockEnum.RETURNING_STOCK.getRemarks()); + baseVehicleDtos.add(baseVehicleDto); + } + baseVehicleFeign.saveOrUpdate(baseVehicleDtos, OperVehicleState.EventType.UPDATE_VEHICLE.getCode()); + } + /** * 办理流程 *