Browse Source

销售订单-移动端完善初始化订金信息、保存订金信息、获取虚拟订金单分页列表

master
dimengzhe 3 years ago
parent
commit
fd9715e765
  1. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java
  2. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java
  3. 16
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java
  4. 13
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java
  5. 32
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositDto.java
  6. 31
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java
  7. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java
  8. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java
  9. 25
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListQuery.java
  10. 38
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListVo.java
  11. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml
  12. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml
  13. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  14. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java
  15. 27
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml
  16. 17
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java
  17. 118
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java
  18. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  19. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java
  20. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoDto.java
  21. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java
  22. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoQuery.java
  23. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java
  24. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositListVo.java
  25. 13
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  26. 21
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

2
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;
}

2
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;
}

16
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(业务管理) <br/>
@ -58,5 +62,13 @@ public interface BusSalesOrderDepositFeign {
@GetMapping(value = "/getDepositInfo/{sid}")
ResultBean<AppBusSalesOrderDepositVo> getDepositInfo(@PathVariable(value = "sid") String sid);
@ApiOperation("保存订金信息")
@PutMapping(value = "/save")
ResultBean save(@RequestBody AppBusSalesOrderDepositDto dto);
@ApiOperation("获取虚拟订金分页类别")
@PostMapping(value = "/getDepositList")
ResultBean<PagerVo<AppDepositListVo>> getDepositList(@RequestBody PagerQuery<AppDepositListQuery> pagerQuery);
}

13
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<AppBusSalesOrderDepositVo> getDepositInfo(String sid) {
return null;
}
@Override
public ResultBean save(AppBusSalesOrderDepositDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<AppDepositListVo>> getDepositList(PagerQuery<AppDepositListQuery> pagerQuery) {
return null;
}
}

32
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<AppBusSalesOrderDepositListDto> virtualOrderList;
}

31
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<String> entrustImage;
}

2
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<String> entrustImage = new ArrayList<>();
@ApiModelProperty(value = "款项支付委托书")
private String payPath;
@ApiModelProperty(value = "付款人")
private String name;
private Boolean showImage;
}

2
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<AppBusSalesOrderDepositListVo> virtualOrderList = new ArrayList<>();
}

25
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<String> sidList;
}

38
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;
}

4
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}
</select>
</mapper>

1
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}
</select>

2
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<BusMainDepositMapp
}
}
qw.eq("bd.staffSid", query.getStaffSid());
qw.eq("bc.customerSid", query.getCustomerSid());
// qw.eq("bc.customerSid", query.getCustomerSid());
qw.eq("bd.state", 1);
qw.eq("bmd.depositBillTypeKey", "01");
return qw;

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java

@ -25,11 +25,17 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussalesorderdeposit;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.buscenter.api.busmaindeposit.BusMainDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -73,4 +79,6 @@ public interface BusSalesOrderDepositMapper extends BaseMapper<BusSalesOrderDepo
* @return
*/
AppBusSalesOrderDepositVo getDepositInfo(String sid);
IPage<AppDepositListVo> getDepositList(IPage<BusMainDeposit> page, @Param(Constants.WRAPPER) QueryWrapper<BusMainDeposit> qw, @Param("name") String name);
}

27
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}
</select>
<select id="getDepositList" resultType="com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo">
select bmd.sid as virtualSid,
bmd.depositBillType,
bmd.billNo as virtualId,
bmd.createDate as date,
bmd.staffName as sellerName,
bd.draweeName as payName,
bd.draweeMobile as mobile,
bd.deposit,
bd.usedDeposit
from bus_main_deposit bmd
left join bus_deposit bd on bd.billSid = bmd.sid
<where>
${ew.sqlSegment}
and IFNULL(bd.usedDeposit, 0) &lt;&gt; IFNULL(bd.deposit, 0)
<if test="name != null and name != ''">
and concat(bd.draweeName
, bmd.billNo) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
</select>
</mapper>

17
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<AppBusSalesOrderDepositVo> getDepositInfo(String sid) {
return busSalesOrderDepositService.getDepositInfo(sid);
}
@Override
public ResultBean save(AppBusSalesOrderDepositDto dto) {
return busSalesOrderDepositService.saveDepositInfo(dto);
}
@Override
public ResultBean<PagerVo<AppDepositListVo>> getDepositList(PagerQuery<AppDepositListQuery> pagerQuery) {
ResultBean<PagerVo<AppDepositListVo>> rb = ResultBean.fireFail();
PagerVo<AppDepositListVo> pv = busSalesOrderDepositService.getDepositList(pagerQuery);
return rb.success().setData(pv);
}
}

