Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
f2bcb6ff65
  1. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java
  3. 15
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeign.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerFeignFallback.java
  5. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrder.java
  6. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java
  7. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java
  8. 22
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basediscountpackageapply/BaseDiscountpackageApplyService.java
  9. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java
  10. 20
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java
  11. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.java
  12. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerRest.java
  13. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  14. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java
  15. 34
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java
  16. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java
  17. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandover/BusDiscountpackageHandoverQuery.java
  18. 39
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/AppGcBillDto.java
  19. 28
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandover.java
  20. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDeliveryDto.java
  21. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailVo.java
  22. 10
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDetailsVo.java
  23. 83
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeign.java
  24. 77
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverFeignFallback.java
  25. 10
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitDto.java
  26. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitListVo.java
  27. 9
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverInitVo.java
  28. 28
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConDto.java
  29. 27
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConListVo.java
  30. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConQuery.java
  31. 37
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryConVo.java
  32. 53
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryDto.java
  33. 22
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListQuery.java
  34. 50
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/app/AppDeliveryListVo.java
  35. 42
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverCompleteDto.java
  36. 56
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/BusHandoverTaskQuery.java
  37. 27
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeQuery.java
  38. 25
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/GetNodeVo.java
  39. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/flow/SubmitBusHandoverDto.java
  40. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItemForDeliveryDto.java
  41. 8
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusHandoverItems.java
  42. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitFeign.java
  43. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitListVo.java
  44. 10
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoverwait/BusHandoverWaitVo.java
  45. 189
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java
  46. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.java
  47. 74
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml
  48. 91
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverRest.java
  49. 1194
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java
  50. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java
  51. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml
  52. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java
  53. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitMapper.xml
  54. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitService.java
  55. 25
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  56. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvehicleinformationhandover/BusVehicleInformationHandoverService.java
  57. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  58. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundFeign.java
  59. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundFeignFallback.java
  60. 10
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundRest.java
  61. 37
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  62. 1
      anrui-scm/anrui-scm-ui/src/api/cheliang/cheliangxiaoshou.js
  63. 14
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConDto.java
  64. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConInitVo.java
  65. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConListVo.java
  66. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConQuery.java
  67. 14
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConVo.java
  68. 65
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConfirmFeign.java
  69. 18
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConfirmVo.java
  70. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryDetailsVo.java
  71. 44
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryDto.java
  72. 10
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryInitDto.java
  73. 11
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryInitVo.java
  74. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryListVo.java
  75. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryVo.java
  76. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/GcBillDto.java
  77. 51
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/GcInitVo.java
  78. 33
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/CompleteDeliveryConfirmDto.java
  79. 44
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/DeliveryConfirmTaskQuery.java
  80. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/DeliveryFlowableQuery.java
  81. 18
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/SubmitDeliveryConfirmDto.java
  82. 58
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/deliveryConfirm/DeliveryConfirmRest.java
  83. 248
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/deliveryConfirm/DeliveryConfirmService.java

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

5
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;
}
}

