Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 years ago
parent
commit
fdeb0995a6
  1. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchase.java
  2. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseDto.java
  3. 39
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java
  4. 40
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java
  5. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/BaseInterNalPurchaseCompleteDto.java
  6. 56
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/BaseInterNalPurchaseTaskQuery.java
  7. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/GetNodeQuery.java
  8. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/GetNodeVo.java
  9. 22
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/SubmitBaseInterNalPurchaseDto.java
  10. 186
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionDto.java
  11. 22
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java
  12. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java
  13. 90
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModprice.java
  14. 12
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceDetailVo.java
  15. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceDto.java
  16. 35
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeign.java
  17. 27
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeignFallback.java
  18. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceVo.java
  19. 41
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/BaseModelModPriceCompleteDto.java
  20. 44
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/BaseModelModPriceTaskQuery.java
  21. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/GetNodeQuery.java
  22. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/GetNodeVo.java
  23. 22
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/SubmitBaseModelModPriceDto.java
  24. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/AppScmInventoryRecordsVo.java
  25. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigQuerys.java
  26. 32
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  27. 48
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/utils/Rule.java
  28. 25
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/utils/domain/BillNo.java
  29. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.java
  30. 15
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.xml
  31. 53
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java
  32. 175
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java
  33. 115
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java
  34. 48
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java
  35. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceMapper.xml
  36. 43
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceRest.java
  37. 237
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java
  38. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  39. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  40. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.java
  41. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.xml
  42. 77
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  43. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
  44. 3
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  45. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinventory/ScmVehicleInventoryFeign.java
  46. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinventory/ScmVehicleInventoryQuery.java
  47. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinventory/ScmVehicleInventoryVo.java
  48. 1
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheet.java
  49. 11
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetDetailsVo.java
  50. 1
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetFeign.java
  51. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspection.java
  52. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionFeign.java
  53. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionVo.java
  54. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetMapper.java
  55. 16
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetMapper.xml
  56. 5
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetRest.java
  57. 103
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java
  58. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionMapper.java
  59. 21
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionMapper.xml
  60. 13
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionService.java

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchase.java

@ -66,5 +66,14 @@ public class BaseInternalPurchase extends BaseEntity {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String taskDefKey;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("流程实例的sid")
private String procInstSid;
@ApiModelProperty("任务id")
private String taskId;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseDto.java

@ -54,6 +54,10 @@ public class BaseInternalPurchaseDto implements Dto {
private String sid; // sid
@ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid
@ApiModelProperty("userSid")
private String userSid; // userSid
@ApiModelProperty("申请编号")
private String applyNo; // 申请编号
@ApiModelProperty("申请人姓名")

39
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeign.java

@ -25,15 +25,22 @@
*********************************************************/
package com.yxt.anrui.base.api.baseinternalpurchase;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseCompleteDto;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseTaskQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.SubmitBaseInterNalPurchaseDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BusinessVariablesDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyTaskQuery;
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 io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import javax.validation.Valid;
/**
* Project: anrui-base(内申请管理) <br/>
@ -75,4 +82,34 @@ public interface BaseInternalPurchaseFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
/*****************************车型调价流程****************************************************/
@ApiOperation("提交内购审批流程")
@PostMapping("/submitBaseInternalPurchase")
public ResultBean submitBaseInternalPurchase(@Valid @RequestBody SubmitBaseInterNalPurchaseDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody BaseInterNalPurchaseCompleteDto bvd);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean getNextNodesForSubmit(@Valid @RequestBody GetNextNodeDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean getPreviousNodesForReject(@Valid @RequestBody GetNextNodeDto query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BaseInterNalPurchaseTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BaseInterNalPurchaseTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BaseInterNalPurchaseTaskQuery query);
}

40
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseFeignFallback.java

@ -25,6 +25,11 @@
*********************************************************/
package com.yxt.anrui.base.api.baseinternalpurchase;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseCompleteDto;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseTaskQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.SubmitBaseInterNalPurchaseDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BusinessVariablesDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -69,4 +74,39 @@ public class BaseInternalPurchaseFeignFallback implements BaseInternalPurchaseFe
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/baseinternalpurchase/fetchDetailsBySid无法访问");
}
@Override
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) {
return null;
}
@Override
public ResultBean complete(BaseInterNalPurchaseCompleteDto bvd) {
return null;
}
@Override
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) {
return null;
}
@Override
public ResultBean getPreviousNodesForReject(GetNextNodeDto query) {
return null;
}
@Override
public ResultBean taskReject(BaseInterNalPurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(BaseInterNalPurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(BaseInterNalPurchaseTaskQuery query) {
return null;
}
}

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/BaseInterNalPurchaseCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.base.api.baseinternalpurchase.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 BaseInterNalPurchaseCompleteDto 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/baseinternalpurchase/flow/BaseInterNalPurchaseTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.base.api.baseinternalpurchase.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 BaseInterNalPurchaseTaskQuery 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/baseinternalpurchase/flow/GetNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.baseinternalpurchase.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/baseinternalpurchase/flow/GetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.baseinternalpurchase.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;
}

22
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/flow/SubmitBaseInterNalPurchaseDto.java

@ -0,0 +1,22 @@
package com.yxt.anrui.base.api.baseinternalpurchase.flow;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDto;
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 SubmitBaseInterNalPurchaseDto extends BaseInternalPurchaseDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

186
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionDto.java

@ -30,6 +30,7 @@ import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: manufactor_subscription(厂商认款) <br/>
@ -45,177 +46,20 @@ import io.swagger.annotations.ApiModelProperty;
* @since 1.0
*/
@ApiModel(value = "厂家认款表 数据传输对象", description = "厂家认款表 数据传输对象")
@Data
public class BaseManufactorSubscriptionDto implements Dto {
@ApiModelProperty("打款状态")
private String paymentState; // 打款状态
@ApiModelProperty("打款金额")
private String paymentMoney; // 打款金额
@ApiModelProperty("排产申请编号")
private String proSchAppNo; // 排产申请编号
@ApiModelProperty("认款日期")
private String subscriptionDate; // 认款日期
@ApiModelProperty("认款人")
private String subscriptionPeo; // 认款人
@ApiModelProperty("见证材料")
private String witMatUrl; // 见证材料
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
/**
* @return 打款状态
*/
public String getPaymentState(){
return paymentState;
}
/**
* @param paymentState 打款状态 to set
*/
public void setPaymentState(String paymentState){
this.paymentState = paymentState;
}
/**
* @return 打款金额
*/
public String getPaymentMoney(){
return paymentMoney;
}
/**
* @param paymentMoney 打款金额 to set
*/
public void setPaymentMoney(String paymentMoney){
this.paymentMoney = paymentMoney;
}
/**
* @return 排产申请编号
*/
public String getProSchAppNo(){
return proSchAppNo;
}
/**
* @param proSchAppNo 排产申请编号 to set
*/
public void setProSchAppNo(String proSchAppNo){
this.proSchAppNo = proSchAppNo;
}
/**
* @return 认款日期
*/
public String getSubscriptionDate(){
return subscriptionDate;
}
/**
* @param subscriptionDate 认款日期 to set
*/
public void setSubscriptionDate(String subscriptionDate){
this.subscriptionDate = subscriptionDate;
}
/**
* @return 认款人
*/
public String getSubscriptionPeo(){
return subscriptionPeo;
}
/**
* @param subscriptionPeo 认款人 to set
*/
public void setSubscriptionPeo(String subscriptionPeo){
this.subscriptionPeo = subscriptionPeo;
}
/**
* @return 见证材料
*/
public String getWitMatUrl(){
return witMatUrl;
}
/**
* @param witMatUrl 见证材料 to set
*/
public void setWitMatUrl(String witMatUrl){
this.witMatUrl = witMatUrl;
}
/**
* @return 使用组织sid
*/
public String getUseOrgSid(){
return useOrgSid;
}
/**
* @param useOrgSid 使用组织sid to set
*/
public void setUseOrgSid(String useOrgSid){
this.useOrgSid = useOrgSid;
}
/**
* @return 使用组织名称
*/
public String getUseOrgName(){
return useOrgName;
}
/**
* @param useOrgName 使用组织名称 to set
*/
public void setUseOrgName(String useOrgName){
this.useOrgName = useOrgName;
}
/**
* @return 创建组织sid
*/
public String getCreateOrgSid(){
return createOrgSid;
}
/**
* @param createOrgSid 创建组织sid to set
*/
public void setCreateOrgSid(String createOrgSid){
this.createOrgSid = createOrgSid;
}
/**
* @return 创建组织名称
*/
public String getCreateOrgName(){
return createOrgName;
}
/**
* @param createOrgName 创建组织名称 to set
*/
public void setCreateOrgName(String createOrgName){
this.createOrgName = createOrgName;
}
private static final long serialVersionUID = 192828391758690604L;
@ApiModelProperty("打款状态:0未打款,1已打款,2无需打款")
private String paymentState;
@ApiModelProperty("打款金额")
private String paymentMoney;
@ApiModelProperty(value = "认款状态:0未认款,1已认款")
private Integer state;
@ApiModelProperty("排产申请编号")
private String proSchAppNo;
@ApiModelProperty(value = "创建组织sid")
private String createOrgSid;
@ApiModelProperty(value = "使用组织sid")
private String useOrgSid;
}

