提交修改
This commit is contained in:
parent
2d38ea105c
commit
3e14c8a254
@ -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 {
|
||||
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -11,4 +11,5 @@ public class ApprovalDto {
|
||||
private String comment;
|
||||
private Long transferStaffId; // 转交员工 id
|
||||
private Long flowRecordId;// 流程 id
|
||||
private int resetFlag;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -127,4 +127,6 @@ public interface ResultRecordService extends IService<ResultRecord> {
|
||||
List<Long> selectResultRecordIdsByStartId(Long startId);
|
||||
|
||||
R getResetData(RecordDetailDto recordDetailDto);
|
||||
|
||||
R resetData(Long recordId);
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user