提交修改

This commit is contained in:
quyixiao 2020-10-26 15:36:20 +08:00
parent 564cbe371f
commit fb945d20a9
9 changed files with 137 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package com.lz.modules.app.controller;
import com.lz.common.emun.WorkMsgTypeEnum;
import com.lz.common.utils.*;
import com.lz.modules.app.dto.ApprovalDto;
import com.lz.modules.app.dto.DepartmentsDto;
import com.lz.modules.app.dto.StaffDepartmentDto;
import com.lz.modules.app.entity.DepartmentsStaffRelateEntity;
@ -17,6 +18,7 @@ import com.lz.modules.flow.entity.RecordAuth;
import com.lz.modules.flow.entity.RecordFile;
import com.lz.modules.flow.entity.StaffRole;
import com.lz.modules.flow.model.Auth;
import com.lz.modules.flow.model.ResultRecordDto;
import com.lz.modules.flow.req.ResultDetailReq;
import com.lz.modules.flow.service.FlowRecordService;
import com.lz.modules.flow.service.RecordAuthService;
@ -645,6 +647,19 @@ public class ResultRecordController extends AbstractController {
/**
* 删除
*/
@RequestMapping("/new/approval")
public R approval(ApprovalDto approvalDto) {
return resultRecordService.newApproval(approvalDto);
}

View File

@ -257,7 +257,7 @@ public class TestController {
}
}
// http://localhost:8080/lz_management/test/resultrecord?resultRecordId=157
// http://localhost:8080/lz_management/test/resultrecord?resultRecordId=215
@RequestMapping("/test/resultrecord")
public void resultRecorcd(Long resultRecordId) throws Exception{
R r = resultRecordService.initFlowRecord(resultRecordId);

View File

@ -0,0 +1,10 @@
package com.lz.modules.app.dto;
import lombok.Data;
@Data
public class ApprovalDto {
private Long resultRecordId;
private Integer status; //1 提交审批,审批通过,2 撤回,3 催办,5 驳回6 申述7 流程终止
private Long loginUserId;
}

View File

@ -59,4 +59,7 @@ public interface FlowRecordMapper extends BaseMapper<FlowRecord> {
List<TaskListDto> selectFinishTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page);
void insertFlowRecords(@Param("flowRecords") List<FlowRecord> flowRecords);
List<FlowRecord> selectFlowRecordByRecordIdStatus(@Param("resultRecordId") Long resultRecordId, @Param("status") Integer status);
}

View File

@ -59,4 +59,6 @@ public interface FlowRecordService extends IService<FlowRecord> {
PageUtils selectTaskListByApprovalStaffId(AssessTaskReq req, Long approvalStaffId);
void insertFlowRecords(List<FlowRecord> flowRecords);
List<FlowRecord> selectFlowRecordByRecordIdStatus(Long resultRecordId,Integer status);
}

View File

@ -163,4 +163,9 @@ public class FlowRecordServiceImpl extends ServiceImpl<FlowRecordMapper, FlowRec
public void insertFlowRecords(List<FlowRecord> flowRecords) {
flowRecordMapper.insertFlowRecords(flowRecords);
}
@Override
public List<FlowRecord> selectFlowRecordByRecordIdStatus(Long resultRecordId,Integer status) {
return flowRecordMapper.selectFlowRecordByRecordIdStatus(resultRecordId,status);
}
}

View File

@ -3,6 +3,7 @@ package com.lz.modules.sys.service.app;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lz.common.emun.WorkMsgTypeEnum;
import com.lz.common.utils.R;
import com.lz.modules.app.dto.ApprovalDto;
import com.lz.modules.app.dto.GraphicsStatisticalDto;
import com.lz.modules.app.entity.DepartmentsEntity;
import com.lz.modules.app.entity.DepartmentsStaffRelateEntity;
@ -108,4 +109,6 @@ public interface ResultRecordService extends IService<ResultRecord> {
void batchDeleteByStaffIds(List<String> staffIds);
R initFlowRecord(Long resultRecordId);
R newApproval(ApprovalDto approvalDto);
}

