Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 years ago
parent
commit
a5d2a013f2
  1. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  2. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  3. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDetailsVo.java
  4. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDto.java
  5. 43
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeign.java
  6. 45
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeignFallback.java
  7. 25
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/GetNodeQuery.java
  8. 25
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/GetNodeVo.java
  9. 42
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmSpecialRebatedistributeCompleteDto.java
  10. 56
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmSpecialRebatedistributeTaskQuery.java
  11. 21
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/SubmitScmSpecialRebatedistributeDto.java
  12. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.java
  13. 15
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.xml
  14. 53
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java
  15. 247
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java
  16. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailMapper.xml
  17. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsRest.java

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

@ -1122,8 +1122,11 @@
</select>
<select id="getVehBySpecialRebateSid" resultType="com.yxt.anrui.base.api.basevehicle.BaseSpecialRebateDisGetVehVo">
SELECT ssv.vehSid,
ssv.sid as specialRebateVehSid,
SELECT bvm.brandName,
bmc.carColor color,
bv.locationName location,
ssv.vehSid,
ssv.sid as specialRebateVehSid,
bv.`modelSid`,
bv.`modelName`,
ssv.`vinNo`,
@ -1134,6 +1137,10 @@
FROM anrui_scm.`scm_specialrebate_vehs` ssv
LEFT JOIN anrui_base.`base_vehicle` bv
ON ssv.`vehSid` = bv.`sid`
LEFT JOIN base_vehicle_model bvm
ON bv.`modelSid` = bvm.`sid`
AND bv.`createOrgSid` = bvm.`createOrg`
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
WHERE ssv.`specialRebateSid` = #{specialRebateSid}
</select>
</mapper>

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

@ -36,6 +36,7 @@ public enum ProcDefEnum {
SCMVEHREBATECHECKAPPLY("单车返利核对申请","process_3xtbbru8:1:560004"),
SCMSPECIALREBATEWITHAPPLY("专项返利预提申请","process_l0yxpgs2:1:590004"),
SCMSPECIALREBATECHECKAPPLY("专项返利核对申请","process_qw22vupn:1:590008"),
SCMSPECIALREBATECHEDISTRIBUTE("专项返利分配申请","process_h3w1aval:1:615004"),
CONTRACTAPPLY("合同审核","process_gd8c9xd5:1:545008"),
;

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDetailsVo.java

@ -54,6 +54,8 @@ public class ScmSpecialrebatedistributeDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDto.java

@ -54,6 +54,8 @@ public class ScmSpecialrebatedistributeDto implements Dto {
private String sid; // sid
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")

43
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeign.java

@ -25,14 +25,22 @@
*********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebatedistribute;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmSpecialRebatedistributeCompleteDto;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto;
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;
import java.util.List;
/**
@ -75,4 +83,39 @@ public interface ScmSpecialrebatedistributeFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<ScmSpecialrebatedistributeDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
/**************************************专项返利分配审批流程*******************************************/
@ApiOperation("提交专项返利分配申请")
@PostMapping("/submitSpecialRebatedistribute")
public ResultBean submitSpecialRebatedistribute(@RequestBody @Valid SubmitScmSpecialRebatedistributeDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody ScmSpecialRebatedistributeCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody FlowTaskVo flowTaskVo);
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap GetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query);
}

45
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeFeignFallback.java

@ -25,6 +25,11 @@
*********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebatedistribute;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmSpecialRebatedistributeCompleteDto;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -69,4 +74,44 @@ public class ScmSpecialrebatedistributeFeignFallback implements ScmSpecialrebate
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-scm/scmspecialrebatedistribute/fetchDetailsBySid无法访问");
}
@Override
public ResultBean submitSpecialRebatedistribute(SubmitScmSpecialRebatedistributeDto dto) {
return null;
}
@Override
public ResultBean complete(ScmSpecialRebatedistributeCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean taskReject(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean breakProcess(FlowTaskVo flowTaskVo) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;
}
}

25
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/GetNodeQuery.java

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

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

42
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmSpecialRebatedistributeCompleteDto.java

@ -0,0 +1,42 @@
package com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.HashMap;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 9:01
* @Description
*/
@Data
public class ScmSpecialRebatedistributeCompleteDto 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 = new HashMap<>();
}

56
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/ScmSpecialRebatedistributeTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.scm.api.scmspecialrebatedistribute.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 ScmSpecialRebatedistributeTaskQuery 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<>();*/
}

21
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/flow/SubmitScmSpecialRebatedistributeDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitScmSpecialRebatedistributeDto extends ScmSpecialrebatedistributeDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.java

@ -36,6 +36,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistribu
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-scm(专项返利分配) <br/>
@ -64,4 +65,6 @@ public interface ScmSpecialrebatedistributeMapper extends BaseMapper<ScmSpecialr
List<ScmSpecialrebatedistributeVo> selectListVo();
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> beanToMap);
}

15
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.xml

@ -17,4 +17,19 @@
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
<update id="updateFlowFiled">
UPDATE scm_specialrebatedistribute
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper>

53
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java

