提交修改

This commit is contained in:
quyixiao 2020-12-03 12:40:07 +08:00
parent 2d38ea105c
commit 3e14c8a254
9 changed files with 120 additions and 4 deletions

View File

@ -1139,6 +1139,8 @@ public class ResultRecordController extends AbstractController {
// 审批http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=1&comment=xxx&menuName=bbb
// 跳过http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=4&menuName=bbb&flowRecordId=360
// 转交http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=215&status=8&menuName=bbb&flowRecordId=360&transferStaffId=294
// 重置http://localhost:8080/lz_management/user/lzresultrecord/new/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0
@RequestMapping("/new/approval")
public R approval(ApprovalDto approvalDto) {
try {

View File

@ -305,4 +305,14 @@ public class TestController {
return resultRecordService.getResetData(recordDetailDto);
}
// 重置http://localhost:8080/lz_management/test/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0
@RequestMapping("/test/approval")
public R approval(ApprovalDto approvalDto) {
try {
return resultRecordService.newApproval(approvalDto);
} catch (Exception e) {
return R.error(e.getMessage());
}
}
}

View File

@ -11,4 +11,5 @@ public class ApprovalDto {
private String comment;
private Long transferStaffId; // 转交员工 id
private Long flowRecordId;// 流程 id
private int resetFlag;
}

View File

@ -93,4 +93,10 @@ public interface FlowRecordMapper extends BaseMapper<FlowRecord> {
List<FlowRecord> selectFirstFlowRecordsByIdAndFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") int flowIndex, @Param("status") int status);
List<FlowRecord> selectFlowRecordsByRecordIdAndStatus(@Param("recordId") Long recordId, @Param("status") int status);
List<FlowRecord> selectFlowRecordByRecordIdGeFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex);
void deleteFlowRecordByRecordId(@Param("recordId") Long recordId);
void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId);
}

View File

@ -6,6 +6,7 @@ import com.lz.modules.equipment.entity.model.BasePage;
import com.lz.modules.flow.entity.FlowRecord;
import com.lz.modules.performance.req.AssessTaskReq;
import com.lz.modules.sys.entity.app.ResultRecord;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -88,4 +89,10 @@ public interface FlowRecordService extends IService<FlowRecord> {
List<FlowRecord> selectFirstFlowRecordsByIdAndFlowIndex(Long recordId, int flowIndex, int status);
List<FlowRecord> selectFlowRecordsByRecordIdAndStatus(Long recordId, int status);
List<FlowRecord> selectFlowRecordByRecordIdGeFlowIndex(Long recordId, Integer flowIndex);
void deleteFlowRecordByRecordId(Long recordId);
void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId);
}

View File

@ -236,4 +236,19 @@ public class FlowRecordServiceImpl extends ServiceImpl<FlowRecordMapper, FlowRec
return flowRecordMapper.selectFlowRecordsByRecordIdAndStatus(recordId, status);
}
@Override
public List<FlowRecord> selectFlowRecordByRecordIdGeFlowIndex(Long recordId, Integer flowIndex) {
return flowRecordMapper.selectFlowRecordByRecordIdGeFlowIndex(recordId,flowIndex);
}
@Override
public void deleteFlowRecordByRecordId(Long recordId) {
flowRecordMapper.deleteFlowRecordByRecordId(recordId);
}
@Override
public void updateFlowRecordIdById(Long id, Long newId) {
flowRecordMapper.updateFlowRecordIdById(id,newId);
}
}

View File

@ -127,4 +127,6 @@ public interface ResultRecordService extends IService<ResultRecord> {
List<Long> selectResultRecordIdsByStartId(Long startId);
R getResetData(RecordDetailDto recordDetailDto);
R resetData(Long recordId);
}

View File