View File

@ -7,6 +7,7 @@ import com.lz.common.emun.WorkMsgTypeEnum;
import com.lz.common.utils.*;
import com.lz.modules.app.dao.DepartmentsDao;
import com.lz.modules.app.dao.DepartmentsStaffRelateDao;
import com.lz.modules.app.dto.ApprovalDto;
import com.lz.modules.app.dto.EmployeesDto;
import com.lz.modules.app.dto.GraphicsStatisticalDto;
import com.lz.modules.app.entity.DepartmentsEntity;
@ -805,6 +806,94 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
return R.ok();
}
@Override
//1 提交审批,审批通过,2 撤回,3 催办,5 驳回6 申述7 流程终止
public R newApproval(ApprovalDto approvalDto) {
switch (approvalDto.getStatus()) {
case 1: //1 提交审批,审批通过
return newSubmit(approvalDto);
case 2: //2 撤回
return newReject(approvalDto);
case 3: //3 催办
return urge(approvalDto);
case 5: //4 驳回
return newReject(approvalDto);
case 6: //6 申述
return explain(approvalDto);
case 7: //7 终止流程
return stop(approvalDto);
default:
break;
}
return null;
}
private R newSubmit(ApprovalDto approvalDto) {
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordId(approvalDto.getResultRecordId());
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId());
FlowRecord currentFlowRecord = null;
for(FlowRecord flowRecord: flowRecords){
if(flowRecord.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())){
log.info("flowRecordId:" + flowRecord.getId() + "更新为流程己走");
flowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus());
flowRecordService.updateFlowRecordById(flowRecord);
} else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())){
continue;
} else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())){
flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus());
log.info("flowRecordId:" + flowRecord.getId() + "更新为正在执行");
currentFlowRecord = flowRecord;
flowRecordService.updateFlowRecordById(flowRecord);
break;
}
}
resultRecord.setFlowStaffIdRole(currentFlowRecord.getFlowStaffIdRole());
resultRecord.setCurrentApprovalStaffId(currentFlowRecord.getApprovalStaffId());
resultRecord.setCurrentApprovalStaffName(currentFlowRecord.getApprovalStaffName());
resultRecordService.updateResultRecordById(resultRecord);
return R.ok();
}
private R newReject(ApprovalDto approvalDto) {
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2);
if(flowRecords !=null && flowRecords.size() > 0 ){
FlowRecord currentFlowRecord = flowRecords.get(0);
for(FlowRecord flowRecord : flowRecords){
flowRecord.setStatus(0);
flowRecordService.updateFlowRecordById(flowRecord);
}
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId());
resultRecord.setCurrentApprovalStaffId(currentFlowRecord.getApprovalStaffId());
resultRecord.setCurrentApprovalStaffName(currentFlowRecord.getApprovalStaffName());
resultRecord.setFlowStaffIdRole(currentFlowRecord.getFlowStaffIdRole());
resultRecordService.updateResultRecordById(resultRecord);
}
return R.ok();
}
private R urge(ApprovalDto approvalDto) {
ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId());
if(!resultRecord.getCurrentApprovalStaffId().equals(approvalDto.getLoginUserId())){
log.info("催办" + resultRecord.getCurrentApprovalStaffId());
}
return R.ok();
}
private R stop(ApprovalDto approvalDto) {
return R.ok();
}
private R explain(ApprovalDto approvalDto) {
return R.ok();
}
public StaffEntity getDepartmentStaff(Map<String, String> map, int level) {
for (int i = 1; i < 6; i++) {
String deparment = map.get("dd" + i );

View File

@ -222,7 +222,6 @@
order by r.gmt_modified desc
</select>
<insert id="insertFlowRecords">
insert into lz_flow_record(
department_level,
@ -261,5 +260,14 @@
</foreach>
</insert>
<select id="selectFlowRecordByRecordIdStatus" resultType="com.lz.modules.flow.entity.FlowRecord">
select * from lz_flow_record where is_delete = 0 and record_id = #{resultRecordId} and status = #{status}
</select>
</mapper>