Browse Source

移动端销售订单订金信息修复

zhanglei
dimengzhe 3 years ago
parent
commit
c9d9927b64
  1. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  2. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  3. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java
  4. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.java
  5. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml
  6. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousService.java
  7. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  8. 22
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  9. 38
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java
  10. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  11. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java
  12. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java
  13. 5
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  14. 9
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -248,4 +248,9 @@ public interface BusSalesOrderFeign {
@GetMapping("/selectOrderByContractNo")
@ResponseBody
ResultBean<BusSalesOrder> selectOrderByContractNo(@RequestParam("contractNo")String contractNo);
@ApiOperation("销售订单的虚拟订金删除")
@DeleteMapping("/deleteVirtualDepositList")
@ResponseBody
ResultBean deleteVirtualDepositList(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam("virtualOrderSid") String virtualOrderSid, @RequestParam("depositRecordSid") String depositRecordSid);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java

@ -224,4 +224,9 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
public ResultBean<BusSalesOrder> selectOrderByContractNo(String contractNo) {
return null;
}
@Override
public ResultBean deleteVirtualDepositList(String saleOrderSid, String virtualOrderSid, String depositRecordSid) {
return null;
}
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java

@ -28,4 +28,7 @@ public class AppBusSalesOrderDepositListDto implements Dto {
private String price;
@ApiModelProperty(value = "委托书")
private List<String> entrustImage;
@ApiModelProperty("虚拟订金使用记录")
private String useDepositRecordSid;
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.java

@ -85,4 +85,6 @@ public interface BusDepositFictitiousMapper extends BaseMapper<BusDepositFictiti
List<AppBusSalesOrderDepositListVo> getList(String sid);
String selectDeposit(String depositBillNo);
List<String> getStringList(String salesOrderSid);
}

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml

@ -56,4 +56,12 @@
from bus_deposit_fictitious bf
where depositBillNo = #{depositBillNo}
</select>
<select id="getStringList" resultType="java.lang.String">
select bf.sid
from bus_deposit_fictitious bf
left join bus_sales_order_deposit bd on bd.sid = bf.depositSid
left join bus_sales_order bo on bo.sid = bd.salesOrderSid
where bo.sid = #{salesOrderSid}
</select>
</mapper>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousService.java

@ -106,4 +106,8 @@ public class BusDepositFictitiousService extends MybatisBaseService<BusDepositFi
public String selectDeposit(String depositBillNo) {
return baseMapper.selectDeposit(depositBillNo);
}
public List<String> getStringList(String salesOrderSid) {
return baseMapper.getStringList(salesOrderSid);
}
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -301,4 +301,9 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
public ResultBean<BusSalesOrder> selectOrderByContractNo(String contractNo) {
return busSalesOrderService.selectOrderByContractNo(contractNo);
}
@Override
public ResultBean deleteVirtualDepositList(String saleOrderSid, String virtualOrderSid, String depositRecordSid) {
return busSalesOrderService.deleteVirtualDepositList(saleOrderSid, virtualOrderSid,depositRecordSid);
}
}

22
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -3262,4 +3262,26 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
return rb.success();
}
public ResultBean deleteVirtualDepositList(String saleOrderSid, String virtualOrderSid, String depositRecordSid) {
ResultBean rb = ResultBean.fireFail();
//查询该销售订单是否存在
BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid);
if(busSalesOrder == null){
return rb.setMsg("该销售订单不存在");
}
//查询该销售订单的使用记录是否存在
BusDepositFictitious busDepositFictitious = busDepositFictitiousService.fetchBySid(depositRecordSid);
if(busDepositFictitious == null){
return rb.setMsg("该虚拟订金使用记录不存在");
}
//更新
//查询该虚拟订金单已使用的订金值
String depositAll = busDepositFictitiousService.selectDeposit(busDepositFictitious.getDepositBillNo());
depositAll = new BigDecimal(depositAll).subtract(busDepositFictitious.getPrice()).toString();
//更新该虚拟订单的订金值
busDepositService.updateDeposit(depositAll, busDepositFictitious.getDepositBillNo());
busDepositFictitiousService.deleteBySid(depositRecordSid);
return rb.success();
}
}

38
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java