118
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<BusSalesOrde
private BusDepositFictitiousService busDepositFictitiousService;
@Autowired
private BusSalesOrderPriceService busSalesOrderPriceService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private BusDepositService busDepositService;
public String saveOrderDepo(BusSalesOrderDepositDto busSalesOrderDepositDto, String sid) {
BusSalesOrderDeposit busSalesOrderDeposit = new BusSalesOrderDeposit();
@ -131,6 +148,12 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
String payPath = listVo.getPayPath();
List<String> 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<BusSalesOrde
}
return rb.success().setData(vo);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean saveDepositInfo(AppBusSalesOrderDepositDto dto) {
ResultBean rb = ResultBean.fireFail();
String salesOrderSid = dto.getSalesOrderSid();
//查询销售订单是否存在
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(salesOrderSid);
if (busSalesOrder == null) {
return rb.setMsg("该销售订单单据不存在");
}
BusSalesOrderDeposit busSalesOrderDeposit = baseMapper.selectByOrderSid(salesOrderSid);
String depositSid = "";
if (busSalesOrderDeposit == null) {
busSalesOrderDeposit = new BusSalesOrderDeposit();
BeanUtil.copyProperties(dto, busSalesOrderDeposit, "sid");
depositSid = busSalesOrderDeposit.getSid();
baseMapper.insert(busSalesOrderDeposit);
} else {
depositSid = busSalesOrderDeposit.getSid();
BeanUtil.copyProperties(dto, busSalesOrderDeposit, "sid");
baseMapper.updateById(busSalesOrderDeposit);
}
List<AppBusSalesOrderDepositListVo> 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<AppBusSalesOrderDepositListDto> 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<AppDepositListVo> getDepositList(PagerQuery<AppDepositListQuery> pagerQuery) {
AppDepositListQuery query = pagerQuery.getParams();
QueryWrapper<BusMainDeposit> qw = createDepositPageWrapper(query);
IPage<BusMainDeposit> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppDepositListVo> pagging = baseMapper.getDepositList(page, qw, query.getName());
List<AppDepositListVo> 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<AppDepositListVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
private QueryWrapper<BusMainDeposit> createDepositPageWrapper(AppDepositListQuery query) {
QueryWrapper<BusMainDeposit> qw = new QueryWrapper<>();
if (query != null) {
if (query.getSidList().size() > 0) {
qw.notIn("bmd.sid", query.getSidList());
}
if (StringUtils.isNotBlank(query.getUserSid())) {
ResultBean<SysUserInfoVo> 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;
}
}

13
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<DepositInfoVo> getDeposit(@PathVariable(value = "saleOrderSid") String sid);
@ApiOperation("保存订金信息")
@PutMapping("/save/depositInfo")
@ResponseBody
ResultBean saveDeposit(@RequestBody DepositInfoDto dto);
@ApiOperation("获取虚拟订金分页列表")
@PostMapping("/init/virtuaDepositList")
@ResponseBody
ResultBean<PagerVo<DepositListVo>> getDepositList(@RequestBody PagerQuery<DepositInfoQuery> pagerQuery);
}

13
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<DepositInfoVo> getDeposit(String sid) {
return null;
}
@Override
public ResultBean saveDeposit(DepositInfoDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<DepositListVo>> getDepositList(PagerQuery<DepositInfoQuery> pagerQuery) {
return null;
}
}

39
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<DepositInfoListDto> virtualOrderList;
}

36
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<String> entrustImage;
}

24
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<String> sidList;
}

2
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<DepositInfoListVo> virtualOrderList = new ArrayList<>();
}

36
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;
}

13
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<PagerVo<DepositListVo>> getDepositList(PagerQuery<DepositInfoQuery> pagerQuery) {
return appBusSalesOrderService.getDepositList(pagerQuery);
}
}

21
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<PagerVo<DepositListVo>> getDepositList(PagerQuery<DepositInfoQuery> pagerQuery) {
ResultBean<PagerVo<DepositListVo>> rb = ResultBean.fireFail();
PagerQuery<AppDepositListQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppDepositListVo>> virtualOrders = busSalesOrderDepositFeign.getDepositList(pq);
PagerVo<DepositListVo> vo = CoverUtils.selectPagerVo(virtualOrders.getData());
return rb.success().setData(vo);
}
}
Loading…
Cancel
Save