Browse Source

欠款出库

master
dimengzhe 2 years ago
parent
commit
810ed1e3ac
  1. 33
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeign.java
  2. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredFeignFallback.java
  3. 46
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredPageVo2.java
  4. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/UnDeliverQuery.java
  5. 22
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/VinListVo2.java
  6. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApply.java
  7. 41
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeign.java
  8. 40
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/BusDeliveredApplyFeignFallback.java
  9. 119
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeliveredapply/DeliveredDetailsVo2.java
  10. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.java
  11. 68
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredMapper.xml
  12. 22
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredRest.java
  13. 449
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdelivered/BusDeliveredService.java
  14. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyMapper.xml
  15. 45
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyRest.java
  16. 840
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java
  17. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  18. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  19. 13
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  20. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  21. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  22. 64
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeign.java
  23. 60
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/AppBusDeliveredApplyFeignFallback.java
  24. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/CarListVo2.java
  25. 87
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyDto2.java
  26. 32
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredApplyPageVo2.java
  27. 112
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredDetailsVoQk2.java
  28. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/DeliveredPageVo2.java
  29. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/VinListVo2.java
  30. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/retrieval/flowable/SubmitRetrievalDto2.java
  31. 61
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyRest.java
  32. 156
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java

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<>();
}

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

@ -102,7 +102,10 @@ public interface BusDeliveredMapper extends BaseMapper<BusDelivered> {
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<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);
}
}

449
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)) {
@ -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();

840
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);
}
@ -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-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -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"),

64
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("手机端-出库开票信息 详情")
@ -154,4 +150,62 @@ public interface AppBusDeliveredApplyFeign {
@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;
}

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