@ -58,10 +58,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -208,6 +206,35 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
if ("02".equals(dto.getDepositTypeKey())) {
List<AppBusSalesOrderDepositListDto> listVos = dto.getVirtualOrderList();
listVos.removeAll(Collections.singleton(null));
if (!listVos.isEmpty()) {
//判断是否存在重复的虚拟订金单
List<String> depositNoList = listVos.stream().map(v->v.getDepositBillNo()).collect(Collectors.toList());
Set<String> set = new HashSet<>(depositNoList);
if(depositNoList.size() != set.size()){
return rb.setMsg("存在相同虚拟订金单,请刷新后重新添加");
}
//查询存在使用记录sid的与数据库中该销售订单的虚拟订金使用记录的是否一致,若不一致则提示刷新后重试。若一致则继续
List<String> recordSidList = listVos.stream().filter(v-> null != v.getUseDepositRecordSid()).filter(v->!v.getUseDepositRecordSid().isEmpty()).map(v->v.getUseDepositRecordSid()).collect(Collectors.toList());
Set<String> setRecord = new HashSet<>(recordSidList);
if(recordSidList.size() != setRecord.size()) {
return rb.setMsg("存在相同虚拟订金单,请刷新后重新添加");
}
//查询该销售订单下的所有虚拟订金单的信息
List<String> recordSidLists = busDepositFictitiousService.getStringList(salesOrderSid);
if(recordSidList.size() != recordSidLists.size()){
return rb.setMsg("存在缓存数据,请刷新后再进行保存操作");
}else{
recordSidList.removeAll(recordSidLists);
if(recordSidList.size()>0){
return rb.setMsg("存在缓存数据,请刷新后再进行保存操作");
}
recordSidList = listVos.stream().filter(v-> null != v.getUseDepositRecordSid()).filter(v->!v.getUseDepositRecordSid().isEmpty()).map(v->v.getUseDepositRecordSid()).collect(Collectors.toList());
recordSidLists.removeAll(recordSidList);
if(recordSidLists.size()>0){
return rb.setMsg("存在缓存数据,请刷新后再进行保存操作");
}
}
for (AppBusSalesOrderDepositListDto listDto : listVos) {
//查询付款人是否和客户一样
BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid());
@ -218,6 +245,9 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
}
makeUpDecimal = makeUpDecimal.add(new BigDecimal(listDto.getPrice()));
}
}
}
BusSalesOrderDeposit busSalesOrderDeposit = baseMapper.selectByOrderSid(salesOrderSid);
String depositSid = "";

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java

@ -207,6 +207,11 @@ public interface AppBusSalesOrderFeign {
@ResponseBody
ResultBean<PagerVo<DepositListVo>> getDepositList(@RequestBody PagerQuery<DepositInfoQuery> pagerQuery);
@ApiOperation("虚拟订金删除")
@DeleteMapping("/deleteVirtualDepositList")
@ResponseBody
ResultBean deleteVirtualDepositList(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam("virtualOrderSid") String virtualOrderSid, @RequestParam("depositRecordSid") String depositRecordSid);
/*-----------------------------------------补充说明------------------------------------------*/
@ApiOperation("保存销售订单补充说明")

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java

@ -182,6 +182,11 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign {
return null;
}
@Override
public ResultBean deleteVirtualDepositList(String saleOrderSid, String virtualOrderSid, String depositRecordSid) {
return null;
}
@Override
public ResultBean updateNodesBySid(OrderRemarksDto dto) {
return null;

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java

@ -32,5 +32,7 @@ public class DepositInfoListDto implements Dto {
private String price;
@ApiModelProperty(value = "委托书")
private List<String> entrustImage;
@ApiModelProperty("虚拟订金单使用记录sid")
private String useDepositRecordSid;
}

5
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java

@ -269,6 +269,11 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign {
return appBusSalesOrderService.getDepositList(pagerQuery);
}
@Override
public ResultBean deleteVirtualDepositList(String saleOrderSid, String virtualOrderSid, String depositRecordSid) {
return appBusSalesOrderService.deleteVirtualDepositList(saleOrderSid,virtualOrderSid,depositRecordSid);
}
@Override
public ResultBean updateNodesBySid(OrderRemarksDto dto) {
return appBusSalesOrderService.updateNodesBySid(dto);

9
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

@ -595,4 +595,13 @@ public class AppBusSalesOrderService {
ResultBean resultBean = busSalesOrderFeign.saveSaleOrderInputVin(vinDto);
return resultBean;
}
public ResultBean deleteVirtualDepositList(String saleOrderSid, String virtualOrderSid, String depositRecordSid) {
ResultBean rb = ResultBean.fireFail();
ResultBean resultBean = busSalesOrderFeign.deleteVirtualDepositList(saleOrderSid, virtualOrderSid, depositRecordSid);
if(!resultBean.getSuccess()){
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
}
Loading…
Cancel
Save