Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
5cfb23e5c5
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java
  2. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  3. 9
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AddRetrievalApplyDto.java
  4. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppBusDeliveredPageQuery.java
  5. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsVo.java
  6. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDelivered.java
  7. 10
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppDeliveredApplyInfoVo.java
  8. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppDeliveredApplyPageQuery.java
  9. 17
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppSubmitDeliveredApplyDto.java
  10. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApply.java
  11. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeign.java
  12. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeignFallback.java
  13. 6
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredusemessage/BusDeliveredUseMessage.java
  14. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  15. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  16. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java
  17. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  18. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.java
  19. 17
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml
  20. 46
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  21. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java
  22. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  23. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java
  24. 163
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  25. 25
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapplydetails/BusDeliveredApplyDetailsService.java
  26. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.java
  27. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml
  28. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousService.java
  29. 56
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  30. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  31. 22
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  32. 60
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java
  33. 27
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyudingEdit.vue
  34. 10
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquEdit.vue
  35. 5
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzecheliang.vue
  36. 5
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang.vue
  37. 27
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdanAdd.vue
  38. 19
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjinAdd.vue
  39. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java
  40. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java
  41. 49
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  42. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  43. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/AppScmVehicleExaminePageVo.java
  44. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineMapper.xml
  45. 20
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  46. 8
      anrui-scm/anrui-scm-ui/src/api/cheliang/dictcommons.js
  47. 4
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue
  48. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  49. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeign.java
  50. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeignFallback.java
  51. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListDto.java
  52. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDetailsVo.java
  53. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDto.java
  54. 8
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyInfoVo.java
  55. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyPageQuery.java
  56. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVo.java
  57. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredPageQuery.java
  58. 29
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/UseInfoDto.java
  59. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/CompleteRetrievalDto.java
  60. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/RetrievalQuery.java
  61. 44
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/RetrievalTaskQuery.java
  62. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/SubmitRetrievalDto.java
  63. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  64. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java
  65. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java
  66. 34
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyRest.java
  67. 118
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java
  68. 5
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  69. 9
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java
  70. 96
      doc/databases/bus_handover_tables.sql

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java