15
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(基础信息) <br/>
* File: BaseTrailerFeign.java <br/>
@ -100,6 +102,17 @@ public interface BaseTrailerFeign {
@GetMapping("/fetchBySid/{sid}")
public ResultBean<BaseTrailerDetailsVo> fetchBySid(@PathVariable("sid") String sid);
/**
* 根据主车SID获取记录
*
* @return
*/
@ApiOperation("根据主车SID获取记录")
@GetMapping("/getByVehSid")
@ResponseBody
public ResultBean<List<BaseTrailer>> getByVehSid(@RequestParam("vehSid") String vehSid);
/**
* 挂车检索分页列表
*
@ -120,7 +133,7 @@ public interface BaseTrailerFeign {
@ApiOperation("查询主车的挂车信息/上装信息")
@GetMapping("/trailerList")
ResultBean<TraliveredVo> trailerList(@RequestParam("vinSid") String vinSid,@RequestParam("contractNo") String contractNo);
ResultBean<TraliveredVo> trailerList(@RequestParam("vinSid") String vinSid, @RequestParam("contractNo") String contractNo);
@ApiOperation("根据挂车车架号获取一条记录")
@GetMapping("/fetchByGcVinNo/{gcVinNo}")

5
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<List<BaseTrailer>> getByVehSid(String vehSid) {
return null;
}
@Override
public ResultBean<PagerVo<BaseTrailerSearchVo>> searchPage(PagerQuery<BaseTrailerSearchQuery> pagerQuery) {
return null;

2
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;
}

5
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<BusVehicleApplySz> selectApplySz(@RequestParam("sid")String sid);
@ApiOperation("作废采购订单")
@PostMapping("/cancal")
@ResponseBody
ResultBean cancal(@RequestParam("sid")String sid);
}

5
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;
}
}

22
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<BaseDisc
public ResultBean<String> saveDiscountPackageApplyInfo(AppDiscountpackageApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
// ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
// if (!userVoResultBean.getSuccess()) {
// return rb.setMsg(userVoResultBean.getMsg());
// }
// //根据staffSid获取用户的组织全路径
// ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
// if (!staffOrgResultBean.getSuccess()) {
// return rb.setMsg(staffOrgResultBean.getMsg());
// }
// String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
String dtoSid = dto.getSid();
List<AppDiscountpackagelistDto> 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) {

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

20
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<BaseMa
witMatUrl = urlPrefix + witMatUrl;
record.setWitMatUrl(witMatUrl);
}
//paymentState打款状态(0未打款,1已打款,2无需打款)
// state认款状态 (0未认款,1已认款)
//isShowAdopt是否显示通过(0不显示,1显示)
if (paymentState.equals("1") && state.equals("0")) {
record.setIsShowAdopt("1");
} else if (paymentState.equals("2") && state.equals("0")) {
@ -156,6 +158,7 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
} else {
record.setIsShowAdopt("0");
}
}
}
PagerVo<BaseManufactorSubscriptionVo> p = PagerUtil.pageToVo(pagging, null);
@ -330,4 +333,19 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
int i = baseMapper.updatePaymentState(sid,state);
return resultBean.success();
}
public ResultBean cancel(String sid) {
ResultBean rb = ResultBean.fireFail();
//验证该厂家认款是否已经通过
BaseManufactorSubscription baseManufactorSubscription = fetchBySid(sid);
//paymentState打款状态(0未打款,1已打款,2无需打款)
// state认款状态 (0未认款,1已认款)
//isShowAdopt是否显示通过(0不显示,1显示)
if("1".equals(baseManufactorSubscription.getState())){
return rb.setMsg("该数据已通过,不允许作废");
}
baseManufactorSubscription.setState(2);
baseMapper.updateById(baseManufactorSubscription);
return rb.success();
}
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.java

@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basetrailer.*;
import com.yxt.common.core.result.ResultBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -99,4 +100,7 @@ public interface BaseTrailerMapper extends BaseMapper<BaseTrailer> {
@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<BaseTrailer> getByVehSid(@Param("vehSid") String vehSid);
}

7
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(基础信息) <br/>
* File: BaseTrailerFeignFallback.java <br/>
@ -96,6 +98,11 @@ public class BaseTrailerRest implements BaseTrailerFeign {
return baseTrailerService.fetchDetailsBySid(sid);
}
@Override
public ResultBean<List<BaseTrailer>> getByVehSid(String vehSid) {
return baseTrailerService.getByVehSid(vehSid);
}
@Override
public ResultBean<PagerVo<BaseTrailerSearchVo>> searchPage(PagerQuery<BaseTrailerSearchQuery> pagerQuery) {
ResultBean<PagerVo<BaseTrailerSearchVo>> rb = ResultBean.fireFail();

6
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<BaseTrailerMapper, Ba
finVehicleInvoiceFeign.saveOrUpdate(finVehicleInvoiceDto);
return rb.success();
}
public ResultBean<List<BaseTrailer>> getByVehSid(String vehSid) {
ResultBean<List<BaseTrailer>> rb = ResultBean.fireFail();
List<BaseTrailer> baseTrailers = baseMapper.getByVehSid(vehSid);
return rb.success().setData(baseTrailers);
}
}

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

34
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<BusVehicleOrderMa
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(query.getUserSid()).getData();
query.setUseOrgSid(orgSid);
}
/* String staffSid = query.getStaffSid();
ResultBean<List<SysStaffOrgVo>> sysStaffOrgListByStaffSid = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(staffSid);
List<SysStaffOrgVo> data = sysStaffOrgListByStaffSid.getData();
String orgSidPath = "";
for (SysStaffOrgVo datum : data) {
orgSidPath = datum.getOrgSidPath();
String[] split = orgSidPath.split("/");
for (String s : split) {
ResultBean<SysOrganizationVo> 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<BusVehicleOrder> qw = createQueryWrapper(query);
IPage<BusVehicleOrder> page = PagerUtil.queryToPage(pq);
IPage<VehicleOrderListVo> pagging = baseMapper.selectPageVo(page, qw);
@ -572,4 +551,17 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
BusVehicleApplySz busVehicleApplySz = baseMapper.selectApplySz(sid);
return rb.success().setData(busVehicleApplySz);
}
public ResultBean cancal(String sid) {
ResultBean rb = ResultBean.fireFail();
BusVehicleOrder busVehicleOrder = fetchBySid(sid);
//查询采购订单是否已下线
if(StringUtils.isNotBlank(busVehicleOrder.getOfflineDate())){
return rb.setMsg("该采购订单已下线,不允许作废");
}
busVehicleOrder.setOrderStatus("已作废");
busVehicleOrder.setLockingNum(busVehicleOrder.getPlatformNo());
baseMapper.updateById(busVehicleOrder);
return rb.success();
}
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java

@ -25,7 +25,10 @@ public enum BuscenterFileEnum {
ZJLLETTER_DOWNLOADURL("016", "总经理担保书"),
TCALL_DOWNLOADURL("018", "欠款提车附件"),
DISCOUNTPACKAGE_HANDOVER("017", "优惠包交接确认"),
ENTRUST_IDCARD_IMAGES("019", "委托提车授权书、委托人身份证(正反面)");
ENTRUST_IDCARD_IMAGES("019", "委托提车授权书、委托人身份证(正反面)"),
TRAILER_ENTRUST_IDCARD_IMAGES("020", "挂车委托提车授权书、委托人身份证(正反面)"),
TRAILER_RECEIVE_CAR_IMAGES("021", "挂车接收车辆确认书照片")
;
/**

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdiscountpackagehandover/BusDiscountpackageHandoverQuery.java

@ -34,4 +34,11 @@ public class BusDiscountpackageHandoverQuery implements Query {
@ApiModelProperty("待接收人")
private String recName; // 客户名称
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("菜单url")
private String menuUrl;
}

39
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/AppGcBillDto.java

@ -0,0 +1,39 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.buscenter.api.bushandover.app.AppDeliveryConDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/6/14 9:39
*/
@Data
public class AppGcBillDto implements Dto {
private String sid;
@ApiModelProperty("身份证号")
@JsonProperty("idNumber")
private String trailerIdNo;
@JsonProperty("address")
private String trailerAddress;
@ApiModelProperty("接收人")
@JsonProperty("name")
private String trailerRecipient;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("联系电话")
@JsonProperty("mobile")
private String trailerMobile;
@ApiModelProperty("车辆交付日期")
@JsonProperty("date")
private String trailerDeliverDate;
}

28
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandover.java

@ -1,6 +1,7 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -48,6 +49,8 @@ public class BusHandover extends BaseEntity {
private Date deliverDate;
@ApiModelProperty("交付地点")
private String deliverAddress;
@ApiModelProperty("交付地点")
private String deliverAddressKey;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("交车状态")
@ -56,6 +59,8 @@ public class BusHandover extends BaseEntity {
private String handoverStateValue;
@ApiModelProperty("交车定位经纬度")
private String locationCode;
@ApiModelProperty("交车定位经纬度描述")
private String locationStr;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名")
@ -66,5 +71,26 @@ public class BusHandover extends BaseEntity {
private String payTypeValue;
@ApiModelProperty("交车资料确认单编号")
private String billNo;
@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
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("主车下载交车确认资料地址")
private String filePath; // 申请人组织路径
@ApiModelProperty("挂车下载交车确认资料地址")
private String trailerFilePath; // 申请人组织路径
private String trailerIdNo;
private String trailerAddress;
private String trailerRecipient;
private String trailerMobile;
private Date trailerDeliverDate;
private String trailerRemarks;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverDeliveryDto.java

@ -54,6 +54,8 @@ public class BusHandoverDeliveryDto implements Dto {
private String useOrgSid;
@ApiModelProperty("分公司sid")
private String useOrgName;
@ApiModelProperty("分公司sid")
private String orgSidPath;
@ApiModelProperty("交车资料")
private List<BusHandoverItemForDeliveryDto> busItemvos;

2
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<BusHandoverItemListDetailsVo> items;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;

10
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<BusHandoverInitListVo> carList = new ArrayList<>();
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages = new ArrayList<>();
@ApiModelProperty("委托人身份证(正反面)")
private List<String> idCardImages = new ArrayList<>();
// @ApiModelProperty("委托人身份证(正反面)")
// private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages = new ArrayList<>();
@ApiModelProperty("委托提车授权书")
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages = new ArrayList<>();
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages = new ArrayList<>();
private String procInstId;
private String taskId;
}

83
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<BusHandoverDetailVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("上传照片")
@PostMapping("/uploadPicture")
@ApiOperation("交车确认更新备注图片")
@PostMapping("/deliveryVehicle")
@ResponseBody
public ResultBean<String> uploadPicture(@RequestBody BusHandoverDetailDto dto);
public ResultBean<String> deliveryVehicle(@RequestBody BusHandoverDetailDto dto);
@ApiOperation("打印接收车辆确认书、出门证、交车资料确认单")
@PostMapping("/createPdf")
ResultBean<List<String>> createPdf(@RequestParam("sid") String sid);
/*******************************移动端*******************************************************************/
@ApiOperation("获取交车交付信息")
@PostMapping("/getDeliveryBill")
ResultBean<AppDeliveryConVo> getDeliveryBill(@RequestBody AppDeliveryConQuery query);
@ApiOperation("保存确认交付信息")
@PutMapping("/saveDeliveryBill")
@ResponseBody
ResultBean<String> saveDeliverybill(@RequestBody AppDeliveryDto dto) throws Exception;
@ApiOperation("获取交车确认列表")
@PostMapping("/appgetDeliveryConfirmList")
ResultBean<PagerVo<AppDeliveryListVo>> appgetDeliveryConfirmList(@RequestBody PagerQuery<AppDeliveryListQuery> pagerQuery);
@ApiOperation("挂车保存确认交付信息")
@PutMapping("/saveGcBill")
@ResponseBody
ResultBean<String> saveGcBill(@RequestBody AppGcBillDto dto);
@ApiOperation("保存挂车交车信息")
@PostMapping("/saveDeliveryConfirmGcInfo")
ResultBean<String> saveDeliveryConfirmGcInfo(@RequestBody BusHandoverInitDto dto);
@ApiOperation("获取挂车交车确认信息")
@GetMapping("/getDeliveryConfirmGcInfo")
ResultBean<BusHandoverInitVo> getDeliveryConfirmGcInfo(@RequestParam("sid") String sid);
/* @ApiOperation("根据条件分页查询数据的列表")
@ -105,9 +140,9 @@ public interface BusHandoverFeign {
@GetMapping("/initInsert/{sid}")
public ResultBean<BusHandoverWsVo> initInsert(@PathVariable("sid") String sid);*/
@ApiOperation("保存确认交付信息")
@PutMapping("/saveDeliverybill")
ResultBean<List<BusHandoverListVo>> saveDeliverybill(@RequestBody BusHandoverDto dto);
// @ApiOperation("保存确认交付信息")
// @PutMapping("/saveDeliverybill")
// ResultBean<List<BusHandoverListVo>> saveDeliverybill(@RequestBody BusHandoverDto dto);
@ApiOperation("获取交车确认列表")
@PostMapping("/getDeliveryConfirmList")
@ -119,9 +154,43 @@ public interface BusHandoverFeign {
@ApiOperation("保存交车信息")
@PostMapping("/saveDeliveryConfirmInfo")
ResultBean saveDeliveryConfirmInfo(@RequestBody BusHandoverInitDto dto);
ResultBean<String> saveDeliveryConfirmInfo(@RequestBody BusHandoverInitDto dto);
@ApiOperation("交车信息详情")
@GetMapping("/details")
ResultBean<BusHandoverDetailsVo> 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<List<GetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
}

77
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<String> uploadPicture(BusHandoverDetailDto dto) {
public ResultBean<String> deliveryVehicle(BusHandoverDetailDto dto) {
return null;
}
@ -53,10 +56,40 @@ public class BusHandoverFeignFallback implements BusHandoverFeign {
}
@Override
public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {
public ResultBean<AppDeliveryConVo> getDeliveryBill(AppDeliveryConQuery query) {
return null;
}
@Override
public ResultBean<String> saveDeliverybill(AppDeliveryDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<AppDeliveryListVo>> appgetDeliveryConfirmList(PagerQuery<AppDeliveryListQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<String> saveGcBill(AppGcBillDto dto) {
return null;
}
@Override
public ResultBean<String> saveDeliveryConfirmGcInfo(BusHandoverInitDto dto) {
return null;
}
@Override
public ResultBean<BusHandoverInitVo> getDeliveryConfirmGcInfo(String sid) {
return null;
}
// @Override
// public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {
// return null;
// }
@Override
public ResultBean<PagerVo<BusHandoverVo>> getDeliveryConfirmList(PagerQuery<BusHandoverQuery> 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<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;
}
/*@Override
public ResultBean<PagerVo<BusHandoverVo>> listPage(PagerQuery<BusHandoverQuery> pq){
ResultBean rb = ResultBean.fireFail();

10
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<BusHandoverInitListDto> carList;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages;
@ApiModelProperty("委托人身份证(正反面)")
private List<String> idCardImages;
// @ApiModelProperty("委托人身份证(正反面)")
// private List<String> idCardImages;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;
@ApiModelProperty("委托提车授权书")
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages;
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages;
private String orgPath;
}

5
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<String> policyImages;
private List<String> policyImages = new ArrayList<>();
@ApiModelProperty("交车照片")
private List<String> deliveryImages;
private List<String> deliveryImages = new ArrayList<>();
private String vinSid;

9
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<String> receiveCarImages = new ArrayList<>();
@ApiModelProperty("委托提车授权书")
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages = new ArrayList<>();
@ApiModelProperty("交付车辆")
private List<BusHandoverInitListVo> carList = new ArrayList<>();
@ -43,13 +43,14 @@ public class BusHandoverInitVo implements Vo {
private String remarks;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages = new ArrayList<>();
@ApiModelProperty("委托人身份证(正反面)")
private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages = new ArrayList<>();
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织机构sid")
private String orgPath;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("组织机构sid")
private String taskId;
}

28
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;
}

27
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;
}

20
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<String> list;
private String userSid;
private String orgPath;
}

37
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<AppDeliveryConListVo> vinList;
}

53
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<AppDeliveryConDto> vinList;
}

22
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;
}

50
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;
}

42
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<String, Object> formVariables;
// @ApiModelProperty("调账车辆列表")
// private List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles; // 调账车辆列表
}

56
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<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

27
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<String, Object> formVariables;
}

25
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<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

19
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;
}

3
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<String> policyPhoto;
@ApiModelProperty("是否是燃气车 0不是1是")
private String isFuelVehicle; // 是否是燃气车 0不是1是
@ApiModelProperty("材料是否完全")
private String completeState; // 是否是燃气车 0不是1是
}

8
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;
}

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

1
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;
}

10
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<BusHandoverWaitListVo> vinList = new ArrayList<>();
}

189
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<BusDis
* @param query
* @return
*/
private QueryWrapper<BusDiscountpackageHandover> createQueryWrapper(BusDiscountpackageHandoverQuery query) {
// private QueryWrapper<BusDiscountpackageHandover> createQueryWrapper(BusDiscountpackageHandoverQuery query) {
// QueryWrapper<BusDiscountpackageHandover> qw = new QueryWrapper<>();
// //层级筛选
// //=======================
// PrivilegeQuery privilegeQuery = new PrivilegeQuery();
// privilegeQuery.setOrgPath(query.getOrgSidPath());
// privilegeQuery.setMenuSid(query.getMenuSid());
// privilegeQuery.setMenuUrl(query.getMenuUrl());
// privilegeQuery.setUserSid(query.getUserSid());
// ResultBean<String> 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<FinCompanyInvoicingVo> p = new PagerVo<>();
// return p;
// }
// } else {
// PagerVo<FinCompanyInvoicingVo> 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<BusDiscountpackageHandoverVo> listPage(PagerQuery<BusDiscountpackageHandoverQuery> pq) {
//从传入参数中取查询条件
BusDiscountpackageHandoverQuery query = pq.getParams();
QueryWrapper<BusDiscountpackageHandover> 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<String> 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<BusDiscountpackageHandoverVo> p = new PagerVo<>();
return p;
}
if (!"5".equals(orgLevelKey)) {
if (query.getState() == 3) {
qw.eq("transferStateKey", "004");
} else {
qw.ne("transferStateKey", "004");
}
}
} else {
PagerVo<BusDiscountpackageHandoverVo> p = new PagerVo<>();
return p;
}
//=======================
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
@ -90,54 +229,12 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService<BusDis
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<BusDiscountpackageHandoverVo> listPage(PagerQuery<BusDiscountpackageHandoverQuery> pq) {
//从传入参数中取查询条件
BusDiscountpackageHandoverQuery query = pq.getParams();
//取到当前登录用户的sid
String userSid = query.getUserSid();
//根据当前用户sid查询用户角色
List<SysRoleVo> roleVoList = sysRoleFeign.fetchByUserSid(userSid).getData();
//判断当前登录用户角色是否为销售专员
if (null != roleVoList) {
for (SysRoleVo sysRoleVo : roleVoList) {
//如果当前登录用户角色包含分公司销售专员,将当前用户sid保存到查询条件中
if ("分公司销售专员".equals(sysRoleVo.getName())) {
query.setRecUserSid(userSid);
}
}
}
QueryWrapper<BusDiscountpackageHandover> qw = createQueryWrapper(query);
/****************************************************************************************************************/
IPage<BusDiscountpackageHandover> page = PagerUtil.queryToPage(pq);
IPage<BusDiscountpackageHandoverVo> pagging = baseMapper.selectPageVo(page, qw);
List<BusDiscountpackageHandoverVo> records = pagging.getRecords();

6
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(业务中心) <br/>
@ -39,6 +41,10 @@ public interface BusHandoverMapper extends BaseMapper<BusHandover> {
int selectNum(String bill);
IPage<AppDeliveryListVo> selectAppListPageVo(IPage<BusHandover> page, @Param(Constants.WRAPPER) QueryWrapper<BusHandover> qw);
int updateFlowFiled(Map<String, Object> map);
/*//@Update("update bus_handover set name=#{msg} where id=#{id}")
//IPage<BusHandoverVo> voPage(IPage<BusHandover> page, @Param(Constants.WRAPPER) QueryWrapper<BusHandover> qw);

74
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverMapper.xml

@ -34,24 +34,24 @@
<select id="selectPageVo" resultType="com.yxt.anrui.buscenter.api.bushandover.BusHandoverVo">
select distinct bh.sid,
bh.contractNo,
bh.customerName,
bh.handoverStateValue,
bhi.modelName,
(select count(*) from bus_handover_items bhi2 where bhi2.handoverSid = bh.sid) as number,
bh.handoverStateKey,
bh.recipient
bh.contractNo,
bh.customerName,
bh.handoverStateValue,
bhi.modelName,
(select count(*) from bus_handover_items bhi2 where bhi2.handoverSid = bh.sid) as number,
bh.handoverStateKey,
bh.recipient
from bus_handover bh
left join bus_handover_items bhi on bh.sid = bhi.handoverSid
left join bus_handover_items bhi on bh.sid = bhi.handoverSid
<where>
${ew.sqlSegment}
<if test="name != null and name != ''">
and concat(IFNULL(bh.contractNo
, '')
, ifnull(bh.customerName
, '')) LIKE concat('%'
, #{name}
, '%')
, '')
, ifnull(bh.customerName
, '')) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
</select>
@ -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}
</select>
@ -74,6 +78,21 @@
set remarks = #{remarks}
where sid = #{sid}
</update>
<update id="updateFlowFiled">
UPDATE bus_handover
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
<select id="details" resultType="com.yxt.anrui.buscenter.api.bushandover.BusHandoverDetailsVo">
select bh.sid,
@ -83,7 +102,9 @@
bh.customerName,
bh.idNo,
bh.recipient,
bh.remarks
bh.remarks,
bh.procInstId,
bh.taskId
from bus_handover bh
where bh.sid = #{sid}
</select>
@ -91,9 +112,9 @@
<select id="selectByCount" resultType="int">
select count(*)
from bus_handover bh
left join bus_handover_items bhi on bh.sid = bhi.handoverSid
left join bus_handover_items bhi on bh.sid = bhi.handoverSid
where bh.contractNo = #{contractNo}
and bhi.vinSid in
and bhi.vinSid in
<foreach collection="vinSidList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
@ -117,4 +138,23 @@
from bus_handover
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="selectAppListPageVo"
resultType="com.yxt.anrui.buscenter.api.bushandover.app.AppDeliveryListVo">
select distinct
bh.sid,
bh.contractNo,
bh.customerName,
bh.handoverStateValue,
bh.modelName,
bh.carNum,
bh.nodeState,
bh.filePath,
bh.trailerFilePath
from bus_handover bh
<where>
${ew.sqlSegment}
ORDER BY createTime DESC ,id
</where>
</select>
</mapper>

91
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<String> uploadPicture(BusHandoverDetailDto dto) {
return busHandoverService.uploadPicture(dto);
public ResultBean<String> deliveryVehicle(BusHandoverDetailDto dto) {
return busHandoverService.deliveryVehicle(dto);
}
@Override
@ -62,12 +68,42 @@ public class BusHandoverRest implements BusHandoverFeign {
return busHandoverService.createPdf(sid);
}
@Override
public ResultBean<AppDeliveryConVo> getDeliveryBill(AppDeliveryConQuery query) {
return busHandoverService.getDeliveryBill(query);
}
@Override
public ResultBean<String> saveDeliverybill(AppDeliveryDto dto) throws Exception {
return busHandoverService.appsaveDeliverybill(dto);
}
@Override
public ResultBean<PagerVo<AppDeliveryListVo>> appgetDeliveryConfirmList(PagerQuery<AppDeliveryListQuery> pagerQuery) {
return busHandoverService.appgetDeliveryConfirmList(pagerQuery);
}
@Override
public ResultBean<String> saveGcBill(AppGcBillDto dto) {
return busHandoverService.saveGcBill(dto);
}
@Override
public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {
return busHandoverService.saveDeliverybill(dto);
public ResultBean<String> saveDeliveryConfirmGcInfo(BusHandoverInitDto dto) {
return busHandoverService.saveDeliveryConfirmGcInfo(dto);
}
@Override
public ResultBean<BusHandoverInitVo> getDeliveryConfirmGcInfo(String sid) {
return busHandoverService.getDeliveryConfirmGcInfo(sid);
}
// @Override
// public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {
// return busHandoverService.saveDeliverybill(dto);
// }
@Override
public ResultBean<PagerVo<BusHandoverVo>> getDeliveryConfirmList(PagerQuery<BusHandoverQuery> pagerQuery) {
ResultBean<PagerVo<BusHandoverVo>> rb = ResultBean.fireFail();
@ -81,7 +117,7 @@ public class BusHandoverRest implements BusHandoverFeign {
}
@Override
public ResultBean saveDeliveryConfirmInfo(BusHandoverInitDto dto) {
public ResultBean<String> saveDeliveryConfirmInfo(BusHandoverInitDto dto) {
return busHandoverService.saveDeliveryConfirmInfo(dto);
}
@ -89,6 +125,51 @@ public class BusHandoverRest implements BusHandoverFeign {
public ResultBean<BusHandoverDetailsVo> 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<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return busHandoverService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return busHandoverService.getPreviousNodesForReject(query);
}
/*@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired

1194
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java

File diff suppressed because it is too large

2
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<BusHandoverItems> {
List<BusHandoverItems> getItemsListByMainSid(@Param("handoverSid") String handoverSid);
List<BusHandoverItems> getTrailerByMainSid(String sid);
/*IPage<BusHandoverItemsVo> selectPageVo(IPage<BusHandoverItems> page, @Param(Constants.WRAPPER) Wrapper<BusHandoverItems> qw);
BusHandoverItemsVo fetchByHandoverSid(String handoverSid);*/

8
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 = '主车'
</select>
<update id="updateByMainSid">
@ -53,4 +54,11 @@
from bus_handover_items
where handoverSid = #{handoverSid}
</select>
<select id="getTrailerByMainSid"
resultType="com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItems">
select bhi.vinNo, bhi.vinSid, bhi.handoverPhoto, bhi.policyPhoto, bhi.modelName
from bus_handover_items bhi
where bhi.handoverSid = #{sid}
and bhi.vehivelOrTrailer = '挂车'
</select>
</mapper>

4
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<BusHandoverItems
return rb.success().setData(list);
}
public List<BusHandoverItems> getTrailerByMainSid(String sid) {
return baseMapper.getTrailerByMainSid(sid);
}
/* private QueryWrapper<BusHandoverItems> createQueryWrapper(BusHandoverItemsQuery query) {
QueryWrapper<BusHandoverItems> qw = new QueryWrapper<>();

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitMapper.xml

@ -4,7 +4,9 @@
<select id="selectPageVo" resultType="com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitVo">
select bh.contractNo,
bh.customerName,
bh.payTypeValue
bh.payTypeValue,
bh.modelName,
bh.payStateValue
from bus_handover_wait bh
<where>
${ew.sqlSegment}
@ -21,7 +23,7 @@
</select>
<select id="selectByNo" resultType="com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitListVo">
select vinNo, vinSid
select vinNo, vinSid,sid
from bus_handover_wait
where contractNo = #{contractNo}
and isDelete = 0

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoverwait/BusHandoverWaitService.java

@ -3,15 +3,9 @@ package com.yxt.anrui.buscenter.biz.bushandoverwait;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItems;
import com.yxt.anrui.buscenter.api.bushandoverwait.*;
import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandover;
import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandoverQuery;
import com.yxt.anrui.buscenter.api.busvehicleinformationhandover.BusVehicleInformationHandoverVo;
import com.yxt.anrui.buscenter.biz.bushandoveritems.BusHandoverItemsService;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.common.base.service.MybatisBaseService;
@ -58,14 +52,6 @@ public class BusHandoverWaitService extends MybatisBaseService<BusHandoverWaitMa
records.removeAll(Collections.singleton(null));
for (BusHandoverWaitVo record : records) {
String contractNo = record.getContractNo();
//ToDo:是否欠款
record.setContractStateValue("非欠款");
//根据合同编号查询合同信息以及车辆
ResultBean<CommonContract> commonContractResultBean = commonContractFeign.selectByNo(contractNo);
CommonContract commonContract = commonContractResultBean.getData();
if (commonContract != null) {
record.setContractSid(commonContract.getSid());
}
//根据合同编号查询车辆列表
List<BusHandoverWaitListVo> busHandoverWaitListVoList = baseMapper.selectByNo(contractNo);
record.setVinList(busHandoverWaitListVoList);

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

@ -2341,6 +2341,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
orderInfo.setReadyCarList(appReadyCarList);
boolean isCheck = isCheck2(map, appReadyCarList);
boolean isCheck3 = isCheck3(appReadyCarList);
if(isCheck3){
orderInfo.setNotice("选择的数据中包含已作废的数据,请进行确认");
}
if (isCheck) {
orderInfo.setNotice("当前车型已经更新,请进行确认");
}
@ -2421,6 +2425,23 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return isCheck;
}
public Boolean isCheck3(List<AppReadyCarListVo> appReadyCarList) {
Boolean isCheck = false;
for (AppReadyCarListVo order : appReadyCarList) {
String orderId = order.getOrderId();
//根据订单sid查询订单是否已作废
ResultBean<BusVehicleOrderVo> busVehicleOrderResultBean = busVehicleOrderFeign.fetchBySid(order.getSid());
if(busVehicleOrderResultBean.getData() != null){
BusVehicleOrderVo busVehicleOrderVo = busVehicleOrderResultBean.getData();
if("已作废".equals(busVehicleOrderVo.getOrderStatus())){
isCheck = true;
break;
}
}
}
return isCheck;
}
/**
* 根据车型及配置跳转至的车型确认信息
*
@ -3162,6 +3183,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (!appReadyCarList.isEmpty()) {
//验证所选采购订单的车辆是否发生了变化
boolean isCheck = isCheck2(map, appReadyCarList);
boolean isCheck3 = isCheck3(appReadyCarList);
if(isCheck3){
isVehicleOrder = false;
}
if (isCheck) {
isVehicleOrder = false;
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvehicleinformationhandover/BusVehicleInformationHandoverService.java

@ -129,7 +129,7 @@ public class BusVehicleInformationHandoverService extends MybatisBaseService<Bus
str.append("驾驶员卡、");
}
if (busVehicleInformation.getGasCertificate() > 0) {
if (busVehicleInformation.getIsFuelVehicle() != 0) {
if (busVehicleInformation.getIsFuelVehicle() == 0) {
str.append("气瓶检测合格证、");
}
}
@ -370,7 +370,7 @@ public class BusVehicleInformationHandoverService extends MybatisBaseService<Bus
str.append("驾驶员卡、");
}
if (infor.getGasCertificate() < 1) {
if (infor.getIsFuelVehicle() != 0) {
if (infor.getIsFuelVehicle() == 0) {
str.append("气瓶检测合格证、");
}
}

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

@ -48,6 +48,7 @@ public enum ProcDefEnum {
BUSSALESORDERRETURNVEHAPPLY("销售订单退车申请", "process_tzjjs03y:1:1012504"),
BASETRAILEROUTAPPLY("挂车出库申请", "process_tkw6vhfw:1:1705004"),
BUSHANDOVER("交车确认", "process_e8feloik:4:1712504"),
/******************************测试流程id*********************************************/
@ -109,3 +110,4 @@ public enum ProcDefEnum {
return proDefId;
}
}

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundFeign.java

@ -92,4 +92,7 @@ public interface ScmApplyInboundFeign {
/*************************************************审批流程***************************************************/
@ApiOperation(value = "入库申请终止")
@PostMapping(value = "/cancal")
ResultBean cancal(@RequestParam("sid")String sid);
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundFeignFallback.java

@ -101,4 +101,9 @@ public class ScmApplyInboundFeignFallback implements ScmApplyInboundFeign {
public int selectNum(String bill) {
return 0;
}
@Override
public ResultBean cancal(String sid) {
return null;
}
}

10
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundRest.java

@ -12,9 +12,10 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
/**
@ -109,4 +110,9 @@ public class ScmApplyInboundRest implements ScmApplyInboundFeign {
public int selectNum(String bill) {
return scmApplyInboundService.selectNum(bill);
}
@Override
public ResultBean cancal(String sid) {
return scmApplyInboundService.cancal(sid);
}
}

37
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -2,16 +2,13 @@ package com.yxt.anrui.scm.biz.scmapplyinbound;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerAllVo;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerDetailsVo;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerFeign;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankFeign;
import com.yxt.anrui.base.api.basemanufacturerbank.BaseManufacturerBankVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
@ -23,11 +20,8 @@ import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyFeign;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailFeign;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
import com.yxt.anrui.base.api.busvehicleorder.ActualAndOrgDeptVo;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
@ -47,18 +41,14 @@ 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.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmapplyinbound.*;
import com.yxt.anrui.scm.api.scmapplyinbound.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicle;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto;
import com.yxt.anrui.scm.api.scmfile.ScmFileDto;
import com.yxt.anrui.scm.api.scmfile.ScmFileVo;
import com.yxt.anrui.scm.api.scmvehinspectitem.ScmVehinspectItemDto;
@ -923,4 +913,31 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
public int selectNum(String bill) {
return baseMapper.selectNum(bill);
}
public ResultBean cancal(String sid) {
ResultBean rb = ResultBean.fireFail();
ScmApplyInbound scmApplyInbound = fetchBySid(sid);
if("已办结".equals(scmApplyInbound.getNodeState())){
return rb.setMsg("该数据已审批通过,不允许终止");
}
if(StringUtils.isNotBlank(scmApplyInbound.getTaskId())){
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
flowTaskVo.setTaskId(scmApplyInbound.getTaskId());
flowTaskVo.setInstanceId(scmApplyInbound.getProcInsId());
flowTaskVo.setBusinessSid(sid);
flowTaskVo.setUserSid(scmApplyInbound.getCreateBySid());
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}else{
scmApplyInbound.setNodeState("终止");
scmApplyInbound.setTaskDefKey("Event_end");
baseMapper.updateById(scmApplyInbound);
}
return rb.success();
}
}

1
anrui-scm/anrui-scm-ui/src/api/cheliang/cheliangxiaoshou.js

@ -57,7 +57,6 @@ export function listPage(data) {
headers: { 'Content-Type': 'application/json' }
})
}
// 车辆销售(出库)详情(查出库申请推送的,信息从主表和子表中获取)
export function detailsNew(data) {
return request({

14
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConDto.java

@ -16,12 +16,18 @@ import java.util.List;
@Data
public class DeliveryConDto implements Dto {
private static final long serialVersionUID = -7339973589789913061L;
@ApiModelProperty("车架号")
@JsonProperty("vin")
private String vinNo;
@JsonProperty("carSid")
private String vinSid;
@ApiModelProperty("交付清单")
private List<DeliveryItemDto> manifest = new ArrayList<>();
@ApiModelProperty("资料key")
@JsonProperty("manifestKey")
private String itemKey;
@ApiModelProperty("资料value")
@JsonProperty("manifest")
private String itemValue;
private String recordSid;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConInitVo.java

@ -17,10 +17,10 @@ public class DeliveryConInitVo implements Vo {
private static final long serialVersionUID = -3097903974880979009L;
@JsonProperty("vin")
private String vinNo;
@ApiModelProperty("保单照片")
private List<String> policyImages;
@ApiModelProperty("交车照片")
private List<String> deliveryImages;
@ApiModelProperty("保单照片")
private List<String> policyImages;
@JsonProperty("carSid")
private String vinSid;
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConListVo.java

@ -5,7 +5,6 @@ import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
@ -16,11 +15,19 @@ import java.util.List;
public class DeliveryConListVo implements Vo {
private static final long serialVersionUID = 5291687469668857721L;
@ApiModelProperty("车架号")
private String vin;
@JsonProperty("vin")
private String vinNo;
@ApiModelProperty("车辆sid")
@JsonProperty("carSid")
private String vinSid;
@ApiModelProperty("记录sid")
@JsonProperty("recordSid")
private String sid;
@ApiModelProperty("资料key")
@JsonProperty("manifestKey")
private String itemKey;
@ApiModelProperty("资料value")
@JsonProperty("manifest")
private String itemValue;
private List<DeliveryConItemVo> manifest;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConQuery.java

@ -14,9 +14,9 @@ import java.util.List;
public class DeliveryConQuery implements Query {
private static final long serialVersionUID = 2384354329522590526L;
private List<DeliveryConListQuery> list;
private List<String> list;
private String userSid;
private String contractId;
private String orgPath;
}

14
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConVo.java

@ -16,9 +16,7 @@ import java.util.List;
public class DeliveryConVo implements Vo {
private static final long serialVersionUID = 3387249405937612233L;
@ApiModelProperty("合同id")
@JsonProperty("contractId")
private String contractId;
@ApiModelProperty("接收人")
private String name;
@ApiModelProperty("身份证号")
@ -29,5 +27,15 @@ public class DeliveryConVo implements Vo {
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<DeliveryConListVo> vinList;
}

65
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConfirmFeign.java

@ -1,13 +1,19 @@
package com.yxt.anrui.terminal.api.autoservice.deliveryConfirm;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.CompleteDeliveryConfirmDto;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.DeliveryConfirmTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.DeliveryFlowableQuery;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.SubmitDeliveryConfirmDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
@ -33,10 +39,16 @@ public interface DeliveryConfirmFeign {
@ResponseBody
ResultBean<DeliveryConVo> getDeliveryBill(@RequestBody DeliveryConQuery deliveryConQuery);
// @ApiOperation("保存确认交付信息")
// @PutMapping("/saveDeliveryBill")
// @ResponseBody
// ResultBean<List<DeliveryBillListVo>> saveDeliverybill(@RequestBody DeliveryDto dto);
@ApiOperation("保存确认交付信息")
@PutMapping("/saveDeliveryBill")
@ResponseBody
ResultBean<List<DeliveryBillListVo>> saveDeliverybill(@RequestBody DeliveryDto dto);
ResultBean<String> saveDeliverybill(@RequestBody DeliveryDto dto) throws Exception;
@ApiOperation("获取交车确认列表")
@PostMapping("/getDeliveryConfirmList")
@ -51,10 +63,59 @@ public interface DeliveryConfirmFeign {
@ApiOperation("保存交车确认信息")
@PostMapping("/saveDeliveryConfirmInfo")
@ResponseBody
ResultBean save(@RequestBody DeliveryInitDto dto);
ResultBean<String> save(@RequestBody DeliveryInitDto dto);
@ApiOperation("交车确认详情")
@GetMapping("/getDeliveryConfirmDetail")
@ResponseBody
ResultBean<DeliveryDetailsVo> details(@RequestParam("sid") String sid);
@ApiOperation("挂车保存确认交付信息")
@PutMapping("/saveGcBill")
@ResponseBody
ResultBean<String> saveGcBill(@RequestBody GcBillDto dto);
@ApiOperation("获取挂车交车确认信息")
@GetMapping("/getDeliveryConfirmGcInfo")
@ResponseBody
ResultBean<GcInitVo> getDeliveryConfirmGcInfo(@RequestParam("sid") String sid);
@ApiOperation("保存挂车交车确认信息")
@PostMapping("/saveDeliveryConfirmGcInfo")
@ResponseBody
ResultBean<String> saveDeliveryConfirmGcInfo(@RequestBody DeliveryInitDto dto);
/************************* 流程接口 **************************************/
@ApiOperation("提交流程")
@PostMapping("/submitDeliveryConfirmInfo")
@ResponseBody
ResultBean submitDeliveryConfirmInfo(@Valid @RequestBody SubmitDeliveryConfirmDto dto);
@ApiOperation("办理")
@PutMapping("/agreeDeliveryConfirmInfo")
@ResponseBody
ResultBean agreeDeliveryConfirmInfo(@Valid @RequestBody CompleteDeliveryConfirmDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectDeliveryConfirmInfo")
@ResponseBody
ResultBean rejectDeliveryConfirmInfo(@Valid @RequestBody DeliveryConfirmTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallDeliveryConfirmInfo")
@ResponseBody
ResultBean recallDeliveryConfirmInfo(@Valid @RequestBody DeliveryConfirmTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopDeliveryConfirmInfo")
@ResponseBody
ResultBean stopDeliveryConfirmInfo(@Valid @RequestBody DeliveryConfirmTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap DeliveryFlowableQuery query);
}

18
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryConfirmVo.java

@ -19,23 +19,17 @@ public class DeliveryConfirmVo implements Vo {
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("合同状态")
private String contractStateKey;
@ApiModelProperty("合同状态")
@JsonProperty("contractState")
private String contractStateValue;
@ApiModelProperty("车型")
@JsonProperty("carModel")
private String modelName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("业务状态")
@JsonProperty("state")
private String payStateValue;
@ApiModelProperty("付款方式")
@JsonProperty("payType")
private String payTypeValue;
@ApiModelProperty("付款方式key")
private String payTypeKey;
private List<DeliveryVo> vinList = new ArrayList<>();
@ApiModelProperty("合同sid")
private String contractSid;
}

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryDetailsVo.java

@ -46,12 +46,15 @@ public class DeliveryDetailsVo implements Vo {
private List<DeliveryInitListDto> carList = new ArrayList<>();
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages = new ArrayList<>();
@ApiModelProperty("委托人身份证(正反面)")
private List<String> idCardImages = new ArrayList<>();
// @ApiModelProperty("委托人身份证(正反面)")
// private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages = new ArrayList<>();
@ApiModelProperty("委托提车授权书")
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages = new ArrayList<>();
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages = new ArrayList<>();
@JsonProperty("procInsId")
private String procInstId;
private String taskId;
}

44
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryDto.java

@ -16,33 +16,41 @@ import java.util.List;
public class DeliveryDto implements Dto {
private static final long serialVersionUID = -1537198808834710187L;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@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("联系电话")
private String mobile;
@ApiModelProperty("车辆交付日期")
@JsonProperty("date")
private String deliverDate;
@ApiModelProperty("车辆交付地点")
@JsonProperty("address")
private String deliverAddress;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构sid:当前部门的全路径")
private String orgPath;
@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<DeliveryConDto> vinList;
}

10
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryInitDto.java

@ -16,17 +16,17 @@ public class DeliveryInitDto implements Dto {
private static final long serialVersionUID = 2843011964691250253L;
private String remarks;
private String userSid;
private String sid;
private String orgPath;
private List<DeliveryInitListDto> carList;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages;
@ApiModelProperty("委托人身份证(正反面)")
private List<String> idCardImages;
// @ApiModelProperty("委托人身份证(正反面)")
// private List<String> idCardImages;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages;
@ApiModelProperty("委托提车授权书")
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages;
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages;

11
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryInitVo.java

@ -36,7 +36,7 @@ public class DeliveryInitVo implements Vo {
private String deliverAddress;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages = new ArrayList<>();
@ApiModelProperty("委托提车授权书")
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages = new ArrayList<>();
@ApiModelProperty("交付车辆")
private List<DeliveryConInitVo> carList = new ArrayList<>();
@ -50,12 +50,17 @@ public class DeliveryInitVo implements Vo {
private String remarks;
@ApiModelProperty("交车资料确认单")
private List<String> entrustConfirmImages = new ArrayList<>();
@ApiModelProperty("委托人身份证(正反面)")
private List<String> idCardImages = new ArrayList<>();
// @ApiModelProperty("委托人身份证(正反面)")
// private List<String> idCardImages = new ArrayList<>();
@ApiModelProperty("出门证照片")
private List<String> exitTicketImages = new ArrayList<>();
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织机构sid")
private String orgPath;
@ApiModelProperty("流程实例id")
private String procInsId;
@ApiModelProperty("组织机构sid")
private String taskId;
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryListVo.java

@ -16,11 +16,14 @@ import java.util.List;
public class DeliveryListVo implements Vo {
private static final long serialVersionUID = -8831277052913251600L;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("交车状态key")
private String handoverStateKey;
@ApiModelProperty("流程状态")
@JsonProperty("state")
private String nodeState;
@ApiModelProperty("交车状态")
@JsonProperty("deliveryState")
private String handoverStateValue;
@ -31,11 +34,21 @@ public class DeliveryListVo implements Vo {
@JsonProperty("model")
private String modelName;
@ApiModelProperty("交车数量")
private String number;
@JsonProperty("number")
private String carNum;
@ApiModelProperty("是否显示交车确认")
private boolean showUpdate;
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("是否显示挂车")
private boolean showGcBtn;
@ApiModelProperty("确认资料下载地址")
@JsonProperty("fileResps")
private String filePath;
@ApiModelProperty("确认挂车资料下载地址")
@JsonProperty("fileResps2")
private String trailerFilePath;
@ApiModelProperty("显示挂车下载按钮")
private Boolean showGcDownload;
@ApiModelProperty("挂车确认按钮")
private boolean showGcBtn2;
private List<DeliveryDownUrlVo> fileResps;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryVo.java

@ -14,6 +14,6 @@ public class DeliveryVo implements Vo {
private static final long serialVersionUID = 1429737874187218432L;
@JsonProperty("vin")
private String vinNo;
@JsonProperty("carSid")
private String vinSid;
@JsonProperty("recordSid")
private String sid;
}

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/GcBillDto.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.autoservice.deliveryConfirm;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/6/14 9:39
*/
@Data
public class GcBillDto implements Dto {
private String sid;
@ApiModelProperty("身份证号")
@JsonProperty("idNumber")
private String trailerIdNo;
@JsonProperty("address")
private String trailerAddress;
@ApiModelProperty("接收人")
@JsonProperty("name")
private String trailerRecipient;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("联系电话")
@JsonProperty("mobile")
private String trailerMobile;
@ApiModelProperty("车辆交付日期")
@JsonProperty("date")
private String trailerDeliverDate;
}

51
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/GcInitVo.java

@ -0,0 +1,51 @@
package com.yxt.anrui.terminal.api.autoservice.deliveryConfirm;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/6/14 15:21
*/
@Data
public class GcInitVo implements Vo {
@ApiModelProperty("记录sid")
private String sid;
@ApiModelProperty("接收人")
@JsonProperty("handler")
private String recipient;
@ApiModelProperty("客户名称")
@JsonProperty("name")
private String customerName;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("交付日期")
@JsonProperty("date")
private String deliverDate;
@ApiModelProperty("交付地点")
@JsonProperty("address")
private String deliverAddress;
@ApiModelProperty("接收车辆确认书照片")
private List<String> receiveCarImages = new ArrayList<>();
@ApiModelProperty("委托提车授权书+委托人身份证(正反面)")
private List<String> entrustImages = new ArrayList<>();
@ApiModelProperty("交付车辆")
private List<DeliveryConInitVo> carList = new ArrayList<>();
@ApiModelProperty("接收人身份证号")
@JsonProperty("idNumber")
private String idNo;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织机构sid")
private String orgPath;
}

33
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/CompleteDeliveryConfirmDto.java

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

44
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/DeliveryConfirmTaskQuery.java

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

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/DeliveryFlowableQuery.java

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

18
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/flowable/SubmitDeliveryConfirmDto.java

@ -0,0 +1,18 @@
package com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.DeliveryInitDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SubmitDeliveryConfirmDto extends DeliveryInitDto {
private static final long serialVersionUID = -471108222247151552L;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

58
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/deliveryConfirm/DeliveryConfirmRest.java

@ -1,6 +1,10 @@
package com.yxt.anrui.terminal.biz.autoservice.deliveryConfirm;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.*;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.CompleteDeliveryConfirmDto;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.DeliveryConfirmTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.DeliveryFlowableQuery;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.SubmitDeliveryConfirmDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -34,10 +38,15 @@ public class DeliveryConfirmRest implements DeliveryConfirmFeign {
}
@Override
public ResultBean<List<DeliveryBillListVo>> saveDeliverybill(DeliveryDto dto) {
public ResultBean<String> saveDeliverybill(DeliveryDto dto) throws Exception {
return deliveryConfirmService.saveDeliverybill(dto);
}
// @Override
// public ResultBean<List<DeliveryBillListVo>> saveDeliverybill(DeliveryDto dto) {
// return deliveryConfirmService.saveDeliverybill(dto);
// }
@Override
public ResultBean<PagerVo<DeliveryListVo>> getDeliveryConfirmList(PagerQuery<DeliveryListQuery> pagerQuery) {
return deliveryConfirmService.getDeliveryConfirmList(pagerQuery);
@ -49,7 +58,7 @@ public class DeliveryConfirmRest implements DeliveryConfirmFeign {
}
@Override
public ResultBean save(DeliveryInitDto dto) {
public ResultBean<String> save(DeliveryInitDto dto) {
return deliveryConfirmService.save(dto);
}
@ -57,4 +66,49 @@ public class DeliveryConfirmRest implements DeliveryConfirmFeign {
public ResultBean<DeliveryDetailsVo> details(String sid) {
return deliveryConfirmService.details(sid);
}
@Override
public ResultBean<String> saveGcBill(GcBillDto dto) {
return deliveryConfirmService.saveGcBill(dto);
}
@Override
public ResultBean<GcInitVo> getDeliveryConfirmGcInfo(String sid) {
return deliveryConfirmService.getDeliveryConfirmGcInfo(sid);
}
@Override
public ResultBean<String> saveDeliveryConfirmGcInfo(DeliveryInitDto dto) {
return deliveryConfirmService.saveDeliveryConfirmGcInfo(dto);
}
@Override
public ResultBean submitDeliveryConfirmInfo(SubmitDeliveryConfirmDto dto) {
return deliveryConfirmService.submitDeliveryConfirmInfo(dto);
}
@Override
public ResultBean agreeDeliveryConfirmInfo(CompleteDeliveryConfirmDto dto) {
return deliveryConfirmService.agreeDeliveryConfirmInfo(dto);
}
@Override
public ResultBean rejectDeliveryConfirmInfo(DeliveryConfirmTaskQuery query) {
return deliveryConfirmService.rejectDeliveryConfirmInfo(query);
}
@Override
public ResultBean recallDeliveryConfirmInfo(DeliveryConfirmTaskQuery query) {
return deliveryConfirmService.recallDeliveryConfirmInfo(query);
}
@Override
public ResultBean stopDeliveryConfirmInfo(DeliveryConfirmTaskQuery query) {
return deliveryConfirmService.stopDeliveryConfirmInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(DeliveryFlowableQuery query) {
return deliveryConfirmService.getFlowOperateTitle(query);
}
}

248
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/deliveryConfirm/DeliveryConfirmService.java

@ -2,14 +2,25 @@ package com.yxt.anrui.terminal.biz.autoservice.deliveryConfirm;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.yxt.anrui.buscenter.api.busdeliveredapply.*;
import com.yxt.anrui.buscenter.api.bushandover.*;
import com.yxt.anrui.buscenter.api.bushandover.app.*;
import com.yxt.anrui.buscenter.api.bushandover.flow.BusHandoverCompleteDto;
import com.yxt.anrui.buscenter.api.bushandover.flow.BusHandoverTaskQuery;
import com.yxt.anrui.buscenter.api.bushandover.flow.SubmitBusHandoverDto;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemsFeign;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemsQuery;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItemsVo;
import com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitFeign;
import com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitQuery;
import com.yxt.anrui.buscenter.api.bushandoverwait.BusHandoverWaitVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.*;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.CompleteDeliveryConfirmDto;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.DeliveryConfirmTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.DeliveryFlowableQuery;
import com.yxt.anrui.terminal.api.autoservice.deliveryConfirm.flowable.SubmitDeliveryConfirmDto;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -18,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
@ -36,6 +48,10 @@ public class DeliveryConfirmService {
private BusHandoverFeign busHandoverFeign;
@Autowired
private BusHandoverItemsFeign busHandoverItemsFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<PagerVo<DeliveryConfirmVo>> getDeliveryConfirmNotList(PagerQuery<DeliveryConfirmQuery> pagerQuery) {
ResultBean<PagerVo<DeliveryConfirmVo>> rb = ResultBean.fireFail();
@ -51,39 +67,55 @@ public class DeliveryConfirmService {
public ResultBean<DeliveryConVo> getDeliveryBill(DeliveryConQuery deliveryConQuery) {
ResultBean<DeliveryConVo> rb = ResultBean.fireFail();
DeliveryConVo vo = new DeliveryConVo();
BusHandoverItemsQuery busHandoverItemsQuery = new BusHandoverItemsQuery();
BeanUtil.copyProperties(deliveryConQuery, busHandoverItemsQuery);
ResultBean<BusHandoverItemsVo> resultBean = busHandoverItemsFeign.getDeliveryBill(busHandoverItemsQuery);
if (resultBean.getSuccess()) {
BusHandoverItemsVo busHandoverItemsVo = resultBean.getData();
BeanUtil.copyProperties(busHandoverItemsVo, vo);
} else {
return rb.setMsg(resultBean.getMsg());
AppDeliveryConQuery query = new AppDeliveryConQuery();
BeanUtil.copyProperties(deliveryConQuery, query);
ResultBean<AppDeliveryConVo> deliveryBill = busHandoverFeign.getDeliveryBill(query);
if (deliveryBill.getSuccess()) {
AppDeliveryConVo data = deliveryBill.getData();
BeanUtil.copyProperties(data, vo);
}
// DeliveryConVo vo = new DeliveryConVo();
// BusHandoverItemsQuery busHandoverItemsQuery = new BusHandoverItemsQuery();
// BeanUtil.copyProperties(deliveryConQuery, busHandoverItemsQuery);
// ResultBean<BusHandoverItemsVo> resultBean = busHandoverItemsFeign.getDeliveryBill(busHandoverItemsQuery);
// if (resultBean.getSuccess()) {
// BusHandoverItemsVo busHandoverItemsVo = resultBean.getData();
// BeanUtil.copyProperties(busHandoverItemsVo, vo);
// } else {
// return rb.setMsg(resultBean.getMsg());
// }
return rb.success().setData(vo);
}
public ResultBean<List<DeliveryBillListVo>> saveDeliverybill(DeliveryDto dto) {
ResultBean<List<DeliveryBillListVo>> rb = ResultBean.fireFail();
BusHandoverDto busHandoverDto = new BusHandoverDto();
BeanUtil.copyProperties(dto, busHandoverDto);
ResultBean<List<BusHandoverListVo>> resultBean = busHandoverFeign.saveDeliverybill(busHandoverDto);
if(!resultBean.getSuccess()){
return rb.setMsg(resultBean.getMsg());
}
List<DeliveryBillListVo> list = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveryBillListVo.class)).collect(Collectors.toList());
return rb.success().setData(list);
}
// public ResultBean<List<DeliveryBillListVo>> saveDeliverybill(DeliveryDto dto) {
// ResultBean<List<DeliveryBillListVo>> rb = ResultBean.fireFail();
// BusHandoverDto busHandoverDto = new BusHandoverDto();
// BeanUtil.copyProperties(dto, busHandoverDto);
// ResultBean<List<BusHandoverListVo>> resultBean = busHandoverFeign.saveDeliverybill(busHandoverDto);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
// List<DeliveryBillListVo> list = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveryBillListVo.class)).collect(Collectors.toList());
// return rb.success().setData(list);
// }
public ResultBean<PagerVo<DeliveryListVo>> getDeliveryConfirmList(PagerQuery<DeliveryListQuery> pagerQuery) {
ResultBean<PagerVo<DeliveryListVo>> rb = ResultBean.fireFail();
PagerQuery<BusHandoverQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<BusHandoverVo>> resultBean = busHandoverFeign.getDeliveryConfirmList(pq);
List<DeliveryListVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveryListVo.class)).collect(Collectors.toList());
PagerVo<DeliveryListVo> v = new PagerVo<>();
BeanUtil.copyProperties(resultBean.getData(), v);
v.setRecords(voList);
return rb.success().setMsg("当前共查询到" + v.getTotal() + "条记录").setData(v);
PagerQuery<AppDeliveryListQuery> query = new PagerQuery<>();
BeanUtil.copyProperties(pagerQuery, query);
ResultBean<PagerVo<AppDeliveryListVo>> voResultBean = busHandoverFeign.appgetDeliveryConfirmList(query);
PagerVo<DeliveryListVo> vo = new PagerVo<>();
if (voResultBean.getSuccess()) {
PagerVo<AppDeliveryListVo> data = voResultBean.getData();
BeanUtil.copyProperties(data, vo);
}
// PagerQuery<BusHandoverQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
// ResultBean<PagerVo<BusHandoverVo>> resultBean = busHandoverFeign.getDeliveryConfirmList(pq);
// List<DeliveryListVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), DeliveryListVo.class)).collect(Collectors.toList());
// PagerVo<DeliveryListVo> v = new PagerVo<>();
// BeanUtil.copyProperties(resultBean.getData(), v);
// v.setRecords(voList);
return rb.success().setMsg("当前共查询到" + vo.getTotal() + "条记录").setData(vo);
}
public ResultBean<DeliveryInitVo> getDeliveryConfirmInfo(String sid) {
@ -98,11 +130,13 @@ public class DeliveryConfirmService {
return rb.success().setData(vo);
}
public ResultBean save(DeliveryInitDto dto) {
public ResultBean<String> save(DeliveryInitDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
BusHandoverInitDto busHandoverInitDto = new BusHandoverInitDto();
BeanUtil.copyProperties(dto, busHandoverInitDto);
ResultBean<BusHandoverInitVo> resultBean = busHandoverFeign.saveDeliveryConfirmInfo(busHandoverInitDto);
return resultBean;
// ResultBean<BusHandoverInitVo> resultBean = busHandoverFeign.saveDeliveryConfirmInfo(busHandoverInitDto);
ResultBean<String> stringResultBean = busHandoverFeign.saveDeliveryConfirmInfo(busHandoverInitDto);
return rb.success().setData(stringResultBean.getData());
}
public ResultBean<DeliveryDetailsVo> details(String sid) {
@ -116,4 +150,156 @@ public class DeliveryConfirmService {
BeanUtil.copyProperties(busHandoverDetailsVo, vo);
return rb.success().setData(vo);
}
/**
* 移动端保存确认信息并打印pdf
*
* @param dto
* @return
*/
public ResultBean<String> saveDeliverybill(DeliveryDto dto) throws Exception {
ResultBean<String> rb = ResultBean.fireFail();
AppDeliveryDto appDto = new AppDeliveryDto();
BeanUtil.copyProperties(dto, appDto);
ResultBean<String> resultBean = busHandoverFeign.saveDeliverybill(appDto);
String path = "";
if (resultBean.getSuccess()) {
path = resultBean.getData();
}
return rb.success().setData(path);
}
public ResultBean submitDeliveryConfirmInfo(SubmitDeliveryConfirmDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitBusHandoverDto submitBusHandoverDto = new SubmitBusHandoverDto();
BeanUtil.copyProperties(dto, submitBusHandoverDto);
ResultBean resultBean = busHandoverFeign.submitRecordApplication(submitBusHandoverDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeDeliveryConfirmInfo(CompleteDeliveryConfirmDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BusHandoverCompleteDto busHandoverCompleteDto = new BusHandoverCompleteDto();
BeanUtil.copyProperties(dto, busHandoverCompleteDto);
busHandoverCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = busHandoverFeign.complete(busHandoverCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectDeliveryConfirmInfo(DeliveryConfirmTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusHandoverTaskQuery taskQuery = new BusHandoverTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busHandoverFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallDeliveryConfirmInfo(DeliveryConfirmTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusHandoverTaskQuery taskQuery = new BusHandoverTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busHandoverFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopDeliveryConfirmInfo(DeliveryConfirmTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusHandoverTaskQuery taskQuery = new BusHandoverTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busHandoverFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(DeliveryFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
com.yxt.anrui.buscenter.api.bushandover.flow.GetNodeQuery getNodeQuery = new com.yxt.anrui.buscenter.api.bushandover.flow.GetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<com.yxt.anrui.buscenter.api.bushandover.flow.GetNodeVo>> getPreviousNodesForReject = busHandoverFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<com.yxt.anrui.buscenter.api.bushandover.flow.GetNodeVo>> getNextNodesForSubmit = busHandoverFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
/**
* 挂车保存交付信息
*
* @param dto
* @return
*/
public ResultBean<String> saveGcBill(GcBillDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
AppGcBillDto appGcBillDto = new AppGcBillDto();
BeanUtil.copyProperties(dto, appGcBillDto);
ResultBean<String> saveGcBill = busHandoverFeign.saveGcBill(appGcBillDto);
if (saveGcBill.getSuccess()) {
String data = saveGcBill.getData();
return rb.success().setData(data);
}
return rb.success();
}
public ResultBean<GcInitVo> getDeliveryConfirmGcInfo(String sid) {
ResultBean<GcInitVo> rb = ResultBean.fireFail();
GcInitVo vo = new GcInitVo();
ResultBean<BusHandoverInitVo> deliveryConfirmGcInfo = busHandoverFeign.getDeliveryConfirmGcInfo(sid);
if (deliveryConfirmGcInfo.getSuccess()) {
BusHandoverInitVo infoData = deliveryConfirmGcInfo.getData();
BeanUtil.copyProperties(infoData, vo);
}
return rb.success().setData(vo);
}
public ResultBean<String> saveDeliveryConfirmGcInfo(DeliveryInitDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
BusHandoverInitDto busHandoverInitDto = new BusHandoverInitDto();
BeanUtil.copyProperties(dto, busHandoverInitDto);
ResultBean<String> stringResultBean = busHandoverFeign.saveDeliveryConfirmGcInfo(busHandoverInitDto);
return rb.success().setData(stringResultBean.getData());
}
}

Loading…
Cancel
Save