Browse Source

挂车出库申请

master
God 2 years ago
parent
commit
05051e70ce
  1. 107
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApply.java
  2. 120
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDetailsVo.java
  3. 114
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDto.java
  4. 116
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeign.java
  5. 113
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeignFallback.java
  6. 57
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyInitQuery.java
  7. 62
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyQuery.java
  8. 80
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyVo.java
  9. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyCompleteDto.java
  10. 23
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeQuery.java
  11. 26
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeVo.java
  12. 45
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyTaskQuery.java
  13. 24
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/SubmitBaseTrailerOutApplyDto.java
  14. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  15. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  16. 72
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.java
  17. 41
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.xml
  18. 140
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java
  19. 638
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java
  20. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  21. 8
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java
  22. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java
  23. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

107
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApply.java

@ -0,0 +1,107 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApply.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApply <br/>
* Description: 挂车出库申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "挂车出库申请表", description = "挂车出库申请表")
@TableName("base_trailer_out_apply")
public class BaseTrailerOutApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("发起部门sid")
private String initiateDeptSid; // 发起部门sid
@ApiModelProperty("发起部门名称")
private String initiateDeptName; // 发起部门名称
@ApiModelProperty("发起人姓名")
private String initiatePeoName; // 发起人姓名
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("主车sid")
private String zcSid; // 主车sid
@ApiModelProperty("主车车架号")
private String zcVinNo; // 主车车架号
@ApiModelProperty("挂车sid")
private String gcSid; // 挂车sid
@ApiModelProperty("挂车车架号")
private String gcVinNo; // 挂车车架号
@ApiModelProperty("业务状态 001正常开票 002包牌开票 003欠款开票")
private String businessState; // 业务状态 001正常开票 002包牌开票 003欠款开票
@ApiModelProperty("开票单位")
private String invoiceTitle; // 开票单位
@ApiModelProperty("开票类型key")
private String billTypeKey; // 开票类型key
@ApiModelProperty("开票类型value")
private String billTypeValue; // 开票类型value
@ApiModelProperty("销售合同价")
private String oneBillMoney; // 销售合同价
@ApiModelProperty("开票信息")
private String openTickRemarks; // 开票信息
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeSid;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstSid;
@ApiModelProperty(value = "任务id")
private String taskId;
}

120
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDetailsVo.java

@ -0,0 +1,120 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyVo.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo <br/>
* Description: 挂车出库申请表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "挂车出库申请表 视图数据详情", description = "挂车出库申请表 视图数据详情")
public class BaseTrailerOutApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("发起部门sid")
private String initiateDeptSid; // 发起部门sid
@ApiModelProperty("发起部门名称")
private String initiateDeptName; // 发起部门名称
@ApiModelProperty("发起人sid")
private String createBySid; // 发起人sid
@ApiModelProperty("发起人姓名")
private String initiatePeoName; // 发起人姓名
@ApiModelProperty("发起日期")
private String createTime; // 发起日期
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("主车sid")
private String zcSid; // 主车sid
@ApiModelProperty("主车车架号")
private String zcVinNo; // 主车车架号
@ApiModelProperty("挂车sid")
private String gcSid; // 挂车sid
@ApiModelProperty("挂车车架号")
private String gcVinNo; // 挂车车架号
@ApiModelProperty("业务状态 001正常开票 002包牌开票 003欠款开票")
private String businessState; // 业务状态 001正常开票 002包牌开票 003欠款开票
@ApiModelProperty("开票单位")
private String invoiceTitle; // 开票单位
@ApiModelProperty("开票类型key")
private String billTypeKey; // 开票类型key
@ApiModelProperty("开票类型value")
private String billTypeValue; // 开票类型value
@ApiModelProperty("销售合同价")
private String oneBillMoney; // 销售合同价
@ApiModelProperty("开票信息")
private String openTickRemarks; // 开票信息
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeSid;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstSid;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("备注信息")
private String remarks;
@ApiModelProperty(value = "销售订单sid")
private String orderSid;
@ApiModelProperty(value = "合格证附件")
private List<String> hgzFiles;
}

