diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java index c72c964890..73c9c09712 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java @@ -63,4 +63,6 @@ public class BusDepositFictitious extends BaseEntity { @ApiModelProperty("款项支付委托书") private String payPath; + private String depositBillSid; + } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java index a352c5bed1..e527344961 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java @@ -58,4 +58,6 @@ public class BusDepositFictitiousDto implements Dto { @ApiModelProperty("款项支付委托书") private String payPath; + private String depositBillSid; + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java index 4c4e84c4ac..7583d1c3f4 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java @@ -25,13 +25,17 @@ *********************************************************/ package com.yxt.anrui.buscenter.api.bussalesorderdeposit; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo; +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 org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.*; /** * Project: anrui-buscenter(业务管理)
@@ -58,5 +62,13 @@ public interface BusSalesOrderDepositFeign { @GetMapping(value = "/getDepositInfo/{sid}") ResultBean getDepositInfo(@PathVariable(value = "sid") String sid); + @ApiOperation("保存订金信息") + @PutMapping(value = "/save") + ResultBean save(@RequestBody AppBusSalesOrderDepositDto dto); + + @ApiOperation("获取虚拟订金分页类别") + @PostMapping(value = "/getDepositList") + ResultBean> getDepositList(@RequestBody PagerQuery pagerQuery); + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java index 1fd85ddcaa..5077d39594 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java @@ -25,7 +25,10 @@ *********************************************************/ package com.yxt.anrui.buscenter.api.bussalesorderdeposit; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -53,4 +56,14 @@ public class BusSalesOrderDepositFeignFallback implements BusSalesOrderDepositFe public ResultBean getDepositInfo(String sid) { return null; } + + @Override + public ResultBean save(AppBusSalesOrderDepositDto dto) { + return null; + } + + @Override + public ResultBean> getDepositList(PagerQuery pagerQuery) { + return null; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositDto.java new file mode 100644 index 0000000000..d9a00f30fb --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositDto.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:11 + * @Description + */ +@Data +public class AppBusSalesOrderDepositDto implements Dto { + private static final long serialVersionUID = -6018466743530869830L; + + @ApiModelProperty(value = "销售订单sid") + private String salesOrderSid; + @ApiModelProperty(value = "订金合计") + private String depositAll; + @ApiModelProperty(value = "单台订金") + private String deposit; + @ApiModelProperty(value = "缴纳方式") + private String depositType; + @ApiModelProperty(value = "缴纳方式key") + private String depositTypeKey; + @ApiModelProperty(value = "需补交订金") + private String makeUpDeposit; + + private List virtualOrderList; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java new file mode 100644 index 0000000000..9d13d6b882 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:11 + * @Description + */ +@Data +public class AppBusSalesOrderDepositListDto implements Dto { + private static final long serialVersionUID = -3851658669440387893L; + + @ApiModelProperty(value = "虚拟订单sid") + private String depositBillSid; + + @ApiModelProperty(value = "虚拟订单编号") + private String depositBillNo; + + @ApiModelProperty(value = "可用金额") + private String depositPrice; + + @ApiModelProperty(value = "结转金额") + private String price; + @ApiModelProperty(value = "委托书") + private List entrustImage; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java index 917d7b06d7..76ad317600 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java @@ -28,6 +28,8 @@ public class AppBusSalesOrderDepositListVo implements Vo { private List entrustImage = new ArrayList<>(); @ApiModelProperty(value = "款项支付委托书") private String payPath; + @ApiModelProperty(value = "付款人") + private String name; private Boolean showImage; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java index b22794e991..f6f45a9dc9 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java @@ -28,6 +28,8 @@ public class AppBusSalesOrderDepositVo implements Vo { private String payTypeKey; @ApiModelProperty(value = "订金信息sid") private String sid; + @ApiModelProperty(value = "单台订金") + private String deposit; private List virtualOrderList = new ArrayList<>(); } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListQuery.java new file mode 100644 index 0000000000..cfbe17183d --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:46 + * @Description + */ +@Data +public class AppDepositListQuery implements Query { + private static final long serialVersionUID = 621127323376049424L; + + @ApiModelProperty(value = "单据编号/付款人") + private String name; + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "已选择的虚拟订单") + private List sidList; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListVo.java new file mode 100644 index 0000000000..9aa564f006 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListVo.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:45 + * @Description + */ +@Data +public class AppDepositListVo implements Vo { + private static final long serialVersionUID = -9070916923734657833L; + + @ApiModelProperty(value = "虚拟订单sid") + private String virtualSid; + @ApiModelProperty(value = "虚拟订单编号") + private String virtualId; + @ApiModelProperty(value = "付款人") + private String payName; + @ApiModelProperty(value = "联系电话") + private String mobile; + @ApiModelProperty(value = "销售专员") + private String sellerName; + @ApiModelProperty(value = "创建日期") + private String date; + @ApiModelProperty(value = "订金") + @JsonSerialize(using = ToStringSerializer.class) + private String deposit; + @ApiModelProperty(value = "已用订金") + @JsonSerialize(using = ToStringSerializer.class) + private String usePeposit; + @ApiModelProperty(value = "剩余金额") + private String remainderMoney; +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml index dee40389d5..313123fabb 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml @@ -36,11 +36,13 @@ resultType="com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositListVo"> select bf.depositBillNo as virtualOrderId, bd.sid as virtualOrderSid, + bd2.draweeName as name, bf.depositPrice as remainderMoney, bf.price as payMoney, bf.payPath from bus_deposit_fictitious bf - left join bus_main_deposit bd on bd.billNo = bf.depositBillNo + left join bus_main_deposit bd on bd.sid = bf.depositBillSid + left join bus_deposit bd2 on bf.depositBillSid = bd2.billSid where bf.depositSid = #{sid} \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml index ef2e1ecaf5..536fe0ee0b 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml @@ -233,7 +233,6 @@ bd.vehicleNum from bus_main_deposit bmd left join bus_deposit bd on bd.billSid = bmd.sid - left join bus_deposit_customer bc on bc.billSid = bmd.sid ${ew.customSqlSegment} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java index b73114f679..2cd2222bcf 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java @@ -1599,7 +1599,7 @@ public class BusMainDepositService extends MybatisBaseService @@ -73,4 +79,6 @@ public interface BusSalesOrderDepositMapper extends BaseMapper getDepositList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("name") String name); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml index 9675bbd1a9..29f147ad7c 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml @@ -34,8 +34,33 @@ bd.depositAll as depositTotal, bd.depositType as payType, bd.depositTypeKey as payTypeKey, - bd.sid + bd.sid, + bd.deposit from bus_sales_order_deposit bd where bd.salesOrderSid = #{sid} + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java index 16b4dce511..ea2b26cbf6 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java @@ -26,8 +26,13 @@ package com.yxt.anrui.buscenter.biz.bussalesorderdeposit; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositFeign; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo; +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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @@ -58,4 +63,16 @@ public class BusSalesOrderDepositRest implements BusSalesOrderDepositFeign { public ResultBean getDepositInfo(String sid) { return busSalesOrderDepositService.getDepositInfo(sid); } + + @Override + public ResultBean save(AppBusSalesOrderDepositDto dto) { + return busSalesOrderDepositService.saveDepositInfo(dto); + } + + @Override + public ResultBean> getDepositList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = busSalesOrderDepositService.getDepositList(pagerQuery); + return rb.success().setData(pv); + } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java index 17d1e3b3d5..34807787aa 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java @@ -26,21 +26,34 @@ package com.yxt.anrui.buscenter.biz.bussalesorderdeposit; 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.busdeposit.BusDeposit; +import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious; +import com.yxt.anrui.buscenter.api.busmaindeposit.BusMainDeposit; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto; -import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositListVo; -import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.*; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService; import com.yxt.anrui.buscenter.biz.busdepositfictitious.BusDepositFictitiousService; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +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.Arrays; import java.util.List; import java.util.Objects; @@ -69,6 +82,10 @@ public class BusSalesOrderDepositService extends MybatisBaseService stringList = Arrays.asList(payPath.split(",")); listVo.setEntrustImage(stringList); + //根据销售订单 + if (!busSalesOrder.getCustomerName().equals(listVo.getName())) { + listVo.setShowImage(true); + } else { + listVo.setShowImage(false); + } } } vo.setVirtualOrderList(listVos); @@ -140,4 +163,95 @@ public class BusSalesOrderDepositService extends MybatisBaseService list = busDepositFictitiousService.getList(depositSid); + list.parallelStream().filter(Objects::nonNull).collect(Collectors.toList()); + if (list.size() > 0) { + busDepositFictitiousService.deleteByDepositSid(depositSid); + } + //若缴纳方式为订金结转 + if ("02".equals(dto.getDepositTypeKey())) { + List listVos = dto.getVirtualOrderList(); + listVos.parallelStream().filter(Objects::nonNull).collect(Collectors.toList()); + for (AppBusSalesOrderDepositListDto listDto : listVos) { + //查询付款人是否和客户一样 + BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid()); + if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) { + if (listDto.getEntrustImage().isEmpty()) { + return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书"); + } + + } + BusDepositFictitious busDepositFictitious = new BusDepositFictitious(); + BeanUtil.copyProperties(listDto, busDepositFictitious, "sid"); + busDepositFictitious.setDepositSid(depositSid); + busDepositFictitious.setPayPath(StringUtils.join(listDto.getEntrustImage(), ",")); + busDepositFictitiousService.save(busDepositFictitious); + } + } + return rb.success().setMsg("保存成功"); + } + + public PagerVo getDepositList(PagerQuery pagerQuery) { + AppDepositListQuery query = pagerQuery.getParams(); + QueryWrapper qw = createDepositPageWrapper(query); + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.getDepositList(page, qw, query.getName()); + List list = pagging.getRecords(); + list.parallelStream().filter(Objects::nonNull).collect(Collectors.toList()); + if (!list.isEmpty()) { + for (AppDepositListVo vo : list) { + String deposit = vo.getDeposit(); + String useDeposit = vo.getUsePeposit(); + if (StringUtils.isNotBlank(deposit)) { + if (StringUtils.isNotBlank(useDeposit)) { + vo.setRemainderMoney((new BigDecimal(deposit).subtract(new BigDecimal(useDeposit))).toString()); + } else { + vo.setRemainderMoney(deposit); + } + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + private QueryWrapper createDepositPageWrapper(AppDepositListQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (query.getSidList().size() > 0) { + qw.notIn("bmd.sid", query.getSidList()); + } + if (StringUtils.isNotBlank(query.getUserSid())) { + ResultBean resultBean = sysUserFeign.selectUserInfoByUserSid(query.getUserSid()); + if (resultBean.getSuccess()) { + qw.eq("bd.staffSid", resultBean.getData().getStaffSid()); + } + } + } + qw.eq("bd.state", 1); + qw.eq("bmd.depositBillTypeKey", "01"); + return qw; + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java index 3f3cc7273e..6a720cef6e 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java @@ -29,7 +29,10 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeignFallback; import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto; @@ -180,5 +183,15 @@ public interface AppBusSalesOrderFeign { @ResponseBody ResultBean getDeposit(@PathVariable(value = "saleOrderSid") String sid); + @ApiOperation("保存订金信息") + @PutMapping("/save/depositInfo") + @ResponseBody + ResultBean saveDeposit(@RequestBody DepositInfoDto dto); + + @ApiOperation("获取虚拟订金分页列表") + @PostMapping("/init/virtuaDepositList") + @ResponseBody + ResultBean> getDepositList(@RequestBody PagerQuery pagerQuery); + } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java index 941175a725..f78e498d11 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java @@ -28,7 +28,10 @@ package com.yxt.anrui.terminal.api.autoservice.saleOrders; import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto; @@ -153,4 +156,14 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign { public ResultBean getDeposit(String sid) { return null; } + + @Override + public ResultBean saveDeposit(DepositInfoDto dto) { + return null; + } + + @Override + public ResultBean> getDepositList(PagerQuery pagerQuery) { + return null; + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoDto.java new file mode 100644 index 0000000000..e61f16392b --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoDto.java @@ -0,0 +1,39 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/7 14:48 + * @Description + */ +@Data +public class DepositInfoDto implements Dto { + private static final long serialVersionUID = -4949780703969217862L; + + @ApiModelProperty(value = "销售订单sid") + @JsonProperty(value = "saleOrderSid") + private String salesOrderSid; + @ApiModelProperty(value = "订金合计") + @JsonProperty(value = "depositTotal") + private String depositAll; + @ApiModelProperty(value = "单台订金") + private String deposit; + @ApiModelProperty(value = "缴纳方式") + @JsonProperty(value = "payType") + private String depositType; + @ApiModelProperty(value = "缴纳方式key") + @JsonProperty(value = "payTypeKey") + private String depositTypeKey; + @ApiModelProperty(value = "需补交订金") + @JsonProperty(value = "compensatePay") + private String makeUpDeposit; + + private List virtualOrderList; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java new file mode 100644 index 0000000000..69099fc1bf --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:03 + * @Description + */ +@Data +public class DepositInfoListDto implements Dto { + private static final long serialVersionUID = 3590473728282480566L; + @ApiModelProperty(value = "虚拟订单sid") + @JsonProperty(value = "virtualOrderSid") + private String depositBillSid; + + @ApiModelProperty(value = "虚拟订单编号") + @JsonProperty(value = "virtualOrderId") + private String depositBillNo; + + @ApiModelProperty(value = "可用金额") + @JsonProperty(value = "remainderMoney") + private String depositPrice; + + @ApiModelProperty(value = "结转金额") + @JsonProperty(value = "payMoney") + private String price; + @ApiModelProperty(value = "委托书") + private List entrustImage; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoQuery.java new file mode 100644 index 0000000000..d055908470 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoQuery.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:35 + * @Description + */ +@Data +public class DepositInfoQuery implements Query { + private static final long serialVersionUID = 6278884037189945682L; + + @ApiModelProperty(value = "单据编号/付款人") + private String name; + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "已选择的虚拟订单") + private List sidList; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java index 27d88a0c47..b45a4996df 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java @@ -26,5 +26,7 @@ public class DepositInfoVo implements Vo { @ApiModelProperty(value = "订金缴纳方式key") private String payTypeKey; + private String deposit; + private List virtualOrderList = new ArrayList<>(); } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositListVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositListVo.java new file mode 100644 index 0000000000..83b5cc7a43 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositListVo.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/7 15:39 + * @Description + */ +@Data +public class DepositListVo implements Vo { + private static final long serialVersionUID = -7003966807418378201L; + + @ApiModelProperty(value = "虚拟订单sid") + private String virtualSid; + @ApiModelProperty(value = "虚拟订单编号") + private String virtualId; + @ApiModelProperty(value = "付款人") + private String payName; + @ApiModelProperty(value = "联系电话") + private String mobile; + @ApiModelProperty(value = "销售专员") + private String sellerName; + @ApiModelProperty(value = "创建日期") + private String date; + @ApiModelProperty(value = "订金") + private String deposit; + @ApiModelProperty(value = "已用订金") + private String usePeposit; + @ApiModelProperty(value = "剩余金额") + private String remainderMoney; + + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java index 8715ab71f6..109d8c34fb 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java @@ -29,7 +29,10 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.AppBusSalesOrderFeign; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto; @@ -235,4 +238,14 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign { return appBusSalesOrderService.getDeposit(sid); } + @Override + public ResultBean saveDeposit(DepositInfoDto dto) { + return appBusSalesOrderService.saveDeposit(dto); + } + + @Override + public ResultBean> getDepositList(PagerQuery pagerQuery) { + return appBusSalesOrderService.getDepositList(pagerQuery); + } + } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java index 71376d33c8..279b448694 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java @@ -29,7 +29,10 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositFeign; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountFeign; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo; @@ -47,7 +50,10 @@ import com.yxt.anrui.buscenter.api.bussalesorderprice.app.AppBusSalesOrderPriceV import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery; import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountListVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo; @@ -309,4 +315,19 @@ public class AppBusSalesOrderService { BeanUtil.copyProperties(appBusSalesOrderDepositVo, vo); return rb.success().setData(vo); } + + public ResultBean saveDeposit(DepositInfoDto dto) { + AppBusSalesOrderDepositDto appBusSalesOrderDepositDto = new AppBusSalesOrderDepositDto(); + BeanUtil.copyProperties(dto, appBusSalesOrderDepositDto); + ResultBean resultBean = busSalesOrderDepositFeign.save(appBusSalesOrderDepositDto); + return resultBean; + } + + public ResultBean> getDepositList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerQuery pq = CoverUtils.getPagerQuery(pagerQuery); + ResultBean> virtualOrders = busSalesOrderDepositFeign.getDepositList(pq); + PagerVo vo = CoverUtils.selectPagerVo(virtualOrders.getData()); + return rb.success().setData(vo); + } } \ No newline at end of file