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 96218d3fcf..87f6e8e9a5 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 @@ -14,6 +14,7 @@ import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier; import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult; import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.api.kingdee.cnrecpaypurpose.CNRecpaypurpose; +import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; @@ -181,6 +182,11 @@ public interface FinKingDeeFeign { @ResponseBody ResultBean pushOtherReceivableBill(@RequestBody @Valid CapitalCreditResult creditResult); + @ApiOperation("保存成本调整单") + @PostMapping("/pushCostAdjustmentsBill") + @ResponseBody + ResultBean pushCostAdjustmentsBill(@RequestBody @Valid CostAdjustmentsBill costAdjustmentsBill); + @ApiOperation("暂存付款单的接口") @PostMapping("/draftArReceivebill") 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 6f9254608f..3267d88598 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 @@ -14,6 +14,7 @@ import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier; import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult; import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.api.kingdee.cnrecpaypurpose.CNRecpaypurpose; +import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb; @@ -153,6 +154,11 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean pushCostAdjustmentsBill(@Valid CostAdjustmentsBill costAdjustmentsBill) { + return null; + } + @Override public ResultBean draftArReceivebill(ARReceivebill arReceivebill) { 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 b71026b52b..b4504e7494 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 @@ -7,6 +7,7 @@ public enum KingDeeBillId { GL_VOUCHER("GL_VOUCHER", "凭证"), AP_PAYBILL("AP_PAYBILL", "付款单"), SAL_RETURNSTOCK("SAL_RETURNSTOCK","销售退货单"), + HS_AdjustmentBill("HS_AdjustmentBill","成本调整单"), AR_RECEIVEBILL("AR_RECEIVEBILL", "收款单"), STK_INSTOCK("STK_InStock", "采购入库单"), PUR_MRB("PUR_MRB", "采购退料单"), diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/costadjustmentsbill/CostAdjustmentsBill.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/costadjustmentsbill/CostAdjustmentsBill.java new file mode 100644 index 0000000000..4118de8614 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/costadjustmentsbill/CostAdjustmentsBill.java @@ -0,0 +1,40 @@ +package com.yxt.anrui.fin.api.kingdee.costadjustmentsbill; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/9/12 18:13 + */ +@Data +public class CostAdjustmentsBill { + + + @ApiModelProperty("往来单位/供应商编码") + public String commUnit; + @ApiModelProperty("核算组织/分公司编码") + public String useOrgCode; + @ApiModelProperty("业务日期") + public String bussDate; + @ApiModelProperty("单据明细") + public List resultDetails; + + @Data + public static class CostAdjustmentsBillDetailDto implements Dto { + + + @ApiModelProperty("分公司编码") + public String companyCode; + @ApiModelProperty("物料编码") + public String materialID; + @ApiModelProperty("调整金额") + public String amount; + @ApiModelProperty("部门编码") + public String deptCode; + } +} 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 fcf8a77ef7..87cc790b3a 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 @@ -17,6 +17,7 @@ import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier; import com.yxt.anrui.fin.api.kingdee.capitalcreditresult.CapitalCreditResult; import com.yxt.anrui.fin.api.kingdee.cnbankcnt.CNBankacnt; import com.yxt.anrui.fin.api.kingdee.cnrecpaypurpose.CNRecpaypurpose; +import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; import com.yxt.anrui.fin.api.kingdee.kingdeeUtils.KingDeeOrgAndDeptCode; import com.yxt.anrui.fin.api.kingdee.kingdeeUtils.KingDeeUtils; import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations; @@ -28,8 +29,8 @@ import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock; import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; import com.yxt.anrui.fin.api.kingdee.voucher.*; -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.appaybill.ApPayBillService; import com.yxt.anrui.fin.biz.kingdee.arreceivebill.ArReceivebillService; import com.yxt.anrui.fin.biz.kingdee.bank.BDBankService; import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService; @@ -41,6 +42,7 @@ import com.yxt.anrui.fin.biz.kingdee.bdsupplier.BdSupplierService; import com.yxt.anrui.fin.biz.kingdee.capitalcreditresult.OtherReceivableBillCreditResultService; import com.yxt.anrui.fin.biz.kingdee.cnbankcnt.CNBankcntService; import com.yxt.anrui.fin.biz.kingdee.cnrecpaypurpose.CNRecpaypurposeService; +import com.yxt.anrui.fin.biz.kingdee.costadjustmentsbill.CostAdjustmentsBillService; import com.yxt.anrui.fin.biz.kingdee.orgorganizations.OrgOrganizationsService; import com.yxt.anrui.fin.biz.kingdee.otherreceivablebill.OtherReceivableBillService; import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService; @@ -67,7 +69,9 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; @Api(tags = "单据调用金蝶的暂存接口") @RestController("com.yxt.anrui.fin.biz.kingdee.FinKingDeeFeignRest") @@ -75,6 +79,8 @@ import java.util.*; @Slf4j public class FinKingDeeFeignRest implements FinKingDeeFeign { + @Autowired + private CostAdjustmentsBillService costAdjustmentsBillService; /** * 应付单service */ @@ -1574,6 +1580,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { return creditResultService.pushOtherReceivableBill(creditResult); } + @Override + public ResultBean pushCostAdjustmentsBill(@Valid CostAdjustmentsBill costAdjustmentsBill) { + log.info("FinKingDeeFeignRest-pushOtherReceivableBill:{}", JSONObject.toJSONString(costAdjustmentsBill)); + return costAdjustmentsBillService.costAdjustmentsBillService(costAdjustmentsBill); + } + @Override public ResultBean draftSalesReturnOrders(SalesReturn salesReturn) { log.info("FinKingDeeFeignRest-draftSalesReturnOrders:{}", JSONObject.toJSONString(salesReturn)); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/CostAdjustmentsBillCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/CostAdjustmentsBillCastToKingDeeBillFields.java new file mode 100644 index 0000000000..4273e8c1e1 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/CostAdjustmentsBillCastToKingDeeBillFields.java @@ -0,0 +1,59 @@ +package com.yxt.anrui.fin.biz.kingdee.costadjustmentsbill; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; +import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 封装转换的类 + */ +public class CostAdjustmentsBillCastToKingDeeBillFields { + /** + * 构造金蝶需要的数据结构 并对字段赋值 + * + * @param map_fEntityModel_ + * @param vehicleList + * @return + */ + public static String getKingDeeData(Map map_fEntityModel_, List> vehicleList) { + /** + * 取模板 + */ + String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data.json"); + String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_data.json"); + String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json"); + + //模板字符创转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); + + List list_fEntity_ = new ArrayList<>(); + + //对模板字段赋值 根据传递进来的map数据的集合进行赋值 + for (int i = 0; i < vehicleList.size(); i++) { + String fEntity_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json"); + Map params = vehicleList.get(i); + Map map_fEntity_ = new HashMap<>(); + for (Map.Entry entry : params.entrySet()) { + map_fEntity_.put(entry.getKey(), entry.getValue()); + } + fEntity_ = KingDeeUtils.replaceTemplateParams(fEntity_, map_fEntity_); + list_fEntity_.add(JSONObject.parseObject(fEntity_, Feature.OrderedField)); + } + + jsonFEntityModel_.put("FEntity", JSONArray.parseArray(JSON.toJSONString(list_fEntity_))); + 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/costadjustmentsbill/CostAdjustmentsBillService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/CostAdjustmentsBillService.java new file mode 100644 index 0000000000..6a27f8004f --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/CostAdjustmentsBillService.java @@ -0,0 +1,87 @@ +package com.yxt.anrui.fin.biz.kingdee.costadjustmentsbill; + +import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; +import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; +import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; +import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class CostAdjustmentsBillService extends FinKingDeeService { + + /** + * 生成的成本调整单的数据,推送到金蝶的平台中 + * + * @param costAdjustmentsBill + * @return + */ + public ResultBean costAdjustmentsBillService(CostAdjustmentsBill costAdjustmentsBill) { + ResultBean rb = ResultBean.fireFail(); + //业务表的主表数据集合 + Map map_fEntityModel_ = new HashMap<>(); + + //往来单位 + if (StringUtils.isBlank(costAdjustmentsBill.getCommUnit())) { + return rb.setMsg("往来单位不能为空"); + } + map_fEntityModel_.put("FSUPPLIERID", costAdjustmentsBill.getCommUnit()); + //业务日期 + if (StringUtils.isBlank(costAdjustmentsBill.getBussDate())) { + return rb.setMsg("业务日期不能为空"); + } + map_fEntityModel_.put("FDate", costAdjustmentsBill.getBussDate()); + //核算组织 + if (StringUtils.isBlank(costAdjustmentsBill.getUseOrgCode())) { + return rb.setMsg("核算组织不能为空"); + } + map_fEntityModel_.put("FAcctOrgID", costAdjustmentsBill.getUseOrgCode()); + + List costAdjustmentsBillDetailDtos = costAdjustmentsBill.getResultDetails() == null ? new ArrayList<>() : costAdjustmentsBill.getResultDetails(); + //准备 物料列表的数据 + ResultBean>> vehicleListMap = createVehicleListsForReceivableBill(costAdjustmentsBillDetailDtos); + if (!vehicleListMap.getSuccess()) { + return rb.setMsg(vehicleListMap.getMsg()); + } + String kingDeeData = CostAdjustmentsBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData()); + try { + ResultBean resultBean1 = accessKingDeeInterface(KingDeeBillId.HS_AdjustmentBill.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL()); + if (!resultBean1.getSuccess()) { + log.info("成本调整单保存失败!"); + return rb.setMsg("成本调整单保存失败!"); + } + log.info("成本调整单保存成功!"); + } catch (Exception e) { + e.printStackTrace(); + } + return rb; + } + + public ResultBean>> createVehicleListsForReceivableBill(List collectionDetails) { + ResultBean>> rb = ResultBean.fireFail(); + List> collectionDetailMap = new ArrayList<>(); + for (int i = 0; i < collectionDetails.size(); i++) { + CostAdjustmentsBill.CostAdjustmentsBillDetailDto c = collectionDetails.get(i); + Map m = new HashMap<>(); + if (StringUtils.isBlank(c.getCompanyCode())) { + return rb.setMsg("库存组织不能为空"); + } + if (StringUtils.isBlank(c.getMaterialID())) { + return rb.setMsg("物料编码不能为空"); + } + m.put("FStockOrgID", c.getCompanyCode()); + m.put("FOwnerID", c.getCompanyCode()); + m.put("FMaterialID", c.getMaterialID()); + m.put("FDepartmentId", c.getDeptCode()); + m.put("FAdjustmentAMOUNT", c.getAmount()); + collectionDetailMap.add(m); + } + return rb.success().setData(collectionDetailMap); + } +} diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data.json new file mode 100644 index 0000000000..3886bfdee1 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data.json @@ -0,0 +1,4 @@ +{ + "formId": "HS_AdjustmentBill", + "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/costadjustmentsbill/data_FEntity.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json new file mode 100644 index 0000000000..5b53ea7288 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_FEntity.json @@ -0,0 +1,116 @@ +{ + "FEntryID": "0", + "FStockOrgID": { + "FNumber": "@KD_FStockOrgID" + }, + "FMaterialID": { + "FNumber": "@KD_FMaterialID" + }, + "FAuxPropId": { + "FAUXPROPID__FF100001": { + "FNumber": "" + }, + "FAUXPROPID__FF100005": { + "FNumber": "" + }, + "FAUXPROPID__FF100002": { + "FNumber": "" + }, + "FAUXPROPID__FF100004": { + "FNumber": "" + }, + "FAUXPROPID__FF100006": { + "FNumber": "" + } + }, + "FLOT": { + "FNumber": "" + }, + "FBOMId": { + "FNumber": "" + }, + "FSTOCKSTATUSID": { + "FNumber": "KCZT01_SYS" + }, + "FAdjustmentAMOUNT": "@KD_FAdjustmentAMOUNT", + "FAdjustmentAMOUNTFor": "0", + "FStockID": { + "FNumber": "ARZSCK" + }, + "FOwnerID": { + "FNumber": "@KD_FOwnerID" + }, + "FSTOCKLOCID": { + "FSTOCKLOCID__FF100001": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100002": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100003": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100004": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100005": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100006": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100007": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100008": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100009": { + "FNumber": "" + }, + "FSTOCKLOCID__FF100010": { + "FNumber": "" + } + }, + "FAcctgRangeID": { + "FNumber": "" + }, + "FMtoNo": "", + "FSeqId": "", + "FPROJECTNO": "", + "FOwnerTypeId": "", + "FPrice": "0", + "FSeqEntryId": "0", + "FInvoiceRateType": { + "FNumber": "" + }, + "FStockRateType": { + "FNumber": "" + }, + "FOriginalCurrencyId": { + "FNumber": "" + }, + "FStockRate": "0", + "FInvoiceRate": "0", + "FRateDiff": "0", + "FPriceDiff": "0", + "FQty": "0", + "FCostCenterID": { + "FNumber": "" + }, + "FSRCSEQ": "0", + "FSRCBILLNO": "", + "FSRCBILLTYPEID": { + "FNumber": "" + }, + "FDepartmentId": { + "FNUMBER": "@KD_FDepartmentId" + }, + "FExpense": [{ + "FExpenseEntryID": "0", + "FExpenseID": { + "FNumber": "" + }, + "FExpenseAmount": "0" + }] +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/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/costadjustmentsbill/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/costadjustmentsbill/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json new file mode 100644 index 0000000000..26bbaace5f --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/data_model.json @@ -0,0 +1,38 @@ +{ + "FID": "0", + "FBillTypeID": { + "FNUMBER": "CGRKTZD01_SYS" + }, + "FBillNo": "", + "FBusinessType": "1", + "FSUPPLIERID": { + "FNumber": "@KD_FSUPPLIERID" + }, + "FDate": "@KD_FDATE", + "FACCTGSYSTEMID": { + "FNumber": "01" + }, + "FAcctOrgID": { + "FNumber": "@KD_FAcctOrgID" + }, + "FACCTPOLICYID": { + "FNumber": "KJZC01_SYS" + }, + "FCurrencyID": { + "FNumber": "" + }, + "FAdjustmentReason": "", + "FAcctgId": "0", + "FDocumentStatus": "", + "FCreateOrgId": { + "FNumber": "" + }, + "FCreatorId": { + "FUserID": "" + }, + "FInOutIndex": "", + "F_PAEZ_Assistant": { + "FNumber": "01" + }, + "FEntity": [] +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/remarks.txt new file mode 100644 index 0000000000..d941438b45 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/costadjustmentsbill/remarks.txt @@ -0,0 +1,97 @@ +一、请求参数说明: +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类型(必录) + +字段说明: +来源单据号:FSRCBILLNO +原单分录内码:FSRCEntryID +来源单据行号:FSRCSEQ +原单内码:FSRCBILLID +成本中心:FCostCenterID +数量:FQty +来源单据类别:FSRCBILLTYPEID +汇率差异:FRateDiff +入库单汇率类型:FStockRateType +发票汇率类型:FInvoiceRateType +价格差异:FPriceDiff +原币币别:FOriginalCurrencyId +采购入库单汇率:FStockRate +应付单汇率:FInvoiceRate +存货类别:FMaterialType +出入库序列:FInOutIndex (必填项) +来源类型:FFROMTYPE +成本调整类型:F_PAEZ_Assistant +期初类型:FINITTYPE +物料编码:FMaterialID (必填项) +物料名称:FMaterialName +规格型号:FMaterialModel +仓库名称:FStockName +核算范围编码:FAcctgRangeID +核算范围:FAcctgRangeName +仓库:FStockID (必填项) +核算维度Id:FAcctgDimeEntryId +FSeqEntryId:FSeqEntryId +应付单编号:FInvoiceBillNo +维度ID:FDimeentryId +库存状态:FSTOCKSTATUSID (必填项) +单价:FPrice +跨期调整:FCrossPeriodAdjust +费用项目:FExpenseID +费用项目名称:FExpenseName +金额:FExpenseAmount +部门:FDepartmentId +应付单行号:FInvoiceSeq +应付单单据类型:FInvoiceBillTypeId +钩稽序号:FHookLogID +批号:FLOT +货主名称:FOwnerName +调整金额(原币):FAdjustmentAMOUNTFor +BOM版本:FBOMId +调整金额:FAdjustmentAMOUNT +货主:FOwnerID (必填项) +库存组织:FStockOrgID (必填项) +库存组织名称:FStockOrgName +仓位:FSTOCKLOCID +货主类型:FOwnerTypeId +辅助属性:FAuxPropId +基本单位:FBASICUNITID +计划跟踪号:FMtoNo +项目编号:FPROJECTNO +序列号:FSeqId +修改日期:FModifyDate +创建人:FCreatorId +审核人:FAuditorID +审核日期:FAuditDate +创建日期:FCreateDate +创建组织:FCreateOrgId (必填项) +单据状态:FDocumentStatus (必填项) +币别:FCurrencyID +业务日期:FDate +单据编号:FBillNo +核算体系名称:FACCTGSYSTEMNAME +核算体系编码:FACCTGSYSTEMID (必填项) +往来单位:FSUPPLIERID +会计政策名称:FACCTPOLICYNAME +是否为出库核算生成:FIsAcctgGenerate +核算内码:FAcctgId +会计政策编码:FACCTPOLICYID (必填项) +调整原因:FAdjustmentReason +修改人:FModifierId +作废人:FForbidderID +作废状态:FForbidStatus +作废日期:FForbidDate +核算组织名称:FAcctOrgName +核算组织编码:FAcctOrgID (必填项) +业务类型:FBusinessType +单据类型:FBillTypeID \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java index c26f7c9441..bcd1cb3bf5 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java @@ -37,6 +37,7 @@ import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeig import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; @@ -478,8 +479,12 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService voucherDetails = new ArrayList<>(); + CostAdjustmentsBill costAdjustmentsBill = new CostAdjustmentsBill(); + costAdjustmentsBill.setBussDate(format); + List resultDetails = new ArrayList<>(); if (!v.isEmpty()) { for (ScmVehRebate rebate : v) { + String useOrgCode = ""; String deptCode = ""; //采购系统部门编码 String salesDeptCode = ""; //销售部门编码 String customerCode = ""; //出库单客户编码 @@ -493,6 +498,7 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService voucherDetails = new ArrayList<>(); + CostAdjustmentsBill costAdjustmentsBill = new CostAdjustmentsBill(); + costAdjustmentsBill.setBussDate(format); + List resultDetails = new ArrayList<>(); if (!v.isEmpty()) { for (ScmVehRebate rebate : v) { + String useOrgCode = ""; + String vinCode = ""; + String deptCode = ""; + if (StringUtils.isNotBlank(rebate.getUseOrgSid())) { + String useOrgSid = rebate.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); + costAdjustmentsBill.setUseOrgCode(organizationVo.getOrgCode()); + useOrgCode = organizationVo.getOrgCode(); + } + } if (!rebate.getRebateTypeValue().equals("金融贴息")) { GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); - if (StringUtils.isNotBlank(rebate.getUseOrgSid())) { - String useOrgSid = rebate.getUseOrgSid(); - SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); - if (null != organizationVo) { - generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); - } - } voucherDetail.setTimeFlag(finalSummaryTag); String palceGenDate = rebate.getPalceGenDate(); String[] palceGenDateSplit = palceGenDate.split("-"); @@ -443,12 +452,15 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService