diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseSalesReturnVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseSalesReturnVo.java new file mode 100644 index 0000000000..d515b87d56 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseSalesReturnVo.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.base.api.basevehicleout; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/31 16:04 + */ +@Data +public class BaseSalesReturnVo { + + private String mainSid; + private String customerNo; + private String materialCode; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java index 132e71a690..d9bf90dbdd 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java @@ -87,6 +87,17 @@ public interface BaseVehicleOutFeign { @PostMapping("/ctxsckd") @ResponseBody ResultBean ctxsckd(@RequestParam("xsckdSid") String xsckdSid); + + @ApiOperation("退车成功后查询出库记录") + @PostMapping("/selectByVehReturn") + @ResponseBody + public ResultBean selectByVehReturn(@RequestParam("vinSid") String vinSid, @RequestParam("contractNo") String contractNo); + + @ApiOperation("退车成功后删除出库记录") + @PostMapping("/deleteByVehReturn") + @ResponseBody + public ResultBean deleteByVehReturn(@RequestParam("vinSid") String vinSid, @RequestParam("mainSid") String mainSid); + } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java index 93a6e11d19..233d66608b 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java @@ -118,7 +118,7 @@ public interface BaseVehmodelConfigFeign { */ @ApiOperation("根据分公司查询车型配置关联表中的车型信息") @PostMapping("/selModelByUseOrgSid") - ResultBean> selModelByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid); + ResultBean> selModelByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid,@RequestParam(value = "name",required = false) String name); /** * 根据分公司sid查询车型和常用配置关联表 diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java index 6ae939d211..4bb9e39212 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java @@ -94,7 +94,7 @@ public class BaseVehmodelConfigFeignFallback implements BaseVehmodelConfigFeign } @Override - public ResultBean> selModelByUseOrgSid(String useOrgSid) { + public ResultBean> selModelByUseOrgSid(String useOrgSid, String name) { return null; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java index efa40f128c..b068648ebc 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java @@ -32,9 +32,11 @@ public enum BillTypeEnum { XSDDTCSQ("XSDDTCSQ", "销售订单退车申请"), QKTCSQ("QKTCSQ", "欠款提车申请"), GCCKSQ("GCCKSQ", "挂车出库申请"), + XXTHS("XXTHS", "销售退货单"), JCZLQRD("JCZLQRD", "交车资料确认单"), JCECQRD("JCECQRD", "交车资料二次确认单"); + private String billType; private String billTypeName; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java index 7f7031a860..d4b2e34693 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java @@ -26,7 +26,7 @@ public interface BaseVehicleOutMapper extends BaseMapper { int selectCountByVinSid(String vinSid); - IPage selectPageVo(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); BaseVehicleOutDetailsVo details(String sid); @@ -37,7 +37,7 @@ public interface BaseVehicleOutMapper extends BaseMapper { @Select("select * from base_vehicle_out where mainSid = #{xsckdSid}") List fetchByMainSid(String xsckdSid); - BaseVehicleOutDetailsVo selByOrgSidAndVehSid(@Param("useOrgSid") String useOrgSid,@Param("vehSid") String vehSid); + BaseVehicleOutDetailsVo selByOrgSidAndVehSid(@Param("useOrgSid") String useOrgSid, @Param("vehSid") String vehSid); List selByExcel(@Param(Constants.WRAPPER) Wrapper qw); @@ -47,4 +47,8 @@ public interface BaseVehicleOutMapper extends BaseMapper { BaseVehicleOutDetailsNewVo detailsNew(String sid); List listExcelNew(@Param(Constants.WRAPPER) QueryWrapper qw); + + BaseSalesReturnVo selectByVehReturn(@Param("vinSid") String vinSid, @Param("contractNo") String contractNo); + + void deleteByVehReturn(@Param("vinSid") String vinSid, @Param("mainSid") String mainSid); } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml index c01a475ab0..8e578f7696 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml @@ -1,6 +1,7 @@ + @@ -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-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java index 1161a0338b..278b87a367 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java @@ -141,5 +141,5 @@ public interface BaseVehmodelConfigMapper extends BaseMapper @Select("SELECT configurationItemsSid FROM base_vehmodel_config WHERE modelSid = #{modelSid}") List selectModelConfigSidByModelSid(@Param("modelSid") String modelSid); - List selModelByUseOrgSid(String useOrgSid); + List selModelByUseOrgSid(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml index 4fb39437f8..6b7ee431e4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml @@ -372,10 +372,12 @@ \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java index e95a2381f9..277a7186e6 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java @@ -119,8 +119,8 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { } @Override - public ResultBean selectOne(String modelSid, String configSid,String orgSid) { - return baseVehmodelConfigService.selectOne(modelSid, configSid,orgSid); + public ResultBean selectOne(String modelSid, String configSid, String orgSid) { + return baseVehmodelConfigService.selectOne(modelSid, configSid, orgSid); } @Override @@ -131,8 +131,8 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { } @Override - public ResultBean> selModelByUseOrgSid(String useOrgSid) { - return baseVehmodelConfigService.selModelByUseOrgSid(useOrgSid); + public ResultBean> selModelByUseOrgSid(String useOrgSid, String name) { + return baseVehmodelConfigService.selModelByUseOrgSid(useOrgSid, name); } @Override @@ -189,12 +189,12 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { @Override public ResultBean selectCarConfigSummary(String modelSid, String configSid, String userSid) { - return baseVehmodelConfigService.selectCarConfigSummary(modelSid, configSid,userSid); + return baseVehmodelConfigService.selectCarConfigSummary(modelSid, configSid, userSid); } @Override public ResultBean selectCarConfigSummary1(String modelSid, String configSid, String orgSid) { - return baseVehmodelConfigService.selectCarConfigSummary1(modelSid, configSid,orgSid); + return baseVehmodelConfigService.selectCarConfigSummary1(modelSid, configSid, orgSid); } @Override diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java index b14729e748..05397f6c7a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java @@ -942,9 +942,14 @@ public class BaseVehmodelConfigService extends MybatisBaseService> selModelByUseOrgSid(String useOrgSid) { + public ResultBean> selModelByUseOrgSid(String useOrgSid, String name) { ResultBean rb = ResultBean.fireFail(); - List baseVehmodelConfigVos = baseMapper.selModelByUseOrgSid(useOrgSid); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("bvc.useOrgSid", useOrgSid); + if (StringUtils.isNotBlank(name)) { + qw.like("bvm.vehicleAlias", name); + } + List baseVehmodelConfigVos = baseMapper.selModelByUseOrgSid(qw); return rb.success().setData(baseVehmodelConfigVos); } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java index 540b9b241a..ce78956f0a 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java @@ -86,4 +86,8 @@ public interface BusSalesOrderLoancontractFeign { @ResponseBody public ResultBean fetchDetailsByOrderSid(@PathVariable("orderSid") String sid); + @ApiOperation("更新资方合同号和状态") + @PostMapping("/updateBankConAndBusNo") + @ResponseBody + ResultBean updateBankConAndBusNo(@RequestParam("loanContractSid") String loanContractSid,@RequestParam("bankContractNo") String bankContractNo); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java index 863272ac85..173330564d 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java @@ -79,4 +79,9 @@ public class BusSalesOrderLoancontractFeignFallback implements BusSalesOrderLoan public ResultBean fetchDetailsByOrderSid(String sid) { return null; } + + @Override + public ResultBean updateBankConAndBusNo(String loanContractSid, String bankContractNo) { + return null; + } } \ No newline at end of file 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/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index da262506dc..98aeda179f 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -2157,7 +2157,6 @@ public class BusSalesOrderService extends MybatisBaseService crmCustomerTempInfoVoResultBean = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(dto.getCustomerSid()); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java index 9774e55c7d..d2cc732161 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java @@ -35,6 +35,7 @@ import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontract; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractVo; +import org.apache.ibatis.annotations.Update; import java.util.List; @@ -69,4 +70,7 @@ public interface BusSalesOrderLoancontractMapper extends BaseMapper selectByBorrowerSid(String saleOrderBorrowerSid); + + @Update("update bus_sales_order_loancontract set bankContractNo=#{bankContractNo},busNo='305' where sid=#{loanContractSid}") + void updateBankConAndBusNo(@Param("loanContractSid") String loanContractSid,@Param("bankContractNo") String bankContractNo); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java index 087192fc64..7c8413feb7 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java @@ -111,4 +111,9 @@ public class BusSalesOrderLoancontractRest implements BusSalesOrderLoancontractF BusSalesOrderLoancontract entity = busSalesOrderLoancontractService.fetchDetailsByOrderSid(sid); return rb.success().setData(entity); } + + @Override + public ResultBean updateBankConAndBusNo(String loanContractSid, String bankContractNo) { + return busSalesOrderLoancontractService.updateBankConAndBusNo(loanContractSid,bankContractNo); + } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java index 911f13295f..9c3ee5164f 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java @@ -118,4 +118,10 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService listPageVo(PagerQuery pq) { BusSalesOrderReturnVehApplyQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -634,10 +652,67 @@ 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())) { + String realQty = "1"; + busSalesReturnOrdersDto.setMaterialCode(returnVo.getMaterialCode()); + busSalesReturnOrdersDto.setIsFree("0"); + busSalesReturnOrdersDto.setRealQty(realQty); + salesReturnDetailDto.setFMaterialId(returnVo.getMaterialCode()); + salesReturnDetailDto.setFIsFree("false"); + salesReturnDetailDto.setFRealQty(realQty); + 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 +723,12 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService resultBean = flowableFeign.breakProcess(flowTaskVo); @@ -866,7 +947,20 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService map = BeanUtil.beanToMap(resultBean.getData()); updateFlowFiled(map); return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } } + } return rb.setMsg("操作失败!提交的数据不一致!"); } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersMapper.java new file mode 100644 index 0000000000..a9c786964f --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesreturnorders/BusSalesReturnOrdersMapper.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.buscenter.biz.bussalesreturnorders; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.buscenter.api.bussalesreturnorders.BusSalesReturnOrders; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/5/16 13:53 + */ +@Mapper +public interface BusSalesReturnOrdersMapper extends BaseMapper { + + 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-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java index 16534ff805..52948e51e5 100644 --- a/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java +++ b/anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java @@ -8,7 +8,6 @@ import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehmodelconfig.AppModelVeDetailVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; -import com.yxt.anrui.buscenter.api.bussalesorder.OrderSolutionVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemand; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandDto; @@ -415,7 +414,7 @@ public class CrmVehicledemandService extends MybatisBaseService resultBean = getCrmDemand(dto, crmVehicledemand); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); } else { - //新增客户的金融方案 - if(StringUtils.isNotBlank(dto.getTypeKey())){ - if ("1".equals(dto.getTypeKey())) {//资方常规 - CrmSolutions crmSolutions = dto.getCrmSolutions(); - if (crmSolutions != null) { - SolutionssDto solutionsDto = new SolutionssDto(); - BeanUtil.copyProperties(crmSolutions, solutionsDto, "sid"); - solutionsDto.setSaleOrderSid(sid); - solutionsDto.setShowMore(true); - ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - } - crmVehicledemand.setTypeKey("1"); - crmVehicledemand.setType("资方常规"); - } else {//定制金融 - } - SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(sid).getData(); - if (loanSolutions != null) { - if (StringUtils.isBlank(loanSolutions.getTypeKey())) { - crmVehicledemand.setFinancePlan("4");//担保 - crmVehicledemand.setFinancePlanValue("担保");//担保 - } else { - crmVehicledemand.setFinancePlan("3");//自营非担保 - crmVehicledemand.setFinancePlanValue("自营非担保");//自营非担保 - } - } - } - + crmVehicledemand = resultBean.getData(); } baseMapper.insert(crmVehicledemand); @@ -683,71 +636,81 @@ public class CrmVehicledemandService extends MybatisBaseService resultBean = getCrmDemand(dto, crmVehicledemand); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } else { + crmVehicledemand = resultBean.getData(); + } + baseMapper.updateById(crmVehicledemand); + } + return rb.success(); + } + + public ResultBean getCrmDemand(CrmVehicledemandsDto dto, CrmVehicledemand crmVehicledemand) { + ResultBean rb = ResultBean.fireFail(); + //如果是全款且自有资金的,需要删除金融方案 + String purchaseMethod = dto.getPurchaseMethod(); + if ("1".equals(purchaseMethod)) {//全款 + if ("1".equals(dto.getFinancePlan())) {//自有资金 + crmVehicledemand.setType(null); + crmVehicledemand.setTypeKey(null); + loanSolutionsFeign.deleteByOrderSid(crmVehicledemand.getSid()); + } else {//三方金融 + if ("1".equals(dto.getTypeKey())) {//资方常规 + CrmSolutions solutions = dto.getCrmSolutions(); + if (solutions != null) { + SolutionssDto solutionsDto = new SolutionssDto(); + BeanUtil.copyProperties(solutions, solutionsDto, "sid"); + solutionsDto.setSaleOrderSid(crmVehicledemand.getSid()); + if ("2".equals(dto.getFinancePlan())) { + solutionsDto.setShowMore(false); + } + ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); } - crmVehicledemand.setTypeKey("1"); - crmVehicledemand.setType("资方常规"); } - } else { - crmVehicledemand.setType(null); - crmVehicledemand.setTypeKey(null); - loanSolutionsFeign.deleteByOrderSid(sid); + crmVehicledemand.setTypeKey("1"); + crmVehicledemand.setType("资方常规"); } - } else {//贷款 - //新增客户的金融方案 - if(StringUtils.isNotBlank(dto.getTypeKey())){ - if ("1".equals(dto.getTypeKey())) {//资方常规 - CrmSolutions crmSolutions = dto.getCrmSolutions(); - if (crmSolutions != null) { - SolutionssDto solutionsDto = new SolutionssDto(); - BeanUtil.copyProperties(crmSolutions, solutionsDto, "sid"); - solutionsDto.setSaleOrderSid(sid); - solutionsDto.setShowMore(true); - ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); - if (!resultBean.getSuccess()) { - return rb.setMsg(resultBean.getMsg()); - } - } else { - loanSolutionsFeign.deleteByOrderSid(sid); + } + + } else {//贷款 + if (StringUtils.isNotBlank(dto.getTypeKey())) { + if ("1".equals(dto.getTypeKey())) {//资方常规 + CrmSolutions crmSolutions = dto.getCrmSolutions(); + if (crmSolutions != null) { + SolutionssDto solutionsDto = new SolutionssDto(); + BeanUtil.copyProperties(crmSolutions, solutionsDto, "sid"); + solutionsDto.setSaleOrderSid(crmVehicledemand.getSid()); + solutionsDto.setShowMore(true); + ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); } - crmVehicledemand.setTypeKey("1"); - crmVehicledemand.setType("资方常规"); - } else {//定制金融 } - SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(sid).getData(); - if (loanSolutions != null) { - if (StringUtils.isBlank(loanSolutions.getTypeKey())) { - crmVehicledemand.setFinancePlan("4");//担保 - crmVehicledemand.setFinancePlanValue("担保");//担保 - } else { - crmVehicledemand.setFinancePlan("3");//自营非担保 - crmVehicledemand.setFinancePlanValue("自营非担保");//自营非担保 - } + crmVehicledemand.setTypeKey("1"); + crmVehicledemand.setType("资方常规"); + } else {//定制金融 + } + SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(crmVehicledemand.getSid()).getData(); + if (loanSolutions != null) { + if (StringUtils.isBlank(loanSolutions.getTypeKey())) { + crmVehicledemand.setFinancePlan("4");//担保 + crmVehicledemand.setFinancePlanValue("担保");//担保 + } else { + crmVehicledemand.setFinancePlan("3");//自营非担保 + crmVehicledemand.setFinancePlanValue("自营非担保");//自营非担保 } - }else{ - loanSolutionsFeign.deleteByOrderSid(sid); - crmVehicledemand.setTypeKey(null); - crmVehicledemand.setType(null); } - + } else { + loanSolutionsFeign.deleteByOrderSid(crmVehicledemand.getSid()); + crmVehicledemand.setTypeKey(null); + crmVehicledemand.setType(null); } - baseMapper.updateById(crmVehicledemand); } - return rb.success(); + return rb.success().setData(crmVehicledemand); } public ResultBean details(String sid) { 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 diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserInfoVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserInfoVo.java index 1b76779b22..6d2a25fdc5 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserInfoVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserInfoVo.java @@ -27,4 +27,6 @@ public class SysUserInfoVo implements Vo { @ApiModelProperty("员工的组织部门编码") private String orgCode; + + private String mobile; } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml index f2a29c1a8f..8c2397a086 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml @@ -207,7 +207,7 @@ - SELECT * FROM loan_capital_credit_result ${ew.sqlSegment} - - - + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultRest.java index 5a568db5b5..eec53fa7c7 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultRest.java @@ -34,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; + import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditResult; import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditResultQuery; import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditResultVo; @@ -59,42 +60,52 @@ import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditRes @RequestMapping("v1/loancapitalcreditresult") public class LoanCapitalCreditResultRest implements LoanCapitalCreditResultFeign { - @Autowired - private LoanCapitalCreditResultService loanCapitalCreditResultService; + @Autowired + private LoanCapitalCreditResultService loanCapitalCreditResultService; + + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = loanCapitalCreditResultService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean saveImages(List images, String sid) { + return loanCapitalCreditResultService.saveImages(images, sid); + } - @Override - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = loanCapitalCreditResultService.listPageVo(pq); - return rb.success().setData(pv); - } + @Override + public ResultBean> selectImages(String sid) { + return loanCapitalCreditResultService.selectImages(sid); + } - @Override - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody LoanCapitalCreditResultDto dto){ - ResultBean rb = ResultBean.fireFail(); - loanCapitalCreditResultService.saveOrUpdateDto(dto); - return rb.success(); - } + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody LoanCapitalCreditResultDto dto) { + ResultBean rb = ResultBean.fireFail(); + loanCapitalCreditResultService.saveOrUpdateDto(dto); + return rb.success(); + } - @Override - @ApiOperation("根据sid批量删除") + @Override + @ApiOperation("根据sid批量删除") @PostMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - loanCapitalCreditResultService.delBySids(sids); - return rb.success(); - } + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + loanCapitalCreditResultService.delBySids(sids); + return rb.success(); + } - @Override - @ApiOperation("根据SID获取一条记录") + @Override + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - LoanCapitalCreditResultDetailsVo vo = loanCapitalCreditResultService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanCapitalCreditResultDetailsVo vo = loanCapitalCreditResultService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java index 2ccc2b06b6..e8c78cd315 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java @@ -28,6 +28,15 @@ package com.yxt.anrui.riskcenter.biz.loancapitalcreditresult; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatefile.LoanAttachTypeEnum; +import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatefile.LoanHomevisitInvestigateFileDetailsVo; +import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatefile.LoanHomevisitInvestigateFileDto; +import com.yxt.anrui.riskcenter.api.loanhomevisitprep.LoanHomevisitPrepVo; +import com.yxt.anrui.riskcenter.biz.loanhomevisitinvestigatefile.LoanHomevisitInvestigateFileService; +import com.yxt.common.base.config.component.FileUploadComponent; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -41,8 +50,10 @@ import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditRes import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditResultDto; import com.yxt.anrui.riskcenter.api.loancapitalcreditresult.LoanCapitalCreditResultFeign; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -60,51 +71,153 @@ import java.util.List; */ @Service public class LoanCapitalCreditResultService extends MybatisBaseService { - private QueryWrapper createQueryWrapper(LoanCapitalCreditResultQuery query) { - // todo: 这里根据具体业务调整查询条件 - // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); - QueryWrapper qw = new QueryWrapper<>(); - return qw; - } - - public PagerVo listPageVo(PagerQuery pq) { - LoanCapitalCreditResultQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); - IPage page = PagerUtil.queryToPage(pq); - IPage pagging = baseMapper.selectPageVo(page, qw); - PagerVo p = PagerUtil.pageToVo(pagging, null); - return p; - } - - public void saveOrUpdateDto(LoanCapitalCreditResultDto dto){ + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private BusSalesOrderLoancontractFeign busSalesOrderLoancontractFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private LoanHomevisitInvestigateFileService loanHomevisitInvestigateFileService; + + public PagerVo listPageVo(PagerQuery pq) { + LoanCapitalCreditResultQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("lr.state", query.getType()); + if ("1".equals(query.getType())) { + qw.eq("bl.busNo", 301); + } + if (StringUtils.isNotBlank(query.getMenuUrl())) { + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgSidPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgSidPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("bo.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("bo.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("bo.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("bo.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("bo.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("bo.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getSaleDeptName())) { + qw.like("bo.orgName", query.getSaleDeptName()); + } + if (StringUtils.isNotBlank(query.getStaffName())) { + qw.like("bo.staffName", query.getStaffName()); + } + if (StringUtils.isNotBlank(query.getLoanContractNo())) { + qw.like("bl.loanCotractNo", query.getLoanContractNo()); + } + if (StringUtils.isNotBlank(query.getLoanPeoName())) { + qw.like("bl.borrowerName", query.getLoanPeoName()); + } + if (StringUtils.isNotBlank(query.getCapitalName())) { + qw.like("bl.bankName", query.getCapitalName()); + } + if (StringUtils.isNotBlank(query.getPolicyName())) { + qw.like("bl.policyName", query.getPolicyName()); + } + if (StringUtils.isNotBlank(query.getBankContractNo())) { + qw.like("bl.bankContractNo", query.getBankContractNo()); + } + if (StringUtils.isNotBlank(query.getCapCarefulResult())) { + qw.like("lr.capCarefulResult", query.getCapCarefulResult()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(LoanCapitalCreditResultDto dto) { String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { this.insertByDto(dto); - return; - } - this.updateByDto(dto); - } - - public void insertByDto(LoanCapitalCreditResultDto dto){ - LoanCapitalCreditResult entity = new LoanCapitalCreditResult(); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.insert(entity); - } - - public void updateByDto(LoanCapitalCreditResultDto dto){ - String dtoSid = dto.getSid(); + return; + } + baseMapper.updateStateAndDateResult(dtoSid, dto.getCapCarefulDate(), dto.getCapCarefulResult()); + busSalesOrderLoancontractFeign.updateBankConAndBusNo(dto.getLoanContractSid(), dto.getBankContractNo()); + } + + public void insertByDto(LoanCapitalCreditResultDto dto) { + LoanCapitalCreditResult entity = new LoanCapitalCreditResult(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(LoanCapitalCreditResultDto dto) { + String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { return; - } - LoanCapitalCreditResult entity = fetchBySid(dtoSid); - BeanUtil.copyProperties(dto, entity, "id", "sid"); - baseMapper.updateById(entity); - } - - public LoanCapitalCreditResultDetailsVo fetchDetailsVoBySid(String sid){ - LoanCapitalCreditResult entity = fetchBySid(sid); - LoanCapitalCreditResultDetailsVo vo = new LoanCapitalCreditResultDetailsVo(); - BeanUtil.copyProperties(entity, vo); - return vo; - } + } + LoanCapitalCreditResult entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public LoanCapitalCreditResultDetailsVo fetchDetailsVoBySid(String sid) { + LoanCapitalCreditResult entity = fetchBySid(sid); + LoanCapitalCreditResultDetailsVo vo = new LoanCapitalCreditResultDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public ResultBean saveImages(List images, String sid) { + ResultBean rb = ResultBean.fireFail(); + loanHomevisitInvestigateFileService.delByMainSidAndType(sid, LoanAttachTypeEnum.XSFJ.getAttachType()); + for (String image : images) { + LoanHomevisitInvestigateFileDto loanHomevisitInvestigateFileDto = new LoanHomevisitInvestigateFileDto(); + loanHomevisitInvestigateFileDto.setMainSid(sid); + loanHomevisitInvestigateFileDto.setAttachType(LoanAttachTypeEnum.XSFJ.getAttachType()); + if (image.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + image = image.replace(fileUploadComponent.getUrlPrefix(), ""); + } + loanHomevisitInvestigateFileDto.setFileUrl(image); + loanHomevisitInvestigateFileService.saveOrUpdateDto(loanHomevisitInvestigateFileDto); + } + return rb.success(); + } + + public ResultBean> selectImages(String sid) { + ResultBean rb = ResultBean.fireFail(); + List xsfjFileVos = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.XSFJ.getAttachType()); + List xsfjImages = new ArrayList<>(); + if (xsfjFileVos != null && xsfjFileVos.size() > 0) { + for (LoanHomevisitInvestigateFileDetailsVo xsfjFileVo : xsfjFileVos) { + xsfjImages.add(xsfjFileVo.getFileUrl()); + } + } + return rb.success().setData(xsfjImages); + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml index 189930cffa..5da2c0fb9a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml @@ -88,7 +88,7 @@ \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index 00102d83b0..1613b97c8c 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -1374,6 +1374,11 @@ public class LoanSolutionsService extends MybatisBaseService> selModelByUseOrgSid(CreditReviewDetailsQuery query) { ResultBean rb = ResultBean.fireFail(); String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData(); - List baseVehmodelConfigVos = baseVehmodelConfigFeign.selModelByUseOrgSid(useOrgSid).getData(); + List baseVehmodelConfigVos = baseVehmodelConfigFeign.selModelByUseOrgSid(useOrgSid,query.getName()).getData(); List identityDetailsVos = new ArrayList<>(); for (BaseVehmodelConfigVos baseVehmodelConfigVo : baseVehmodelConfigVos) { IdentityDetailsVo identityDetailsVo = new IdentityDetailsVo(); + identityDetailsVo.setId(baseVehmodelConfigVo.getModelSid()); identityDetailsVo.setSid(baseVehmodelConfigVo.getModelSid()); identityDetailsVo.setDictKey(baseVehmodelConfigVo.getModelSid()); identityDetailsVo.setDictValue(baseVehmodelConfigVo.getVehicleAlias());