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 b9e306483d..f237230ae6 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 @@ -458,6 +458,10 @@ public class BaseAccadjApplyService extends MybatisBaseService优先考虑LNG的类型,然后再是牵引、载货等。 - + /** + * 车辆类型 + */ + sf.setCllxType("03"); /** * // 批号:FLot */ @@ -284,6 +287,10 @@ public class BaseVehicleRest implements BaseVehicleFeign { * 物料分组 */ sf.setWlfz("01"); + /** + * 物料分组 + */ + sf.setWlfzType("01"); fInStockEntry.add(sf); } stkInStock.setFInStockEntry(fInStockEntry); diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java index 7660df213b..ba709426c1 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java @@ -3,10 +3,12 @@ package com.yxt.anrui.fin.api.kingdee; import com.yxt.anrui.fin.api.kingdee.appayable.APPayable; import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill; import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable; +import com.yxt.anrui.fin.api.kingdee.bank.BDBank; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock; import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier; +import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb; @@ -105,4 +107,12 @@ public interface FinKingDeeFeign { @PostMapping("/drafBDStock") @ResponseBody public ResultBean drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception; + @ApiOperation("暂存银行的接口") + @PostMapping("/drafBDBank") + @ResponseBody + public ResultBean drafBDBank(@RequestBody @Valid BDBank bdBank) ; + @ApiOperation("暂存银行账号的接口") + @PostMapping("/drafCNBankacnt") + @ResponseBody + public ResultBean drafCNBankacnt(@RequestBody @Valid CNBankacnt cnBankacnt); } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java index 82d9f79415..89c2b68e6f 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java @@ -3,10 +3,12 @@ package com.yxt.anrui.fin.api.kingdee; import com.yxt.anrui.fin.api.kingdee.appayable.APPayable; import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill; import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable; +import com.yxt.anrui.fin.api.kingdee.bank.BDBank; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock; import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier; +import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb; @@ -98,5 +100,15 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean drafBDBank(BDBank bdBank) { + return null; + } + + @Override + public ResultBean drafCNBankacnt(CNBankacnt cnBankacnt) { + return null; + } + } 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 dcab636d10..3986a5ec5c 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 @@ -13,6 +13,8 @@ public enum KingDeeBillId { BD_CUSTOMER("BD_Customer","客户"), BD_SUPPLIER("BD_Supplier","供应商"), BD_MATERIAL("BD_MATERIAL","物料"), + BD_BANK("BD_BANK","银行"), + CN_BANKACNT("CN_BANKACNT","银行账号"), 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 e3c6291c4e..e51d0e318e 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 @@ -42,7 +42,7 @@ public class ApPayBill { /** * //应付类别:F_PAEZ_AssistantKey (必填项) 默认:005 定金 */ - @JsonProperty("F_PAEZ_Assistant") + @JsonProperty("F_PAEZ_AssistantKey") @NotBlank public String F_PAEZ_AssistantKey; /** @@ -73,7 +73,6 @@ public class ApPayBill { //付款组织:FPAYORGID (必填项) /* public String FPAYORGID ;*/ @JsonProperty("FPAYBILLENTRY") - @NotBlank public List FPAYBILLENTRY=new ArrayList<>(); @Data public static class FPAYBILLENTRY{ diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bank/BDBank.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bank/BDBank.java new file mode 100644 index 0000000000..6f5af7353f --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bank/BDBank.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.fin.api.kingdee.bank; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 银行 + */ +@Data +public class BDBank { + /* 创建组织:FCreateOrgId (必填项)*/ + @NotBlank + @JsonProperty("FCreateOrgId") + public String FCreateOrgId; + /*名称:FName (必填项)*/ + @NotBlank + @JsonProperty("FName") + public String FName; + /* 使用组织:FUseOrgId (必填项)*/ + @NotBlank + @JsonProperty("FUseOrgId") + public String FUseOrgId; + /* :FNumber (必填项)*/ + @NotBlank + @JsonProperty("FNumber") + public String FNumber; +} 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 new file mode 100644 index 0000000000..e5e8779104 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/cnbankcnt/CNBankacnt.java @@ -0,0 +1,33 @@ +package com.yxt.anrui.fin.api.kingdee.cnbankcnt; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * 银行账号 + */ +@Data +public class CNBankacnt { + /*银行账号:FNumber (必填项)*/ + @NotBlank + @JsonProperty("FNumber") + public String FNumber; + /*开户银行:FBANKID (必填项)*/ + @NotBlank + @JsonProperty("FBANKID") + public String FBANKID; + /*账户名称:FName (必填项)*/ + @NotBlank + @JsonProperty("FName") + public String FName; + /*使用组织:FUseOrgId (必填项)*/ + @NotBlank + @JsonProperty("FUseOrgId") + public String FUseOrgId; + /*创建组织:FCreateOrgId (必填项)*/ + @NotBlank + @JsonProperty("FCreateOrgId") + public String FCreateOrgId; +} 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 e3c1c26566..7b76a61b65 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 @@ -85,11 +85,15 @@ public class StkInStock { */ @NotBlank public String wlfz; + @NotBlank + public String wlfzType; /** * 车辆类型 */ @NotBlank public String cllx; + @NotBlank + public String cllxType; /** * // 单价:FPrice */@JsonProperty("FPrice") diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index f62f8639fd..97c1ad42b3 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java @@ -4,10 +4,12 @@ import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.appayable.APPayable; import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill; import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable; +import com.yxt.anrui.fin.api.kingdee.bank.BDBank; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock; import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier; +import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb; @@ -16,10 +18,12 @@ import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService; import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService; +import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService; import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService; import com.yxt.anrui.fin.biz.kingdee.bdmaterial.BdMaterialService; import com.yxt.anrui.fin.biz.kingdee.bdstock.BDStockService; import com.yxt.anrui.fin.biz.kingdee.bdsupplier.BdSupplierService; +import com.yxt.anrui.fin.biz.kingdee.cnbankcnt.CNBankcntService; import com.yxt.anrui.fin.biz.kingdee.orgorganizations.OrgOrganizationsService; import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService; import com.yxt.anrui.fin.biz.kingdee.push.PushService; @@ -106,6 +110,16 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { */ @Autowired private PushService pushService; + /** + * 银行 + */ + @Autowired + private BDBankService bdBankService; + /** + * 银行 + */ + @Autowired + private CNBankcntService cnBankcntService; @ApiOperation("入账暂存应付单的接口") @PostMapping("/draftEntryBill") @ResponseBody @@ -223,5 +237,20 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { public ResultBean drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception { return bDStockService.draftBDStock(bDtStock);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); } + @ApiOperation("暂存银行的接口") + @PostMapping("/drafBDBank") + @ResponseBody + @Override + public ResultBean drafBDBank(BDBank bdBank) { + return bdBankService.draftBDBank(bdBank);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); + } + + @ApiOperation("暂存银行账号的接口") + @PostMapping("/drafCNBankacnt") + @ResponseBody + @Override + public ResultBean drafCNBankacnt(CNBankacnt cNBankacnt) { + return cnBankcntService.draftCNBankcnt(cNBankacnt);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java index 5fb1aaa167..d2ee51d07c 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java @@ -31,56 +31,29 @@ public class ApPayBillService extends FinKingDeeService { //业务表的主表数据集合 Map map_fEntityModel_= object2Map(apPayBill);//createMapParams(stringObjectMap); //应付类别 - String F_PAEZ_AssistantType = map_fEntityModel_.get("F_PAEZ_AssistantType"); - String F_PAEZ_AssistantKey = map_fEntityModel_.get("F_PAEZ_AssistantKey"); - SysMappingInfoQuery smiq=new SysMappingInfoQuery(); - smiq.setMap_sourceKey("CWXT"); - smiq.setMap_object("付款单"); - smiq.setMap_item("应付类别"); - smiq.setDictKey(F_PAEZ_AssistantKey); - smiq.setDictTypeCode(F_PAEZ_AssistantType); - ResultBean sysMappingInfoVoResultBean = sysMappingFeign.selectMappingInfo(smiq); + ResultBean sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "应付类别",map_fEntityModel_.get("F_PAEZ_AssistantKey"), map_fEntityModel_.get("F_PAEZ_AssistantType")); boolean success = sysMappingInfoVoResultBean.getSuccess(); if(!success){ return rb.setMsg(sysMappingInfoVoResultBean.getMsg()); } - String F_PAEZ_Assistant=sysMappingInfoVoResultBean.getData().getMap_itemKey();//TODO 根据应付类别的code,key查询金蝶系统中的应付类别的编码 映射来源“CWXT”/“财务系统” - map_fEntityModel_.put("F_PAEZ_Assistant",F_PAEZ_Assistant); + map_fEntityModel_.put("F_PAEZ_Assistant","001");//sysMappingInfoVoResultBean.getData().getMap_itemKey()); //准备 物料列表的数据 ForEntryBill List fpaybillentrYs = apPayBill.getFPAYBILLENTRY(); List> vehicleListMap = createVehicleLists(fpaybillentrYs); for(int i=0;i params=vehicleListMap.get(i); //付款用途 - String FPURPOSEIDType = params.get("FPURPOSEIDType"); - String FPURPOSEIDKey = params.get("FPURPOSEIDKey"); - smiq=new SysMappingInfoQuery(); - smiq.setMap_sourceKey("CWXT"); - smiq.setMap_object("付款单"); - smiq.setMap_item("付款用途"); - smiq.setDictKey(FPURPOSEIDKey); - smiq.setDictTypeCode(FPURPOSEIDType); - sysMappingInfoVoResultBean = sysMappingFeign.selectMappingInfo(smiq); + sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "付款用途", params.get("FPURPOSEIDKey"), params.get("FPURPOSEIDType")); if(! sysMappingInfoVoResultBean.getSuccess()){ return rb.setMsg(sysMappingInfoVoResultBean.getMsg()); } - String FPURPOSEID=sysMappingInfoVoResultBean.getData().getMap_itemKey();//TODO 根据付款用途的code,key查询金蝶系统中的付款用途的编码 映射来源“CWXT”/“财务系统” - params.put("FPURPOSEID",FPURPOSEID); + params.put("FPURPOSEID","SFKYT08_SYS");//sysMappingInfoVoResultBean.getData().getMap_itemKey()); //结算方式 - String FSETTLETYPEIDType = params.get("FSETTLETYPEIDType"); - String FSETTLETYPEIDKey = params.get("FSETTLETYPEIDKey"); - smiq=new SysMappingInfoQuery(); - smiq.setMap_sourceKey("CWXT"); - smiq.setMap_object("付款单"); - smiq.setMap_item("结算方式"); - smiq.setDictKey(FSETTLETYPEIDKey); - smiq.setDictTypeCode(FSETTLETYPEIDType); - sysMappingInfoVoResultBean = sysMappingFeign.selectMappingInfo(smiq); + sysMappingInfoVoResultBean = getSysMappingInfoVoResultBean( "结算方式", params.get("FSETTLETYPEIDKey"), params.get("FSETTLETYPEIDType")); if(!sysMappingInfoVoResultBean.getSuccess()){ return rb.setMsg(sysMappingInfoVoResultBean.getMsg()); } - String FSETTLETYPEID=sysMappingInfoVoResultBean.getData().getMap_itemKey();//TODO 根据结算方式的code,key查询金蝶系统中的结算方式的编码 映射来源“CWXT”/“财务系统” - params.put("FSETTLETYPEID",FSETTLETYPEID); + params.put("FSETTLETYPEID","02");//sysMappingInfoVoResultBean.getData().getMap_itemKey()); } String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap); return accessKingDeeInterface(KingDeeBillId.AP_PAYBILL.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); @@ -89,4 +62,15 @@ public class ApPayBillService extends FinKingDeeService { } return rb; } + + private ResultBean getSysMappingInfoVoResultBean( String Map_item, String FPURPOSEIDKey, + String FPURPOSEIDType) { + SysMappingInfoQuery smiq =new SysMappingInfoQuery(); + smiq.setMap_sourceKey("CWXT"); + smiq.setMap_object("付款单"); + smiq.setMap_item(Map_item); + smiq.setDictKey(FPURPOSEIDKey); + smiq.setDictTypeCode(FPURPOSEIDType); + return sysMappingFeign.selectMappingInfo(smiq); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.json index f428a0a6cb..7c8d86c62e 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.json +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/data_FPAYBILLENTRY.json @@ -6,10 +6,10 @@ "FNumber": "@KD_FPURPOSEID" }, "FPAYTOTALAMOUNTFOR": @KD_FPAYTOTALAMOUNTFOR, - "FPAYAMOUNTFOR_E": @KD_FPAYAMOUNTFOR_E, - "FSETTLEPAYAMOUNTFOR": @KD_FSETTLEPAYAMOUNTFOR, - "FREALPAYAMOUNTFOR_D": @KD_FREALPAYAMOUNTFOR_D, - "FPAYAMOUNT_E": @KD_FPAYAMOUNT_E, + "FPAYAMOUNTFOR_E": @KD_FPAYTOTALAMOUNTFOR, + "FSETTLEPAYAMOUNTFOR": @KD_FPAYTOTALAMOUNTFOR, + "FREALPAYAMOUNTFOR_D": @KD_FPAYTOTALAMOUNTFOR, + "FPAYAMOUNT_E": @KD_FPAYTOTALAMOUNTFOR, "FACCOUNTID": {"FNumber":"@KD_FACCOUNTID"}, "FPOSTDATE": "@KD_FPOSTDATE", "FRuZhangType": "1", diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankCastToKingDeeBillFields.java new file mode 100644 index 0000000000..672a763b99 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankCastToKingDeeBillFields.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.fin.biz.kingdee.bank; + +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 BDBankCastToKingDeeBillFields { + private static Logger log=LoggerFactory.getLogger(BDBankCastToKingDeeBillFields.class); + /** + * 构造金蝶需要的数据结构 并对字段赋值 + * + * @param map_fEntityModel_ + * @return + */ + public static String getKingDeeData(Map map_fEntityModel_ ){ + /** + * 取模板 + */ + String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data.json"); + String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/data_data.json"); + String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bank/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/bank/BDBankService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java new file mode 100644 index 0000000000..1ec3fd75f9 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/BDBankService.java @@ -0,0 +1,72 @@ +package com.yxt.anrui.fin.biz.kingdee.bank; + +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.biz.kingdee.FinKingDeeService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class BDBankService extends FinKingDeeService { + /** + * 保存银行信息 list + * @param bDBanks + * @return + */ + public ResultBean> draftBDBankList(List bDBanks) { + List list=new ArrayList<>(); + ResultBean rb=ResultBean.fireFail(); + for(BDBank b:bDBanks) { + ResultBean> resultBean = draftBDBank(b); + if (resultBean.getSuccess()) { + list.add(resultBean.getData().get(0)); + } + } + return rb.success().setData(list); + } + /** + * 保存银行信息 + * @param bDBank + * @return + */ + public ResultBean draftBDBank(BDBank bDBank) { + //bdCustomer=BdCustomer.createBdCustomer(); + ResultBean rb=ResultBean.fireFail(); + try { + //业务表的主表数据集合 + Map map_fEntityModel_= object2Map(bDBank); + //准备 物料列表的数据 ForEntryBill + String kingDeeData = BDBankCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); + ResultBean resultBean = accessKingDeeInterface( + KingDeeBillId.BD_BANK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); + + String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_BANK.getID()); + ResultBean resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_BANK.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL()); + if(!resultBean1.getSuccess()){ + log.info("银行提交失败!"); + return rb.setMsg("银行提交失败!"); + } + log.info("银行提交成功!"); + + String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_BANK.getID()); + ResultBean resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_BANK.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/bank/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data.json new file mode 100644 index 0000000000..a195252b83 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data.json @@ -0,0 +1,4 @@ +{ + "formId": "BD_BANK", + "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/bank/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_data.json new file mode 100644 index 0000000000..f8b9dc071d --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/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/bank/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_model.json new file mode 100644 index 0000000000..da6b03d2ed --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/data_model.json @@ -0,0 +1,11 @@ +{ + "FBANKID": 0, + "FName": "@KD_FName", + "FNumber": "@KD_FNumber", + "FCreateOrgId": { + "FNumber": "@KD_FCreateOrgId" + }, + "FUseOrgId": { + "FNumber": "@KD_FUseOrgId" + } +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/remarks.txt new file mode 100644 index 0000000000..198c9d70ee --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/remarks.txt @@ -0,0 +1,59 @@ +一、请求参数说明: +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\":{\"FBANKID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FADDRESS\":\"\",\"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("BD_BANK","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":\"0\",\"FNumber\":\"\",\"FName\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FADDRESS\":\"\",\"FDescription\":\"\"}}"); +} + +五、字段说明: +审核人:FAuditorID +系统预设:FIsSysPreset +银行地址:FADDRESS +禁用人:FForbidderID +禁用日期:FForbidDate +审核日期:FAuditDate +银行:FBankType +联行号:FACNTBRANCHNUMBER +地区名:FACNTAREANAME +地区码:FACNTAREACODE +省:FProvince +城市:FCity +地区:FDistrict +编码:FNumber +描述:FDescription +创建组织:FCreateOrgId (必填项) +数据状态:FDocumentStatus +禁用状态:FForbidStatus +名称:FName (必填项) +使用组织:FUseOrgId (必填项) +修改日期:FModifyDate +生效日期:FStartDate +失效日期:FEndDate +创建人:FCreatorId +修改人:FModifierId +创建日期:FCreateDate \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/webapi测试的数据.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/webapi测试的数据.txt new file mode 100644 index 0000000000..66751f6932 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/webapi测试的数据.txt @@ -0,0 +1 @@ +{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKID\":0,\"FName\":\"mcmcmcmcm\",\"FCreateOrgId\":{\"FNumber\":\"101\"},\"FUseOrgId\":{\"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/bank/银行的参数必填备注.xlsx b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bank/银行的参数必填备注.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/bank/银行的参数必填备注.xlsx differ 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 334951983f..7ed0dc4fec 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 @@ -69,11 +69,11 @@ public class BdMaterialService extends FinKingDeeService { private List getKeyItems() { List params=new ArrayList<>(); params.add(new KeyItem("FCategoryID","存货类别") ); - /* params.add(new KeyItem("FMaterialGroup","物料分组") ); + params.add(new KeyItem("FMaterialGroup","物料分组") ); params.add(new KeyItem("F_PAEZ_Base","车辆类型") ); params.add(new KeyItem("F_PAEZ_Base2","车辆系别") ); params.add(new KeyItem("F_PAEZ_Base3","车辆马力") ); - params.add(new KeyItem("F_PAEZ_Base4","车辆驱动") );*/ + params.add(new KeyItem("F_PAEZ_Base4","车辆驱动") ); return params; } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntCastToKingDeeBillFields.java new file mode 100644 index 0000000000..eae698dc6e --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntCastToKingDeeBillFields.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.fin.biz.kingdee.cnbankcnt; + +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 CNBankcntCastToKingDeeBillFields { + private static Logger log=LoggerFactory.getLogger(CNBankcntCastToKingDeeBillFields.class); + /** + * 构造金蝶需要的数据结构 并对字段赋值 + * + * @param map_fEntityModel_ + * @return + */ + public static String getKingDeeData(Map map_fEntityModel_ ){ + /** + * 取模板 + */ + String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json"); + String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_data.json"); + String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/cnbankcnt/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/cnbankcnt/CNBankcntService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java new file mode 100644 index 0000000000..a5709486c8 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/CNBankcntService.java @@ -0,0 +1,81 @@ +package com.yxt.anrui.fin.biz.kingdee.cnbankcnt; + +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.cnbankcnt.CNBankacnt; +import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class CNBankcntService extends FinKingDeeService { + /** + * 保存银行账号信息 list + * @param cNBankacnts + * @return + */ + public ResultBean> draftCNBankcntList(List cNBankacnts) { + List list=new ArrayList<>(); + ResultBean rb=ResultBean.fireFail(); + for(CNBankacnt b:cNBankacnts) { + ResultBean> resultBean = draftCNBankcnt(b); + if (resultBean.getSuccess()) { + list.add(resultBean.getData().get(0)); + } + } + return rb.success().setData(list); + } + /** + * 保存银行账号信息 + * @param cNBankcnt + * @return + */ + public ResultBean draftCNBankcnt(CNBankacnt cNBankcnt) { + //bdCustomer=BdCustomer.createBdCustomer(); + ResultBean rb=ResultBean.fireFail(); + try { + //业务表的主表数据集合 + Map map_fEntityModel_= object2Map(cNBankcnt); + //准备 物料列表的数据 ForEntryBill + String kingDeeData = CNBankcntCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_); + ResultBean resultBean = accessKingDeeInterface( + KingDeeBillId.CN_BANKACNT.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL()); + + String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.CN_BANKACNT.getID()); + ResultBean resultBean1 = accessKingDeeInterface(KingDeeBillId.CN_BANKACNT.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("银行账号审核成功!"); + /*String allocate = getAllocate(resultBean.getData(),cNBankcnt.getTOrgIds(),KingDeeBillId.BD_MATERIAL.getID()); + ResultBean resultBean3 =accessKingDeeInterface( + KingDeeBillId.CN_BANKACNT.getID(), allocate, + KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate); + if(!resultBean3.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/cnbankcnt/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json new file mode 100644 index 0000000000..118860d9e9 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data.json @@ -0,0 +1,4 @@ +{ + "formId": "CN_BANKACNT", + "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/cnbankcnt/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_data.json new file mode 100644 index 0000000000..f8b9dc071d --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/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/cnbankcnt/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_model.json new file mode 100644 index 0000000000..fcb756e1a6 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/data_model.json @@ -0,0 +1,20 @@ +{ + "FBANKACNTID": 0, + "FCreateOrgId": { + "FNumber": "@KD_FCreateOrgId" + }, + "FNumber": "@KD_FNumber", + "FBANKID": { + "FNumber": "@KD_FBANKID" + }, + "FName": "@KD_FName", + "FUseOrgId": { + "FNumber": "@KD_FUseOrgId" + }, + "FIsCancel": false, + "FIsFundUp": false, + "FISDEFAULTBANK": false, + "FIsSupBank": false, + "FUpType": "1", + "FIsSupBBC": false +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/remarks.txt new file mode 100644 index 0000000000..a5024c2993 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/remarks.txt @@ -0,0 +1,75 @@ +一、请求参数说明: +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\":{\"FBANKACNTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FBANKID\":{\"FNumber\":\"\"},\"FName\":\"\",\"FInOrOut\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FBankType\":{\"FNAME\":\"\"},\"FProvince\":{\"FNAME\":\"\"},\"FCity\":{\"FNAME\":\"\"},\"FDistrict\":{\"FNAME\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FIsCancel\":\"false\",\"FIsFundUp\":\"false\",\"FISDEFAULTBANK\":\"false\",\"FIsSupBank\":\"false\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FDescription\":\"\",\"FSRCBILLID\":\"0\",\"FUpType\":\"\",\"FUpAmount\":\"0\",\"FBaseAmount\":\"0\",\"FMinUpAmount\":\"0\",\"FACCOUNTTYPE\":\"\",\"FLICENSEKEY\":\"\",\"FPUBLICACNT\":{\"FNUMBER\":\"\"},\"FBankServiceLoginId\":\"\",\"FBankServiceLoginDesc\":\"\",\"FIsSupBBC\":\"false\"}} + +三、返回参数: +{\"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("CN_BANKACNT","{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":\"0\",\"FCreateOrgId\":{\"FNumber\":\"\"},\"FNumber\":\"\",\"FBANKID\":{\"FNumber\":\"\"},\"FName\":\"\",\"FInOrOut\":\"\",\"FACNTBRANCHNUMBER\":\"\",\"FBankType\":{\"FNAME\":\"\"},\"FProvince\":{\"FNAME\":\"\"},\"FCity\":{\"FNAME\":\"\"},\"FDistrict\":{\"FNAME\":\"\"},\"FUseOrgId\":{\"FNumber\":\"\"},\"FACNTAREACODE\":\"\",\"FACNTAREANAME\":\"\",\"FIsCancel\":\"false\",\"FIsFundUp\":\"false\",\"FISDEFAULTBANK\":\"false\",\"FIsSupBank\":\"false\",\"FINNERACCOUNTID\":{\"FNUMBER\":\"\"},\"FDescription\":\"\",\"FSRCBILLID\":\"0\",\"FUpType\":\"\",\"FUpAmount\":\"0\",\"FBaseAmount\":\"0\",\"FMinUpAmount\":\"0\",\"FACCOUNTTYPE\":\"\",\"FLICENSEKEY\":\"\",\"FPUBLICACNT\":{\"FNUMBER\":\"\"},\"FBankServiceLoginId\":\"\",\"FBankServiceLoginDesc\":\"\",\"FIsSupBBC\":\"false\"}}"); +} + +五、字段说明: +资金上划:FIsFundUp +内部账户:FINNERACCOUNTID +上划方式:FUpType (必填项) +留底余额:FBaseAmount +上划定额:FUpAmount +省:FProvince +城市:FCity +地区:FDistrict +源单内码:FSRCBILLID +账户收支属性:FInOrOut (必填项) +最小上划金额:FMinUpAmount +登录配置编号:FBankServiceLoginId +对公账号:FPUBLICACNT +银行版本:FBankServiceLoginDesc +支持BBC分销门户显示:FIsSupBBC +币别:FCURRENCYID +支持网银:FIsSupBank +是否销户:FIsCancel +默认账号:FISDEFAULTBANK +授权密码:FLICENSEKEY +账号类型:FACCOUNTTYPE (必填项) +使用组织:FUseOrgId (必填项) +创建组织:FCreateOrgId (必填项) +创建人:FCreatorId +创建日期:FCreateDate +修改人:FModifierId +禁用状态:FForbidStatus +数据状态:FDocumentStatus +账户名称:FName (必填项) +备注:FDescription +银行账号:FNumber (必填项) +修改日期:FModifyDate +禁用日期:FForbidDate +审核人:FApproverId +禁用人:FForbidderID +银行:FBankType +银行地址:FBANKADDRESS +账户地区码:FACNTAREACODE +开户银行联行号:FACNTBRANCHNUMBER +账户地区名:FACNTAREANAME +审核日期:FApproveDate +开户银行:FBANKID (必填项) \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/webapi测试的数据.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/webapi测试的数据.txt new file mode 100644 index 0000000000..41be67a5a5 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/webapi测试的数据.txt @@ -0,0 +1 @@ +{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FBANKACNTID\":0,\"FCreateOrgId\":{\"FNumber\":\"101\"},\"FNumber\":\"11122222\",\"FBANKID\":{\"FNumber\":\"0001\"},\"FName\":\"222211111\",\"FUseOrgId\":{\"FNumber\":\"101\"},\"FIsCancel\":false,\"FIsFundUp\":false,\"FISDEFAULTBANK\":false,\"FIsSupBank\":false,\"FUpType\":\"1\",\"FIsSupBBC\":false}} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/银行的参数必填备注.xlsx b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/cnbankcnt/银行的参数必填备注.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/cnbankcnt/银行的参数必填备注.xlsx differ diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java index 5f031d267a..004600ecc5 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java @@ -98,9 +98,9 @@ public class STKInStockService extends FinKingDeeService { BdMaterial bdMaterial=new BdMaterial(); bdMaterial.setFName(f.getFMaterialId()); bdMaterial.setF_PAEZ_BaseKey(f.getCllx()); - bdMaterial.setF_PAEZ_BaseType(f.getCllx()); + bdMaterial.setF_PAEZ_BaseType(f.getCllxType()); bdMaterial.setFMaterialGroupKey(f.getWlfz()); - bdMaterial.setFMaterialGroupType(f.getWlfz()); + bdMaterial.setFMaterialGroupType(f.getWlfzType()); bdMaterial.setTOrgIds(stkInStock.getTOrgId()); List list=new ArrayList<>(); list.add(bdMaterial); diff --git a/anrui-timertask/src/main/java/com/yxt/anrui/timertask/feign/entity/BdMaterial.java b/anrui-timertask/src/main/java/com/yxt/anrui/timertask/feign/entity/BdMaterial.java new file mode 100644 index 0000000000..a870d17c98 --- /dev/null +++ b/anrui-timertask/src/main/java/com/yxt/anrui/timertask/feign/entity/BdMaterial.java @@ -0,0 +1,80 @@ +package com.yxt.anrui.timertask.feign.entity; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + + +/** + * 物料 + */ +@Data +public class BdMaterial { + /** + * 目标组织:TOrgId + */ + @JsonProperty("TOrgIds") + private String TOrgIds; + /** + *创建组织:FCreateOrgId (必填项) + */ + // @JsonProperty("FCreateOrgId") + // private String FCreateOrgId; + /** + *使用组织:FUseOrgId (必填项) + */ + // @JsonProperty("FUseOrgId") + // private String FUseOrgId; + /** + *名称:FName (必填项) + */ + @JsonProperty("FName") + private String FName; + /** + *物料分组:FMaterialGroup (必填项) + */ + @JsonProperty("FMaterialGroup") + private String FMaterialGroup; + + /** + *车辆类型:F_PAEZ_Base (必填项) + */ + @JsonProperty("F_PAEZ_Base") + private String F_PAEZ_Base; + /** + *存货类别:FCategoryID (必填项) + */ + /* @NotBlank(message = "存货类别:FCategoryID ") + @JsonProperty("FCategoryID") + private String FCategoryID="CHLB01_SYS";*/ + private final static BdMaterial bdMaterial = new BdMaterial(); + static { + /** + *物料分组:FMaterialGroup (必填项) + */ + // bdMaterial.setFMaterialGroup("01"); + /** + *名称:FName (必填项) + */ + // bdMaterial.setFName("物料名称1911"); + /** + *使用组织:FUseOrgId (必填项) + */ + // bdMaterial.setFUseOrgId("100"); + /** + *创建组织:FCreateOrgId (必填项) + */ + // bdMaterial.setFCreateOrgId("100"); + /** + * 目标组织:TOrgId + */ + // bdMaterial.setTOrgIds("101"); + /** + * 车辆类型:F_PAEZ_Base (必填项) + */ + bdMaterial.setF_PAEZ_Base("02"); + } + public static BdMaterial createBdMaterial() { + return bdMaterial; + } + +}