Browse Source

移动端优惠包申请

master
fanzongzhe 2 years ago
parent
commit
37bb07ffa7
  1. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackageapply/BaseDiscountpackageApplyDetailsVo.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackageapply/BaseDiscountpackageApplyQuery.java
  3. 57
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java
  4. 15
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  5. 53
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDeliveryDto.java
  6. 37
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDeliveryVo.java
  7. 21
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java
  8. 12
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java
  9. 8
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java
  10. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java
  11. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListDto.java
  12. 16
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverQuery.java
  13. 29
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverVos.java
  14. 34
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/GcVinBillDto.java
  15. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConQuery.java
  16. 18
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java
  17. 14
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryVo.java
  18. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemListDetailsVo.java
  19. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml
  20. 10
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java
  21. 375
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java
  22. 25
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitService.java
  23. 10
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/discountPackageApply/AppDiscountpackageApplyDetailsVo.java
  24. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/discountPackageApply/AppDiscountpackageQuery.java

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackageapply/BaseDiscountpackageApplyDetailsVo.java

@ -92,7 +92,13 @@ public class BaseDiscountpackageApplyDetailsVo implements Vo {
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("备注")
private String remarks; // 备注
// @ApiModelProperty("合同sid")
@ApiModelProperty("销售订单sid")
private String saleOrderSid; //
@ApiModelProperty("ModelOrgPath")
private String modelOrgPath; //
private String modelSid; //
private String configSid; //
// @ApiModelProperty("合同sid")
// private String contractSid;
// @ApiModelProperty("车型sid")
// private String modelSid;
@ -108,6 +114,8 @@ public class BaseDiscountpackageApplyDetailsVo implements Vo {
private String procInsId; // 流程实例的sid
@ApiModelProperty("台数")
private String carNumber; // 台数
@ApiModelProperty("订单优惠包总价值")
private String discountAllPrice; // 订单优惠包总价值
// @ApiModelProperty("成交价")
// private String price;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basediscountpackageapply/BaseDiscountpackageApplyQuery.java

@ -62,7 +62,7 @@ public class BaseDiscountpackageApplyQuery implements Query {
@ApiModelProperty("组织机构sid")
private String orgPath;
@ApiModelProperty("合同编号 客户名称")
private String names;
private String name;
@ApiModelProperty("申请日期")
private String date;
@ApiModelProperty("1待办 2已办")

57
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java

@ -48,6 +48,10 @@ import com.yxt.anrui.base.biz.commoncontract.CommonContractService;
import com.yxt.anrui.buscenter.api.busdiscountpackagehandover.BusDiscountpackageHandoverDto;
import com.yxt.anrui.buscenter.api.busdiscountpackagehandover.BusDiscountpackageHandoverFeign;
import com.yxt.anrui.buscenter.api.busdiscountpackagehandoverlist.BusDiscountpackageHandoverListDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -74,6 +78,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@ -115,6 +121,10 @@ public class BaseDiscountpackageApplyService extends MybatisBaseService<BaseDisc
private SysStaffinfoFeign sysStaffinfoFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BusSalesOrderDiscountFeign busSalesOrderDiscountFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
private QueryWrapper<BaseDiscountpackageApply> createQueryWrapper(BaseDiscountpackageApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -134,18 +144,26 @@ public class BaseDiscountpackageApplyService extends MybatisBaseService<BaseDisc
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getNames())) {
qw.and(wrapper -> wrapper.like("contractId", query.getNames()).or().like("customerName", query.getNames()));
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("contractId", query.getName()).or().like("customerName", query.getName()));
}
if (StringUtils.isNotBlank(query.getType())) {
if ("2".equals(query.getType())) {
qw.and(wrapper -> wrapper.ne("nodeState", "待提交").ne("nodeState", "发起申请"));
qw.and(wrapper -> wrapper.ne("nodeState", "待提交"));
}
if ("1".equals(query.getType())) {
qw.and(wrapper -> wrapper.eq("nodeState", "待提交").or().eq("nodeState", "发起申请"));
qw.and(wrapper -> wrapper.eq("nodeState", "待提交"));
}
}
qw.apply(StringUtils.isNotEmpty(query.getDate()), "date_format (applyDate,'%Y-%m-%d') = date_format('" + query.getDate() + "','%Y-%m-%d')");
if (StringUtils.isNotBlank(query.getDate())) {
String date = query.getDate();
String[] sArray = date.split("至");
String start = sArray[0];
String end = sArray[1];
qw.apply(StringUtils.isNotEmpty(start), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + start + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(end), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + end + "','%Y-%m-%d')"
);
}
qw.orderByDesc("applyDate");
return qw;
}
@ -215,6 +233,35 @@ public class BaseDiscountpackageApplyService extends MybatisBaseService<BaseDisc
vo.setCarNumber(entity.getNumber());
vo.setOrgPath(entity.getOrgSidPath());
vo.setProcInsId(entity.getProcInstId());
if (StringUtils.isNotBlank(entity.getContractId())) {
CommonContract contract = commonContractService.selectByNo(entity.getContractId()).getData();
if (null != contract) {
if (StringUtils.isNotBlank(contract.getBusSid())) {
vo.setSaleOrderSid(contract.getBusSid());
}
if (StringUtils.isNotBlank(contract.getModelSid())) {
vo.setModelSid(contract.getModelSid());
}
if (StringUtils.isNotBlank(contract.getConfigSid())) {
vo.setConfigSid(contract.getConfigSid());
}
}
}
if (StringUtils.isNotBlank(vo.getSaleOrderSid())) {
List<AppBusSalesOrderDiscountListVo> discountListVos = busSalesOrderDiscountFeign.getDiscountList(vo.getSaleOrderSid()).getData();
discountListVos.removeAll(Collections.singleton(null));
if (!discountListVos.isEmpty()) {
int sum = discountListVos.stream().map(AppBusSalesOrderDiscountListVo::getTotalPrice).collect(Collectors.toList()).stream().mapToInt(Integer::parseInt).sum();
vo.setDiscountAllPrice(String.valueOf(sum));
} else {
vo.setDiscountAllPrice("0");
}
BusSalesOrderDetailsVo orderDetailsVo = busSalesOrderFeign.fetchDetailsBySid(vo.getSaleOrderSid()).getData();
if (null != orderDetailsVo) {
String orgSidPath = orderDetailsVo.getOrgSidPath();
vo.setModelOrgPath(orgSidPath);
}
}
//根据优惠包申请sid查询对应优惠包列表
List<BaseDiscountpackagelistDto> dtoList = baseDiscountpackagelistService.fetchDetailsByDiscountSid(sid);
vo.setDiscountPackageList(dtoList);