22
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeign.java

@ -25,18 +25,16 @@
*********************************************************/
package com.yxt.anrui.base.api.basemanufactorsubscription;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* Project: manufactor_subscription(厂商认款) <br/>
* File: BaseManufactorSubscriptionFeign.java <br/>
@ -65,22 +63,22 @@ public interface BaseManufactorSubscriptionFeign {
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseManufactorSubscriptionDto dto);
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody BaseManufactorSubscriptionDto dto, @PathVariable("sid") String sid);
/* @ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody BaseManufactorSubscriptionDto dto, @PathVariable("sid") String sid);
*/
@ApiOperation("厂家认款通过")
@PostMapping("/adopt/{sid}/{remarks}")
public ResultBean adopt(@PathVariable("sid") String sid,@PathVariable("remarks") String remarks);
public ResultBean adopt(@PathVariable("sid") String sid, @PathVariable("remarks") String remarks);
@ApiOperation("根据sid批量删除")
/* @ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchBySid/{sid}")
public ResultBean<BaseManufactorSubscriptionVo> fetchBySid(@PathVariable("sid") String sid);
public ResultBean<BaseManufactorSubscriptionVo> fetchBySid(@PathVariable("sid") String sid);*/
/**
* 厂商认款见证材料上传

8
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemanufactorsubscription/BaseManufactorSubscriptionFeignFallback.java

@ -60,17 +60,17 @@ public class BaseManufactorSubscriptionFeignFallback implements BaseManufactorSu
return ResultBean.fireFail().setMsg("接口manufactor_subscription/basemanufactorsubscription/save无法访问");
}
@Override
/* @Override
public ResultBean update(BaseManufactorSubscriptionDto dto, String sid) {
return ResultBean.fireFail().setMsg("接口manufactor_subscription/basemanufactorsubscription/update无法访问");
}
}*/
@Override
public ResultBean adopt(String sid,String remarks) {
return null;
}
@Override
/* @Override
public ResultBean delBySids(String[] sids) {
return ResultBean.fireFail().setMsg("接口manufactor_subscription/basemanufactorsubscription/delBySids无法访问");
}
@ -79,7 +79,7 @@ public class BaseManufactorSubscriptionFeignFallback implements BaseManufactorSu
public ResultBean<BaseManufactorSubscriptionVo> fetchBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口manufactor_subscription/basemanufactorsubscription/fetchBySid无法访问");
}
}*/
@Override
public ResultBean pictureUpload(String sid, MultipartFile file) {

90
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModprice.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(车型调价申请) <br/>
@ -44,6 +45,7 @@ import io.swagger.annotations.ApiModelProperty;
* @since 1.0
*/
@ApiModel(value = "车型调价申请表", description = "车型调价申请表")
@Data
@TableName("base_model_modprice")
public class BaseModelModprice extends BaseEntity {
private static final long serialVersionUID = 1L;
@ -67,82 +69,14 @@ public class BaseModelModprice extends BaseEntity {
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
/**
* @return 申请人姓名
*/
public String getApplyPeoName(){
return applyPeoName;
}
/**
* @param applyPeoName 申请人姓名 to set
*/
public void setApplyPeoName(String applyPeoName){
this.applyPeoName = applyPeoName;
}
/**
* @return 调价原因
*/
public String getModpriceReason(){
return modpriceReason;
}
/**
* @param modpriceReason 调价原因 to set
*/
public void setModpriceReason(String modpriceReason){
this.modpriceReason = modpriceReason;
}
/**
* @return 使用组织sid
*/
public String getUseOrgSid(){
return useOrgSid;
}
/**
* @param useOrgSid 使用组织sid to set
*/
public void setUseOrgSid(String useOrgSid){
this.useOrgSid = useOrgSid;
}
/**
* @return 使用组织名称
*/
public String getUseOrgName(){
return useOrgName;
}
/**
* @param useOrgName 使用组织名称 to set
*/
public void setUseOrgName(String useOrgName){
this.useOrgName = useOrgName;
}
/**
* @return 创建组织sid
*/
public String getCreateOrgSid(){
return createOrgSid;
}
/**
* @param createOrgSid 创建组织sid to set
*/
public void setCreateOrgSid(String createOrgSid){
this.createOrgSid = createOrgSid;
}
/**
* @return 创建组织名称
*/
public String getCreateOrgName(){
return createOrgName;
}
/**
* @param createOrgName 创建组织名称 to set
*/
public void setCreateOrgName(String createOrgName){
this.createOrgName = createOrgName;
}
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeId;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
}

12
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceDetailVo.java

@ -54,6 +54,8 @@ import java.util.List;
@Data
public class BaseModelModpriceDetailVo implements Vo {
@ApiModelProperty("sid")
private String sid; // sid
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime; // 申请日期
@ -61,6 +63,16 @@ public class BaseModelModpriceDetailVo implements Vo {
private String applyPeoName; // 申请人姓名
@ApiModelProperty("调价原因")
private String modpriceReason; // 调价原因
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty(value = "流程实例id")
private String procInstId;
@ApiModelProperty(value = "创建组织sid")
private String createOrgSid;
@ApiModelProperty(value = "创建人sid")
private String createBySid;
@ApiModelProperty(value = "使用组织sid")
private String useOrgSid;
@ApiModelProperty("调价申请车型列表")
private List<BaseModelModpriceModelVo> baseModelModpriceModels; // 调价申请车型列表
}

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceDto.java

@ -54,10 +54,8 @@ public class BaseModelModpriceDto implements Dto {
@ApiModelProperty("sid")
private String sid; // sid
@ApiModelProperty("业务员sid")
private String staffSid; // 业务员sid
@ApiModelProperty("userSid")
private String userSid; // userSid
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("申请人姓名")
private String applyPeoName; // 申请人姓名
@ApiModelProperty("调价原因")

35
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeign.java

@ -25,18 +25,17 @@
*********************************************************/
package com.yxt.anrui.base.api.basemodelmodprice;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BusinessVariablesDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.SubmitBaseOutSourcingApplicationDto;
import com.yxt.anrui.base.api.flow.FlowTaskVo;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
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 io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -83,17 +82,29 @@ public interface BaseModelModpriceFeign {
@ApiOperation("提交车型调价流程")
@PostMapping("/submitBaseModelModPrice")
public ResultBean submitBaseModelModPrice(@RequestBody @Valid SubmitBaseModelModPrice dto);
public ResultBean submitBaseModelModPrice(@Valid @RequestBody SubmitBaseModelModPriceDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@ApiParam(value = "变量集合,json对象") @RequestBody BusinessVariablesDto bvd);
public ResultBean complete(@Valid @RequestBody BaseModelModPriceCompleteDto query);
@ApiOperation(value = "获取下一个环节")
@PostMapping(value = "/getNextNodesForSubmit")
ResultBean getNextNodesForSubmit(@ApiParam(value = "变量集合,json对象") @RequestBody GetNextNodeDto gnnd);
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@PostMapping(value = "/getPreviousNodesForReject")
ResultBean getPreviousNodesForReject(@ApiParam(value = "变量集合,json对象") @RequestBody GetNextNodeDto gnnd);
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody BaseModelModPriceTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody BaseModelModPriceTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody BaseModelModPriceTaskQuery query);
}

27
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceFeignFallback.java

@ -25,6 +25,10 @@
*********************************************************/
package com.yxt.anrui.base.api.basemodelmodprice;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BusinessVariablesDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.common.core.query.PagerQuery;
@ -73,22 +77,37 @@ public class BaseModelModpriceFeignFallback implements BaseModelModpriceFeign {
}
@Override
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPrice dto) {
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPriceDto dto) {
return null;
}
@Override
public ResultBean complete(BusinessVariablesDto bvd) {
public ResultBean complete(BaseModelModPriceCompleteDto query) {
return null;
}
@Override
public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) {
public ResultBean getNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean getPreviousNodesForReject(GetNextNodeDto gnnd) {
public ResultBean getPreviousNodesForReject(GetNodeQuery query) {
return null;
}
@Override
public ResultBean taskReject(BaseModelModPriceTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(BaseModelModPriceTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(BaseModelModPriceTaskQuery query) {
return null;
}
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModpriceVo.java

@ -64,4 +64,6 @@ public class BaseModelModpriceVo implements Vo {
private String vehicleAlias; // 车型别名
@ApiModelProperty("调价原因")
private String modpriceReason; // 调价原因
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
}

41
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/BaseModelModPriceCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.base.api.basemodelmodprice.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 BaseModelModPriceCompleteDto 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;
}

44
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/BaseModelModPriceTaskQuery.java

@ -0,0 +1,44 @@
package com.yxt.anrui.base.api.basemodelmodprice.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 BaseModelModPriceTaskQuery 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;
}

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

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.basemodelmodprice.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/basemodelmodprice/flow/GetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.api.basemodelmodprice.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;
}

22
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/flow/SubmitBaseModelModPriceDto.java

@ -0,0 +1,22 @@
package com.yxt.anrui.base.api.basemodelmodprice.flow;
import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceDto;
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 SubmitBaseModelModPriceDto extends BaseModelModpriceDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/AppScmInventoryRecordsVo.java

@ -9,14 +9,15 @@ public class AppScmInventoryRecordsVo implements Vo {
@ApiModelProperty("列表sid")
private String sid;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("存放地点sid")
private String warehouseSid;
@ApiModelProperty("存放地点")
private String warehouse;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型名称")
private String modelName;
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigQuerys.java

@ -50,6 +50,7 @@ import java.util.List;
@Data
public class BaseVehmodelConfigQuerys implements Query {
private static final long serialVersionUID = 4709259975908909806L;
@ApiModelProperty(value = "分公司sid")
private String useOrgSid;
// @ApiModelProperty(value = "车型配置和常用配置")

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

@ -0,0 +1,32 @@
package com.yxt.anrui.base.common.enums;
/**
* @Author dimengzhe
* @Date 2022/7/1 9:35
* @Description 单据类型首字母枚举类
*/
public enum BillTypeEnum {
/**
* 排产申请
*/
PCSQ("PCSQ", "排产申请"),
;
private String billType;
private String billTypeName;
public String getBillType() {
return billType;
}
public String getBillTypeName() {
return billTypeName;
}
BillTypeEnum(String billType, String billTypeName) {
this.billType = billType;
this.billTypeName = billTypeName;
}
}

48
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/utils/Rule.java

@ -0,0 +1,48 @@
package com.yxt.anrui.base.common.utils;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import org.springframework.util.StringUtils;
/**
* @Author dimengzhe
* @Date 2022/7/1 9:44
* @Description 规则
*/
public class Rule {
/**
* 单据编号规则单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
* 单据名称大写首字母+品牌编码+分公司编码+年份+月份
*
* @return
*/
public static String getBill(BillNo b) {
String billType = b.getBillType();
String brandCode = b.getBrandCode();
String orgCode = b.getOrgCode();
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
String bill = billType;
if (!StringUtils.isEmpty(brandCode)) {
bill = bill + brandCode;
}
if (!StringUtils.isEmpty(orgCode)) {
bill = bill + orgCode;
}
bill = bill + date;
return bill;
}
/**
* 生成单据编号规则
*
* @param bill 单据名称大写首字母+品牌编码+分公司编码+年份+月份
* @param i 根据单据编号包含单据名称大写首字母+品牌编码+分公司编码+年份+月份查询出来的单据的个数
* @return
*/
public static String getBillNo(String bill, int i) {
String num = String.format("%04d", i + 1); // 不足4位补0
String billNo = bill + num;
return billNo;
}
}

25
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/utils/domain/BillNo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.base.common.utils.domain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author dimengzhe
* @Date 2022/7/1 9:46
* @Description
*/
@Data
public class BillNo implements Serializable {
private static final long serialVersionUID = 1598887042562656350L;
@ApiModelProperty(value = "品牌编码")
private String brandCode;
@ApiModelProperty(value = "单据名称首字母")
private String billType;
@ApiModelProperty(value = "分公司编码")
private String orgCode;
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.java

@ -36,6 +36,7 @@ import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchase;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(内申请管理) <br/>
@ -62,4 +63,6 @@ public interface BaseInternalPurchaseMapper extends BaseMapper<BaseInternalPurch
@Select("select * from base_internal_purchase")
List<BaseInternalPurchaseVo> selectListVo();
int updateFlowFiled(Map<String, Object> beanToMap);
}

15
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.xml

@ -25,4 +25,19 @@
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseVo">
SELECT * FROM base_internal_purchase <where> ${ew.sqlSegment} </where>
</select>
<update id="updateFlowFiled">
UPDATE base_internal_purchase
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper>

53
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseRest.java

@ -25,6 +25,15 @@
*********************************************************/
package com.yxt.anrui.base.biz.baseinternalpurchase;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.baseinternalpurchase.*;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseCompleteDto;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseTaskQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.SubmitBaseInterNalPurchaseDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BusinessVariablesDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
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;
@ -34,12 +43,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchase;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseVo;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDetailsVo;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDto;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseFeign;
/**
* Project: anrui-base(内申请管理) <br/>
@ -91,4 +94,42 @@ public class BaseInternalPurchaseRest implements BaseInternalPurchaseFeign {
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
return baseInternalPurchaseService.fetchDetailsVoBySid(sid);
}
@Override
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) {
return baseInternalPurchaseService.submitBaseInternalPurchase(dto);
}
@Override
public ResultBean complete(BaseInterNalPurchaseCompleteDto bvd) {
BusinessVariables bv=new BusinessVariables();
BeanUtil.copyProperties(bvd,bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
return baseInternalPurchaseService.complete(bv);
}
@Override
public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) {
return baseInternalPurchaseService.getNextNodesForSubmit(gnnd);
}
@Override
public ResultBean getPreviousNodesForReject(GetNextNodeDto gnnd) {
return baseInternalPurchaseService.getPreviousNodesForReject(gnnd);
}
@Override
public ResultBean taskReject(BaseInterNalPurchaseTaskQuery query) {
return baseInternalPurchaseService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseInterNalPurchaseTaskQuery query) {
return baseInternalPurchaseService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseInterNalPurchaseTaskQuery query) {
return baseInternalPurchaseService.breakProcess(query);
}
}

175
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java

@ -26,29 +26,42 @@
package com.yxt.anrui.base.biz.baseinternalpurchase;
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.baseinternalpurchase.*;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.BaseInterNalPurchaseTaskQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.SubmitBaseInterNalPurchaseDto;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDto;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleVo;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService;
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 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 com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchase;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseQuery;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseVo;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDetailsVo;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseDto;
import com.yxt.anrui.base.api.baseinternalpurchase.BaseInternalPurchaseFeign;
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 +81,12 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
@Autowired
private BaseInternalPurchaseVehicleService baseInternalPurchaseVehicleService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -156,4 +175,148 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
}
return rb.success().setMsg("删除成功");
}
public ResultBean submitBaseInternalPurchase(SubmitBaseInterNalPurchaseDto dto) {
//取组织架构的全路径sid
SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
String orgSidPath = sysStaffOrg.getOrgSidPath();
Map<String, Object> variables = BeanUtil.beanToMap(dto);
ResultBean resultBean = saveAll(dto);
String businessSid = resultBean.getData().toString();
BusinessVariables bv = new BusinessVariables();
bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUserSid());
variables.put("businessSid", businessSid);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
// 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢?
// 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题
if (StringUtils.isBlank(dto.getTaskId())) { // 新提交
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else { // 驳回到发起人后再次提交
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
}
private int updateFlowFiled(Map<String, Object> beanToMap) {
return baseMapper.updateFlowFiled(beanToMap);
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseInternalPurchase.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 getNextNodesForSubmit(GetNextNodeDto query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.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 getPreviousNodesForReject(GetNextNodeDto query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEINTERNALPURCHASE.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 taskReject(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
if (baseInternalPurchase == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
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(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排产申请
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.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(BaseInterNalPurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.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());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

115
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionRest.java

@ -25,7 +25,10 @@
*********************************************************/
package com.yxt.anrui.base.biz.basemanufactorsubscription;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendix;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionFeign;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionQuery;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
@ -37,14 +40,10 @@ 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;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscription;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionQuery;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionVo;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionFeign;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
/**
@ -65,46 +64,42 @@ import org.springframework.web.multipart.MultipartFile;
@RequestMapping("v1/basemanufactorsubscription")
public class BaseManufactorSubscriptionRest implements BaseManufactorSubscriptionFeign {
@Autowired
private BaseManufactorSubscriptionService baseManufactorSubscriptionService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private CommonAppendixService commonAppendixService;
@Autowired
private BaseManufactorSubscriptionService baseManufactorSubscriptionService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private CommonAppendixService commonAppendixService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseManufactorSubscriptionVo>> listPage(@RequestBody PagerQuery<BaseManufactorSubscriptionQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseManufactorSubscriptionVo> pv = baseManufactorSubscriptionService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BaseManufactorSubscriptionVo>> listPage(@RequestBody PagerQuery<BaseManufactorSubscriptionQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<BaseManufactorSubscriptionVo> pv = baseManufactorSubscriptionService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody BaseManufactorSubscriptionDto dto){
ResultBean rb = ResultBean.fireFail();
baseManufactorSubscriptionService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
public ResultBean save(BaseManufactorSubscriptionDto dto) {
return baseManufactorSubscriptionService.saveDto(dto);
}
@Override
/*@Override
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody BaseManufactorSubscriptionDto dto, @PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
baseManufactorSubscriptionService.updateBySid(dto.toMap(),sid);
return rb.success();
}
}*/
@Override
public ResultBean adopt(String sid,String remarks) {
return baseManufactorSubscriptionService.adopt(sid,remarks);
}
@Override
public ResultBean adopt(String sid, String remarks) {
return baseManufactorSubscriptionService.adopt(sid, remarks);
}
@Override
/*@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
@ -120,27 +115,27 @@ public class BaseManufactorSubscriptionRest implements BaseManufactorSubscriptio
ResultBean rb = ResultBean.fireFail();
BaseManufactorSubscriptionVo vo = null;
return rb.success().setData(vo);
}
}*/
@Override
public ResultBean pictureUpload(String sid, MultipartFile file) {
ResultBean rb = ResultBean.fireFail();
if (file == null || file.isEmpty()) {
return rb.setMsg("文件为空");
}
rb = fileUploadComponent.uploadFile(file);
FileUploadResult data = (FileUploadResult)rb.getData();
commonAppendixService.deleteFiles(sid);
CommonAppendix commonAppendix = new CommonAppendix();
commonAppendix.setLinkSid(sid);
commonAppendix.setFilePath(data.getFilePath());
commonAppendix.setAttachType(CommonAttachTypeEnum.MANUFACTOR_SUB.getAttachType());
commonAppendix.setFileName(data.getSourceFileName());
commonAppendix.setFileSize(data.getSize());
String sourceFileName = data.getSourceFileName();
commonAppendix.setFileType(sourceFileName.substring(sourceFileName.lastIndexOf(".")));
commonAppendixService.save(commonAppendix);
baseManufactorSubscriptionService.updateWitMatUrl(data.getFilePath(),sid);
return rb.success().setMsg("上传成功");
}
@Override
public ResultBean pictureUpload(String sid, MultipartFile file) {
ResultBean rb = ResultBean.fireFail();
if (file == null || file.isEmpty()) {
return rb.setMsg("文件为空");
}
rb = fileUploadComponent.uploadFile(file);
FileUploadResult data = (FileUploadResult) rb.getData();
commonAppendixService.deleteFiles(sid);
CommonAppendix commonAppendix = new CommonAppendix();
commonAppendix.setLinkSid(sid);
commonAppendix.setFilePath(data.getFilePath());
commonAppendix.setAttachType(CommonAttachTypeEnum.MANUFACTOR_SUB.getAttachType());
commonAppendix.setFileName(data.getSourceFileName());
commonAppendix.setFileSize(data.getSize());
String sourceFileName = data.getSourceFileName();
commonAppendix.setFileType(sourceFileName.substring(sourceFileName.lastIndexOf(".")));
commonAppendixService.save(commonAppendix);
baseManufactorSubscriptionService.updateWitMatUrl(data.getFilePath(), sid);
return rb.success().setMsg("上传成功");
}
}

48
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java

@ -28,19 +28,17 @@ package com.yxt.anrui.base.biz.basemanufactorsubscription;
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.BaseManufactorSubscription;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionQuery;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionVo;
import com.yxt.common.base.config.component.FileUploadComponent;
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 com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscription;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionQuery;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionVo;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionFeign;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -65,14 +63,14 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
@Autowired
private FileUploadComponent fileUploadComponent;
public PagerVo<BaseManufactorSubscription> listPage(PagerQuery<BaseManufactorSubscriptionQuery> pq) {
/* public PagerVo<BaseManufactorSubscription> listPage(PagerQuery<BaseManufactorSubscriptionQuery> pq) {
BaseManufactorSubscriptionQuery query = pq.getParams();
QueryWrapper<BaseManufactorSubscription> qw = createQueryWrapper(query);
IPage<BaseManufactorSubscription> page = PagerUtil.queryToPage(pq);
IPage<BaseManufactorSubscription> pagging = baseMapper.selectPage(page, qw);
PagerVo<BaseManufactorSubscription> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}*/
private QueryWrapper<BaseManufactorSubscription> createQueryWrapper(BaseManufactorSubscriptionQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -126,43 +124,51 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
return p;
}
public List<BaseManufactorSubscriptionVo> listAllVo(BaseManufactorSubscriptionQuery query) {
/* public List<BaseManufactorSubscriptionVo> listAllVo(BaseManufactorSubscriptionQuery query) {
QueryWrapper<BaseManufactorSubscription> qw = createQueryWrapper(query);
return baseMapper.selectListAllVo(qw);
}
}*/
public List<BaseManufactorSubscriptionVo> listVo() {
/* public List<BaseManufactorSubscriptionVo> listVo() {
return baseMapper.selectListVo();
}
}*/
public void saveOrUpdateDto(BaseManufactorSubscriptionDto dto) {
/* public void saveOrUpdateDto(BaseManufactorSubscriptionDto dto) {
BaseManufactorSubscription entity = new BaseManufactorSubscription();
dto.fillEntity(entity);
this.saveOrUpdate(entity);
}
}*/
public BaseManufactorSubscriptionVo fetchByIdVo(String id) {
/* public BaseManufactorSubscriptionVo fetchByIdVo(String id) {
BaseManufactorSubscription entity = this.fetchById(id);
BaseManufactorSubscriptionVo vo = new BaseManufactorSubscriptionVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}*/
public ResultBean adopt(String sid,String remarks) {
public ResultBean adopt(String sid, String remarks) {
ResultBean rb = ResultBean.fireFail();
BaseManufactorSubscription baseManufactorSubscription = fetchBySid(sid);
String witMatUrl = baseManufactorSubscription.getWitMatUrl();
if (StringUtils.isBlank(witMatUrl)) {
return rb.setMsg("请优先上传见证材料");
}
int i = baseMapper.adopt(sid,remarks);
int i = baseMapper.adopt(sid, remarks);
if (i == 0) {
return rb.setMsg("未通过");
}
return rb.success().setMsg("已通过");
}
public int updateWitMatUrl(String filePath,String sid) {
return baseMapper.updateWitMatUrl(filePath,sid);
public int updateWitMatUrl(String filePath, String sid) {
return baseMapper.updateWitMatUrl(filePath, sid);
}
public ResultBean saveDto(BaseManufactorSubscriptionDto dto) {
ResultBean rb = ResultBean.fireFail();
BaseManufactorSubscription baseManufactorSubscription = new BaseManufactorSubscription();
BeanUtil.copyProperties(dto, baseManufactorSubscription, "sid");
baseMapper.insert(baseManufactorSubscription);
return rb.success();
}
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceMapper.xml

@ -8,7 +8,8 @@
bmm.sid,
bmm.createTime,
bmm.applyPeoName,
bmm.`modpriceReason`
bmm.`modpriceReason`,
bmm.nodeState
FROM
base_model_modprice bmm
<where> ${ew.sqlSegment} </where>
@ -20,12 +21,12 @@
<update id="updateFlowFiled">
UPDATE base_model_modprice
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
SET nodeState=#{nodeState}, nodeId=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}

43
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceRest.java

@ -27,8 +27,13 @@ package com.yxt.anrui.base.biz.basemodelmodprice;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basemodelmodprice.*;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceCompleteDto;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BusinessVariablesDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
@ -95,32 +100,40 @@ public class BaseModelModpriceRest implements BaseModelModpriceFeign {
/*****************************车型调价流程****************************************************/
@Override
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPrice dto) {
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPriceDto dto) {
return baseModelModpriceService.submitBaseModelModPrice(dto);
}
@Override
public ResultBean complete(BusinessVariablesDto bvd) {
BusinessVariables bv=new BusinessVariables();
BeanUtil.copyProperties(bvd,bv);
/*bv.setUserSid(bvd.getUserSid());
bv.setOrgSidPath(bvd.getOrgSidPath());
bv.setTaskDefKey(bvd.getTaskDefKey());
bv.setTaskId(bvd.getTaskId());
bv.setInstanceId(bvd.getInstanceId());
bv.setComment(bvd.getComment());
bv.setBusinessSid(bvd.getBusinessSid());*/
public ResultBean complete(BaseModelModPriceCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEMODELMODPRICE.getProDefId());
return baseModelModpriceService.complete(bv);
}
@Override
public ResultBean getNextNodesForSubmit(GetNextNodeDto gnnd) {
return baseModelModpriceService.getNextNodesForSubmit(gnnd);
public ResultBean getNextNodesForSubmit(GetNodeQuery query) {
return baseModelModpriceService.getNextNodesForSubmit(query);
}
@Override
public ResultBean getPreviousNodesForReject(GetNextNodeDto gnnd) {
return baseModelModpriceService.getPreviousNodesForReject(gnnd);
public ResultBean getPreviousNodesForReject(GetNodeQuery query) {
return baseModelModpriceService.getPreviousNodesForReject(query);
}
@Override
public ResultBean taskReject(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.taskReject(query);
}
@Override
public ResultBean revokeProcess(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BaseModelModPriceTaskQuery query) {
return baseModelModpriceService.breakProcess(query);
}
}

237
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java

@ -26,21 +26,32 @@
package com.yxt.anrui.base.biz.basemodelmodprice;
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.baseinternalpurchase.BaseInternalPurchase;
import com.yxt.anrui.base.api.basemodelmodprice.*;
import com.yxt.anrui.base.api.basemodelmodprice.flow.BaseModelModPriceTaskQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.GetNodeQuery;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModel;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelDto;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelVo;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.base.biz.basemodelmodpricemodel.BaseModelModpriceModelService;
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;
@ -51,8 +62,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/>
@ -78,6 +92,8 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
public PagerVo<BaseModelModpriceVo> listPageVo(PagerQuery<BaseModelModpriceQuery> pq) {
BaseModelModpriceQuery query = pq.getParams();
@ -95,7 +111,7 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
return p;
}
public ResultBean saveOrUpdateAll(BaseModelModpriceDto dto) {
public ResultBean<String> saveOrUpdateAll(BaseModelModpriceDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
List<BaseModelModpriceModelDto> baseModelModpriceModels = dto.getBaseModelModpriceModels();
@ -104,6 +120,8 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
String sid1 = baseModelModprice.getSid();
BeanUtil.copyProperties(dto, baseModelModprice);
baseModelModprice.setSid(sid1);
baseModelModprice.setCreateBySid(dto.getCreateBySid());
baseModelModprice.setNodeState("待提交");
save(baseModelModprice);
for (BaseModelModpriceModelDto modelModpriceModel : baseModelModpriceModels) {
BaseModelModpriceModel baseModelModpriceModel = new BaseModelModpriceModel();
@ -147,64 +165,209 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
return rb.success().setMsg("删除成功");
}
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPrice dto) {
//取组织架构的全路径sid
SysStaffOrg sysStaffOrg = sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
String orgSidPath = sysStaffOrg.getOrgSidPath();
Map<String, Object> variables = BeanUtil.beanToMap(dto);
ResultBean resultBean = saveOrUpdateAll(dto);
String businessSid = resultBean.getData().toString();
public ResultBean submitBaseModelModPrice(SubmitBaseModelModPriceDto 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> orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!orgByStaffSid.getSuccess()) {
return rb.setMsg(orgByStaffSid.getMsg());
}
//用户的组织全路径
String orgSidPath = orgByStaffSid.getData().getOrgSidPath();
BaseModelModprice baseModelModprice = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, baseModelModprice);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateAll(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);
bv.setUserSid(dto.getUserSid());
variables.put("businessSid", businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.BASEMODELMODPRICE.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
// 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢?
// 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题
if (StringUtils.isBlank(dto.getTaskId())) { // 新提交
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff = resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else { // 驳回到发起人后再次提交
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
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(baseModelModprice.getTaskId());
bv.setTaskDefKey(baseModelModprice.getNodeId());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitBaseModelModPriceDto dto, BaseModelModprice baseModelModprice) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (baseModelModprice != null) {
String businessTaskId = baseModelModprice.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;
}
private int updateFlowFiled(Map<String, Object> beanToMap) {
return baseMapper.updateFlowFiled(beanToMap);
}
public ResultBean complete(BusinessVariables bvd) {
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bvd);
updateFlowFiled(BeanUtil.beanToMap(rb.getData()));
return rb;
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseModelModprice baseModelModprice = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseModelModprice.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 getNextNodesForSubmit(GetNextNodeDto gnnd) {
public ResultBean getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEMODELMODPRICE.getProDefId());
bv.setTaskDefKey(gnnd.getTaskDefKey());
bv.setFormVariables(gnnd.getFormVariables());
ResultBean processCirculationNodesByMap = flowTaskFeign.getNextNodesForSubmit(bv);
processCirculationNodesByMap.setCode("200");
processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap;
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 getPreviousNodesForReject(GetNextNodeDto gnnd) {
public ResultBean getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
bv.setTaskDefKey(gnnd.getTaskDefKey());
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BASEMODELMODPRICE.getProDefId());
bv.setFormVariables(gnnd.getFormVariables());
ResultBean processCirculationNodesByMap = flowTaskFeign.getPreviousNodesForReject(bv);
processCirculationNodesByMap.setCode("200");
processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap;
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 taskReject(BaseModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BaseModelModprice baseModelModprice = fetchBySid(query.getBusinessSid());
if (baseModelModprice == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = baseModelModprice.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
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(BaseModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询调价申请
BaseModelModprice baseModelModprice = fetchBySid(query.getBusinessSid());
String businessTaskId = baseModelModprice.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(BaseModelModPriceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
BaseModelModprice baseModelModprice = fetchBySid(query.getBusinessSid());
String businessTaskId = baseModelModprice.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());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

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

@ -779,7 +779,9 @@
select sid,
vinNo as vin,
locationName as warehouse,
location as warehouseSid
location as warehouseSid,
modelSid,
modelName
from base_vehicle bv
where bv.createOrgSid = #{userOrgSid}
</select>

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -286,6 +286,9 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
bv.setModelId(ProcDefEnum.BASEVEHICLEACTUALSALES.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;

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.java

@ -32,4 +32,6 @@ public interface BusVehicleApplyMapper extends BaseMapper<BusVehicleApply> {
int updateFlowFiled(Map<String, Object> map);
int selectBySid(String list);
int selectNum(String bill);
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.xml

@ -41,4 +41,10 @@
where length(nodeState) > 0
and find_in_set(sid, #{list})
</select>
<select id="selectNum" resultType="int">
select count(*)
from bus_vehicle_apply
where applicationCode LIKE concat(#{bill}, '%')
</select>
</mapper>

77
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -5,6 +5,7 @@ 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.basemanufactorsubscription.BaseManufactorSubscriptionDto;
import com.yxt.anrui.base.api.busvehicleapply.*;
import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyTaskQuery;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery;
@ -13,13 +14,19 @@ import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
import com.yxt.anrui.base.biz.basemanufactorsubscription.BaseManufactorSubscriptionService;
import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService;
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.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.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
@ -65,6 +72,11 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private BaseManufactorSubscriptionService baseManufactorSubscriptionService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
/**
* 分页列表
*
@ -153,8 +165,10 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
if (StringUtils.isBlank(sid)) {//新增
BusVehicleApply entity = new BusVehicleApply();
BeanUtil.copyProperties(dto, entity, "sid");
//申请编号规则:首字母+当前日期年月日
entity.setApplicationCode("PCSQ" + DateUtil.format(DateUtil.date(), "yyyyMMdd"));
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
String billNo = getApplyCode(dto);
entity.setApplicationCode(billNo);
entity.setApplicationDate(DateUtil.today());
List<BusVehicleApplyDetailDto> busVehicleApplyDetailDtoList = dto.getBusVehicleApplyDetailDtoList();
for (BusVehicleApplyDetailDto busVehicleApplyDetailDto : busVehicleApplyDetailDtoList) {
@ -185,6 +199,21 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
return rb.success().setData(sid);
}
public String getApplyCode(BusVehicleApplyDto dto) {
String userSid = dto.getCreateBySid();
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.PCSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
/**
* 提交
*
@ -236,6 +265,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
bv.setModelId(ProcDefEnum.VEHICLEAPPLY.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;
@ -307,9 +339,38 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//ToDo:排产申请通过后的状态更新以及厂家认款的推送
//查询是否是最后一个环节,若是则更新排产申请的状态为通过。
//若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。
//ToDo:排产申请通过厂家认款推送
//查询是否是最后一个环节,若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。
//排产申请审核通过后,若申请订金的,需要同时生成财务待支付列表记录。
//生成一条未打款、未认款的厂家认款记录;若申请订金为0,则只需要生成一条无需打款、未认款的厂家认款记录。
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
BaseManufactorSubscriptionDto baseManufactorSubscriptionDto = new BaseManufactorSubscriptionDto();
//判断申请的订金
List<BusVehicleApplyDetailVo> vo = busVehicleApplyDetailService.fetchByApplySid(bv.getBusinessSid());
vo.removeAll(Collections.singleton(null));
BigDecimal bigDecimal = new BigDecimal("0");
for (BusVehicleApplyDetailVo o : vo) {
String applyForDeposit = o.getApplyForDeposit();
if (StringUtils.isNotBlank(applyForDeposit)) {
bigDecimal = bigDecimal.add(new BigDecimal(applyForDeposit));
}
}
if (bigDecimal.compareTo(new BigDecimal("0")) == 1) {
//未打款、未认款的厂家认款记录
baseManufactorSubscriptionDto.setState(0);//未认款
baseManufactorSubscriptionDto.setPaymentState("0");//未打款
} else {
//无需打款、未认款的厂家认款记录
baseManufactorSubscriptionDto.setState(0);//未认款
baseManufactorSubscriptionDto.setPaymentState("2");//无需打款
}
ResultBean<String> stringResultBean = sysStaffOrgFeign.getPathSidByUserSid(bv.getUserSid());
baseManufactorSubscriptionDto.setCreateOrgSid(stringResultBean.getData());
baseManufactorSubscriptionDto.setUseOrgSid(stringResultBean.getData());
baseManufactorSubscriptionDto.setPaymentMoney(bigDecimal.toString());//打款金额
baseManufactorSubscriptionDto.setProSchAppNo(busVehicleApply.getApplicationCode());//排产申请编号
ResultBean r = baseManufactorSubscriptionService.saveDto(baseManufactorSubscriptionDto);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
@ -368,6 +429,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
String businessTaskId = busVehicleApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("参数错误:comment");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
@ -431,6 +495,9 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
String businessTaskId = busVehicleApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("参数错误:comment");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);

4
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java

@ -76,7 +76,7 @@ public interface FlowableFeign {
* @return
*/
@ApiOperation(value = "创建流程实例时取下一环节的用户sid")
@PostMapping(value = "/getNextNodeUserSidsOfCreate")
@GetMapping(value = "/getNextNodeUserSidsOfCreate")
@ResponseBody
ResultBean<String> getNextNodeUserSidsOfCreate( @RequestBody BusinessVariables bv);
/**
@ -85,7 +85,7 @@ public interface FlowableFeign {
* @return
*/
@ApiOperation(value = "提交流程实例时取下一环节的用户sid")
@PostMapping(value = "/getNextNodeUserSidsOfSubmit")
@GetMapping(value = "/getNextNodeUserSidsOfSubmit")
@ResponseBody
ResultBean getNextNodeUserSidsOfSubmit(@RequestBody BusinessVariables bv);

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

@ -21,7 +21,8 @@ public enum ProcDefEnum {
BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:3:265004"),//ToDo
SALESORDER("销售订单审批流程", "process_p5ils2rn:2:245112"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:6:375342"),//TODO
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:2:252555")
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:3:275277"),
BASEINTERNALPURCHASE("内购申请", "process_i6luw5xq:1:267504")
;
ProcDefEnum(String proDefName, String proDefId) {

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinventory/ScmVehicleInventoryFeign.java

@ -62,7 +62,7 @@ public interface ScmVehicleInventoryFeign {
@ApiOperation("盘库修改状态")
@PostMapping("/updateState")
@ResponseBody
public ResultBean updateState(@RequestParam("sid") String sid,@RequestParam("inventoryStateKey") String inventoryStateKey,@RequestParam("inventoryState") String inventoryState,@RequestParam("certificateKey") String certificateKey,@RequestParam("certificate") String certificate,@RequestParam("remarks") String remarks);
public ResultBean updateState(@RequestParam("sid") String sid,@RequestParam("InventoryStateKey") String InventoryStateKey,@RequestParam("InventoryState") String InventoryState,@RequestParam("certificateKey") String certificateKey,@RequestParam("certificate") String certificate,@RequestParam("remarks") String remarks);
@ApiOperation("新增或修改")
@PostMapping("/save")

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinventory/ScmVehicleInventoryQuery.java

@ -26,6 +26,7 @@
package com.yxt.anrui.scm.api.scmvehicleinventory;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
@ -52,12 +53,15 @@ public class ScmVehicleInventoryQuery implements Query {
@ApiModelProperty("车架号")
private String mainSid; // 车架号
@ApiModelProperty("盘库开始日期")
@JsonProperty("InventStartDate")
private String InventStartDate;
@ApiModelProperty("盘库结束日期")
@JsonProperty("InventEndDate")
private String InventEndDate;
@ApiModelProperty("存放地点sid")
private String locationSid; // 存放地点sid
@ApiModelProperty("盘库状态 通过/未通过")
@JsonProperty("InventoryState")
private String InventoryState; // 盘库状态 通过/未通过
@ApiModelProperty("创建组织")
private String createOrgSid; // 创建组织

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleinventory/ScmVehicleInventoryVo.java

@ -67,8 +67,13 @@ public class ScmVehicleInventoryVo implements Vo {
@ApiModelProperty("盘库状态 通过/未通过")
@JsonProperty("InventoryState")
private String InventoryState; // 盘库状态 通过/未通过
@ApiModelProperty("盘库状态key 通过/未通过")
@JsonProperty("InventoryStateKey")
private String InventoryStateKey; // 盘库状态 通过/未通过
@ApiModelProperty("是否有合格证")
private String certificate;
@ApiModelProperty("是否有合格证key")
private String certificateKey;
@ApiModelProperty("备注")
private String remarks; // 备注
}

1
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheet.java

@ -49,7 +49,6 @@ import lombok.Data;
@TableName("scm_vehicle_patrolinspectionsheet")
public class ScmVehiclePatrolinspectionsheet extends BaseEntity {
private static final long serialVersionUID = 1L;
private String sid;
@ApiModelProperty("主表sid")
private String patrolInspectionSid; // 主表sid
@ApiModelProperty("车架号")

11
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetDetailsVo.java

@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui_scm(anrui_scm) <br/>
* File: ScmVehiclePatrolinspectionsheetVo.java <br/>
@ -65,13 +67,8 @@ public class ScmVehiclePatrolinspectionsheetDetailsVo implements Vo {
private String dutyName;
@ApiModelProperty("相关责任人sid")
private String dutySid;
@ApiModelProperty("经纬度")
private String location;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("相关照片")
private List<String> images;
@ApiModelProperty("创建组织")
private String createOrgSid;
@ApiModelProperty("使用组织")
private String useOrgName;
}

1
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetFeign.java

@ -79,7 +79,6 @@ public interface ScmVehiclePatrolinspectionsheetFeign {
@ResponseBody
public ResultBean<ScmVehiclePatrolinspectionsheetDetailsVo> fetchSheetBySid(@PathVariable("sid") String sid);
@ApiOperation("手机端-初始化 巡检操作")
@GetMapping("/getInspection/{recordSid}")
@ResponseBody

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspection.java

@ -64,5 +64,8 @@ public class ScmVehicleStayPatrolinspection extends BaseEntity {
private String createOrgSid; // 创建组织
@ApiModelProperty("使用组织")
private String useOrgName; // 使用组织
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型名称")
private String modelName;
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionFeign.java

@ -84,6 +84,4 @@ public interface ScmVehicleStayPatrolinspectionFeign {
@PostMapping("/getInspectionList")
@ResponseBody
public ResultBean<PagerVo<AppScmVehicleStayPatrolinspectionPageVo>> getInspectionList(@RequestBody PagerQuery<AppScmVehicleStayPatrolinspectionPageQuery> pagerQuery);
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionVo.java

@ -59,4 +59,8 @@ public class ScmVehicleStayPatrolinspectionVo implements Vo {
private String patrolInspectionDate; // 上次巡检日期
@ApiModelProperty("上次巡检人员")
private String patrolInspectionName; // 上次巡检人员
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型名称")
private String modelName;
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetMapper.java

@ -80,4 +80,6 @@ public interface ScmVehiclePatrolinspectionsheetMapper extends BaseMapper<ScmVeh
@Select("SELECT * FROM scm_vehicle_patrolinspectionsheet WHERE patrolInspectionSid = #{sid}")
ScmVehiclePatrolinspectionsheetDetailsVo fetchSheetBySid(String sid);
ScmVehiclePatrolinspectionsheetDetailsVo getPCInspection(String sid);
}

16
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetMapper.xml

@ -29,4 +29,20 @@
FROM scm_vehicle_patrolinspectionsheet
WHERE sid = #{recordSid}
</select>
<select id="getPCInspection"
resultType="com.yxt.anrui.scm.api.scmvehiclepatrolinspectionsheet.ScmVehiclePatrolinspectionsheetDetailsVo">
SELECT sid,
patrolInspectionSid,
mainSid,
model,
situationExplain,
problemsAndResults,
dutyName,
dutySid,
location,
address
FROM scm_vehicle_patrolinspectionsheet
WHERE patrolInspectionSid = #{sid}
</select>
</mapper>

5
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetRest.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmvehiclepatrolinspectionsheet;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.scm.api.scmvehiclepatrolinspectionsheet.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -94,7 +95,9 @@ public class ScmVehiclePatrolinspectionsheetRest implements ScmVehiclePatrolinsp
@Override
public ResultBean<ScmVehiclePatrolinspectionsheetDetailsVo> fetchSheetBySid(String sid) {
return scmVehiclePatrolinspectionsheetService.fetchSheetBySid(sid);
ResultBean rb = ResultBean.fireFail();
ScmVehiclePatrolinspectionsheetDetailsVo vo = scmVehiclePatrolinspectionsheetService.getPCInspection(sid);
return rb.success().setData(vo);
}
@Override

103
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java

@ -159,10 +159,34 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
String s1 = "";
String type1 = "06"; //巡检相关照片
ScmVehiclePatrolinspectionsheet scmVehiclePatrolinspectionsheet = new ScmVehiclePatrolinspectionsheet();
scmVehiclePatrolinspectionsheet.setIsDelete(1);
String patrolInspectionSid = dto.getPatrolInspectionSid();
ScmVehiclePatrolinspectionsheetDetailsVo pcInspection = baseMapper.getPCInspection(patrolInspectionSid);
String sid = scmVehiclePatrolinspectionsheet.getSid();
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
if (pcInspection != null){
dto.setCreateOrgSid(useOrgSid);
int i = updateBySid(dto, dto.getSid());
if (i == 0){
return rb.setMsg("操作失败");
}
scmFileService.deleteByLinkSidAndType(dto.getSid(), type1);
List<String> images = dto.getImages();
for (String s : images) {
if (s.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s1 = s.replace(fileUploadComponent.getUrlPrefix(), "");
}
ScmFile scmFile1 = new ScmFile();
scmFile1.setAttachType(type1);
scmFile1.setFileName("巡检相关照片");
scmFile1.setFilePath(s1);
scmFile1.setLinkSid(dto.getSid());
scmFileService.save(scmFile1);
}
return rb.success().setMsg("操作成功");
}
BeanUtil.copyProperties(dto, scmVehiclePatrolinspectionsheet);
scmVehiclePatrolinspectionsheet.setCreateOrgSid(useOrgSid);
BeanUtil.copyProperties(dto, scmVehiclePatrolinspectionsheet);
scmVehiclePatrolinspectionsheet.setSid(sid);
scmFileService.deleteByLinkSidAndType(scmVehiclePatrolinspectionsheet.getSid(), type1);
List<String> images = dto.getImages();
for (String s : images) {
@ -173,7 +197,7 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
scmFile1.setAttachType(type1);
scmFile1.setFileName("巡检相关照片");
scmFile1.setFilePath(s1);
scmFile1.setLinkSid(dto.getSid());
scmFile1.setLinkSid(scmVehiclePatrolinspectionsheet.getSid());
scmFileService.save(scmFile1);
}
save(scmVehiclePatrolinspectionsheet);
@ -191,13 +215,47 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
ResultBean rb = ResultBean.fireFail();
String s1 = "";
String type1 = "06"; //巡检相关照片
//修改主表状态
scmVehiclePatrolinspectionService.updatePatrolInspectionState(dto.getPatrolInspectionSid());
ScmVehiclePatrolinspectionsheet scmVehiclePatrolinspectionsheet = new ScmVehiclePatrolinspectionsheet();
String patrolInspectionSid = dto.getPatrolInspectionSid();
ScmVehiclePatrolinspectionsheetDetailsVo pcInspection = baseMapper.getPCInspection(patrolInspectionSid);
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
scmVehiclePatrolinspectionsheet.setCreateOrgSid(useOrgSid);
if (pcInspection != null){
dto.setCreateOrgSid(useOrgSid);
int i = updateBySid(dto, dto.getSid());
if (i == 0){
return rb.setMsg("操作失败");
}
scmFileService.deleteByLinkSidAndType(dto.getSid(), type1);
List<String> images = dto.getImages();
for (String s : images) {
if (s.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s1 = s.replace(fileUploadComponent.getUrlPrefix(), "");
}
ScmFile scmFile1 = new ScmFile();
scmFile1.setAttachType(type1);
scmFile1.setFileName("巡检相关照片");
scmFile1.setFilePath(s1);
scmFile1.setLinkSid(dto.getSid());
scmFileService.save(scmFile1);
}
ScmVehicleStayPatrolinspection scmVehicleStayPatrolinspection = scmVehicleStayPatrolinspectionService.fetchBySid(patrolInspectionSid);
scmVehicleStayPatrolinspectionService.updateByStaySid(patrolInspectionSid);
ScmVehiclePatrolinspection scmVehiclePatrolinspection = new ScmVehiclePatrolinspection();
scmVehiclePatrolinspection.setMainSid(scmVehicleStayPatrolinspection.getMainSid());
scmVehiclePatrolinspection.setPatrolInspectionState("1");
scmVehiclePatrolinspection.setLocation(scmVehicleStayPatrolinspection.getLocation());
scmVehiclePatrolinspection.setLocationSid(scmVehicleStayPatrolinspection.getLocationSid());
scmVehiclePatrolinspection.setPatrolInspectionDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
scmVehiclePatrolinspection.setPatrolInspectionName(dto.getUserName());
scmVehiclePatrolinspection.setCreateOrgSid(dto.getCreateOrgSid());
scmVehiclePatrolinspectionService.save(scmVehiclePatrolinspection);
baseMapper.updatePatSid(dto.getSid(),scmVehiclePatrolinspection.getSid());
return rb.success().setMsg("操作成功");
}
ScmVehiclePatrolinspectionsheet scmVehiclePatrolinspectionsheet = new ScmVehiclePatrolinspectionsheet();
String sid = scmVehiclePatrolinspectionsheet.getSid();
BeanUtil.copyProperties(dto, scmVehiclePatrolinspectionsheet);
scmVehiclePatrolinspectionsheet.setCreateOrgSid(useOrgSid);
scmVehiclePatrolinspectionsheet.setSid(sid);
scmFileService.deleteByLinkSidAndType(scmVehiclePatrolinspectionsheet.getSid(), type1);
List<String> images = dto.getImages();
for (String s : images) {
@ -208,11 +266,9 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
scmFile1.setAttachType(type1);
scmFile1.setFileName("巡检相关照片");
scmFile1.setFilePath(s1);
scmFile1.setLinkSid(dto.getSid());
scmFile1.setLinkSid(sid);
scmFileService.save(scmFile1);
}
save(scmVehiclePatrolinspectionsheet);
String patrolInspectionSid = scmVehiclePatrolinspectionsheet.getPatrolInspectionSid();
ScmVehicleStayPatrolinspection scmVehicleStayPatrolinspection = scmVehicleStayPatrolinspectionService.fetchBySid(patrolInspectionSid);
scmVehicleStayPatrolinspectionService.updateByStaySid(patrolInspectionSid);
ScmVehiclePatrolinspection scmVehiclePatrolinspection = new ScmVehiclePatrolinspection();
@ -222,10 +278,11 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
scmVehiclePatrolinspection.setLocationSid(scmVehicleStayPatrolinspection.getLocationSid());
scmVehiclePatrolinspection.setPatrolInspectionDate(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
scmVehiclePatrolinspection.setPatrolInspectionName(dto.getUserName());
scmVehiclePatrolinspection.setCreateOrgSid(dto.getCreateOrgSid());
scmVehiclePatrolinspection.setCreateOrgSid(useOrgSid);
scmVehiclePatrolinspectionService.save(scmVehiclePatrolinspection);
baseMapper.updatePatSid(dto.getSid(),scmVehiclePatrolinspection.getSid());
return rb.success();
scmVehiclePatrolinspectionsheet.setPatrolInspectionSid(scmVehiclePatrolinspection.getSid());
save(scmVehiclePatrolinspectionsheet);
return rb.success().setMsg("操作成功");
}
public ResultBean<ScmVehiclePatrolinspectionsheetDetailsVo> fetchSheetBySid(String sid) {
@ -233,4 +290,22 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
ScmVehiclePatrolinspectionsheetDetailsVo scmVehiclePatrolinspectionsheetDetailsVo = baseMapper.fetchSheetBySid(sid);
return rb.success().setData(scmVehiclePatrolinspectionsheetDetailsVo);
}
public ScmVehiclePatrolinspectionsheetDetailsVo getPCInspection(String sid) {
String type1 = "06"; // 巡检相关照片
List<String> images = new ArrayList<>();
ScmVehiclePatrolinspectionsheetDetailsVo vo = baseMapper.getPCInspection(sid);
if (vo == null){
ScmVehiclePatrolinspectionsheetDetailsVo scmVehiclePatrolinspectionsheetDetailsVo = new ScmVehiclePatrolinspectionsheetDetailsVo();
List<String> stringList = new ArrayList<>();
scmVehiclePatrolinspectionsheetDetailsVo.setImages(stringList);
return scmVehiclePatrolinspectionsheetDetailsVo;
}
List<ScmFile> scmFiles1 = scmFileService.selectByLinkSid(vo.getSid(), type1);
for (ScmFile scmFile : scmFiles1) {
images.add(fileUploadComponent.getUrlPrefix() + scmFile.getFilePath());
}
vo.setImages(images);
return vo;
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionMapper.java

@ -78,6 +78,6 @@ public interface ScmVehicleStayPatrolinspectionMapper extends BaseMapper<ScmVehi
*/
IPage<AppScmVehicleStayPatrolinspectionPageVo> getInventoryList(IPage<AppScmVehicleStayPatrolinspectionPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppScmVehicleStayPatrolinspectionPageVo> qw, @Param("names") String names);
@Update("update scm_vehicle_stay_patrolinspection set isDelete = 1")
@Update("update scm_vehicle_stay_patrolinspection set isDelete = 1 where sid = #{patrolInspectionSid}")
void updateByStaySid(String patrolInspectionSid);
}

21
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionMapper.xml

@ -5,8 +5,27 @@
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo"
resultType="com.yxt.anrui.scm.api.scmvehiclestaypatrolinspection.ScmVehicleStayPatrolinspectionVo">
SELECT * FROM scm_vehicle_stay_patrolinspection
SELECT
svsp.sid,
svsp.mainSid,
svsp.location,
svsp.modelSid,
svsp.modelName,
(SELECT
svp.patrolInspectionName
FROM
scm_vehicle_stay_patrolinspection svsp
LEFT JOIN scm_vehicle_patrolinspection svp
ON svsp.`mainSid` = svp.`mainSid`
ORDER BY svp.createTime DESC
LIMIT 1) patrolInspectionName,
MAX(svp.patrolInspectionDate) AS patrolInspectionDate
FROM
scm_vehicle_stay_patrolinspection svsp
LEFT JOIN scm_vehicle_patrolinspection svp
ON svsp.`mainSid` = svp.`mainSid`
<where>${ew.sqlSegment}</where>
GROUP BY svsp.`mainSid`
</select>
<select id="selectListAllVo"

13
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestaypatrolinspection/ScmVehicleStayPatrolinspectionService.java

@ -81,7 +81,15 @@ public class ScmVehicleStayPatrolinspectionService extends MybatisBaseService<Sc
public PagerVo<ScmVehicleStayPatrolinspectionVo> listPageVo(PagerQuery<ScmVehicleStayPatrolinspectionQuery> pq) {
ScmVehicleStayPatrolinspectionQuery query = pq.getParams();
QueryWrapper<ScmVehicleStayPatrolinspection> qw = createQueryWrapper(query);
QueryWrapper<ScmVehicleStayPatrolinspection> qw = new QueryWrapper<>();
qw.eq("svsp.createOrgSid",query.getCreateOrgSid());
qw.eq("svsp.isDelete",0);
if (StringUtils.isNotBlank(query.getLocationSid())){
qw.eq("svsp.locationSid",query.getLocationSid());
}
if (StringUtils.isNotBlank(query.getMainSid())){
qw.like("svsp.mainSid",query.getMainSid());
}
IPage<ScmVehicleStayPatrolinspection> page = PagerUtil.queryToPage(pq);
IPage<ScmVehicleStayPatrolinspectionVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmVehicleStayPatrolinspectionVo> p = PagerUtil.pageToVo(pagging, null);
@ -141,6 +149,9 @@ public class ScmVehicleStayPatrolinspectionService extends MybatisBaseService<Sc
scmVehicleStayPatrolinspection.setMainSid(appScmInventoryRecordsVo.getVin());
scmVehicleStayPatrolinspection.setLocationSid(appScmInventoryRecordsVo.getWarehouseSid());
scmVehicleStayPatrolinspection.setLocation(appScmInventoryRecordsVo.getWarehouse());
scmVehicleStayPatrolinspection.setModelSid(appScmInventoryRecordsVo.getModelSid());
scmVehicleStayPatrolinspection.setModelName(appScmInventoryRecordsVo.getModelName());
scmVehicleStayPatrolinspection.setCreateOrgSid(orgSid);
save(scmVehicleStayPatrolinspection);
}
return rb.success();

Loading…
Cancel
Save