@ -779,7 +779,6 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
@Override
public R initFlowRecord(ResultRecord resultRecord, List<Flow> flows, List<FlowApprovalRole> flowApprovalRoles) {
int i = 0;
for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) {
FlowRecord flowRecord = new FlowRecord();
@ -828,6 +827,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}
i++;
}
resultRecordService.updateResultRecordById(resultRecord);
return R.ok();
}
@ -912,12 +912,69 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
throw new RRException("flowRecordId 不能为空");
}
return transfer(approvalDto);
case 9:
return reset(approvalDto);
default:
break;
}
return null;
}
private R reset(ApprovalDto approvalDto) {
switch (approvalDto.getResetFlag()) {
case 0: //0 重置到制定节点,所有数据会保留,重置到制定节点的后面跳过的节点需要重新执行
return resetNode(approvalDto);
case 1: //重新读取考核流程,添加的指标信息根据选择是否清空,后面跳过的节点需要重新执行
return resetAll(approvalDto);
}
return R.ok();
}
private R resetNode(ApprovalDto approvalDto) {
FlowRecord resultRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(resultRecord.getRecordId(),resultRecord.getFlowIndex());
for(FlowRecord flowRecord:flowRecords){
// 如果结果录入己经走了
if (new Integer(3).equals(flowRecord.getFlowProcess()) && flowRecord.getStatus() == 1 ) {
continue;
}
flowRecord.setStatus(0); //表示流程己经被重置
flowRecordService.updateFlowRecordById(flowRecord);
}
return R.ok();
}
private R resetAll(ApprovalDto approvalDto) {
FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordId(flowRecord.getRecordId());
List<Long> flowRecordIds =new ArrayList<>();
boolean flag = false ;
for(FlowRecord f: flowRecords){
flowRecordIds.add(f.getId());
//如果录入己经走了则重置数据后结果录入还是默认己走
if (new Integer(3).equals(f.getFlowProcess()) && f.getStatus() == 1 ) {
flag = true;
}
}
flowRecordService.deleteFlowRecordByRecordId(flowRecord.getRecordId());
initFlowRecord(flowRecord.getRecordId());
List<FlowRecord> newflowRecords = flowRecordService.selectFlowRecordByRecordId(flowRecord.getRecordId());
for(int i = 0 ;i < newflowRecords.size() ; i ++){
flowRecordService.updateFlowRecordIdById(newflowRecords.get(i).getId(),flowRecordIds.get(i));
if(flag ){ //如果录入己经走了设置新的数据结果录入己走
FlowRecord newFlowRecord = newflowRecords.get(i) ;
if (new Integer(3).equals(newFlowRecord.getFlowProcess()) ) {
newFlowRecord.setStatus(1);
flowRecordService.updateFlowRecordById(newFlowRecord);
}
}
}
resultRecordService.resetData(flowRecord.getRecordId());
return R.ok();
}
private R skip(ApprovalDto approvalDto) {
FlowRecord flowRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
if (flowRecord.getStatus().equals(FlowRecordStatusEnums.FINISHED_STATUS.getStatus())
@ -1371,4 +1428,9 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}
return R.ok().put("data",resetDataResps);
}
@Override
public R resetData(Long recordId) {
return null;
}
}

View File

@ -32,7 +32,6 @@
<select id="selectFlowRecordById" resultType="FlowRecord" >
select * from lz_flow_record where id=#{id} and is_delete = 0 limit 1
</select>
@ -324,8 +323,20 @@
</select>
<select id="selectFlowRecordsByRecordIdAndStatus" resultType="com.lz.modules.flow.entity.FlowRecord">
select * from lz_flow_record where is_delete = 0
and record_id = #{recordId} and status=#{status} order by flow_index asc
select * from lz_flow_record where is_delete = 0 and record_id = #{recordId} and status=#{status} order by flow_index asc
</select>
<select id="selectFlowRecordByRecordIdGeFlowIndex" resultType="com.lz.modules.flow.entity.FlowRecord">
select * from lz_flow_record where is_delete = 0 and record_id = #{recordId} and flow_index >= #{flowIndex}
</select>
<delete id="deleteFlowRecordByRecordId">
delete from lz_flow_record where record_id = #{recordId}
</delete>
<update id="updateFlowRecordIdById">
update lz_flow_record set id = #{newId} where id = #{id}
</update>
</mapper>