15
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -2523,28 +2523,29 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
if (StringUtils.isNotBlank(params.getNames())) {
qw.and(wrapper -> wrapper.like("contractNo", params.getNames()).or().like("partyB", params.getNames()));
}
qw.orderByDesc("createDate");
IPage<CommonContract> page = PagerUtil.queryToPage(query);
IPage<AppCommonContractListVo> pagging = baseMapper.getAppContractList(page, qw);
List<AppCommonContractListVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (AppCommonContractListVo record : records) {
if (StringUtils.isNotBlank(record.getModelSid())) {
BaseVehicleModel vehicleModel = baseVehicleModelService.fetchBySid(record.getModelSid());
if (null != vehicleModel) {
record.setModelOrgPath(vehicleModel.getCreateOrg());
}
}
if (StringUtils.isNotBlank(record.getSaleOrderSid())) {
List<AppBusSalesOrderDiscountListVo> discountListVos = busSalesOrderDiscountFeign.getDiscountList(record.getSaleOrderSid()).getData();
discountListVos.removeAll(Collections.singleton(null));
if (!discountListVos.isEmpty()) {
int sum = discountListVos.stream().map(AppBusSalesOrderDiscountListVo::getTotalPrice).collect(Collectors.toList()).stream().mapToInt(Integer::parseInt).sum();
record.setDiscountAllPrice(String.valueOf(sum));
} else {
record.setDiscountAllPrice("0");
}
BusSalesOrderDetailsVo orderDetailsVo = busSalesOrderFeign.fetchDetailsBySid(record.getSaleOrderSid()).getData();
if (null != orderDetailsVo) {
String orgSidPath = orderDetailsVo.getOrgSidPath();
record.setModelOrgPath(orgSidPath);
}
}
}
}
PagerVo<AppCommonContractListVo> p = PagerUtil.pageToVo(pagging, null);
return p;

53
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDeliveryDto.java

@ -1,5 +1,7 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.buscenter.api.bushandover.app.AppDeliveryConDto;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemForDeliveryDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
@ -20,44 +22,35 @@ public class BusHandoverDeliveryDto implements Dto {
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("交车数量")
private String carNum;
@ApiModelProperty("订单sid")
private String orderSid;
@ApiModelProperty("业务员sid")
private String staffSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("身份证号")
private String idNo;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("车辆交付日期")
private Date deliverDate;
@ApiModelProperty("车辆交付地点")
private String deliverAddress;
@ApiModelProperty("交车定位经纬度")
private String locationCode;
@ApiModelProperty("付款方式key")
private String payTypeKey;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("付款方式value")
private String payTypeValue;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司sid")
private String useOrgName;
@ApiModelProperty("分公司sid")
private String orgSidPath;
@ApiModelProperty("交车资料")
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("交付日期")
private Date deliverDate;
@ApiModelProperty("交付地点key")
private String deliverAddressKey;
private String deliverAddress;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("身份证号")
private String idNo;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("taskId")
private String taskId; // taskId
private List<BusHandoverItemForDeliveryDto> busItemvos;
}

37
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDeliveryVo.java