114
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDto.java

@ -0,0 +1,114 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyDto.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyDto <br/>
* Description: 挂车出库申请表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "挂车出库申请表 数据传输对象", description = "挂车出库申请表 数据传输对象")
public class BaseTrailerOutApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("发起部门sid")
private String initiateDeptSid; // 发起部门sid
@ApiModelProperty("发起部门名称")
private String initiateDeptName; // 发起部门名称
@ApiModelProperty("发起人sid")
private String createBySid; // 发起人sid
@ApiModelProperty("发起人姓名")
private String initiatePeoName; // 发起人姓名
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("主车sid")
private String zcSid; // 主车sid
@ApiModelProperty("主车车架号")
private String zcVinNo; // 主车车架号
@ApiModelProperty("挂车sid")
private String gcSid; // 挂车sid
@ApiModelProperty("挂车车架号")
private String gcVinNo; // 挂车车架号
@ApiModelProperty("业务状态 001正常开票 002包牌开票 003欠款开票")
private String businessState; // 业务状态 001正常开票 002包牌开票 003欠款开票
@ApiModelProperty("开票单位")
private String invoiceTitle; // 开票单位
@ApiModelProperty("开票类型key")
private String billTypeKey; // 开票类型key
@ApiModelProperty("开票类型value")
private String billTypeValue; // 开票类型value
@ApiModelProperty("销售合同价")
private String oneBillMoney; // 销售合同价
@ApiModelProperty("开票信息")
private String openTickRemarks; // 开票信息
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("分公司sid")
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeSid;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstSid;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("备注信息")
private String remarks;
}

116
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeign.java

@ -0,0 +1,116 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
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;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyFeign.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyFeign <br/>
* Description: 挂车出库申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "挂车出库申请表")
@FeignClient(
contextId = "anrui-base-BaseTrailerOutApply",
name = "anrui-base",
path = "v1/basetraileroutapply",
fallback = BaseTrailerOutApplyFeignFallback.class)
public interface BaseTrailerOutApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<BaseTrailerOutApplyVo>> listPage(@RequestBody PagerQuery<BaseTrailerOutApplyQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody BaseTrailerOutApplyDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BaseTrailerOutApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("挂车出库初始化")
@PostMapping("/init")
@ResponseBody
public ResultBean<BaseTrailerOutApplyDetailsVo> init(@RequestBody BaseTrailerOutApplyInitQuery query);
/*************************挂车出库流程管理接口********************************/
@ApiOperation("挂车出库审批流程")
@PostMapping("/submitFinBillApplication")
public ResultBean submitFinBillApplication(@RequestBody @Valid SubmitBaseTrailerOutApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseTrailerOutApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<BaseTrailerOutApplyNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap BaseTrailerOutApplyNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<BaseTrailerOutApplyNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap BaseTrailerOutApplyNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BaseTrailerOutApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BaseTrailerOutApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BaseTrailerOutApplyTaskQuery query);
}

113
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeignFallback.java

