Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
b9c52ad85b
  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. 45
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitService.java
  24. 10
      anrui-buscenter/anrui-buscenter-ui/src/views/discountpackagehandover/discountpackagehandover.vue
  25. 10
      anrui-buscenter/anrui-buscenter-ui/src/views/discountpackagehandover/discountpackagetobehandover.vue
  26. 238
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  27. 59
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  28. 26
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfig.java
  29. 26
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigFeign.java
  30. 12
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigFeignFallback.java
  31. 22
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigQuery.java
  32. 17
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigVvo.java
  33. 28
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java
  34. 18
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigMapper.java
  35. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigMapper.xml
  36. 29
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigRest.java
  37. 30
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigService.java
  38. 10
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/discountPackageApply/AppDiscountpackageApplyDetailsVo.java
  39. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/discountPackageApply/AppDiscountpackageQuery.java
  40. 25
      doc/databases/portal_tables.sql

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");

45
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordersubmit/BusSalesOrderSubmitService.java

@ -24,12 +24,34 @@ public class BusSalesOrderSubmitService extends MybatisBaseService<BusSalesOrder
if (busSalesOrderSubmit == null) {
busSalesOrderSubmit = new BusSalesOrderSubmit();
BeanUtil.copyProperties(busSalesOrderSubmitDto, busSalesOrderSubmit, "sid");
if(StringUtils.isBlank(busSalesOrderSubmitDto.getDistributorName())){
if(StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorNameTwo())){
busSalesOrderSubmit.setDistributorName(busSalesOrderSubmitDto.getDistributorNameTwo());
busSalesOrderSubmitDto.setDistributorPrice(busSalesOrderSubmitDto.getDistributorPriceTwo());
busSalesOrderSubmitDto.setDistributorNameTwo("");
busSalesOrderSubmitDto.setDistributorPriceTwo("");
busSalesOrderSubmit.setDistributorNameTwo("");
busSalesOrderSubmit.setDistributorSid(busSalesOrderSubmitDto.getDistributorSidTwo());
busSalesOrderSubmit.setDistributorSidTwo("");
busSalesOrderSubmit.setDistributorMobile(busSalesOrderSubmitDto.getDistributorMobileTwo());
busSalesOrderSubmit.setDistributorMobileTwo("");
busSalesOrderSubmit.setDistributorUnit(busSalesOrderSubmitDto.getDistributorUnitTwo());
busSalesOrderSubmit.setDistributorUnitTwo("");
}
}
BigDecimal priceBig = new BigDecimal("0");
BigDecimal priceAll = new BigDecimal("0");
BigDecimal priceBigTwo = new BigDecimal("0");
BigDecimal priceAllTwo = new BigDecimal("0");
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPrice())) {
priceBig = new BigDecimal(busSalesOrderSubmitDto.getDistributorPrice());
busSalesOrderSubmit.setDistributorPrice(priceBig);
}
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPriceTwo())) {
priceBigTwo = new BigDecimal(busSalesOrderSubmitDto.getDistributorPriceTwo());
busSalesOrderSubmit.setDistributorPriceTwo(priceBigTwo);
}
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPriceAll())) {
priceAll = new BigDecimal(busSalesOrderSubmitDto.getDistributorPriceAll());
@ -39,12 +61,33 @@ public class BusSalesOrderSubmitService extends MybatisBaseService<BusSalesOrder
save(busSalesOrderSubmit);
} else {
BeanUtil.copyProperties(busSalesOrderSubmitDto, busSalesOrderSubmit);
if(StringUtils.isBlank(busSalesOrderSubmitDto.getDistributorName())){
if(StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorNameTwo())){
busSalesOrderSubmit.setDistributorName(busSalesOrderSubmitDto.getDistributorNameTwo());
busSalesOrderSubmitDto.setDistributorPrice(busSalesOrderSubmitDto.getDistributorPriceTwo());
busSalesOrderSubmitDto.setDistributorNameTwo("");
busSalesOrderSubmitDto.setDistributorPriceTwo("");
busSalesOrderSubmit.setDistributorNameTwo("");
busSalesOrderSubmit.setDistributorPriceTwo(BigDecimal.ZERO);
busSalesOrderSubmit.setDistributorSid(busSalesOrderSubmitDto.getDistributorSidTwo());
busSalesOrderSubmit.setDistributorSidTwo("");
busSalesOrderSubmit.setDistributorMobile(busSalesOrderSubmitDto.getDistributorMobileTwo());
busSalesOrderSubmit.setDistributorMobileTwo("");
busSalesOrderSubmit.setDistributorUnit(busSalesOrderSubmitDto.getDistributorUnitTwo());
busSalesOrderSubmit.setDistributorUnitTwo("");
}
}
BigDecimal priceBig = new BigDecimal("0");
BigDecimal priceAll = new BigDecimal("0");
BigDecimal priceBigTwo = new BigDecimal("0");
BigDecimal priceAllTwo = new BigDecimal("0");
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPrice())) {
priceBig = new BigDecimal(busSalesOrderSubmitDto.getDistributorPrice());
busSalesOrderSubmit.setDistributorPrice(priceBig);
}
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPriceTwo())) {
priceBigTwo = new BigDecimal(busSalesOrderSubmitDto.getDistributorPriceTwo());
busSalesOrderSubmit.setDistributorPriceTwo(priceBigTwo);
}
if (StringUtils.isNotBlank(busSalesOrderSubmitDto.getDistributorPriceAll())) {
priceAll = new BigDecimal(busSalesOrderSubmitDto.getDistributorPriceAll());

10
anrui-buscenter/anrui-buscenter-ui/src/views/discountpackagehandover/discountpackagehandover.vue

@ -170,7 +170,9 @@ export default {
contractNo: '',
customerName: '',
recName: '',
transferName: ''
transferName: '',
orgPath: '',
menuUrl: ''
},
current: 1,
size: 10,
@ -231,6 +233,8 @@ export default {
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
@ -262,7 +266,9 @@ export default {
contractNo: '',
customerName: '',
recName: '',
transferName: ''
transferName: '',
orgPath: '',
menuUrl: ''
},
current: 1,
size: 10,

10
anrui-buscenter/anrui-buscenter-ui/src/views/discountpackagehandover/discountpackagetobehandover.vue

@ -165,7 +165,9 @@ export default {
contractNo: '',
customerName: '',
recName: '',
transferName: ''
transferName: '',
orgPath: '',
menuUrl: ''
},
current: 1,
size: 10,
@ -219,6 +221,8 @@ export default {
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
@ -250,7 +254,9 @@ export default {
contractNo: '',
customerName: '',
recName: '',
transferName: ''
transferName: '',
orgPath: '',
menuUrl: ''
},
current: 1,
size: 10,

238
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -33,12 +33,17 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.flowable.api.flow.*;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.processcomment.ProcessCommentDto;
import com.yxt.anrui.flowable.biz.flowtask.FlowTaskService;
import com.yxt.anrui.flowable.biz.process.ProcessService;
import com.yxt.anrui.flowable.biz.processcomment.ProcessCommentService;
import com.yxt.anrui.flowable.feign.MessageFeign;
import com.yxt.anrui.flowable.feign.form.MessageFlowVo;
import com.yxt.anrui.flowable.feign.form.MessageFlowableQuery;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigFeign;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigQuery;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigVvo;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccFeign;
import com.yxt.anrui.portal.api.sysflowcc.SysFlowccVo;
import com.yxt.anrui.portal.api.sysuser.*;
@ -98,6 +103,10 @@ public class FlowableRest implements FlowableFeign {
private MessageFeign messageFeign;
@Resource
protected HistoryService historyService;
@Autowired
private SysFlowableConfigFeign sysFlowableConfigFeign;
@Autowired
private ProcessCommentService processCommentService;
/**
* 流程抄送的功能
@ -359,8 +368,6 @@ public class FlowableRest implements FlowableFeign {
log.info("b:{}", b);
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean rb = ResultBean.fireFail();
// Map<String, Object> formVariables = dto.getFormVariables();
String taskId = dto.getTaskId();
if (StringUtils.isBlank(taskId)) {
return rb.setMsg("taskId 不能为空!");
@ -368,27 +375,227 @@ public class FlowableRest implements FlowableFeign {
if (StringUtils.isBlank(dto.getBusinessSid())) {
return rb.setMsg("businessSid 不能为空!");
}
/*if(formVariables==null){
return rb.setMsg("业务参数集合 不能为空!");
}*/
if (dto.getFormVariables() == null)
dto.setFormVariables(new HashMap<String, Object>());
Map<String, Object> formVariables = dto.getFormVariables();
formVariables.put("businessSid", dto.getBusinessSid());
String nextUserSid = dto.getNextNodeUserSids();
boolean adminContains = false;
boolean isChange = false;
String firstName = "";
String firstSid = "";
if (StringUtils.isBlank(nextUserSid)) {
ResultBean<UserAndOrgPath> nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmit(dto);
if (!nextNodeUserSidsOfSubmit.getSuccess()) {
// return rb.setMsg("nextUserSid 不能为空!");
//=================================添加系统个管理员自动审批
nextUserSid = "427a2fb0-60c5-409f-bea4-4eb441041ae6";
adminContains = true;
}else{
nextUserSid = nextNodeUserSidsOfSubmit.getData().getUserSid();
formVariables.put(BusinessVariables.ORGPATH, nextNodeUserSidsOfSubmit.getData().getOrgPath());
List<String> nextUserList = Arrays.asList(nextUserSid.split(","));
if(nextUserList.size() == 1){
firstSid = nextUserList.get(0);
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(firstSid);
if(sysUserVoResultBean.getData() != null){
firstName = sysUserVoResultBean.getData().getName();
}
SysFlowableConfigQuery sysFlowableConfigQuery = new SysFlowableConfigQuery();
sysFlowableConfigQuery.setUserSid(firstSid);
sysFlowableConfigQuery.setNowDate(new Date());
ResultBean<SysFlowableConfigVvo> sysFlowableConfigVvoResultBean = sysFlowableConfigFeign.selectByUserSid(sysFlowableConfigQuery);
if(sysFlowableConfigVvoResultBean.getData() != null){
nextUserSid = sysFlowableConfigVvoResultBean.getData().getChangeUserSid();
isChange = true;
}
}
}
}
String comment = dto.getComment();
if (StringUtils.isBlank(comment)) {
comment = "";
}
String instanceId = dto.getInstanceId();
if (StringUtils.isBlank(instanceId)) {
return rb.setMsg("instanceId 不能为空!");
}
String userSid = dto.getUserSid();
if (StringUtils.isBlank(userSid)) {
return rb.setMsg("userSid 不能为空!");
}
String businessSid = dto.getBusinessSid();
if (StringUtils.isBlank(businessSid)) {
return rb.setMsg("业务sid 不能为空!");
}
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
if (Objects.isNull(task)) {
return rb.setMsg("任务不存在");
}
String assignee = task.getAssignee();
if (b && (StringUtils.isNotBlank(assignee) && assignee.indexOf(userSid) < 0)) {
return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!");
}
String nodeState = "";
String taskDefKey = "";
vo.setSid(businessSid);
if (DelegationState.PENDING.equals(task.getDelegationState())) {
taskService.addComment(taskId, instanceId,
FlowComment.DELEGATE.getType(), comment);
taskService.resolveTask(taskId, formVariables);
} else {
taskService.addComment(taskId, instanceId, FlowComment.NORMAL.getType(), comment);
log.error("taskid:{},userSid:{}", taskId, userSid);
log.error("formVariables:{}", JSON.toJSONString(formVariables));
taskService.setAssignee(taskId, userSid);
taskService.complete(taskId, formVariables);
//根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
if (ll.getData().size() > 0) {
LatestTaskVo latestTaskVo = ll.getData().get(0);
String id_ = latestTaskVo.getId_();
if(isChange){//添加评论
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(nextUserSid);
ProcessCommentDto processCommentDto = new ProcessCommentDto();
processCommentDto.setReviewerSid(firstSid);
if(sysUserVoResultBean.getData() != null){
String changeName = sysUserVoResultBean.getData().getName();
processCommentDto.setReviewer(firstName);
processCommentDto.setContent("交"+changeName+"转办");
}
processCommentDto.setTime(new Date());
processCommentDto.setProcessId(dto.getModelId());
processCommentDto.setProcessInstSid(dto.getInstanceId());
processCommentService.saveOrUpdateDto(processCommentDto);
}
taskService.setAssignee(id_, nextUserSid);
vo.setTaskId(id_);
//在act_ru_variable表中增加环节上的业务参数的变量
taskService.setVariablesLocal(id_, formVariables);
nodeState = latestTaskVo.getName_();
taskDefKey = latestTaskVo.getTask_def_key_();
} else {
nodeState = FlowComment.SETTLE.getRemark();
taskDefKey = "Event_end";
vo.setNodeState(FlowComment.SETTLE.getRemark());
}
}
if (adminContains) {
dto.setUserSid(nextUserSid);
dto.setTaskId(vo.getTaskId());
dto.setTaskDefKey(taskDefKey);
dto.setComment("系统管理员已自动审批");
return handleProsess(dto, false);
}
List<FlowElement> flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(),
dto.getFormVariables());
boolean contains = false;
boolean adminSecondsContains = false;
for (int i = 0; i < flowElements.size(); i++) {
FlowElement flowElement = flowElements.get(i);
String id = flowElement.getId();
if (taskDefKey.equals(id) && i + 1 < flowElements.size()) {
FlowElement flowElement1 = flowElements.get(i + 1);
if (flowElement1 instanceof UserTask) {
UserTask userTask = (UserTask) flowElement1;
List<String> candidateGroups = userTask.getCandidateGroups();
List<SysUserVo> sysUserVoLists = new ArrayList<>();
//根据角色查询用户
for (String roleSid : candidateGroups) {
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(roleSid);
userQuery.setOrgSidPath(dto.getOrgSidPath());
ResultBean<List<SysUserVo>> userByRole = sysUserFeign.getUserByRole(userQuery);
boolean success = userByRole.getSuccess();
if (!success) {
continue;
}
sysUserVoLists.addAll(userByRole.getData());
}
//当前环节运营部总经理 刘丽艳 点击同意 下一环节 事业部副总经理 (nextUserSid) 和事业部总经理(sysUserVoLists.get(0).getSid())
//判断查询回来的用户的集合size是1 并且用户的sid和下一环节的用户的sid相同。
if (sysUserVoLists.size() == 1 && sysUserVoLists.get(0).getSid().equals(nextUserSid)) {
contains = true;
break;
}
//如果下一环节无用户,则默认系统管理员自动审批
if(sysUserVoLists.size() == 0 && StringUtils.isNotBlank(nextUserSid)){
contains = true;
break;
}
if(sysUserVoLists.size() == 0){
adminSecondsContains = true;
break;
}
}
}
if (contains) {
break;
}
if (adminSecondsContains) {
break;
}
}
if (contains) {
dto.setUserSid(nextUserSid);
dto.setTaskId(vo.getTaskId());
dto.setTaskDefKey(taskDefKey);
dto.setComment("因与下一级审批人相同,系统自动处理,需以下一级审批人审批意见为准!");
return handleProsess(dto, false);
}
if (adminSecondsContains) {
dto.setUserSid(nextUserSid);
dto.setTaskId(vo.getTaskId());
dto.setTaskDefKey(taskDefKey);
dto.setComment("系统管理员已自动审批");
return handleProsess(dto, false);
}
vo.setProcInsId(instanceId);
vo.setProcDefId(task.getProcessDefinitionId());
vo.setNodeState(nodeState);
vo.setTaskDefKey(taskDefKey);
vo.setNextNodeUserSids(nextUserSid);
return rb.success().setData(vo);
}
/**
* 未添加系统管理员自动审批功能
* @param dto
* @param b 是否连续跳转环节
* @return
*/
public ResultBean<UpdateFlowFieldVo> handleProsess111(BusinessVariables dto, boolean b) {
log.info("BusinessVariables:{}", JSONObject.toJSONString(dto));
log.info("b:{}", b);
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean rb = ResultBean.fireFail();
String taskId = dto.getTaskId();
if (StringUtils.isBlank(taskId)) {
return rb.setMsg("taskId 不能为空!");
}
if (StringUtils.isBlank(dto.getBusinessSid())) {
return rb.setMsg("businessSid 不能为空!");
}
if (dto.getFormVariables() == null)
dto.setFormVariables(new HashMap<String, Object>());
Map<String, Object> formVariables = dto.getFormVariables();
formVariables.put("businessSid", dto.getBusinessSid());
String nextUserSid = dto.getNextNodeUserSids();
if (StringUtils.isBlank(nextUserSid)) {
ResultBean<UserAndOrgPath> nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmit(dto);
if (!nextNodeUserSidsOfSubmit.getSuccess()) {
return rb.setMsg("nextUserSid 不能为空!");
}else{
nextUserSid = nextNodeUserSidsOfSubmit.getData().getUserSid();
formVariables.put(BusinessVariables.ORGPATH, nextNodeUserSidsOfSubmit.getData().getOrgPath());
}
nextUserSid = nextNodeUserSidsOfSubmit.getData().getUserSid();
formVariables.put(BusinessVariables.ORGPATH, nextNodeUserSidsOfSubmit.getData().getOrgPath());
}
String comment = dto.getComment();
if (StringUtils.isBlank(comment)) {
comment = "";
//return rb.setMsg("comment 不能为空!");
}
String instanceId = dto.getInstanceId();
if (StringUtils.isBlank(instanceId)) {
@ -397,7 +604,6 @@ public class FlowableRest implements FlowableFeign {
String userSid = dto.getUserSid();
if (StringUtils.isBlank(userSid)) {
return rb.setMsg("userSid 不能为空!");
}
String businessSid = dto.getBusinessSid();
if (StringUtils.isBlank(businessSid)) {
@ -418,18 +624,12 @@ public class FlowableRest implements FlowableFeign {
if (DelegationState.PENDING.equals(task.getDelegationState())) {
taskService.addComment(taskId, instanceId,
FlowComment.DELEGATE.getType(), comment);
// Map<String,Object> values =(Map<String,Object>) formVariables.get("values");
taskService.resolveTask(taskId, formVariables);
} else {
taskService.addComment(taskId, instanceId, FlowComment.NORMAL.getType(), comment);
log.error("taskid:{},userSid:{}", taskId, userSid);
log.error("formVariables:{}", JSON.toJSONString(formVariables));
taskService.setAssignee(taskId, userSid);
//formVariables.remove("userSid");
/*for(Map.Entry<String, Object> entry:formVariables.entrySet()){
taskService.setVariable(taskId,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}*/
taskService.complete(taskId, formVariables);
//根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
@ -438,13 +638,6 @@ public class FlowableRest implements FlowableFeign {
String id_ = latestTaskVo.getId_();
taskService.setAssignee(id_, nextUserSid);
vo.setTaskId(id_);
/* for(Map.Entry<String, Object> entry:formVariables.entrySet()){
taskService.setVariable(id_,entry.getKey(),entry.getValue());
taskService.setVariableLocal(id_,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}*/
// taskService.setVariables(id_,formVariables);
//在act_ru_variable表中增加环节上的业务参数的变量
taskService.setVariablesLocal(id_, formVariables);
nodeState = latestTaskVo.getName_();
@ -455,7 +648,6 @@ public class FlowableRest implements FlowableFeign {
vo.setNodeState(FlowComment.SETTLE.getRemark());
}
}
//ResultBean<FlowRecordVo> flowRecordVoResultBean = flowableService.flowRecord(dto.getInstanceId(), dto.getModelId());
List<FlowElement> flowElements = processService.calApprovePath(dto.getModelId(), dto.getModelId(),
dto.getFormVariables());
boolean contains = false;

59
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -311,6 +311,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
List<FlowTask> hisFlowList = new ArrayList<>();
for (HistoricActivityInstance histIns : list) {
if (StringUtils.isNotBlank(histIns.getTaskId())) {
boolean isStop = false;
FlowTask flowTask = new FlowTask();
flowTask.setTaskId(histIns.getTaskId());
flowTask.setTaskName(histIns.getActivityName());
@ -334,6 +335,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
List<SysUserVo> data1 = sysUserVoResultBean.getData();
List<TaskUserInfo> taskUserInfos=new ArrayList<>();
for( SysUserVo data:data1){
if("admin".equals(data.getName())){
isStop = true;
}
TaskUserInfo taskUserInfo=new TaskUserInfo();
taskUserInfo.setAssigneeName(data.getName());
taskUserInfo.setAssigneeSid(data.getSid());
@ -344,6 +348,10 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
flowTask.setTaskUserInfos(taskUserInfos);
}
if(isStop){
continue;
}
// 展示审批人员
List<HistoricIdentityLink> linksForTask = historyService.getHistoricIdentityLinksForTask(histIns.getTaskId());
StringBuilder stringBuilder = new StringBuilder();
@ -1341,7 +1349,24 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
flowTaskVo.setTargetKey(item.getId());
listResultBean_2= taskReject_(flowTaskVo, true);
}else{
taskService.setAssignee(id_, assignee_);
if("427a2fb0-60c5-409f-bea4-4eb441041ae6".equals(assignee_)){
flowTaskVo.setTaskId(id_);
flowTaskVo.setUserSid(assignee_);
flowTaskVo.setTargetKey(item.getId());
listResultBean_2= taskReject_(flowTaskVo, true);
}else{
if("427a2fb0-60c5-409f-bea4-4eb441041ae6".equals(flowTaskVo.getUserSid())){
flowTaskVo.setTaskId(id_);
flowTaskVo.setUserSid(assignee_);
flowTaskVo.setTargetKey(item.getId());
listResultBean_2= taskReject_(flowTaskVo, true);
}else{
taskService.setAssignee(id_, assignee_);
}
}
}
LatestTaskVo latestTaskVo = new LatestTaskVo();
latestTaskVo.setASSIGNEE_(item.getAssignee());
@ -1464,6 +1489,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
return new ResultBean<List<LatestTaskVo>>().fail().setMsg("流程找不到上一环节,撤回操作失败!").setData(new ArrayList<>());
}
HistoricTaskInstance historicTaskInstance1 = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();
//==================================================添加
// historicTaskInstance1 = returnInstance(historicTaskInstance1);
//==================================================添加
String assignee = historicTaskInstance1.getAssignee();
String userSid = flowTaskVo.getUserSid();
ResultBean<FlowRecordVo> flowRecordVoResultBean = flowableService.flowRecord(flowTaskVo.getInstanceId(), flowTaskVo.getInstanceId());
@ -1482,6 +1510,25 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
String assigneeSid0 = taskUserInfo_0.getAssigneeSid();
if(!assigneeSid1.equals(assigneeSid0)){
/*if("427a2fb0-60c5-409f-bea4-4eb441041ae6".equals(assignee)){
FlowTask flowTask1 = flowList.get(1);
for(int i=1;i<flowList.size();i++){
FlowTask flowTask = flowList.get(i);
List<TaskUserInfo> taskUserInfos = flowTask.getTaskUserInfos();
TaskUserInfo taskUserInfo = taskUserInfos.get(0);
if(assigneeSid0.equals(taskUserInfo.getAssigneeSid())){
if(!FlowComment.RECALL.getType().equals( flowTask1.getComment().getType())){
ii++;
}
continue;
}else{
ybrsid=flowList.get(i).getTaskUserInfos().get(0).getAssigneeSid();
break;
}
}
}else{
ybrsid=assignee;
}*/
ybrsid=assignee;
}else{
FlowTask flowTask1 = flowList.get(1);
@ -1515,6 +1562,16 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
return revokeProcess(flowTaskVo,0);
}
public HistoricTaskInstance returnInstance(HistoricTaskInstance historicTaskInstance1){
if("427a2fb0-60c5-409f-bea4-4eb441041ae6".equals(historicTaskInstance1.getAssignee())){
String taskId = getTaskId(historicTaskInstance1.getTaskDefinitionKey(), historicTaskInstance1.getProcessInstanceId(), historicTaskInstance1.getProcessDefinitionId());
historicTaskInstance1 = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();
return returnInstance(historicTaskInstance1);
}else{
return historicTaskInstance1;
}
}
// @Transactional(rollbackFor = Exception.class)
private ResultBean<List<LatestTaskVo>> revokeProcess_( String processInstanceId,
String assignee ) {

26
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfig.java

@ -0,0 +1,26 @@
package com.yxt.anrui.portal.api.sysflowableconfig;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @description: 转办设置
* @author: dimengzhe
* @date: 2023/6/17
**/
@Data
public class SysFlowableConfig extends BaseEntity {
private static final long serialVersionUID = 6324080869870694172L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("转办人的sid")
private String chengeUserSid;
@ApiModelProperty("开始时间")
private Date startDate;
@ApiModelProperty("结束时间")
private Date endDate;
}

26
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigFeign.java

@ -0,0 +1,26 @@
package com.yxt.anrui.portal.api.sysflowableconfig;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
/**
* @description: 转办设置
* @author: dimengzhe
* @date: 2023/6/17
**/
@Api(tags = "流程转办设置")
@FeignClient(
contextId = "anrui-portal-SysFlowableConfig",
name = "anrui-portal",
path = "v1/SysFlowableConfig",
fallback = SysFlowableConfigFeignFallback.class)
public interface SysFlowableConfigFeign {
@ApiOperation("查询是否有转办人 ")
@GetMapping("/selectByUserSid")
ResultBean<SysFlowableConfigVvo> selectByUserSid(@SpringQueryMap SysFlowableConfigQuery query);
}

12
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.portal.api.sysflowableconfig;
import org.springframework.stereotype.Component;
/**
* @description: 转办设置
* @author: dimengzhe
* @date: 2023/6/17
**/
@Component
public class SysFlowableConfigFeignFallback {
}

22
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigQuery.java

@ -0,0 +1,22 @@
package com.yxt.anrui.portal.api.sysflowableconfig;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @description: 转办
* @author: dimengzhe
* @date: 2023/6/19
**/
@Data
public class SysFlowableConfigQuery implements Query {
private static final long serialVersionUID = -7197208684456288643L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("当前时间")
private Date nowDate;
}

17
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysflowableconfig/SysFlowableConfigVvo.java

@ -0,0 +1,17 @@
package com.yxt.anrui.portal.api.sysflowableconfig;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 转办
* @author: dimengzhe
* @date: 2023/6/19
**/
@Data
public class SysFlowableConfigVvo implements Vo {
private static final long serialVersionUID = -3291554285219440731L;
@ApiModelProperty("转办人sid")
private String changeUserSid;
}

28
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableRest.java

@ -200,19 +200,21 @@ public class FlowableRest implements FlowableFeign {
flowableQuery.setTaskDefKey(appFlowableRecordVo.getTaskDefKey());
flowableQuery.setMap(map);
ResultBean<List<Map<String,Object>>> resultBean = flowTaskFeign.yuyanTest(flowableQuery);
if(!resultBean.getData().isEmpty()){
List<Map<String,Object>> mapList = resultBean.getData();
mapList.forEach(f->{
PCHistTaskListAndCommentList a = new PCHistTaskListAndCommentList();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
stringObjectMap.put("taskName",f.get("nodeName").toString());
stringObjectMap.put("finishTime",null);
stringObjectMap.put("createTime","");
stringObjectMap.put("taskUserInfos",new ArrayList<>());
a.setFlowableRecordVo(stringObjectMap);
a.setState(3 + "");
flowList.add(a);
});
if(resultBean.getData() != null){
if(!resultBean.getData().isEmpty()){
List<Map<String,Object>> mapList = resultBean.getData();
mapList.forEach(f->{
PCHistTaskListAndCommentList a = new PCHistTaskListAndCommentList();
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(f);
stringObjectMap.put("taskName",f.get("nodeName").toString());
stringObjectMap.put("finishTime",null);
stringObjectMap.put("createTime","");
stringObjectMap.put("taskUserInfos",new ArrayList<>());
a.setFlowableRecordVo(stringObjectMap);
a.setState(3 + "");
flowList.add(a);
});
}
}
}
}

18
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigMapper.java

@ -0,0 +1,18 @@
package com.yxt.anrui.portal.biz.sysflowableconfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2023/6/17
**/
@Mapper
public interface SysFlowableConfigMapper extends BaseMapper<SysFlowableConfig> {
SysFlowableConfig selectByUserSid(@Param("userSid") String userSid, @Param("nowDate") Date nowDate);
}

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigMapper.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.portal.biz.sysflowableconfig.SysFlowableConfigMapper">
<select id="selectByUserSid" resultType="com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfig">
select * from sys_flowable_config where userSid = #{userSid} and #{nowDate} between startDate and endDate
</select>
</mapper>

29
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigRest.java

@ -0,0 +1,29 @@
package com.yxt.anrui.portal.biz.sysflowableconfig;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigFeign;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigQuery;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigVvo;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description: 转办设置rest
* @author: dimengzhe
* @date: 2023/6/17
**/
@Api(tags = "转办设置")
@RestController
@RequestMapping("v1/SysFlowableConfig")
public class SysFlowableConfigRest implements SysFlowableConfigFeign {
@Autowired
private SysFlowableConfigService sysFlowableConfigService;
@Override
public ResultBean<SysFlowableConfigVvo> selectByUserSid(SysFlowableConfigQuery query) {
return sysFlowableConfigService.selectByUserSid(query);
}
}

30
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysflowableconfig/SysFlowableConfigService.java

@ -0,0 +1,30 @@
package com.yxt.anrui.portal.biz.sysflowableconfig;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfig;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigQuery;
import com.yxt.anrui.portal.api.sysflowableconfig.SysFlowableConfigVvo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* @description: 转办
* @author: dimengzhe
* @date: 2023/6/17
**/
@Service
public class SysFlowableConfigService extends MybatisBaseService<SysFlowableConfigMapper, SysFlowableConfig> {
public ResultBean<SysFlowableConfigVvo> selectByUserSid(SysFlowableConfigQuery query) {
ResultBean<SysFlowableConfigVvo> rb = ResultBean.fireFail();
SysFlowableConfigVvo sysFlowableConfigVvo = new SysFlowableConfigVvo();
//查询该用户当前时间是否有转办人
String userSid = query.getUserSid();
Date nowDate = query.getNowDate();
SysFlowableConfig sysFlowableConfig = baseMapper.selectByUserSid(userSid,nowDate);
BeanUtil.copyProperties(sysFlowableConfig,sysFlowableConfigVvo);
return rb.success().setData(sysFlowableConfigVvo);
}
}

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已办")

25
doc/databases/portal_tables.sql

@ -715,3 +715,28 @@ CREATE TABLE `sys_url_config`
) ENGINE = InnoDB
AUTO_INCREMENT = 18
DEFAULT CHARSET = utf8 COMMENT ='模块配置地址';
DROP TABLE IF EXISTS `sys_flowable_config`;
CREATE TABLE `sys_flowable_config`
(
`id` int(11) NOT NULL AUTO_INCREMENT,
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(11) NOT NULL DEFAULT '0' COMMENT '记录版本,锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
`modifyTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录最后修改时间',
`isEnable` int(11) NOT NULL DEFAULT '1' COMMENT '记录是否可用,1:可用,0:不可用',
`state` int(11) DEFAULT '1' COMMENT '状态',
`isDelete` int(11) DEFAULT NULL COMMENT '记录是否被删除,0:未删除,1:已经删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注信息',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建者',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '更新者',
`userSid` varchar(64) DEFAULT NULL COMMENT '办理人sid',
`changeUserSid` varchar(500) DEFAULT NULL COMMENT '转办人',
`startDate` timestamp null DEFAULT NULL COMMENT '开始时间',
`endDate` timestamp null DEFAULT NULL COMMENT '结束时间',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = InnoDB
AUTO_INCREMENT = 18
DEFAULT CHARSET = utf8 COMMENT ='转办人设置';

Loading…
Cancel
Save