@ -25,6 +25,14 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmspecialrebatedistribute;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.ScmSpecialRebatedistributeCompleteDto;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -80,7 +88,7 @@ public class ScmSpecialrebatedistributeRest implements ScmSpecialrebatedistribut
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
return scmSpecialrebatedistributeService.delAll(sids);
}
@ -91,4 +99,47 @@ public class ScmSpecialrebatedistributeRest implements ScmSpecialrebatedistribut
public ResultBean<ScmSpecialrebatedistributeDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
return scmSpecialrebatedistributeService.fetchDetailsVoBySid(sid);
}
@Override
public ResultBean submitSpecialRebatedistribute(SubmitScmSpecialRebatedistributeDto dto) {
return scmSpecialrebatedistributeService.submitSpecialRebatedistribute(dto);
}
@Override
public ResultBean complete(ScmSpecialRebatedistributeCompleteDto dto) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.getProDefId());
return scmSpecialrebatedistributeService.complete(bv);
}
@Override
public ResultBean revokeProcess(FlowTaskVo flowTaskVo) {
return scmSpecialrebatedistributeService.revokeProcess(flowTaskVo);
}
@Override
public ResultBean taskReject(FlowTaskVo flowTaskVo) {
return scmSpecialrebatedistributeService.taskReject(flowTaskVo);
}
@Override
public ResultBean breakProcess(FlowTaskVo flowTaskVo) {
return scmSpecialrebatedistributeService.breakProcess(flowTaskVo);
}
@Override
public ResultBean flowRecord(String procInsId) {
return scmSpecialrebatedistributeService.flowRecord(procInsId);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return scmSpecialrebatedistributeService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return scmSpecialrebatedistributeService.getPreviousNodesForReject(query);
}
}

247
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java

@ -26,9 +26,22 @@
package com.yxt.anrui.scm.biz.scmspecialrebatedistribute;
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.scm.api.scmspecialrebate.ScmStayDisRebateVo;
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.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 com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.GetNodeVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.flow.SubmitScmSpecialRebatedistributeDto;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetail;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDto;
@ -50,7 +63,8 @@ import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistribu
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-scm(专项返利分配) <br/>
@ -72,6 +86,14 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe
private ScmSpecialrebatedistributedetailService scmSpecialrebatedistributedetailService;
@Autowired
private ScmSpecialrebateVehsService scmSpecialrebateVehsService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
private QueryWrapper<ScmSpecialrebatedistribute> createQueryWrapper(ScmSpecialrebatedistributeQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -113,7 +135,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe
scmSpecialrebatedistributedetail1.setSpecialRebateSid(scmSpecialrebatedistributedetail.getSpecialRebateSid());
scmSpecialrebatedistributedetailService.save(scmSpecialrebatedistributedetail1);
}
return rb.success().setMsg("保存成功");
return rb.success().setMsg("保存成功").setData(sid);
}
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(dtoSid);
if (scmSpecialrebatedistribute == null){
@ -127,7 +149,7 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe
scmSpecialrebatedistributedetail1.setSpecialRebateSid(scmSpecialrebatedistributedetail.getSpecialRebateSid());
scmSpecialrebatedistributedetailService.save(scmSpecialrebatedistributedetail1);
}
return rb.success().setMsg("修改成功");
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public ResultBean<String> insertByDto(ScmSpecialrebatedistributeDto dto) {
@ -181,4 +203,221 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe
}
return rb.success().setMsg("删除成功");
}
public ResultBean submitSpecialRebatedistribute(SubmitScmSpecialRebatedistributeDto 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();
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, scmSpecialrebatedistribute);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//=====================添加app所需参数
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",businessSid);
variables.put("app",appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.getProDefId());
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(scmSpecialrebatedistribute.getTaskId());
bv.setTaskDefKey(scmSpecialrebatedistribute.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitScmSpecialRebatedistributeDto dto, ScmSpecialrebatedistribute scmSpecialRebatedistribute) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (scmSpecialRebatedistribute != null) {
String businessTaskId = scmSpecialRebatedistribute.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 bv) {
ResultBean rb = ResultBean.fireFail();
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(scmSpecialrebatedistribute.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean revokeProcess(FlowTaskVo query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排内购申请
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(query.getBusinessSid());
String businessTaskId = scmSpecialrebatedistribute.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
flowTaskVo.setValues(BeanUtil.beanToMap(scmSpecialrebatedistribute));
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 taskReject(FlowTaskVo query) {
ResultBean rb = ResultBean.fireFail();
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(query.getBusinessSid());
if (scmSpecialrebatedistribute == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = scmSpecialrebatedistribute.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.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 breakProcess(FlowTaskVo query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(query.getBusinessSid());
String businessTaskId = scmSpecialrebatedistribute.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.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("操作失败!提交的数据不一致!");
}
public ResultBean flowRecord(String procInsId) {
return flowTaskFeign.businessFlowRecord(procInsId);
}
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.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<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.SCMSPECIALREBATECHEDISTRIBUTE.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);
}
}

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailMapper.xml

@ -34,5 +34,6 @@
FROM scm_special_rebate ssr
LEFT JOIN scm_specialrebatedistributedetail ssd
ON ssd.`specialRebateSid` = ssr.`sid`
WHERE ssd.mainSid = #{sid}
</select>
</mapper>

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsRest.java

@ -80,7 +80,7 @@ public class ScmSpecialrebateVehsRest implements ScmSpecialrebateVehsFeign {
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
scmSpecialrebateVehsService.delBySids(sids);

Loading…
Cancel
Save