@ -21,7 +21,9 @@ public class VehicleStateTempOrLast {
FIN_PAYMENT("0005", "款项确认"),
NORMAL_INVOICING("0006", "正常开票");
NORMAL_INVOICING("0006", "正常开票"),
ISSUE_APPLY("0007", "出库申请");
/**
* code值

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -1082,7 +1082,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
// 虚拟订单选择车辆查询现车库存列表参数
if (StringUtils.isNotBlank(params.getVehicleState())) { //车辆状态
qw.and(wrapper -> wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK));
qw.and(wrapper -> wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK)).or().eq("bv.vehicleState", VehicleState.StockEnum.ING_STOCK).or().eq("bv.vehicleState", VehicleState.StockEnum.DR_STOCK);
}
if (StringUtils.isNotBlank(params.getLockedState())) { //锁定状态
// qw.and(wrapper -> wrapper.ne("bv.lockedStateValue", "预定").and(wrapper1 -> wrapper1.ne("bv.lockedStateValue", "锁定")));
@ -2014,7 +2014,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
if (selectVehicleList.getSuccess()) {
stringList = selectVehicleList.getData();
}
int count = baseMapper.selectVehicleCount(qw,stringList);
int count = baseMapper.selectVehicleCount(qw, stringList);
return rb.success().setData(count);
}
@ -2038,10 +2038,10 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
return rb.success().setData(orderVoList);
}
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppListOne(String modelSid, String configSid, String orgSid,List<String> list) {
public ResultBean<List<AppBaseVehicleOrderVo>> selectAppListOne(String modelSid, String configSid, String orgSid, List<String> list) {
ResultBean<List<AppBaseVehicleOrderVo>> rb = ResultBean.fireFail();
List<AppBaseVehicleOrderVo> orderVoList = new ArrayList<>();
orderVoList = baseMapper.selectAppListOne(modelSid, configSid, orgSid, VehicleState.LockEnum.LOCK.getCode(),list);
orderVoList = baseMapper.selectAppListOne(modelSid, configSid, orgSid, VehicleState.LockEnum.LOCK.getCode(), list);
if (orderVoList.isEmpty()) {
return rb.setData(orderVoList);
}

9
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AddRetrievalApplyDto.java

@ -14,8 +14,12 @@ public class AddRetrievalApplyDto implements Dto {
private String name;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty(value = "车型Sid")
private String modelSid;
@ApiModelProperty(value = "车型别名")
private String modelName;
@ApiModelProperty(value = "配置Sid")
private String configSid;
@ApiModelProperty(value = "联系电话")
private String mobile;
@ApiModelProperty(value = "证件号码")
@ -34,5 +38,8 @@ public class AddRetrievalApplyDto implements Dto {
@ApiModelProperty("款项状态key")
private String subscriptionKey;
@ApiModelProperty(value = "使用组织sid")
private String useOrgSid;
@ApiModelProperty(value = "使用组织名称")
private String useOrgName;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppBusDeliveredPageQuery.java

@ -11,6 +11,9 @@ public class AppBusDeliveredPageQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构sid")
private String orgPath;
@ApiModelProperty("客户名称")
private String name;

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/AppDeliveredDetailsVo.java

@ -17,6 +17,12 @@ public class AppDeliveredDetailsVo implements Vo {
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("车型Sid")
private String modelSid;
@ApiModelProperty("配置Sid")
private String configSid;
@ApiModelProperty("手机号")
private String mobile;

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDelivered.java

@ -75,5 +75,8 @@ public class BusDelivered extends BaseEntity {
private String address;
@ApiModelProperty(value = "成交价")
private String price;
@ApiModelProperty(value = "使用组织sid")
private String useOrgSid;
@ApiModelProperty(value = "使用组织名称")
private String useOrgName;
}

10
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppDeliveredApplyInfoVo.java

@ -14,9 +14,17 @@ import java.util.List;
public class AppDeliveredApplyInfoVo implements Vo {
private static final long serialVersionUID = 1516492882330414001L;
private String sid;
@ApiModelProperty("合同id")
private String contractNo;
@ApiModelProperty("车型Sid")
private String modelSid;
@ApiModelProperty("配置Sid")
private String configSid;
@ApiModelProperty("车型")
private String modelName;
@ -34,7 +42,7 @@ public class AppDeliveredApplyInfoVo implements Vo {
private String terminalValue;
@ApiModelProperty("是否为终端客户")
private String isTerminal;
private int isTerminal;
@ApiModelProperty("备注")
private String remarks;

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppDeliveredApplyPageQuery.java

@ -12,6 +12,9 @@ public class AppDeliveredApplyPageQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构sid")
private String orgPath;
@ApiModelProperty("用户名称")
private String name;

17
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/AppSubmitDeliveredApplyDto.java

@ -0,0 +1,17 @@
package com.yxt.anrui.buscenter.api.busdeliveredapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppSubmitDeliveredApplyDto extends AppDeliveredApplyDto {
private static final long serialVersionUID = -1742176484192196029L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApply.java

@ -60,6 +60,10 @@ public class BusDeliveredApply extends BaseEntity {
private Date applyDate; // 申请日期
@ApiModelProperty("客户名称")
private String name; // 客户名称
@ApiModelProperty("车型Sid")
private String modelSid;
@ApiModelProperty("配置Sid")
private String configSid;
@ApiModelProperty("车型别名")
private String modelName; // 车型别名
@ApiModelProperty("是否是终端:1是,0不是")

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeign.java

@ -148,6 +148,11 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
public ResultBean submitDeliveredApply(@Valid @RequestBody SubmitDeliveredApplyDto dto);
@ApiOperation("App-提交车库移库审批流程")
@PostMapping("/submitAppDeliveredApply")
@ResponseBody
public ResultBean submitAppDeliveredApply(@Valid @RequestBody AppSubmitDeliveredApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@ResponseBody

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeignFallback.java

@ -105,6 +105,11 @@ public class BusDeliveredApplyFeignFallback implements BusDeliveredApplyFeign {
return null;
}
@Override
public ResultBean submitAppDeliveredApply(AppSubmitDeliveredApplyDto dto) {
return null;
}
@Override
public ResultBean complete(BusDeliveredApplyCompleteDto query) {
return null;

6
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredusemessage/BusDeliveredUseMessage.java

@ -60,6 +60,12 @@ public class BusDeliveredUseMessage extends BaseEntity {
private String mobile; // 联系电话
@ApiModelProperty("证件号码")
private String idNo; // 证件号码
@ApiModelProperty("县")
private String county;
@ApiModelProperty("市")
private String city;
@ApiModelProperty("省")
private String province;
@ApiModelProperty("联系地址")
private String address; // 联系地址
@ApiModelProperty(value = "出库申请sid")

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

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

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

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

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

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

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java

@ -838,6 +838,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
addRetrievalApplyDto.setVinNo(vehicleDetailsVo.getVinNo());
BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleFeign.details(vehicleDetailsVo.getVehicleSid()).getData();
if (baseVehicleSelectVo != null) {
addRetrievalApplyDto.setModelSid(baseVehicleSelectVo.getModelSid());
addRetrievalApplyDto.setModelName(baseVehicleSelectVo.getModelName());
}
addRetrievalApplyDto.setPrice(String.valueOf(vehicleDetailsVo.getDealMoney()));
@ -847,8 +848,10 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getByContractNo(busArrearsCarryVehicleApply.getContractNo());
addRetrievalApplyDto.setPaymentMethod(busSalesOrderDetailsVo.getPayType());// 付款方式
addRetrievalApplyDto.setPaymentMethodKey(busSalesOrderDetailsVo.getPayTypeKey());// 付款方式
addRetrievalApplyDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode()); // 款项状态
addRetrievalApplyDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());// 款项状态
addRetrievalApplyDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks()); // 款项状态
addRetrievalApplyDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode()); // 款项状态
addRetrievalApplyDto.setUseOrgName(busArrearsCarryVehicleApply.getUseOrgName());
addRetrievalApplyDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
busDeliveredService.addRetrievalApply(addRetrievalApplyDto);
}
}
@ -990,6 +993,8 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
addRetrievalApplyDto.setPrice(String.valueOf(vehicleDetailsVo.getDealMoney()));
addRetrievalApplyDto.setContractNo(busArrearsCarryVehicleApply.getContractNo());
addRetrievalApplyDto.setName(busArrearsCarryVehicleApply.getCustomerName());
addRetrievalApplyDto.setUseOrgName(busArrearsCarryVehicleApply.getUseOrgName());
addRetrievalApplyDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
busDeliveredService.addRetrievalApply(addRetrievalApplyDto);
}
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.java

@ -79,7 +79,7 @@ public interface BusDeliveredMapper extends BaseMapper<BusDelivered> {
* @param qw
* @return
*/
IPage<AppBusDeliveredPageVo> getRetrievalNotList(IPage<AppBusDeliveredPageVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw);
IPage<AppBusDeliveredPageVo> getRetrievalNotList(IPage<AppBusDeliveredPageVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
/**
* 查询车架号
@ -87,7 +87,7 @@ public interface BusDeliveredMapper extends BaseMapper<BusDelivered> {
* @param contractNo
* @return
*/
List<AppVinListVo> selVinListVo(String contractNo);
List<AppVinListVo> selVinListVo(@Param("contractNo") String contractNo, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw);
AppCarListVo getDeliveredPice(@Param("vin") String vin);
}

17
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml

@ -35,19 +35,26 @@
resultType="com.yxt.anrui.buscenter.api.busdelivered.AppBusDeliveredPageVo">
SELECT *
FROM bus_delivered bd
WHERE
bd.`state` = 1
group by bd.contractNo
<where>
${ew.sqlSegment}
<if test="name != null and name != ''">
and concat(IFNULL(bd.contractNo
, '')
, ifnull(bd.`name`
, '')) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
group by bd.contractNo
</select>
<select id="selVinListVo" resultType="com.yxt.anrui.buscenter.api.busdelivered.AppVinListVo">
SELECT vinNo as vin
FROM bus_delivered
WHERE contractNo = #{contractNo}
AND `state` = 1
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getDeliveredPice"

46
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java

@ -28,18 +28,19 @@ package com.yxt.anrui.buscenter.biz.busdelivered;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign;
import com.yxt.anrui.buscenter.api.busdelivered.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.AppDeliveredApplyInfoVo;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply;
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.common.core.vo.Vo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
@ -63,6 +64,15 @@ import java.util.List;
@Service
public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper, BusDelivered> {
@Autowired
private BaseVehicleTempstateFeign baseVehicleTempstateFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
/**
* 构造出库车辆分页列表查询条件
*
@ -157,14 +167,24 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
*/
public IPage<AppBusDeliveredPageVo> getRetrievalNotList(PagerQuery<AppBusDeliveredPageQuery> pq) {
QueryWrapper<AppBusDeliveredPageQuery> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(pq.getParams().getName())) {
qw.like("name", pq.getParams().getName());
}
String name = pq.getParams().getName();
IPage<AppBusDeliveredPageVo> page = PagerUtil.queryToPage(pq);
IPage<AppBusDeliveredPageVo> iPage = baseMapper.getRetrievalNotList(page, qw);
String orgPath = pq.getParams().getOrgPath();
String orgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
} else {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(pq.getParams().getUserSid()).getData();
}
qw.eq("useOrgSid", orgSid);
qw.eq("state", 1);
IPage<AppBusDeliveredPageVo> iPage = baseMapper.getRetrievalNotList(page, qw, name);
for (AppBusDeliveredPageVo record : iPage.getRecords()) {
String contractNo = record.getContractNo();
List<AppVinListVo> vinListVo = baseMapper.selVinListVo(contractNo);
QueryWrapper qw2 = new QueryWrapper<>();
qw2.eq("state", 1);
qw2.eq("contractNo", contractNo);
List<AppVinListVo> vinListVo = baseMapper.selVinListVo(contractNo, qw2);
record.setVinList(vinListVo);
}
return iPage;
@ -175,6 +195,12 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
AppDeliveredDetailsVo vo = new AppDeliveredDetailsVo();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
BusDelivered busDelivered = fetchBySid(query.getSid());
String vin = busDelivered.getVinNo();
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(vin, busDelivered.getUseOrgSid()).getData();
if (baseVehicle != null) {
vo.setModelSid(baseVehicle.getModelSid());
vo.setConfigSid(baseVehicle.getModelConfigSid());
}
vo.setContractId(busDelivered.getContractNo());
vo.setModel(busDelivered.getModelName());
vo.setMobile(busDelivered.getMobile());
@ -188,6 +214,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appCarListVos.add(appCarListVo);
}
vo.setCarList(appCarListVos);
vo.setTerminalKey("0");
vo.setTerminalValue("否");
return rb.success().setData(vo);
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.java

@ -100,5 +100,5 @@ public interface BusDeliveredApplyMapper extends BaseMapper<BusDeliveredApply> {
* @param qw
* @return
*/
IPage<AppDeliveredApplyPageVo> getRetrievalApplyList(IPage<AppDeliveredApplyPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppDeliveredApplyPageQuery> qw);
IPage<AppDeliveredApplyPageVo> getRetrievalApplyList(IPage<AppDeliveredApplyPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppDeliveredApplyPageQuery> qw, @Param("name") String name);
}

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml

@ -47,7 +47,16 @@
FROM bus_delivered_apply bd
<where>
${ew.sqlSegment}
<if test="name != null and name != ''">
and concat(IFNULL(bd.contractNo
, '')
, ifnull(bd.`name`
, '')) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
order by bd.id desc
</select>
<update id="updateStateAndReason">

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java

@ -168,6 +168,11 @@ public class BusDeliveredApplyRest implements BusDeliveredApplyFeign {
return busDeliveredApplyService.submitDeliveredApply(dto);
}
@Override
public ResultBean submitAppDeliveredApply(AppSubmitDeliveredApplyDto dto) {
return busDeliveredApplyService.submitAppDeliveredApply(dto);
}
@Override
public ResultBean complete(BusDeliveredApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();

163
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

@ -30,6 +30,10 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.buscenter.api.busdeliveredapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListDto;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
@ -106,6 +110,10 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
private FlowTaskFeign flowTaskFeign;
@Autowired
SysUserFeign sysUserFeign;
@Autowired
CommonContractFeign commonContractFeign;
@Autowired
BaseVehicleFeign baseVehicleFeign;
/**
* 构造出库申请的查询条件
@ -710,11 +718,16 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
*/
public IPage<AppDeliveredApplyPageVo> getRetrievalApplyList(PagerQuery<AppDeliveredApplyPageQuery> pagerQuery) {
QueryWrapper<AppDeliveredApplyPageQuery> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(pagerQuery.getParams().getName())) {
qw.eq("name", pagerQuery.getParams().getName());
String orgPath = pagerQuery.getParams().getOrgPath();
String orgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
} else {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(pagerQuery.getParams().getUserSid()).getData();
}
qw.eq("orgSid", orgSid);
IPage<AppDeliveredApplyPageQuery> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppDeliveredApplyPageVo> iPage = baseMapper.getRetrievalApplyList(page, qw);
IPage<AppDeliveredApplyPageVo> iPage = baseMapper.getRetrievalApplyList(page, qw, pagerQuery.getParams().getName());
return iPage;
}
@ -723,33 +736,46 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
ResultBean rb = ResultBean.fireFail();
String dtoSid = appDeliveredApplyDto.getSid();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(appDeliveredApplyDto.getUserSid()).getData();
BaseVehicle baseVehicle = null;
if (StringUtils.isBlank(dtoSid)) {
BusDeliveredApply busDeliveredApply = new BusDeliveredApply();
BeanUtil.copyProperties(appDeliveredApplyDto, busDeliveredApply, "sid");
List<AppCarListDto> carList = appDeliveredApplyDto.getCarList();
if (carList.size() > 0) {
busDeliveredApplyDetailsService.appSaveList(carList, busDeliveredApply.getSid());
}
//根据申请人sid查询分公司sid
ResultBean<String> stringResultBean = sysStaffOrgFeign.getPathSidByUserSid(appDeliveredApplyDto.getUserSid());
if (stringResultBean.getSuccess()) {
busDeliveredApply.setOrgSid(stringResultBean.getData());
}
if (carList.size() > 0) {
String vin = carList.get(0).getVin();
baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(vin, stringResultBean.getData()).getData();
busDeliveredApplyDetailsService.appSaveList(carList, busDeliveredApply.getSid());
}
busDeliveredApply.setApplySid(sysUserVo.getSid());
busDeliveredApply.setApplyName(sysUserVo.getName());
busDeliveredApply.setModelSid(baseVehicle.getModelSid());
busDeliveredApply.setConfigSid(baseVehicle.getModelConfigSid());
save(busDeliveredApply);
} else {
BusDeliveredApply busDeliveredApply = fetchBySid(dtoSid);
if (busDeliveredApply == null) {
return rb.setMsg("该申请不存在");
}
BeanUtil.copyProperties(appDeliveredApplyDto, busDeliveredApply, "sid");
//删除
busDeliveredApplyDetailsService.deleteByApplySid(dtoSid);
busDeliveredUseMessageService.deleteByApplySid(dtoSid);
List<AppCarListDto> carList = appDeliveredApplyDto.getCarList();
//根据申请人sid查询分公司sid
ResultBean<String> stringResultBean = sysStaffOrgFeign.getPathSidByUserSid(appDeliveredApplyDto.getUserSid());
if (carList.size() > 0) {
String vin = carList.get(0).getVin();
baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(vin, stringResultBean.getData()).getData();
busDeliveredApply.setModelSid(baseVehicle.getModelSid());
busDeliveredApply.setConfigSid(baseVehicle.getModelConfigSid());
busDeliveredApplyDetailsService.appSaveList(carList, busDeliveredApply.getSid());
}
updateById(busDeliveredApply);
}
return rb.success().setData(dtoSid);
}
@ -760,24 +786,30 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
BusDeliveredApply busDeliveredApply = fetchBySid(sid);
BeanUtil.copyProperties(busDeliveredApply, vo);
if (vo.getIsTerminal().equals("1")) {
if (vo.getIsTerminal() == 1) {
//根据出库申请单的sid查询需要出库的车辆信息
List<AppCarListVo> voList = busDeliveredApplyDetailsService.appDetailsList(sid);
voList.removeAll(Collections.singleton(null));
if (!voList.isEmpty()) {
for (AppCarListVo v : voList) {
CrmCustomerTempVo data = crmCustomerTempFeign.selByMobile(vo.getMobile()).getData();
AppUseInfoVo appUseInfoVo = new AppUseInfoVo();
appUseInfoVo.setMobile(data.getMobile());
appUseInfoVo.setCustomer(data.getName());
appUseInfoVo.setAddress(data.getAddress());
appUseInfoVo.setIdNumber(data.getIDNumber());
String contractNo = vo.getContractNo();
CommonContract commonContract = commonContractFeign.selectByNo(contractNo).getData();
// String customerSid = commonContract.getCustomerSid();
// CrmCustomerTempVo data = crmCustomerTempFeign.fetchSid(customerSid).getData();
AppUseInfoVo appUseInfoVo = null;
// if (data != null) {
// appUseInfoVo = new AppUseInfoVo();
// appUseInfoVo.setMobile(data.getMobile());
// appUseInfoVo.setCustomer(data.getName());
// appUseInfoVo.setAddress(data.getAddress());
// appUseInfoVo.setIdNumber(data.getIDNumber());
// }
v.setUseInfo(appUseInfoVo);
}
}
vo.setCarList(voList);
} else if (vo.getIsTerminal().equals("0")) {
} else if (vo.getIsTerminal() == 0) {
//根据出库申请单的sid查询需要出库的车辆信息
List<AppCarListVo> voList = busDeliveredApplyDetailsService.appDetailsList(sid);
for (int i = 0; i < voList.size(); i++) {
@ -787,13 +819,116 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appUseInfoVo.setCustomer(busDeliveredUseMessage.getName());
appUseInfoVo.setAddress(busDeliveredUseMessage.getAddress());
appUseInfoVo.setIdNumber(busDeliveredUseMessage.getIdNo());
appUseInfoVo.setProvince(busDeliveredUseMessage.getProvince());
appUseInfoVo.setCity(busDeliveredUseMessage.getCity());
appUseInfoVo.setCounty(busDeliveredUseMessage.getCounty());
voList.get(i).setUseInfo(appUseInfoVo);
}
vo.setCarList(voList);
}
vo.setSid(sid);
return rb.success().setData(vo);
}
public ResultBean submitAppDeliveredApply(AppSubmitDeliveredApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BusDeliveredApply busDeliveredApply = fetchBySid(dto.getSid());
int r = submitAppBusinessData(dto, busDeliveredApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveRetrievalApplyInfo(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String sid = resultBean.getData();
//更改状态
List<String> stringList = busDeliveredApplyDetailsService.selectVinByApplySid(sid);
for (int i = 0; i < stringList.size(); i++) {
String vinNo = stringList.get(i);
busDeliveredService.updateState(vinNo, 0);
}
baseMapper.updateStateBySid(2, sid, DateUtil.date());
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.BUSDELIVEREDAPPLY.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(busDeliveredApply.getTaskId());
bv.setTaskDefKey(busDeliveredApply.getNodeId());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitAppBusinessData(AppSubmitDeliveredApplyDto dto, BusDeliveredApply busDeliveredApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (busDeliveredApply != null) {
String businessTaskId = busDeliveredApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
// public ResultBean<AppDeliveredApplyInfoVo> getRetrievalDetail(String contractSid) {
// ResultBean<AppDeliveredApplyInfoVo> rb = ResultBean.fireFail();
// AppDeliveredApplyInfoVo vo = new AppDeliveredApplyInfoVo();

25
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapplydetails/BusDeliveredApplyDetailsService.java

@ -28,6 +28,12 @@ package com.yxt.anrui.buscenter.biz.busdeliveredapplydetails;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleVo;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateDto;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign;
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListDto;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.anrui.buscenter.api.busdeliveredusemessage.AppUseInfoDto;
@ -61,6 +67,10 @@ import java.util.List;
public class BusDeliveredApplyDetailsService extends MybatisBaseService<BusDeliveredApplyDetailsMapper, BusDeliveredApplyDetails> {
@Autowired
private BusDeliveredUseMessageService busDeliveredUseMessageService;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
@Autowired
private BaseVehicleTempstateFeign baseVehicleTempstateFeign;
private QueryWrapper<BusDeliveredApplyDetails> createQueryWrapper(BusDeliveredApplyDetailsQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -132,6 +142,9 @@ public class BusDeliveredApplyDetailsService extends MybatisBaseService<BusDeliv
if (carList.get(i).getUseInfo() != null) {
AppUseInfoDto useInfo = carList.get(i).getUseInfo();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
busDeliveredUseMessage.setProvince(useInfo.getProvince());
busDeliveredUseMessage.setCity(useInfo.getCity());
busDeliveredUseMessage.setCounty(useInfo.getCounty());
busDeliveredUseMessage.setAddress(useInfo.getAddress());
busDeliveredUseMessage.setIdNo(useInfo.getIdNumber());
busDeliveredUseMessage.setName(useInfo.getCustomer());
@ -140,6 +153,18 @@ public class BusDeliveredApplyDetailsService extends MybatisBaseService<BusDeliv
busDeliveredUseMessageService.save(busDeliveredUseMessage);
busDeliveredApplyDetails.setUseMessageSid(busDeliveredUseMessage.getSid());
}
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto();
baseVehicleTempstateDto.setBusSid(sid);
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.ISSUE_APPLY.getCode());
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.ISSUE_APPLY.getRemarks());
baseVehicleTempstateDto.setTempKey("1");
baseVehicleTempstateDto.setTempValue("待审核");
for (AppCarListDto carListDto : carList) {
baseVehicleTempstateDto.setVinNo(carListDto.getVin());
BaseVehicleVo data = baseVehicleFeign.selVehicleByVinNo(carListDto.getVin()).getData();
baseVehicleTempstateDto.setVehSid(data.getSid());
baseVehicleTempstateFeign.save(baseVehicleTempstateDto);
}
save(busDeliveredApplyDetails);
}
}

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

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

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

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

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

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

56
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -86,11 +86,9 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.*;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.api.sysuserrole.SysUserRoleFeign;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -185,6 +183,8 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
private MessageFeign messageFeign;
@Autowired
private FinCollectionConfirmationFeign finCollectionConfirmationFeign;
@Autowired
private SysUserRoleFeign sysUserRoleFeign;
public PagerVo<BusMainDeposit> listPage(PagerQuery<BusMainDepositQuery> pq) {
@ -1799,6 +1799,30 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.ORDERDEPOSITAPPROVE.getProDefId());
//根据员工的sid查询员工的角色
String userSid = dto.getUserSid();
ResultBean<List<String>> userRoleList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid);
UserRoleQuery userRoleQuery = new UserRoleQuery();
if (userRoleList.getData().size() > 0) {
userRoleQuery.setRoleSid(userRoleList.getData().get(0));
}
userRoleQuery.setOrgSid(staffOrgResultBean.getData().getOrgSid());
ResultBean<List<SysUserVo>> listResultBean = sysUserFeign.getUserByOrgRole(userRoleQuery);
if (!listResultBean.getSuccess()) {
return rb.setMsg(listResultBean.getMsg());
}
List<SysUserVo> sysUserVos = listResultBean.getData();
sysUserVos.removeAll(Collections.singleton(null));
if (sysUserVos.isEmpty()) {
return rb.setMsg("下一环节没有用户");
}
StringBuilder nextNodeUserSids = new StringBuilder();
for (SysUserVo su : sysUserVos) {
nextNodeUserSids.append(su.getSid()).append(",");
}
//符合条件的用户的sid,拼接的字符串
String nextNodeUserSids_ = nextNodeUserSids.toString();
bv.setNextNodeUserSids(nextNodeUserSids_);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
@ -1933,6 +1957,30 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.ORDERDEPOSITVEHICLEAPPROVE.getProDefId());
//根据员工的sid查询员工的角色
String userSid = dto.getUserSid();
ResultBean<List<String>> userRoleList = sysUserRoleFeign.getUserRoleSidByUserSid(userSid);
UserRoleQuery userRoleQuery = new UserRoleQuery();
if (userRoleList.getData().size() > 0) {
userRoleQuery.setRoleSid(userRoleList.getData().get(0));
}
userRoleQuery.setOrgSid(staffOrgResultBean.getData().getOrgSid());
ResultBean<List<SysUserVo>> listResultBean = sysUserFeign.getUserByOrgRole(userRoleQuery);
if (!listResultBean.getSuccess()) {
return rb.setMsg(listResultBean.getMsg());
}
List<SysUserVo> sysUserVos = listResultBean.getData();
sysUserVos.removeAll(Collections.singleton(null));
if (sysUserVos.isEmpty()) {
return rb.setMsg("下一环节没有用户");
}
StringBuilder nextNodeUserSids = new StringBuilder();
for (SysUserVo su : sysUserVos) {
nextNodeUserSids.append(su.getSid()).append(",");
}
//符合条件的用户的sid,拼接的字符串
String nextNodeUserSids_ = nextNodeUserSids.toString();
bv.setNextNodeUserSids(nextNodeUserSids_);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();

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

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

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

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

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

@ -58,10 +58,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -208,16 +206,48 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
if ("02".equals(dto.getDepositTypeKey())) {
List<AppBusSalesOrderDepositListDto> listVos = dto.getVirtualOrderList();
listVos.removeAll(Collections.singleton(null));
for (AppBusSalesOrderDepositListDto listDto : listVos) {
//查询付款人是否和客户一样
BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid());
if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) {
if (listDto.getEntrustImage().isEmpty()) {
return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书");
if (!listVos.isEmpty()) {
//判断是否存在重复的虚拟订金单
List<String> depositNoList = listVos.stream().map(v->v.getDepositBillNo()).collect(Collectors.toList());
Set<String> set = new HashSet<>(depositNoList);
if(depositNoList.size() != set.size()){
return rb.setMsg("存在相同虚拟订金单,请刷新后重新添加");
}
//查询存在使用记录sid的与数据库中该销售订单的虚拟订金使用记录的是否一致,若不一致则提示刷新后重试。若一致则继续
List<String> recordSidList = listVos.stream().filter(v-> null != v.getUseDepositRecordSid()).filter(v->!v.getUseDepositRecordSid().isEmpty()).map(v->v.getUseDepositRecordSid()).collect(Collectors.toList());
Set<String> setRecord = new HashSet<>(recordSidList);
if(recordSidList.size() != setRecord.size()) {
return rb.setMsg("存在相同虚拟订金单,请刷新后重新添加");
}
//查询该销售订单下的所有虚拟订金单的信息
List<String> recordSidLists = busDepositFictitiousService.getStringList(salesOrderSid);
if(recordSidList.size() != recordSidLists.size()){
return rb.setMsg("存在缓存数据,请刷新后再进行保存操作");
}else{
recordSidList.removeAll(recordSidLists);
if(recordSidList.size()>0){
return rb.setMsg("存在缓存数据,请刷新后再进行保存操作");
}
recordSidList = listVos.stream().filter(v-> null != v.getUseDepositRecordSid()).filter(v->!v.getUseDepositRecordSid().isEmpty()).map(v->v.getUseDepositRecordSid()).collect(Collectors.toList());
recordSidLists.removeAll(recordSidList);
if(recordSidLists.size()>0){
return rb.setMsg("存在缓存数据,请刷新后再进行保存操作");
}
}
makeUpDecimal = makeUpDecimal.add(new BigDecimal(listDto.getPrice()));
for (AppBusSalesOrderDepositListDto listDto : listVos) {
//查询付款人是否和客户一样
BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid());
if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) {
if (listDto.getEntrustImage().isEmpty()) {
return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书");
}
}
makeUpDecimal = makeUpDecimal.add(new BigDecimal(listDto.getPrice()));
}
}
}
BusSalesOrderDeposit busSalesOrderDeposit = baseMapper.selectByOrderSid(salesOrderSid);
String depositSid = "";
@ -341,8 +371,8 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
}
//查询已审核通过的款项确认
ResultBean<List<String>> stringList = finCollectionConfirmationFeign.billeNoList();
if(stringList.getSuccess()){
qw.in("bmd.billNo",stringList.getData());
if (stringList.getSuccess()) {
qw.in("bmd.billNo", stringList.getData());
}
}
qw.eq("bmd.nodeState", FlowComment.SETTLE.getRemark());//已办结
@ -371,7 +401,7 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
* @param salesOrderSid 销售订单sid
* @return
*/
public int updateBySalesOrderSid(BigDecimal depositSum, String salesOrderSid,BigDecimal bigDecimalSum) {
return baseMapper.updateBySalesOrderSid(depositSum, salesOrderSid,bigDecimalSum);
public int updateBySalesOrderSid(BigDecimal depositSum, String salesOrderSid, BigDecimal bigDecimalSum) {
return baseMapper.updateBySalesOrderSid(depositSum, salesOrderSid, bigDecimalSum);
}
}

27
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/cheliangyudingEdit.vue

@ -4,8 +4,8 @@
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="FormLoading" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="disabled" @click="handleSubmit()">提交</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleCreate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleSubmit()">提交</el-button>
</div>
</div>
<div class="">
@ -81,7 +81,7 @@
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="操作" align="center" width="80px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="handleDelete(scope.row,scope.$index)">删除
<el-button size="mini" type="danger" @click="handleDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
@ -257,10 +257,8 @@ export default {
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
saveChe(this.temp).then((response) => {
this.FormLoading = true
if (response.code === '200') {
this.FormLoading = false
this.$message({ showClose: true, type: 'success', message: '提交成功' })
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
//
window.parent.postMessage({
cmd: 'returnHeight',
@ -269,6 +267,8 @@ export default {
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
})
}
@ -301,13 +301,8 @@ export default {
console.log('提交时sid', this.temp.sid)
//
submitVehicleApprove(this.temp).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '提交成功',
type: 'success',
duration: 2000
})
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' })
//
window.parent.postMessage({
cmd: 'returnHeight',
@ -316,6 +311,8 @@ export default {
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
})
}
@ -349,7 +346,7 @@ export default {
}
},
//
handleDelete(row, index) {
handleDelete(index) {
this.temp.carList.splice(index, 1)
},
// ------------ ------------

10
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/dingjinshouquEdit.vue

@ -447,7 +447,7 @@ export default {
this.temp.userSid = window.sessionStorage.getItem('userSid')
saveDing(this.temp).then((response) => {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '修改成功' })
this.$message({ showClose: true, type: 'success', message: '保存成功' })
//
window.parent.postMessage({
cmd: 'returnHeight',
@ -456,6 +456,8 @@ export default {
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
})
}
@ -496,11 +498,7 @@ export default {
}
}, '*')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error'
})
this.submitdisabled = false
}
})
}

5
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xunidingdanFlow/relation/xuanzecheliang.vue

@ -154,10 +154,8 @@ export default {
} else {
this.listQuery.params.vinNoList = []
}
this.listQuery.current = 1
this.listQuery.total = 0
this.listQuery.size = 5
this.getcarbrand()
this.handleReset()
},
//
clicksearchShow() {
@ -213,7 +211,6 @@ export default {
})
}
})
this.getList()
},
//
handleConfirm() {

5
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/com/xuanzecheliang.vue

@ -154,10 +154,8 @@ export default {
} else {
this.listQuery.params.vinNoList = []
}
this.listQuery.current = 1
this.listQuery.total = 0
this.listQuery.size = 5
this.getcarbrand()
this.handleReset()
},
//
clicksearchShow() {
@ -213,7 +211,6 @@ export default {
})
}
})
this.getList()
},
//
handleConfirm() {

27
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingdanAdd.vue

@ -82,7 +82,7 @@
<el-table-column align="center" label="序号" type="index" width="60"/>
<el-table-column label="操作" align="center" width="80px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="handleDelete(scope.row,scope.$index)">删除
<el-button size="mini" type="danger" @click="handleDelete(scope.$index)">删除
</el-button>
</template>
</el-table-column>
@ -260,15 +260,11 @@ export default {
this.temp.staffSid = window.sessionStorage.getItem('staffSid')
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
saveChe(this.temp).then((response) => {
if (response.code === '200') {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000
})
this.submitdisabled = false
}
})
}
@ -305,20 +301,11 @@ export default {
console.log('提交时sid', this.temp.sid)
//
submitVehicleApprove(this.temp).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '提交成功',
type: 'success',
duration: 2000
})
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' })
this.handleReturn('true')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error'
})
this.submitdisabled = false
}
})
}

19
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xunidingdan/xunidingjinAdd.vue

@ -449,15 +449,11 @@ export default {
this.temp.orgSid = window.sessionStorage.getItem('orgSid')
this.temp.userSid = window.sessionStorage.getItem('userSid')
saveDing(this.temp).then((response) => {
if (response.code === '200') {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.$notify({
title: '提示',
message: '添加失败',
type: 'error',
duration: 2000
})
this.submitdisabled = false
}
})
}
@ -487,14 +483,11 @@ export default {
this.temp.userSid = window.sessionStorage.getItem('userSid')
//
submitApprove(this.temp).then((response) => {
if (response.code === '200') {
if (response.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' })
this.handleReturn('true')
} else {
this.$notify({
title: '提交失败',
message: response.msg,
type: 'error'
})
this.submitdisabled = false
}
})
}

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java

@ -62,5 +62,6 @@ public class AppBillApplicationIInfoVo implements Vo {
@ApiModelProperty("流程实列id")
private String procInstId;
@ApiModelProperty("是否能填写开票价")
private Boolean canEdit;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/appaybill/ApPayBill.java

@ -166,7 +166,7 @@ public class ApPayBill {
apPayBill.setFPURCHASEORGID("101");
apPayBill.setFPURCHASEDEPTID("05.04");
apPayBill.setFPAYORGID("101");
List<FPAYBILLENTRY> FPAYBILLENTRYs=new ArrayList<>();
List<FPAYBILLENTRY> FPAYBILLENTRYs=new ArrayList<>();FRECTUNIT
FPAYBILLENTRY fpaybillentry=new FPAYBILLENTRY();
fpaybillentry.setFSETTLETYPEID("02");

49
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -27,19 +27,23 @@ package com.yxt.anrui.fin.biz.finbillapplication;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.nacos.api.config.filter.IFilterConfig;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateDto;
import com.yxt.anrui.base.api.commonappendix.*;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContractVo;
import com.yxt.anrui.base.common.enums.DictCommonEnum;
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AdCarListDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.BusAdvanceGinvoiceapply;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelFeign;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceFeign;
import com.yxt.anrui.fin.api.finbillapplication.*;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
@ -703,6 +707,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
String contractNo = finBillApplication.getContractNo();
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
variables.put("isTrue", data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney()));
}
if (bv.getTaskId().equals(finBillApplication.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
@ -741,6 +751,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
String contractNo = finBillApplication.getContractNo();
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
variables.put("isTrue", data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney()));
}
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
@ -755,6 +773,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
String contractNo = finBillApplication.getContractNo();
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
variables.put("isTrue", data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney()));
}
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
@ -783,6 +809,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
String contractNo = finBillApplication.getContractNo();
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
variables.put("isTrue", data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney()));
}
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
@ -982,7 +1014,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
qw.eq("fba.useOrgSid", pagerQuery.getParams().getUseOrgSid());
}
String name = pagerQuery.getParams().getName();
IPage<AppBillApplicationPageVo> iPage = baseMapper.getInvoicedApplyList(page, qw,name);
IPage<AppBillApplicationPageVo> iPage = baseMapper.getInvoicedApplyList(page, qw, name);
List<AppBillApplicationPageVo> records = iPage.getRecords();
for (AppBillApplicationPageVo record : records) {
String createBySid = record.getCreateBySid();
@ -1026,6 +1058,15 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
vo.setCustomerInvoiceApplyImages(customerInvoiceApplyImages);
vo.setRegisterContractImages(registerContractImages);
vo.setInvoiceApplyConfirmImages(invoiceApplyConfirmImages);
String contractNo = vo.getContractNo();
BusSalesOrder data = busSalesOrderFeign.selectOrderByContractNo(contractNo).getData();
if (data != null) {
if (StringUtils.isBlank(data.getBillingType())) {
vo.setCanEdit(true);
} else {
vo.setCanEdit(false);
}
}
return rb.success().setData(vo);
}
@ -1210,6 +1251,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
//用户sid
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
//判断是否是高低开,若是,则isTrue网关参数为true=============添加
String contractNo = dto.getContractNo();
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
if (data != null) {
variables.put("isTrue", data.getSingleFinalPrice().equals(dto.getOneBillMoney()));
}
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -49,7 +49,7 @@ public enum ProcDefEnum {
FINPAYAPPLY("付款申请","process_gin2tntb:4:902508"),//ToDo:测试
ARREARSCARRYVEHICLE("欠款提车审批流程", "process_8ax1xxn3:2:862512"),//测试(新)2022、11、22
BUSCENTERADVANCEGINVOICEAPPLY("提前开票申请流程", "process_zt1gov6e:3:820008"), //测试
FINBILLAPPLICATION("开票申请流程", "process_sndce6s9:1:862516"),//测试(新)2022、11、22
FINBILLAPPLICATION("开票申请流程", "process_sndce6s9:2:937504"),//测试(新)2022、11、22
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:5:867504"),//测试外采流程定义id
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:7:867520"),//测试车型调价流程定义id
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:4:892504"),//测试调车流程定义id

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleexamine/AppScmVehicleExaminePageVo.java

@ -41,7 +41,12 @@ public class AppScmVehicleExaminePageVo implements Vo {
@ApiModelProperty("供应商名称")
private String manufacturerName;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("采购订单类型(外采,内购,排产)")
private String purchaseTypeKey;
@ApiModelProperty("业务sid")
private String businessSid;
}

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineMapper.xml

@ -27,11 +27,13 @@
sve.vinNo as vin,
sve.departureDate as dispatchedDate,
sve.purchaseType,
sve.purchaseTypeKey,
sve.inspection as inspectedName,
sve.inspectionDate as inspectedDate,
sve.inspectionResult as inspectedType,
sve.saveStatus,
sve.modelSid
sve.modelSid,
sve.businessSid
FROM scm_vehicle_examine sve
<where>
${ew.sqlSegment}

20
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -276,13 +276,19 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
if ("1".equals(record.getInspectedType())) {
record.setShowInspectedBtn(true);
}
//品牌
BaseVehicleModel data = baseVehicleModelFeign.selectDetails(record.getModelSid()).getData();
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandFeign.fetchBySid(data.getCarBrand());
//厂商sid
BaseManufacturerAllVo baseManufacturerAllVo = baseManufacturerFeign.details(baseVehicleBrand.getManufacturerSid()).getData();
//供应商名称
record.setManufacturerName(baseManufacturerAllVo.getBaseManufacturerDto().getManufacturerName());
if (record.getPurchaseTypeKey().equals("002")) {
BaseOutsourcingApplicationDetailsVo baseOutsourcingApplicationDetailsVo = baseOutsourcingApplicationFeign.fetchBySid(record.getBusinessSid()).getData();
record.setManufacturerName(baseOutsourcingApplicationDetailsVo.getPurchasingUnitName());
} else {
//品牌
BaseVehicleModel data = baseVehicleModelFeign.selectDetails(record.getModelSid()).getData();
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandFeign.fetchBySid(data.getCarBrand());
//厂商sid
BaseManufacturerAllVo baseManufacturerAllVo = baseManufacturerFeign.details(baseVehicleBrand.getManufacturerSid()).getData();
//供应商名称
record.setManufacturerName(baseManufacturerAllVo.getBaseManufacturerDto().getManufacturerName());
}
}
return iPage;
}

8
anrui-scm/anrui-scm-ui/src/api/cheliang/dictcommons.js

@ -51,6 +51,14 @@ export function getListOrgByBrandSid(orgSid, brandSid) {
})
}
// 根据当前登录人的分公司sid和品牌sid信息获取分公司
export function getListOrgByBrandSidNo(orgSid, brandSid) {
return request({
url: '/portal/v1/sysorganization/getListOrgByBrandSidNo/' + orgSid + '/' + brandSid,
method: 'get'
})
}
// 根据登陆人sid查询分公司 (孟哲写的接口)
export function getPathSidByUserSid(data) {
return request({

4
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue

@ -198,7 +198,7 @@ import chexinglook from './chexinglook'
import chexingpeizhi from './relation/chexingguanlianchangyong'
import chexinggonggaoxingao from './relation/chexinggonggaoxingao'
import upload from '../../../components/uploadFile/upload_chexing'
import { getListOrgByBrandSid } from '@/api/cheliang/dictcommons'
import { getListOrgByBrandSidNo } from '@/api/cheliang/dictcommons'
export default {
name: 'chexing',
@ -385,7 +385,7 @@ export default {
})
},
changeBrand(value) {
getListOrgByBrandSid(this.listQuery.params.createOrgSId, value).then((resp) => {
getListOrgByBrandSidNo(this.listQuery.params.createOrgSId, value).then((resp) => {
if (resp.success) {
this.org_list = resp.data
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java

@ -73,4 +73,7 @@ public class BillApplicationIInfoVo implements Vo {
@JsonProperty("contractSid")
private String contractSid;
@ApiModelProperty("是否能填写开票价")
private Boolean canEdit;
}

39
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeign.java

@ -27,12 +27,21 @@ package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsQuery;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarVinListVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.CompleteAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.SubmitAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.CompleteRetrievalDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.SubmitRetrievalDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -115,4 +124,34 @@ public interface AppBusDeliveredApplyFeign {
@DeleteMapping("/deleteRetrievalInfo")
@ResponseBody
public ResultBean deleteRetrievalInfo(@RequestParam("sid") String sid);
@ApiOperation("提交流程")
@PostMapping("/submitRetrievalInfo")
@ResponseBody
ResultBean submitRetrievalInfo(@RequestBody SubmitRetrievalDto dto);
@ApiOperation("办理")
@PutMapping("/agreeAdvanceInvoiceInfo")
@ResponseBody
ResultBean agreeRetrievalInfo(@RequestBody CompleteRetrievalDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectRetrievalInfo")
@ResponseBody
ResultBean rejectRetrievalInfo(@RequestBody RetrievalTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallRetrievalInfo")
@ResponseBody
ResultBean recallRetrievalInfo(@RequestBody RetrievalTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopRetrievalInfo")
@ResponseBody
ResultBean stopRetrievalInfo(@RequestBody RetrievalTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap RetrievalQuery query);
}

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeignFallback.java

@ -27,6 +27,10 @@ package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsQuery;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarVinListVo;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.CompleteRetrievalDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.SubmitRetrievalDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -90,4 +94,34 @@ public class AppBusDeliveredApplyFeignFallback implements AppBusDeliveredApplyFe
public ResultBean deleteRetrievalInfo(String sid) {
return null;
}
@Override
public ResultBean submitRetrievalInfo(SubmitRetrievalDto dto) {
return null;
}
@Override
public ResultBean agreeRetrievalInfo(CompleteRetrievalDto dto) {
return null;
}
@Override
public ResultBean rejectRetrievalInfo(RetrievalTaskQuery query) {
return null;
}
@Override
public ResultBean recallRetrievalInfo(RetrievalTaskQuery query) {
return null;
}
@Override
public ResultBean stopRetrievalInfo(RetrievalTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(RetrievalQuery query) {
return null;
}
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CarListDto implements Dto {
private static final long serialVersionUID = 7232265575331329751L;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("成交价")
private String price;
@ApiModelProperty("录入人信息")
private UseInfoDto useInfo;
@ApiModelProperty("车辆备注")
private String carRemarks;
}

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDetailsVo.java

@ -23,6 +23,12 @@ public class DeliveredApplyDetailsVo implements Vo {
@JsonProperty("model")
private String modelName;
@ApiModelProperty("车型Sid")
private String modelSid;
@ApiModelProperty("配置Sid")
private String configSid;
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@JsonProperty("date")

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDto.java

@ -13,6 +13,9 @@ public class DeliveredApplyDto implements Dto {
private static final long serialVersionUID = 1435828778500563915L;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("合同id")
@JsonProperty("contractId")
private String contractNo;
@ -44,7 +47,7 @@ public class DeliveredApplyDto implements Dto {
private String remarks;
@ApiModelProperty("车辆集合")
private List<AppCarListDto> carList;
private List<CarListDto> carList;
@ApiModelProperty("用户sid")
@JsonProperty("userSid")

8
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyInfoVo.java

@ -14,10 +14,18 @@ import java.util.List;
public class DeliveredApplyInfoVo implements Vo {
private static final long serialVersionUID = 3238349626312645201L;
private String sid;
@ApiModelProperty("合同id")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("车型Sid")
private String modelSid;
@ApiModelProperty("配置Sid")
private String configSid;
@ApiModelProperty("车型")
@JsonProperty("model")
private String modelName;

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyPageQuery.java

@ -11,6 +11,9 @@ public class DeliveredApplyPageQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构sid")
private String orgPath;
@ApiModelProperty("用户名称")
private String name;
}

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVo.java

@ -18,6 +18,12 @@ public class DeliveredDetailsVo implements Vo {
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("车型Sid")
private String modelSid;
@ApiModelProperty("配置Sid")
private String configSid;
@ApiModelProperty("手机号")
private String mobile;

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredPageQuery.java

@ -11,6 +11,9 @@ public class DeliveredPageQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构sid")
private String orgPath;
@ApiModelProperty("客户名称")
private String name;

29
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/UseInfoDto.java

@ -0,0 +1,29 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UseInfoDto implements Dto {
private static final long serialVersionUID = -2622215767931928713L;
@ApiModelProperty("使用人名称")
private String customer;
@ApiModelProperty("证件号码")
private String idNumber;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("定位")
private String location;
@ApiModelProperty("县")
private String county;
@ApiModelProperty("市")
private String city;
@ApiModelProperty("省")
private String province;
@ApiModelProperty("区域代码")
private String code;
}

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/CompleteRetrievalDto.java

@ -0,0 +1,33 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class CompleteRetrievalDto implements Dto {
private static final long serialVersionUID = -1634177638238174363L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/RetrievalQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class RetrievalQuery implements Query {
private static final long serialVersionUID = -5879668616710833830L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

44
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/RetrievalTaskQuery.java

@ -0,0 +1,44 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class RetrievalTaskQuery implements Query {
private static final long serialVersionUID = -6061453269533691015L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/SubmitRetrievalDto.java

@ -0,0 +1,33 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class SubmitRetrievalDto extends DeliveredApplyDto {
private static final long serialVersionUID = -471108222247151552L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

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

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

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

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

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

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

34
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyRest.java

@ -28,6 +28,10 @@ package com.yxt.anrui.terminal.biz.autoservice.retrieval;
import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsQuery;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarVinListVo;
import com.yxt.anrui.terminal.api.autoservice.retrieval.*;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.CompleteRetrievalDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.SubmitRetrievalDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -99,4 +103,34 @@ public class AppBusDeliveredApplyRest implements AppBusDeliveredApplyFeign {
public ResultBean deleteRetrievalInfo(String sid) {
return appBusDeliveredApplyService.deleteRetrievalInfo(sid);
}
@Override
public ResultBean submitRetrievalInfo(SubmitRetrievalDto dto) {
return appBusDeliveredApplyService.submitRetrievalInfo(dto);
}
@Override
public ResultBean agreeRetrievalInfo(CompleteRetrievalDto dto) {
return appBusDeliveredApplyService.agreeRetrievalInfo(dto);
}
@Override
public ResultBean rejectRetrievalInfo(RetrievalTaskQuery query) {
return appBusDeliveredApplyService.rejectRetrievalInfo(query);
}
@Override
public ResultBean recallRetrievalInfo(RetrievalTaskQuery query) {
return appBusDeliveredApplyService.recallRetrievalInfo(query);
}
@Override
public ResultBean stopRetrievalInfo(RetrievalTaskQuery query) {
return appBusDeliveredApplyService.stopRetrievalInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(RetrievalQuery query) {
return appBusDeliveredApplyService.getFlowOperateTitle(query);
}
}

118
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java

@ -30,12 +30,15 @@ import com.yxt.anrui.buscenter.api.busdelivered.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarVinListVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetailsFeign;
import com.yxt.anrui.scm.api.scmvehiclegression.AppScmVehicleGressionPageQuery;
import com.yxt.anrui.scm.api.scmvehiclestaypatrolinspection.AppScmVehicleStayPatrolinspectionPageQuery;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.autoservice.retrieval.*;
import com.yxt.anrui.terminal.api.supplychain.inspection.StayPatrolinspectionPageVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.AppGressionInfoVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehiclegression.AppGressionPageVo;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.CompleteRetrievalDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.RetrievalTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.flowable.SubmitRetrievalDto;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -44,6 +47,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@ -72,6 +76,12 @@ public class AppBusDeliveredApplyService {
@Autowired
BusDeliveredApplyDetailsFeign busDeliveredApplyDetailsFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<PagerVo<DeliveredPageVo>> getRetrievalNotList(PagerQuery<DeliveredPageQuery> pagerQuery) {
ResultBean<PagerVo<DeliveredPageVo>> rb = ResultBean.fireFail();
PagerQuery<AppBusDeliveredPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
@ -108,6 +118,7 @@ public class AppBusDeliveredApplyService {
}
AppDeliveredApplyInfoVo appDeliveredApplyInfoVo = resultBean.getData();
BeanUtil.copyProperties(appDeliveredApplyInfoVo, vo);
vo.setSid(sid);
return rb.success().setData(vo);
}
@ -143,4 +154,101 @@ public class AppBusDeliveredApplyService {
ResultBean resultBean = busDeliveredApplyFeign.delBySids(sids);
return resultBean;
}
public ResultBean submitRetrievalInfo(SubmitRetrievalDto dto) {
ResultBean rb = ResultBean.fireFail();
AppSubmitDeliveredApplyDto submitDeliveredApplyDto = new AppSubmitDeliveredApplyDto();
BeanUtil.copyProperties(dto, submitDeliveredApplyDto);
ResultBean resultBean = busDeliveredApplyFeign.submitAppDeliveredApply(submitDeliveredApplyDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeRetrievalInfo(CompleteRetrievalDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BusDeliveredApplyCompleteDto deliveredApplyCompleteDto = new BusDeliveredApplyCompleteDto();
BeanUtil.copyProperties(dto, deliveredApplyCompleteDto);
deliveredApplyCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = busDeliveredApplyFeign.complete(deliveredApplyCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectRetrievalInfo(RetrievalTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApplyTaskQuery taskQuery = new BusDeliveredApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busDeliveredApplyFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallRetrievalInfo(RetrievalTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApplyTaskQuery taskQuery = new BusDeliveredApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busDeliveredApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopRetrievalInfo(RetrievalTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApplyTaskQuery taskQuery = new BusDeliveredApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busDeliveredApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(RetrievalQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
GetNodeQuery getNodeQuery = new GetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<GetNodeVo>> getPreviousNodesForReject = busDeliveredApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<GetNodeVo>> getNextNodesForSubmit = busDeliveredApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

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

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

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

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

96
doc/databases/bus_handover_tables.sql

@ -0,0 +1,96 @@
-- 交车准备-申请表
DROP TABLE IF EXISTS `bus_handover_prepare`;
CREATE TABLE `bus_handover_prepare`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`contractNo` varchar(64) DEFAULT NULL COMMENT '合同编号',
`customerName` varchar(64) DEFAULT NULL COMMENT '客户名称',
`mobile` varchar(64) DEFAULT NULL COMMENT '联系电话',
`brandName` varchar(64) DEFAULT NULL COMMENT '品牌',
`num` varchar(64) DEFAULT NULL COMMENT '车辆数量',
`model` varchar(64) DEFAULT NULL COMMENT '车型',
`payTypeKey` varchar(64) DEFAULT NULL COMMENT '付款方式key',
`payType` varchar(64) DEFAULT NULL COMMENT '付款方式value',
`handoverPrepareStateKey` varchar(64) DEFAULT NULL COMMENT '交车准备状态key',
`handoverPrepareState` varchar(64) DEFAULT NULL COMMENT '交车准备状态value',
`createOrgSid` varchar(64) DEFAULT NULL COMMENT '创建组织sid',
`createOrgName` varchar(64) DEFAULT NULL COMMENT '创建组织名称',
`useOrgSid` varchar(64) DEFAULT NULL COMMENT '使用组织sid',
`useOrgName` varchar(64) DEFAULT NULL COMMENT '使用组织名称',
PRIMARY KEY (`id`) USING BTREE,
KEY `id` (`id`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
ROW_FORMAT = DYNAMIC COMMENT ='交车准备-申请表';
-- 交车准备-申请车辆表
DROP TABLE IF EXISTS `bus_handover_prepare_vehicle`;
CREATE TABLE `bus_handover_prepare_vehicle`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`mainSid` varchar(64) DEFAULT NULL COMMENT '交车申请表sid',
`vinNo` varchar(64) DEFAULT NULL COMMENT '车架号',
`invoicingState` varchar(64) DEFAULT NULL COMMENT '开票状态',
`certificateState` varchar(64) DEFAULT NULL COMMENT '合格证状态',
`policyState` varchar(64) DEFAULT NULL COMMENT '保单状态',
`onBoardDataState` varchar(64) DEFAULT NULL COMMENT '随车资料状态',
`otherDataState` varchar(64) DEFAULT NULL COMMENT '其他资料状态',
`createOrgSid` varchar(64) DEFAULT NULL COMMENT '创建组织sid',
`createOrgName` varchar(64) DEFAULT NULL COMMENT '创建组织名称',
`useOrgSid` varchar(64) DEFAULT NULL COMMENT '使用组织sid',
`useOrgName` varchar(64) DEFAULT NULL COMMENT '使用组织名称',
PRIMARY KEY (`id`) USING BTREE,
KEY `id` (`id`) USING BTREE
) ENGINE = InnoDB
DEFAULT CHARSET = utf8
ROW_FORMAT = DYNAMIC COMMENT ='交车准备-申请表';
-- 交车准备-附件表
DROP TABLE IF EXISTS `bus_handover_file`;
CREATE TABLE `bus_handover_file`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`fileName` VARCHAR(64) DEFAULT NULL COMMENT '文件名',
`fileType` VARCHAR(64) DEFAULT NULL COMMENT '文件类型',
`name` VARCHAR(64) DEFAULT NULL COMMENT '上传人',
`linkSid` VARCHAR(64) DEFAULT NULL COMMENT '交车单sid',
`attachType` VARCHAR(64) DEFAULT NULL COMMENT '附件类型',
`fileSize` int DEFAULT NULL COMMENT '文件大小',
`filePath` VARCHAR(255) DEFAULT NULL COMMENT '文件的路径',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='交车单-交车照片';
Loading…
Cancel
Save