Browse Source

调账申请流程接口开发。

调车开票申请流程接口开发。
排产申请订金管理接口开发。
master
God 3 years ago
parent
commit
2bef58c796
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyDto.java
  2. 36
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeign.java
  3. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeignFallback.java
  4. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyCompleteDto.java
  5. 56
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyTaskQuery.java
  6. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/GetNodeQuery.java
  7. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/GetNodeVo.java
  8. 20
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/SubmitBaseAccAdjApplyDto.java
  9. 76
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirm.java
  10. 77
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmDetailsVo.java
  11. 77
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmDto.java
  12. 83
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmFeign.java
  13. 77
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmFeignFallback.java
  14. 59
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmQuery.java
  15. 62
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmVo.java
  16. 50
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyIsConfirm.java
  17. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyDto.java
  18. 39
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java
  19. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java
  20. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/BaseShuntingInvoicingApplyCompleteDto.java
  21. 56
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/BaseShuntingInvoicingApplyTaskQuery.java
  22. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/GetNodeQuery.java
  23. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/GetNodeVo.java
  24. 20
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/SubmitBaseShuntingInvoicingApplyDto.java
  25. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java
  26. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml
  27. 48
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java
  28. 256
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  29. 67
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmMapper.java
  30. 23
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmMapper.xml
  31. 102
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmRest.java
  32. 149
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmService.java
  33. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.java
  34. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.xml
  35. 46
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java
  36. 253
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java
  37. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyDto.java

@ -53,6 +53,8 @@ public class BaseAccadjApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("调账类型key")

36
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeign.java

@ -25,16 +25,22 @@
*********************************************************/
package com.yxt.anrui.base.api.baseaccadjapply;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyCompleteDto;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDetailsVo;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.*;
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;
/**
@ -82,4 +88,34 @@ public interface BaseAccadjApplyFeign {
@PostMapping("/fetchVeh")
@ResponseBody
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(@RequestBody PagerQuery<BaseAccadjApplyByVehQuery> pq);
/*************************************************PC调账审批流程***************************************************/
@ApiOperation("提交调账申请审批流程")
@PostMapping("/submitAccAdjApply")
public ResultBean submitAccAdjApply(@Valid @RequestBody SubmitBaseAccAdjApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseAccAdjApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BaseAccAdjApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BaseAccAdjApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BaseAccAdjApplyTaskQuery query);
}

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeignFallback.java