@ -0,0 +1,113 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyFeignFallback <br/>
* Description: 挂车出库申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class BaseTrailerOutApplyFeignFallback implements BaseTrailerOutApplyFeign {
@Override
public ResultBean<PagerVo<BaseTrailerOutApplyVo>> listPage(PagerQuery<BaseTrailerOutApplyQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/basetraileroutapply/listPage无法访问");
}
@Override
public ResultBean save(BaseTrailerOutApplyDto dto){
return ResultBean.fireFail().setMsg("接口anrui-base/basetraileroutapply/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口anrui-base/basetraileroutapply/delBySids无法访问");
}
@Override
public ResultBean<BaseTrailerOutApplyDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/basetraileroutapply/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<BaseTrailerOutApplyDetailsVo> init(BaseTrailerOutApplyInitQuery query) {
return null;
}
@Override
public ResultBean submitFinBillApplication(SubmitBaseTrailerOutApplyDto dto) {
return null;
}
@Override
public ResultBean complete(BaseTrailerOutApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<BaseTrailerOutApplyNodeVo>> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) {
return null;
}
@Override
public ResultBean<List<BaseTrailerOutApplyNodeVo>> getNextNodesForSubmit(BaseTrailerOutApplyNodeQuery query) {
return null;
}
@Override
public ResultBean taskReject(BaseTrailerOutApplyTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(BaseTrailerOutApplyTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(BaseTrailerOutApplyTaskQuery query) {
return null;
}
}

57
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyInitQuery.java

@ -0,0 +1,57 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyQuery.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyQuery <br/>
* Description: 挂车出库申请表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "挂车出库申请表 查询条件", description = "挂车出库申请表 查询条件")
public class BaseTrailerOutApplyInitQuery implements Query {
@ApiModelProperty("挂车sid")
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgSidPath;
}

62
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyQuery.java

@ -0,0 +1,62 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyQuery.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyQuery <br/>
* Description: 挂车出库申请表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "挂车出库申请表 查询条件", description = "挂车出库申请表 查询条件")
public class BaseTrailerOutApplyQuery implements Query {
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("主车车架号")
private String zcVinNo;
@ApiModelProperty("挂车车架号")
private String gcVinNo;
}

80
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyVo.java

@ -0,0 +1,80 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.basetraileroutapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyVo.java <br/>
* Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo <br/>
* Description: 挂车出库申请表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "挂车出库申请表 视图数据对象", description = "挂车出库申请表 视图数据对象")
public class BaseTrailerOutApplyVo implements Vo {
private String sid;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("发起人姓名")
private String initiatePeoName;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("销售类型value")
private String saleTypeValue;
@ApiModelProperty("主车车架号")
private String zcVinNo;
@ApiModelProperty("挂车车架号")
private String gcVinNo;
@ApiModelProperty("业务状态 001正常开票 002包牌开票 003欠款开票")
private String businessState;
@ApiModelProperty("开票单位")
private String invoiceTitle;
@ApiModelProperty("开票类型value")
private String billTypeValue;
@ApiModelProperty("销售合同价")
private String oneBillMoney;
@ApiModelProperty("开票信息")
private String openTickRemarks;
}

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyCompleteDto.java

@ -0,0 +1,40 @@
package com.yxt.anrui.base.api.basetraileroutapply.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 14:57
* @Description
*/
@Data
public class BaseTrailerOutApplyCompleteDto implements Dto {
private static final long serialVersionUID = 6378752532534735663L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
@NotBlank(message = "参数错误:orgSidPath")
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 = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
}

23
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.base.api.basetraileroutapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:04
* @Description
*/
@Data
public class BaseTrailerOutApplyNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

26
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.base.api.basetraileroutapply.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:03
* @Description
*/
@Data
public class BaseTrailerOutApplyNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

45
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.base.api.basetraileroutapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/9/6 15:06
* @Description
*/
@Data
public class BaseTrailerOutApplyTaskQuery implements Query {
private static final long serialVersionUID = 1288615499873178778L;
/**
* 终止驳回撤回
*/
@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;
}

24
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/SubmitBaseTrailerOutApplyDto.java

