合并提交修改
This commit is contained in:
commit
e928a09d1f
@ -2,6 +2,9 @@ package com.lz.modules.flow.model;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* </p>*流程节点权限对应关系表
|
||||
@ -21,12 +24,16 @@ public class FlowChartRoleDto {
|
||||
//角色id
|
||||
@ApiModelProperty(value = "角色id", name = "roleId")
|
||||
private Long roleId;
|
||||
@ApiModelProperty(value = "角色名称", name = "roleName")
|
||||
private String roleName;
|
||||
//1默认权限,必带权限,不可修改权限,0可选权限,2被考核人默认权限,必带权限,初始化时获取
|
||||
@ApiModelProperty(value = "1默认权限,必带权限,不可修改权限,0可选权限,2被考核人默认权限,必带权限,初始化时获取", name = "type")
|
||||
private Integer type;
|
||||
//lz_flow_chart_role_group中的id,分组id
|
||||
@ApiModelProperty(value = "lz_flow_chart_role_group中的id,分组id", name = "roleGroupId")
|
||||
@ApiModelProperty(value = "lz_flow_chart_role_group中的id,分组id,如果不为0那么roleDtos需要一起显示", name = "roleGroupId")
|
||||
private Long roleGroupId;
|
||||
@ApiModelProperty(value = "节点权限列表", name = "roleDtos")
|
||||
private List<FlowChartRoleDto> roleDtos;
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
|
||||
@ -5,17 +5,11 @@ import com.lz.common.emun.ChartOptType;
|
||||
import com.lz.common.utils.R;
|
||||
import com.lz.modules.app.dto.StaffSimpleDto;
|
||||
import com.lz.modules.app.service.StaffService;
|
||||
import com.lz.modules.flow.entity.FlowChart;
|
||||
import com.lz.modules.flow.entity.FlowChartDetailRecord;
|
||||
import com.lz.modules.flow.entity.FlowChartRole;
|
||||
import com.lz.modules.flow.entity.FlowManager;
|
||||
import com.lz.modules.flow.entity.*;
|
||||
import com.lz.modules.flow.model.*;
|
||||
import com.lz.modules.flow.req.FlowChartDetailRecordListReq;
|
||||
import com.lz.modules.flow.req.FlowChartDetailRecordSimpleReq;
|
||||
import com.lz.modules.flow.service.FlowChartDetailRecordService;
|
||||
import com.lz.modules.flow.service.FlowChartRoleService;
|
||||
import com.lz.modules.flow.service.FlowChartService;
|
||||
import com.lz.modules.flow.service.FlowManagerService;
|
||||
import com.lz.modules.flow.service.*;
|
||||
import io.swagger.annotations.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@ -50,6 +44,9 @@ public class FlowChartController {
|
||||
@Autowired
|
||||
private FlowChartRoleService flowChartRoleService;
|
||||
|
||||
@Autowired
|
||||
private FlowChartRoleGroupService flowChartRoleGroupService;
|
||||
|
||||
@GetMapping("/getByFlowManagerId")
|
||||
@ApiOperation("获取大流程节点")
|
||||
@ApiResponses({@ApiResponse(code = 200,message = "成功",response = FlowChartDto.class)})
|
||||
@ -57,9 +54,48 @@ public class FlowChartController {
|
||||
FlowManager flowManager = flowManagerService.selectFlowManagerById(id);
|
||||
if(flowManager != null){
|
||||
List<FlowChartDto> flowChartDtos = flowChartService.selectFlowChartDtoByFlowManagerId(flowManager.getId());
|
||||
Map<Long, FlowChartRoleGroup> flowChartRoleGroupMap = new HashMap<>();
|
||||
|
||||
for (FlowChartDto dto:flowChartDtos
|
||||
) {
|
||||
List<FlowChartRoleDto> flowChartRoles = flowChartService.selectCanSetChartRoleByChartId(dto.getId());
|
||||
//代码层面对分组的数据做树形结构返回
|
||||
Long rGroupId = 0l;
|
||||
FlowChartRoleDto flowChartRoleDto = null;
|
||||
for (int i = 0; i < flowChartRoles.size(); i++
|
||||
) {
|
||||
FlowChartRoleDto roleDto = flowChartRoles.get(i);
|
||||
if(roleDto.getRoleGroupId().longValue() != 0L){
|
||||
//查询考评组
|
||||
FlowChartRoleGroup flowChartRoleGroup = flowChartRoleGroupMap.get(roleDto.getRoleGroupId());
|
||||
if(flowChartRoleGroup == null){
|
||||
flowChartRoleGroup = flowChartRoleGroupService.selectFlowChartRoleGroupById(roleDto.getRoleGroupId());
|
||||
}
|
||||
if(flowChartRoleGroup != null){
|
||||
|
||||
flowChartRoles.remove(i);
|
||||
flowChartRoleGroupMap.put(flowChartRoleGroup.getId(), flowChartRoleGroup);
|
||||
if(rGroupId != flowChartRoleGroup.getId()){
|
||||
flowChartRoleDto = new FlowChartRoleDto();
|
||||
flowChartRoleDto.setChartId(roleDto.getChartId());
|
||||
flowChartRoleDto.setRoleName(flowChartRoleGroup.getName());
|
||||
flowChartRoleDto.setType(0);
|
||||
flowChartRoleDto.setRoleId(0l);
|
||||
flowChartRoleDto.setId(flowChartRoleGroup.getId());
|
||||
flowChartRoleDto.setRoleGroupId(flowChartRoleGroup.getId());
|
||||
flowChartRoleDto.setRoleDtos(new ArrayList<>());
|
||||
flowChartRoles.add(i, flowChartRoleDto);
|
||||
rGroupId = flowChartRoleGroup.getId();
|
||||
}else{
|
||||
i--;
|
||||
}
|
||||
flowChartRoleDto.getRoleDtos().add(roleDto);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
dto.setRoleDtos(flowChartRoles);
|
||||
if(groupId > 0){
|
||||
//获取节点已保存的数据
|
||||
|
||||
@ -894,16 +894,16 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
if (StringUtil.isBlank(approvalDto.getMenuName())) {
|
||||
throw new RRException("menuName 不能为空");
|
||||
}
|
||||
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(), 2);
|
||||
Long commentId = 0l;
|
||||
if (CollectionUtils.isNotEmpty(flowRecords)) {
|
||||
R r = apply(approvalDto);
|
||||
if (CollectionUtils.isNotEmpty(flowRecords) && r !=null
|
||||
&& NumberUtil.objToIntDefault(r.get("code"),200) == 200 ) {
|
||||
FlowRecord preFlowRecord = flowRecords.get(0);
|
||||
// 评论内容
|
||||
FlowChart flowChart = flowService.selectFlowChartByChartId(preFlowRecord.getFlowId());
|
||||
commentId = comment(approvalDto, flowChart);
|
||||
}
|
||||
R r = apply(approvalDto);
|
||||
if (approvalDto.getLoginUserId() != null) {
|
||||
List<TaskListDto> taskListDtos = flowRecordMapper.selectTodoTasksByApprovalStaffId(approvalDto.getLoginUserId(), null);
|
||||
if (taskListDtos != null && taskListDtos.size() > 0) {
|
||||
@ -953,7 +953,8 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
|
||||
|
||||
private R rejectN(ApprovalDto approvalDto) {
|
||||
log.info("驳回到前n个节点");
|
||||
log.info("驳回到前n个节点 : " + JSON.toJSONString(approvalDto));
|
||||
|
||||
FlowRecord f = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
|
||||
ResultRecord resultRecord = resultRecordService.selectResultRecordById(f.getRecordId());
|
||||
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(f.getRecordId(), f.getFlowIndex());
|
||||
@ -1130,11 +1131,33 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
return R.ok("转交成功");
|
||||
}
|
||||
|
||||
|
||||
private R reSubmit(ApprovalDto approvalDto) {
|
||||
if(!hasRecall(approvalDto.getResultRecordId(),approvalDto.getLoginUserId())){
|
||||
return R.error("没有撤回权限");
|
||||
}
|
||||
return newReject(approvalDto);
|
||||
}
|
||||
|
||||
//当前是否有撤回权限
|
||||
public boolean hasRecall(Long resultRecordId, Long loginUserId) {
|
||||
ResultRecord resultRecord = resultRecordService.selectResultRecordById(resultRecordId);
|
||||
List<FlowRecord> currflowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(resultRecordId, 2);
|
||||
if (CollectionUtils.isNotEmpty(currflowRecords)) {
|
||||
FlowRecord currentFlowRecord = currflowRecords.get(0);
|
||||
List<FlowRecord> preFlowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(currentFlowRecord.getRecordId(), currentFlowRecord.getFlowIndex() - 1);
|
||||
for (FlowRecord flowRecord : preFlowRecords) {
|
||||
if (flowRecord.getApprovalStaffId().equals(loginUserId)
|
||||
&& loginUserId.equals(resultRecord.getStaffId())
|
||||
//在目标制定的时候和结果录入的时候允许撤回
|
||||
&& (flowRecord.getFlowProcess().equals(new Integer(0)) || flowRecord.getFlowProcess().equals(new Integer(3)))) {
|
||||
return true;
|
||||
}
|
||||
log.info("没有撤回权限:approvalStaffId :" + flowRecord.getApprovalStaffId() + ",loginUserId :" + loginUserId + ",staffId:" + resultRecord.getStaffId() + ",flowProcess:"+flowRecord.getFlowProcess());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Long comment(ApprovalDto approvalDto, FlowChart flowChart) {
|
||||
StaffEntity staffEntity = staffService.selectStaffById(approvalDto.getLoginUserId());
|
||||
if (staffEntity != null) {
|
||||
@ -1404,13 +1427,8 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
|
||||
}
|
||||
}
|
||||
|
||||
List<FlowRecord> preFlowRecords = flowRecordService.selectFlowRecordByRecordIdFlowIndex(currentFlowRecord.getRecordId(), currentFlowRecord.getFlowIndex() - 1);
|
||||
if (CollectionUtils.isNotEmpty(preFlowRecords)) {
|
||||
for (FlowRecord flowRecord : preFlowRecords) {
|
||||
if (flowRecord.getApprovalStaffId().equals(recordDetailDto.getLoginUserId()) && recordDetailDto.getLoginUserId().equals(resultRecord.getStaffId())) {
|
||||
auth.put("recall", 1);
|
||||
}
|
||||
}
|
||||
if(hasRecall(currentFlowRecord.getRecordId(),recordDetailDto.getLoginUserId())){
|
||||
auth.put("recall", 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -121,8 +121,8 @@
|
||||
|
||||
<select id="selectCanSetChartRoleByChartId" resultType="com.lz.modules.flow.model.FlowChartRoleDto" >
|
||||
SELECT crole.id as id, crole.chart_id as chart_id, crole.role_id as role_id, role.name as role_name,
|
||||
crole.type as type FROM lz_flow_chart_role crole left join lz_record_role role on role.id=crole.role_id
|
||||
where crole.chart_id=#{id} and crole.type = 0 and crole.is_delete=0
|
||||
crole.type as type, crole.role_group_id as role_group_id FROM lz_flow_chart_role crole left join lz_record_role role on role.id=crole.role_id
|
||||
where crole.chart_id=#{id} and crole.type = 0 and crole.is_delete=0 order by crole.role_group_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user