diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java index 80eb561494..e76f8b8d30 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java @@ -82,4 +82,7 @@ public interface BaseManufactorSubscriptionFeign { @PostMapping("/pictureUpload") public ResultBean pictureUpload(@RequestParam("sid") String sid, @RequestParam(value = "file") MultipartFile file); + @ApiOperation("作废") + @PostMapping("/cancel") + ResultBean cancel(@RequestParam("sid") String sid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java index 1a9aaa8cf2..2990f76696 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java @@ -93,4 +93,9 @@ public class BaseManufactorSubscriptionFeignFallback implements BaseManufactorSu public ResultBean pictureUpload(String sid, MultipartFile file) { return null; } + + @Override + public ResultBean cancel(String sid) { + return null; + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java index e5b806480a..006001371d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java @@ -33,6 +33,8 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * Project: anrui-base(基础信息)
* File: BaseTrailerFeign.java
@@ -100,6 +102,17 @@ public interface BaseTrailerFeign { @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); + /** + * 根据主车SID获取记录 + * + * @return + */ + @ApiOperation("根据主车SID获取记录") + @GetMapping("/getByVehSid") + @ResponseBody + public ResultBean> getByVehSid(@RequestParam("vehSid") String vehSid); + + /** * 挂车检索分页列表 * @@ -120,7 +133,7 @@ public interface BaseTrailerFeign { @ApiOperation("查询主车的挂车信息/上装信息") @GetMapping("/trailerList") - ResultBean trailerList(@RequestParam("vinSid") String vinSid,@RequestParam("contractNo") String contractNo); + ResultBean trailerList(@RequestParam("vinSid") String vinSid, @RequestParam("contractNo") String contractNo); @ApiOperation("根据挂车车架号获取一条记录") @GetMapping("/fetchByGcVinNo/{gcVinNo}") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java index 25bbd2ea18..605fb4282a 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java @@ -74,6 +74,11 @@ public class BaseTrailerFeignFallback implements BaseTrailerFeign { return null; } + @Override + public ResultBean> getByVehSid(String vehSid) { + return null; + } + @Override public ResultBean> searchPage(PagerQuery pagerQuery) { return null; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java index 0d063eada3..8715a3dab5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java @@ -122,4 +122,6 @@ public class BusVehicleOrder extends BaseEntity { @ApiModelProperty(value = "认款日期") private String subscriptionDate; + + private String lockingNum; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java index 388b237dd1..357c37020c 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java @@ -139,4 +139,9 @@ public interface BusVehicleOrderFeign { @ResponseBody ResultBean selectApplySz(@RequestParam("sid")String sid); + @ApiOperation("作废采购订单") + @PostMapping("/cancal") + @ResponseBody + ResultBean cancal(@RequestParam("sid")String sid); + } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java index 546b744ce1..aed6676aae 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java @@ -134,5 +134,10 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign { return null; } + @Override + public ResultBean cancal(String sid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java index 045e1516c0..be4ae2a121 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java @@ -232,22 +232,22 @@ public class BaseDiscountpackageApplyService extends MybatisBaseService saveDiscountPackageApplyInfo(AppDiscountpackageApplyDto dto) { ResultBean rb = ResultBean.fireFail(); //根据用户sid获取staffSid - // ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); -// if (!userVoResultBean.getSuccess()) { -// return rb.setMsg(userVoResultBean.getMsg()); -// } -// //根据staffSid获取用户的组织全路径 -// ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); -// if (!staffOrgResultBean.getSuccess()) { -// return rb.setMsg(staffOrgResultBean.getMsg()); -// } -// String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); String dtoSid = dto.getSid(); List appDiscountpackagelists = dto.getDiscountPackageList(); if (StringUtils.isBlank(dtoSid)) { BaseDiscountpackageApplyDto baseDiscountpackageApplyDto = new BaseDiscountpackageApplyDto(); BeanUtil.copyProperties(dto, baseDiscountpackageApplyDto); - baseDiscountpackageApplyDto.setOrgSidPath(dto.getOrgSidPath()); + baseDiscountpackageApplyDto.setOrgSidPath(orgSidPath); baseDiscountpackageApplyDto.setCreateBySid(dto.getUserSid()); String sid = this.insertByDto(baseDiscountpackageApplyDto); if (null != appDiscountpackagelists && appDiscountpackagelists.size() > 0) { diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java index 2bf6924633..d6a523c512 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java @@ -145,4 +145,9 @@ public class BaseManufactorSubscriptionRest implements BaseManufactorSubscriptio baseManufactorSubscriptionService.updateWitMatUrl(data.getFilePath(), sid); return rb.success().setMsg("上传成功"); } + + @Override + public ResultBean cancel(String sid) { + return baseManufactorSubscriptionService.cancel(sid); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java index adbebb308e..3bc4b01d00 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java @@ -43,7 +43,6 @@ import com.yxt.anrui.base.common.enums.ManPurOrderType; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; -import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; @@ -149,6 +148,9 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); @@ -330,4 +333,19 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService { @Select("select * from base_trailer where vinNo = #{vinNo} and sid !=#{sid}") BaseTrailerDetailsVo fetchByGcVinNoAndSid(@Param("vinNo") String vinNo, @Param("sid") String sid); + + @Select("select * from base_trailer where vehSid = #{vehSid}") + List getByVehSid(@Param("vehSid") String vehSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java index 479b919da6..25ea52e8ad 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java @@ -36,6 +36,8 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * Project: anrui-base(基础信息)
* File: BaseTrailerFeignFallback.java
@@ -96,6 +98,11 @@ public class BaseTrailerRest implements BaseTrailerFeign { return baseTrailerService.fetchDetailsBySid(sid); } + @Override + public ResultBean> getByVehSid(String vehSid) { + return baseTrailerService.getByVehSid(vehSid); + } + @Override public ResultBean> searchPage(PagerQuery pagerQuery) { ResultBean> rb = ResultBean.fireFail(); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java index 5d8e72cdac..750e0e96bc 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java @@ -937,4 +937,10 @@ public class BaseTrailerService extends MybatisBaseService> getByVehSid(String vehSid) { + ResultBean> rb = ResultBean.fireFail(); + List baseTrailers = baseMapper.getByVehSid(vehSid); + return rb.success().setData(baseTrailers); + } } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java index bc7fc8415c..8ebcfa242a 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java @@ -227,4 +227,9 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign { return busVehicleOrderService.selectApplySz(sid); } + @Override + public ResultBean cancal(String sid) { + return busVehicleOrderService.cancal(sid); + } + } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java index c9ba3aec2b..670dde012f 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java @@ -154,27 +154,6 @@ public class BusVehicleOrderService extends MybatisBaseService> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid); - List data = sysStaffOrgListByStaffSid.getData(); - String orgSidPath = ""; - for (SysStaffOrgVo datum : data) { - orgSidPath = datum.getOrgSidPath(); - String[] split = orgSidPath.split("/"); - for (String s : split) { - ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(s); - SysOrganizationVo data1 = sysOrganizationVoResultBean.getData(); - Integer isDept = data1.getIsDept(); - String psid = data1.getPsid(); - if (isDept != null) { - if (isDept == 0 && !psid.equals(0)) { - orgSidPath = s; - break; - } - } - } - } - query.setUseOrgSid(orgSidPath);*/ QueryWrapper qw = createQueryWrapper(query); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); @@ -572,4 +551,17 @@ public class BusVehicleOrderService extends MybatisBaseService busItemvos; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java index 0b42d8350b..53ba3e1514 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java @@ -37,7 +37,7 @@ public class BusHandoverDetailVo implements Vo { private String recipient; @ApiModelProperty("备注") private String remarks; - @ApiModelProperty("接收车辆确认书照片") + @ApiModelProperty("交付车辆信息") private List items; @ApiModelProperty("接收车辆确认书照片") private List receiveCarImages; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailsVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailsVo.java index 114c0faee2..0c4c94f393 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailsVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailsVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.buscenter.api.bushandover; +import com.fasterxml.jackson.annotation.JsonProperty; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -37,13 +38,14 @@ public class BusHandoverDetailsVo implements Vo { private List carList = new ArrayList<>(); @ApiModelProperty("交车资料确认单") private List entrustConfirmImages = new ArrayList<>(); - @ApiModelProperty("委托人身份证(正反面)") - private List idCardImages = new ArrayList<>(); + // @ApiModelProperty("委托人身份证(正反面)") +// private List idCardImages = new ArrayList<>(); @ApiModelProperty("出门证照片") private List exitTicketImages = new ArrayList<>(); - @ApiModelProperty("委托提车授权书") + @ApiModelProperty("委托提车授权书+委托人身份证(正反面)") private List entrustImages = new ArrayList<>(); @ApiModelProperty("接收车辆确认书照片") private List receiveCarImages = new ArrayList<>(); - + private String procInstId; + private String taskId; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java index 128c7907b4..5c4883bbb3 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java @@ -1,13 +1,21 @@ package com.yxt.anrui.buscenter.api.bushandover; +import com.yxt.anrui.buscenter.api.bushandover.app.*; +import com.yxt.anrui.buscenter.api.bushandover.flow.*; +import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemsQuery; +import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemsVo; +import com.yxt.anrui.buscenter.api.flow.FlowTaskVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.List; /** @@ -53,15 +61,42 @@ public interface BusHandoverFeign { @ResponseBody public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); - @ApiOperation("上传照片") - @PostMapping("/uploadPicture") + @ApiOperation("交车确认更新备注图片") + @PostMapping("/deliveryVehicle") @ResponseBody - public ResultBean uploadPicture(@RequestBody BusHandoverDetailDto dto); + public ResultBean deliveryVehicle(@RequestBody BusHandoverDetailDto dto); @ApiOperation("打印接收车辆确认书、出门证、交车资料确认单") @PostMapping("/createPdf") ResultBean> createPdf(@RequestParam("sid") String sid); + /*******************************移动端*******************************************************************/ + @ApiOperation("获取交车交付信息") + @PostMapping("/getDeliveryBill") + ResultBean getDeliveryBill(@RequestBody AppDeliveryConQuery query); + + @ApiOperation("保存确认交付信息") + @PutMapping("/saveDeliveryBill") + @ResponseBody + ResultBean saveDeliverybill(@RequestBody AppDeliveryDto dto) throws Exception; + + @ApiOperation("获取交车确认列表") + @PostMapping("/appgetDeliveryConfirmList") + ResultBean> appgetDeliveryConfirmList(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("挂车保存确认交付信息") + @PutMapping("/saveGcBill") + @ResponseBody + ResultBean saveGcBill(@RequestBody AppGcBillDto dto); + + @ApiOperation("保存挂车交车信息") + @PostMapping("/saveDeliveryConfirmGcInfo") + ResultBean saveDeliveryConfirmGcInfo(@RequestBody BusHandoverInitDto dto); + + + @ApiOperation("获取挂车交车确认信息") + @GetMapping("/getDeliveryConfirmGcInfo") + ResultBean getDeliveryConfirmGcInfo(@RequestParam("sid") String sid); /* @ApiOperation("根据条件分页查询数据的列表") @@ -105,9 +140,9 @@ public interface BusHandoverFeign { @GetMapping("/initInsert/{sid}") public ResultBean initInsert(@PathVariable("sid") String sid);*/ - @ApiOperation("保存确认交付信息") - @PutMapping("/saveDeliverybill") - ResultBean> saveDeliverybill(@RequestBody BusHandoverDto dto); +// @ApiOperation("保存确认交付信息") +// @PutMapping("/saveDeliverybill") +// ResultBean> saveDeliverybill(@RequestBody BusHandoverDto dto); @ApiOperation("获取交车确认列表") @PostMapping("/getDeliveryConfirmList") @@ -119,9 +154,43 @@ public interface BusHandoverFeign { @ApiOperation("保存交车信息") @PostMapping("/saveDeliveryConfirmInfo") - ResultBean saveDeliveryConfirmInfo(@RequestBody BusHandoverInitDto dto); + ResultBean saveDeliveryConfirmInfo(@RequestBody BusHandoverInitDto dto); @ApiOperation("交车信息详情") @GetMapping("/details") ResultBean details(@RequestParam("sid") String sid); + + + /******************流程接口**************************************/ + @ApiOperation("交车确认提交") + @PostMapping("submit") + public ResultBean submitRecordApplication(@RequestBody @Valid SubmitBusHandoverDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody BusHandoverCompleteDto dto); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BusHandoverTaskQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "reject") + public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody BusHandoverTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@RequestBody BusHandoverTaskQuery query); + + @ApiOperation(value = "流程历史流转记录") + @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}") + public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java index 886b474b80..bb78cae055 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java @@ -1,5 +1,8 @@ package com.yxt.anrui.buscenter.api.bushandover; +import com.yxt.anrui.buscenter.api.bushandover.app.*; +import com.yxt.anrui.buscenter.api.bushandover.flow.*; +import com.yxt.anrui.buscenter.api.flow.FlowTaskVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -43,7 +46,7 @@ public class BusHandoverFeignFallback implements BusHandoverFeign { } @Override - public ResultBean uploadPicture(BusHandoverDetailDto dto) { + public ResultBean deliveryVehicle(BusHandoverDetailDto dto) { return null; } @@ -53,10 +56,40 @@ public class BusHandoverFeignFallback implements BusHandoverFeign { } @Override - public ResultBean> saveDeliverybill(BusHandoverDto dto) { + public ResultBean getDeliveryBill(AppDeliveryConQuery query) { return null; } + @Override + public ResultBean saveDeliverybill(AppDeliveryDto dto) { + return null; + } + + @Override + public ResultBean> appgetDeliveryConfirmList(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean saveGcBill(AppGcBillDto dto) { + return null; + } + + @Override + public ResultBean saveDeliveryConfirmGcInfo(BusHandoverInitDto dto) { + return null; + } + + @Override + public ResultBean getDeliveryConfirmGcInfo(String sid) { + return null; + } + +// @Override +// public ResultBean> saveDeliverybill(BusHandoverDto dto) { +// return null; +// } + @Override public ResultBean> getDeliveryConfirmList(PagerQuery pagerQuery) { return null; @@ -77,6 +110,46 @@ public class BusHandoverFeignFallback implements BusHandoverFeign { return null; } + @Override + public ResultBean submitRecordApplication(SubmitBusHandoverDto dto) { + return null; + } + + @Override + public ResultBean complete(BusHandoverCompleteDto dto) { + return null; + } + + @Override + public ResultBean revokeProcess(BusHandoverTaskQuery query) { + return null; + } + + @Override + public ResultBean taskReject(BusHandoverTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(BusHandoverTaskQuery query) { + return null; + } + + @Override + public ResultBean flowRecord(String procInsId) { + return null; + } + + @Override + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + return null; + } + /*@Override public ResultBean> listPage(PagerQuery pq){ ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java index a38252b38e..b69c5eaf8f 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java @@ -15,20 +15,20 @@ import java.util.List; public class BusHandoverInitDto implements Dto { private static final long serialVersionUID = -8878130476850685438L; + private String userSid; private String remarks; - private String sid; private List carList; @ApiModelProperty("交车资料确认单") private List entrustConfirmImages; - @ApiModelProperty("委托人身份证(正反面)") - private List idCardImages; +// @ApiModelProperty("委托人身份证(正反面)") +// private List idCardImages; @ApiModelProperty("接收车辆确认书照片") private List receiveCarImages; - @ApiModelProperty("委托提车授权书") + @ApiModelProperty("委托提车授权书+委托人身份证(正反面)") private List entrustImages; @ApiModelProperty("出门证照片") private List exitTicketImages; - + private String orgPath; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListVo.java index e51a9d62e3..4b60b58e5c 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListVo.java @@ -4,6 +4,7 @@ import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -17,9 +18,9 @@ public class BusHandoverInitListVo implements Vo { private String vinNo; @ApiModelProperty("保单照片") - private List policyImages; + private List policyImages = new ArrayList<>(); @ApiModelProperty("交车照片") - private List deliveryImages; + private List deliveryImages = new ArrayList<>(); private String vinSid; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitVo.java index d0e74fe802..a2739f93a8 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitVo.java @@ -31,7 +31,7 @@ public class BusHandoverInitVo implements Vo { private String deliverAddress; @ApiModelProperty("接收车辆确认书照片") private List receiveCarImages = new ArrayList<>(); - @ApiModelProperty("委托提车授权书") + @ApiModelProperty("委托提车授权书+委托人身份证(正反面)") private List entrustImages = new ArrayList<>(); @ApiModelProperty("交付车辆") private List carList = new ArrayList<>(); @@ -43,13 +43,14 @@ public class BusHandoverInitVo implements Vo { private String remarks; @ApiModelProperty("交车资料确认单") private List entrustConfirmImages = new ArrayList<>(); - @ApiModelProperty("委托人身份证(正反面)") - private List idCardImages = new ArrayList<>(); @ApiModelProperty("出门证照片") private List exitTicketImages = new ArrayList<>(); @ApiModelProperty("用户sid") private String userSid; @ApiModelProperty("组织机构sid") private String orgPath; - + @ApiModelProperty("流程实例id") + private String procInsId; + @ApiModelProperty("组织机构sid") + private String taskId; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConDto.java new file mode 100644 index 0000000000..a098293fd7 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConDto.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/6/12 9:47 + */ +@Data +public class AppDeliveryConDto { + @ApiModelProperty("车架号") + @JsonProperty("vin") + private String vinNo; + + @ApiModelProperty("资料key") + @JsonProperty("manifestKey") + private String itemKey; + + @ApiModelProperty("资料value") + @JsonProperty("manifest") + private String itemValue; + + private String recordSid; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConListVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConListVo.java new file mode 100644 index 0000000000..39d149660f --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConListVo.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/6/9 17:28 + */ +@Data +public class AppDeliveryConListVo implements Vo { + @ApiModelProperty("车架号") + private String vinNo; + + @ApiModelProperty("资料key") + private String itemKey; + + @ApiModelProperty("资料value") + private String itemValue; + + @ApiModelProperty("记录sid") + private String sid; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConQuery.java new file mode 100644 index 0000000000..a975493ece --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConQuery.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/6/9 17:26 + */ +@Data +public class AppDeliveryConQuery implements Query { + private List list; + + private String userSid; + + private String orgPath; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConVo.java new file mode 100644 index 0000000000..257f591cd0 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConVo.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/6/9 17:27 + */ +@Data +public class AppDeliveryConVo implements Vo { + @ApiModelProperty("接收人") + private String name; + @ApiModelProperty("身份证号") + private String idNumber; + @ApiModelProperty("联系电话") + private String mobile; + @ApiModelProperty("交付日期") + private String date; + @ApiModelProperty("交付地点") + private String address; + @ApiModelProperty("交付地点key") + private String addressKey; + @ApiModelProperty("定位经纬度") + private String location; + @ApiModelProperty("定位经纬度描述") + private String locationStr; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("组织全路径") + private String orgPath; + private List vinList; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryDto.java new file mode 100644 index 0000000000..4fdd0b9df0 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryDto.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/6/12 9:47 + */ +@Data +public class AppDeliveryDto implements Dto { + @ApiModelProperty("联系电话") + private String mobile; + @ApiModelProperty("交付地点key") + @JsonProperty("addressKey") + private String deliverAddressKey; + @JsonProperty("address") + private String deliverAddress; + @ApiModelProperty("定位经纬度") + @JsonProperty("location") + private String locationCode; + @ApiModelProperty("定位经纬度描述") + private String locationStr; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("接收人") + @JsonProperty("name") + private String recipient; + @ApiModelProperty("身份证号") + @JsonProperty("idNumber") + private String idNo; + @ApiModelProperty("车辆交付日期") + @JsonProperty("date") + private String deliverDate; + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("taskId") + private String taskId; // taskId + private List vinList; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListQuery.java new file mode 100644 index 0000000000..edc10c3947 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListQuery.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/6/12 11:48 + */ +@Data +public class AppDeliveryListQuery implements Query { + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("客户名称/合同编号") + private String name; + + @ApiModelProperty("orgPath") + private String orgPath; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListVo.java new file mode 100644 index 0000000000..5b6e541a9c --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListVo.java @@ -0,0 +1,50 @@ +package com.yxt.anrui.buscenter.api.bushandover.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/6/12 11:47 + */ +@Data +public class AppDeliveryListVo implements Vo { + @ApiModelProperty("记录sid") + private String sid; + @ApiModelProperty("合同编号") + @JsonProperty("contractId") + private String contractNo; + @ApiModelProperty("流程状态") + @JsonProperty("state") + private String nodeState; + @ApiModelProperty("交车状态") + @JsonProperty("deliveryState") + private String handoverStateValue; + @ApiModelProperty("客户名称") + @JsonProperty("name") + private String customerName; + @ApiModelProperty("车型别名") + @JsonProperty("model") + private String modelName; + @ApiModelProperty("交车数量") + @JsonProperty("number") + private String carNum; + @ApiModelProperty("是否显示交车确认") + private boolean showUpdate; + @ApiModelProperty("是否显示挂车") + private boolean showGcBtn; + @ApiModelProperty("确认资料下载地铁") + @JsonProperty("fileResps") + private String filePath; + + @ApiModelProperty("确认挂车资料下载地址") + @JsonProperty("fileResps2") + private String trailerFilePath; + @ApiModelProperty("显示挂车下载按钮") + private Boolean showGcDownload; + @ApiModelProperty("挂车确认按钮") + private boolean showGcBtn2; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverCompleteDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverCompleteDto.java new file mode 100644 index 0000000000..57e94ccf6c --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverCompleteDto.java @@ -0,0 +1,42 @@ +package com.yxt.anrui.buscenter.api.bushandover.flow; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 9:01 + * @Description + */ +@Data +public class BusHandoverCompleteDto implements Dto { + private static final long serialVersionUID = 3240453987322803352L; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + @NotBlank(message = "参数错误:comment") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; +// @ApiModelProperty("调账车辆列表") +// private List baseInternalPurchaseVehicles; // 调账车辆列表 +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverTaskQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverTaskQuery.java new file mode 100644 index 0000000000..c0c6902616 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.buscenter.api.bushandover.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/6/28 17:29 + * @Description 终止、撤回、驳回查询参数 + */ +@Data +public class BusHandoverTaskQuery implements Query { + private static final long serialVersionUID = -4006020771892400451L; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; + /*@ApiModelProperty("用户Id") + private String userId; + @ApiModelProperty("节点") + private String targetKey; + @ApiModelProperty("流程变量信息") + private Map values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeQuery.java new file mode 100644 index 0000000000..2aad664038 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeQuery.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.buscenter.api.bushandover.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.Map; + +/** + * @Author dimengzhe + * @Date 2022/6/28 10:42 + * @Description + */ +@Data +public class GetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeVo.java new file mode 100644 index 0000000000..bfbc8b752e --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.buscenter.api.bushandover.flow; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/6/28 11:09 + * @Description + */ +@Data +public class GetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/SubmitBusHandoverDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/SubmitBusHandoverDto.java new file mode 100644 index 0000000000..c02f5c9f44 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/SubmitBusHandoverDto.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.buscenter.api.bushandover.flow; +import com.yxt.anrui.buscenter.api.bushandover.BusHandoverInitDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitBusHandoverDto extends BusHandoverInitDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java index b710fed081..b68ae6e2ca 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java @@ -25,5 +25,6 @@ public class BusHandoverItemForDeliveryDto implements Dto { private List policyPhoto; @ApiModelProperty("是否是燃气车 0不是1是") private String isFuelVehicle; // 是否是燃气车 0不是1是 - + @ApiModelProperty("材料是否完全") + private String completeState; // 是否是燃气车 0不是1是 } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItems.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItems.java index 34dc0e455e..c8e756dbb2 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItems.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItems.java @@ -26,22 +26,18 @@ public class BusHandoverItems extends BaseEntity { private static final long serialVersionUID = 1L; private String handoverSid; - private String modelSid; private String modelName; - private String vinSid; - private String vinNo; private String itemKey; - private String itemValue; - private String handoverPhoto; - private String policyPhoto; @ApiModelProperty("是否是燃气车 0不是1是") private String isFuelVehicle; // 是否是燃气车 0不是1是 @ApiModelProperty("资料是否完全0不全1全") private String completeState; + @ApiModelProperty("主车还是挂车") + private String vehivelOrTrailer; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitFeign.java index 8ccde90213..874867f501 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitFeign.java @@ -36,7 +36,7 @@ public interface BusHandoverWaitFeign { - /**********************************************************************************************************************/ + /***********************************************移动端***********************************************************************/ @ApiOperation("待交车车辆列表") @PostMapping("/pagerList") @ResponseBody @@ -46,4 +46,5 @@ public interface BusHandoverWaitFeign { @PostMapping("/save") @ResponseBody ResultBean save(@RequestBody BusHandoverWaitDto dto); + } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitListVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitListVo.java index fd3926ff98..0921eef1d0 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitListVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitListVo.java @@ -13,4 +13,5 @@ public class BusHandoverWaitListVo implements Vo { private static final long serialVersionUID = 4081821318088390025L; private String vinNo; private String vinSid; + private String sid; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitVo.java index 7fba3b1f6c..422ae2ef1b 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitVo.java @@ -18,11 +18,8 @@ public class BusHandoverWaitVo implements Vo { @ApiModelProperty("合同编号") private String contractNo; - @ApiModelProperty("合同状态") - private String contractStateValue; - - @ApiModelProperty("合同sid") - private String contractSid; + @ApiModelProperty("车型") + private String modelName; @ApiModelProperty("客户名称") private String customerName; @@ -30,5 +27,8 @@ public class BusHandoverWaitVo implements Vo { @ApiModelProperty("付款方式") private String payTypeValue; + @ApiModelProperty("业务状态") + private String payStateValue; + private List vinList = new ArrayList<>(); } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java index f36a7eda0d..9e03afcfc8 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java @@ -16,11 +16,13 @@ import com.yxt.anrui.buscenter.api.busdiscountpackagehandoverlist.BusDiscountpac import com.yxt.anrui.buscenter.api.busdiscountpackagehandoverlist.BusDiscountpackageHandoverListDto; import com.yxt.anrui.buscenter.biz.buscenterfile.BuscenterFileService; import com.yxt.anrui.buscenter.biz.busdiscountpackagehandoverlist.BusDiscountpackageHandoverListService; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingVo; import com.yxt.anrui.portal.api.sysrole.SysRoleFeign; import com.yxt.anrui.portal.api.sysrole.SysRoleVo; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoDetailsVo; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUser; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.common.base.config.component.DocPdfComponent; @@ -77,10 +79,147 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService createQueryWrapper(BusDiscountpackageHandoverQuery query) { +// private QueryWrapper createQueryWrapper(BusDiscountpackageHandoverQuery query) { +// QueryWrapper qw = new QueryWrapper<>(); +// //层级筛选 +// //======================= +// PrivilegeQuery privilegeQuery = new PrivilegeQuery(); +// privilegeQuery.setOrgPath(query.getOrgSidPath()); +// privilegeQuery.setMenuSid(query.getMenuSid()); +// privilegeQuery.setMenuUrl(query.getMenuUrl()); +// privilegeQuery.setUserSid(query.getUserSid()); +// ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); +// if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { +// //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) +// String orgSidPath = query.getOrgSidPath(); +// 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("orgSidPath", orgSidPath); +// } else if ("2".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i2); +// qw.like("orgSidPath", orgSidPath); +// } else if ("3".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i3); +// qw.like("orgSidPath", orgSidPath); +// } else if ("4".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i4); +// qw.like("orgSidPath", orgSidPath); +// } else if ("5".equals(orgLevelKey)) { +// qw.eq("createBySid", query.getUserSid()); +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// //======================= +// +// qw.eq("useOrgSid", query.getUseOrgSid()); +// qw.eq("isDelete", 0); +// if (StringUtils.isNotBlank(query.getCustomerName())) { +// qw.like("customerName", query.getCustomerName()); +// } +// if (StringUtils.isNotBlank(query.getContractNo())) { +// qw.like("contractNo", query.getContractNo()); +// } +// if (StringUtils.isNotBlank(query.getRecName())) { +// qw.like("recName", query.getRecName()); +// } +// if (StringUtils.isNotBlank(query.getRecUserSid())) { +// qw.eq("recUserSid", query.getRecUserSid()); +// if (null != query.getState()) { +// if (query.getState() == 3) { +// qw.eq("transferStateKey", "004"); +// } else { +// qw.eq("transferStateKey", "003"); +// } +// } +// } else if (null != query.getState()) { +// if (query.getState() == 3) { +// qw.eq("transferStateKey", "004"); +// } else { +// qw.ne("transferStateKey", "004"); +// } +// } +// String createStartTime = query.getCreateStartTime(); +// String createEndTime = query.getCreateEndTime(); +// qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). +// apply(StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" +// ); +// return qw; +// } + + /** + * 查询优惠包交接管理分页列表 + * + * @param pq + * @return + */ + public PagerVo listPage(PagerQuery pq) { + + //从传入参数中取查询条件 + BusDiscountpackageHandoverQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); - qw.eq("useOrgSid", query.getUseOrgSid()); - qw.eq("isDelete", 0); + //层级筛选 + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgSidPath()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgSidPath(); + 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("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + if (query.getState() == 3) { + qw.eq("transferStateKey", "004"); + } else { + qw.eq("transferStateKey", "003"); + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + if (!"5".equals(orgLevelKey)) { + if (query.getState() == 3) { + qw.eq("transferStateKey", "004"); + } else { + qw.ne("transferStateKey", "004"); + } + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= if (StringUtils.isNotBlank(query.getCustomerName())) { qw.like("customerName", query.getCustomerName()); } @@ -90,54 +229,12 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService= date_format('" + createStartTime + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" ); - return qw; - } - - /** - * 查询优惠包交接管理分页列表 - * - * @param pq - * @return - */ - public PagerVo listPage(PagerQuery pq) { - - //从传入参数中取查询条件 - BusDiscountpackageHandoverQuery query = pq.getParams(); - //取到当前登录用户的sid - String userSid = query.getUserSid(); - //根据当前用户sid查询用户角色 - List roleVoList = sysRoleFeign.fetchByUserSid(userSid).getData(); - //判断当前登录用户角色是否为销售专员 - if (null != roleVoList) { - for (SysRoleVo sysRoleVo : roleVoList) { - //如果当前登录用户角色包含分公司销售专员,将当前用户sid保存到查询条件中 - if ("分公司销售专员".equals(sysRoleVo.getName())) { - query.setRecUserSid(userSid); - } - } - } - QueryWrapper qw = createQueryWrapper(query); + /****************************************************************************************************************/ IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); List records = pagging.getRecords(); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.java index 6cf7318b5b..8370d906fc 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.java @@ -5,10 +5,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.buscenter.api.bushandover.*; +import com.yxt.anrui.buscenter.api.bushandover.app.AppDeliveryListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * Project: anrui-buscenter(业务中心)
@@ -39,6 +41,10 @@ public interface BusHandoverMapper extends BaseMapper { int selectNum(String bill); + IPage selectAppListPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int updateFlowFiled(Map map); + /*//@Update("update bus_handover set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml index dd1ca8c473..60d3f407e7 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml @@ -34,24 +34,24 @@ @@ -64,7 +64,11 @@ bh.deliverDate, bh.deliverAddress, bh.idNo, - bh.remarks + bh.remarks, + bh.createBySid as userSid, + bh.orgSidPath as orgPath, + bh.procInstId as procInsId, + bh.taskId from bus_handover bh where bh.sid = #{sid} @@ -74,6 +78,21 @@ set remarks = #{remarks} where sid = #{sid} + + UPDATE bus_handover + SET nodeState=#{nodeState} + , nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + @@ -91,9 +112,9 @@ + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java index 729159edc4..e2d982a9cc 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java @@ -1,6 +1,12 @@ package com.yxt.anrui.buscenter.biz.bushandover; +import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.buscenter.api.bushandover.*; +import com.yxt.anrui.buscenter.api.bushandover.app.*; +import com.yxt.anrui.buscenter.api.bushandover.flow.*; +import com.yxt.anrui.buscenter.api.flow.FlowTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -53,8 +59,8 @@ public class BusHandoverRest implements BusHandoverFeign { } @Override - public ResultBean uploadPicture(BusHandoverDetailDto dto) { - return busHandoverService.uploadPicture(dto); + public ResultBean deliveryVehicle(BusHandoverDetailDto dto) { + return busHandoverService.deliveryVehicle(dto); } @Override @@ -62,12 +68,42 @@ public class BusHandoverRest implements BusHandoverFeign { return busHandoverService.createPdf(sid); } + @Override + public ResultBean getDeliveryBill(AppDeliveryConQuery query) { + return busHandoverService.getDeliveryBill(query); + } + + @Override + public ResultBean saveDeliverybill(AppDeliveryDto dto) throws Exception { + return busHandoverService.appsaveDeliverybill(dto); + } + + @Override + public ResultBean> appgetDeliveryConfirmList(PagerQuery pagerQuery) { + return busHandoverService.appgetDeliveryConfirmList(pagerQuery); + } + + @Override + public ResultBean saveGcBill(AppGcBillDto dto) { + return busHandoverService.saveGcBill(dto); + } @Override - public ResultBean> saveDeliverybill(BusHandoverDto dto) { - return busHandoverService.saveDeliverybill(dto); + public ResultBean saveDeliveryConfirmGcInfo(BusHandoverInitDto dto) { + return busHandoverService.saveDeliveryConfirmGcInfo(dto); } + @Override + public ResultBean getDeliveryConfirmGcInfo(String sid) { + return busHandoverService.getDeliveryConfirmGcInfo(sid); + } + + +// @Override +// public ResultBean> saveDeliverybill(BusHandoverDto dto) { +// return busHandoverService.saveDeliverybill(dto); +// } + @Override public ResultBean> getDeliveryConfirmList(PagerQuery pagerQuery) { ResultBean> rb = ResultBean.fireFail(); @@ -81,7 +117,7 @@ public class BusHandoverRest implements BusHandoverFeign { } @Override - public ResultBean saveDeliveryConfirmInfo(BusHandoverInitDto dto) { + public ResultBean saveDeliveryConfirmInfo(BusHandoverInitDto dto) { return busHandoverService.saveDeliveryConfirmInfo(dto); } @@ -89,6 +125,51 @@ public class BusHandoverRest implements BusHandoverFeign { public ResultBean details(String sid) { return busHandoverService.details(sid); } + + /*******************************流程接口*****************************************/ + + @Override + public ResultBean submitRecordApplication(SubmitBusHandoverDto dto) { + return busHandoverService.submitRecordApplication(dto); + } + + @Override + public ResultBean complete(BusHandoverCompleteDto dto) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); + bv.setModelId(ProcDefEnum.BUSHANDOVER.getProDefId()); + return busHandoverService.complete(bv); + } + + @Override + public ResultBean revokeProcess(BusHandoverTaskQuery query) { + return busHandoverService.revokeProcess(query); + } + + @Override + public ResultBean taskReject(BusHandoverTaskQuery query) { + return busHandoverService.taskReject(query); + } + + @Override + public ResultBean breakProcess(BusHandoverTaskQuery query) { + return busHandoverService.breakProcess(query); + } + + @Override + public ResultBean flowRecord(String procInsId) { + return busHandoverService.flowRecord(procInsId); + } + + @Override + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + return busHandoverService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + return busHandoverService.getPreviousNodesForReject(query); + } /*@Autowired private FileUploadComponent fileUploadComponent; @Autowired diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java index 9df60a0e20..2e2dc47a5e 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java @@ -2,12 +2,16 @@ package com.yxt.anrui.buscenter.biz.bushandover; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigFeign; import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigSelectVo; -import com.yxt.anrui.base.api.basevehicle.BaseExistingCarListVo; +import com.yxt.anrui.base.api.basetrailer.BaseTrailer; +import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; +import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo; +import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; import com.yxt.anrui.base.api.commoncontract.CommonContract; @@ -19,13 +23,17 @@ import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum; import com.yxt.anrui.buscenter.api.bushandover.*; +import com.yxt.anrui.buscenter.api.bushandover.app.*; +import com.yxt.anrui.buscenter.api.bushandover.flow.BusHandoverTaskQuery; +import com.yxt.anrui.buscenter.api.bushandover.flow.GetNodeQuery; +import com.yxt.anrui.buscenter.api.bushandover.flow.GetNodeVo; +import com.yxt.anrui.buscenter.api.bushandover.flow.SubmitBusHandoverDto; import com.yxt.anrui.buscenter.api.bushandoveritems.*; import com.yxt.anrui.buscenter.api.bushandoverpreparevehicle.BusHandoverPrepareVehicle; import com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWait; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo; -import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusVehicleDataHandoverDetailsVo; -import com.yxt.anrui.buscenter.api.busvehiclehandoverdata.BusVehicleHandoverDataDetailsVo; import com.yxt.anrui.buscenter.api.busvehicleinformation.BusVehicleInformationVo; import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandoverDetailsListVo; import com.yxt.anrui.buscenter.biz.buscenterfile.BuscenterFileService; @@ -39,6 +47,13 @@ import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice; import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoDetailsVo; @@ -47,6 +62,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUser; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; import com.yxt.common.base.config.component.DocPdfComponent; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; @@ -55,14 +72,19 @@ import com.yxt.common.base.utils.WordConvertUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.io.File; import java.io.InputStream; import java.text.MessageFormat; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.*; @@ -84,6 +106,8 @@ import java.util.stream.Collectors; @Service public class BusHandoverService extends MybatisBaseService { + @Autowired + private FlowableFeign flowableFeign; @Autowired private SysStaffOrgFeign sysStaffOrgFeign; @Autowired @@ -121,6 +145,19 @@ public class BusHandoverService extends MybatisBaseService> saveDeliverybill(BusHandoverDto dto) { ResultBean> rb = ResultBean.fireFail(); @@ -573,6 +610,14 @@ public class BusHandoverService extends MybatisBaseService listVos = busHandoverItemsService.getDeliveryConfirmInfo(sid); @@ -584,9 +629,16 @@ public class BusHandoverService extends MybatisBaseService stringList = Arrays.asList(handoverPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); v.setDeliveryImages(stringList); } - if (StringUtils.isNotBlank(policyPhoto)) { - List policyPhotoList = Arrays.asList(policyPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); - v.setPolicyImages(policyPhotoList); + //保单照片 + BusHandoverPrepareVehicle busHandoverPrepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(v.getVinSid()); + if (null != busHandoverPrepareVehicle) { + List fileList = buscenterFileService.selectByLinkSid(busHandoverPrepareVehicle.getSid(), BuscenterFileEnum.HANDOVER_POLICY.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List policyPhotoList = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + v.setPolicyImages(policyPhotoList); + } } vo.setModelName(v.getModelName()); } @@ -599,20 +651,27 @@ public class BusHandoverService extends MybatisBaseService entrustImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); vo.setEntrustImages(entrustImages); } - //委托人身份证(正反面) - fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.IDCARD_IMAGES.getAttachType()); - fileList.removeAll(Collections.singleton(null)); - if (!fileList.isEmpty()) { - List idCardImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); - vo.setIdCardImages(idCardImages); - } +// //委托提车授权书 +// fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.ENTRUST_IMAGES.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List entrustImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); +// vo.setEntrustImages(entrustImages); +// } +// //委托人身份证(正反面) +// fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.IDCARD_IMAGES.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List idCardImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); +// vo.setIdCardImages(idCardImages); +// } //交车资料确认单 fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getAttachType()); fileList.removeAll(Collections.singleton(null)); @@ -632,48 +691,52 @@ public class BusHandoverService extends MybatisBaseService saveDeliveryConfirmInfo(BusHandoverInitDto dto) { ResultBean rb = ResultBean.fireFail(); BusHandover busHandover = fetchBySid(dto.getSid()); if (busHandover == null) { return rb.setMsg("该记录不存在"); } -// busHandover.setRemarks(dto.getRemarks()); + busHandover.setRemarks(dto.getRemarks()); List carList = dto.getCarList(); carList.removeAll(Collections.singleton(null)); if (!carList.isEmpty()) { + for (BusHandoverInitListDto busHandoverInitListDto : carList) { String vinSid = busHandoverInitListDto.getVinSid(); List policyImagesList = busHandoverInitListDto.getPolicyImages(); List deliveryImagesList = busHandoverInitListDto.getDeliveryImages(); String policyImages = ""; String deliveryImages = ""; - if (!policyImagesList.isEmpty()) { - policyImages = String.join(",", policyImagesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); - } if (!deliveryImagesList.isEmpty()) { deliveryImages = String.join(",", deliveryImagesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); } busHandoverItemsService.updateByMainSid(dto.getSid(), vinSid, policyImages, deliveryImages); + if (!policyImagesList.isEmpty()) { + BusHandoverPrepareVehicle busHandoverPrepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(busHandoverInitListDto.getVinSid()); + if (null != busHandoverPrepareVehicle) { + buscenterFileService.delByLinkSidOrType(busHandoverPrepareVehicle.getSid(), BuscenterFileEnum.HANDOVER_POLICY.getAttachType()); + buscenterFileService.saveAll(busHandoverPrepareVehicle.getSid(), policyImagesList, BuscenterFileEnum.HANDOVER_POLICY.getAttachType()); + } + } } } //删除附件表中关于该linkSid的文件 - buscenterFileService.deleteByLinkSid(dto.getSid()); + buscenterFileService.delByLinkSidOrType(dto.getSid(), BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getAttachType()); + buscenterFileService.delByLinkSidOrType(dto.getSid(), BuscenterFileEnum.RECEIVE_CAR_IMAGES.getAttachType()); + buscenterFileService.delByLinkSidOrType(dto.getSid(), BuscenterFileEnum.ENTRUST_IDCARD_IMAGES.getAttachType()); + buscenterFileService.delByLinkSidOrType(dto.getSid(), BuscenterFileEnum.EXIT_TICKET_IMAGES.getAttachType()); List entrustConfirmImages = dto.getEntrustConfirmImages(); if (!entrustConfirmImages.isEmpty()) { buscenterFileService.saveAll(dto.getSid(), entrustConfirmImages, BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getAttachType()); } - List idCardImages = dto.getIdCardImages(); - if (!idCardImages.isEmpty()) { - buscenterFileService.saveAll(dto.getSid(), idCardImages, BuscenterFileEnum.IDCARD_IMAGES.getAttachType()); - } List receiveCarImages = dto.getReceiveCarImages(); if (!receiveCarImages.isEmpty()) { buscenterFileService.saveAll(dto.getSid(), receiveCarImages, BuscenterFileEnum.RECEIVE_CAR_IMAGES.getAttachType()); } List entrustImages = dto.getEntrustImages(); if (!entrustImages.isEmpty()) { - buscenterFileService.saveAll(dto.getSid(), entrustImages, BuscenterFileEnum.ENTRUST_IMAGES.getAttachType()); + buscenterFileService.saveAll(dto.getSid(), entrustImages, BuscenterFileEnum.ENTRUST_IDCARD_IMAGES.getAttachType()); } List exitTicketImages = dto.getExitTicketImages(); if (!exitTicketImages.isEmpty()) { @@ -682,7 +745,7 @@ public class BusHandoverService extends MybatisBaseService details(String sid) { @@ -691,6 +754,14 @@ public class BusHandoverService extends MybatisBaseService listVos = busHandoverItemsService.getDeliveryConfirmInfo(sid); listVos.removeAll(Collections.singleton(null)); @@ -701,9 +772,20 @@ public class BusHandoverService extends MybatisBaseService stringList = Arrays.asList(handoverPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); v.setDeliveryImages(stringList); } - if (StringUtils.isNotBlank(policyPhoto)) { - List policyPhotoList = Arrays.asList(policyPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); - v.setPolicyImages(policyPhotoList); +// if (StringUtils.isNotBlank(policyPhoto)) { +// List policyPhotoList = Arrays.asList(policyPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); +// v.setPolicyImages(policyPhotoList); +// } + //保单照片 + BusHandoverPrepareVehicle busHandoverPrepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(v.getVinSid()); + if (null != busHandoverPrepareVehicle) { + List fileList = buscenterFileService.selectByLinkSid(busHandoverPrepareVehicle.getSid(), BuscenterFileEnum.HANDOVER_POLICY.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List policyPhotoList = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + v.setPolicyImages(policyPhotoList); + } } vo.setModelName(v.getModelName()); } @@ -716,20 +798,28 @@ public class BusHandoverService extends MybatisBaseService entrustImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); vo.setEntrustImages(entrustImages); } - //委托人身份证(正反面) - fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.IDCARD_IMAGES.getAttachType()); - fileList.removeAll(Collections.singleton(null)); - if (!fileList.isEmpty()) { - List idCardImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); - vo.setIdCardImages(idCardImages); - } +// //委托提车授权书 +// fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.ENTRUST_IMAGES.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List entrustImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); +// vo.setEntrustImages(entrustImages); +// } +// //委托人身份证(正反面) +// fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.IDCARD_IMAGES.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List idCardImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); +// vo.setIdCardImages(idCardImages); +// } + //交车资料确认单 fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getAttachType()); fileList.removeAll(Collections.singleton(null)); @@ -906,16 +996,20 @@ public class BusHandoverService extends MybatisBaseService busItemvos = dto.getBusItemvos(); for (BusHandoverItemForDeliveryDto busItemvo : busItemvos) { BusHandoverItems items = new BusHandoverItems(); BeanUtil.copyProperties(busItemvo, items); items.setHandoverSid(sid); - busHandoverItemsService.insert(items); + int insert = busHandoverItemsService.insert(items); + if (insert > 0) { + //逻辑删除待交车车辆列表中勾选车辆 + busHandoverWaitService.deleteByVinSid(dto.getContractNo(), busItemvo.getVinSid()); + } } - //打印pdf List filePaths = createPdf(entity.getSid()).getData(); List fileList = new ArrayList<>(); @@ -994,12 +1088,14 @@ public class BusHandoverService extends MybatisBaseService resultBean = crmCustomerTempFeign.fetchSid(customerSid); - if (resultBean.getSuccess()) { - if (null != resultBean.getData()) { - CrmCustomerTempVo data = resultBean.getData(); - if (StringUtils.isNotBlank(data.getIDNumber())) { - pdfVo.setIdNumber(data.getIDNumber()); + if (StringUtils.isNotBlank(customerSid)) { + ResultBean resultBean = crmCustomerTempFeign.fetchSid(customerSid); + if (resultBean.getSuccess()) { + if (null != resultBean.getData()) { + CrmCustomerTempVo data = resultBean.getData(); + if (StringUtils.isNotBlank(data.getIDNumber())) { + pdfVo.setIdNumber(data.getIDNumber()); + } } } } @@ -1288,15 +1384,20 @@ public class BusHandoverService extends MybatisBaseService stringList = Arrays.asList(handoverPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); detailsVo.setHandoverPhoto(stringList); } - if (StringUtils.isNotBlank(policyPhoto)) { - List policyPhotoList = Arrays.asList(policyPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); - detailsVo.setPolicyPhoto(policyPhotoList); + BusHandoverPrepareVehicle busHandoverPrepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(v.getVinSid()); + if (null != busHandoverPrepareVehicle) { + List fileList = buscenterFileService.selectByLinkSid(busHandoverPrepareVehicle.getSid(), BuscenterFileEnum.HANDOVER_POLICY.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List policyPhotoList = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + detailsVo.setHandoverPhoto(policyPhotoList); + } } items.add(detailsVo); } @@ -1339,7 +1440,7 @@ public class BusHandoverService extends MybatisBaseService uploadPicture(BusHandoverDetailDto dto) { + public ResultBean deliveryVehicle(BusHandoverDetailDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = dto.getSid(); BusHandover entity = fetchBySid(sid); @@ -1349,7 +1450,6 @@ public class BusHandoverService extends MybatisBaseService 0) { StringBuffer sbHandoverPhoto = new StringBuffer(); - StringBuffer sbPolicyPhoto = new StringBuffer(); for (BusHandoverItemListDetailsDto itemDto : dto.getItems()) { BusHandoverItems items = busHandoverItemsService.fetchBySid(itemDto.getSid()); if (!itemDto.getHandoverPhoto().isEmpty()) { @@ -1360,15 +1460,18 @@ public class BusHandoverService extends MybatisBaseService policyPhoto = itemDto.getPolicyPhoto(); + if (!policyPhoto.isEmpty()) { + buscenterFileService.saveAll(busHandoverPrepareVehicle.getSid(), policyPhoto, BuscenterFileEnum.HANDOVER_POLICY.getAttachType()); + } } - sbPolicyPhoto.delete(sbPolicyPhoto.length() - 1, sbPolicyPhoto.length()); - items.setPolicyPhoto(sbPolicyPhoto.toString()); } - busHandoverItemsService.updateById(items); + } } //删除附件表中关于该linkSid的文件 @@ -1392,7 +1495,980 @@ public class BusHandoverService extends MybatisBaseService getDeliveryBill(AppDeliveryConQuery query) { + ResultBean rb = ResultBean.fireFail(); + AppDeliveryConVo vo = new AppDeliveryConVo(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + vo.setDate(sdf.format(new Date())); + vo.setUserSid(query.getUserSid()); + vo.setOrgPath(query.getOrgPath()); + List voList = new ArrayList<>(); + List sids = query.getList(); + sids.removeAll(Collections.singleton(null)); + for (String sid : sids) { + //遍历sid从待交车列表中查询信息 + BusHandoverWait handoverWait = busHandoverWaitService.fetchBySid(sid); + if (handoverWait != null) { + AppDeliveryConListVo itemVo = new AppDeliveryConListVo(); + StringBuffer sb = new StringBuffer(); + StringBuffer sbKey = new StringBuffer(); + //从交车准备中查询交车资料 + BusHandoverPrepareVehicle prepareVehicle = busHandoverPrepareVehicleService.fetchDetailsByVinSid(handoverWait.getVinSid()); + if (null != prepareVehicle) { + if (prepareVehicle.getInvoicingState() > 0) { + sb.append("发票").append("、"); + sbKey.append("001").append("、"); + } + if (prepareVehicle.getCertificateState() > 0) { + sb.append("合格证").append("、"); + sbKey.append("002").append("、"); + } + if (prepareVehicle.getOnBoardDataState() > 0) { + BusVehicleInformationHandoverDetailsListVo data = busVehicleInformationHandoverService.detailsByVinSid(handoverWait.getVinSid()).getData(); + if (null != data) { + if (data.getInformations().size() > 0) { + List informations = data.getInformations(); + for (BusVehicleInformationVo information : informations) { + sb.append(information.getVehicleHandoverData()); + if (StringUtils.isNotBlank(information.getVehicleHandoverData())) { + sb.append("、"); + } + } + if (informations.size() < 2) { + for (BusVehicleInformationVo information : informations) { + //车钥匙 + if (Integer.parseInt(information.getVehicleKeyNum()) > 0) { + sbKey.append("003").append("、"); + } + //一致性证书 + if (Integer.parseInt(information.getCertificate()) > 0) { + sbKey.append("004").append("、"); + } + if (Integer.parseInt(information.getApplyForm()) > 0) { + sbKey.append("005").append("、"); + } + if (Integer.parseInt(information.getManual()) > 0) { + sbKey.append("006").append("、"); + } + if (Integer.parseInt(information.getEnvironmentalList()) > 0) { + sbKey.append("007").append("、"); + } + if (Integer.parseInt(information.getDirverCard()) > 0) { + sbKey.append("008").append("、"); + } + if (Integer.parseInt(information.getGasCertificate()) > 0) { + if ("0".equals(data.getIsFuelVehicle())) { + sbKey.append("009").append("、"); + } + } + } + } else { + if ("0".equals(data.getIsFuelVehicle())) { + sbKey.append("003、004、005、006、007、008、009").append("、"); + } else { + sbKey.append("003、004、005、006、007、008").append("、"); + } + } + } + } + } + sb.delete(sb.length() - 1, sb.length()); + sbKey.delete(sbKey.length() - 1, sbKey.length()); + itemVo.setItemValue(sb.toString()); + itemVo.setItemKey(sbKey.toString()); + itemVo.setVinNo(handoverWait.getVinNo()); + itemVo.setSid(sid); + } + voList.add(itemVo); + } + } + vo.setVinList(voList); + return rb.success().setData(vo); + } + + /** + * 移动端保存确认交付信息 + * + * @param dto + * @return + */ + public ResultBean appsaveDeliverybill(AppDeliveryDto dto) throws Exception { + ResultBean rb = ResultBean.fireFail(); + BusHandover busHandover = new BusHandover(); + BeanUtil.copyProperties(dto, busHandover); + //流程状态 + busHandover.setNodeState("待提交"); + //交车状态 + busHandover.setHandoverStateKey("001"); + busHandover.setHandoverStateValue("未交车"); + busHandover.setCreateBySid(dto.getUserSid()); + busHandover.setOrgSidPath(dto.getOrgPath()); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + busHandover.setUseOrgSid(userOrgSid); + //交车资料确认单编号 + String billNo = getApplyCode(userOrgSid); + busHandover.setBillNo(billNo); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + busHandover.setUseOrgName(organizationVoData.getName()); + } + } + } + if (!CollectionUtils.isEmpty(dto.getVinList())) { + List vinList = dto.getVinList(); + for (AppDeliveryConDto deliveryConDto : vinList) { + String recordSid = deliveryConDto.getRecordSid(); + BusHandoverWait handoverWait = busHandoverWaitService.fetchBySid(recordSid); + //交车数量 + busHandover.setCarNum(String.valueOf(vinList.size())); + //合同号 + busHandover.setContractNo(handoverWait.getContractNo()); + //客户名 + busHandover.setCustomerName(handoverWait.getCustomerName()); + //客户sid + busHandover.setCustomerSid(handoverWait.getCustomerSid()); + //付款方式 + busHandover.setPayTypeKey(handoverWait.getPayTypeKey()); + busHandover.setPayTypeValue(handoverWait.getPayTypeValue()); + //车型 + busHandover.setModelName(handoverWait.getModelName()); + //业务员sid 业务订单sid + CommonContract contract = commonContractFeign.selectByNo(handoverWait.getContractNo()).getData(); + if (null != contract) { + if (StringUtils.isNotBlank(contract.getBusSid())) { + busHandover.setOrderSid(contract.getBusSid()); + } + if (StringUtils.isNotBlank(contract.getStaffSid())) { + busHandover.setStaffSid(contract.getStaffSid()); + } + } + BusHandoverItems items = new BusHandoverItems(); + items.setItemKey(deliveryConDto.getItemKey()); + items.setItemValue(deliveryConDto.getItemValue()); + items.setVinNo(deliveryConDto.getVinNo()); + items.setVinSid(handoverWait.getVinSid()); + items.setHandoverSid(busHandover.getSid()); + items.setModelSid(handoverWait.getModelSid()); + items.setModelName(handoverWait.getModelName()); + BusVehicleInformationHandoverDetailsListVo data = busVehicleInformationHandoverService.detailsByVinSid(handoverWait.getVinSid()).getData(); + if (null != data) { + items.setIsFuelVehicle(data.getIsFuelVehicle()); + } + if (items.getIsFuelVehicle().equals("0")) { + if (items.getItemKey().equals("001、002、003、004、005、006、007、008、009")) { + items.setCompleteState("1"); + } else { + items.setCompleteState("0"); + } + } else { + if (items.getItemKey().equals("001、002、003、004、005、006、007、008")) { + items.setCompleteState("1"); + } else { + items.setCompleteState("0"); + } + } + items.setVehivelOrTrailer("主车"); + busHandoverItemsService.insert(items); + //逻辑删除待准备交车列表 + busHandoverWaitService.deleteByVinSid(handoverWait.getContractNo(), handoverWait.getVinSid()); + } + } + baseMapper.insert(busHandover); + ResultBean> pdf = createPdf(busHandover.getSid()); + String path = ""; + if (pdf.getSuccess()) { + //打印pdf + List filePaths = pdf.getData(); + List fileList = new ArrayList<>(); + if (!filePaths.isEmpty()) { + for (String filePath : filePaths) { + File file = new File(filePath); + fileList.add(file); + } + } + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String targetPath = docPdfComponent.getUploadTemplateUrl(); + File file = WordConvertUtils.mulFile2One(fileList, targetPath + dateStr + seconds + "交车确认.pdf"); + if (fileList.size() <= 0) { + path = null; + } else { + for (File fileDelete : fileList) { + fileDelete.delete(); + } + path = dateStr + seconds + "交车确认.pdf"; + } + } + BusHandover entity = fetchBySid(busHandover.getSid()); + entity.setFilePath(path); + baseMapper.updateById(entity); + String urlPrefix = docPdfComponent.getPrefixTemplateUrl(); + return rb.success().setData(urlPrefix + path); + } + /** + * app交车确认列表 + * + * @param pagerQuery + * @return + */ + public ResultBean> appgetDeliveryConfirmList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + AppDeliveryListQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("createBySid", query.getUserSid()); + qw.eq("isDelete", 0); + if (StringUtils.isNotBlank(query.getName())) { + qw.and(wrapper -> wrapper.like("contractNo", query.getName()).or().like("customerName", query.getName())); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.selectAppListPageVo(page, qw); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + String urlPrefix = docPdfComponent.getPrefixTemplateUrl(); + if (records.size() > 0) { + for (AppDeliveryListVo record : records) { + if (record.getNodeState().equals("待提交") || record.getNodeState().equals("销售专员提交申请")) { + record.setShowUpdate(true); + } else { + record.setShowUpdate(false); + } + if (record.getHandoverStateValue().equals("已交车")) { + List deliveryConfirmInfo = busHandoverItemsService.getDeliveryConfirmInfo(record.getSid()); + deliveryConfirmInfo.removeAll(Collections.singleton(null)); + if (!deliveryConfirmInfo.isEmpty()) { + for (BusHandoverInitListVo vo : deliveryConfirmInfo) { + List trailers = baseTrailerFeign.getByVehSid(vo.getVinSid()).getData(); + trailers.removeAll(Collections.singleton(null)); + if (!trailers.isEmpty() && trailers.size() > 0) { + record.setShowGcBtn(true); + } else { + record.setShowGcBtn(false); + } + } + } + } else { + record.setShowGcBtn(false); + } + if (StringUtils.isNotBlank(record.getTrailerFilePath())) { + record.setShowGcBtn(false); + record.setShowGcBtn2(true); + record.setShowGcDownload(true); + } + record.setFilePath(urlPrefix + record.getFilePath()); + record.setTrailerFilePath(urlPrefix + record.getTrailerFilePath()); + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitBusHandoverDto dto, BusHandover busHandover) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (busHandover != null) { + String businessTaskId = busHandover.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + } + return r; + } + + /** + * 提交申请 + * + * @param dto + * @return + */ + public ResultBean submitRecordApplication(SubmitBusHandoverDto dto) { + ResultBean rb = ResultBean.fireFail(); + BusHandover busHandover = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, busHandover); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + ResultBean resultBean = saveDeliveryConfirmInfo(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + String businessSid = resultBean.getData(); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值 + Map variables = BeanUtil.beanToMap(dto); + Map appMap = new HashMap<>(); + //若有网关,则赋值网关中判断的字段。 + boolean isloans = false; + //去查询是否为自营非担保/担保担保贷款 + if (StringUtils.isNotBlank(busHandover.getOrderSid())) { + String orderSid = busHandover.getOrderSid(); + BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid); + if (null != salesOrder) { + if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) { + if ("2".equals(salesOrder.getPayTypeKey())) { + isloans = true; + } else { + if ("2".equals(salesOrder.getFinancePlan())) { + ResultBean> listResultBean = loanSolutionsFeign.selectByOrderSid(orderSid); + if (listResultBean.getSuccess()) { + List data = listResultBean.getData(); + data.removeAll(Collections.singleton(null)); + if (data.size() > 0 && !data.isEmpty()) { + for (LoanSolutions solutions : data) { + if (StringUtils.isNotBlank(solutions.getTypeKey())) { + if ("01".equals(solutions.getTypeKey())) { + isloans = true; + } + } + } + } + } + } + } + } + } + } + variables.put("isloans", isloans); + variables.put("businessSid", businessSid); + appMap.put("sid", businessSid); + variables.put("app", appMap); + BusHandover busHandover1 = fetchBySid(businessSid); + //用户的部门全路径sid + bv.setOrgSidPath(busHandover1.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setFormVariables(variables); + //流程定义id + bv.setModelId(ProcDefEnum.BUSHANDOVER.getProDefId()); + if (r == 1) { + //流程定义id + bv.setModelId(ProcDefEnum.BUSHANDOVER.getProDefId()); + ResultBean voResultBean = flowableFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + Future future1 = pool.submit(() -> { + //极光推送 + // busVehicleApply.set(fetchBySid(businessSid)); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("交车确认申请"); + SysUserVo userVo = sysUserFeign.fetchBySid(busHandover.getCreateBySid()).getData(); + if (userVo != null) { + if (StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + messageFlowableQuery.setMsgTitle("交车确认"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(busHandover.getTaskId()); + bv.setTaskDefKey(busHandover.getNodeSid()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + /** + * 办理 + * + * @param bv + * @return + */ + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + BusHandover busHandover = this.fetchBySid(businessSid); + if (bv.getTaskId().equals(busHandover.getTaskId())) { + bv.setOrgSidPath(busHandover.getOrgSidPath()); + ResultBean resultBean = flowableFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + BusHandover updateStateEntity = fetchBySid(businessSid); + updateStateEntity.setHandoverStateKey("002"); + updateStateEntity.setHandoverStateValue("已交车"); + baseMapper.updateById(updateStateEntity); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + /** + * 撤回流程 + * + * @param query + * @return + */ + public ResultBean revokeProcess(BusHandoverTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + //根据业务sid查询交车确认 + BusHandover busHandover = fetchBySid(query.getBusinessSid()); + String businessTaskId = busHandover.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + /** + * 驳回 + * + * @param query + * @return + */ + public ResultBean taskReject(BusHandoverTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + BusHandover busHandover = fetchBySid(businessSid); + if (busHandover == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = busHandover.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + boolean isloans = false; + //去查询是否为自营非担保/担保担保贷款 + if (StringUtils.isNotBlank(busHandover.getOrderSid())) { + String orderSid = busHandover.getOrderSid(); + BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid); + if (null != salesOrder) { + if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) { + if ("2".equals(salesOrder.getPayTypeKey())) { + isloans = true; + } else { + if ("2".equals(salesOrder.getFinancePlan())) { + ResultBean> listResultBean = loanSolutionsFeign.selectByOrderSid(orderSid); + if (listResultBean.getSuccess()) { + List data = listResultBean.getData(); + data.removeAll(Collections.singleton(null)); + if (data.size() > 0 && !data.isEmpty()) { + for (LoanSolutions solutions : data) { + if (StringUtils.isNotBlank(solutions.getTypeKey())) { + if ("01".equals(solutions.getTypeKey())) { + isloans = true; + } + } + } + } + } + } + } + } + } + } + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isloans", isloans); + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + busHandover = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = busHandover.getProcInstId(); + messageFlowVo.setProcInsId(procId); + messageFlowVo.setProcDefId(busHandover.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("交车确认申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextName = listResultBean.getData().get(0).getName_(); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { + if ("销售专员提交申请".equals(nextName)) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + SysUserVo userVo = sysUserFeign.fetchBySid(busHandover.getCreateBySid()).getData(); + if (userVo != null) { + if (StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + } + messageFlowableQuery.setMsgTitle("交车确认"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + /** + * 获取下一个环节 + * + * @param query + * @return + */ + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + BusHandover busHandover = fetchBySid(query.getBusinessSid()); + boolean isloans = false; + //去查询是否为自营非担保/担保担保贷款 + if (StringUtils.isNotBlank(busHandover.getOrderSid())) { + String orderSid = busHandover.getOrderSid(); + BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid); + if (null != salesOrder) { + if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) { + if ("2".equals(salesOrder.getPayTypeKey())) { + isloans = true; + } else { + if ("2".equals(salesOrder.getFinancePlan())) { + ResultBean> listResultBean = loanSolutionsFeign.selectByOrderSid(orderSid); + if (listResultBean.getSuccess()) { + List data = listResultBean.getData(); + data.removeAll(Collections.singleton(null)); + if (data.size() > 0 && !data.isEmpty()) { + for (LoanSolutions solutions : data) { + if (StringUtils.isNotBlank(solutions.getTypeKey())) { + if ("01".equals(solutions.getTypeKey())) { + isloans = true; + } + } + } + } + } + } + } + } + } + } + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isloans", isloans); + bv.setFormVariables(variables); + bv.setModelId(busHandover.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List 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); + } + + /** + * 终止流程 + * + * @param query + * @return + */ + public ResultBean breakProcess(BusHandoverTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + BusHandover busHandover = fetchBySid(query.getBusinessSid()); + String businessTaskId = busHandover.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(busHandover.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + /** + * 获取上一环节 + * + * @param query + * @return + */ + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + BusHandover busHandover = fetchBySid(query.getBusinessSid()); + boolean isloans = false; + //去查询是否为自营非担保/担保担保贷款 + if (StringUtils.isNotBlank(busHandover.getOrderSid())) { + String orderSid = busHandover.getOrderSid(); + BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid); + if (null != salesOrder) { + if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) { + if ("2".equals(salesOrder.getPayTypeKey())) { + isloans = true; + } else { + if ("2".equals(salesOrder.getFinancePlan())) { + ResultBean> listResultBean = loanSolutionsFeign.selectByOrderSid(orderSid); + if (listResultBean.getSuccess()) { + List data = listResultBean.getData(); + data.removeAll(Collections.singleton(null)); + if (data.size() > 0 && !data.isEmpty()) { + for (LoanSolutions solutions : data) { + if (StringUtils.isNotBlank(solutions.getTypeKey())) { + if ("01".equals(solutions.getTypeKey())) { + isloans = true; + } + } + } + } + } + } + } + } + } + } + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isloans", isloans); + bv.setFormVariables(variables); + bv.setModelId(busHandover.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List 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 flowRecord(String procInsId) { + return flowTaskFeign.businessFlowRecord(procInsId); + } + + /** + * 挂车保存交付信息 + * + * @param dto + * @return + */ + public ResultBean saveGcBill(AppGcBillDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + BusHandover busHandover = fetchBySid(sid); + busHandover.setTrailerAddress(dto.getTrailerAddress()); + busHandover.setTrailerIdNo(dto.getTrailerIdNo()); + busHandover.setTrailerDeliverDate(new Date()); + busHandover.setTrailerMobile(dto.getTrailerMobile()); + busHandover.setTrailerRecipient(dto.getTrailerRecipient()); + baseMapper.updateById(busHandover); + List info = busHandoverItemsService.getDeliveryConfirmInfo(sid); + info.removeAll(Collections.singleton(null)); + List itemsList = new ArrayList<>(); + if (info.size() > 0) { + for (BusHandoverInitListVo vo : info) { + List baseTrailers = baseTrailerFeign.getByVehSid(vo.getVinSid()).getData(); + baseTrailers.removeAll(Collections.singleton(null)); + if (baseTrailers.size() > 0) { + for (BaseTrailer baseTrailer : baseTrailers) { + BusHandoverItems items = new BusHandoverItems(); + items.setVehivelOrTrailer("挂车"); + items.setHandoverSid(sid); + items.setVinSid(baseTrailer.getSid()); + items.setVinNo(baseTrailer.getVinNo()); + itemsList.add(items); + } + } + } + } + if (!itemsList.isEmpty()) { + for (BusHandoverItems items : itemsList) { + busHandoverItemsService.insert(items); + } + } + BusHandover handoverPdf = fetchBySid(sid); + BusReceiveVehiclePdfVo pdfVo = new BusReceiveVehiclePdfVo(); + pdfVo.setUseOrgName(handoverPdf.getUseOrgName()); + String staffSid = handoverPdf.getStaffSid(); + ResultBean voResultBean = sysStaffinfoFeign.fetchBySid(staffSid); + if (voResultBean.getSuccess()) { + if (null != voResultBean.getData()) { + SysStaffinfoDetailsVo data = voResultBean.getData(); + if (StringUtils.isNotBlank(data.getName())) { + pdfVo.setStaffName(data.getName()); + } + } + } + pdfVo.setContractNo(handoverPdf.getContractNo()); + pdfVo.setCustomerName(handoverPdf.getCustomerName()); + String customerSid = handoverPdf.getCustomerSid(); + if (StringUtils.isNotBlank(customerSid)) { + ResultBean resultBean = crmCustomerTempFeign.fetchSid(customerSid); + if (resultBean.getSuccess()) { + if (null != resultBean.getData()) { + CrmCustomerTempVo data = resultBean.getData(); + if (StringUtils.isNotBlank(data.getIDNumber())) { + pdfVo.setIdNumber(data.getIDNumber()); + } + } + } + } + pdfVo.setRecipient(handoverPdf.getTrailerRecipient()); + pdfVo.setIdNo(handoverPdf.getTrailerIdNo()); + pdfVo.setDeliverDate(handoverPdf.getTrailerDeliverDate()); + pdfVo.setDeliverAddress(handoverPdf.getTrailerAddress()); + List items = busHandoverItemsService.getItemsListByMainSid(sid).getData(); + items.removeAll(Collections.singleton(null)); + List listPdfVos = new ArrayList<>(); + if (!items.isEmpty()) { + int sortNo = 1; + for (BusHandoverItems item : items) { + if ("挂车".equals(item.getVehivelOrTrailer())) { + BusReceiveVehicleListPdfVo listPdfVo = new BusReceiveVehicleListPdfVo(); + listPdfVo.setEngineVo("-"); + listPdfVo.setSortNo(String.valueOf(sortNo++)); + listPdfVo.setVinNo(item.getVinNo()); + listPdfVos.add(listPdfVo); + List trailers = baseTrailerFeign.getByVehSid(item.getVinSid()).getData(); + trailers.removeAll(Collections.singleton(null)); + if (!trailers.isEmpty()) { + for (BaseTrailer trailer : trailers) { + if (StringUtils.isNotBlank(trailer.getTrailerModelSid())) { + BaseTrailerModelDetailsVo modelDetailsVo = baseTrailerModelFeign.fetchDetailsBySid(trailer.getTrailerModelSid()).getData(); + if (null != modelDetailsVo) { + if (StringUtils.isNotBlank(modelDetailsVo.getBrandName())) { + pdfVo.setBrandName(modelDetailsVo.getBrandName()); + } + if (StringUtils.isNotBlank(modelDetailsVo.getTrailerTypeValue())) { + pdfVo.setModel(modelDetailsVo.getTrailerTypeValue()); + } + if (StringUtils.isNotBlank(modelDetailsVo.getCarModelName())) { + pdfVo.setConfig(modelDetailsVo.getCarModelName()); + } + } + } + } + } + } + } + } + pdfVo.setColor("-"); + pdfVo.setListPdfVos(listPdfVos); + String uploadTemplateUrl = docPdfComponent.getUploadTemplateUrl(); + String s = receiveVehicleConfirmationCreatePdf(pdfVo); + BusHandover entity = fetchBySid(sid); + String savePath = s.substring(uploadTemplateUrl.length()); + entity.setTrailerFilePath(savePath); + baseMapper.updateById(entity); + String templateUrl = docPdfComponent.getPrefixTemplateUrl(); + return rb.success().setData(templateUrl + savePath); + } + + /** + * 挂车交车确认编辑页面 + * + * @param sid + * @return + */ + public ResultBean getDeliveryConfirmGcInfo(String sid) { + ResultBean rb = ResultBean.fireFail(); + BusHandoverInitVo vo = new BusHandoverInitVo(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + BusHandover busHandover = fetchBySid(sid); + vo.setSid(sid); + vo.setContractNo(busHandover.getContractNo()); + vo.setCustomerName(busHandover.getCustomerName()); + vo.setRecipient(busHandover.getTrailerRecipient()); + vo.setIdNo(busHandover.getTrailerIdNo()); + vo.setDeliverDate(sdf.format(busHandover.getTrailerDeliverDate())); + vo.setDeliverAddress(busHandover.getTrailerAddress()); + vo.setUserSid(busHandover.getCreateBySid()); + vo.setOrgPath(busHandover.getOrgSidPath()); + vo.setRemarks(busHandover.getTrailerRemarks()); + List items = new ArrayList<>(); + //查询车辆 + List itemsList = busHandoverItemsService.getTrailerByMainSid(sid); + itemsList.removeAll(Collections.singleton(null)); + for (BusHandoverItems v : itemsList) { + BusHandoverInitListVo detailsVo = new BusHandoverInitListVo(); + String handoverPhoto = v.getHandoverPhoto(); + BeanUtil.copyProperties(v, detailsVo); + if (StringUtils.isNotBlank(handoverPhoto)) { + List stringList = Arrays.asList(handoverPhoto.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + detailsVo.setDeliveryImages(stringList); + } + items.add(detailsVo); + } + //接收车辆确认书照片 + List fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.TRAILER_RECEIVE_CAR_IMAGES.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List receiveCarImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + vo.setReceiveCarImages(receiveCarImages); + } + //委托提车授权书、委托人身份证(正反面) + fileList = buscenterFileService.selectByLinkSid(sid, BuscenterFileEnum.TRAILER_ENTRUST_IDCARD_IMAGES.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List entrustImages = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); + vo.setEntrustImages(entrustImages); + } + vo.setCarList(items); + return rb.success().setData(vo); + } + + public ResultBean saveDeliveryConfirmGcInfo(BusHandoverInitDto dto) { + ResultBean rb = ResultBean.fireFail(); + BusHandover busHandover = fetchBySid(dto.getSid()); + if (busHandover == null) { + return rb.setMsg("该记录不存在"); + } + busHandover.setTrailerRemarks(dto.getRemarks()); + List carList = dto.getCarList(); + carList.removeAll(Collections.singleton(null)); + if (!carList.isEmpty()) { + for (BusHandoverInitListDto busHandoverInitListDto : carList) { + String vinSid = busHandoverInitListDto.getVinSid(); + List policyImagesList = busHandoverInitListDto.getPolicyImages(); + List deliveryImagesList = busHandoverInitListDto.getDeliveryImages(); + String policyImages = ""; + String deliveryImages = ""; + if (!deliveryImagesList.isEmpty()) { + deliveryImages = String.join(",", deliveryImagesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + } + busHandoverItemsService.updateByMainSid(dto.getSid(), vinSid, policyImages, deliveryImages); + } + } + //删除附件表中关于该linkSid的文件 + buscenterFileService.delByLinkSidOrType(dto.getSid(), BuscenterFileEnum.TRAILER_RECEIVE_CAR_IMAGES.getAttachType()); + buscenterFileService.delByLinkSidOrType(dto.getSid(), BuscenterFileEnum.TRAILER_ENTRUST_IDCARD_IMAGES.getAttachType()); + List receiveCarImages = dto.getReceiveCarImages(); + if (!receiveCarImages.isEmpty()) { + buscenterFileService.saveAll(dto.getSid(), receiveCarImages, BuscenterFileEnum.TRAILER_RECEIVE_CAR_IMAGES.getAttachType()); + } + List entrustImages = dto.getEntrustImages(); + if (!entrustImages.isEmpty()) { + buscenterFileService.saveAll(dto.getSid(), entrustImages, BuscenterFileEnum.TRAILER_ENTRUST_IDCARD_IMAGES.getAttachType()); + } + //更新 + baseMapper.updateById(busHandover); + return rb.success().setData(dto.getSid()); + } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java index a4bbd6a868..f2ee315d67 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java @@ -37,6 +37,8 @@ public interface BusHandoverItemsMapper extends BaseMapper { List getItemsListByMainSid(@Param("handoverSid") String handoverSid); + List getTrailerByMainSid(String sid); + /*IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); BusHandoverItemsVo fetchByHandoverSid(String handoverSid);*/ diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml index a24efe8c68..8c702594db 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml @@ -22,6 +22,7 @@ select bhi.vinNo, bhi.vinSid, bhi.handoverPhoto, bhi.policyPhoto, bhi.modelName from bus_handover_items bhi where bhi.handoverSid = #{sid} + and bhi.vehivelOrTrailer = '主车' @@ -53,4 +54,11 @@ from bus_handover_items where handoverSid = #{handoverSid} + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java index 0f14b5ccf9..9ee67ece0c 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java @@ -90,6 +90,10 @@ public class BusHandoverItemsService extends MybatisBaseService getTrailerByMainSid(String sid) { + return baseMapper.getTrailerByMainSid(sid); + } + /* private QueryWrapper createQueryWrapper(BusHandoverItemsQuery query) { QueryWrapper qw = new QueryWrapper<>(); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitMapper.xml index 287f76f5b4..f5f9972bfb 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitMapper.xml @@ -4,7 +4,9 @@