@ -25,7 +25,12 @@
*********************************************************/
package com.yxt.anrui.base.api.baseaccadjapply;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyCompleteDto;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -75,4 +80,39 @@ public class BaseAccadjApplyFeignFallback implements BaseAccadjApplyFeign {
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(PagerQuery<BaseAccadjApplyByVehQuery> pq) {
return null;
}
@Override
public ResultBean submitAccAdjApply(SubmitBaseAccAdjApplyDto dto) {
return null;
}
@Override
public ResultBean complete(BaseAccAdjApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean taskReject(BaseAccAdjApplyTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(BaseAccAdjApplyTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(BaseAccAdjApplyTaskQuery query) {
return null;
}
}

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.base.api.baseaccadjapply.flow;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 9:01
* @Description
*/
@Data
public class BaseAccAdjApplyCompleteDto implements Dto {
private static final long serialVersionUID = 3240453987322803352L;
@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 = "意见")
@NotBlank(message = "参数错误:comment")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

56
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/BaseAccAdjApplyTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.base.api.baseaccadjapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/6/28 17:29
* @Description 终止撤回驳回查询参数
*/
@Data
public class BaseAccAdjApplyTaskQuery implements Query {
private static final long serialVersionUID = -4006020771892400451L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
/*@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/GetNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.baseaccadjapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 10:42
* @Description
*/
@Data
public class GetNodeQuery implements Query {
private static final long serialVersionUID = -5674867230708197611L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/GetNodeVo.java

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

20
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/flow/SubmitBaseAccAdjApplyDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.base.api.baseaccadjapply.flow;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitBaseAccAdjApplyDto extends BaseAccadjApplyDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

76
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirm.java

@ -0,0 +1,76 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
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;
import java.math.BigDecimal;
/**
* Project: anrui-base(排产订金申请确认) <br/>
* File: BaseProDepApplyConfirm.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirm <br/>
* Description: 排产订金申请确认表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:32 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "排产订金申请确认表", description = "排产订金申请确认表")
@TableName("base_pro_dep_apply_confirm")
public class BaseProDepApplyConfirm extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("排产申请编号")
private String proSchAppNo; // 排产申请编号
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("数量")
private String num; // 数量
@ApiModelProperty("是否确认(0未确认,1已确认)")
private String isConfirm; // 是否确认(0未确认,1已确认)
@ApiModelProperty("申请订金金额")
private BigDecimal applyDepositMoney; // 申请订金金额
@ApiModelProperty("是否申请订金(0是,1否)")
private String isApplyDeposit; // 是否申请订金(0是,1否)
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

77
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmDetailsVo.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-base(排产订金申请确认) <br/>
* File: BaseProDepApplyConfirmVo.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmVo <br/>
* Description: 排产订金申请确认表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "排产订金申请确认表 视图数据详情", description = "排产订金申请确认表 视图数据详情")
public class BaseProDepApplyConfirmDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("排产申请编号")
private String proSchAppNo; // 排产申请编号
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("数量")
private String num; // 数量
@ApiModelProperty("是否确认(0未确认,1已确认)")
private String isConfirm; // 是否确认(0未确认,1已确认)
@ApiModelProperty("申请订金金额")
private BigDecimal applyDepositMoney; // 申请订金金额
@ApiModelProperty("是否申请订金(0是,1否)")
private String isApplyDeposit; // 是否申请订金(0是,1否)
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

77
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmDto.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-base(排产订金申请确认) <br/>
* File: BaseProDepApplyConfirmDto.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmDto <br/>
* Description: 排产订金申请确认表 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "排产订金申请确认表 数据传输对象", description = "排产订金申请确认表 数据传输对象")
public class BaseProDepApplyConfirmDto implements Dto {
private String sid; // sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("排产申请编号")
private String proSchAppNo; // 排产申请编号
@ApiModelProperty("车型sid")
private String vehModelSid; // 车型sid
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("数量")
private String num; // 数量
@ApiModelProperty("是否确认(0未确认,1已确认)")
private String isConfirm; // 是否确认(0未确认,1已确认)
@ApiModelProperty("申请订金金额")
private BigDecimal applyDepositMoney; // 申请订金金额
@ApiModelProperty("是否申请订金(0是,1否)")
private String isApplyDeposit; // 是否申请订金(0是,1否)
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

83
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmFeign.java

@ -0,0 +1,83 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
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.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-base(排产订金申请确认) <br/>
* File: BaseProDepApplyConfirmFeign.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmFeign <br/>
* Description: 排产订金申请确认表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "排产订金申请确认表")
@FeignClient(
contextId = "anrui-base-BaseProDepApplyConfirm",
name = "anrui-base",
path = "v1/baseprodepapplyconfirm",
fallback = BaseProDepApplyConfirmFeignFallback.class)
public interface BaseProDepApplyConfirmFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<BaseProDepApplyConfirmVo>> listPage(@RequestBody PagerQuery<BaseProDepApplyConfirmQuery> pq);
@ApiOperation("排产订金确认办理")
@PostMapping("/confirm")
@ResponseBody
public ResultBean confirm(@RequestBody BaseProDepApplyIsConfirm baseProDepApplyIsConfirm);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody BaseProDepApplyConfirmDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BaseProDepApplyConfirmDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
}

77
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmFeignFallback.java

@ -0,0 +1,77 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
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: BaseProDepApplyConfirmFeignFallback.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmFeignFallback <br/>
* Description: 排产订金申请确认表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class BaseProDepApplyConfirmFeignFallback implements BaseProDepApplyConfirmFeign {
@Override
public ResultBean<PagerVo<BaseProDepApplyConfirmVo>> listPage(PagerQuery<BaseProDepApplyConfirmQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/baseprodepapplyconfirm/listPage无法访问");
}
@Override
public ResultBean confirm(BaseProDepApplyIsConfirm baseProDepApplyIsConfirm) {
return null;
}
@Override
public ResultBean save(BaseProDepApplyConfirmDto dto){
return ResultBean.fireFail().setMsg("接口anrui-base/baseprodepapplyconfirm/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口anrui-base/baseprodepapplyconfirm/delBySids无法访问");
}
@Override
public ResultBean<BaseProDepApplyConfirmDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/baseprodepapplyconfirm/fetchDetailsBySid无法访问");
}
}

59
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmQuery.java

@ -0,0 +1,59 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
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: BaseProDepApplyConfirmQuery.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmQuery <br/>
* Description: 排产订金申请确认表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "排产订金申请确认表 查询条件", description = "排产订金申请确认表 查询条件")
public class BaseProDepApplyConfirmQuery implements Query {
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("是否确认(0未确认,1已确认)")
private String isConfirm; // 是否确认(0未确认,1已确认)
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
}

62
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyConfirmVo.java

@ -0,0 +1,62 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
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: BaseProDepApplyConfirmVo.java <br/>
* Class: com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmVo <br/>
* Description: 排产订金申请确认表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "排产订金申请确认表 视图数据对象", description = "排产订金申请确认表 视图数据对象")
public class BaseProDepApplyConfirmVo implements Vo {
private String sid; // sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("排产申请编号")
private String proSchAppNo; // 排产申请编号
@ApiModelProperty("车型名称")
private String vehModelName; // 车型名称
@ApiModelProperty("数量")
private String num; // 数量
}

50
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseprodepapplyconfirm/BaseProDepApplyIsConfirm.java

@ -0,0 +1,50 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseprodepapplyconfirm;
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;
import java.math.BigDecimal;
@Data
public class BaseProDepApplyIsConfirm {
@ApiModelProperty("sid")
private String sid; // sid
@ApiModelProperty("申请订金金额")
private String applyDepositMoney; // 申请订金金额
@ApiModelProperty("是否申请订金(0是,1否)")
private String isApplyDeposit; // 是否申请订金(0是,1否)
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("排产申请编号")
private String proSchAppNo; // 排产申请编号
}

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyDto.java

@ -54,6 +54,8 @@ public class BaseShuntingInvoicingApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("调账类型key")
@ -72,16 +74,8 @@ public class BaseShuntingInvoicingApplyDto implements Dto {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("调车开票车辆列表")
private List<BaseShuntingInvoicinApplyeVehDto> baseShuntingInvoicinApplyeVehs; // 调车开票车辆列表
}

39
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeign.java

@ -26,15 +26,25 @@
package com.yxt.anrui.base.api.baseshuntinginvoicingapply;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyByVehQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyCompleteDto;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyCompleteDto;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyTaskQuery;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.SubmitBaseShuntingInvoicingApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
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;
/**
@ -83,4 +93,33 @@ public interface BaseShuntingInvoicingApplyFeign {
@ResponseBody
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(@RequestBody PagerQuery<BaseShuntingInvoicingByVehQuery> pq);
/*************************************************PC调车开票审批流程***************************************************/
@ApiOperation("提交调车开票审批流程")
@PostMapping("/submitSunInv")
public ResultBean submitSunInv(@Valid @RequestBody SubmitBaseShuntingInvoicingApplyDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseShuntingInvoicingApplyCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BaseShuntingInvoicingApplyTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BaseShuntingInvoicingApplyTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BaseShuntingInvoicingApplyTaskQuery query);
}

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyFeignFallback.java

@ -26,6 +26,11 @@
package com.yxt.anrui.base.api.baseshuntinginvoicingapply;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyCompleteDto;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyTaskQuery;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.SubmitBaseShuntingInvoicingApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -75,4 +80,39 @@ public class BaseShuntingInvoicingApplyFeignFallback implements BaseShuntingInvo
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(PagerQuery<BaseShuntingInvoicingByVehQuery> pq) {
return null;
}
@Override
public ResultBean submitSunInv(SubmitBaseShuntingInvoicingApplyDto dto) {
return null;
}
@Override
public ResultBean complete(BaseShuntingInvoicingApplyCompleteDto query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean taskReject(BaseShuntingInvoicingApplyTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(BaseShuntingInvoicingApplyTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(BaseShuntingInvoicingApplyTaskQuery query) {
return null;
}
}

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/BaseShuntingInvoicingApplyCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 9:01
* @Description
*/
@Data
public class BaseShuntingInvoicingApplyCompleteDto implements Dto {
private static final long serialVersionUID = 3240453987322803352L;
@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 = "意见")
@NotBlank(message = "参数错误:comment")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

56
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/BaseShuntingInvoicingApplyTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/6/28 17:29
* @Description 终止撤回驳回查询参数
*/
@Data
public class BaseShuntingInvoicingApplyTaskQuery implements Query {
private static final long serialVersionUID = -4006020771892400451L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
/*@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/GetNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 10:42
* @Description
*/
@Data
public class GetNodeQuery implements Query {
private static final long serialVersionUID = -5674867230708197611L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/GetNodeVo.java

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

20
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseshuntinginvoicingapply/flow/SubmitBaseShuntingInvoicingApplyDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyDto;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.BaseShuntingInvoicingApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitBaseShuntingInvoicingApplyDto extends BaseShuntingInvoicingApplyDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.java

@ -40,6 +40,7 @@ import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApply;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(调账管理) <br/>
@ -68,4 +69,6 @@ public interface BaseAccadjApplyMapper extends BaseMapper<BaseAccadjApply> {
List<BaseAccadjApplyVo> selectListVo();
IPage<BaseInternalPurchaseVehicleDetailsVo> fetchVeh(IPage<BaseInternalPurchaseVehicleDetailsVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseInternalPurchaseVehicleDetailsVo> qw);
int updateFlowFiled(Map<String, Object> map);
}

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyMapper.xml

@ -26,4 +26,20 @@
ON bipv.`mainSid` = bip.`sid`
<where> ${ew.sqlSegment} </where>
</select>
<update id="updateFlowFiled">
UPDATE base_accadj_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

48
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java

@ -25,8 +25,16 @@
*********************************************************/
package com.yxt.anrui.base.biz.baseaccadjapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.baseaccadjapply.*;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyCompleteDto;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
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;
@ -35,6 +43,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-base(调账管理) <br/>
* File: BaseAccadjApplyFeignFallback.java <br/>
@ -90,4 +100,42 @@ public class BaseAccadjApplyRest implements BaseAccadjApplyFeign {
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(PagerQuery<BaseAccadjApplyByVehQuery> pq) {
return baseAccadjApplyService.fetchVeh(pq);
}
@Override
public ResultBean submitAccAdjApply(SubmitBaseAccAdjApplyDto dto) {
return baseAccadjApplyService.submitAccAdjApply(dto);
}
@Override
public ResultBean complete(BaseAccAdjApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId());
return baseAccadjApplyService.complete(bv);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return baseAccadjApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return baseAccadjApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(BaseAccAdjApplyTaskQuery query) {
return baseAccadjApplyService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseAccAdjApplyTaskQuery query) {
return baseAccadjApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseAccAdjApplyTaskQuery query) {
return baseAccadjApplyService.breakProcess(query);
}
}

256
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -26,15 +26,36 @@
package com.yxt.anrui.base.biz.baseaccadjapply;
import cn.hutool.core.bean.BeanUtil;
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.baseaccadjapply.*;
import com.yxt.anrui.base.api.baseaccadjapply.flow.BaseAccAdjApplyTaskQuery;
import com.yxt.anrui.base.api.baseaccadjapply.flow.SubmitBaseAccAdjApplyDto;
import com.yxt.anrui.base.api.baseaccadjapplyeveh.BaseAccadjApplyeVeh;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDetailsVo;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
import com.yxt.anrui.base.biz.baseaccadjapplyeveh.BaseAccadjApplyeVehService;
import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService;
import com.yxt.anrui.base.biz.basemanufactorsubscription.BaseManufactorSubscriptionService;
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.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
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 org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -45,8 +66,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-base(调账管理) <br/>
@ -68,6 +90,14 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
private BaseAccadjApplyeVehService baseAccadjApplyeVehService;
@Autowired
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
private QueryWrapper<BaseAccadjApply> createQueryWrapper(BaseAccadjApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -203,4 +233,226 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
}
return rb.success().setMsg("删除成功");
}
public ResultBean submitAccAdjApply(SubmitBaseAccAdjApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BaseAccadjApply baseAccadjApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, baseAccadjApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId());
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));
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(baseAccadjApply.getTaskId());
bv.setTaskDefKey(baseAccadjApply.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitBaseAccAdjApplyDto dto, BaseAccadjApply baseAccadjApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (baseAccadjApply != null) {
String businessTaskId = baseAccadjApply.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();
BaseAccadjApply baseAccadjApply = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseAccadjApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject(BaseAccAdjApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseAccadjApply baseAccadjApply = fetchBySid(query.getBusinessSid());
if (baseAccadjApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseAccadjApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("参数错误:comment");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(BaseAccAdjApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排产申请
BaseAccadjApply baseAccadjApply = fetchBySid(query.getBusinessSid());
String businessTaskId = baseAccadjApply.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(BaseAccAdjApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseAccadjApply baseAccadjApply = fetchBySid(query.getBusinessSid());
String businessTaskId = baseAccadjApply.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("操作失败!提交的数据不一致!");
}
}

67
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmMapper.java

@ -0,0 +1,67 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.baseprodepapplyconfirm;
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.baseprodepapplyconfirm.BaseProDepApplyConfirm;
import com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmVo;
import java.util.List;
/**
* Project: anrui-base(排产订金申请确认) <br/>
* File: BaseProDepApplyConfirmMapper.java <br/>
* Class: com.yxt.anrui.base.biz.baseprodepapplyconfirm.BaseProDepApplyConfirmMapper <br/>
* Description: 排产订金申请确认表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface BaseProDepApplyConfirmMapper extends BaseMapper<BaseProDepApplyConfirm> {
//@Update("update base_pro_dep_apply_confirm set name=#{msg} where id=#{id}")
//IPage<BaseProDepApplyConfirmVo> voPage(IPage<BaseProDepApplyConfirm> page, @Param(Constants.WRAPPER) QueryWrapper<BaseProDepApplyConfirm> qw);
IPage<BaseProDepApplyConfirmVo> selectPageVo(IPage<BaseProDepApplyConfirm> page, @Param(Constants.WRAPPER) Wrapper<BaseProDepApplyConfirm> qw);
List<BaseProDepApplyConfirmVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BaseProDepApplyConfirm> qw);
@Select("select * from base_pro_dep_apply_confirm")
List<BaseProDepApplyConfirmVo> selectListVo();
void updateConfirmBySid(@Param("isApplyDeposit") String isApplyDeposit,@Param("applyDepositMoney") Integer applyDepositMoney,@Param("sid") String sid);
}

23
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmMapper.xml

@ -0,0 +1,23 @@
<?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.baseprodepapplyconfirm.BaseProDepApplyConfirmMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmVo">
SELECT * FROM base_pro_dep_apply_confirm <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.baseprodepapplyconfirm.BaseProDepApplyConfirmVo">
SELECT * FROM base_pro_dep_apply_confirm <where> ${ew.sqlSegment} </where>
</select>
<update id="updateConfirmBySid">
UPDATE
base_pro_dep_apply_confirm
SET
isApplyDeposit = #{isApplyDeposit},
applyDepositMoney = #{applyDepositMoney},
isConfirm = 1
WHERE sid = #{sid}
</update>
</mapper>

102
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmRest.java

@ -0,0 +1,102 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.baseprodepapplyconfirm;
import com.yxt.anrui.base.api.baseprodepapplyconfirm.*;
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: BaseProDepApplyConfirmFeignFallback.java <br/>
* Class: com.yxt.anrui.base.biz.baseprodepapplyconfirm.BaseProDepApplyConfirmRest <br/>
* Description: 排产订金申请确认表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "排产订金申请确认表")
@RestController("com.yxt.anrui.base.biz.baseprodepapplyconfirm.BaseProDepApplyConfirmRest")
@RequestMapping("v1/baseprodepapplyconfirm")
public class BaseProDepApplyConfirmRest implements BaseProDepApplyConfirmFeign {
@Autowired
private BaseProDepApplyConfirmService baseProDepApplyConfirmService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseProDepApplyConfirmVo>> listPage(@RequestBody PagerQuery<BaseProDepApplyConfirmQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseProDepApplyConfirmVo> pv = baseProDepApplyConfirmService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("排产订金确认办理")
@PostMapping("/confirm")
public ResultBean confirm(@RequestBody BaseProDepApplyIsConfirm baseProDepApplyIsConfirm){
return baseProDepApplyConfirmService.confirm(baseProDepApplyIsConfirm);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseProDepApplyConfirmDto dto){
ResultBean rb = ResultBean.fireFail();
baseProDepApplyConfirmService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
baseProDepApplyConfirmService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<BaseProDepApplyConfirmDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BaseProDepApplyConfirmDetailsVo vo = baseProDepApplyConfirmService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
}

149
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseprodepapplyconfirm/BaseProDepApplyConfirmService.java

@ -0,0 +1,149 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.biz.baseprodepapplyconfirm;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.baseprodepapplyconfirm.*;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
import com.yxt.anrui.base.biz.basemanufactorsubscription.BaseManufactorSubscriptionService;
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.Collections;
import java.util.List;
/**
* Project: anrui-base(排产订金申请确认) <br/>
* File: BaseProDepApplyConfirmService.java <br/>
* Class: com.yxt.anrui.base.biz.baseprodepapplyconfirm.BaseProDepApplyConfirmService <br/>
* Description: 排产订金申请确认表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-13 14:31:33 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class BaseProDepApplyConfirmService extends MybatisBaseService<BaseProDepApplyConfirmMapper, BaseProDepApplyConfirm> {
@Autowired
private BaseManufactorSubscriptionService baseManufactorSubscriptionService;
private QueryWrapper<BaseProDepApplyConfirm> createQueryWrapper(BaseProDepApplyConfirmQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BaseProDepApplyConfirm> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<BaseProDepApplyConfirmVo> listPageVo(PagerQuery<BaseProDepApplyConfirmQuery> pq) {
BaseProDepApplyConfirmQuery query = pq.getParams();
QueryWrapper<BaseProDepApplyConfirm> qw = new QueryWrapper<>();
qw.eq("createOrgSid", query.getCreateOrgSid());
qw.eq("isConfirm",query.getIsConfirm());
if (StringUtils.isNotBlank(query.getVehModelName())) {
qw.like("vehModelName",query.getVehModelName());
}
IPage<BaseProDepApplyConfirm> page = PagerUtil.queryToPage(pq);
IPage<BaseProDepApplyConfirmVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<BaseProDepApplyConfirmVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public void saveOrUpdateDto(BaseProDepApplyConfirmDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(BaseProDepApplyConfirmDto dto) {
BaseProDepApplyConfirm entity = new BaseProDepApplyConfirm();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(BaseProDepApplyConfirmDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
BaseProDepApplyConfirm entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public BaseProDepApplyConfirmDetailsVo fetchDetailsVoBySid(String sid) {
BaseProDepApplyConfirm entity = fetchBySid(sid);
BaseProDepApplyConfirmDetailsVo vo = new BaseProDepApplyConfirmDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public ResultBean confirm(BaseProDepApplyIsConfirm baseProDepApplyIsConfirm) {
ResultBean rb = ResultBean.fireFail();
String isApplyDeposit = baseProDepApplyIsConfirm.getIsApplyDeposit();
String sid = baseProDepApplyIsConfirm.getSid();
Integer applyDepositMoney = Integer.parseInt(baseProDepApplyIsConfirm.getApplyDepositMoney());
if (isApplyDeposit.equals("0")){
if (applyDepositMoney < 1){
return rb.setMsg("填写的申请订金金额必须大于0");
}
}
baseMapper.updateConfirmBySid(isApplyDeposit,applyDepositMoney,sid);
BaseManufactorSubscriptionDto baseManufactorSubscriptionDto = new BaseManufactorSubscriptionDto();
if (applyDepositMoney > 0) {
//未打款、未认款的厂家认款记录
baseManufactorSubscriptionDto.setState(0);//未认款
baseManufactorSubscriptionDto.setPaymentState("0");//未打款
} else if (applyDepositMoney == 0){
//无需打款、未认款的厂家认款记录
baseManufactorSubscriptionDto.setState(0);//未认款
baseManufactorSubscriptionDto.setPaymentState("2");//无需打款
}
baseManufactorSubscriptionDto.setCreateOrgSid(baseProDepApplyIsConfirm.getCreateOrgSid());
baseManufactorSubscriptionDto.setUseOrgSid(baseProDepApplyIsConfirm.getCreateOrgSid());
baseManufactorSubscriptionDto.setPaymentMoney(applyDepositMoney.toString());//打款金额
baseManufactorSubscriptionDto.setProSchAppNo(baseProDepApplyIsConfirm.getProSchAppNo());//排产申请编号
baseManufactorSubscriptionService.saveDto(baseManufactorSubscriptionDto);
return rb.success().setMsg("确认成功");
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.java

@ -38,6 +38,7 @@ import com.yxt.anrui.base.api.baseshuntinginvoicingapply.BaseShuntingInvoicingAp
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.BaseShuntingInvoicingApplyVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(调车开票) <br/>
@ -66,4 +67,6 @@ public interface BaseShuntingInvoicingApplyMapper extends BaseMapper<BaseShuntin
List<BaseShuntingInvoicingApplyVo> selectListVo();
IPage<BaseInternalPurchaseVehicleDetailsVo> fetchVeh(IPage<BaseInternalPurchaseVehicleDetailsVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaseInternalPurchaseVehicleDetailsVo> qw);
int updateFlowFiled(Map<String, Object> map);
}

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyMapper.xml

@ -26,4 +26,20 @@
ON bipv.`mainSid` = bip.`sid`
<where> ${ew.sqlSegment} </where>
</select>
<update id="updateFlowFiled">
UPDATE base_shunting_invoicing_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

46
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyRest.java

@ -25,8 +25,16 @@
*********************************************************/
package com.yxt.anrui.base.biz.baseshuntinginvoicingapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.*;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyCompleteDto;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyTaskQuery;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.SubmitBaseShuntingInvoicingApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
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;
@ -92,4 +100,42 @@ public class BaseShuntingInvoicingApplyRest implements BaseShuntingInvoicingAppl
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(PagerQuery<BaseShuntingInvoicingByVehQuery> pq) {
return baseShuntingInvoicingApplyService.fetchVeh(pq);
}
@Override
public ResultBean submitSunInv(SubmitBaseShuntingInvoicingApplyDto dto) {
return baseShuntingInvoicingApplyService.submitSunInv(dto);
}
@Override
public ResultBean complete(BaseShuntingInvoicingApplyCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASESHUNINVOICAPPLY.getProDefId());
return baseShuntingInvoicingApplyService.complete(bv);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return baseShuntingInvoicingApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return baseShuntingInvoicingApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(BaseShuntingInvoicingApplyTaskQuery query) {
return baseShuntingInvoicingApplyService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseShuntingInvoicingApplyTaskQuery query) {
return baseShuntingInvoicingApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseShuntingInvoicingApplyTaskQuery query) {
return baseShuntingInvoicingApplyService.breakProcess(query);
}
}

253
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java

@ -26,16 +26,30 @@
package com.yxt.anrui.base.biz.baseshuntinginvoicingapply;
import cn.hutool.core.bean.BeanUtil;
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.baseaccadjapply.BaseAccadjApplyByVehQuery;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApply;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.anrui.base.api.baseshuntinginvoicinapplyeveh.BaseShuntingInvoicinApplyeVehDetailsVo;
import com.yxt.anrui.base.api.baseshuntinginvoicinapplyeveh.BaseShuntingInvoicinApplyeVehDto;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.*;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.BaseShuntingInvoicingApplyTaskQuery;
import com.yxt.anrui.base.api.baseshuntinginvoicingapply.flow.SubmitBaseShuntingInvoicingApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService;
import com.yxt.anrui.base.biz.baseshuntinginvoicinapplyeveh.BaseShuntingInvoicinApplyeVehService;
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.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
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 org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -46,7 +60,11 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* Project: anrui-base(调车开票) <br/>
@ -68,6 +86,14 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
private BaseShuntingInvoicinApplyeVehService baseShuntingInvoicinApplyeVehService;
@Autowired
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
private QueryWrapper<BaseShuntingInvoicingApply> createQueryWrapper(BaseShuntingInvoicingApplyQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -175,4 +201,227 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
}
return rb.success().setMsg("删除成功");
}
public ResultBean submitSunInv(SubmitBaseShuntingInvoicingApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, baseShuntingInvoicingApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.BASESHUNINVOICAPPLY.getProDefId());
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));
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(baseShuntingInvoicingApply.getTaskId());
bv.setTaskDefKey(baseShuntingInvoicingApply.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitBaseShuntingInvoicingApplyDto dto, BaseShuntingInvoicingApply baseShuntingInvoicingApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (baseShuntingInvoicingApply != null) {
String businessTaskId = baseShuntingInvoicingApply.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();
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseShuntingInvoicingApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASESHUNINVOICAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASESHUNINVOICAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject(BaseShuntingInvoicingApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(query.getBusinessSid());
if (baseShuntingInvoicingApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseShuntingInvoicingApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("参数错误:comment");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(BaseShuntingInvoicingApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排产申请
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(query.getBusinessSid());
String businessTaskId = baseShuntingInvoicingApply.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(BaseShuntingInvoicingApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseShuntingInvoicingApply baseShuntingInvoicingApply = fetchBySid(query.getBusinessSid());
String businessTaskId = baseShuntingInvoicingApply.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("操作失败!提交的数据不一致!");
}
}

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

@ -26,8 +26,9 @@ public enum ProcDefEnum {
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:4:300008"), //TODO
FINCOSTAPPLY("费用申请","process_u0pahv0s:4:320016"),
FINPAYAPPLY("付款申请","process_gin2tntb:2:320012"),
BUSDELIVEREDAPPLY("出库申请","process_wgt1n66l:2:357504")
BUSDELIVEREDAPPLY("出库申请","process_wgt1n66l:2:357504"),
BASEACCADJAPPLY("调账申请","process_r6pyzqoz:1:352504"),
BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:352508")
;
ProcDefEnum(String proDefName, String proDefId) {

Loading…
Cancel
Save