From bfbeb058b692cde7c857ab103464f215e90ede01 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 31 Aug 2023 14:32:29 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/loansolutions/SolutionDetailsDto.java | 1 + .../LoanFinOtherPolicyMapper.xml | 2 +- .../loansolutions/LoanSolutionsService.java | 47 ++++++++++++++++--- .../risk/solutions/OtherPolicyExtraVo.java | 5 ++ 4 files changed, 48 insertions(+), 7 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java index 2ad326c290..d15cd432dc 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/SolutionDetailsDto.java @@ -94,6 +94,7 @@ public class SolutionDetailsDto implements Dto { private String otherPolicyInterest; @ApiModelProperty("其它融年利率") private String otherPolicyYearRatio; + private String otherPolicySid; @ApiModelProperty("'融资首付") private String loanDownPay; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml index 7eed1d6d02..300367e696 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml @@ -36,7 +36,7 @@ select vinNo @@ -18,7 +19,7 @@ select count(*) from base_vehicle where (vehicleStateValue <> '库存' - or vehicleStateValue <> '调入') + or vehicleStateValue <> '调入') and isProblemVeh <> '0' and sid = #{vinSid} @@ -100,7 +101,7 @@ bo.trailerOrInstallDealPrice, bo.totalDealPrice from base_vehicle_out bo - left join base_vehicle_out_apply ba on ba.sid = bo.mainSid + left join base_vehicle_out_apply ba on ba.sid = bo.mainSid where bo.sid = #{sid} @@ -116,7 +117,7 @@ from base_vehicle_out_apply where billNo LIKE concat(#{billNo}, '%') order by billNo desc - limit 1 + limit 1 @@ -235,4 +236,20 @@ ${ew.sqlSegment} + + + + UPDATE base_vehicle_out + SET isDelete = 1 + WHERE vinSid = #{vinSid} + AND mainSid = #{mainSid} + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java index f5a9daf364..16645ad19d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java @@ -123,4 +123,16 @@ public class BaseVehicleOutRest implements BaseVehicleOutFeign { public ResultBean ctxsckd(String xsckdSid) { return baseVehicleOutService.ctxsckd(xsckdSid); } + + @Override + public ResultBean selectByVehReturn(String vinSid, String contractNo) { + return baseVehicleOutService.selectByVehReturn(vinSid,contractNo); + } + + @Override + public ResultBean deleteByVehReturn(String vinSid, String mainSid) { + return baseVehicleOutService.deleteByVehReturn(vinSid,mainSid); + } + + } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java index cbc243a8ea..514f18bc06 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java @@ -65,6 +65,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; @@ -1009,10 +1010,10 @@ public class BaseVehicleOutService extends MybatisBaseService flowRecordVo = flowableFeignPro.flowRecordAndComment(appDeliveredDetailsVo.getProcInstId(), "1").getData(); - if (flowRecordVo != null){ + if (flowRecordVo != null) { for (PCHistTaskListAndCommentList flowTask : flowRecordVo) { if (flowTask.getFlowableRecordVo() != null) { Map flowableRecordVo = flowTask.getFlowableRecordVo(); @@ -2071,7 +2072,7 @@ public class BaseVehicleOutService extends MybatisBaseService selectByVehReturn(String vinSid, String contractNo) { + ResultBean rb = ResultBean.fireFail(); + BaseSalesReturnVo vo = baseMapper.selectByVehReturn(vinSid, contractNo); + return rb.success().setData(vo); + } } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrders.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrders.java new file mode 100644 index 0000000000..ed0439b012 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrders.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.buscenter.api.bussalesreturnorders; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/31 11:52 + */ +@Data +@TableName("bus_sales_return_orders") +public class BusSalesReturnOrders extends BaseEntity { + + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车辆sid") + private String vinSid; + @ApiModelProperty("客户编码") + private String customerNo; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("物料编码") + private String materialCode; + @ApiModelProperty("应退数量") + private String mustQty; + @ApiModelProperty("实退数量") + private String realQty; + @ApiModelProperty("销售组织编码") + private String saleOrgId; + @ApiModelProperty("是否赠品") + private String isFree; + @ApiModelProperty("组织全路径") + private String orgSidPath; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersDto.java new file mode 100644 index 0000000000..7a2eb4859e --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersDto.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.buscenter.api.bussalesreturnorders; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/31 16:28 + */ +@Data +public class BusSalesReturnOrdersDto implements Dto { + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("车辆sid") + private String vinSid; + @ApiModelProperty("客户编码") + private String customerNo; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("物料编码") + private String materialCode; + @ApiModelProperty("应退数量") + private String mustQty; + @ApiModelProperty("实退数量") + private String realQty; + @ApiModelProperty("销售组织编码") + private String saleOrgId; + @ApiModelProperty("是否赠品") + private String isFree; + @ApiModelProperty("组织全路径") + private String orgSidPath; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersFeign.java new file mode 100644 index 0000000000..69882f33cf --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersFeign.java @@ -0,0 +1,71 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesreturnorders; + +import com.yxt.anrui.buscenter.api.bussealapply.*; +import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandoverDto; +import com.yxt.anrui.buscenter.api.flow.FlowTaskVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.Map; + +/** + * Project: bus_seal_apply(盖章申请管理)
+ * File: BusSealApplyFeign.java
+ * Class: com.yxt.anrui.buscenter.api.bussealapply.BusSealApplyFeign
+ * Description: 盖章申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-24 13:45:23
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "销售退货单表") +@FeignClient( + contextId = "anrui-buscenter-BusSalesReturnOrders", + name = "anrui-buscenter", + path = "v1/bussalesreturnorders", + fallback = BusSealApplyFeignFallback.class) +public interface BusSalesReturnOrdersFeign { + + @ApiOperation("新增") + @PostMapping("/saveReturnOrders") + @ResponseBody + public ResultBean saveReturnOrders(@RequestBody BusSalesReturnOrdersDto dto); + + + +} \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersFeignFallback.java new file mode 100644 index 0000000000..da60cc4abd --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesreturnorders/BusSalesReturnOrdersFeignFallback.java @@ -0,0 +1,57 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesreturnorders; + + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderVehicleFeignFallback.java
+ * Class: com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeignFallback
+ * Description: 销售订单-车辆信息.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class BusSalesReturnOrdersFeignFallback implements BusSalesReturnOrdersFeign { + + + @Override + public ResultBean saveReturnOrders(BusSalesReturnOrdersDto dto) { + return null; + } +} \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java index 096cb5c5c6..bd9c296452 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java @@ -37,6 +37,8 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateFeign; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo; +import com.yxt.anrui.base.api.basevehicleout.BaseSalesReturnVo; +import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutFeign; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum; @@ -60,9 +62,12 @@ import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.flow.GetNodeVo; import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.flow.SubmitBusSalesOrderReturnVehApplyDto; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrders; +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersDto; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesorderreturnveh.BusSalesOrderReturnVehService; import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; +import com.yxt.anrui.buscenter.biz.bussalesreturnorders.BusSalesReturnOrdersService; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; @@ -71,6 +76,8 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedRec import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.StateQuery; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowFeign; @@ -101,6 +108,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -159,6 +167,16 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { BusSalesOrderReturnVehApplyQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -634,10 +652,66 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService vehicleList = new ArrayList<>(); BusSalesOrder finalBusSalesOrderOne = busSalesOrderService.fetchBySid(orderSid); //---------------------修改车辆持久状态------------------------- + SalesReturn salesReturn = new SalesReturn(); + List salesReturnDetails = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + //-----------------生成销售退货单号---------------------------- + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(finalBusSalesOrderOne.getOrgSidPath()); + String billNo = ""; + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + //交车资料确认单编号 + billNo = busSalesReturnOrdersService.getApplyCode(userOrgSid); + } for (BusSalesOrderReturnVehDetailsVo busSalesOrderReturnVehDetailsVo : busSalesOrderReturnVehDetailsVos) { //8.30优化退车申请---如果车辆sid不为空----- if (StringUtils.isNotBlank(busSalesOrderReturnVehDetailsVo.getVehSid())) { String vehSid = busSalesOrderReturnVehDetailsVo.getVehSid(); + //------------对已经出库的车推送销售退货单---------------------- + BaseVehicleSelectVo vehicleSelectVo = baseVehicleFeign.details(vehSid).getData(); + if (null != vehicleSelectVo) { + if (StringUtils.isNotBlank(vehicleSelectVo.getVehicleStateValue())) { + if ("出库".equals(vehicleSelectVo.getVehicleStateValue())) { + SalesReturn.SalesReturnDetailDto salesReturnDetailDto = new SalesReturn.SalesReturnDetailDto(); + BusSalesReturnOrdersDto busSalesReturnOrdersDto = new BusSalesReturnOrdersDto(); + busSalesReturnOrdersDto.setVinSid(vehSid); + busSalesReturnOrdersDto.setOrgSidPath(finalBusSalesOrderOne.getOrgSidPath()); + busSalesReturnOrdersDto.setVinNo(busSalesOrderReturnVehDetailsVo.getVinNo()); + if (StringUtils.isNotBlank(vehicleSelectVo.getOrgCode())) { + salesReturn.setFSaleOrgId(vehicleSelectVo.getOrgCode()); + salesReturn.setFStockOrgId(vehicleSelectVo.getOrgCode()); + busSalesReturnOrdersDto.setSaleOrgId(vehicleSelectVo.getOrgCode()); + } + BaseSalesReturnVo returnVo = baseVehicleOutFeign.selectByVehReturn(vehSid, busSalesOrderReturnVehApply.getContractNo()).getData(); + if (null != returnVo) { + if (StringUtils.isNotBlank(returnVo.getMainSid())) { + baseVehicleOutFeign.deleteByVehReturn(vehSid, returnVo.getMainSid()); + } + if (StringUtils.isNotBlank(returnVo.getMaterialCode())) { + busSalesReturnOrdersDto.setMaterialCode(returnVo.getMaterialCode()); + busSalesReturnOrdersDto.setIsFree("0"); + busSalesReturnOrdersDto.setRealQty("1"); + salesReturnDetailDto.setFMaterialId(returnVo.getMaterialCode()); + salesReturnDetailDto.setFIsFree("false"); + salesReturnDetailDto.setFRealQty("1"); + salesReturnDetailDto.setFUnitID("liang"); + salesReturnDetailDto.setFDeliveryDate(sdf.format(new Date())); + salesReturn.setFDate(sdf.format(new Date())); + } + if (StringUtils.isNotBlank(returnVo.getCustomerNo())) { + salesReturn.setCustomerNo(returnVo.getCustomerNo()); + busSalesReturnOrdersDto.setCustomerNo(returnVo.getCustomerNo()); + } + if (StringUtils.isNotBlank(billNo)) { + salesReturn.setBillNo(billNo); + busSalesReturnOrdersDto.setBillNo(billNo); + } + busSalesReturnOrdersService.saveReturnOrders(busSalesReturnOrdersDto); + salesReturnDetails.add(salesReturnDetailDto); + } + } + } + } baseVehicleFeign.updateLockedState(vehSid); //------修改车辆台账库存状态为库存、销售日期清空、成交价清空、锁定状态未锁定 baseVehicleFeign.updateStateForReturnVeh(vehSid); @@ -648,6 +722,12 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService { + + int selectNum(String bill); +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersMapper.xml new file mode 100644 index 0000000000..2ff30c6904 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersMapper.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersRest.java new file mode 100644 index 0000000000..fa70d393f1 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersRest.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.buscenter.biz.bussalesreturnorders; + +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersDto; +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersFeign; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/5/16 13:54 + */ +@Api(tags = "销售退货单") +@RestController("com.yxt.anrui.buscenter.biz.bussalesreturnorders.BusSalesReturnOrdersRest") +@RequestMapping("v1/bussalesreturnorders") +public class BusSalesReturnOrdersRest implements BusSalesReturnOrdersFeign { + + @Autowired + private BusSalesReturnOrdersService busSalesReturnOrdersService; + @Override + public ResultBean saveReturnOrders(BusSalesReturnOrdersDto dto) { + return busSalesReturnOrdersService.saveReturnOrders(dto); + } +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersService.java new file mode 100644 index 0000000000..5ebe525116 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersService.java @@ -0,0 +1,61 @@ +package com.yxt.anrui.buscenter.biz.bussalesreturnorders; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.common.enums.BillTypeEnum; +import com.yxt.anrui.base.common.utils.Rule; +import com.yxt.anrui.base.common.utils.domain.BillNo; +import com.yxt.anrui.buscenter.api.bushandoverprepare.HandoverInformationIntemVo; +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrders; +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrdersDto; +import com.yxt.anrui.buscenter.api.busvehicleinformation.BusVehicleInformation; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/5/16 13:53 + */ +@Service +public class BusSalesReturnOrdersService extends MybatisBaseService { + + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + + public ResultBean saveReturnOrders(BusSalesReturnOrdersDto dto) { + ResultBean rb = ResultBean.fireFail(); + BusSalesReturnOrders busSalesReturnOrders = new BusSalesReturnOrders(); + BeanUtil.copyProperties(dto, busSalesReturnOrders, "id", "sid"); + baseMapper.insert(busSalesReturnOrders); + return rb.success().setData(busSalesReturnOrders.getSid()); + } + + /** + * 生成交销售退货单单据编号 + * + * @param orgSid + * @return + */ + public String getApplyCode(String orgSid) { + //获取分公司sid + ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); + String orgCode = resultBean1.getData().getOrgCode(); + BillNo b = new BillNo(); + b.setOrgCode(orgCode); + b.setBillType(BillTypeEnum.XXTHS.getBillType()); + String bill = Rule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = Rule.getBillNo(bill, i); + return billNo; + } +} 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 d9a87781df..487da0c730 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 @@ -17,6 +17,7 @@ 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; import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb; +import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn; 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; @@ -34,22 +35,25 @@ import java.util.List; */ @Api(tags = "财务模块调用金蝶暂存业务单据的接口") @FeignClient( - contextId = "anrui-fin-FinKingDeeFeign", - name = "anrui-fin", - path = "/finKingDee", - fallback =FinKingDeeFeignFallBack.class + contextId = "anrui-fin-FinKingDeeFeign", + name = "anrui-fin", + path = "/finKingDee", + fallback = FinKingDeeFeignFallBack.class ) public interface FinKingDeeFeign { /** * 入账暂存应付单的接口 + * * @return */ @ApiOperation("入账暂存应付单的接口") @PostMapping("/draftEntryBill") @ResponseBody ResultBean draftEntryBill(@RequestBody @Valid APPayable APPayable); + /** * 生成的应付单的数据,推送到金蝶的平台中 + * * @return */ @ApiOperation("入账暂存应收单的接口") @@ -70,111 +74,138 @@ public interface FinKingDeeFeign { @ApiOperation("暂存付款单的接口") @PostMapping("/draftApPayBill") @ResponseBody - public ResultBean draftApPayBill(@RequestBody @Valid ApPayBill apPayBill) ; + public ResultBean draftApPayBill(@RequestBody @Valid ApPayBill apPayBill); + @ApiOperation("暂存采购入库单的接口") @PostMapping("/draftStkInStock") @ResponseBody public ResultBean draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception; + @ApiOperation("根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过") @GetMapping("/getStinstockState/{fMaterialId}") @ResponseBody - public ResultBean getStinstockState(@PathVariable("fMaterialId")String fMaterialId) ; + public ResultBean getStinstockState(@PathVariable("fMaterialId") String fMaterialId); + @ApiOperation("暂存采购退料单的接口") @PostMapping("/draftPurMrb") @ResponseBody - public ResultBean draftPurMrb(@RequestBody @Valid PurMrb purMrb) ; + public ResultBean draftPurMrb(@RequestBody @Valid PurMrb purMrb); + @ApiOperation("暂存采购出库单的接口") @PostMapping("/draftSalOutStock") @ResponseBody - public ResultBean draftSalOutStock(@RequestBody @Valid SalOutStock salOutStock) ; + public ResultBean draftSalOutStock(@RequestBody @Valid SalOutStock salOutStock); + @ApiOperation("暂存物料的接口") @PostMapping("/draftBdMaterialList") @ResponseBody - public ResultBean draftBdMaterialList(@RequestBody List bdMaterial) ; + public ResultBean draftBdMaterialList(@RequestBody List bdMaterial); + @ApiOperation("批量修改物料的接口") @PostMapping("/saveBdMaterialList") @ResponseBody - public ResultBean saveBdMaterialList(@RequestBody List bdMaterial) ; + public ResultBean saveBdMaterialList(@RequestBody List bdMaterial); + @ApiOperation("暂存直接调拨单的接口") @PostMapping("/draftStkTransferDirect") @ResponseBody - public ResultBean draftStkTransferDirect(@RequestBody @Valid StkTransferDirect stkTransferDirect) ; + public ResultBean draftStkTransferDirect(@RequestBody @Valid StkTransferDirect stkTransferDirect); + @ApiOperation("暂存组织机构的接口") @PostMapping("/draftOrgOrganizations") @ResponseBody - public ResultBean draftOrgOrganizations(@RequestBody @Valid OrgOrganizations orgOrganizations) ; + public ResultBean draftOrgOrganizations(@RequestBody @Valid OrgOrganizations orgOrganizations); + @ApiOperation("批量修改组织机构的接口") @PostMapping("/updateOrgOrganizations") @ResponseBody - public ResultBean updateOrgOrganizations(@RequestBody @Valid List orgOrganizations) ; + public ResultBean updateOrgOrganizations(@RequestBody @Valid List orgOrganizations); + @ApiOperation("暂存供应商的接口") @PostMapping("/draftBdSupplier") @ResponseBody ResultBean draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier); + @ApiOperation("修改供应商的接口") @PostMapping("/updateBdSupplier") @ResponseBody ResultBean updateBdSupplier(@RequestBody @Valid BdSupplier bdSupplier); + @ApiOperation("新增客户信息的接口 适用客户查询的批量推送财务客户数据") @PostMapping("/draftBdCustomer") @ResponseBody ResultBean draftBdCustomer(@RequestBody @Valid BdCustomer bdCustomer); + @ApiOperation("新增客户信息的接口 适用客户查询的批量推送财务客户数据 批量") @PostMapping("/draftBdCustomers") @ResponseBody ResultBean draftBdCustomers(@RequestBody List bdCustomers); + @ApiOperation("修改客户信息的接口") @PostMapping("/saveBdCustomers") @ResponseBody ResultBean saveBdCustomers(@RequestBody @Valid List bdCustomers); + @ApiOperation("根据编码查询客户的存在状态 true 存在,false不存在") @GetMapping("/customerExistState/{number}") @ResponseBody ResultBean customerExistState(@PathVariable("number") String number); + @ApiOperation("单个 销售出库单 推送客户信息") @PostMapping("/updateSingleCustomer") @ResponseBody public ResultBean updateSingleCustomer(@RequestBody @Valid BdCustomer bdCustomer); + @ApiOperation("使用number查看数据表单") @GetMapping("/getKingDataInfoByNumber/{formId}/{number}") @ResponseBody ResultBean getKingDataInfoByNumber(@PathVariable("formId") String formId, @PathVariable("number") String number); + @ApiOperation("单据查询") @GetMapping("/executeBillQuery/{formId}/{number}") @ResponseBody ResultBean executeBillQuery(); + @ApiOperation("下推") @PostMapping("/draftStkInStockPushPurMrb") @ResponseBody public ResultBean draftStkInStockPushPurMrb(@RequestBody @Valid STKInStockPushPurmrb push) throws Exception; + @ApiOperation("暂存仓库信息的接口") @PostMapping("/drafBDStock") @ResponseBody public ResultBean drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception; + @ApiOperation("修改仓库信息的接口") @PostMapping("/updateBDtStock") @ResponseBody public ResultBean updateBDtStock(@RequestBody @Valid BDStock bDtStock); + @ApiOperation("暂存银行的接口") @PostMapping("/drafBDBank") @ResponseBody - public ResultBean drafBDBank(@RequestBody @Valid BDBank bdBank) ; + public ResultBean drafBDBank(@RequestBody @Valid BDBank bdBank); + @ApiOperation("修改银行的接口") @PostMapping("/updateBDBank") @ResponseBody - public ResultBean updateBDBank(@RequestBody @Valid BDBank bdBank) ; + public ResultBean updateBDBank(@RequestBody @Valid BDBank bdBank); + @ApiOperation("暂存银行账号的接口") @PostMapping("/drafCNBankacnt") @ResponseBody public ResultBean drafCNBankacnt(@RequestBody @Valid CNBankacnt cnBankacnt); + @ApiOperation("修改银行账号的接口") @PostMapping("/updateCNBankacnt") @ResponseBody - public ResultBean updateCNBankacnt(@RequestBody @Valid CNBankacnt cNBankacnt) ; + public ResultBean updateCNBankacnt(@RequestBody @Valid CNBankacnt cNBankacnt); + @ApiOperation("暂存收付款的接口") @PostMapping("/draftCNRecpaypurpose") @ResponseBody public ResultBean draftCNRecpaypurpose(@RequestBody @Valid CNRecpaypurpose cNRecpaypurpose); + @ApiOperation("保存部门的接口") @PostMapping("/saveBdDepartment") @ResponseBody @@ -194,4 +225,10 @@ public interface FinKingDeeFeign { @PostMapping("/updateBDEmpinfo") @ResponseBody public ResultBean updateBDEmpinfo(@RequestBody @Valid BDEmpinfo bdEmpinfo); + + @ApiOperation("暂存销售退货单的接口") + @PostMapping("/draftSalesReturnOrders") + @ResponseBody + ResultBean draftSalesReturnOrders(@RequestBody @Valid SalesReturn salesReturn); + } 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 6dc57d558e..160bb6647c 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 @@ -17,6 +17,7 @@ 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; import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb; +import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn; 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; @@ -200,5 +201,10 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean draftSalesReturnOrders(SalesReturn salesReturn) { + 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 ba4089a83b..bee9d146ca 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 @@ -5,6 +5,7 @@ public enum KingDeeBillId { AR_RECEIVABLE("AR_receivable", "应收单"), AR_OTHERRECEIVABLE("AR_OtherRecAble", "其他应收单"), AP_PAYBILL("AP_PAYBILL", "付款单"), + SAL_RETURNSTOCK("SAL_RETURNSTOCK","销售退货单"), AR_RECEIVEBILL("AR_RECEIVEBILL", "收款单"), STK_INSTOCK("STK_InStock", "采购入库单"), PUR_MRB("PUR_MRB", "采购退料单"), @@ -23,6 +24,9 @@ public enum KingDeeBillId { BD_SETTLETYPE("BD_SETTLETYPE", "结算方式"), CN_RECPAYPURPOSE("CN_RECPAYPURPOSE", "收付款用途"), 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/salesreturn/SalesReturn.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/salesreturn/SalesReturn.java new file mode 100644 index 0000000000..8ecc8621f7 --- /dev/null +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/salesreturn/SalesReturn.java @@ -0,0 +1,54 @@ +package com.yxt.anrui.fin.api.kingdee.salesreturn; + +import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/8/31 10:48 + */ + +/** + * 销售退货单 + */ +@Data +public class SalesReturn { + @ApiModelProperty("单据类型") + public String billType = "XSTHD01_SYS"; + @ApiModelProperty("退货客户编码") + public String customerNo; + @ApiModelProperty("库存组织编码") + public String FStockOrgId; + @ApiModelProperty("单据编号") + public String billNo; + @ApiModelProperty("币别") + public String currency = "PRE001"; + @ApiModelProperty("日期") + public String FDate; + @ApiModelProperty("销售组织编码") + public String FSaleOrgId; + @ApiModelProperty("收款明细") + public List salesReturnDetails; + + @Data + public static class SalesReturnDetailDto implements Dto { + + @ApiModelProperty("物料编码") + public String FMaterialId; + @ApiModelProperty("库存单位") + public String FUnitID; + @ApiModelProperty("应退数量") + public String FMustQty; + @ApiModelProperty("实退数量") + public String FRealQty; + @ApiModelProperty("退货日期") + public String FDeliveryDate; + @ApiModelProperty("是否赠品") + public String FIsFree; + } +} 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 c6f148dabd..aa9047b2ba 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 @@ -21,6 +21,7 @@ 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; import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb; +import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn; 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; @@ -41,6 +42,7 @@ import com.yxt.anrui.fin.biz.kingdee.otherreceivablebill.OtherReceivableBillServ import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService; import com.yxt.anrui.fin.biz.kingdee.push.PushService; import com.yxt.anrui.fin.biz.kingdee.receivablebill.ReceivableBillService; +import com.yxt.anrui.fin.biz.kingdee.salesreturn.SalesReturnOrdersService; import com.yxt.anrui.fin.biz.kingdee.saloutstock.SalOutStockService; import com.yxt.anrui.fin.biz.kingdee.stkinstock.STKInStockService; import com.yxt.anrui.fin.biz.kingdee.stktransferdirect.StkTransferDirectService; @@ -151,9 +153,10 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { @Autowired private BDEmpinfoService bDEmpinfoService; /** + * */ @Autowired - private FinKingDeeService finKingDeeService; + private FinKingDeeService finKingDeeService; /** * 收款单 */ @@ -164,19 +167,27 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { */ @Autowired private OtherReceivableBillService otherReceivableBillService; + + /** + * 销售退货单 + */ + @Autowired + private SalesReturnOrdersService salesReturnOrdersService; + @ApiOperation("入账暂存应付单的接口") @PostMapping("/draftEntryBill") @ResponseBody @Override - public ResultBean draftEntryBill(@RequestBody @Valid APPayable APPayable) { + public ResultBean draftEntryBill(@RequestBody @Valid APPayable APPayable) { log.info("FinKingDeeFeignRest-draftEntryBill:{}", JSONObject.toJSONString(APPayable)); return apPayableService.draftAPPayable(APPayable); } + @ApiOperation("暂存应收单的接口") @PostMapping("/draftReceivableBill") @ResponseBody @Override - public ResultBean draftReceivableBill(@RequestBody @Valid ARReceivable aRReceivable) { + public ResultBean draftReceivableBill(@RequestBody @Valid ARReceivable aRReceivable) { log.info("FinKingDeeFeignRest-draftReceivableBill:{}", JSONObject.toJSONString(aRReceivable)); return receivableBillService.draftReceivableBill(aRReceivable); } @@ -187,6 +198,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { return otherReceivableBillService.otherReceivableBillService(otherReceivable); } + @Override + public ResultBean draftSalesReturnOrders(SalesReturn salesReturn) { + log.info("FinKingDeeFeignRest-draftSalesReturnOrders:{}", JSONObject.toJSONString(salesReturn)); + return salesReturnOrdersService.salesReturnOrdersService(salesReturn); + } + @ApiOperation("暂存收款单的接口") @PostMapping("/draftArReceivebill") @ResponseBody @@ -206,7 +223,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { @PostMapping("/draftApPayBill") @ResponseBody @Override - public ResultBean draftApPayBill(@RequestBody @Valid ApPayBill apPayBill) { + public ResultBean draftApPayBill(@RequestBody @Valid ApPayBill apPayBill) { log.info("FinKingDeeFeignRest-draftApPayBill:{}", JSONObject.toJSONString(apPayBill)); KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); kingDeeOrgAndDeptCode.setOrgCode(apPayBill.getFPURCHASEORGID()); @@ -223,7 +240,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { @PostMapping("/draftStkInStock") @ResponseBody @Override - public ResultBean draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception { + public ResultBean draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception { log.info("FinKingDeeFeignRest-draftStkInStock:{}", JSONObject.toJSONString(stkInStock)); KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); kingDeeOrgAndDeptCode.setOrgCode(stkInStock.getFPurchaseOrgId()); @@ -235,11 +252,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { stkInStock.setFSupplierId(kingDeeOrgAndDeptCode.getOtherCode()); return stkInStockService.draftStkInStock(stkInStock); } + @ApiOperation("根据物料查询入库单的状态 的审核状态 true 审核通过 false 未审核通过") @GetMapping("/getStinstockState/{fMaterialId}") @ResponseBody @Override - public ResultBean getStinstockState(String fMaterialId) { + public ResultBean getStinstockState(String fMaterialId) { log.info("FinKingDeeFeignRest-getStinstockState:{}", JSONObject.toJSONString(fMaterialId)); return stkInStockService.getStinstockState(fMaterialId); } @@ -248,7 +266,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { @PostMapping("/draftPurMrb") @ResponseBody @Override - public ResultBean draftPurMrb(@RequestBody @Valid PurMrb purMrb) { + public ResultBean draftPurMrb(@RequestBody @Valid PurMrb purMrb) { log.info("FinKingDeeFeignRest-draftPurMrb:{}", JSONObject.toJSONString(purMrb)); KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); kingDeeOrgAndDeptCode.setOrgCode(purMrb.getFStockOrgId()); @@ -258,11 +276,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { purMrb.setFSupplierID(kingDeeOrgAndDeptCode.getOtherCode()); return purMrbService.draftPurMrb(purMrb); } + @ApiOperation("暂存采购出库单的接口") @PostMapping("/draftSalOutStock") @ResponseBody @Override - public ResultBean draftSalOutStock(@RequestBody @Valid SalOutStock salOutStock) { + public ResultBean draftSalOutStock(@RequestBody @Valid SalOutStock salOutStock) { log.info("FinKingDeeFeignRest-draftSalOutStock:{}", JSONObject.toJSONString(salOutStock)); KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); kingDeeOrgAndDeptCode.setOrgCode(salOutStock.getFSaleOrgId()); @@ -275,11 +294,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { //salOutStock.setF_PAEZ_Base(kingDeeOrgAndDeptCode.getOrgCode()); return salOutStockService.draftSalOutStock(salOutStock); } + @ApiOperation("批量暂存物料的接口") @PostMapping("/draftBdMaterialList") @ResponseBody @Override - public ResultBean draftBdMaterialList(@RequestBody @Valid List bdMaterial) { + public ResultBean draftBdMaterialList(@RequestBody @Valid List bdMaterial) { log.info("FinKingDeeFeignRest-draftBdMaterialList:{}", JSONObject.toJSONString(bdMaterial)); for (BdMaterial material : bdMaterial) { KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); @@ -289,11 +309,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } return bdMaterialService.draftBdMaterialList(bdMaterial); } + @ApiOperation("批量修改物料的接口") @PostMapping("/saveBdMaterialList") @ResponseBody @Override - public ResultBean saveBdMaterialList(@RequestBody @Valid List bdMaterial) { + public ResultBean saveBdMaterialList(@RequestBody @Valid List bdMaterial) { log.info("FinKingDeeFeignRest-saveBdMaterialList:{}", JSONObject.toJSONString(bdMaterial)); for (BdMaterial material : bdMaterial) { KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); @@ -303,6 +324,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } return bdMaterialService.saveBdMaterialList(bdMaterial); } + @ApiOperation("暂存直接调拨单的接口") @PostMapping("/draftStkTransferDirect") @ResponseBody @@ -315,27 +337,30 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { stkTransferDirect.setFStockOrgId(kingDeeOrgAndDeptCode.getOrgCode()); return stkTransferDirectService.draftStkTransferDirect(stkTransferDirect); } + @ApiOperation("暂存组织机构的接口") @PostMapping("/draftOrgOrganizations") @ResponseBody @Override - public ResultBean draftOrgOrganizations(@RequestBody @Valid OrgOrganizations orgOrganizations) { + public ResultBean draftOrgOrganizations(@RequestBody @Valid OrgOrganizations orgOrganizations) { log.info("FinKingDeeFeignRest-draftOrgOrganizations:{}", JSONObject.toJSONString(orgOrganizations)); return orgOrganizationsService.draftOrgOrganizations(orgOrganizations); } + @ApiOperation("批量修改组织机构的接口") @PostMapping("/updateOrgOrganizations") @ResponseBody @Override - public ResultBean updateOrgOrganizations(@RequestBody @Valid List orgOrganizations) { + public ResultBean updateOrgOrganizations(@RequestBody @Valid List orgOrganizations) { log.info("FinKingDeeFeignRest-updateOrgOrganizations:{}", JSONObject.toJSONString(orgOrganizations)); return orgOrganizationsService.updateOrgOrganizations(orgOrganizations); } + @ApiOperation("暂存供应商的接口") @PostMapping("/draftBdSupplier") @ResponseBody @Override - public ResultBean draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) { + public ResultBean draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) { log.info("FinKingDeeFeignRest-draftBdSupplier:{}", JSONObject.toJSONString(bdSupplier)); KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); kingDeeOrgAndDeptCode.setOrgCode(bdSupplier.getFUseOrgId()); @@ -343,11 +368,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { bdSupplier.setFUseOrgId(kingDeeOrgAndDeptCode.getOrgCode()); return bdSupplierService.draftBdSupplier(bdSupplier); } + @ApiOperation("修改供应商的接口") @PostMapping("/updateBdSupplier") @ResponseBody @Override - public ResultBean updateBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) { + public ResultBean updateBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) { log.info("FinKingDeeFeignRest-updateBdSupplier:{}", JSONObject.toJSONString(bdSupplier)); KingDeeOrgAndDeptCode kingDeeOrgAndDeptCode = new KingDeeOrgAndDeptCode(); kingDeeOrgAndDeptCode.setOrgCode(bdSupplier.getFUseOrgId()); @@ -355,6 +381,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { bdSupplier.setFUseOrgId(kingDeeOrgAndDeptCode.getOrgCode()); return bdSupplierService.updateBdSupplier(bdSupplier); } + @ApiOperation("暂存客户信息的接口") @PostMapping("/draftBdCustomer") @ResponseBody @@ -367,6 +394,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { bdCustomer.setTOrgIds(kingDeeOrgAndDeptCode.getOrgCode()); return bdCustomerService.draftBdCustomer(bdCustomer); } + @ApiOperation("暂存客户信息的接口 批量") @PostMapping("/draftBdCustomers") @ResponseBody @@ -381,6 +409,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } return bdCustomerService.draftBdCustomers(bdCustomers); } + @ApiOperation("修改客户信息的接口") @PostMapping("/saveBdCustomers") @ResponseBody @@ -393,24 +422,25 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { kingDeeOrgAndDeptCode = KingDeeUtils.orgAndDeptCodeMerge(kingDeeOrgAndDeptCode); bdCustomer.setTOrgIds(kingDeeOrgAndDeptCode.getOrgCode()); } - return bdCustomerService.updateCustomers(bdCustomers); + return bdCustomerService.updateCustomers(bdCustomers); } + @ApiOperation("根据编码查询客户的存在状态 true 存在,false不存在") @GetMapping("/customerExistState/{number}") @ResponseBody @Override public ResultBean customerExistState(String number) { log.info("FinKingDeeFeignRest-customerExistState:{}", number); - return finKingDeeService.customerExistState(number); + return finKingDeeService.customerExistState(number); } @ApiOperation("单个 销售出库单 推送客户信息") @PostMapping("/updateSingleCustomer") @ResponseBody @Override - public ResultBean updateSingleCustomer( @RequestBody @Valid BdCustomer bdCustomers) { + public ResultBean updateSingleCustomer(@RequestBody @Valid BdCustomer bdCustomers) { log.info("FinKingDeeFeignRest-updateSingleCustomer:{}", JSONObject.toJSONString(bdCustomers)); - return bdCustomerService.updateSingleCustomer(bdCustomers); + return bdCustomerService.updateSingleCustomer(bdCustomers); } @ApiOperation("使用number查看数据表单") @@ -419,8 +449,8 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { @Override public ResultBean getKingDataInfoByNumber(@PathVariable("formId") String formId, @PathVariable("number") String number) { - log.info("FinKingDeeFeignRest-getKingDataInfoByNumber:{},{}", formId,number); - return finKingDeeService.accessKingDeeInterface(formId,number); + log.info("FinKingDeeFeignRest-getKingDataInfoByNumber:{},{}", formId, number); + return finKingDeeService.accessKingDeeInterface(formId, number); } @ApiOperation("单据查询") @@ -448,14 +478,16 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { log.info("FinKingDeeFeignRest-drafBDtStock:{}", JSONObject.toJSONString(bDtStock)); return bDStockService.draftBDStock(bDtStock);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); } + @ApiOperation("修改仓库信息的接口") @PostMapping("/updateBDtStock") @ResponseBody @Override - public ResultBean updateBDtStock(@RequestBody @Valid BDStock bDtStock) { + public ResultBean updateBDtStock(@RequestBody @Valid BDStock bDtStock) { log.info("FinKingDeeFeignRest-updateBDtStock:{}", JSONObject.toJSONString(bDtStock)); return bDStockService.updateBDtStock(bDtStock);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); } + @ApiOperation("暂存银行的接口") @PostMapping("/drafBDBank") @ResponseBody @@ -497,7 +529,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { kingDeeOrgAndDeptCode.setOrgCode(cNBankacnt.getFCreateOrgId()); kingDeeOrgAndDeptCode = KingDeeUtils.orgAndDeptCodeMerge(kingDeeOrgAndDeptCode); cNBankacnt.setFCreateOrgId(kingDeeOrgAndDeptCode.getOrgCode()); - return cnBankcntService.updateCNBankacnt(cNBankacnt);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); + return cnBankcntService.updateCNBankacnt(cNBankacnt);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("",""); } @ApiOperation("暂存收付款用途的接口") @@ -508,6 +540,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { log.info("FinKingDeeFeignRest-draftCNRecpaypurpose:{}", JSONObject.toJSONString(cNRecpaypurpose)); return cNRecpaypurposeService.draftCNRecpaypurpose(cNRecpaypurpose); } + @ApiOperation("保存部门的接口") @PostMapping("/saveBdDepartment") @ResponseBody @@ -520,6 +553,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { bdDepartment.setFUseOrgId(kingDeeOrgAndDeptCode.getOrgCode()); return bdDepartmentService.saveBdDepartment(bdDepartment); } + @ApiOperation("修改部门的接口") @PostMapping("/updateBdDepartment") @ResponseBody @@ -532,6 +566,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { bdDepartment.setFUseOrgId(kingDeeOrgAndDeptCode.getOrgCode()); return bdDepartmentService.updateBdDepartment(bdDepartment); } + @ApiOperation("保存员工的接口") @PostMapping("/saveBDEmpinfo") @ResponseBody @@ -540,6 +575,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { log.info("FinKingDeeFeignRest-saveBDEmpinfo:{}", JSONObject.toJSONString(bdEmpinfo)); return bDEmpinfoService.saveBDEmpinfo(bdEmpinfo); } + @ApiOperation("修改员工的接口") @PostMapping("/updateBDEmpinfo") @ResponseBody @@ -548,4 +584,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { log.info("FinKingDeeFeignRest-updateBDEmpinfo:{}", JSONObject.toJSONString(bdEmpinfo)); return bDEmpinfoService.updateBDEmpinfo(bdEmpinfo); } + + } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/SalesReturnOrdersCastToKingDeeBillFields.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/SalesReturnOrdersCastToKingDeeBillFields.java new file mode 100644 index 0000000000..7a945f1549 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/SalesReturnOrdersCastToKingDeeBillFields.java @@ -0,0 +1,59 @@ +package com.yxt.anrui.fin.biz.kingdee.salesreturn; + +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 SalesReturnOrdersCastToKingDeeBillFields { + /** + * 构造金蝶需要的数据结构 并对字段赋值 + * + * @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/salesreturn/data.json"); + String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/salesreturn/data_data.json"); + String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/salesreturn/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/salesreturn/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/salesreturn/SalesReturnOrdersService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/SalesReturnOrdersService.java new file mode 100644 index 0000000000..4406f71482 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/SalesReturnOrdersService.java @@ -0,0 +1,97 @@ +package com.yxt.anrui.fin.biz.kingdee.salesreturn; + +import com.yxt.anrui.fin.api.kingdee.KingDeeBillId; +import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl; +import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; +import com.yxt.anrui.fin.api.kingdee.salesreturn.SalesReturn; +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 SalesReturnOrdersService extends FinKingDeeService { + + /** + * 生成的销售退货单的数据,推送到金蝶的平台中 + * + * @param salesReturn + * @return + */ + public ResultBean salesReturnOrdersService(SalesReturn salesReturn) { + ResultBean rb = ResultBean.fireFail(); + //业务表的主表数据集合 + Map map_fEntityModel_ = new HashMap<>(); + //客户 + if (StringUtils.isBlank(salesReturn.getCustomerNo())) { + return rb.setMsg("客户编码不能为空"); + } + map_fEntityModel_.put("FRetcustId", salesReturn.getCustomerNo()); + //库存组织 + if (StringUtils.isBlank(salesReturn.getFStockOrgId())) { + return rb.setMsg("库存组织不能为空"); + } + map_fEntityModel_.put("FStockOrgId", salesReturn.getFStockOrgId()); + //单据编号 + if (StringUtils.isBlank(salesReturn.getBillNo())) { + return rb.setMsg("单据编号不能为空"); + } + map_fEntityModel_.put("FBillNo", salesReturn.getBillNo()); + //业务日期 + if (StringUtils.isBlank(salesReturn.getFDate())) { + return rb.setMsg("业务日期不能为空"); + } + map_fEntityModel_.put("FDate", salesReturn.getFDate()); + //销售组织 + if (StringUtils.isBlank(salesReturn.getFSaleOrgId())) { + return rb.setMsg("销售组织不能为空"); + } + map_fEntityModel_.put("FSaleOrgId", salesReturn.getFSaleOrgId()); + + List salesReturnDetailDtos = salesReturn.getSalesReturnDetails() == null ? new ArrayList<>() : salesReturn.getSalesReturnDetails(); + //准备 物料列表的数据 + ResultBean>> vehicleListMap = createVehicleListsForReceivableBill(salesReturnDetailDtos); + if (!vehicleListMap.getSuccess()) { + return rb.setMsg(vehicleListMap.getMsg()); + } + String kingDeeData = SalesReturnOrdersCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_, vehicleListMap.getData()); + try { + ResultBean resultBean1 = accessKingDeeInterface(KingDeeBillId.SAL_RETURNSTOCK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_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++) { + SalesReturn.SalesReturnDetailDto c = collectionDetails.get(i); + Map m = new HashMap<>(); + if (StringUtils.isBlank(c.getFMaterialId())) { + return rb.setMsg("物料编码不能为空"); + } + if (StringUtils.isBlank(c.getFUnitID())) { + return rb.setMsg("库存单位不能为空"); + } + m.put("FMaterialId", c.getFMaterialId()); + m.put("FUnitID", c.getFUnitID()); + m.put("FRealQty", c.getFRealQty()); + m.put("FDeliveryDate", c.getFDeliveryDate()); + m.put("FIsFree", c.getFIsFree()); + 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/salesreturn/data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data.json new file mode 100644 index 0000000000..48a271692d --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data.json @@ -0,0 +1,4 @@ +{ + "formId": "SAL_RETURNSTOCK", + "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/salesreturn/data_FEntity.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data_FEntity.json new file mode 100644 index 0000000000..da9f968268 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data_FEntity.json @@ -0,0 +1,142 @@ +{ + "FENTRYID": "0", + "FRowType": "", + "FMapId": { + "FNumber": "" + }, + "FMaterialId": { + "FNumber": "@KD_FMaterialId" + }, + "FAuxpropId": { + "FAUXPROPID__FF100001": { + "FNumber": "" + }, + "FAUXPROPID__FF100005": { + "FNumber": "" + }, + "FAUXPROPID__FF100002": { + "FNumber": "" + }, + "FAUXPROPID__FF100004": { + "FNumber": "" + }, + "FAUXPROPID__FF100006": { + "FNumber": "" + } + }, + "FUnitID": { + "FNumber": "@KD_FUnitID" + }, + "FInventoryQty": "0", + "FRealQty": "@KD_FRealQty", + "FParentMatId": { + "FNUMBER": "" + }, + "FPrice": "0", + "FTaxPrice": "0", + "FIsFree": "@KD_FIsFree", + "FTaxCombination": { + "FNumber": "" + }, + "FEntryTaxRate": "0", + "FBOMId": { + "FNumber": "" + }, + "FReturnType": { + "FNumber": "THLX01_SYS" + }, + "FOwnerTypeId": "", + "FOwnerId": { + "FNumber": "" + }, + "FProduceDate": "", + "FExpiryDate": "", + "FStockId": { + "FNumber": "" + }, + "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": "" + } + }, + "FStockstatusId": { + "FNumber": "" + }, + "FDeliveryDate": "@KD_FDeliveryDate", + "FMtoNo": "", + "FNote": "", + "FDiscountRate": "0", + "FPriceDiscount": "0", + "FAuxUnitQty": "0", + "FExtAuxUnitId": { + "FNumber": "" + }, + "FExtAuxUnitQty": "0", + "FSalCostPrice": "0", + "FISCONSUMESUM": "", + "FLot": { + "FNumber": "" + }, + "FSalUnitID": { + "FNumber": "" + }, + "FSalUnitQty": "0", + "FSalBaseQty": "0", + "FPriceBaseQty": "0", + "FProjectNo": "", + "FQualifyType": "", + "FEOwnerSupplierId": { + "FNUMBER": "" + }, + "FIsOverLegalOrg": "false", + "FESettleCustomerId": { + "FNUMBER": "" + }, + "FThirdEntryId": "", + "FSOEntryId": "0", + "FPriceListEntry": { + "FNUMBER": "" + }, + "FARNOTJOINQTY": "0", + "FIsReturnCheck": "false", + "FTaxDetailSubEntity": [ + { + "FDetailID": "0", + "FTaxRate": "0" + } + ], + "FSerialSubEntity": [ + { + "FDetailID": "0", + "FSerialNo": "", + "FSerialNote": "" + } + ] +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data_data.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/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/salesreturn/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/salesreturn/data_model.json b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data_model.json new file mode 100644 index 0000000000..48c3779410 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/data_model.json @@ -0,0 +1,112 @@ +{ + "FID": "0", + "FBillTypeID": { + "FNUMBER": "XSTHD01_SYS" + }, + "FBillNo": "@KD_FBillNo", + "FDate": "@KD_FDate", + "FSaleOrgId": { + "FNumber": "@KD_FSaleOrgId" + }, + "FRetcustId": { + "FNumber": "@KD_FRetcustId" + }, + "FSaledeptid": { + "FNumber": "" + }, + "FReturnReason": { + "FNumber": "" + }, + "FHeadLocId": { + "FNumber": "" + }, + "FCorrespondOrgId": { + "FNumber": "" + }, + "FTransferBizType": { + "FNumber": "" + }, + "FSaleGroupId": { + "FNumber": "" + }, + "FSalesManId": { + "FNumber": "" + }, + "FStockOrgId": { + "FNumber": "@KD_FStockOrgId" + }, + "FStockDeptId": { + "FNumber": "" + }, + "FStockerGroupId": { + "FNumber": "" + }, + "FStockerId": { + "FNumber": "" + }, + "FHeadNote": "", + "FReceiveCustId": { + "FNumber": "" + }, + "FReceiveAddress": "", + "FSettleCustId": { + "FNumber": "" + }, + "FReceiveCusContact": { + "FNAME": "" + }, + "FPayCustId": { + "FNumber": "" + }, + "FOwnerTypeIdHead": "", + "FOwnerIdHead": { + "FNumber": "" + }, + "FScanBox": "", + "FCDateOffsetUnit": "", + "FCDateOffsetValue": "0", + "FIsTotalServiceOrCost": "false", + "F_PAEZ_Assistant": { + "FNumber": "" + }, + "SubHeadEntity": { + "FEntryId": "0", + "FSettleCurrId": { + "FNumber": "PRE001" + }, + "FThirdBillNo": "", + "FThirdBillId": "", + "FThirdSrcType": "", + "FSettleOrgId": { + "FNumber": "" + }, + "FSettleTypeId": { + "FNumber": "" + }, + "FChageCondition": { + "FNumber": "" + }, + "FPriceListId": { + "FNumber": "" + }, + "FDiscountListId": { + "FNumber": "" + }, + "FLocalCurrId": { + "FNumber": "" + }, + "FExchangeTypeId": { + "FNumber": "" + }, + "FExchangeRate": "0", + "FBuyerNick": "", + "FReceiverAddress": "", + "FReceiverName": "", + "FReceiverMobile": "", + "FReceiverCountry": "", + "FReceiverState": "", + "FReceiverCity": "", + "FReceiverDistrict": "", + "FReceiverPhone": "" + } +} \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/remarks.txt b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/remarks.txt new file mode 100644 index 0000000000..a41fdf3794 --- /dev/null +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/salesreturn/remarks.txt @@ -0,0 +1,208 @@ +一、请求参数说明: +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类型(必录) + +字段说明: +关联应收金额:FARJOINAMOUNT +累计应收数量(销售基本):FBASEARQTY +业务流程:FBFLowId +累计应收金额:FARAMOUNT +订单类型:FSOBILLTYPEID +源单编号:FSrcBillNo +销售成本价:FSalCostPrice +关联应收数量(计价基本):FBaseARJoinQty +价税合计:FAllAmount +税额(本位币):FTaxAmount_LC +税额:FEntryTaxAmount +价税合计(本位币):FAllAmount_LC +退货日期:FDeliveryDate (必填项) +净价:FTaxNetPrice +是否赠品:FIsFree +序列号单位:FSNUnitID +销售数量:FSalUnitQty +销售单位:FSalUnitID +计价基本数量:FPriceBaseQty +销售基本数量:FSalBaseQty +库存基本分母:FStockBaseDen +销售基本分子:FSalBaseNum +质量类型:FQualifyType +当前库存:FInventoryQty +项目编号:FProjectNo +计划跟踪号:FMtoNo +序列号单位数量:FSNQty +拒收标志:FRefuseFlag +实退数量(辅单位):FExtAuxUnitQty +辅单位:FExtAuxUnitId +消耗汇总:FISCONSUMESUM +金额(本位币):FAmount_LC +仓位:FStocklocId +保质期:FExpPeriod +保质期单位:FExpUnit +客户物料编码:FMapId +退货类型:FReturnType (必填项) +批号:FLot +客户物料名称:FMapName +源单类型:FSrcBillTypeID +(作废)关联开票数量(基本单位):FBaseInvoicedQty +关联应收数量(计价):FInvoicedQty +备注:FNote +累计应收数量(销售):FSumInvoicedQty +库存更新标示:FStockFlag +累计收款金额:FSumRecievedAmt +累计开票金额:FSumInvoicedAmt +(作废)累计开票数量(基本单位):FBaseSumInvoicedQty +折前金额:FBefDisAmt +最低限价:FLimitDownPrice +系统定价:FSysPrice +折前价税合计:FBefDisAllAmt +金额:FAmount +折扣额:FDiscount +折扣率%:FDiscountRate +价格系数:FPriceCoefficient +计价数量:FPriceUnitQty +计价单位:FPriceUnitId +总成本(本位币):FCostAmount_LC +单价:FPrice +税率%:FEntryTaxRate +税组合:FTaxCombination +含税单价:FTaxPrice +第三方单据编号:FThirdBillNo +第三方单据内码:FThirdBillId +第三方系统来源:FThirdSrcType +会员名称:FBuyerNick +收货人国家:FReceiverCountry +收货人地址:FReceiverAddress +收货人:FReceiverName +价外税:FIsPriceExcludeTax +价目表:FPriceListId +是否含税:FIsIncludedTax +税额:FBillTaxAmount +折扣表:FDiscountListId +跨组织结算生成:FISGENFORIOS +货主供应商:FOwnerSupplierID +结算组织客户:FSETTLECustomerID +收货人城市:FReceiverCity +卖方代扣代缴:FSellerWithholding +增值税:FVAT +计入成本金额:FCostAmount +买方代扣代缴:FBuyerWithholding +备注:FSerialNote +序列号:FSerialId +序列号:FSerialNo +计入成本比例%:FCostPercent +收货人省份:FReceiverState +收货人地区:FReceiverDistrict +收货人手机:FReceiverMobile +收货人电话:FReceiverPhone +税额:FTaxAmount +税率%:FTaxRate +税率名称:FTaxRateId +金额:FBillAmount +产品类型:FRowType +退货检验:FIsReturnCheck +销售订单EntryId:FSOEntryId +父项产品:FParentMatId +第三方单据分录ID:FThirdEntryId +父项标识:FParentRowId +行标识:FRowId + 未关联应收数量(计价单位):FARNOTJOINQTY +明细货主供应商:FEOwnerSupplierId +携带的主业务单位:FSRCBIZUNITID +关联应收数量(库存基本):FStockBaseARJoinQty +组织间结算跨法人标识:FIsOverLegalOrg +行价目表:FPriceListEntry +关联应收数量(销售基本):FSalBaseARJoinQty +明细结算组织客户:FESettleCustomerId +单价折扣:FPriceDiscount +汇率精度:FPrecision +总成本(本位币):FBillCostAmount_LC +总成本:FBillCostAmount +价税合计(本位币):FBillAllAmount_LC +价税合计:FBillAllAmount +税额(本位币):FBillTaxAmount_LC +金额(本位币):FBillAmount_LC +汇率:FExchangeRate +收款条件:FChageCondition +结算方式:FSettleTypeId +车辆类型:F_PAEZ_BaseProperty +结算组织:FSettleOrgId (必填项) +汇率类型:FExchangeTypeId +本位币:FLocalCurrId +结算币别:FSettleCurrId (必填项) +单据类型:FBillTypeIDFBillTypeID (必填项) +收货方:FReceiveCustId +货主:FOwnerIdHead +货主类型:FOwnerTypeIdHead +销售部门:FSaledeptid +销售组:FSaleGroupId +库存部门:FStockDeptId +销售员:FSalesManId +创建人:FCreatorId +付款方:FPayCustId +结算方:FSettleCustId +仓管员:FStockerId +销售组织:FSaleOrgId (必填项) +单据状态:FDocumentStatus +单据编号:FBillNo +日期:FDate (必填项) +库存组:FStockerGroupId +退货客户:FRetcustId (必填项) +库存组织:FStockOrgId (必填项) +创建日期:FCreateDate +审核人:FApproverId +最后修改日期:FModifyDate +最后修改人:FModifierId +审核日期:FApproveDate +作废状态:FCancelStatus +作废日期:FCancelDate +作废人:FCancellerId +物料类别:FMaterialType +规格型号:FMaterialModel +物料名称:FMaterialName +库存单位:FUnitID (必填项) +仓库:FStockId +实退数量:FRealQty +应退数量:FMustqty +物料编码:FMaterialId (必填项) +创建日期偏移量:FCDateOffsetValue +创建日期偏移单位:FCDateOffsetUnit +备注:FHeadNote +项目类别:F_PAEZ_Assistant +整单服务标识:FIsTotalServiceOrCost +库存状态:FStockstatusId +库存辅单位:FAuxUnitId +库存基本数量:FBaseunitQty +基本单位:FBaseunitId +库存辅单位数量:FAuxUnitQty +订单单号:FOrderNo +总成本:FEntryCostAmount +成本价(本位币):FCostPrice +有效期至:FExpiryDate +保管者类型:FKeeperTypeId +货主:FOwnerId (必填项) +货主类型:FOwnerTypeId +保管者:FKeeperId +生产日期:FProduceDate +辅助属性:FAuxpropId +BOM版本:FBOMId +对应组织:FCorrespondOrgId +跨组织业务类型:FTransferBizType +收货方地址:FReceiveAddress +退货原因:FReturnReason +业务类型:FBussinessType +交货地点:FHeadLocId +信用检查结果:FCreditCheckResult +组织间结算跨法人标识:FIsInterLegalPerson +收货方联系人:FReceiveCusContact +序列号上传:FScanBox \ No newline at end of file From e0bd86977e0dde5213e4f91df3fab80488877ad6 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 1 Sep 2023 08:33:17 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=80=E8=BD=A6?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E9=87=91=E8=9D=B6=E9=94=80=E5=94=AE=E9=80=80?= =?UTF-8?q?=E8=B4=A7=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusSalesOrderReturnVehApplyService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java index bd9c296452..d04fab4f19 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java @@ -688,12 +688,13 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService