Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
f003a60388
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java
  3. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java
  4. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  5. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java
  6. 33
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeign.java
  7. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeignFallback.java
  8. 46
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredPageVo2.java
  9. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/UnDeliverQuery.java
  10. 22
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/VinListVo2.java
  11. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApply.java
  12. 41
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeign.java
  13. 40
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeignFallback.java
  14. 119
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/DeliveredDetailsVo2.java
  15. 13
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.java
  16. 68
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml
  17. 22
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredRest.java
  18. 499
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  19. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  20. 45
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java
  21. 856
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  22. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  23. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  24. 13
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  25. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  26. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java
  27. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDetailsVo.java
  28. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java
  29. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/PcSelBillVinNoQuery.java
  30. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java
  31. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicing.java
  32. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java
  33. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDto.java
  34. 147
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  35. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java
  36. 15
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java
  37. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java
  38. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml
  39. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java
  40. 75
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java
  41. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  42. 8
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceDto.java
  43. 8
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java
  44. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorFeign.java
  45. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java
  46. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/SelBillVinNoPageVo.java
  47. 66
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeign.java
  48. 60
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeignFallback.java
  49. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListVo2.java
  50. 87
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDto2.java
  51. 32
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyPageVo2.java
  52. 112
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVoQk2.java
  53. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredPageVo2.java
  54. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo2.java
  55. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/SubmitRetrievalDto2.java
  56. 112
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java
  57. 77
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java
  58. 61
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyRest.java
  59. 156
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java

@ -35,7 +35,7 @@ public class BaseVehicleState extends BaseEntity {
@ApiModelProperty("开票申请状态:未发起过0,审批通过的为1,审批不通过为改为0,审批中的为2,驳回或撤回到发起人修改为0,默认为0,提交时需要判断是否已发起开票申请流程")
private String invoiceApplyState;
@ApiModelProperty("资方终审:0未通过,1通过,贷款资方终审通过时设置为1")
private String manageState;
private String manageState;
@ApiModelProperty("包牌业务")
private String packageBusiness;
@ApiModelProperty("合同状态")

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateEnum.java

@ -91,6 +91,11 @@ public class BaseVehicleStateEnum {
JFZB("21","家访准备"),
JFKC("22","家访考察"),
JFZLSH("23","家访资料审核"),
KPSQTJ("24","开票申请提交"),
KPSQZZ("25","开票申请终止"),
KPSQTG("26","开票申请通过"),
KPSQBH("27","开票申请驳回"),
KPSQCH("28","开票申请撤回"),
;
private String typeKey;

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributorapply/BaseDistributorApplyService.java

@ -1368,8 +1368,8 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (!staffinfoVoList.isEmpty()) {
for (SysOrgStaffVo sysOrgStaffVo : staffinfoVoList) {
AppSalesman appSalesman = new AppSalesman();
if (StringUtils.isNotBlank(sysOrgStaffVo.getUserSid())) {
appSalesman.setDictKey(sysOrgStaffVo.getUserSid());
if (StringUtils.isNotBlank(sysOrgStaffVo.getStaffSid())) {
appSalesman.setDictKey(sysOrgStaffVo.getStaffSid());
}
if (StringUtils.isNotBlank(sysOrgStaffVo.getStaffName())) {
appSalesman.setDictValue(sysOrgStaffVo.getStaffName());
@ -1846,8 +1846,8 @@ public class BaseDistributorApplyService extends MybatisBaseService<BaseDistribu
if (!staff.isEmpty()) {
for (SysOrgStaffVo sysOrgStaffVo : staff) {
AppSalesman user = new AppSalesman();
if (StringUtils.isNotBlank(sysOrgStaffVo.getUserSid())) {
user.setDictKey(sysOrgStaffVo.getUserSid());
if (StringUtils.isNotBlank(sysOrgStaffVo.getStaffSid())) {
user.setDictKey(sysOrgStaffVo.getStaffSid());
}
if (StringUtils.isNotBlank(sysOrgStaffVo.getStaffName())) {
user.setDictValue(sysOrgStaffVo.getStaffName());

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -2169,13 +2169,13 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
String assigneeName = (String) taskUserInfos.get(0).get("assigneeName");
String finishTime = (String) flowableRecordVo.get("finishTime");
finishTime = finishTime.substring(0, 10);
if ("Activity_1x1eivz".equals(taskDefKey)) {
if ("Activity_0kodcz1".equals(taskDefKey) || "Activity_1x1eivz".equals(taskDefKey)) {
dataMap.put("makeName", assigneeName + finishTime);
} else if ("Activity_13w5v5m".equals(taskDefKey)) {
} else if ("Activity_1bojg9v".equals(taskDefKey) || "Activity_13w5v5m".equals(taskDefKey)) {
dataMap.put("jrsp", assigneeName + finishTime);
} else if ("Activity_1xzxtct".equals(taskDefKey) || "Activity_1ohp3br".equals(taskDefKey)) {
} else if ("Activity_1f3fqeh".equals(taskDefKey) || "Activity_1v7kn5s".equals(taskDefKey) || "Activity_1xzxtct".equals(taskDefKey) || "Activity_1ohp3br".equals(taskDefKey)) {
dataMap.put("confirmName", assigneeName + finishTime);
} else if ("Activity_1461e4e".equals(taskDefKey)) {
} else if ("Activity_1kdrmgx".equals(taskDefKey) || "Activity_1tnvpt7".equals(taskDefKey) || "Activity_1461e4e".equals(taskDefKey)) {
dataMap.put("cwsp", assigneeName + finishTime);
}
}

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclestate/BaseVehicleStateService.java

@ -107,7 +107,17 @@ public class BaseVehicleStateService extends MybatisBaseService<BaseVehicleState
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.JFKC.getStateKey());
}else if (BaseVehicleStateEnum.OperateTypeEnum.JFZLSH.getTypeKey().equals(operateType)){
baseVehicleState.setBusState(BaseVehicleStateEnum.BusStateEnum.JFZLSH.getStateKey());
}*/
}*/else if (BaseVehicleStateEnum.OperateTypeEnum.KPSQTJ.getTypeKey().equals(operateType)){
baseVehicleState.setInvoiceApplyState("2");
}else if (BaseVehicleStateEnum.OperateTypeEnum.KPSQZZ.getTypeKey().equals(operateType)){
baseVehicleState.setInvoiceApplyState("0");
}else if (BaseVehicleStateEnum.OperateTypeEnum.KPSQTG.getTypeKey().equals(operateType)){
baseVehicleState.setInvoiceApplyState("1");
}else if (BaseVehicleStateEnum.OperateTypeEnum.KPSQBH.getTypeKey().equals(operateType)){
baseVehicleState.setInvoiceApplyState("0");
}else if (BaseVehicleStateEnum.OperateTypeEnum.KPSQCH.getTypeKey().equals(operateType)){
baseVehicleState.setInvoiceApplyState("0");
}
baseMapper.updateById(baseVehicleState);
} else {
if (BaseVehicleStateEnum.OperateTypeEnum.DDBA_PASS.getTypeKey().equals(operateType)) {

33
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busdelivered;
import com.yxt.anrui.buscenter.api.busdeliveredapply.DeliveredDetailsVo2;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -68,12 +69,7 @@ public interface BusDeliveredFeign {
@ResponseBody
public ResultBean<PagerVo<BusDeliveredVo>> listPage(@RequestBody PagerQuery<BusDeliveredQuery> pq);
@ApiOperation("可欠款出库车辆列表")
@PostMapping("/unListPage")
@ResponseBody
public ResultBean<PagerVo<UnDeliverVo>> unListPage(@RequestBody PagerQuery<UnDeliverQuery> pq);
@ApiOperation("新增或修改")
/* @ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody BusDeliveredDto dto);
@ -86,7 +82,7 @@ public interface BusDeliveredFeign {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BusDeliveredDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
public ResultBean<BusDeliveredDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);*/
@ApiOperation("移动端-获取待出库列表")
@PostMapping("/getRetrievalNotList")
@ -112,4 +108,27 @@ public interface BusDeliveredFeign {
@GetMapping("/selectByBusVinSid")
@ResponseBody
ResultBean<BusDelivered> selectByBusVinSid(@RequestParam("busVinSid") String busVinSid);
/********************************欠款出库***********************************************/
@ApiOperation("PC可欠款出库车辆列表")
@PostMapping("/unListPage")
@ResponseBody
public ResultBean<PagerVo<UnDeliverVo>> unListPage(@RequestBody PagerQuery<UnDeliverQuery> pq);
@ApiOperation("欠款出库初始化")
@PostMapping("/qkGetRetrievalApplyInfo")
@ResponseBody
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyInfo(@RequestBody AppDeliveredDetailsQuery query);
@ApiOperation("欠款出库补充车辆返回")
@PostMapping("/qkSelectInfo")
@ResponseBody
ResultBean<List<AppCarListVo>> qkSelectInfo(@RequestBody DeliverDetailsQuery query);
@ApiOperation("移动端-可欠款出库")
@PostMapping("/getRetrievalNotListQk")
@ResponseBody
public ResultBean<PagerVo<BusDeliveredPageVo2>> getRetrievalNotListQk(@RequestBody PagerQuery<AppBusDeliveredPageQuery> pq);
}

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeignFallback.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busdelivered;
import com.yxt.anrui.buscenter.api.busdeliveredapply.DeliveredDetailsVo2;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -60,7 +61,7 @@ public class BusDeliveredFeignFallback implements BusDeliveredFeign {
return null;
}
@Override
/*@Override
public ResultBean save(BusDeliveredDto dto){
return ResultBean.fireFail().setMsg("接口anrui-buscenter/busdelivered/save无法访问");
}
@ -74,7 +75,7 @@ public class BusDeliveredFeignFallback implements BusDeliveredFeign {
public ResultBean<BusDeliveredDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-buscenter/busdelivered/fetchDetailsBySid无法访问");
}
}*/
@Override
public ResultBean<PagerVo<AppBusDeliveredPageVo>> getRetrievalNotList(PagerQuery<AppBusDeliveredPageQuery> pq) {
@ -86,6 +87,11 @@ public class BusDeliveredFeignFallback implements BusDeliveredFeign {
return null;
}
@Override
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyInfo(AppDeliveredDetailsQuery query) {
return null;
}
@Override
public ResultBean addRetrievalApply(AddRetrievalApplyDto dto) {
return null;
@ -100,4 +106,14 @@ public class BusDeliveredFeignFallback implements BusDeliveredFeign {
public ResultBean<BusDelivered> selectByBusVinSid(String busVinSid) {
return null;
}
@Override
public ResultBean<List<AppCarListVo>> qkSelectInfo(DeliverDetailsQuery query) {
return null;
}
@Override
public ResultBean<PagerVo<BusDeliveredPageVo2>> getRetrievalNotListQk(PagerQuery<AppBusDeliveredPageQuery> pq) {
return null;
}
}

46
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredPageVo2.java

@ -0,0 +1,46 @@
package com.yxt.anrui.buscenter.api.busdelivered;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/10/11
**/
@Data
public class BusDeliveredPageVo2 {
@ApiModelProperty("列表sid")
private String sid;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("业务状态")
@JsonProperty("subscription")
private String subscription;
@ApiModelProperty("业务状态")
@JsonProperty("subscriptionKey")
private String subscriptionKey;
@ApiModelProperty("销售类型")
@JsonProperty("paymentMethod")
private String paymentMethod;
@ApiModelProperty("销售类型")
@JsonProperty("paymentMethodKey")
private String paymentMethodKey;
@ApiModelProperty("客户名称")
@JsonProperty("customerName")
private String name;
@ApiModelProperty("车架号集合")
private List<VinListVo2> vinList;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/UnDeliverQuery.java

@ -25,5 +25,5 @@ public class UnDeliverQuery implements Query {
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("已选择的车辆")
private List<String> list = new ArrayList<>();
private List<String> vinSid = new ArrayList<>();
}

22
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/VinListVo2.java

@ -0,0 +1,22 @@
package com.yxt.anrui.buscenter.api.busdelivered;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/10/11
**/
@Data
public class VinListVo2 {
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("业务状态")
private String businessState;
}

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

@ -127,4 +127,8 @@ public class BusDeliveredApply extends BaseEntity {
private String hasInvoice;
@ApiModelProperty("类型:0正常出库,1欠款出库")
private int typeState;
private String promiseFile;
private String danFile;
private String carFile;
}

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

@ -175,7 +175,7 @@ public interface BusDeliveredApplyFeign {
ResultBean<DeliveredFinVo> deliveredFinSelectByBusVinSid(@RequestParam("contractNo") String contractNo, @RequestParam("vinSid") String vinSid);
/*******************************************欠款出库相关****************************************************/
@ApiOperation("欠款出库申请分页列表")
@ApiOperation("PC欠款出库申请分页列表")
@PostMapping("/unListPage")
@ResponseBody
public ResultBean<PagerVo<BusDeliveredApplyVo>> unListPage(@RequestBody PagerQuery<BusDeliveredApplyQuery> pq);
@ -190,4 +190,43 @@ public interface BusDeliveredApplyFeign {
@ResponseBody
public ResultBean submitUnDeliveredApply(@Valid @RequestBody SubmitUnDeliveredApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/qkComplete")
@ResponseBody
public ResultBean qkComplete(@Valid @RequestBody BusDeliveredApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/qkGetPreviousNodesForReject")
ResultBean<List<GetNodeVo>> qkGetPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/qkGetNextNodesForSubmit")
ResultBean<List<GetNodeVo>> qkGetNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/qkReject")
@ResponseBody
public ResultBean qkReject(@Valid @RequestBody BusDeliveredApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/qkRevokeProcess")
@ResponseBody
public ResultBean qkRevokeProcess(@Valid @RequestBody BusDeliveredApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/qkBreakProcess")
@ResponseBody
public ResultBean qkBreakProcess(@Valid @RequestBody BusDeliveredApplyTaskQuery query);
@ApiOperation("移动端出库申请详情")
@GetMapping("/qkGetRetrievalApplyDetails")
@ResponseBody
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyDetails(@RequestParam("sid") String sid);
@ApiOperation("移动端欠款出库分页")
@PostMapping("/getRetrievalApplyListQk")
@ResponseBody
public ResultBean<PagerVo<AppDeliveredApplyPageVo>> getRetrievalApplyListQk(@RequestBody PagerQuery<AppDeliveredApplyPageQuery> pagerQuery);
}

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

@ -146,6 +146,46 @@ public class BusDeliveredApplyFeignFallback implements BusDeliveredApplyFeign {
return null;
}
@Override
public ResultBean qkComplete(BusDeliveredApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> qkGetPreviousNodesForReject(GetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> qkGetNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean qkReject(BusDeliveredApplyTaskQuery query) {
return null;
}
@Override
public ResultBean qkRevokeProcess(BusDeliveredApplyTaskQuery query) {
return null;
}
@Override
public ResultBean qkBreakProcess(BusDeliveredApplyTaskQuery query) {
return null;
}
@Override
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyDetails(String sid) {
return null;
}
@Override
public ResultBean<PagerVo<AppDeliveredApplyPageVo>> getRetrievalApplyListQk(PagerQuery<AppDeliveredApplyPageQuery> pagerQuery) {
return null;
}
@Override
public ResultBean complete(BusDeliveredApplyCompleteDto query) {
return null;

119
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/DeliveredDetailsVo2.java

@ -0,0 +1,119 @@
package com.yxt.anrui.buscenter.api.busdeliveredapply;
import com.yxt.anrui.buscenter.api.busdelivered.DeliveredDictVo;
import com.yxt.anrui.buscenter.api.busdelivered.DeliveredLeavesVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/10/11
**/
@Data
public class DeliveredDetailsVo2 {
@ApiModelProperty("合同编号")
private String contractId;
//销售类型
private String paymentMethod;
private String paymentMethodKey;
@ApiModelProperty("APP发起信息:部门-人员名")
private String publishInfo;
@ApiModelProperty("销售部门")
private String staffDeptSid;
private String staffDeptName;
@ApiModelProperty("发起日期")
private String createTime;
@ApiModelProperty("销售专员")
private String staffName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("客户电话")
private String mobile;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("APP单车中介人1")
private String distributorName;
@ApiModelProperty("APP单车中介人2")
private String distributorNameTwo;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("主车成交价")
private String price;
@ApiModelProperty("实际购车人数据字典")
private List<DeliveredDictVo> buyerType = new ArrayList<>();
@ApiModelProperty("购车人类型key")
private String typeKey;
@ApiModelProperty("购车人类型值")
private String type;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款人sid")
private String loanSid;
@ApiModelProperty("贷款人电话")
private String loanMobile;
@ApiModelProperty("总备注")
private String remarks;
@ApiModelProperty("优惠包剩余")
private List<DeliveredLeavesVo> discountLeave = new ArrayList<>();
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("orgPath")
private String orgPath;
@ApiModelProperty("车辆集合")
private List<AppCarListVo> carList;
@ApiModelProperty(value = "实例id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("销售专员sid")
private String pcStaffSid;
@ApiModelProperty("PC发起人")
private String pcApplyName;
@ApiModelProperty("PC发起人sid")
private String pcApplySid;
@ApiModelProperty("PC发起人部门")
private String pcApplyDept;
@ApiModelProperty("PC发起人部门sid")
private String pcApplyDeptSid;
@ApiModelProperty("PC中介人1")
private String pcDistributorName;
@ApiModelProperty("PC服务费1")
private String pcDistributorPrice;
@ApiModelProperty("PC中介人2")
private String pcDistributorNameTwo;
@ApiModelProperty("PC服务费2")
private String pcDistributorPriceTwo;
@ApiModelProperty("PC服务费合计1")
private String pcDistributorPriceAll;
@ApiModelProperty("PC服务费合计2")
private String pcDistributorPriceTwoAll;
@ApiModelProperty("销售订单sid")
private String busSalesOrderSid;
@ApiModelProperty("环节key")
private String taskDefKey;
@ApiModelProperty("是否显示贷款人选择")
private boolean showLoanUser;
@ApiModelProperty("责任人担保承诺书")
private List<String> promiseList = new ArrayList<>();
@ApiModelProperty("担保承诺书")
private List<String> danFileList = new ArrayList<>();
@ApiModelProperty("车辆登记合同")
private List<String> carFileList = new ArrayList<>();
}

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

@ -91,7 +91,7 @@ public interface BusDeliveredMapper extends BaseMapper<BusDelivered> {
int updateStateByContractNo(@Param("contractNo") String contractNo, @Param("list") List<String> vinSidList, @Param("state") int i);
IPage<BusDeliveredVo> selectListsVo(IPage<BusDelivered> page,@Param(Constants.WRAPPER) QueryWrapper<BusDelivered> qw);
IPage<BusDeliveredVo> selectListsVo(IPage<BusDelivered> page, @Param(Constants.WRAPPER) QueryWrapper<BusDelivered> qw);
BusDelivered getState(@Param("contractNo") String contractNo, @Param("vinSid") String vinSid);
@ -99,10 +99,13 @@ public interface BusDeliveredMapper extends BaseMapper<BusDelivered> {
List<String> selectByState();
IPage<BusDeliveredVo> selectListsVoNew(IPage<BusDelivered> page, @Param(Constants.WRAPPER)QueryWrapper<BusDelivered> qw);
IPage<BusDeliveredVo> selectListsVoNew(IPage<BusDelivered> page, @Param(Constants.WRAPPER) QueryWrapper<BusDelivered> qw);
IPage<AppBusDeliveredPageVo> getRetrievalNotLists(IPage<AppBusDeliveredPageVo> page, @Param(Constants.WRAPPER)QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
IPage<AppBusDeliveredPageVo> getRetrievalNotListNew(IPage<AppBusDeliveredPageVo> page, @Param(Constants.WRAPPER)QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
IPage<AppBusDeliveredPageVo> getRetrievalNotLists(IPage<AppBusDeliveredPageVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
IPage<UnDeliverVo> unListPage(IPage<BusDelivered> page, @Param(Constants.WRAPPER)QueryWrapper<BusDelivered> qw);
IPage<AppBusDeliveredPageVo> getRetrievalNotListNew(IPage<AppBusDeliveredPageVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
IPage<UnDeliverVo> unListPage(IPage<BusDelivered> page, @Param(Constants.WRAPPER) QueryWrapper<BusDelivered> qw);
IPage<BusDeliveredPageVo2> getRetrievalNotListQk(IPage<BusDeliveredPageVo2> page, @Param(Constants.WRAPPER) QueryWrapper<AppBusDeliveredPageQuery> qw, @Param("name") String name);
}

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

@ -369,6 +369,45 @@
order by bo.contractNo desc-->
</select>
<select id="getRetrievalNotListQk" resultMap="listMaps2">
select a.* from (SELECT
bo.contractNo,
bo.customerName AS name,
bo.payType paymentMethod,
bbv.vehicleState
FROM
bus_sales_order bo
LEFT JOIN bus_sales_order_vehicle bv ON bo.sid = bv.salesOrderSid
LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid
LEFT JOIN anrui_base.base_vehicle_state bs ON bs.busSid = bv.sid
<where>
${ew.sqlSegment}
and length(bv.linkSid) > 0
<if test="name != null and name != ''">
and concat(IFNULL(bo.contractNo
, '')
, ifnull(bo.`customerName`
, '')) LIKE concat('%'
, #{name}
, '%')
</if>
AND bv.sid IN (
SELECT
busSid
FROM
anrui_base.base_vehicle_state
WHERE
busState = '401'
AND finState = '0' and invoiceState = '1' and finSourceKey = '2')
AND bbv.vehicleState != '0002'
</where>
GROUP BY
bo.contractNo
ORDER BY
bo.contractNo DESC)a
</select>
<resultMap id="listMaps" type="com.yxt.anrui.buscenter.api.busdelivered.AppBusDeliveredPageVo">
<result column="contractNo" jdbcType="VARCHAR" property="contractNo"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
@ -377,6 +416,15 @@
select="vinLists" column="contractNo">
</collection>
</resultMap>
<resultMap id="listMaps2" type="com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredPageVo2">
<result column="contractNo" jdbcType="VARCHAR" property="contractNo"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="paymentMethod" jdbcType="VARCHAR" property="paymentMethod"/>
<collection property="vinList" ofType="com.yxt.anrui.buscenter.api.busdelivered.VinListVo2"
select="vinLists2" column="contractNo">
</collection>
</resultMap>
<select id="vinLists" resultType="com.yxt.anrui.buscenter.api.busdelivered.AppVinListVo">
<!-- select bv.linkSid vinSid,bv.sid busVinSid,RIGHT(bv.linkNo, 8) as vin
from (select busSid from anrui_base.base_vehicle_state where busState = '401' and (finState = '1' or carryVehicleState = 1)) as bs
@ -401,6 +449,24 @@
AND ( finState = '1' OR carryVehicleState = 1 ))
</select>
<select id="vinLists2" resultType="com.yxt.anrui.buscenter.api.busdelivered.VinListVo2">
select bv.linkSid vinSid,bv.sid busVinSid,RIGHT(bv.linkNo, 8) as vin
FROM
bus_sales_order bo
LEFT JOIN bus_sales_order_vehicle bv ON bo.sid = bv.salesOrderSid
LEFT JOIN anrui_base.base_vehicle bbv ON bbv.sid = bv.linkSid
LEFT JOIN anrui_base.base_vehicle_state bs ON bs.busSid = bv.sid
where length(bv.linkSid)>0 and bo.contractNo = #{contractNo} and bbv.vehicleState != '0002'
AND bv.sid IN (
SELECT
busSid
FROM
anrui_base.base_vehicle_state
WHERE
busState = '401'
AND finState = '0' and invoiceState = '1' and finSourceKey = '2')
</select>
<select id="unListPage" resultType="com.yxt.anrui.buscenter.api.busdelivered.UnDeliverVo">
select a.* from(select DISTINCT
bo.contractNo,
@ -424,7 +490,7 @@
anrui_base.base_vehicle_state
WHERE
busState = '401'
AND ( finState = '0')) and invoiceState = '1' and finSourceKey = '2' AND bbv.vehicleState != '0002'
AND finState = '0' and invoiceState = '1' and finSourceKey = '2') AND bbv.vehicleState != '0002'
</where>
order by bo.contractNo desc,bv.id desc) a

22
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredRest.java

@ -27,6 +27,7 @@ package com.yxt.anrui.buscenter.biz.busdelivered;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busdelivered.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.DeliveredDetailsVo2;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -79,7 +80,7 @@ public class BusDeliveredRest implements BusDeliveredFeign {
return rb.success().setData(pv);
}
@Override
/* @Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BusDeliveredDto dto) {
@ -104,7 +105,7 @@ public class BusDeliveredRest implements BusDeliveredFeign {
ResultBean rb = ResultBean.fireFail();
BusDeliveredDetailsVo vo = busDeliveredService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}*/
@Override
public ResultBean<PagerVo<AppBusDeliveredPageVo>> getRetrievalNotList(PagerQuery<AppBusDeliveredPageQuery> pq) {
@ -118,6 +119,11 @@ public class BusDeliveredRest implements BusDeliveredFeign {
return busDeliveredService.getRetrievalApplyInfo(query);
}
@Override
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyInfo(AppDeliveredDetailsQuery query) {
return busDeliveredService.qkGetRetrievalApplyInfo(query);
}
@Override
public ResultBean addRetrievalApply(AddRetrievalApplyDto dto) {
return busDeliveredService.addRetrievalApply(dto);
@ -132,4 +138,16 @@ public class BusDeliveredRest implements BusDeliveredFeign {
public ResultBean<BusDelivered> selectByBusVinSid(String busVinSid) {
return busDeliveredService.selectByBusVinSid(busVinSid);
}
@Override
public ResultBean<List<AppCarListVo>> qkSelectInfo(DeliverDetailsQuery query) {
return busDeliveredService.qkSelectInfo(query);
}
@Override
public ResultBean<PagerVo<BusDeliveredPageVo2>> getRetrievalNotListQk(PagerQuery<AppBusDeliveredPageQuery> pq) {
ResultBean rb = ResultBean.fireFail();
IPage<BusDeliveredPageVo2> voIPage = busDeliveredService.getRetrievalNotListQk(pq);
return rb.success().setData(voIPage);
}
}

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

@ -36,6 +36,7 @@ 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.BusDeliveredApply;
import com.yxt.anrui.buscenter.api.busdeliveredapply.DeliveredDetailsVo2;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetails;
import com.yxt.anrui.buscenter.api.busdelivereddetailsdiscount.BusDeliveredDetailsDiscount;
@ -65,6 +66,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamine;
import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -126,6 +128,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
private BusDeliveredUseMessageService busDeliveredUseMessageService;
@Autowired
private LoanFileexamineFeign loanFileexamineFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
/**
* 待出库车辆分页列表
@ -195,6 +199,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
PagerVo<BusDeliveredVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(BusDeliveredDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
@ -445,26 +450,26 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
//===============================添加资料是否齐全和资方放款是否审核
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if(busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())){
if (busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())) {
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid, loanContractSid);
if (!loanFileexamineResultBean.getSuccess()) {
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
}else{
} else {
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
if ("1".equals(loanFileexamine.getZlState())) {
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
}else{
} else {
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
if (StringUtils.isBlank(loanFileexamine.getBankStateValue())) {
appCarListVo.setBankStateValue("未审核");
}else{
} else {
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
@ -619,26 +624,26 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
appCarListVo.setRealBuyer(realBuyer);
//===============================添加资料是否齐全和资方放款是否审核
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if(busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())){
if (busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())) {
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid, loanContractSid);
if (!loanFileexamineResultBean.getSuccess()) {
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
}else{
} else {
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
if ("1".equals(loanFileexamine.getZlState())) {
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
}else{
} else {
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
if (StringUtils.isBlank(loanFileexamine.getBankStateValue())) {
appCarListVo.setBankStateValue("未审核");
}else{
} else {
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
@ -817,27 +822,27 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if(busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())){
if (busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())) {
//===============================添加资料是否齐全和资方放款是否审核
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid, loanContractSid);
if (!loanFileexamineResultBean.getSuccess()) {
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
}else{
} else {
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
if ("1".equals(loanFileexamine.getZlState())) {
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
}else{
} else {
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
if (StringUtils.isBlank(loanFileexamine.getBankStateValue())) {
appCarListVo.setBankStateValue("未审核");
}else{
} else {
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
@ -850,7 +855,7 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
}
public BusDelivered getState(String contractNo, String vinSid) {
return baseMapper.getState(contractNo,vinSid);
return baseMapper.getState(contractNo, vinSid);
}
public ResultBean<BusDelivered> selectByBusVinSid(String busVinSid) {
@ -876,8 +881,8 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
qw.like("bv.linkNo", query.getVinNo());
}
//车架号集合
if (query.getList().size() > 0) {
qw.notIn("bv.linkSid", query.getList());
if (query.getVinSid().size() > 0) {
qw.notIn("bv.linkSid", query.getVinSid());
}
}
IPage<BusDelivered> page = PagerUtil.queryToPage(pq);
@ -885,4 +890,444 @@ public class BusDeliveredService extends MybatisBaseService<BusDeliveredMapper,
PagerVo<UnDeliverVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyInfo(AppDeliveredDetailsQuery query) {
ResultBean<DeliveredDetailsVo2> rb = ResultBean.fireFail();
DeliveredDetailsVo2 appDeliveredDetailsVo = new DeliveredDetailsVo2();
boolean codeMsg = false;
List<String> nameList = new ArrayList<>();
if (StringUtils.isBlank(query.getOutboundSid())) {
appDeliveredDetailsVo.setOrgPath(query.getOrgPath());
List<String> list = query.getList();
list.removeAll(Collections.singleton(null));
if (list.isEmpty()) {
return rb.setMsg("请选择要出库的车辆");
}
//根据userSid以及orgPath查询发起人的姓名以及部门的拼接
String contractNo = query.getContractId();
String orgPath = query.getOrgPath();
String userSid = query.getUserSid();
String deptName = "";
String deptSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
}
//根据用户sid查询人员姓名
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid);
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//销售部门
appDeliveredDetailsVo.setStaffDeptName(deptName);
appDeliveredDetailsVo.setStaffDeptSid(deptSid);
//PC端发起人====
appDeliveredDetailsVo.setPcApplyName(userVoResultBean.getData().getName());
appDeliveredDetailsVo.setPcApplySid(userSid);
appDeliveredDetailsVo.setPcApplyDept(deptName);
appDeliveredDetailsVo.setPcApplyDeptSid(deptSid);
appDeliveredDetailsVo.setPcStaffSid(userVoResultBean.getData().getStaffSid());
//===================
deptName = deptName + "-" + userVoResultBean.getData().getName();
//移动端发起人信息
appDeliveredDetailsVo.setPublishInfo(deptName);
appDeliveredDetailsVo.setContractId(contractNo);
//销售专员
appDeliveredDetailsVo.setStaffName(userVoResultBean.getData().getName());
//发起日期
appDeliveredDetailsVo.setCreateTime(DateUtil.today());
//根据合同编号查询销售订单的信息
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(contractNo);
if (!resultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
return rb;
}
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
//销售类型
appDeliveredDetailsVo.setPaymentMethod(appOrderDetailsVo.getPayType());
appDeliveredDetailsVo.setPaymentMethodKey(appOrderDetailsVo.getPayTypeKey());
if ("2".equals(appDeliveredDetailsVo.getPaymentMethodKey())) {
appDeliveredDetailsVo.setShowLoanUser(true);
}
//客户名称
appDeliveredDetailsVo.setName(appOrderDetailsVo.getName());
appDeliveredDetailsVo.setMobile(appOrderDetailsVo.getPhone());
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
appDeliveredDetailsVo.setModelName(appOrderModelInfoVo.getModelName());
appDeliveredDetailsVo.setModelSid(appOrderModelInfoVo.getModelSid());
appDeliveredDetailsVo.setConfigSid(appOrderModelInfoVo.getConfigSid());
appDeliveredDetailsVo.setCustomerSid(appOrderDetailsVo.getCustomerSid());
AppOrderPriceInfoVo appOrderPriceInfoVo = appOrderDetailsVo.getPriceInfo();
//主车成交价
appDeliveredDetailsVo.setPrice(appOrderPriceInfoVo.getTransactionPrice());
List<DeliveredLeavesVo> discountLeave = new ArrayList<>();
List<BusSalesOrderDiscount> busSalesOrderDiscountLists = busSalesOrderDiscountService.selectListByContractNo(contractNo);
for (BusSalesOrderDiscount busSalesOrderDiscount : busSalesOrderDiscountLists) {
DeliveredLeavesVo deliveredLeavesVo = new DeliveredLeavesVo();
String discountSid = busSalesOrderDiscount.getSid();
deliveredLeavesVo.setDiscountSid(discountSid);
//已使用的数量:根据优惠包sid查询出库已提交以及出库已办结的数量
int intCount = busDeliveredDetailsDiscountService.selectCounts(discountSid);
int count = busSalesOrderDiscount.getNum();
//剩余数量
int discountLeaveNum = count - intCount;
deliveredLeavesVo.setDiscountLeaveNum(discountLeaveNum);
discountLeave.add(deliveredLeavesVo);
}
appDeliveredDetailsVo.setDiscountLeave(discountLeave);
List<AppCarListVo> carList = new ArrayList<>();
//根据合同编号和车辆sid查询
for (int i = 0; i < list.size(); i++) {
String vinSid = list.get(i);
//根据合同编号和车辆sid查询销售订单的车辆信息
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(contractNo, vinSid);
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setVinSid(list.get(i));
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(vinSid, contractNo);
if (trailerList.getData() != null && trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountList = new ArrayList<>();
List<BusSalesOrderDiscount> busSalesOrderDiscountList = busSalesOrderDiscountService.selectListByContractNo(contractNo);
for (int j = 0; j < busSalesOrderDiscountList.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
BusSalesOrderDiscount orderDiscountVo = busSalesOrderDiscountList.get(j);
busDeliveredDetailsDiscountsVo.setDiscountInfo(orderDiscountVo.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountSid(orderDiscountVo.getSid());
busDeliveredDetailsDiscountsVo.setDiscountPrice(orderDiscountVo.getPrice());
busDeliveredDetailsDiscountsVo.setDiscountNum(0);
busDeliveredDetailsDiscountsVo.setTotalNum(orderDiscountVo.getNum());
busDeliveredDetailsDiscountsVo.setDiscountName(orderDiscountVo.getName());
discountList.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountList);
BusDeliveredUseMessagesVo deliveredUseMessagesVo = new BusDeliveredUseMessagesVo();
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
carList.add(appCarListVo);
}
appDeliveredDetailsVo.setCarList(carList);
//获取实际购车人的数据
ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0");
List<DictCommonVo> dictCommonVoList = listResultBean.getData();
List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList());
if ("1".equals(appOrderDetailsVo.getPayTypeKey())) {//贷款
voList.remove(1);
}
appDeliveredDetailsVo.setBuyerType(voList);
//中介人
SubmitVo intermediary1 = appOrderDetailsVo.getIntermediary1();
String intermediaryOne = "";
if (intermediary1 != null) {
String agencyFee = intermediary1.getAgencyFee();
if (StringUtils.isNotBlank(agencyFee)) {
intermediaryOne = intermediary1.getIntermediaryName() + ",单车中介费:" + intermediary1.getAgencyFee();
appDeliveredDetailsVo.setPcDistributorName(intermediary1.getIntermediaryName());
appDeliveredDetailsVo.setPcDistributorPrice(intermediary1.getAgencyFee());
appDeliveredDetailsVo.setPcDistributorPriceAll(new BigDecimal(intermediary1.getAgencyFee()).multiply(new BigDecimal(query.getList().size())).toString());
}
}
appDeliveredDetailsVo.setDistributorName(intermediaryOne);
//中介人2
SubmitVo intermediary2 = appOrderDetailsVo.getIntermediary2();
String intermediaryTwo = "";
if (intermediary2 != null) {
String agencyFee = intermediary2.getAgencyFee();
if (StringUtils.isNotBlank(agencyFee)) {
intermediaryTwo = intermediary2.getIntermediaryName() + ",单车中介费:" + intermediary2.getAgencyFee();
appDeliveredDetailsVo.setPcDistributorNameTwo(intermediary2.getIntermediaryName());
appDeliveredDetailsVo.setPcDistributorPriceTwo(intermediary2.getAgencyFee());
appDeliveredDetailsVo.setPcDistributorPriceTwoAll(new BigDecimal(intermediary2.getAgencyFee()).multiply(new BigDecimal(query.getList().size())).toString());
}
}
appDeliveredDetailsVo.setDistributorNameTwo(intermediaryTwo);
appDeliveredDetailsVo.setUserSid(userSid);
} else {
//根据sid获取出库申请
BusDeliveredApply busDeliveredApply = busDeliveredApplyService.fetchBySid(query.getOutboundSid());
if (busDeliveredApply == null) {
return rb.setMsg("该出库申请不存在");
}
BeanUtil.copyProperties(busDeliveredApply, appDeliveredDetailsVo, "sid");
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo());
if (!resultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
return rb;
}
if ("2".equals(appDeliveredDetailsVo.getPaymentMethodKey())) {
appDeliveredDetailsVo.setShowLoanUser(true);
}
appDeliveredDetailsVo.setTaskDefKey(busDeliveredApply.getTaskDefKey());
appDeliveredDetailsVo.setBusSalesOrderSid(resultBean.getData().getBusSalesOrderSid());
List<BusDeliveredApplyDetails> busDeliveredApplyDetailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid());
busDeliveredApplyDetailsList.removeAll(Collections.singleton(null));
//pc发起人
appDeliveredDetailsVo.setPcApplyName(busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setPcApplySid(busDeliveredApply.getApplySid());
appDeliveredDetailsVo.setPcApplyDept(busDeliveredApply.getApplyDept());
appDeliveredDetailsVo.setPcApplyDeptSid(busDeliveredApply.getApplyDeptSid());
appDeliveredDetailsVo.setPcStaffSid(userVoResultBean.getData().getStaffSid());
appDeliveredDetailsVo.setUserSid(busDeliveredApply.getApplySid());
appDeliveredDetailsVo.setOrgPath(busDeliveredApply.getOrgSidPath());
appDeliveredDetailsVo.setSid(query.getOutboundSid());
appDeliveredDetailsVo.setContractId(busDeliveredApply.getContractNo());
appDeliveredDetailsVo.setPublishInfo(busDeliveredApply.getApplyDept() + "-" + busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setCreateTime(DateUtil.format(busDeliveredApply.getCreateTime(), "yyyy-MM-dd"));
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPrice())) {
appDeliveredDetailsVo.setDistributorName(busDeliveredApply.getDistributorName() + ",单车中介费:" + busDeliveredApply.getDistributorPrice() + "元");
appDeliveredDetailsVo.setPcDistributorName(busDeliveredApply.getDistributorName());
appDeliveredDetailsVo.setPcDistributorPrice(busDeliveredApply.getDistributorPrice());
appDeliveredDetailsVo.setPcDistributorPriceAll(new BigDecimal(busDeliveredApply.getDistributorPrice()).multiply(new BigDecimal(busDeliveredApplyDetailsList.size())).toString());
}
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPriceTwo())) {
appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo() + ",单车中介费:" + busDeliveredApply.getDistributorPriceTwo() + "元");
appDeliveredDetailsVo.setPcDistributorNameTwo(busDeliveredApply.getDistributorNameTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwo(busDeliveredApply.getDistributorPriceTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwoAll(new BigDecimal(busDeliveredApply.getDistributorPriceTwo()).multiply(new BigDecimal(busDeliveredApplyDetailsList.size())).toString());
}
List<AppCarListVo> carList = new ArrayList<>();
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(query.getOutboundSid());
detailsList.removeAll(Collections.singleton(null));
if (!detailsList.isEmpty()) {
for (int i = 0; i < detailsList.size(); i++) {
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i);
//根据合同编号和车辆sid查询销售订单的车辆信息
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busDeliveredApply.getContractNo(), busDeliveredApplyDetails.getVinSid());
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(), busDeliveredApply.getContractNo());
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountUse = new ArrayList<>();
List<BusDeliveredDetailsDiscount> discountsList = busDeliveredDetailsDiscountService.selectByVinSid(busDeliveredApplyDetails.getSid());
for (int j = 0; j < discountsList.size(); j++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountsList.get(j);
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
busDeliveredDetailsDiscountsVo.setDiscountSid(busDeliveredDetailsDiscount.getDiscountSid());
busDeliveredDetailsDiscountsVo.setDiscountName(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(busDeliveredDetailsDiscount.getGiveNum());
busDeliveredDetailsDiscountsVo.setDiscountInfo(busDeliveredDetailsDiscount.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountPrice(busDeliveredDetailsDiscount.getPrice());
busDeliveredDetailsDiscountsVo.setTotalNum(busDeliveredDetailsDiscount.getNum());
//已使用的数量:根据优惠包sid查询出库已提交以及出库已办结的数量
int intCount = busDeliveredDetailsDiscountService.selectCounts(busDeliveredDetailsDiscount.getDiscountSid());
int count = busDeliveredDetailsDiscount.getNum();
//剩余数量
int discountLeaveNum = count - intCount;
if (discountLeaveNum < busDeliveredDetailsDiscount.getGiveNum()) {
codeMsg = true;
nameList.add(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(0);
}
discountUse.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountUse);
//使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
BusDeliveredUseMessage busDeliveredUseMessage = new BusDeliveredUseMessage();
if (!query.isPcView()) {
if ("2".equals(busDeliveredApply.getTypeKey())) {
busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
}
} else {
busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
}
realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer);
//===============================添加资料是否齐全和资方放款是否审核
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if (busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())) {
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid, loanContractSid);
if (!loanFileexamineResultBean.getSuccess()) {
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
} else {
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if ("1".equals(loanFileexamine.getZlState())) {
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
} else {
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if (StringUtils.isBlank(loanFileexamine.getBankStateValue())) {
appCarListVo.setBankStateValue("未审核");
} else {
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
}
}
carList.add(appCarListVo);
}
}
appDeliveredDetailsVo.setCarList(carList);
//剩余
List<DeliveredLeavesVo> discountLeave = new ArrayList<>();
List<BusSalesOrderDiscount> busSalesOrderDiscountLists = busSalesOrderDiscountService.selectListByContractNo(busDeliveredApply.getContractNo());
for (BusSalesOrderDiscount busSalesOrderDiscount : busSalesOrderDiscountLists) {
DeliveredLeavesVo deliveredLeavesVo = new DeliveredLeavesVo();
String discountSid = busSalesOrderDiscount.getSid();
deliveredLeavesVo.setDiscountSid(discountSid);
//已使用的数量:根据优惠包sid查询出库已提交以及出库已办结的数量
int intCount = busDeliveredDetailsDiscountService.selectCounts(discountSid);
int count = busSalesOrderDiscount.getNum();
//查询当前订单中已使用的该优惠的数量
int giveNum = busDeliveredDetailsDiscountService.selectGiveNum(discountSid, busDeliveredApply.getSid());
//剩余数量
int discountLeaveNum = 0;
if (count - intCount <= 0) {
discountLeaveNum = 0;
} else {
if (count - intCount - giveNum < 0) {
discountLeaveNum = count - intCount;
} else {
discountLeaveNum = count - intCount - giveNum;
}
}
deliveredLeavesVo.setDiscountLeaveNum(discountLeaveNum);
discountLeave.add(deliveredLeavesVo);
}
appDeliveredDetailsVo.setDiscountLeave(discountLeave);
//获取实际购车人的数据
ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0");
List<DictCommonVo> dictCommonVoList = listResultBean.getData();
List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList());
if ("1".equals(busDeliveredApply.getPaymentMethodKey())) {//全款
voList.remove(1);
}
appDeliveredDetailsVo.setBuyerType(voList);
if (StringUtils.isNotBlank(busDeliveredApply.getPromiseFile())) {
List<String> promiseFileList = Arrays.asList(busDeliveredApply.getPromiseFile().split(","));
promiseFileList = promiseFileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
appDeliveredDetailsVo.setPromiseList(promiseFileList);
}
if (StringUtils.isNotBlank(busDeliveredApply.getDanFile())) {
List<String> danFileList = Arrays.asList(busDeliveredApply.getDanFile().split(","));
danFileList = danFileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
appDeliveredDetailsVo.setDanFileList(danFileList);
}
if (StringUtils.isNotBlank(busDeliveredApply.getCarFile())) {
List<String> carFileList = Arrays.asList(busDeliveredApply.getCarFile().split(","));
carFileList = carFileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
appDeliveredDetailsVo.setCarFileList(carFileList);
}
}
if (codeMsg) {
String msgs = String.join(",", nameList);
return rb.success().setData(appDeliveredDetailsVo).setCode("20005").setMsg(msgs + "优惠套餐数量已超出,赠送数量已重置为0");
}
return rb.success().setData(appDeliveredDetailsVo);
}
public ResultBean<List<AppCarListVo>> qkSelectInfo(DeliverDetailsQuery query) {
ResultBean<List<AppCarListVo>> rb = ResultBean.fireFail();
//移动端:排除已选车辆后的所有未提交及未出库的车辆集合
//PC端:前端传的已勾选的所有的车辆的集合
String contractNo = query.getContractNo();
List<String> vinSelectSid = query.getVinSelectsid();
vinSelectSid.removeAll(Collections.singleton(null));
List<String> vinSids = query.getVinSids();
vinSids.removeAll(Collections.singleton(null));
List<AppCarListVo> list = new ArrayList<>();
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectByNoAndVinSidsNew2(contractNo);
for (int i = 0; i < busSalesOrderVehicleList.size(); i++) {
AppCarListVo appCarListVo = new AppCarListVo();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleList.get(i);
String vinSid = busSalesOrderVehicle.getLinkSid();
if (!vinSelectSid.isEmpty()) {
if (vinSelectSid.contains(vinSid)) {
continue;
}
}
if (!vinSids.isEmpty()) {
if (vinSids.contains(vinSid)) {
appCarListVo.setVinSid(vinSid);
} else {
continue;
}
} else {
appCarListVo.setVinSid(vinSid);
}
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(vinSid, query.getContractNo());
if (trailerList.getData().getList().isEmpty() && trailerList.getData().getVehillModelList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountList = new ArrayList<>();
List<BusSalesOrderDiscount> busSalesOrderDiscountList = busSalesOrderDiscountService.selectListByContractNo(contractNo);
for (int j = 0; j < busSalesOrderDiscountList.size(); j++) {
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
BusSalesOrderDiscount orderDiscountVo = busSalesOrderDiscountList.get(j);
busDeliveredDetailsDiscountsVo.setDiscountInfo(orderDiscountVo.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountSid(orderDiscountVo.getSid());
busDeliveredDetailsDiscountsVo.setDiscountPrice(orderDiscountVo.getPrice());
busDeliveredDetailsDiscountsVo.setDiscountNum(0);
busDeliveredDetailsDiscountsVo.setTotalNum(orderDiscountVo.getNum());
busDeliveredDetailsDiscountsVo.setDiscountName(orderDiscountVo.getName());
discountList.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountList);
BusDeliveredUseMessagesVo deliveredUseMessagesVo = new BusDeliveredUseMessagesVo();
deliveredUseMessagesVo.setVin(busSalesOrderVehicle.getLinkNo().substring(busSalesOrderVehicle.getLinkNo().length() - 8));
appCarListVo.setRealBuyer(deliveredUseMessagesVo);
list.add(appCarListVo);
}
return rb.success().setData(list);
}
public IPage<BusDeliveredPageVo2> getRetrievalNotListQk(PagerQuery<AppBusDeliveredPageQuery> pq) {
QueryWrapper<AppBusDeliveredPageQuery> qw = new QueryWrapper<>();
String name = pq.getParams().getName();
IPage<BusDeliveredPageVo2> page = PagerUtil.queryToPage(pq);
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("bo.useOrgSid", orgSid);
if (StringUtils.isNotBlank(pq.getParams().getUserSid())) {
qw.eq("bo.createBySid", pq.getParams().getUserSid());
}
IPage<BusDeliveredPageVo2> iPage = baseMapper.getRetrievalNotListQk(page, qw, name);
return iPage;
}
}

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

@ -126,7 +126,7 @@
</foreach>
</select>
<select id="selectVinNosss" resultType="java.lang.String">
<select id="selectVinNosss2" resultType="java.lang.String">
select RIGHT(bv.linkNo, 8)
from bus_sales_order_vehicle bv
left join bus_sales_order bo on bv.salesOrderSid = bo.sid

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

@ -212,6 +212,51 @@ public class BusDeliveredApplyRest implements BusDeliveredApplyFeign {
return busDeliveredApplyService.submitUnDeliveredApply(dto);
}
@Override
public ResultBean qkComplete(BusDeliveredApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.QKBUSDELIVEREDAPPLY.getProDefId());
return busDeliveredApplyService.qkComplete(bv);
}
@Override
public ResultBean<List<GetNodeVo>> qkGetPreviousNodesForReject(GetNodeQuery query) {
return busDeliveredApplyService.qkGetPreviousNodesForReject(query);
}
@Override
public ResultBean<List<GetNodeVo>> qkGetNextNodesForSubmit(GetNodeQuery query) {
return busDeliveredApplyService.qkGetNextNodesForSubmit(query);
}
@Override
public ResultBean qkReject(BusDeliveredApplyTaskQuery query) {
return busDeliveredApplyService.qkReject(query);
}
@Override
public ResultBean qkRevokeProcess(BusDeliveredApplyTaskQuery query) {
return busDeliveredApplyService.qkRevokeProcess(query);
}
@Override
public ResultBean qkBreakProcess(BusDeliveredApplyTaskQuery query) {
return busDeliveredApplyService.qkBreakProcess(query);
}
@Override
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyDetails(String sid) {
return busDeliveredApplyService.qkGetRetrievalApplyDetails(sid);
}
@Override
public ResultBean<PagerVo<AppDeliveredApplyPageVo>> getRetrievalApplyListQk(PagerQuery<AppDeliveredApplyPageQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
PagerVo<AppDeliveredApplyPageVo> pv = busDeliveredApplyService.getRetrievalApplyListQk(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean complete(BusDeliveredApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();

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

@ -146,6 +146,7 @@ import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -262,6 +263,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
private BusArrearsCarryVehicleApplyService busArrearsCarryVehicleApplyService;
@Autowired
private LoanFileexamineFeign loanFileexamineFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
/**
@ -1220,6 +1223,223 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
}
public ResultBean qkComplete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApply busDeliveredApply = fetchBySid(bv.getBusinessSid());
bv.setOrgSidPath(busDeliveredApply.getOrgSidPath());
Map<String, Object> variables = new HashMap<>();
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("outboundSid", bv.getBusinessSid());
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
bv.setFormVariables(variables);
bv.setModelId(busDeliveredApply.getProcDefId());
if (bv.getTaskId().equals(busDeliveredApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
baseMapper.updateStateBySid(3, bv.getBusinessSid());
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(1, 10,
1000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
Future future0 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(bv.getBusinessSid());
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_PASS.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid());
ResultBean<AppOrderDetailsVo> orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo());
if (!orderDetailsVoResultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
}
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid());
//推送开票申请数据
Future future1 = pool.submit(() -> {
pushInvoice(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData());
});
//推送优惠包交接数据
Future future2 = pool.submit(() -> {
pushDiscountPackage(busDeliveredApply, detailsList);
});
//推送出库查询数据
Future future3 = pool.submit(() -> {
pushOutApply(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData());
});
//推送随车资料数据
Future future4 = pool.submit(() -> {
pushVehicleInforHandov(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData());
});
//推送待交车准备数据
Future future5 = pool.submit(() -> {
pushHandoverPrepare(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData());
});
//推送合格证管理员站内信提醒有待移交的合格证,同时自动更改出库车辆的合格证移交状态为“待移交”。
//ToDo:合格证管理员、随车资料管理员、发票管理员创建并查询该角色的用户推送消息有待移交的资料等等。
Future future6 = pool.submit(() -> {
//合格证管理员
List<String> recipientSidList = new ArrayList<>();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid("7846bb61-34e2-44e5-92da-279245308e53");
userQuery.setOrgSidPath(bv.getOrgSidPath());
recipientSidList = sysUserFeign.getUserSidByRole(userQuery).getData();
PushMessageQuery pushMessageQuery = new PushMessageQuery();
pushMessageQuery.setReceivedSids(recipientSidList);
pushMessageQuery.setModuleName("业务");
pushMessageQuery.setMsgContent("您有待移交的合格证,请前往合格证管理中查看");
pushMessageQuery.setApp_type("2");
pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028");
pushMessageQuery.setMsgTitle("合格证移交提醒");
pushMessageQuery.setBusinessSid(busDeliveredApply.getSid());
// 消息推送
messageFeign.pushNoUriMessage(pushMessageQuery);
});
Future future7 = pool.submit(() -> {
//随车资料管理员
List<String> recipientSidList = new ArrayList<>();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid("55b41998-d246-4169-b666-fe53a27a6b8d");
userQuery.setOrgSidPath(bv.getOrgSidPath());
recipientSidList = sysUserFeign.getUserSidByRole(userQuery).getData();
PushMessageQuery pushMessageQuery = new PushMessageQuery();
pushMessageQuery.setReceivedSids(recipientSidList);
pushMessageQuery.setModuleName("业务");
pushMessageQuery.setMsgContent("您有待移交的随车资料,请前往随车资料管理查看");
pushMessageQuery.setApp_type("2");
pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028");
pushMessageQuery.setMsgTitle("随车资料移交提醒");
pushMessageQuery.setBusinessSid(busDeliveredApply.getSid());
// 消息推送
messageFeign.pushNoUriMessage(pushMessageQuery);
});
Future future9 = pool.submit(() -> {
//优惠包管理员
List<String> recipientSidList = new ArrayList<>();
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid("2def57cf-2423-49b3-9af4-7f74e9fd27a6");
userQuery.setOrgSidPath(bv.getOrgSidPath());
recipientSidList = sysUserFeign.getUserSidByRole(userQuery).getData();
PushMessageQuery pushMessageQuery = new PushMessageQuery();
pushMessageQuery.setReceivedSids(recipientSidList);
pushMessageQuery.setModuleName("业务");
pushMessageQuery.setMsgContent("您有待移交的优惠包,请前往优惠包交接查看");
pushMessageQuery.setApp_type("2");
pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028");
pushMessageQuery.setMsgTitle("优惠包移交提醒");
pushMessageQuery.setBusinessSid(busDeliveredApply.getSid());
// 消息推送
messageFeign.pushNoUriMessage(pushMessageQuery);
});
} catch (Exception e) {
e.printStackTrace();
log.error("推送数据失败=========================" + e.getMessage());
return rb.setMsg("推送数据失败");
}
//根据车辆sid和合同编码修改开票管理中对应的领票状态为是
List<BusDeliveredApplyDetails> busDeliveredApplyDetails = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid());
for (BusDeliveredApplyDetails busDeliveredApplyDetail : busDeliveredApplyDetails) {
String vinSid = busDeliveredApplyDetail.getVinSid();
FinVehicleInvoice finVehicleInvoice = finVehicleInvoiceFeign.selectByVinAndContractNo(vinSid, busDeliveredApply.getContractNo()).getData();
if (finVehicleInvoice != null) {
if (StringUtils.isNotBlank(finVehicleInvoice.getSid())) {
finVehicleInvoiceFeign.updateBySid(finVehicleInvoice.getSid());
}
}
//合格证的状态修改为待移交状态
CertificateStateQuery certificateStateQuery = new CertificateStateQuery();
certificateStateQuery.setVinSid(vinSid);
certificateStateQuery.setTransferStateKey(CertificState.TransferState.TRANSTATE_DYJ.getCode());
certificateStateQuery.setTransferStateValue(CertificState.TransferState.TRANSTATE_DYJ.getRemarks());
baseVehicleCertificateFeign.updateYjState(certificateStateQuery);
}
} else {
if ("重新提交".equals(bv.getComment())) {
//将待出库中的车辆更改状态为出库申请0
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(bv.getBusinessSid());
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKTJ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
//更改申请的状态为待审核2
baseMapper.updateStateBySid(2, bv.getBusinessSid());
} else {
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply = busDeliveredApply;
Future future1 = pool.submit(() -> {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("欠款出库申请");
messageFlowableQuery.setMsgContent(finalBusDeliveredApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款出库申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
/**
* 推送待交车准备数据
*
@ -2518,19 +2738,6 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails);
}
baseMapper.updateById(busDeliveredApply);
/* stateDtoList = new ArrayList<>();
vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid);
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
List<BaseVehicleStateDto> finalStateDtoList = stateDtoList;
vinSidList.stream().forEach(vv -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_SAVE.getTypeKey());
baseVehicleStateDto.setBusSid(vv);
finalStateDtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(stateDtoList);
}*/
}
return rb.success().setData(sid);
}
@ -2623,26 +2830,26 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appCarListVo.setRealBuyer(realBuyer);
//===============================添加资料是否齐全和资方放款是否审核
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(busSalesOrderVehicle.getSalesOrderSid());
if(busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())){
if (busSalesOrder != null && "2".equals(busSalesOrder.getPayTypeKey())) {
String saleOrderSid = busSalesOrderVehicle.getSalesOrderSid();
String loanContractSid = busSalesOrderVehicle.getLoanContractSid();
//根据消贷合同和销售订单查询
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid,loanContractSid);
if(!loanFileexamineResultBean.getSuccess()){
ResultBean<LoanFileexamine> loanFileexamineResultBean = loanFileexamineFeign.selectOrderSidAndContract(saleOrderSid, loanContractSid);
if (!loanFileexamineResultBean.getSuccess()) {
appCarListVo.setBankStateValue("未审核");
appCarListVo.setZlStateValue("否");
}else{
} else {
LoanFileexamine loanFileexamine = loanFileexamineResultBean.getData();
if("1".equals(loanFileexamine.getZlState())){
if ("1".equals(loanFileexamine.getZlState())) {
appCarListVo.setZlStateValue("是");
appCarListVo.setZlState(loanFileexamine.getZlState());
}else{
} else {
appCarListVo.setZlStateValue("否");
appCarListVo.setZlState(loanFileexamine.getZlState());
}
if(StringUtils.isBlank(loanFileexamine.getBankStateValue())){
if (StringUtils.isBlank(loanFileexamine.getBankStateValue())) {
appCarListVo.setBankStateValue("未审核");
}else{
} else {
appCarListVo.setBankStateValue(loanFileexamine.getBankStateValue());
appCarListVo.setBankStateKey(loanFileexamine.getBankStateKey());
}
@ -3185,6 +3392,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
BusDeliveredApply busDeliveredApply = new BusDeliveredApply();
BeanUtil.copyProperties(dto, busDeliveredApply, "sid");
busDeliveredApply.setTypeState(1);
busDeliveredApply.setContractNo(contractNo);
busDeliveredApply.setApplySid(userSid);
busDeliveredApply.setCreateBySid(userSid);
@ -3343,21 +3551,29 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails);
}
//责任人担保承诺书
List<String> promiseList = dto.getPromiseList();
//担保承诺书
List<String> danFileList = dto.getDanFileList();
//车辆登记合同
List<String> carFileList = dto.getCarFileList();
promiseList.removeAll(Collections.singleton(null));
if (!promiseList.isEmpty()) {
String promiseFile = String.join(",", promiseList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busDeliveredApply.setPromiseFile(promiseFile);
}
danFileList.removeAll(Collections.singleton(null));
if (!danFileList.isEmpty()) {
String danFile = String.join(",", danFileList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busDeliveredApply.setDanFile(danFile);
}
carFileList.removeAll(Collections.singleton(null));
if (!carFileList.isEmpty()) {
String carFile = String.join(",", carFileList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busDeliveredApply.setCarFile(carFile);
}
baseMapper.insert(busDeliveredApply);
sid = busDeliveredApply.getSid();
/* List<BaseVehicleStateDto> stateDtoList = new ArrayList<>();
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(sid);
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(vv -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKKP_SAVE.getTypeKey());
baseVehicleStateDto.setBusSid(vv);
stateDtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(stateDtoList);
}*/
//保存开票信息
} else {
//根据出库申请sid查询出库申请是否存在
@ -3526,6 +3742,33 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
busDeliveredApplyDetailsService.insert(busDeliveredApplyDetails);
}
//责任人担保承诺书
List<String> promiseList = dto.getPromiseList();
//担保承诺书
List<String> danFileList = dto.getDanFileList();
//车辆登记合同
List<String> carFileList = dto.getCarFileList();
promiseList.removeAll(Collections.singleton(null));
if (!promiseList.isEmpty()) {
String promiseFile = String.join(",", promiseList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busDeliveredApply.setPromiseFile(promiseFile);
}else{
busDeliveredApply.setPromiseFile("");
}
danFileList.removeAll(Collections.singleton(null));
if (!danFileList.isEmpty()) {
String danFile = String.join(",", danFileList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busDeliveredApply.setDanFile(danFile);
}else{
busDeliveredApply.setDanFile("");
}
carFileList.removeAll(Collections.singleton(null));
if (!carFileList.isEmpty()) {
String carFile = String.join(",", carFileList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busDeliveredApply.setCarFile(carFile);
}else{
busDeliveredApply.setCarFile("");
}
baseMapper.updateById(busDeliveredApply);
}
return rb.success().setData(sid);
@ -3650,10 +3893,6 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
bv.setUserSid(dto.getUserSid());
//流程定义id
bv.setModelId(ProcDefEnum.QKBUSDELIVEREDAPPLY.getProDefId());
//判断发起人是否为销售专员
variables.put("isAdj", busDeliveredApply.getCreateBySid().equals(busDeliveredApply.getStaffUserSid()));
//判断是否为贷款业务
variables.put("isDk", "2".equals(busDeliveredApply.getPaymentMethodKey()));
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
@ -3661,29 +3900,6 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
//根据合同号查询销售订单
if (!"2".equals(busDeliveredApply.getPaymentMethodKey())) {
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo());
if ("2".equals(busSalesOrder.getFinancePlan())) {
//查询是否是自营非担保
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid());
if (detailsVoResultBean.getData() != null) {
if ("01".equals(detailsVoResultBean.getData().getTypeKey())) {
//自营非担保
variables.put("isDanBao", true);
} else {
variables.put("isDanBao", false);
}
} else {
variables.put("isDanBao", false);
}
} else {
variables.put("isDanBao", false);
}
} else {
variables.put("isDanBao", true);
}
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(bv.getModelId());
flowProcessMapQuery.setVariables(variables);
@ -3794,4 +4010,522 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp
}
return rb;
}
public ResultBean<List<GetNodeVo>> qkGetPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = new ResultBean<>();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
if (StringUtils.isNotBlank(query.getBusinessSid())) {
BusDeliveredApply busDeliveredApply = fetchBySid(query.getBusinessSid());
bv.setModelId(busDeliveredApply.getProcDefId());
Map<String, Object> variables = new HashMap<>();
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("outboundSid", query.getBusinessSid());
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
bv.setFormVariables(variables);
} else {
bv.setModelId(ProcDefEnum.QKBUSDELIVEREDAPPLY.getProDefId());
}
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<GetNodeVo>> qkGetNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
if (StringUtils.isNotBlank(query.getBusinessSid())) {
BusDeliveredApply busDeliveredApply = fetchBySid(query.getBusinessSid());
bv.setModelId(busDeliveredApply.getProcDefId());
Map<String, Object> variables = new HashMap<>();
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("outboundSid", query.getBusinessSid());
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
bv.setFormVariables(variables);
} else {
bv.setModelId(ProcDefEnum.QKBUSDELIVEREDAPPLY.getProDefId());
}
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean qkReject(BusDeliveredApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApply busDeliveredApply = fetchBySid(query.getBusinessSid());
if (busDeliveredApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = busDeliveredApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("outboundSid", query.getBusinessSid());
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
busDeliveredApply = fetchBySid(query.getBusinessSid());
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(busDeliveredApply.getProcInstId());
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
String nextName = listResultBean.getData().get(0).getName_();
if ("发起申请".equals(nextName)) {
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(query.getBusinessSid());
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKZZ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
baseMapper.updateStateBySid(1, query.getBusinessSid());
}
//极光推送
UpdateFlowFieldVo ufVo = resultBean.getData();
busDeliveredApply = fetchBySid(query.getBusinessSid());
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply = busDeliveredApply;
Map<String, Object> finalVariables = variables;
Future future1 = pool.submit(() -> {
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcInsId(finalBusDeliveredApply.getProcInstId());
messageFlowVo.setProcDefId(finalBusDeliveredApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap((Map<String, Object>) finalVariables.get("app"));
messageFlowableQuery.setBusinessSid(query.getBusinessSid());
messageFlowableQuery.setModuleName("欠款出库申请");
ResultBean<List<LatestTaskVo>> listResultBean2 = flowTaskFeign.getLatestTasks(finalBusDeliveredApply.getProcInstId());
String nextNodeUserSids2 = listResultBean2.getData().get(0).getASSIGNEE_();
String nextName2 = listResultBean2.getData().get(0).getName_();
if ("发起申请".equals(nextName2)) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(finalBusDeliveredApply.getStaffName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("欠款出库申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
});
} catch (Exception e) {
e.printStackTrace();
}
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean qkRevokeProcess(BusDeliveredApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询移库申请
BusDeliveredApply busDeliveredApply = fetchBySid(query.getBusinessSid());
String businessTaskId = busDeliveredApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("outboundSid", query.getBusinessSid());
appMap.put("contractId", busDeliveredApply.getContractNo());
appMap.put("contract_id", busDeliveredApply.getContractNo());
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(busDeliveredApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(busDeliveredApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg("操作失败!");
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
busDeliveredApply = fetchBySid(query.getBusinessSid());
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(busDeliveredApply.getProcInstId());
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
String nextName = listResultBean.getData().get(0).getName_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if ("发起申请".equals(nextName)) {
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(query.getBusinessSid());
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKZZ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
baseMapper.updateStateBySid(1, query.getBusinessSid());
}
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean qkBreakProcess(BusDeliveredApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BusDeliveredApply busDeliveredApply = fetchBySid(query.getBusinessSid());
String businessTaskId = busDeliveredApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(busDeliveredApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
baseMapper.updateStateBySid(4, query.getBusinessSid());
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(query.getBusinessSid());
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKZZ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
return rb.success().setData(resultBean.getData());
} else {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
baseMapper.updateStateBySid(4, query.getBusinessSid());
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
List<String> vinSidList = busDeliveredApplyDetailsService.selectVinSidByApplySid(query.getBusinessSid());
//==============================新增车辆的持久状态组装数据
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
BusDeliveredApply finalBusDeliveredApply1 = busDeliveredApply;
Future future1 = pool.submit(() -> {
List<BaseVehicleStateDto> dtoList = new ArrayList<>();
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
vinSidList.stream().forEach(v -> {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.CKZZ.getTypeKey());
baseVehicleStateDto.setBusSid(v);
dtoList.add(baseVehicleStateDto);
});
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList);
}
});
} catch (Exception e) {
e.printStackTrace();
}
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean<DeliveredDetailsVo2> qkGetRetrievalApplyDetails(String sid) {
ResultBean<DeliveredDetailsVo2> rb = ResultBean.fireFail();
DeliveredDetailsVo2 appDeliveredDetailsVo = new DeliveredDetailsVo2();
//根据sid获取出库申请
BusDeliveredApply busDeliveredApply = fetchBySid(sid);
if (busDeliveredApply == null) {
return rb.setMsg("该出库申请不存在");
}
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo());
if (!resultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
return rb;
}
appDeliveredDetailsVo.setBusSalesOrderSid(resultBean.getData().getBusSalesOrderSid());
appDeliveredDetailsVo.setOrgPath(busDeliveredApply.getOrgSidPath());
appDeliveredDetailsVo.setSid(sid);
BeanUtil.copyProperties(busDeliveredApply, appDeliveredDetailsVo, "sid");
appDeliveredDetailsVo.setContractId(busDeliveredApply.getContractNo());
appDeliveredDetailsVo.setPublishInfo(busDeliveredApply.getApplyDept() + "-" + busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setCreateTime(DateUtil.format(busDeliveredApply.getCreateTime(), "yyyy-MM-dd"));
//pc发起人
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
appDeliveredDetailsVo.setPcApplyName(busDeliveredApply.getApplyName());
appDeliveredDetailsVo.setPcApplySid(busDeliveredApply.getApplySid());
appDeliveredDetailsVo.setPcApplyDept(busDeliveredApply.getApplyDept());
appDeliveredDetailsVo.setPcApplyDeptSid(busDeliveredApply.getApplyDeptSid());
appDeliveredDetailsVo.setPcStaffSid(userVoResultBean.getData().getStaffSid());
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(sid);
detailsList.removeAll(Collections.singleton(null));
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPrice())) {
appDeliveredDetailsVo.setDistributorName(busDeliveredApply.getDistributorName() + ",单车中介费:" + busDeliveredApply.getDistributorPrice() + "元");
appDeliveredDetailsVo.setPcDistributorName(busDeliveredApply.getDistributorName());
appDeliveredDetailsVo.setPcDistributorPrice(busDeliveredApply.getDistributorPrice());
appDeliveredDetailsVo.setPcDistributorPriceAll(new BigDecimal(busDeliveredApply.getDistributorPrice()).multiply(new BigDecimal(detailsList.size())).toString());
}
if (StringUtils.isNotBlank(busDeliveredApply.getDistributorPriceTwo())) {
appDeliveredDetailsVo.setDistributorNameTwo(busDeliveredApply.getDistributorNameTwo() + ",单车中介费:" + busDeliveredApply.getDistributorPriceTwo() + "元");
appDeliveredDetailsVo.setPcDistributorNameTwo(busDeliveredApply.getDistributorNameTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwo(busDeliveredApply.getDistributorPriceTwo());
appDeliveredDetailsVo.setPcDistributorPriceTwoAll(new BigDecimal(busDeliveredApply.getDistributorPriceTwo()).multiply(new BigDecimal(detailsList.size())).toString());
}
List<AppCarListVo> carList = new ArrayList<>();
if (!detailsList.isEmpty()) {
for (int i = 0; i < detailsList.size(); i++) {
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i);
//根据合同编号和车辆sid查询销售订单的车辆信息
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busDeliveredApply.getContractNo(), busDeliveredApplyDetails.getVinSid());
AppCarListVo appCarListVo = new AppCarListVo();
appCarListVo.setDiscount(busDeliveredApplyDetails.getSingleCarDiscountPrice());
appCarListVo.setVinSid(busDeliveredApplyDetails.getVinSid());
//查询该车辆是否有挂车
ResultBean<TraliveredVo> trailerList = baseTrailerFeign.trailerList(busDeliveredApplyDetails.getVinSid(), busDeliveredApply.getContractNo());
if (trailerList.getData() != null) {
if (trailerList.getData().getList().isEmpty()) {
appCarListVo.setShowHandCarBtn(false);
} else {
appCarListVo.setShowHandCarBtn(true);
}
} else {
appCarListVo.setShowHandCarBtn(false);
}
//优惠包使用情况
List<BusDeliveredDetailsDiscountsVo> discountUse = new ArrayList<>();
List<BusDeliveredDetailsDiscount> discountsList = busDeliveredDetailsDiscountService.selectByVinSid(busDeliveredApplyDetails.getSid());
for (int j = 0; j < discountsList.size(); j++) {
BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountsList.get(j);
BusDeliveredDetailsDiscountsVo busDeliveredDetailsDiscountsVo = new BusDeliveredDetailsDiscountsVo();
busDeliveredDetailsDiscountsVo.setDiscountSid(busDeliveredDetailsDiscount.getDiscountSid());
busDeliveredDetailsDiscountsVo.setDiscountName(busDeliveredDetailsDiscount.getName());
busDeliveredDetailsDiscountsVo.setDiscountNum(busDeliveredDetailsDiscount.getGiveNum());
busDeliveredDetailsDiscountsVo.setDiscountInfo(busDeliveredDetailsDiscount.getDiscountExplain());
busDeliveredDetailsDiscountsVo.setDiscountPrice(busDeliveredDetailsDiscount.getPrice());
busDeliveredDetailsDiscountsVo.setTotalNum(busDeliveredDetailsDiscount.getNum());
discountUse.add(busDeliveredDetailsDiscountsVo);
}
appCarListVo.setDiscountUse(discountUse);
//使用人信息
BusDeliveredUseMessagesVo realBuyer = new BusDeliveredUseMessagesVo();
BusDeliveredUseMessage busDeliveredUseMessage = busDeliveredUseMessageService.fetchBySid(busDeliveredApplyDetails.getUseMessageSid());
BeanUtil.copyProperties(busDeliveredUseMessage, realBuyer);
realBuyer.setVin(busDeliveredApplyDetails.getVinNo());
appCarListVo.setRealBuyer(realBuyer);
carList.add(appCarListVo);
}
}
appDeliveredDetailsVo.setCarList(carList);
//获取实际购车人的数据
ResultBean<List<DictCommonVo>> listResultBean = dictCommonFeign.getTypeValues("buyerType", "0");
List<DictCommonVo> dictCommonVoList = listResultBean.getData();
List<DeliveredDictVo> voList = Optional.ofNullable(dictCommonVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveredDictVo.class)).collect(Collectors.toList());
appDeliveredDetailsVo.setBuyerType(voList);
if (StringUtils.isNotBlank(busDeliveredApply.getPromiseFile())) {
List<String> promiseFileList = Arrays.asList(busDeliveredApply.getPromiseFile().split(","));
promiseFileList = promiseFileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
appDeliveredDetailsVo.setPromiseList(promiseFileList);
}
if (StringUtils.isNotBlank(busDeliveredApply.getDanFile())) {
List<String> danFileList = Arrays.asList(busDeliveredApply.getDanFile().split(","));
danFileList = danFileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
appDeliveredDetailsVo.setDanFileList(danFileList);
}
if (StringUtils.isNotBlank(busDeliveredApply.getCarFile())) {
List<String> carFileList = Arrays.asList(busDeliveredApply.getCarFile().split(","));
carFileList = carFileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
appDeliveredDetailsVo.setCarFileList(carFileList);
}
return rb.success().setData(appDeliveredDetailsVo);
}
public PagerVo<AppDeliveredApplyPageVo> getRetrievalApplyListQk(PagerQuery<AppDeliveredApplyPageQuery> pagerQuery) {
AppDeliveredApplyPageQuery query = pagerQuery.getParams();
QueryWrapper<AppDeliveredApplyPageQuery> qw = new QueryWrapper<>();
String orgPath = pagerQuery.getParams().getOrgPath();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuSid())) {
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("bd.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("bd.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("bd.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("bd.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("bd.createBySid", query.getUserSid());
} else {
PagerVo<AppDeliveredApplyPageVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<AppDeliveredApplyPageVo> p = new PagerVo<>();
return p;
}
} else {
String orgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
} else {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(pagerQuery.getParams().getUserSid()).getData();
}
qw.eq("useOrgSid", orgSid);
qw.eq("applySid", pagerQuery.getParams().getUserSid());
}
qw.eq("bd.typeState", 1);
IPage<AppDeliveredApplyPageQuery> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppDeliveredApplyPageVo> iPage = baseMapper.getRetrievalApplyList(page, qw, pagerQuery.getParams().getName());
List<AppDeliveredApplyPageVo> records = iPage.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (AppDeliveredApplyPageVo appDeliveredApplyPageVo : records) {
if (query.getUserSid().equals(appDeliveredApplyPageVo.getCreateBySid()) && appDeliveredApplyPageVo.isShowDelete()) {
appDeliveredApplyPageVo.setShowDelete(true);
} else {
appDeliveredApplyPageVo.setShowDelete(false);
}
if (query.getUserSid().equals(appDeliveredApplyPageVo.getCreateBySid()) && appDeliveredApplyPageVo.isShowUpdata()) {
appDeliveredApplyPageVo.setShowUpdata(true);
} else {
appDeliveredApplyPageVo.setShowUpdata(false);
}
}
}
PagerVo<AppDeliveredApplyPageVo> p = PagerUtil.pageToVo(iPage, null);
return p;
}
}

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

@ -2273,10 +2273,14 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
} else {
//修改销售订单
boolean isTrue = false;
BusSalesOrder busSalesOrder = fetchBySid(dto.getSid());
if (busSalesOrder == null) {
return rb.setMsg("该销售订单不存在");
}
if(!busSalesOrder.getPayTypeKey().equals(dto.getPayTypeKey())){
isTrue = true;
}
BeanUtil.copyProperties(dto, busSalesOrder, "sid");
if ("0".equals(affiliatedType)) {
busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite());
@ -2296,7 +2300,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
baseMapper.updateCompanySidBySid(dto.getSid());
}
//如果选择的为自有资金的,需要删除金融方案
if ("1".equals(busSalesOrder.getFinancePlan())) {
if ("1".equals(busSalesOrder.getFinancePlan()) || isTrue) {
//删除和该销售订单相关的金融方案
ResultBean deleteResultBean = loanSolutionsFeign.deleteByOrderSid(busSalesOrder.getSid());
}

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java

@ -116,6 +116,7 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper<BusSalesOrderVehi
List<BusSalesOrderVehicle> selectByNoAndVinSids(String contractNo);
List<BusSalesOrderVehicle> selectByNoAndVinSidsNew(String contractNo);
List<BusSalesOrderVehicle> selectByNoAndVinSidsNew2(String contractNo);
List<BusVehicleQKKPVo> appVehicleQKKPList(@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);

13
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml

@ -125,6 +125,19 @@
and bo.contractNo = #{contractNo}
</select>
<select id="selectByNoAndVinSidsNew2"
resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select bv.linkSid, bv.sid, bv.linkNo,bv.salesOrderSid
from (select busSid
from anrui_base.base_vehicle_state
where busState = '401'
and finState = '0' and invoiceState = '1' and finSourceKey = '2') as bs
left join bus_sales_order_vehicle bv on bs.busSid = bv.sid
left join bus_sales_order bo on bo.sid = bv.salesOrderSid
where length(bv.linkSid) > 0
and bo.contractNo = #{contractNo}
</select>
<select id="appVehicleQKKPList" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVehicleQKKPVo">
SELECT bsov.linkNo AS vinNo,
bsov.`linkSid` AS vehSid,

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -290,6 +290,10 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
return baseMapper.selectByNoAndVinSidsNew(contractNo);
}
public List<BusSalesOrderVehicle> selectByNoAndVinSidsNew2(String contractNo) {
return baseMapper.selectByNoAndVinSidsNew2(contractNo);
}
public List<BusSalesOrderVehicle> selectListByOrderSid(String saleOrderSid) {
return baseMapper.selectByOrderSid(saleOrderSid);
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java

@ -345,6 +345,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
busValcustFiling = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
@ -363,7 +364,6 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
//流程定义id
bv.setModelId(ProcDefEnum.BUSVALCUSTFILING.getProDefId());
//========================================
busValcustFiling = fetchBySid(businessSid);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(bv.getModelId());
flowProcessMapQuery.setVariables(variables);

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDetailsVo.java

@ -165,8 +165,14 @@ public class FinBillApplicationDetailsVo extends AppBillApplicationIInfoVo imple
private List<FinBillVehicleVo> finBillVehicles; // 开票车辆信息
@ApiModelProperty("开票挂车信息")
private List<FinBillTrailerVo> finBillTrailers; // 开票挂车信息
@ApiModelProperty("附件")
@ApiModelProperty("欠款承诺书(欠款人、担保人同签)")
private List<FinBillFileVo> fjApplicationAppendxs;
@ApiModelProperty("公司股东会对外担保决议(公司担保)")
private List<FinBillFileVo> pcgsgdhdwdbjy;
@ApiModelProperty("责任人担保承诺书")
private List<FinBillFileVo> pczrrdbcns;
@ApiModelProperty("资方信审截图")
private List<FinBillFileVo> pczfxsjt;
@ApiModelProperty("证件")
private List<FinBillFileVo> zjApplicationAppendxs; // 证件
@ApiModelProperty("车辆买卖合同附件信息")

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java

@ -165,8 +165,14 @@ public class FinBillApplicationDto implements Dto {
private List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("证件")
private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("附件")
@ApiModelProperty("欠款承诺书(欠款人、担保人同签)")
private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("公司股东会对外担保决议(公司担保)")
private List<FinBillFileDto> pcgsgdhdwdbjy = new ArrayList<>();
@ApiModelProperty("责任人担保承诺书")
private List<FinBillFileDto> pczrrdbcns = new ArrayList<>();
@ApiModelProperty("资方信审截图")
private List<FinBillFileDto> pczfxsjt = new ArrayList<>();
@ApiModelProperty("欠款领票附件")
private List<FinBillFileDto> arrearsCollectionAppendxs = new ArrayList<>();
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/PcSelBillVinNoQuery.java

@ -54,8 +54,10 @@ public class PcSelBillVinNoQuery implements Query {
private String orgPath;
@ApiModelProperty("合同号")
private String contractId;
@ApiModelProperty("已选车架号")
@ApiModelProperty("已选车辆sid")
private List<String> vins;
@ApiModelProperty("已选车架号")
private List<String> vinNos;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("车架号")

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java

@ -13,7 +13,12 @@ public enum FinAttachTypeEnum {
ZJ("004", "证件"),
FJ("005", "附件"),
QKLPFJ("006", "欠款领票附件"),
CLMMHT("007", "车辆买卖合同");
CLMMHT("007", "车辆买卖合同"),
GSGDHDWDBJY("008", "公司股东会对外担保决议"),
ZRRDBCNS("009", "责任人担保承诺书"),
ZFXSJT("010", "资方信审截图"),
YYZZ("011", "企业开票信息营业执照"),
;
/**
* 附件类型

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicing.java

@ -72,4 +72,11 @@ public class FinCompanyInvoicing extends BaseEntity {
private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("开票类型value")
private String invoiceType; //
@ApiModelProperty("开票类型key")
private String invoiceTypeKey;
@ApiModelProperty("有效期")
private String effectiveDate; //
}

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java

@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicingVo.java <br/>
@ -77,4 +80,10 @@ public class FinCompanyInvoicingDetailsVo implements Vo {
private String staffSid;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("开票类型")
private String openTickTypeKey;
@ApiModelProperty("开票类型")
private String openTickTypeValue;
@ApiModelProperty("营业执照")
private List<String> yyzzFiles = new ArrayList<>();
}

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDto.java

@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-fin(公司开票信息管理) <br/>
* File: FinCompanyInvoicingDto.java <br/>
@ -75,4 +78,10 @@ public class FinCompanyInvoicingDto implements Dto {
private String orgSidPath;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("开票类型")
private String openTickTypeKey;
@ApiModelProperty("开票类型")
private String openTickTypeValue;
@ApiModelProperty("营业执照")
private List<String> yyzzFiles = new ArrayList<>();
}

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

@ -405,11 +405,15 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
qw.eq("bo.customerName", query.getName());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.eq("bv.linkNo", query.getVinNo());
}
if (query.getVins() != null && query.getVins().size() > 0) {
qw.notIn("bv.linkSid", query.getVins());
}
if (query.getVinNos() != null && query.getVinNos().size() > 0) {
qw.notIn("bv.linkNo", query.getVinNos());
}
//移动端条件
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("bo.contractNo", query.getName()).or().like("bo.customerName", query.getName()));
@ -754,6 +758,27 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
fileUrl = urlPrefix + fileUrl;
fjApplicationAppendx.setFileUrl(fileUrl);
}
List<FinBillFileVo> pcgsgdhdwdbjy = finBillFileService.fetchgsgdhdwdbjyBySid(sid);
for (FinBillFileVo pcgsgdhdwdb : pcgsgdhdwdbjy) {
String fileUrl = pcgsgdhdwdb.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
pcgsgdhdwdb.setFileUrl(fileUrl);
}
List<FinBillFileVo> pczrrdbcns = finBillFileService.fetchzrrdbcnsBySid(sid);
for (FinBillFileVo pczrrdbcn : pczrrdbcns) {
String fileUrl = pczrrdbcn.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
pczrrdbcn.setFileUrl(fileUrl);
}
List<FinBillFileVo> pczfxsjt = finBillFileService.fetchzfxsjtBySid(sid);
for (FinBillFileVo pczfxs : pczfxsjt) {
String fileUrl = pczfxs.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
pczfxs.setFileUrl(fileUrl);
}
List<FinBillFileVo> arrearsCollectionAppendxs = finBillFileService.fetchqklpfjBySid(sid);
for (FinBillFileVo arrearsCollectionAppendx : arrearsCollectionAppendxs) {
String fileUrl = arrearsCollectionAppendx.getFileUrl();
@ -767,6 +792,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
vo.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
vo.setZjApplicationAppendxs(zjApplicationAppendxs);
vo.setFjApplicationAppendxs(fjApplicationAppendxs);
vo.setPcgsgdhdwdbjy(pcgsgdhdwdbjy);
vo.setPczrrdbcns(pczrrdbcns);
vo.setPczfxsjt(pczfxsjt);
vo.setArrearsCollectionAppendxs(arrearsCollectionAppendxs);
//判断是否是高低开,若是,则isAdj网关参数为true=============添加
BusSalesOrderPrice data = busSalesOrderFeign.selectByContractNo(contractNo).getData();
@ -842,10 +870,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(businessSid);
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerService.fetchByMainSid(businessSid);
//修改车辆表状态
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.KPSQTG.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
if (!data.getSingleFinalPrice().equals(finBillApplication.getOneBillMoney())) {//是高低开
BusValcustFilingDto busValcustFilingDto = new BusValcustFilingDto();
busValcustFilingDto.setCreateBySid(finBillApplication.getCreateBySid());
@ -1153,6 +1189,17 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//修改车辆表状态
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(businessSid);
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.KPSQBH.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
finBillApplication = fetchBySid(businessSid);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
@ -1209,6 +1256,17 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//修改车辆表状态
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(query.getBusinessSid());
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.KPSQCH.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
return rb.success().setData(resultBean.getData());
}
}
@ -1242,6 +1300,17 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
//修改车辆表状态
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(query.getBusinessSid());
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.KPSQZZ.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
finBillVehicleService.updateByMainSid(finBillApplication.getSid());
return rb.success().setData(resultBean.getData());
} else {
@ -1254,6 +1323,17 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
//修改车辆表状态
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(query.getBusinessSid());
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.KPSQZZ.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
finBillVehicleService.updateByMainSid(finBillApplication.getSid());
return rb.success().setData(resultBean.getData());
}
@ -1275,6 +1355,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
}
//判断车辆是否发起过开票申请
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (FinBillVehicleDto finBillVehicle : finBillVehicles) {
int i = finBillVehicleService.checkIsKp(contractNo, finBillVehicle.getVehSid());
if (i > 0){
return rb.setMsg(finBillVehicle.getVinNo() + "已发起过开票申请");
}
}
//用户的组织全路径
String orgSidPath = "";
if (StringUtils.isNotBlank(dto.getOrgSidPath())) {
@ -1344,6 +1432,15 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//修改车辆表状态
List<BaseVehicleStateDto> baseVehicleStateDtos = new ArrayList<>();
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleDto.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.KPSQTJ.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
//极光推送
finBillApplication = fetchBySid(businessSid);
try {
@ -2047,6 +2144,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
List<FinBillFileDto> fjApplicationAppendxs = dto.getFjApplicationAppendxs();
List<FinBillFileDto> pcgsgdhdwdbjy = dto.getPcgsgdhdwdbjy();
List<FinBillFileDto> pczrrdbcns = dto.getPczrrdbcns();
List<FinBillFileDto> pczfxsjt = dto.getPczfxsjt();
if (StringUtils.isBlank(dtoSid)) {//新增
if ("是".equals(dto.getIsLQOrigInvoice())) {
return rb.setMsg("请选择未领取发票原件的申请");
@ -2107,6 +2207,42 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (pcgsgdhdwdbjy.size() > 0) {
for (FinBillFileDto finBillFileDto : pcgsgdhdwdbjy) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.GSGDHDWDBJY.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (pczrrdbcns.size() > 0) {
for (FinBillFileDto finBillFileDto : pczrrdbcns) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.ZRRDBCNS.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
if (pczfxsjt.size() > 0) {
for (FinBillFileDto finBillFileDto : pczfxsjt) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.ZFXSJT.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
return rb.success().setMsg("保存成功").setData(finBillApplication.getSid());
}
FinBillApplication finBillApplication = fetchBySid(dtoSid);
@ -2420,8 +2556,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
if (crmCustomerTempVo != null){
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
}
finVehicleInvoiceDto.setIsTakeTicket(finBillApplication.getIsLQOrigInvoice());
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
@ -3680,6 +3818,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
bv.setModelId(finBillApplication.getProcDefId());
if (bv.getTaskId().equals(finBillApplication.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java

@ -96,4 +96,15 @@ public interface FinBillFileMapper extends BaseMapper<FinBillFile> {
List<FinBillFileVo> fetchclmmhtBySid(String sid);
List<FinBillFileVo> fetchFileByBillSid(@Param("sid") String sid);
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '008'")
List<FinBillFileVo> fetchgsgdhdwdbjyBySid(String sid);
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '009'")
List<FinBillFileVo> fetchzrrdbcnsBySid(String sid);
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '010'")
List<FinBillFileVo> fetchzfxsjtBySid(String sid);
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '011'")
List<FinBillFileVo> fetchcyyzzBySid(String sid);
}

15
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java

@ -177,4 +177,19 @@ public class FinBillFileService extends MybatisBaseService<FinBillFileMapper, Fi
public List<FinBillFileVo> fetchclmmhtBySid(String sid) {
return baseMapper.fetchclmmhtBySid(sid);
}
public List<FinBillFileVo> fetchgsgdhdwdbjyBySid(String sid) {
return baseMapper.fetchgsgdhdwdbjyBySid(sid);
}
public List<FinBillFileVo> fetchzrrdbcnsBySid(String sid) {
return baseMapper.fetchzrrdbcnsBySid(sid);
}
public List<FinBillFileVo> fetchzfxsjtBySid(String sid) {
return baseMapper.fetchzfxsjtBySid(sid);
}
public List<FinBillFileVo> fetchcyyzzBySid(String sid) {
return baseMapper.fetchcyyzzBySid(sid);
}
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.java

@ -83,4 +83,6 @@ public interface FinBillVehicleMapper extends BaseMapper<FinBillVehicle> {
List<FinBillVehicleVo> fetchByMainSid(String sid);
List<String> fetchByUseOrgSid(@Param(Constants.WRAPPER) Wrapper<FinBillVehicle> qw);
int checkIsKp(@Param("contractNo") String contractNo,@Param("vehSid") String vehSid);
}

11
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleMapper.xml

@ -45,4 +45,15 @@
AND fba.`nodeState` != "待提交"
AND fba.`nodeState` != "终止"
</select>
<select id="checkIsKp" resultType="int">
SELECT COUNT(*)
FROM fin_bill_vehicle fv
JOIN fin_bill_application fa
ON fv.`billAppSid` = fa.`sid`
WHERE fa.`contractNo` = #{contractNo}
AND fv.`vehSid` = #{vehSid}
AND fa.`nodeState` != '待提交'
AND fv.`isDelete` = 0
</select>
</mapper>

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillvehicle/FinBillVehicleService.java

@ -161,4 +161,8 @@ public class FinBillVehicleService extends MybatisBaseService<FinBillVehicleMapp
qw.ne("fba.nodeState","终止");
return baseMapper.fetchByUseOrgSid(qw);
}
public int checkIsKp(String contractNo, String vehSid) {
return baseMapper.checkIsKp(contractNo,vehSid);
}
}

75
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java

@ -28,18 +28,25 @@ package com.yxt.anrui.fin.biz.fincompanyinvoicing;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busbillfile.BusAttachTypeEnum;
import com.yxt.anrui.buscenter.api.busbillfile.BusBillFileDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillfile.FinAttachTypeEnum;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileDto;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.*;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceVo;
import com.yxt.anrui.fin.biz.finbillfile.FinBillFileService;
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.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -79,6 +86,10 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
private SysUserFeign sysUserFeign;
@Resource
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private FinBillFileService finBillFileService;
@Autowired
private FileUploadComponent fileUploadComponent;
private QueryWrapper<FinCompanyInvoicing> createQueryWrapper(FinCompanyInvoicingQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -90,7 +101,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
public PagerVo<FinCompanyInvoicingVo> listPageVo(PagerQuery<FinCompanyInvoicingQuery> pq) {
FinCompanyInvoicingQuery query = pq.getParams();
QueryWrapper<FinCompanyInvoicing> qw = new QueryWrapper<>();
qw.ne("fci.purchaseSystemSid","");
qw.ne("fci.purchaseSystemSid", "");
//层级筛选
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
@ -140,9 +151,9 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
IPage<FinCompanyInvoicing> page = PagerUtil.queryToPage(pq);
IPage<FinCompanyInvoicingVo> pagging = baseMapper.selectPageVoGS(page, qw);
for (FinCompanyInvoicingVo record : pagging.getRecords()) {
if (record.getCreateBySid().equals(query.getUserSid())){
if (record.getCreateBySid().equals(query.getUserSid())) {
record.setIsCZ(true);
}else {
} else {
record.setIsCZ(false);
}
}
@ -169,6 +180,12 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
public String insertByDto(FinCompanyInvoicingDto dto) {
FinCompanyInvoicing entity = new FinCompanyInvoicing();
BeanUtil.copyProperties(dto, entity, "id", "sid");
if (StringUtils.isNotBlank(dto.getOpenTickTypeKey())) {
entity.setInvoiceTypeKey(dto.getOpenTickTypeKey());
}
if (StringUtils.isNotBlank(dto.getOpenTickTypeValue())) {
entity.setInvoiceType(dto.getOpenTickTypeValue());
}
baseMapper.insert(entity);
return entity.getSid();
}
@ -180,6 +197,12 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
}
FinCompanyInvoicing entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
if (StringUtils.isNotBlank(dto.getOpenTickTypeKey())) {
entity.setInvoiceTypeKey(dto.getOpenTickTypeKey());
}
if (StringUtils.isNotBlank(dto.getOpenTickTypeValue())) {
entity.setInvoiceType(dto.getOpenTickTypeValue());
}
baseMapper.updateById(entity);
}
@ -187,6 +210,21 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
FinCompanyInvoicing entity = fetchBySid(sid);
FinCompanyInvoicingDetailsVo vo = new FinCompanyInvoicingDetailsVo();
BeanUtil.copyProperties(entity, vo);
if (StringUtils.isNotBlank(entity.getInvoiceType())) {
vo.setOpenTickTypeValue(entity.getInvoiceType());
}
if (StringUtils.isNotBlank(entity.getInvoiceTypeKey())) {
vo.setOpenTickTypeKey(entity.getInvoiceTypeKey());
}
List<String> fileList = new ArrayList<>();
List<FinBillFileVo> clmmhtApplicationAppendxs = finBillFileService.fetchcyyzzBySid(sid);
for (FinBillFileVo clmmhtApplicationAppendx : clmmhtApplicationAppendxs) {
String fileUrl = clmmhtApplicationAppendx.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
fileList.add(fileUrl);
}
vo.setYyzzFiles(fileList);
return vo;
}
@ -276,6 +314,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
String useOrgSid = dto.getUseOrgSid();
List<String> yyzzFiles = dto.getYyzzFiles();
if (StringUtils.isBlank(useOrgSid)) {
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()).getData();
dto.setUseOrgSid(useOrgSid);
@ -321,6 +360,20 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
}
finExtra.setInfo(openTickRemarks);
finAppDisAndCustm.setExtra(finExtra);
//保存附件
finBillFileService.deleteByFinAppSid(sid);
if (!yyzzFiles.isEmpty()) {
for (String yyzzFile : yyzzFiles) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
if (yyzzFile.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
yyzzFile = yyzzFile.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(yyzzFile);
finBillFileDto.setBillAppSid(sid);
finBillFileDto.setAttachType(FinAttachTypeEnum.YYZZ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
return rb.success().setData(finAppDisAndCustm);
}
QueryWrapper qw1 = new QueryWrapper<>();
@ -337,6 +390,20 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
return rb.setMsg("该企业开票信息已存在");
}
this.updateByDto(dto);
//保存附件
finBillFileService.deleteByFinAppSid(dtoSid);
if (!yyzzFiles.isEmpty()) {
for (String yyzzFile : yyzzFiles) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
if (yyzzFile.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
yyzzFile = yyzzFile.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(yyzzFile);
finBillFileDto.setBillAppSid(dtoSid);
finBillFileDto.setAttachType(FinAttachTypeEnum.YYZZ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
FinAppDisAndCustm finAppDisAndCustm = new FinAppDisAndCustm();
FinExtra finExtra = new FinExtra();
finAppDisAndCustm.setId(dtoSid);
@ -401,7 +468,7 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
return rb.success().setData(finCompanyInvoicingDetailsVo);
}
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(sid).getData();
if (crmCustomerTempVo == null){
if (crmCustomerTempVo == null) {
return rb.setMsg("该开票名称不存在,请重新选择");
}
finCompanyInvoicingDetailsVo.setSid(crmCustomerTempVo.getSid());

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

@ -14,7 +14,7 @@ public enum ProcDefEnum {
ORDERDEPOSITVEHICLEAPPROVE("简易订单-车辆预定", "process_pkyns85b:5:575008"),
ORDERAPPROVE("订单审批", "order_approve_96asleqi:1:227504"),
SALESPOLICY("销售政策审批流程", "process_biw9gfh7:3:917504"),
FINBILLAPPLICATION("开票申请流程", "process_hxys3ap3:4:4505004"),
FINBILLAPPLICATION("开票申请流程", "process_hxys3ap3:5:5665004"),
QKFINBILLAPPLICATION("欠款开票申请流程", "process_q4evu61h:2:5100004"),
QKLPFINBILLAPPLICATION("欠款领票申请流程", "process_x9r8epty:5:4975008"),
ARREARSCARRYVEHICLE("欠款提车审批流程", "process_f2dkbvny:5:4975004"),
@ -35,7 +35,7 @@ public enum ProcDefEnum {
BASEACCADJAPPLY("调账申请", "process_r6pyzqoz:4:1362508"),
// BUSDELIVEREDAPPLY("出库申请", "process_wgt1n66l:10:1700004"),
BUSDELIVEREDAPPLY("出库申请", "process_30ixry76:2:5357504"),
QKBUSDELIVEREDAPPLY("欠款出库申请", ""),
QKBUSDELIVEREDAPPLY("欠款出库申请", "process_161otrwo:2:5642504"),
BASESHUNINVOICAPPLY("调车开票申请", "process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请", "process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请", "process_qegarc7r:1:535004"),

8
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceDto.java

@ -53,8 +53,14 @@ public class AdvanceInvoiceDto implements Dto {
private String remarks;
@ApiModelProperty("欠款开票挂车信息")
private List<FinBillTrailerDto> finBillTrailers;
@ApiModelProperty("附件")
@ApiModelProperty("欠款承诺书(欠款人、担保人同签)")
private List<String> fjApplicationAppendxs;
@ApiModelProperty("公司股东会对外担保决议(公司担保)")
private List<String> gsgdhdwdbjy;
@ApiModelProperty("责任人担保承诺书")
private List<String> zrrdbcns;
@ApiModelProperty("资方信审截图")
private List<String> zfxsjt;
@ApiModelProperty("证件")
private List<String> idCardImages;
@ApiModelProperty("车辆买卖合同")

8
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java

@ -58,8 +58,14 @@ public class AdvanceInvoiceInfoVo implements Vo {
private String reasonRemarks;
@ApiModelProperty("欠款开票挂车信息")
private List<FinBillTrailerVo> finBillTrailers;
@ApiModelProperty("附件")
@ApiModelProperty("欠款承诺书(欠款人、担保人同签)")
private List<String> fjApplicationAppendxs;
@ApiModelProperty("公司股东会对外担保决议(公司担保)")
private List<String> gsgdhdwdbjy;
@ApiModelProperty("责任人担保承诺书")
private List<String> zrrdbcns;
@ApiModelProperty("资方信审截图")
private List<String> zfxsjt;
@ApiModelProperty("证件")
private List<String> idCardImages;
@ApiModelProperty("车辆买卖合同")

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/distributor/DistributorFeign.java

@ -166,7 +166,7 @@ public interface DistributorFeign {
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap DistributorFlowableQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppDistributorDelegateQuery appDistributorDelegateQuery);

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java

@ -29,7 +29,7 @@ public interface InvoicedFeign {
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(@RequestBody PagerQuery<BillApplicationPageQuery> pagerQuery);
@ApiOperation("手机端-删除开票申请")
@GetMapping("/deleteInvoice")
@DeleteMapping("/deleteInvoice")
@ResponseBody
public ResultBean deleteInvoice(@RequestParam("sid") String sid);

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/SelBillVinNoPageVo.java

@ -24,6 +24,12 @@ public class SelBillVinNoPageVo implements Vo {
private String invoicingUnit;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("单台开票金额")
private String invoiceMoney;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("主车信息")
private List<SelBillZcVo> cars;

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

@ -27,10 +27,7 @@ package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoDto;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoVo;
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.api.autoservice.retrieval.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -87,7 +84,6 @@ public interface AppBusDeliveredApplyFeign {
@ApiOperation("手机端-出库申请 详情")
@GetMapping("/getRetrievalDetail")
@ResponseBody
// public ResultBean<DeliveredApplyDetailsVo> getRetrievalDetail(@RequestParam("sid") String sid);
public ResultBean<DeliveredDetailsVo> getRetrievalDetail(@RequestParam("sid") String sid);
@ApiOperation("手机端-出库开票信息 详情")
@ -148,10 +144,68 @@ public interface AppBusDeliveredApplyFeign {
@ApiOperation("主车的挂车信息/上装信息")
@GetMapping("/tralieredDetailsList")
@ResponseBody
ResultBean<DeliveredTralierVo> tralieredDetailsList(@RequestParam("vinSid") String vinSid,@RequestParam("contractNo")String contractNo);
ResultBean<DeliveredTralierVo> tralieredDetailsList(@RequestParam("vinSid") String vinSid, @RequestParam("contractNo") String contractNo);
@ApiOperation("待补充车辆")
@GetMapping("/appendRetrievalCars")
@ResponseBody
public ResultBean<List<CarListVo>> appendRetrievalCars(@SpringQueryMap DeliveredDetailssQuery query);
/*************************欠款出库*************************************/
@ApiOperation("可欠款出库列表")
@PostMapping("/getRetrievalNotListQk")
@ResponseBody
public ResultBean<PagerVo<DeliveredPageVo2>> getRetrievalNotListQk(@RequestBody PagerQuery<DeliveredPageQuery> pagerQuery);
@ApiOperation("初始化欠款出库 待出库进入")
@GetMapping("/getRetrievalApplyInfoQk")
@ResponseBody
public ResultBean<DeliveredDetailsVoQk2> getRetrievalApplyInfoQk(@SpringQueryMap AppDeliveredDetailssQuery query);
@ApiOperation("欠款出库分页列表")
@PostMapping("/getRetrievalApplyListQk")
@ResponseBody
public ResultBean<PagerVo<DeliveredApplyPageVo2>> getRetrievalApplyListQk(@RequestBody PagerQuery<DeliveredApplyPageQuery> pagerQuery);
@ApiOperation("欠款出库详情")
@GetMapping("/getRetrievalDetailQk")
@ResponseBody
public ResultBean<DeliveredDetailsVoQk2> getRetrievalDetailQk(@RequestParam("sid") String sid);
@ApiOperation("保存欠款出库")
@PostMapping("/saveRetrievalApplyInfoQk")
@ResponseBody
public ResultBean<String> saveRetrievalApplyInfoQk(@RequestBody DeliveredApplyDto2 deliveredApplyDto);
@ApiOperation("提交流程")
@PostMapping("/submitRetrievalInfoQk")
@ResponseBody
ResultBean submitRetrievalInfoQk(@Valid @RequestBody SubmitRetrievalDto2 dto);
@ApiOperation("办理")
@PutMapping("/agreeRetrievalInfoQk")
@ResponseBody
ResultBean agreeRetrievalInfoQk(@Valid @RequestBody CompleteRetrievalDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectRetrievalInfoQk")
@ResponseBody
ResultBean rejectRetrievalInfoQk(@Valid @RequestBody RetrievalTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallRetrievalInfoQk")
@ResponseBody
ResultBean recallRetrievalInfoQk(@Valid @RequestBody RetrievalTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopRetrievalInfoQk")
@ResponseBody
ResultBean stopRetrievalInfoQk(@Valid @RequestBody RetrievalTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitleQk")
@ResponseBody
ResultBean<String> getFlowOperateTitleQk(@Valid @SpringQueryMap RetrievalQuery query);
}

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

@ -27,10 +27,7 @@ package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoDto;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoVo;
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.api.autoservice.retrieval.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -144,4 +141,59 @@ public class AppBusDeliveredApplyFeignFallback implements AppBusDeliveredApplyFe
public ResultBean<List<CarListVo>> appendRetrievalCars(DeliveredDetailssQuery query) {
return null;
}
@Override
public ResultBean<PagerVo<DeliveredPageVo2>> getRetrievalNotListQk(PagerQuery<DeliveredPageQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<DeliveredDetailsVoQk2> getRetrievalApplyInfoQk(AppDeliveredDetailssQuery query) {
return null;
}
@Override
public ResultBean<PagerVo<DeliveredApplyPageVo2>> getRetrievalApplyListQk(PagerQuery<DeliveredApplyPageQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<DeliveredDetailsVoQk2> getRetrievalDetailQk(String sid) {
return null;
}
@Override
public ResultBean<String> saveRetrievalApplyInfoQk(DeliveredApplyDto2 deliveredApplyDto) {
return null;
}
@Override
public ResultBean submitRetrievalInfoQk(SubmitRetrievalDto2 dto) {
return null;
}
@Override
public ResultBean agreeRetrievalInfoQk(CompleteRetrievalDto dto) {
return null;
}
@Override
public ResultBean rejectRetrievalInfoQk(RetrievalTaskQuery query) {
return null;
}
@Override
public ResultBean recallRetrievalInfoQk(RetrievalTaskQuery query) {
return null;
}
@Override
public ResultBean stopRetrievalInfoQk(RetrievalTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitleQk(RetrievalQuery query) {
return null;
}
}

24
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListVo2.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class CarListVo2 implements Vo {
private static final long serialVersionUID = -161197661649661665L;
@ApiModelProperty("折让")
private String discount;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("是否显示挂车信息")
private boolean showHandCarBtn;
private List<DeliveredDiscountVo> discountUse;
@ApiModelProperty("实际购车人")
private DeliveredUseMessagesVo realBuyer;
}

87
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDto2.java

@ -0,0 +1,87 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DeliveredApplyDto2 implements Dto {
private static final long serialVersionUID = 1435828778500563915L;
@ApiModelProperty("合同编号")
private String contractId;
@JsonProperty("saleType")
@ApiModelProperty("销售类型")
private String paymentMethod;
private String paymentMethodKey;
@ApiModelProperty("发起信息:部门-人员名")
private String publishInfo;
@ApiModelProperty("销售部门sid")
private String staffDeptSid;
@ApiModelProperty("销售部门")
@JsonProperty("sellerDept")
private String staffDeptName;
@ApiModelProperty("销售专员")
@JsonProperty("sellerName")
private String staffName;
@ApiModelProperty("发起日期")
@JsonProperty("date")
private String createTime;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("客户电话")
private String mobile;
@ApiModelProperty("车型")
@JsonProperty("model")
private String modelName;
@ApiModelProperty("单车中介人1")
@JsonProperty("intermediaryName")
private String distributorName;
@ApiModelProperty("单车中介人2")
@JsonProperty("intermediaryName2")
private String distributorNameTwo;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("主车成交价")
private String price;
@ApiModelProperty("购车人类型")
private List<DictVo> buyerType = new ArrayList<>();
@ApiModelProperty("购车人类型key")
@JsonProperty("terminalKey")
private String typeKey;
@ApiModelProperty("购车人类型值")
@JsonProperty("terminalValue")
private String type;
@ApiModelProperty("贷款人")
@JsonProperty("lender")
private String loanName;
@ApiModelProperty("贷款人sid")
@JsonProperty("lenderSid")
private String loanSid;
@ApiModelProperty("贷款人电话")
@JsonProperty("lenderPhone")
private String loanMobile;
@ApiModelProperty("总备注")
private String remarks;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("orgPath")
private String orgPath;
@ApiModelProperty("车辆集合")
private List<CarListVo> carList = new ArrayList<>();
@ApiModelProperty("剩余")
private List<DeliveredLeaveVo> discountLeave = new ArrayList<>();
}

32
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyPageVo2.java

@ -0,0 +1,32 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class DeliveredApplyPageVo2 implements Vo {
private static final long serialVersionUID = -2059933471530850176L;
@ApiModelProperty("列表sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractId;
@ApiModelProperty("流程状态")
private String contractState;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("申请日期")
private String date;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("是否显示办理按钮(提交后不显示)")
private boolean showUpdata;
}

112
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVoQk2.java

@ -0,0 +1,112 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DeliveredDetailsVoQk2 implements Vo {
private static final long serialVersionUID = -8796064054602664488L;
@ApiModelProperty("合同编号")
private String contractId;
@JsonProperty("saleType")
@ApiModelProperty("销售类型")
private String paymentMethod;
private String paymentMethodKey;
@ApiModelProperty("发起信息:部门-人员名")
private String publishInfo;
@ApiModelProperty("销售部门sid")
private String staffDeptSid;
@ApiModelProperty("销售部门")
@JsonProperty("sellerDept")
private String staffDeptName;
@ApiModelProperty("销售专员sid")
@JsonProperty("staffSid")
private String pcStaffSid;
@ApiModelProperty("PC发起人sid")
@JsonProperty("applySid")
private String pcApplySid;
@ApiModelProperty("PC发起人部门")
@JsonProperty("applyDept")
private String pcApplyDept;
@JsonProperty("applyDeptSid")
@ApiModelProperty("PC发起人部门sid")
private String pcApplyDeptSid;
@ApiModelProperty("销售专员")
@JsonProperty("sellerName")
private String staffName;
@ApiModelProperty("发起日期")
@JsonProperty("date")
private String createTime;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("客户电话")
private String mobile;
@ApiModelProperty("车型")
@JsonProperty("model")
private String modelName;
@ApiModelProperty("单车中介人1")
@JsonProperty("intermediaryName")
private String distributorName;
@ApiModelProperty("单车中介人2")
@JsonProperty("intermediaryName2")
private String distributorNameTwo;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("主车成交价")
private String price;
@ApiModelProperty("购车人类型")
private List<DictVo> buyerType = new ArrayList<>();
@ApiModelProperty("购车人类型key")
@JsonProperty("terminalKey")
private String typeKey;
@ApiModelProperty("购车人类型值")
@JsonProperty("terminalValue")
private String type;
@ApiModelProperty("贷款人")
@JsonProperty("lender")
private String loanName;
@ApiModelProperty("贷款人sid")
@JsonProperty("lenderSid")
private String loanSid;
@ApiModelProperty("贷款人电话")
@JsonProperty("lenderPhone")
private String loanMobile;
@ApiModelProperty("总备注")
private String remarks;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("orgPath")
private String orgPath;
@ApiModelProperty("车辆集合")
private List<CarListVo2> carList = new ArrayList<>();
@ApiModelProperty("剩余")
private List<DeliveredLeaveVo> discountLeave = new ArrayList<>();
@ApiModelProperty(value = "实例id")
@JsonProperty("procInsId")
private String procInstId;
@ApiModelProperty(value = "taskId")
private String taskId;
@ApiModelProperty("销售订单sid")
private String busSalesOrderSid;
private boolean showLoanUser;
}

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

@ -0,0 +1,39 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/10/11
**/
@Data
public class DeliveredPageVo2 {
@ApiModelProperty("列表sid")
private String sid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("类型 1 已认款 2 未认款")
private String subscription;
@ApiModelProperty("类型 1 已认款 2 未认款")
private String subscriptionKey;
@ApiModelProperty("付款方式 1 全款 2 贷款")
private String paymentMethod;
@ApiModelProperty("付款方式 1 全款 2 贷款")
private String paymentMethodKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("车架号集合")
private List<VinListVo2> vinList;
}

20
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo2.java

@ -0,0 +1,20 @@
package com.yxt.anrui.terminal.api.autoservice.retrieval;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VinListVo2 implements Vo {
private static final long serialVersionUID = -4018662327029659156L;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("业务状态")
private String businessState;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
}

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

@ -0,0 +1,19 @@
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 com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredApplyDto2;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SubmitRetrievalDto2 extends DeliveredApplyDto2 {
private static final long serialVersionUID = -471108222247151552L;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

112
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java

@ -406,7 +406,7 @@ public class AppBusAdvanceGinvoiceapplyService {
}
}
vo.setFinBillTrailers(finBillTrailerVos);
//附件信息
//《欠款承诺书》(欠款人、担保人同签)
List<FinBillFileVo> fjApplicationAppendxs = finBillApplicationDetailsVo.getFjApplicationAppendxs();
List<String> fj = new ArrayList<>();
if (fjApplicationAppendxs != null) {
@ -415,6 +415,33 @@ public class AppBusAdvanceGinvoiceapplyService {
}
}
vo.setFjApplicationAppendxs(fj);
//《公司股东会对外担保决议》(公司担保)
List<FinBillFileVo> pcgsgdhdwdbjy = finBillApplicationDetailsVo.getPcgsgdhdwdbjy();
List<String> gsgdhdwdbjy = new ArrayList<>();
if (pcgsgdhdwdbjy != null) {
for (FinBillFileVo pcgsgdhdwdb : pcgsgdhdwdbjy) {
gsgdhdwdbjy.add(pcgsgdhdwdb.getFileUrl());
}
}
vo.setGsgdhdwdbjy(gsgdhdwdbjy);
//《责任人担保承诺书》
List<FinBillFileVo> pczrrdbcns = finBillApplicationDetailsVo.getPczrrdbcns();
List<String> zrrdbcns = new ArrayList<>();
if (pczrrdbcns != null) {
for (FinBillFileVo pczrrdbcn : pczrrdbcns) {
zrrdbcns.add(pczrrdbcn.getFileUrl());
}
}
vo.setZrrdbcns(zrrdbcns);
//资方信审截图
List<FinBillFileVo> pczfxsjt = finBillApplicationDetailsVo.getPczfxsjt();
List<String> zfxsjt = new ArrayList<>();
if (pczfxsjt != null) {
for (FinBillFileVo pczfxs : pczfxsjt) {
zfxsjt.add(pczfxs.getFileUrl());
}
}
vo.setZfxsjt(zfxsjt);
BusSalesOrderIsDTKPJVo busSalesOrderIsDTKPJVo = busSalesOrderFeign.fetchByContractNo(finBillApplicationDetailsVo.getContractNo()).getData();
if (StringUtils.isNotBlank(busSalesOrderIsDTKPJVo.getOneBillMoney())) {
vo.setIsCanEdit(false);
@ -610,8 +637,14 @@ public class AppBusAdvanceGinvoiceapplyService {
}
finBillApplicationDto.setFinBillTrailers(finBillTrailerDtos);
//附件信息
List<String> fjApplicationAppendxs = dto.getFjApplicationAppendxs();//证件
List<FinBillFileDto> fj = new ArrayList<>();//证件
List<String> fjApplicationAppendxs = dto.getFjApplicationAppendxs();
List<String> gsgdhdwdbjy = dto.getGsgdhdwdbjy();
List<String> zrrdbcns = dto.getZrrdbcns();
List<String> zfxsjt = dto.getZfxsjt();
List<FinBillFileDto> fj = new ArrayList<>();
List<FinBillFileDto> pcgsgdhdwdbjy = new ArrayList<>();
List<FinBillFileDto> pczrrdbcns = new ArrayList<>();
List<FinBillFileDto> pczfxsjt = new ArrayList<>();
if (fjApplicationAppendxs != null) {
for (String fjApplicationAppendx : fjApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
@ -619,7 +652,31 @@ public class AppBusAdvanceGinvoiceapplyService {
fj.add(finBillFileDto);
}
}
if (gsgdhdwdbjy != null) {
for (String gsgdhdwdb : gsgdhdwdbjy) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(gsgdhdwdb);
pcgsgdhdwdbjy.add(finBillFileDto);
}
}
if (zrrdbcns != null) {
for (String zrrdbcn : zrrdbcns) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(zrrdbcn);
pczrrdbcns.add(finBillFileDto);
}
}
if (zfxsjt != null) {
for (String zfxs : zfxsjt) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(zfxs);
pczfxsjt.add(finBillFileDto);
}
}
finBillApplicationDto.setFjApplicationAppendxs(fj);
finBillApplicationDto.setPcgsgdhdwdbjy(pcgsgdhdwdbjy);
finBillApplicationDto.setPczrrdbcns(pczrrdbcns);
finBillApplicationDto.setPczfxsjt(pczfxsjt);
ResultBean resultBean = finBillApplicationFeign.saveQKLP(finBillApplicationDto);
return resultBean;
}
@ -1404,22 +1461,67 @@ public class AppBusAdvanceGinvoiceapplyService {
}
FinBillApplicationDetailsVo finBillApplicationDetailsVo = resultBean.getData();
if (finBillApplicationDetailsVo != null) {
//附件信息
//《欠款承诺书》(欠款人、担保人同签)
List<FinBillFileVo> fjApplicationAppendxs = finBillApplicationDetailsVo.getFjApplicationAppendxs();
//《公司股东会对外担保决议》(公司担保)
List<FinBillFileVo> pcgsgdhdwdbjy = finBillApplicationDetailsVo.getPcgsgdhdwdbjy();
//《责任人担保承诺书》
List<FinBillFileVo> pczrrdbcns = finBillApplicationDetailsVo.getPczrrdbcns();
//资方信审截图
List<FinBillFileVo> pczfxsjt = finBillApplicationDetailsVo.getPczfxsjt();
List<String> fj = new ArrayList<>();
List<String> gsgdhdwdbjy = new ArrayList<>();
List<String> zrrdbcns = new ArrayList<>();
List<String> zfxsjt = new ArrayList<>();
List<ItemEditTextInfo> itemEditTextInfos = new ArrayList<>();
if (fjApplicationAppendxs != null) {
for (FinBillFileVo fjApplicationAppendx : fjApplicationAppendxs) {
fj.add(fjApplicationAppendx.getFileUrl());
}
ItemEditTextInfo itemEditTextInfo = new ItemEditTextInfo();
itemEditTextInfo.setTitle("附件");
itemEditTextInfo.setTitle("《欠款承诺书》(欠款人、担保人同签)");
itemEditTextInfo.setType(1);
itemEditTextInfo.setNullAble(false);
itemEditTextInfo.setKey("fjApplicationAppendxs");
itemEditTextInfo.setFilesPath(fj);
itemEditTextInfos.add(itemEditTextInfo);
}
if (pcgsgdhdwdbjy != null) {
for (FinBillFileVo pcgsgdhdwdb : pcgsgdhdwdbjy) {
gsgdhdwdbjy.add(pcgsgdhdwdb.getFileUrl());
}
ItemEditTextInfo itemEditTextInfo = new ItemEditTextInfo();
itemEditTextInfo.setTitle("《公司股东会对外担保决议》(公司担保)");
itemEditTextInfo.setType(1);
itemEditTextInfo.setNullAble(false);
itemEditTextInfo.setKey("gsgdhdwdbjy");
itemEditTextInfo.setFilesPath(gsgdhdwdbjy);
itemEditTextInfos.add(itemEditTextInfo);
}
if (pczrrdbcns != null) {
for (FinBillFileVo pczrrdbcn : pczrrdbcns) {
zrrdbcns.add(pczrrdbcn.getFileUrl());
}
ItemEditTextInfo itemEditTextInfo = new ItemEditTextInfo();
itemEditTextInfo.setTitle("《责任人担保承诺书》");
itemEditTextInfo.setType(1);
itemEditTextInfo.setNullAble(false);
itemEditTextInfo.setKey("zrrdbcns");
itemEditTextInfo.setFilesPath(zrrdbcns);
itemEditTextInfos.add(itemEditTextInfo);
}
if (pczfxsjt != null) {
for (FinBillFileVo pczfxs : pczfxsjt) {
zfxsjt.add(pczfxs.getFileUrl());
}
ItemEditTextInfo itemEditTextInfo = new ItemEditTextInfo();
itemEditTextInfo.setTitle("资方信审截图");
itemEditTextInfo.setType(1);
itemEditTextInfo.setNullAble(false);
itemEditTextInfo.setKey("zfxsjt");
itemEditTextInfo.setFilesPath(zfxsjt);
itemEditTextInfos.add(itemEditTextInfo);
}
qkkpFlowListVo.setList(itemEditTextInfos);
}
return rb.success().setData(qkkpFlowListVo);

77
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -50,6 +50,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
@ -128,32 +129,71 @@ public class InvoicedService {
public ResultBean<PagerVo<SelBillVinNoPageVo>> getSelectVinsList(PagerQuery<SelBillVinNoQuery> pagerQuery) {
ResultBean<PagerVo<SelBillVinNoPageVo>> rb = ResultBean.fireFail();
SelBillVinNoQuery params = pagerQuery.getParams();
FinBillApplicationQuery finBillApplicationQuery = new FinBillApplicationQuery();
finBillApplicationQuery.setCreateBySid(params.getUserSid());
finBillApplicationQuery.setName(params.getName());
finBillApplicationQuery.setOrgPath(params.getOrgPath());
//finBillApplicationQuery.setType(params.getType());
//finBillApplicationQuery.setMenuSid(params.getMenuSid());
PagerQuery<FinBillApplicationQuery> pcq = new PagerQuery<>();
pcq.setParams(finBillApplicationQuery);
ResultBean<PagerVo<FinBillApplicationVo>> resultBean = finBillApplicationFeign.listPage(pcq);
List<FinBillApplicationVo> records = resultBean.getData().getRecords();
List<SelBillVinNoPageVo> billApplicationPageVos = new ArrayList<>();
PcSelBillVinNoQuery pcSelBillVinNoQuery = new PcSelBillVinNoQuery();
pcSelBillVinNoQuery.setUserSid(params.getUserSid());
pcSelBillVinNoQuery.setName(params.getName());
pcSelBillVinNoQuery.setOrgPath(params.getOrgPath());
pcSelBillVinNoQuery.setContractId(params.getContractId());
pcSelBillVinNoQuery.setVinNos(params.getVins());
PagerQuery<PcSelBillVinNoQuery> pcq = new PagerQuery<>();
pcq.setParams(pcSelBillVinNoQuery);
PagerVo<PcSelBillVinNoPageVo> data = finBillApplicationFeign.getSelectVinsList(pcq).getData();
List<SelBillVinNoPageVo> selBillVinNoPageVos = new ArrayList<>();
List<SelBillZcVo> selBillZcVos = new ArrayList<>();
PagerVo<SelBillVinNoPageVo> v = new PagerVo<>();
v.setRecords(billApplicationPageVos);
for (PcSelBillVinNoPageVo record : data.getRecords()) {
//第一层
SelBillVinNoPageVo selBillVinNoPageVo = new SelBillVinNoPageVo();
if (selBillVinNoPageVos.stream().
filter(item -> item.getContractId().
equals(record.getContractId())).findAny().
isPresent()) {
} else {
selBillZcVos = new ArrayList<>();
BeanUtil.copyProperties(record, selBillVinNoPageVo);
selBillVinNoPageVo.setInvoiceMoney(record.getKpMoney());
selBillVinNoPageVos.add(selBillVinNoPageVo);
}
//第二层
if (selBillVinNoPageVos.stream().
filter(item -> item.getContractId().
equals(record.getContractId())).findAny().
isPresent()) {
SelBillZcVo selBillZcVo = new SelBillZcVo();
BeanUtil.copyProperties(record, selBillZcVo);
//第三层
List<PcSelBillGcVo> finBillTrailers = record.getFinBillTrailers();
List<SelBillGcVo> selBillGcVos = new ArrayList<>();
if (finBillTrailers != null && finBillTrailers.size() > 0) {
for (PcSelBillGcVo finBillTrailer : finBillTrailers) {
SelBillGcVo selBillGcVo = new SelBillGcVo();
BeanUtil.copyProperties(finBillTrailer, selBillGcVo);
selBillGcVos.add(selBillGcVo);
}
}
selBillZcVo.setFinBillTrailers(selBillGcVos);
selBillZcVos.add(selBillZcVo);
selBillVinNoPageVo.setCars(selBillZcVos);
}
}
v.setRecords(selBillVinNoPageVos);
return rb.success().setData(v);
}
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(BillApplicationPageInfoQuery query) {
ResultBean<BillApplicationIInfoVo> rb = ResultBean.fireFail();
BillApplicationIInfoVo vo = new BillApplicationIInfoVo();
if (StringUtils.isBlank(query.getSid())){
if (StringUtils.isBlank(query.getSid())) {
String userSid = query.getUserSid();
String orgPath = query.getOrgPath();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData();
vo.setPublishInfo(sysOrganizationVo.getName() + sysUserVo.getName());
vo.setPublishInfo(sysOrganizationVo.getName() + "-" + sysUserVo.getName());
vo.setShowBtn(true);
vo.setInvoiceStateKey("001");
vo.setInvoiceState("正常开票");
vo.setDate(DateUtil.formatDate(new Date()));
return rb.success().setData(vo);
}
ResultBean<FinBillApplicationDetailsVo> resultBean = finBillApplicationFeign.fetchDetailsBySid(query.getSid());
if (!resultBean.getSuccess()) {
@ -428,9 +468,9 @@ public class InvoicedService {
FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto();
BeanUtil.copyProperties(dto, finBillApplicationDto, "carBuyContractImages");
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
if (dto.getShowBtn()){
if (dto.getShowBtn()) {
finBillApplicationDto.setShowBtnStr("1");
}else {
} else {
finBillApplicationDto.setShowBtnStr("0");
}
finBillApplicationDto.setUseOrgSid(useOrgSid);
@ -540,6 +580,7 @@ public class InvoicedService {
finBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
finBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
finBillApplicationDto.setZjApplicationAppendxs(idCardImagesPC);
finBillApplicationDto.setArrearsMoney("0");
ResultBean resultBean = finBillApplicationFeign.save(finBillApplicationDto);
return resultBean;
}
@ -740,9 +781,9 @@ public class InvoicedService {
public ResultBean submitInvoicedInfo(SubmitInvoicedInfoDto dto) {
ResultBean rb = ResultBean.fireFail();
if (dto.getShowBtn()){
if (dto.getShowBtn()) {
List<VinListDto> vinList = dto.getVinList();
if (vinList == null || vinList.size() == 0){
if (vinList == null || vinList.size() == 0) {
return rb.setMsg("车辆不能为空");
}
}

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

@ -25,13 +25,11 @@
*********************************************************/
package com.yxt.anrui.terminal.biz.autoservice.retrieval;
import com.yxt.anrui.buscenter.api.busdeliveredapply.DeliveredDetailsVo2;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoDto;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoVo;
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.anrui.terminal.api.autoservice.retrieval.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -152,4 +150,59 @@ public class AppBusDeliveredApplyRest implements AppBusDeliveredApplyFeign {
public ResultBean<List<CarListVo>> appendRetrievalCars(DeliveredDetailssQuery query) {
return appBusDeliveredApplyService.appendRetrievalCars(query);
}
@Override
public ResultBean<PagerVo<DeliveredPageVo2>> getRetrievalNotListQk(PagerQuery<DeliveredPageQuery> pagerQuery) {
return appBusDeliveredApplyService.getRetrievalNotListQk(pagerQuery);
}
@Override
public ResultBean<DeliveredDetailsVoQk2> getRetrievalApplyInfoQk(AppDeliveredDetailssQuery query) {
return appBusDeliveredApplyService.getRetrievalApplyInfoQk(query);
}
@Override
public ResultBean<PagerVo<DeliveredApplyPageVo2>> getRetrievalApplyListQk(PagerQuery<DeliveredApplyPageQuery> pagerQuery) {
return appBusDeliveredApplyService.getRetrievalApplyListQk(pagerQuery);
}
@Override
public ResultBean<DeliveredDetailsVoQk2> getRetrievalDetailQk(String sid) {
return appBusDeliveredApplyService.getRetrievalDetailQk(sid);
}
@Override
public ResultBean<String> saveRetrievalApplyInfoQk(DeliveredApplyDto2 deliveredApplyDto) {
return appBusDeliveredApplyService.saveRetrievalApplyInfoQk(deliveredApplyDto);
}
@Override
public ResultBean submitRetrievalInfoQk(SubmitRetrievalDto2 dto) {
return appBusDeliveredApplyService.submitRetrievalInfoQk(dto);
}
@Override
public ResultBean agreeRetrievalInfoQk(CompleteRetrievalDto dto) {
return appBusDeliveredApplyService.agreeRetrievalInfoQk(dto);
}
@Override
public ResultBean rejectRetrievalInfoQk(RetrievalTaskQuery query) {
return appBusDeliveredApplyService.rejectRetrievalInfoQk(query);
}
@Override
public ResultBean recallRetrievalInfoQk(RetrievalTaskQuery query) {
return appBusDeliveredApplyService.recallRetrievalInfoQk(query);
}
@Override
public ResultBean stopRetrievalInfoQk(RetrievalTaskQuery query) {
return appBusDeliveredApplyService.stopRetrievalInfoQk(query);
}
@Override
public ResultBean<String> getFlowOperateTitleQk(RetrievalQuery query) {
return appBusDeliveredApplyService.getFlowOperateTitleQk(query);
}
}

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

@ -48,11 +48,6 @@ import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDet
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderIsDTKPJVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileDto;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -60,10 +55,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.autoservice.invoiced.*;
import com.yxt.anrui.terminal.api.autoservice.invoiced.VinListVo;
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.anrui.terminal.api.autoservice.retrieval.flowable.*;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
@ -755,4 +747,150 @@ public class AppBusDeliveredApplyService {
List<CarListVo> voList = Optional.ofNullable(selectInfo.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CarListVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<PagerVo<DeliveredPageVo2>> getRetrievalNotListQk(PagerQuery<DeliveredPageQuery> pagerQuery) {
ResultBean<PagerVo<DeliveredPageVo2>> rb = ResultBean.fireFail();
PagerQuery<AppBusDeliveredPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<BusDeliveredPageVo2>> retrievalNotList = busDeliveredFeign.getRetrievalNotListQk(pq);
PagerVo<DeliveredPageVo2> vo = CoverUtils.selectPagerVo(retrievalNotList.getData());
return rb.success().setData(vo);
}
public ResultBean<DeliveredDetailsVoQk2> getRetrievalApplyInfoQk(AppDeliveredDetailssQuery query) {
ResultBean<DeliveredDetailsVoQk2> rb = ResultBean.fireFail();
DeliveredDetailsVoQk2 vo = new DeliveredDetailsVoQk2();
AppDeliveredDetailsQuery appDeliveredDetailsQuery = new AppDeliveredDetailsQuery();
BeanUtils.copyProperties(query, appDeliveredDetailsQuery);
ResultBean<DeliveredDetailsVo2> resultBean = busDeliveredFeign.qkGetRetrievalApplyInfo(appDeliveredDetailsQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
DeliveredDetailsVo2 appDeliveredDetailsVo = resultBean.getData();
BeanUtils.copyProperties(appDeliveredDetailsVo, vo);
return rb.success().setData(vo).setCode(resultBean.getCode()).setMsg(resultBean.getMsg());
}
public ResultBean<PagerVo<DeliveredApplyPageVo2>> getRetrievalApplyListQk(PagerQuery<DeliveredApplyPageQuery> pagerQuery) {
ResultBean<PagerVo<DeliveredApplyPageVo2>> rb = ResultBean.fireFail();
PagerQuery<AppDeliveredApplyPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppDeliveredApplyPageVo>> retrievalApplyList = busDeliveredApplyFeign.getRetrievalApplyListQk(pq);
PagerVo<DeliveredApplyPageVo2> vo = CoverUtils.selectPagerVo(retrievalApplyList.getData());
return rb.success().setData(vo);
}
public ResultBean<DeliveredDetailsVoQk2> getRetrievalDetailQk(String sid) {
ResultBean<DeliveredDetailsVoQk2> rb = ResultBean.fireFail();
DeliveredDetailsVoQk2 vo = new DeliveredDetailsVoQk2();
ResultBean<DeliveredDetailsVo2> resultBean = busDeliveredApplyFeign.qkGetRetrievalApplyDetails(sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
DeliveredDetailsVo2 appDeliveredApplyInfoVo = resultBean.getData();
BeanUtil.copyProperties(appDeliveredApplyInfoVo, vo);
return rb.success().setData(vo);
}
public ResultBean<String> saveRetrievalApplyInfoQk(DeliveredApplyDto2 deliveredApplyDto) {
UnBusDeliveredApplyDto dto = new UnBusDeliveredApplyDto();
BeanUtil.copyProperties(deliveredApplyDto, dto);
ResultBean<String> resultBean = busDeliveredApplyFeign.unSave(dto);
return resultBean;
}
public ResultBean submitRetrievalInfoQk(SubmitRetrievalDto2 dto) {
ResultBean rb = ResultBean.fireFail();
SubmitUnDeliveredApplyDto submitDeliveredApplyDto = new SubmitUnDeliveredApplyDto();
BeanUtil.copyProperties(dto, submitDeliveredApplyDto);
ResultBean resultBean = busDeliveredApplyFeign.submitUnDeliveredApply(submitDeliveredApplyDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeRetrievalInfoQk(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.qkComplete(deliveredApplyCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectRetrievalInfoQk(RetrievalTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApplyTaskQuery taskQuery = new BusDeliveredApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busDeliveredApplyFeign.qkReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallRetrievalInfoQk(RetrievalTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApplyTaskQuery taskQuery = new BusDeliveredApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busDeliveredApplyFeign.qkRevokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopRetrievalInfoQk(RetrievalTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusDeliveredApplyTaskQuery taskQuery = new BusDeliveredApplyTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busDeliveredApplyFeign.qkBreakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitleQk(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.qkGetPreviousNodesForReject(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.qkGetNextNodesForSubmit(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);
}
}
Loading…
Cancel
Save