@ -0,0 +1,24 @@
package com.yxt.anrui.base.api.basetraileroutapply.flowable;
import com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liuguohui
* @version 1.0
* @description
* @date 2022/04/13
*/
@ApiModel("提交")
@Data
public class SubmitBaseTrailerOutApplyDto extends BaseTrailerOutApplyDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -30,6 +30,7 @@ public enum BillTypeEnum {
SZRK("SZRK", "上装入库"),
XSDDTCSQ("XSDDTCSQ", "销售订单退车申请"),
QKTCSQ("QKTCSQ", "欠款提车申请"),
GCCKSQ("GCCKSQ", "挂车出库申请"),
JCZLQRD("JCZLQRD", "交车资料确认单");
private String billType;

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -754,7 +754,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//客户
salOutStock.setFCustomerID(baseVehicleOutApply.getContractNo());
salOutStock.setFCustomerID(baseVehicleOut.getCwCustomerNo());
//销售部门id
String orgDeptSid = baseVehicleOutApply.getOrgSid();
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
@ -889,19 +889,17 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
baseVehicleOut.setMaterialTypeKey("002");
baseVehicleOut.setMaterialTypeValue("挂车");
baseVehicleOut.setMaterialSid(baseTrailer.getSid());
baseVehicleOut.setCwCustomerNo(baseVehicleOutDetailsVo.getCwCustomerNo());
//保存车辆出库单子表
baseVehicleOutService.save(baseVehicleOut);
//推送金蝶挂车销售出库单
SalOutStock salOutStock = createSzOrGcSalOutStockNew(baseVehicle, baseVehicleOut, baseVehicleOutApply);
finKingDeeFeign.draftSalOutStock(salOutStock);
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
for (SalOutStock.FEntity entity : fEntity) {
baseTrailer.setStockStateKey(VehicleState.StockEnum.OUT_STOCK.getCode());
baseTrailer.setStockStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
baseTrailer.setDealPrice(baseVehicleOut.getPrice());
baseTrailer.setIssueDate(DateUtil.formatDate(new Date()));
saveOrUpdate(baseTrailer);
}
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(finBillApplicationDetailsVo.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(finBillApplicationDetailsVo.getContractNo());
@ -910,7 +908,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
finVehicleInvoiceDto.setVIN(baseTrailer.getVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleDetailsVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillVehicleDetailsVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(baseTrailer.getOneBillMoney());
finVehicleInvoiceDto.setInvoiceAmount(baseTrailer.getDealPrice());
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");

72
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.basetraileroutapply;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApply;
import com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyMapper.java <br/>
* Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyMapper <br/>
* Description: 挂车出库申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface BaseTrailerOutApplyMapper extends BaseMapper<BaseTrailerOutApply> {
//@Update("update base_trailer_out_apply set name=#{msg} where id=#{id}")
//IPage<BaseTrailerOutApplyVo> voPage(IPage<BaseTrailerOutApply> page, @Param(Constants.WRAPPER) QueryWrapper<BaseTrailerOutApply> qw);
IPage<BaseTrailerOutApplyVo> selectPageVo(IPage<BaseTrailerOutApply> page, @Param(Constants.WRAPPER) Wrapper<BaseTrailerOutApply> qw);
List<BaseTrailerOutApplyVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BaseTrailerOutApply> qw);
@Select("select * from base_trailer_out_apply")
List<BaseTrailerOutApplyVo> selectListVo();
int selectNum(String bill);
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> map);
}

41
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.xml

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo">
SELECT * FROM base_trailer_out_apply <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo">
SELECT * FROM base_trailer_out_apply <where> ${ew.sqlSegment} </where>
</select>
<select id="selectNum" resultType="int">
select IFNULL(CAST(REPLACE(MAX(billNo), #{bill}, '') AS SIGNED), 0) as code
from base_trailer_out_apply
where billNo LIKE concat(#{bill}, '%')
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM base_trailer_out_apply
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<update id="updateFlowFiled">
UPDATE base_trailer_out_apply
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper>

140
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java

@ -0,0 +1,140 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.basetraileroutapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basetraileroutapply.*;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.*;
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;
import io.swagger.annotations.Api;
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: BaseTrailerOutApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyRest <br/>
* Description: 挂车出库申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "挂车出库申请表")
@RestController("com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyRest")
@RequestMapping("v1/basetraileroutapply")
public class BaseTrailerOutApplyRest implements BaseTrailerOutApplyFeign {
@Autowired
private BaseTrailerOutApplyService baseTrailerOutApplyService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseTrailerOutApplyVo>> listPage(@RequestBody PagerQuery<BaseTrailerOutApplyQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseTrailerOutApplyVo> pv = baseTrailerOutApplyService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseTrailerOutApplyDto dto){
ResultBean rb = ResultBean.fireFail();
baseTrailerOutApplyService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
return baseTrailerOutApplyService.delAllBySids(sids);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<BaseTrailerOutApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseTrailerOutApplyDetailsVo vo = baseTrailerOutApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<BaseTrailerOutApplyDetailsVo> init(BaseTrailerOutApplyInitQuery query) {
return baseTrailerOutApplyService.init(query);
}
@Override
public ResultBean submitFinBillApplication(SubmitBaseTrailerOutApplyDto dto) {
return baseTrailerOutApplyService.submitFinBillApplication(dto);
}
@Override
public ResultBean complete(BaseTrailerOutApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId());
return baseTrailerOutApplyService.complete(bv);
}
@Override
public ResultBean<List<BaseTrailerOutApplyNodeVo>> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) {
return baseTrailerOutApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<BaseTrailerOutApplyNodeVo>> getNextNodesForSubmit(BaseTrailerOutApplyNodeQuery query) {
return baseTrailerOutApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(BaseTrailerOutApplyTaskQuery query) {
return baseTrailerOutApplyService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseTrailerOutApplyTaskQuery query) {
return baseTrailerOutApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseTrailerOutApplyTaskQuery query) {
return baseTrailerOutApplyService.breakProcess(query);
}
}

638
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java

@ -0,0 +1,638 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.basetraileroutapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basetrailer.BaseTrailer;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.basetraileroutapply.*;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.BaseTrailerOutApplyNodeQuery;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.BaseTrailerOutApplyNodeVo;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.BaseTrailerOutApplyTaskQuery;
import com.yxt.anrui.base.api.basetraileroutapply.flowable.SubmitBaseTrailerOutApplyDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDetailsVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign;
import com.yxt.anrui.fin.api.finbillapplication.SubmitFinBillApplicationDto;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDetailsVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto;
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign;
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.common.base.config.component.FileUploadComponent;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-base(挂车出库申请) <br/>
* File: BaseTrailerOutApplyService.java <br/>
* Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyService <br/>
* Description: 挂车出库申请表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-06-13 14:37:30 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class BaseTrailerOutApplyService extends MybatisBaseService<BaseTrailerOutApplyMapper, BaseTrailerOutApply> {
@Autowired
private BaseTrailerService baseTrailerService;
@Autowired
private BaseVehicleService baseVehicleService;
@Autowired
private FinBillVehicleFeign finBillVehicleFeign;
@Autowired
private FinBillApplicationFeign finBillApplicationFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private CommonAppendixService commonAppendixService;
@Autowired
private FileUploadComponent fileUploadComponent;
private QueryWrapper<BaseTrailerOutApply> createQueryWrapper(BaseTrailerOutApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BaseTrailerOutApply> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<BaseTrailerOutApplyVo> listPageVo(PagerQuery<BaseTrailerOutApplyQuery> pq) {
BaseTrailerOutApplyQuery query = pq.getParams();
QueryWrapper<BaseTrailerOutApply> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getContractNo())) {
qw.like("contractNo", query.getContractNo());
}
if (StringUtils.isNotBlank(query.getCustomerName())) {
qw.like("customerName", query.getCustomerName());
}
if (StringUtils.isNotBlank(query.getZcVinNo())) {
qw.like("zcVinNo", query.getZcVinNo());
}
if (StringUtils.isNotBlank(query.getGcVinNo())) {
qw.like("gcVinNo", query.getGcVinNo());
}
IPage<BaseTrailerOutApply> page = PagerUtil.queryToPage(pq);
IPage<BaseTrailerOutApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BaseTrailerOutApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String saveOrUpdateDto(BaseTrailerOutApplyDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
dto.setNodeState("待提交");
String sid = this.insertByDto(dto);
return sid;
}
this.updateByDto(dto);
return dtoSid;
}
public String insertByDto(BaseTrailerOutApplyDto dto) {
BaseTrailerOutApply entity = new BaseTrailerOutApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
return entity.getSid();
}
public void updateByDto(BaseTrailerOutApplyDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
BaseTrailerOutApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public BaseTrailerOutApplyDetailsVo fetchDetailsVoBySid(String sid) {
BaseTrailerOutApply entity = fetchBySid(sid);
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(entity.getGcSid());
BaseTrailerOutApplyDetailsVo vo = new BaseTrailerOutApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
//销售订单sid
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(vo.getContractNo()).getData();
vo.setOrderSid(busSalesOrder.getSid());
//合格证附件
List<CommonAppendixVo> appAppendixList = commonAppendixService.getAppAppendixList(baseTrailer.getSid(), "挂车合格证照片");
List<String> hgzFiles = new ArrayList<>();
if (!appAppendixList.isEmpty()){
for (CommonAppendixVo commonAppendixVo : appAppendixList) {
String filePath = commonAppendixVo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
hgzFiles.add(filePath);
}
}
vo.setHgzFiles(hgzFiles);
return vo;
}
public ResultBean<BaseTrailerOutApplyDetailsVo> init(BaseTrailerOutApplyInitQuery query) {
ResultBean rb = ResultBean.fireFail();
//挂车信息
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(query.getSid());
if (baseTrailer.getStockStateKey().equals("0002")) {
return rb.setMsg("该挂车已出库");
}
String vehSid = baseTrailer.getVehSid();
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vehSid);
String vehicleState = baseVehicle.getVehicleState();
if (!vehicleState.equals("0002")) {
return rb.setMsg("此主车车辆库存状态不是出库,请重新选择");
}
FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(vehSid).getData();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = null;
if (finBillVehicleDetailsVo == null) {
return rb.setMsg("关联的主车开票申请未审批通过,不可出库");
} else {
String billAppSid = finBillVehicleDetailsVo.getBillAppSid();
finBillApplicationDetailsVo = finBillApplicationFeign.fetchDetailsBySid(billAppSid).getData();
if (!finBillApplicationDetailsVo.getNodeState().equals("已办结")) {
return rb.setMsg("关联的主车开票申请未审批通过,不可出库");
}
}
BaseTrailerOutApplyDetailsVo baseTrailerOutApplyDetailsVo = new BaseTrailerOutApplyDetailsVo();
String userSid = query.getUserSid();
String orgSidPath = query.getOrgSidPath();
//分公司信息
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgSidPath).getData();
//发起部门信息
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgSidPath).getData();
baseTrailerOutApplyDetailsVo.setInitiateDeptSid(sysOrganizationVo.getSid());
baseTrailerOutApplyDetailsVo.setInitiateDeptName(sysOrganizationVo.getName());
//发起人信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData();
baseTrailerOutApplyDetailsVo.setCreateBySid(userSid);
baseTrailerOutApplyDetailsVo.setInitiatePeoName(sysUserVo.getName());
//发起日期
baseTrailerOutApplyDetailsVo.setCreateTime(DateUtil.formatDate(new Date()));
//合同编号
baseTrailerOutApplyDetailsVo.setContractNo(finBillApplicationDetailsVo.getContractNo());
//客户信息
baseTrailerOutApplyDetailsVo.setCustomerSid(finBillApplicationDetailsVo.getCustomerSid());
baseTrailerOutApplyDetailsVo.setCustomerName(finBillApplicationDetailsVo.getCustomerName());
//销售类型
baseTrailerOutApplyDetailsVo.setSaleTypeKey(finBillApplicationDetailsVo.getSaleTypeKey());
baseTrailerOutApplyDetailsVo.setSaleTypeValue(finBillApplicationDetailsVo.getSaleTypeValue());
//主车信息
baseTrailerOutApplyDetailsVo.setZcSid(vehSid);
baseTrailerOutApplyDetailsVo.setZcVinNo(baseVehicle.getVinNo());
//挂车信息
baseTrailerOutApplyDetailsVo.setGcSid(query.getSid());
baseTrailerOutApplyDetailsVo.setGcVinNo(baseTrailer.getVinNo());
//业务状态
baseTrailerOutApplyDetailsVo.setBusinessState(finBillApplicationDetailsVo.getBillStateValue());
//开票单位
baseTrailerOutApplyDetailsVo.setInvoiceTitle(finBillApplicationDetailsVo.getOpenTickUnitName());
//开票类型
baseTrailerOutApplyDetailsVo.setBillTypeKey(finBillApplicationDetailsVo.getOpenTickTypeKey());
baseTrailerOutApplyDetailsVo.setBillTypeValue(finBillApplicationDetailsVo.getOpenTickTypeValue());
//销售合同价
baseTrailerOutApplyDetailsVo.setOneBillMoney(baseTrailer.getDealPrice().toString());
//开票信息
baseTrailerOutApplyDetailsVo.setOpenTickRemarks(finBillVehicleDetailsVo.getOpenTickRemarks());
//分公司信息
baseTrailerOutApplyDetailsVo.setUseOrgSid(useOrgSid);
baseTrailerOutApplyDetailsVo.setOrgSidPath(orgSidPath);
//单据编号
String billNo = getApplyCode(baseVehicle.getPurchaseSystemSid());
baseTrailerOutApplyDetailsVo.setBillNo(billNo);
//销售订单sid
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(finBillApplicationDetailsVo.getContractNo()).getData();
baseTrailerOutApplyDetailsVo.setOrderSid(busSalesOrder.getSid());
//合格证附件
List<CommonAppendixVo> appAppendixList = commonAppendixService.getAppAppendixList(baseTrailer.getSid(), "挂车合格证照片");
List<String> hgzFiles = new ArrayList<>();
if (!appAppendixList.isEmpty()){
for (CommonAppendixVo commonAppendixVo : appAppendixList) {
String filePath = commonAppendixVo.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
hgzFiles.add(filePath);
}
}
baseTrailerOutApplyDetailsVo.setHgzFiles(hgzFiles);
return rb.success().setData(baseTrailerOutApplyDetailsVo);
}
public String getApplyCode(String orgSid) {
//获取分公司sid
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(orgSid);
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.GCCKSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
public ResultBean delAllBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
return rb.success().setMsg("删除成功");
}
public ResultBean submitFinBillApplication(SubmitBaseTrailerOutApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(dto.getSid());
int r = submitBusinessDataPc(dto, baseTrailerOutApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
String businessSid = saveOrUpdateDto(dto);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(dto.getOrgSidPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId());
//========================================
baseTrailerOutApply = fetchBySid(businessSid);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(bv.getModelId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("挂车出库申请");
messageFlowableQuery.setMsgContent(baseTrailerOutApply.getInitiatePeoName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("挂车出库申请");
messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(baseTrailerOutApply.getTaskId());
bv.setTaskDefKey(baseTrailerOutApply.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return null;
}
private synchronized int submitBusinessDataPc(SubmitBaseTrailerOutApplyDto dto, BaseTrailerOutApply baseTrailerOutApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (baseTrailerOutApply != null) {
String businessTaskId = baseTrailerOutApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
/**
* 更新流程相关的状态
*
* @param map
* @return
*/
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(baseTrailerOutApply.getOrgSidPath());
if (bv.getTaskId().equals(baseTrailerOutApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(baseTrailerOutApply.getProcDefId());
ufVo.setProcInsId(baseTrailerOutApply.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("挂车开票申请");
messageFlowableQuery.setMsgContent(baseTrailerOutApply.getInitiatePeoName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("挂车开票申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<BaseTrailerOutApplyNodeVo>> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) {
ResultBean rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid());
bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId());
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
bv.setFormVariables(variables);
//=======================================
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<BaseTrailerOutApplyNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BaseTrailerOutApplyNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<BaseTrailerOutApplyNodeVo>> getNextNodesForSubmit(BaseTrailerOutApplyNodeQuery query) {
ResultBean rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//查询业务信息
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid());
bv.setModelId(ProcDefEnum.BASETRAILEROUTAPPLY.getProDefId());
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
bv.setFormVariables(variables);
//=======================================
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<BaseTrailerOutApplyNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BaseTrailerOutApplyNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject(BaseTrailerOutApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(businessSid);
if (baseTrailerOutApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseTrailerOutApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(baseTrailerOutApply.getProcDefId());
flowProcessMapQuery.setVariables(variables);
flowProcessMapQuery.setContractNo(baseTrailerOutApply.getContractNo());
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = baseTrailerOutApply.getProcInstSid();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(baseTrailerOutApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("挂车开票申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(baseTrailerOutApply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(baseTrailerOutApply.getInitiatePeoName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("挂车开票申请");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(BaseTrailerOutApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid());
String businessTaskId = baseTrailerOutApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcess(BaseTrailerOutApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
BaseTrailerOutApply baseTrailerOutApply = fetchBySid(query.getBusinessSid());
String businessTaskId = baseTrailerOutApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

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

@ -1760,8 +1760,8 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
qw.eq("bv.isDelete", 0);
//锁定状态:未锁定
qw.eq("bv.lockedState", VehicleState.LockEnum.UN_LOCK.getCode());
//库存状态:库存或调出或内销
qw.and(wrapper -> wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.DC_STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.NX_STOCK.getCode()));
//库存状态:库存或调出或内销或在途
qw.and(wrapper -> wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.DC_STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.NX_STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.ING_STOCK.getCode()));
//买断状态:未买断
qw.eq("bv.settlementStatus", VehicleState.BuyoutEnum.UN_BUYOUT.getCode());
//订单类型

8
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -21,9 +22,9 @@ public class BusRecordsInvoiceHgzVo implements Vo {
@ApiModelProperty("物品名称")
private String invoiceTitle;
@ApiModelProperty("移交数量")
private String invoiceType;
private String transferNum;
@ApiModelProperty("物品单位")
private String invoicingName;
private String goodsUnit;
@ApiModelProperty("移交部门")
private String transferDept;
@ApiModelProperty("移交人")
@ -39,7 +40,8 @@ public class BusRecordsInvoiceHgzVo implements Vo {
@ApiModelProperty("接收人")
private String receiveName;
@ApiModelProperty("接收时间")
private String receiveTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date receiveTime;
@ApiModelProperty("接收状态:0待接收,1已接收")
private String receiveState;
@ApiModelProperty("接收备注")

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java

@ -1,10 +1,12 @@
package com.yxt.anrui.buscenter.api.bustransferrecords;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
@ -26,7 +28,8 @@ public class BusTransferRecordsHgzVo implements Vo {
@ApiModelProperty("接收人")
private String receiveName;
@ApiModelProperty("移交时间")
private String createTime;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("接收状态:0待接收,1已接收")
private String receiveState;
@ApiModelProperty("车架号")

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

@ -46,6 +46,7 @@ public enum ProcDefEnum {
CONTRACTAPPLY("合同审核", "process_gd8c9xd5:2:932504"),
BASEDISPACKAGEAPPLY("优惠包申请流程", "process_ncifet6k:3:1412548"),
BUSSALESORDERRETURNVEHAPPLY("销售订单退车申请", "process_tzjjs03y:1:1012504"),
BASETRAILEROUTAPPLY("挂车出库申请", "process_tkw6vhfw:1:1705004"),
/******************************测试流程id*********************************************/

Loading…
Cancel
Save