diff --git a/ServiceSite/facade/src/main/java/com/seasky/flowportal/dto/extendData/ExtendFieldCmd.java b/ServiceSite/facade/src/main/java/com/seasky/flowportal/dto/extendData/ExtendFieldCmd.java index e450e75e4b2fc7d307e16b2acbb08c2542e9c520..f130370ed6e8aff3f874f1b02f742e006fc248d4 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/flowportal/dto/extendData/ExtendFieldCmd.java +++ b/ServiceSite/facade/src/main/java/com/seasky/flowportal/dto/extendData/ExtendFieldCmd.java @@ -3,6 +3,7 @@ package com.seasky.flowportal.dto.extendData; import com.alibaba.fastjson.JSONObject; import com.seasky.flowportal.dto.bidding.BiddingContractInfoCmd; import com.seasky.flowportal.dto.fapiao.FapiaoHistoryCmd; +import com.seasky.flowportal.dto.kingDee.KingDeeCommonNewExpenseBillByTypeRequest; import com.seasky.flowportal.dto.user.ApproverUserInfoCmd; import com.seasky.flowportal.dto.userContainingVerification.UserContainingVerificationCmd; import io.swagger.annotations.ApiModelProperty; @@ -275,6 +276,10 @@ public class ExtendFieldCmd implements Serializable { @ApiModelProperty(value = "椤圭洰鎶ラ攢閲戦") private List<BigDecimal> projectAmountList = new ArrayList<>(); + /**缃戞姤鍗曞鎺ラ噾铦朵俊鎭�*/ + @ApiModelProperty(value = "缃戞姤鍗曞鎺ラ噾铦朵俊鎭�") + KingDeeCommonNewExpenseBillByTypeRequest claimsOrderInfo; + /**闇€瑕侀€夋嫨鐨勫姞绛句汉0*/ @ApiModelProperty(value = "闇€瑕侀€夋嫨鐨勫姞绛句汉0") private List<ApproverUserInfoCmd> approverUser0 = new ArrayList<>(); diff --git a/ServiceSite/src/main/java/com/seasky/flowportal/service/ExternalDataService.java b/ServiceSite/src/main/java/com/seasky/flowportal/service/ExternalDataService.java index 19632c7494e8fde361b1f9f6a057a3dbd1c75919..e985e07794d0f10bb850fed30df32097bb7683b2 100644 --- a/ServiceSite/src/main/java/com/seasky/flowportal/service/ExternalDataService.java +++ b/ServiceSite/src/main/java/com/seasky/flowportal/service/ExternalDataService.java @@ -241,6 +241,8 @@ public interface ExternalDataService { public String commonNewExpenseBillByType(Long instanceId, String orderCode); + public String commonNewExpenseBillByType(Long instanceId, KingDeeCommonNewExpenseBillByTypeRequest claimsOrderInfo); + public String addSalaryBill(Long instanceId, String orderCode); public String updateSeaSkyFiAuditResult(ApplyOut applyOut); public String updateSeaSkyFiAuditResult(Long instanceId, String orderCode, String orderType, String approvalOpinion); diff --git a/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/ExternalDataServiceImpl.java b/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/ExternalDataServiceImpl.java index bcd08fe5572beeddb10916953a0227e70796bad5..9bdabf2bb129ceefd0f1054ba12e09ae87130bc8 100644 --- a/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/ExternalDataServiceImpl.java +++ b/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/ExternalDataServiceImpl.java @@ -1790,6 +1790,12 @@ public abstract class ExternalDataServiceImpl implements ExternalDataService { public String commonNewExpenseBillByType(Long instanceId, String orderCode) { instanceId = ObjectUtils.isNotEmpty(instanceId) ? instanceId : BaseInOutUtil.verifyInstanceId(); KingDeeCommonNewExpenseBillByTypeRequest data = queryClaimsOrderInfo(instanceId, orderCode); + return commonNewExpenseBillByType(instanceId, data); + } + @Override + @SneakyThrows + public String commonNewExpenseBillByType(Long instanceId, KingDeeCommonNewExpenseBillByTypeRequest data) { + instanceId = ObjectUtils.isNotEmpty(instanceId) ? instanceId : BaseInOutUtil.verifyInstanceId(); String token = getKingDeeToken(instanceId); Map<String, String> headerMap = new HashMap<String, String>() {{ // put("Authorization",String.format("Bearer %s", token)); diff --git a/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/FlowServiceKingDeeImpl.java b/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/FlowServiceKingDeeImpl.java index db25eb80ca9bc0360474400c0f46e4b4011e36d5..6bf13b945c157bbe943e2db033a0cc312d308523 100644 --- a/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/FlowServiceKingDeeImpl.java +++ b/ServiceSite/src/main/java/com/seasky/flowportal/service/impl/FlowServiceKingDeeImpl.java @@ -5,7 +5,9 @@ import com.seasky.flowportal.domain.po.ApprovalPo; import com.seasky.flowportal.dto.apply.ApplyListOut; import com.seasky.flowportal.dto.apply.ApplyOut; import com.seasky.flowportal.dto.approval.ApprovalQuery; +import com.seasky.flowportal.dto.extendData.ExtendFieldCmd; import com.seasky.flowportal.dto.flow.FlowCmd; +import com.seasky.flowportal.dto.kingDee.KingDeeCommonNewExpenseBillByTypeRequest; import com.seasky.flowportal.enums.OrderTypesEnum; import com.seasky.flowportal.service.FlowService; import com.seasky.flowportal.utils.ApprovalUtil; @@ -32,8 +34,14 @@ public class FlowServiceKingDeeImpl extends FlowService { throw ExceptionUtil.getException(null, "鏍规嵁鎶ラ攢鍗曞彿鏈煡璇㈠埌鍗曟嵁"); String billId = null; String orderType = po.getOrderType(); - if (OrderTypesEnum.isOnlineReimbursement(orderType)) - billId = ExternalDataUtil.INSTANCE.commonNewExpenseBillByType(instanceId, orderCode); + if (OrderTypesEnum.isOnlineReimbursement(orderType)) { + ExtendFieldCmd extendFieldCmd = ExtendFieldCmd.convert(po.getExtendField()); + KingDeeCommonNewExpenseBillByTypeRequest claimsOrderInfo = ObjectUtils.isEmpty(extendFieldCmd) ? null : extendFieldCmd.getClaimsOrderInfo(); + if (ObjectUtils.isEmpty(claimsOrderInfo)) + throw ExceptionUtil.getException(null, "鏈煡璇㈠埌缃戞姤鍗曞鎺ラ噾铦朵俊鎭�"); + billId = ExternalDataUtil.INSTANCE.commonNewExpenseBillByType(instanceId, claimsOrderInfo); +// billId = ExternalDataUtil.INSTANCE.commonNewExpenseBillByType(instanceId, orderCode); + } else if (OrderTypesEnum.isSalary(orderType)) billId = ExternalDataUtil.INSTANCE.addSalaryBill(instanceId, orderCode); return billId;