@ -1,10 +1,12 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemForDeliveryVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@ -15,24 +17,23 @@ import java.util.List;
@Data
public class BusHandoverDeliveryVo implements Vo {
@ApiModelProperty("交车数量")
private String carNum;
@ApiModelProperty("订单sid")
private String orderSid;
@ApiModelProperty("业务员sid")
private String staffSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("付款方式key")
private String payTypeKey;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("付款方式value")
private String payTypeValue;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("分公司sid")
private String orgSidPath;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("身份证号")
private String idNo;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("车辆交付日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date deliverDate;
@ApiModelProperty("车辆交付地点")
private String deliverAddress;
@ApiModelProperty("车辆交付地点Key")
private String deliverAddressKey;
@ApiModelProperty("交车资料")
private List<BusHandoverItemForDeliveryVo> busItemvos;

21
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java

@ -38,14 +38,23 @@ public class BusHandoverDetailVo implements Vo {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("交付车辆信息")
private List<BusHandoverItemListDetailsVo> items;
private List<BusHandoverItemListDetailsVo> carList = new ArrayList<>();
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;
private List<String> receiveCarImages = new ArrayList<>();
@ApiModelProperty("委托提车授权书、委托人身份证(正反面)")
private List<String> entrustImages;
private List<String> entrustImages = new ArrayList<>();
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages;
private List<String> entrustConfirmImages = new ArrayList<>();
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages;
private List<String> exitTicketImages = new ArrayList<>();
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织机构sid")
private String orgSidPath;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("组织机构sid")
private String taskId;
}

12
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java

@ -48,7 +48,7 @@ public interface BusHandoverFeign {
@ApiOperation("确认交付信息回显")
@PostMapping("/deliveryByHandoverWaitSids")
@ResponseBody
public ResultBean<BusHandoverDeliveryVo> deliveryByHandoverWaitSids(@RequestBody String[] sids);
public ResultBean<BusHandoverDeliveryVo> deliveryByHandoverWaitSids(@RequestBody AppDeliveryConQuery query);
@ApiOperation("保存确认交付信息")
@ -61,8 +61,8 @@ public interface BusHandoverFeign {
@ResponseBody
public ResultBean<BusHandoverDetailVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("交车确认更新备注图片")
@PostMapping("/deliveryVehicle")
@ApiOperation("交车确认")
@PostMapping("/savedeliveryVehicle")
@ResponseBody
public ResultBean<String> deliveryVehicle(@RequestBody BusHandoverDetailDto dto);
@ -70,6 +70,12 @@ public interface BusHandoverFeign {
@PostMapping("/createPdf")
ResultBean<List<String>> createPdf(@RequestParam("sid") String sid);
@ApiOperation("挂车保存确认交付信息")
@PostMapping("/saveGcVinBill")
@ResponseBody
ResultBean<String> saveGcVinBill(@RequestBody GcVinBillDto dto);
/*******************************移动端*******************************************************************/
@ApiOperation("获取交车交付信息")
@PostMapping("/getDeliveryBill")

8
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java

@ -7,6 +7,7 @@ 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 org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -31,7 +32,7 @@ public class BusHandoverFeignFallback implements BusHandoverFeign {
}
@Override
public ResultBean deliveryByHandoverWaitSids(String[] sids) {
public ResultBean deliveryByHandoverWaitSids(AppDeliveryConQuery query) {
return null;
}
@ -55,6 +56,11 @@ public class BusHandoverFeignFallback implements BusHandoverFeign {
return null;
}
@Override
public ResultBean<String> saveGcVinBill(GcVinBillDto dto) {
return null;
}
@Override
public ResultBean<AppDeliveryConVo> getDeliveryBill(AppDeliveryConQuery query) {
return null;

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java

@ -22,7 +22,7 @@ public class BusHandoverInitDto implements Dto {
private List<BusHandoverInitListDto> carList;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages;
// @ApiModelProperty("委托人身份证(正反面)")
// @ApiModelProperty("委托人身份证(正反面)")
// private List<String> idCardImages;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;
@ -31,4 +31,5 @@ public class BusHandoverInitDto implements Dto {
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages;
private String orgPath;
private String orgSidPath;
}

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListDto.java

@ -3,6 +3,7 @@ package com.yxt.anrui.buscenter.api.bushandover;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -21,4 +22,9 @@ public class BusHandoverInitListDto implements Dto {
private List<String> policyImages;
private List<String> deliveryImages;
//交车照片
private List<String> handoverPhotos = new ArrayList<>();
//保单
private List<String> policyPhotos = new ArrayList<>();
}

16
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverQuery.java

@ -26,12 +26,6 @@ public class BusHandoverQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("客户名称/合同编号")
private String name;
@ApiModelProperty("orgPath")
private String orgPath;
@ApiModelProperty("合同编号")
private String contractNo;
@ -39,5 +33,13 @@ public class BusHandoverQuery implements Query {
private String customerName;
@ApiModelProperty("付款方式value")
private String payTypeValue;
private String payTypeKey;
@ApiModelProperty("客户名称/合同编号")
private String name;
@ApiModelProperty("orgPath")
private String orgPath;
}

29
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverVos.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -12,19 +13,31 @@ import lombok.Data;
@Data
public class BusHandoverVos implements Vo {
@ApiModelProperty("交车状态value")
private String handoverStateValue;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("交车状态")
private String handoverStateValue;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车型别名")
private String modelName;
@ApiModelProperty("交车数量")
private String carNum;
@ApiModelProperty("车型")
private String modelName;
@ApiModelProperty("显示办理")
private Boolean showComplete;
@ApiModelProperty("显示挂车")
private Boolean showTrailer;
@ApiModelProperty("是否显示交车确认")
private boolean showUpdate;
@ApiModelProperty("是否显示挂车")
private boolean showGcBtn;
@ApiModelProperty("确认资料下载地铁")
private String filePath;
@ApiModelProperty("确认挂车资料下载地址")
private String trailerFilePath;
@ApiModelProperty("显示挂车下载按钮")
private Boolean showGcDownload;
@ApiModelProperty("挂车确认按钮")
private boolean showGcBtn2;
}

34
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/GcVinBillDto.java

@ -0,0 +1,34 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/6/16 16:18
*/
@Data
public class GcVinBillDto implements Dto {
private String sid;
@ApiModelProperty("身份证号")
@JsonProperty("idNo")
private String trailerIdNo;
@JsonProperty("deliverAddress")
private String trailerAddress;
@ApiModelProperty("接收人")
@JsonProperty("recipient")
private String trailerRecipient;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("联系电话")
@JsonProperty("mobile")
private String trailerMobile;
@ApiModelProperty("车辆交付日期")
@JsonProperty("deliverDate")
private String trailerDeliverDate;
}

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConQuery.java

@ -17,4 +17,5 @@ public class AppDeliveryConQuery implements Query {
private String userSid;
private String orgPath;
private String orgSidPath;
}

18
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.bushandoveritems;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -14,17 +15,14 @@ import java.util.List;
@Data
public class BusHandoverItemForDeliveryDto implements Dto {
private String handoverSid;
private String modelSid;
private String modelName;
private String vinSid;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("资料key")
private String itemKey;
@ApiModelProperty("资料value")
private String itemValue;
private List<String> handoverPhoto;
private List<String> policyPhoto;
@ApiModelProperty("是否是燃气车 0不是1是")
private String isFuelVehicle; // 是否是燃气车 0不是1是
@ApiModelProperty("材料是否完全")
private String completeState; // 是否是燃气车 0不是1是
private String sid;
}

14
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryVo.java

@ -12,14 +12,14 @@ import lombok.Data;
@Data
public class BusHandoverItemForDeliveryVo implements Vo {
private String modelSid;
private String modelName;
private String vinSid;
// private String modelSid;
// private String modelName;
private String sid;
private String vinNo;
private String itemKey;
private String itemValue;
@ApiModelProperty("是否是燃气车 0不是1是")
private String isFuelVehicle; // 是否是燃气车 0不是1是
@ApiModelProperty("资料是否完全0不全1全")
private String completeState;
// @ApiModelProperty("是否是燃气车 0不是1是")
// private String isFuelVehicle; // 是否是燃气车 0不是1是
// @ApiModelProperty("资料是否完全0不全1全")
// private String completeState;
}

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemListDetailsVo.java

@ -3,6 +3,7 @@ package com.yxt.anrui.buscenter.api.bushandoveritems;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -13,10 +14,10 @@ import java.util.List;
@Data
public class BusHandoverItemListDetailsVo implements Vo {
private String sid;
private String vinSid;
private String vinNo;
//交车照片
private List<String> handoverPhoto;
private List<String> deliveryImages = new ArrayList<>();
//保单
private List<String> policyPhoto;
private List<String> policyImages = new ArrayList<>();
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml

@ -126,7 +126,10 @@
bh.customerName,
bh.handoverStateValue,
bh.modelName,
bh.carNum
bh.carNum,
bh.nodeState,
bh.filePath,
bh.trailerFilePath
from bus_handover bh
<where>
${ew.sqlSegment}

10
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java

@ -12,6 +12,7 @@ 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.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -44,8 +45,8 @@ public class BusHandoverRest implements BusHandoverFeign {
}
@Override
public ResultBean<BusHandoverDeliveryVo> deliveryByHandoverWaitSids(String[] sids) {
return busHandoverService.deliveryByHandoverWaitSids(sids);
public ResultBean<BusHandoverDeliveryVo> deliveryByHandoverWaitSids(AppDeliveryConQuery query) {
return busHandoverService.deliveryByHandoverWaitSids(query);
}
@Override
@ -68,6 +69,11 @@ public class BusHandoverRest implements BusHandoverFeign {
return busHandoverService.createPdf(sid);
}
@Override
public ResultBean<String> saveGcVinBill(GcVinBillDto dto) {
return busHandoverService.saveGcVinBill(dto);
}
@Override
public ResultBean<AppDeliveryConVo> getDeliveryBill(AppDeliveryConQuery query) {
return busHandoverService.getDeliveryBill(query);

375
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java

@ -81,6 +81,7 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestBody;
import java.io.File;
import java.io.InputStream;
@ -702,7 +703,6 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
List<BusHandoverInitListDto> carList = dto.getCarList();
carList.removeAll(Collections.singleton(null));
if (!carList.isEmpty()) {
for (BusHandoverInitListDto busHandoverInitListDto : carList) {
String vinSid = busHandoverInitListDto.getVinSid();
List<String> policyImagesList = busHandoverInitListDto.getPolicyImages();
@ -845,40 +845,24 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
/**
* 确认交付信息回显
*
* @param sids
* @param
* @return
*/
public ResultBean<BusHandoverDeliveryVo> deliveryByHandoverWaitSids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
public ResultBean<BusHandoverDeliveryVo> deliveryByHandoverWaitSids(AppDeliveryConQuery query) {
ResultBean<BusHandoverDeliveryVo> rb = ResultBean.fireFail();
BusHandoverDeliveryVo vo = new BusHandoverDeliveryVo();
vo.setDeliverDate((new Date()));
vo.setUserSid(query.getUserSid());
vo.setOrgSidPath(query.getOrgSidPath());
List<BusHandoverItemForDeliveryVo> voList = new ArrayList<>();
vo.setCarNum(String.valueOf(sids.length));
List<String> sids = query.getList();
sids.removeAll(Collections.singleton(null));
for (String sid : sids) {
//遍历sid从待交车列表中查询信息
BusHandoverWait handoverWait = busHandoverWaitService.fetchBySid(sid);
if (handoverWait != null) {
BusHandoverItemForDeliveryVo itemVo = new BusHandoverItemForDeliveryVo();
CommonContract contract = commonContractFeign.selectByNo(handoverWait.getContractNo()).getData();
if (null != contract) {
if (StringUtils.isNotBlank(contract.getBusSid())) {
vo.setOrderSid(contract.getBusSid());
}
if (StringUtils.isNotBlank(contract.getStaffSid())) {
vo.setStaffSid(contract.getStaffSid());
}
}
//合同号
vo.setContractNo(handoverWait.getContractNo());
vo.setCustomerName(handoverWait.getCustomerName());
vo.setCustomerSid(handoverWait.getCustomerSid());
vo.setPayTypeKey(handoverWait.getPayTypeKey());
vo.setPayTypeValue(handoverWait.getPayTypeValue());
vo.setModelName(handoverWait.getModelName());
itemVo.setVinSid(handoverWait.getVinSid());
itemVo.setVinNo(handoverWait.getVinNo());
itemVo.setModelSid(handoverWait.getModelSid());
itemVo.setModelName(handoverWait.getModelName());
StringBuffer sb = new StringBuffer();
StringBuffer sbKey = new StringBuffer();
//从交车准备中查询交车资料
@ -895,7 +879,6 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
if (prepareVehicle.getOnBoardDataState() > 0) {
BusVehicleInformationHandoverDetailsListVo data = busVehicleInformationHandoverService.detailsByVinSid(handoverWait.getVinSid()).getData();
if (null != data) {
itemVo.setIsFuelVehicle(data.getIsFuelVehicle());
if (data.getInformations().size() > 0) {
List<BusVehicleInformationVo> informations = data.getInformations();
for (BusVehicleInformationVo information : informations) {
@ -946,19 +929,8 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
sbKey.delete(sbKey.length() - 1, sbKey.length());
itemVo.setItemValue(sb.toString());
itemVo.setItemKey(sbKey.toString());
if (itemVo.getIsFuelVehicle().equals("0")) {
if (itemVo.getItemKey().equals("001、002、003、004、005、006、007、008、009")) {
itemVo.setCompleteState("1");
} else {
itemVo.setCompleteState("0");
}
} else {
if (itemVo.getItemKey().equals("001、002、003、004、005、006、007、008")) {
itemVo.setCompleteState("1");
} else {
itemVo.setCompleteState("0");
}
}
itemVo.setVinNo(handoverWait.getVinNo());
itemVo.setSid(sid);
}
voList.add(itemVo);
}
@ -974,67 +946,120 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
* @return
*/
public ResultBean<String> saveOrUpdateBusHandover(BusHandoverDeliveryDto dto) throws Exception {
ResultBean rb = ResultBean.fireFail();
//ToDo:验证是否包含已存在的车辆
String contractNo = dto.getContractNo();
List<BusHandoverItemForDeliveryDto> vinList = dto.getBusItemvos();
if (vinList.size() == 0) {
return rb.setMsg("请选择车辆");
}
List<String> vinSidList = vinList.stream().map(v -> v.getVinSid()).collect(Collectors.toList());
int count = baseMapper.selectByCount(contractNo, vinSidList);
if (count > 0) {
return rb.setMsg("选择的车辆包含已存在交车确认记录的数据");
ResultBean<String> rb = ResultBean.fireFail();
BusHandover busHandover = new BusHandover();
BeanUtil.copyProperties(dto, busHandover, "id", "sid");
//流程状态
busHandover.setNodeState("待提交");
//交车状态
busHandover.setHandoverStateKey("001");
busHandover.setHandoverStateValue("未交车");
busHandover.setCreateBySid(dto.getUserSid());
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath());
if (orgSidByPath.getSuccess()) {
String userOrgSid = orgSidByPath.getData();
busHandover.setUseOrgSid(userOrgSid);
//交车资料确认单编号
String billNo = getApplyCode(userOrgSid);
busHandover.setBillNo(billNo);
ResultBean<SysOrganizationVo> organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid);
if (organizationVo.getSuccess()) {
SysOrganizationVo organizationVoData = organizationVo.getData();
if (null != organizationVoData) {
busHandover.setUseOrgName(organizationVoData.getName());
}
}
}
BusHandover entity = new BusHandover();
String sid = entity.getSid();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setHandoverStateKey("001");
entity.setHandoverStateValue("未交车");
if (StringUtils.isNotBlank(dto.getUserSid())) {
entity.setCreateBySid(dto.getUserSid());
}
//交车资料确认单编号
String billNo = getApplyCode(dto.getUseOrgSid());
entity.setBillNo(billNo);
entity.setNodeState("待提交");
baseMapper.insert(entity);
List<BusHandoverItemForDeliveryDto> busItemvos = dto.getBusItemvos();
for (BusHandoverItemForDeliveryDto busItemvo : busItemvos) {
BusHandoverItems items = new BusHandoverItems();
BeanUtil.copyProperties(busItemvo, items);
items.setHandoverSid(sid);
int insert = busHandoverItemsService.insert(items);
if (insert > 0) {
//逻辑删除待交车车辆列表中勾选车辆
busHandoverWaitService.deleteByVinSid(dto.getContractNo(), busItemvo.getVinSid());
}
}
//打印pdf
List<String> filePaths = createPdf(entity.getSid()).getData();
List<File> fileList = new ArrayList<>();
if (!filePaths.isEmpty()) {
for (String filePath : filePaths) {
File file = new File(filePath);
fileList.add(file);
if (!CollectionUtils.isEmpty(dto.getBusItemvos())) {
List<BusHandoverItemForDeliveryDto> vinList = dto.getBusItemvos();
for (BusHandoverItemForDeliveryDto deliveryConDto : vinList) {
String recordSid = deliveryConDto.getSid();
BusHandoverWait handoverWait = busHandoverWaitService.fetchBySid(recordSid);
//交车数量
busHandover.setCarNum(String.valueOf(vinList.size()));
//合同号
busHandover.setContractNo(handoverWait.getContractNo());
//客户名
busHandover.setCustomerName(handoverWait.getCustomerName());
//客户sid
busHandover.setCustomerSid(handoverWait.getCustomerSid());
//付款方式
busHandover.setPayTypeKey(handoverWait.getPayTypeKey());
busHandover.setPayTypeValue(handoverWait.getPayTypeValue());
//车型
busHandover.setModelName(handoverWait.getModelName());
//业务员sid 业务订单sid
CommonContract contract = commonContractFeign.selectByNo(handoverWait.getContractNo()).getData();
if (null != contract) {
if (StringUtils.isNotBlank(contract.getBusSid())) {
busHandover.setOrderSid(contract.getBusSid());
}
if (StringUtils.isNotBlank(contract.getStaffSid())) {
busHandover.setStaffSid(contract.getStaffSid());
}
}
BusHandoverItems items = new BusHandoverItems();
items.setItemKey(deliveryConDto.getItemKey());
items.setItemValue(deliveryConDto.getItemValue());
items.setVinNo(deliveryConDto.getVinNo());
items.setVinSid(handoverWait.getVinSid());
items.setHandoverSid(busHandover.getSid());
items.setModelSid(handoverWait.getModelSid());
items.setModelName(handoverWait.getModelName());
BusVehicleInformationHandoverDetailsListVo data = busVehicleInformationHandoverService.detailsByVinSid(handoverWait.getVinSid()).getData();
if (null != data) {
items.setIsFuelVehicle(data.getIsFuelVehicle());
}
if (items.getIsFuelVehicle().equals("0")) {
if (items.getItemKey().equals("001、002、003、004、005、006、007、008、009")) {
items.setCompleteState("1");
} else {
items.setCompleteState("0");
}
} else {
if (items.getItemKey().equals("001、002、003、004、005、006、007、008")) {
items.setCompleteState("1");
} else {
items.setCompleteState("0");
}
}
items.setVehivelOrTrailer("主车");
busHandoverItemsService.insert(items);
//逻辑删除待准备交车列表
busHandoverWaitService.deleteByVinSid(handoverWait.getContractNo(), handoverWait.getVinSid());
}
}
baseMapper.insert(busHandover);
ResultBean<List<String>> pdf = createPdf(busHandover.getSid());
String path = "";
String filePath = "/template/";
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String targetPath = docPdfComponent.getUploadTemplateUrl();
File file = WordConvertUtils.mulFile2One(fileList, targetPath + dateStr + seconds + "交车确认.pdf");
if (fileList.size() <= 0) {
path = null;
} else {
for (File fileDelete : fileList) {
fileDelete.delete();
if (pdf.getSuccess()) {
//打印pdf
List<String> filePaths = pdf.getData();
List<File> fileList = new ArrayList<>();
if (!filePaths.isEmpty()) {
for (String filePath : filePaths) {
File file = new File(filePath);
fileList.add(file);
}
}
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String targetPath = docPdfComponent.getUploadTemplateUrl();
File file = WordConvertUtils.mulFile2One(fileList, targetPath + dateStr + seconds + "交车确认.pdf");
if (fileList.size() <= 0) {
path = null;
} else {
for (File fileDelete : fileList) {
fileDelete.delete();
}
path = dateStr + seconds + "交车确认.pdf";
}
path = filePath + dateStr + seconds + "交车确认.pdf";
}
return rb.success().setData(path);
BusHandover entity = fetchBySid(busHandover.getSid());
entity.setFilePath(path);
baseMapper.updateById(entity);
String temp = "/template/";
return rb.success().setData(temp + path);
}
/**
@ -1339,15 +1364,11 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getPayTypeValue())) {
qw.like("payTypeValue", query.getPayTypeValue());
if (StringUtils.isNotBlank(query.getPayTypeKey())) {
qw.like("payTypeKey", query.getPayTypeKey());
}
qw.eq("createBySid", query.getUserSid());
qw.eq("isDelete", 0);
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("contractNo", query.getName()).or().like("customerName", query.getName())
.or().like("payTypeValue", query.getName()));
}
return qw;
}
@ -1363,6 +1384,42 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
QueryWrapper<BusHandover> qw = createQueryWrapper(query);
IPage<BusHandover> page = PagerUtil.queryToPage(pq);
IPage<BusHandoverVos> pagging = baseMapper.selectListPageVo(page, qw);
List<BusHandoverVos> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
String temp = "/template/";
if (records.size() > 0) {
for (BusHandoverVos record : records) {
if (record.getNodeState().equals("待提交") || record.getNodeState().equals("发起申请")) {
record.setShowUpdate(true);
} else {
record.setShowUpdate(false);
}
if (record.getHandoverStateValue().equals("已交车")) {
List<BusHandoverInitListVo> deliveryConfirmInfo = busHandoverItemsService.getDeliveryConfirmInfo(record.getSid());
deliveryConfirmInfo.removeAll(Collections.singleton(null));
if (!deliveryConfirmInfo.isEmpty()) {
for (BusHandoverInitListVo vo : deliveryConfirmInfo) {
List<BaseTrailer> trailers = baseTrailerFeign.getByVehSid(vo.getVinSid()).getData();
trailers.removeAll(Collections.singleton(null));
if (!trailers.isEmpty() && trailers.size() > 0) {
record.setShowGcBtn(true);
} else {
record.setShowGcBtn(false);
}
}
}
} else {
record.setShowGcBtn(false);
}
if (StringUtils.isNotBlank(record.getTrailerFilePath())) {
record.setShowGcBtn(false);
record.setShowGcBtn2(true);
record.setShowGcDownload(true);
}
record.setFilePath(temp + record.getFilePath());
record.setTrailerFilePath(temp + record.getTrailerFilePath());
}
}
PagerVo<BusHandoverVos> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
@ -1378,6 +1435,7 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
BusHandover busHandover = fetchBySid(sid);
BusHandoverDetailVo vo = new BusHandoverDetailVo();
BeanUtil.copyProperties(busHandover, vo);
vo.setProcInsId(busHandover.getProcInstId());
List<BusHandoverItemListDetailsVo> items = new ArrayList<>();
//查询车辆
List<BusHandoverItems> itemsList = busHandoverItemsService.getItemsListByMainSid(sid).getData();
@ -1385,10 +1443,11 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
for (BusHandoverItems v : itemsList) {
BusHandoverItemListDetailsVo detailsVo = new BusHandoverItemListDetailsVo();
String handoverPhoto = v.getHandoverPhoto();
String policyPhoto = v.getPolicyPhoto();
BeanUtil.copyProperties(v, detailsVo);
if (StringUtils.isNotBlank(handoverPhoto)) {
List<String> stringList = Arrays.asList(handoverPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
detailsVo.setHandoverPhoto(stringList);
detailsVo.setDeliveryImages(stringList);
}
BusHandoverPrepareVehicle busHandoverPrepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(v.getVinSid());
if (null != busHandoverPrepareVehicle) {
@ -1397,12 +1456,13 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
if (!fileList.isEmpty()) {
List<String> policyPhotoList = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
detailsVo.setHandoverPhoto(policyPhotoList);
detailsVo.setPolicyImages(policyPhotoList);
}
}
detailsVo.setVinSid(v.getVinSid());
items.add(detailsVo);
}
vo.setItems(items);
vo.setCarList(items);
//接收车辆确认书照片
List<BuscenterFile> fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.RECEIVE_CAR_IMAGES.getAttachType());
fileList.removeAll(Collections.singleton(null));
@ -2468,6 +2528,115 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
return rb.success().setData(dto.getSid());
}
public ResultBean<String> saveGcVinBill(GcVinBillDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
BusHandover busHandover = fetchBySid(sid);
busHandover.setTrailerAddress(dto.getTrailerAddress());
busHandover.setTrailerIdNo(dto.getTrailerIdNo());
busHandover.setTrailerDeliverDate(new Date());
busHandover.setTrailerMobile(dto.getTrailerMobile());
busHandover.setTrailerRecipient(dto.getTrailerRecipient());
baseMapper.updateById(busHandover);
List<BusHandoverInitListVo> info = busHandoverItemsService.getDeliveryConfirmInfo(sid);
info.removeAll(Collections.singleton(null));
List<BusHandoverItems> itemsList = new ArrayList<>();
if (info.size() > 0) {
for (BusHandoverInitListVo vo : info) {
List<BaseTrailer> baseTrailers = baseTrailerFeign.getByVehSid(vo.getVinSid()).getData();
baseTrailers.removeAll(Collections.singleton(null));
if (baseTrailers.size() > 0) {
for (BaseTrailer baseTrailer : baseTrailers) {
BusHandoverItems items = new BusHandoverItems();
items.setVehivelOrTrailer("挂车");
items.setHandoverSid(sid);
items.setVinSid(baseTrailer.getSid());
items.setVinNo(baseTrailer.getVinNo());
itemsList.add(items);
}
}
}
}
if (!itemsList.isEmpty()) {
for (BusHandoverItems items : itemsList) {
busHandoverItemsService.insert(items);
}
}
BusHandover handoverPdf = fetchBySid(sid);
BusReceiveVehiclePdfVo pdfVo = new BusReceiveVehiclePdfVo();
pdfVo.setUseOrgName(handoverPdf.getUseOrgName());
String staffSid = handoverPdf.getStaffSid();
ResultBean<SysStaffinfoDetailsVo> voResultBean = sysStaffinfoFeign.fetchBySid(staffSid);
if (voResultBean.getSuccess()) {
if (null != voResultBean.getData()) {
SysStaffinfoDetailsVo data = voResultBean.getData();
if (StringUtils.isNotBlank(data.getName())) {
pdfVo.setStaffName(data.getName());
}
}
}
pdfVo.setContractNo(handoverPdf.getContractNo());
pdfVo.setCustomerName(handoverPdf.getCustomerName());
String customerSid = handoverPdf.getCustomerSid();
if (StringUtils.isNotBlank(customerSid)) {
ResultBean<CrmCustomerTempVo> resultBean = crmCustomerTempFeign.fetchSid(customerSid);
if (resultBean.getSuccess()) {
if (null != resultBean.getData()) {
CrmCustomerTempVo data = resultBean.getData();
if (StringUtils.isNotBlank(data.getIDNumber())) {
pdfVo.setIdNumber(data.getIDNumber());
}
}
}
}
pdfVo.setRecipient(handoverPdf.getTrailerRecipient());
pdfVo.setIdNo(handoverPdf.getTrailerIdNo());
pdfVo.setDeliverDate(handoverPdf.getTrailerDeliverDate());
pdfVo.setDeliverAddress(handoverPdf.getTrailerAddress());
List<BusHandoverItems> items = busHandoverItemsService.getItemsListByMainSid(sid).getData();
items.removeAll(Collections.singleton(null));
List<BusReceiveVehicleListPdfVo> listPdfVos = new ArrayList<>();
if (!items.isEmpty()) {
int sortNo = 1;
for (BusHandoverItems item : items) {
if ("挂车".equals(item.getVehivelOrTrailer())) {
BusReceiveVehicleListPdfVo listPdfVo = new BusReceiveVehicleListPdfVo();
listPdfVo.setEngineVo("-");
listPdfVo.setSortNo(String.valueOf(sortNo++));
listPdfVo.setVinNo(item.getVinNo());
listPdfVos.add(listPdfVo);
BaseTrailerDetailsVo trailerDetailsVo = baseTrailerFeign.fetchBySid(item.getVinSid()).getData();
if (null != trailerDetailsVo) {
if (StringUtils.isNotBlank(trailerDetailsVo.getTrailerModelSid())) {
BaseTrailerModelDetailsVo modelDetailsVo = baseTrailerModelFeign.fetchDetailsBySid(trailerDetailsVo.getTrailerModelSid()).getData();
if (null != modelDetailsVo) {
if (StringUtils.isNotBlank(modelDetailsVo.getBrandName())) {
pdfVo.setBrandName(modelDetailsVo.getBrandName());
}
if (StringUtils.isNotBlank(modelDetailsVo.getTrailerTypeValue())) {
pdfVo.setModel(modelDetailsVo.getTrailerTypeValue());
}
if (StringUtils.isNotBlank(modelDetailsVo.getCarModelName())) {
pdfVo.setConfig(modelDetailsVo.getCarModelName());
}
}
}
}
}
}
}
pdfVo.setColor("-");
pdfVo.setListPdfVos(listPdfVos);
String uploadTemplateUrl = docPdfComponent.getUploadTemplateUrl();
String s = receiveVehicleConfirmationCreatePdf(pdfVo);
BusHandover entity = fetchBySid(sid);
String savePath = s.substring(uploadTemplateUrl.length());
entity.setTrailerFilePath(savePath);
baseMapper.updateById(entity);
String temp = "/template/";
return rb.success().setData(temp + savePath);
}
/*@Autowired

25
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitService.java

@ -35,6 +35,7 @@ public class BusHandoverWaitService extends MybatisBaseService<BusHandoverWaitMa
private CommonContractFeign commonContractFeign;
@Autowired
private BusHandoverItemsService busHandoverItemsService;
public PagerVo<BusHandoverWaitVo> pagerList(PagerQuery<BusHandoverWaitQuery> pagerQuery) {
IPage<BusHandoverWait> page = PagerUtil.queryToPage(pagerQuery);
BusHandoverWaitQuery params = pagerQuery.getParams();
@ -45,6 +46,9 @@ public class BusHandoverWaitService extends MybatisBaseService<BusHandoverWaitMa
orgPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()).getData();
qw.eq("bh.useOrgSid", orgPath);
}
if (StringUtils.isNotBlank(params.getUserSid())) {
qw.eq("bh.createBySid", params.getUserSid());
}
qw.eq("bh.isDelete", 0);
}
IPage<BusHandoverWaitVo> pagging = baseMapper.selectPageVo(page, qw, params.getName());
@ -89,16 +93,17 @@ public class BusHandoverWaitService extends MybatisBaseService<BusHandoverWaitMa
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
//查询已提交交车办理车辆
ResultBean<List<BusHandoverItems>> resultBean = busHandoverItemsService.getItemsList();
if (!resultBean.getData().isEmpty()) {
resultBean.getData().removeAll(Collections.singleton(null));
List<String> vinSidList = resultBean.getData().stream().map(v -> v.getVinSid()).collect(Collectors.toList());
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
qw.notIn("vinSid", vinSidList);
}
}
// //查询已提交交车办理车辆
// ResultBean<List<BusHandoverItems>> resultBean = busHandoverItemsService.getItemsList();
// if (!resultBean.getData().isEmpty()) {
// resultBean.getData().removeAll(Collections.singleton(null));
// List<String> vinSidList = resultBean.getData().stream().map(v -> v.getVinSid()).collect(Collectors.toList());
// vinSidList.removeAll(Collections.singleton(null));
// if (!vinSidList.isEmpty()) {
// qw.notIn("vinSid", vinSidList);
// }
// }
qw.eq("createBySid", query.getUserSid());
qw.eq("useOrgSid", query.getUseOrgSid());
qw.eq("isDelete", 0);
qw.orderByDesc("createTime");

10
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/discountPackageApply/AppDiscountpackageApplyDetailsVo.java

@ -75,7 +75,12 @@ public class AppDiscountpackageApplyDetailsVo implements Vo {
private String model; // 车型名称
@ApiModelProperty("台数")
private String number; // 台数
@ApiModelProperty("销售订单sid")
private String saleOrderSid; //
@ApiModelProperty("ModelOrgPath")
private String modelOrgPath; //
private String modelSid; //
private String configSid; //
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ -99,4 +104,7 @@ public class AppDiscountpackageApplyDetailsVo implements Vo {
private String procInsId; // 流程实例的sid
@ApiModelProperty("台数")
private String carNumber; // 台数
@ApiModelProperty("订单优惠包总价值")
private String discountAllPrice; // 订单优惠包总价值
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/discountPackageApply/AppDiscountpackageQuery.java

@ -12,7 +12,7 @@ public class AppDiscountpackageQuery implements Query {
@ApiModelProperty("组织机构sid")
private String orgPath;
@ApiModelProperty("合同编号 客户名称")
private String names;
private String name;
@ApiModelProperty("申请日期")
private String date;
@ApiModelProperty("1待办 2已办")

Loading…
Cancel
Save