diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApply.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApply.java new file mode 100644 index 0000000000..da6e120b12 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApply.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApply
+ * Description: 挂车出库申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDetailsVo.java new file mode 100644 index 0000000000..206c4f9a00 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyVo.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo
+ * Description: 挂车出库申请表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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 hgzFiles; +} \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyDto.java new file mode 100644 index 0000000000..f7bfb72f21 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyDto.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyDto
+ * Description: 挂车出库申请表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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; +} \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeign.java new file mode 100644 index 0000000000..96c8d7f67f --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyFeign.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyFeign
+ * Description: 挂车出库申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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> listPage(@RequestBody PagerQuery 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 fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("挂车出库初始化") + @PostMapping("/init") + @ResponseBody + public ResultBean 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> getPreviousNodesForReject(@Valid @SpringQueryMap BaseTrailerOutApplyNodeQuery query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> 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); +} \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyFeignFallback.java new file mode 100644 index 0000000000..5b06a588b7 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyFeignFallback.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyFeignFallback
+ * Description: 挂车出库申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class BaseTrailerOutApplyFeignFallback implements BaseTrailerOutApplyFeign { + + @Override + public ResultBean> listPage(PagerQuery 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 fetchDetailsBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口anrui-base/basetraileroutapply/fetchDetailsBySid无法访问"); + } + + @Override + public ResultBean init(BaseTrailerOutApplyInitQuery query) { + return null; + } + + @Override + public ResultBean submitFinBillApplication(SubmitBaseTrailerOutApplyDto dto) { + return null; + } + + @Override + public ResultBean complete(BaseTrailerOutApplyCompleteDto query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) { + return null; + } + + @Override + public ResultBean> 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; + } +} \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyInitQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyInitQuery.java new file mode 100644 index 0000000000..b3369bd6ea --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyQuery.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyQuery
+ * Description: 挂车出库申请表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyQuery.java new file mode 100644 index 0000000000..5e87864d8d --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyQuery.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyQuery
+ * Description: 挂车出库申请表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/BaseTrailerOutApplyVo.java new file mode 100644 index 0000000000..14dcaad902 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyVo.java
+ * Class: com.yxt.anrui.base.api.basetraileroutapply.BaseTrailerOutApplyVo
+ * Description: 挂车出库申请表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyCompleteDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyCompleteDto.java new file mode 100644 index 0000000000..73e6ecfc19 --- /dev/null +++ b/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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeQuery.java new file mode 100644 index 0000000000..ccc4d9f07d --- /dev/null +++ b/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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyNodeVo.java new file mode 100644 index 0000000000..07175b2453 --- /dev/null +++ b/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 candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyTaskQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/BaseTrailerOutApplyTaskQuery.java new file mode 100644 index 0000000000..0b7d481845 --- /dev/null +++ b/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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/SubmitBaseTrailerOutApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetraileroutapply/flowable/SubmitBaseTrailerOutApplyDto.java new file mode 100644 index 0000000000..5b8461b69d --- /dev/null +++ b/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; +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java index 48c7702c4d..7f395c1451 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java +++ b/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; diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java index 0220d9c648..5d8e72cdac 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java @@ -754,7 +754,7 @@ public class BaseTrailerService extends MybatisBaseService resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid); @@ -889,19 +889,17 @@ public class BaseTrailerService extends MybatisBaseService 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); - } + 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_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无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(挂车出库申请)
+ * File: BaseTrailerOutApplyMapper.java
+ * Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyMapper
+ * Description: 挂车出库申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface BaseTrailerOutApplyMapper extends BaseMapper { + + //@Update("update base_trailer_out_apply set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from base_trailer_out_apply") + List selectListVo(); + + int selectNum(String bill); + + int selectBySid(String join); + + int updateFlowFiled(Map map); +} \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.xml new file mode 100644 index 0000000000..667e5d8760 --- /dev/null +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyMapper.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + UPDATE base_trailer_out_apply + SET nodeState=#{nodeState}, nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstSid=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyRest.java new file mode 100644 index 0000000000..71299eb873 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyFeignFallback.java
+ * Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyRest
+ * Description: 挂车出库申请表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @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> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo 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 fetchDetailsBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + BaseTrailerOutApplyDetailsVo vo = baseTrailerOutApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @Override + public ResultBean 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> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) { + return baseTrailerOutApplyService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean> 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); + } +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetraileroutapply/BaseTrailerOutApplyService.java new file mode 100644 index 0000000000..60c4e068d3 --- /dev/null +++ b/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(挂车出库申请)
+ * File: BaseTrailerOutApplyService.java
+ * Class: com.yxt.anrui.base.biz.basetraileroutapply.BaseTrailerOutApplyService
+ * Description: 挂车出库申请表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2023-06-13 14:37:30
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class BaseTrailerOutApplyService extends MybatisBaseService { + + @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 createQueryWrapper(BaseTrailerOutApplyQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + BaseTrailerOutApplyQuery query = pq.getParams(); + QueryWrapper 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 page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo 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 appAppendixList = commonAppendixService.getAppAppendixList(baseTrailer.getSid(), "挂车合格证照片"); + List 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 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 appAppendixList = commonAppendixService.getAppAppendixList(baseTrailer.getSid(), "挂车合格证照片"); + List 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 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 variables = new HashMap<>(); + Map 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 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 map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + BaseTrailerOutApply baseTrailerOutApply = fetchBySid(businessSid); + Map variables = new HashMap<>(); + Map 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 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> getPreviousNodesForReject(BaseTrailerOutApplyNodeQuery query) { + ResultBean rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map 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>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List 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> getNextNodesForSubmit(BaseTrailerOutApplyNodeQuery query) { + ResultBean rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map 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>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List 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 variables = new HashMap<>(); + Map 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 resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map 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> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List 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 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 resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } +} \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 80a9fb0e95..17831e7a2d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/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 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()); //订单类型 diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java index 39ee03a29a..821b0c6c45 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusRecordsInvoiceHgzVo.java +++ b/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("接收备注") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java index 2c1dcac5c7..71a35b1143 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bustransferrecords/BusTransferRecordsHgzVo.java +++ b/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("车架号") diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 76b7597c5d..02b9e16a11 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/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*********************************************/