feat(企标稽查计划): 完善
This commit is contained in:
+3
-2
@@ -14,6 +14,7 @@ import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -85,7 +86,7 @@ public class ProcessEsInspectPlan extends BaseEntity {
|
||||
@ApiModelProperty(value = "备注")
|
||||
private String remarks;
|
||||
/**意见*/
|
||||
@Excel(name = "意见", width = 15)
|
||||
@ApiModelProperty(value = "意见")
|
||||
private String opinion;
|
||||
@TableField(exist = false)
|
||||
private List<ProcessEsInspectPlanOpinion> processEsInspectPlanOpinionList;
|
||||
}
|
||||
|
||||
+8
@@ -53,4 +53,12 @@ public interface IEsInspectPlanFlowService {
|
||||
* @param userId
|
||||
*/
|
||||
void flowTransfer(String taskId, String userId);
|
||||
|
||||
/**
|
||||
* 企标稽查计划流程-是否是最后一个节点
|
||||
*
|
||||
* @param processInstanceId
|
||||
* @return
|
||||
*/
|
||||
boolean isLastNode(String processInstanceId);
|
||||
}
|
||||
|
||||
+46
-18
@@ -133,6 +133,11 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
|
||||
// 删除草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +156,12 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
ProcessDraft processDraft = new ProcessDraft();
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processAll, processDraft);
|
||||
processDraft.setId("");
|
||||
processDraft.setUpdateBy("");
|
||||
Date date = new Date();
|
||||
processDraft.setCreateTime(date);
|
||||
processDraft.setUpdateBy("");
|
||||
processDraft.setUpdateTime(date);
|
||||
// 保存草稿表
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitFile())){
|
||||
processDraft.setHandleFile(processApprovalRecord.getCommitFile());
|
||||
@@ -159,27 +170,33 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
processDraft.setHandleText(processApprovalRecord.getCommitText());
|
||||
}
|
||||
processDraft.setUserId(loginUser.getId());
|
||||
// 删除旧草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
// 保存新草稿
|
||||
processDraftService.save(processDraft);
|
||||
|
||||
// 保存企标稽查计划业务表
|
||||
List<String> ids = new ArrayList<>();
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : processEsInspectPlanList) {
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getId())){
|
||||
ids.add(processEsInspectPlan.getId());
|
||||
}
|
||||
processEsInspectPlan.setProjectId(processAll.getProjectId());
|
||||
}
|
||||
// 处理企标稽查计划业务表
|
||||
List<ProcessEsInspectPlan> newInspectPlanList = processEsInspectPlanList.stream().filter(v -> StringUtils.isBlank(v.getId())).collect(Collectors.toList());
|
||||
List<ProcessEsInspectPlan> oldInspectPlanList = processEsInspectPlanList.stream().filter(v -> StringUtils.isNotBlank(v.getId())).collect(Collectors.toList());
|
||||
// 设置项目id
|
||||
newInspectPlanList.forEach(v -> v.setProjectId(processAll.getProjectId()));
|
||||
// 保存新数据
|
||||
processEsInspectPlanService.saveBatch(newInspectPlanList);
|
||||
|
||||
// 旧数据ids
|
||||
List<String> oldIds = oldInspectPlanList.stream().map(ProcessEsInspectPlan::getId).collect(Collectors.toList());
|
||||
|
||||
//删除旧数据
|
||||
if (ids.isEmpty()){
|
||||
if (oldIds.isEmpty()){
|
||||
processEsInspectPlanService.remove(new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId()));
|
||||
}else {
|
||||
processEsInspectPlanService.remove(new LambdaQueryWrapper<ProcessEsInspectPlan>()
|
||||
.eq(ProcessEsInspectPlan::getProjectId, processAll.getProjectId())
|
||||
.notIn(ProcessEsInspectPlan::getId, ids));
|
||||
.notIn(ProcessEsInspectPlan::getId, oldIds));
|
||||
}
|
||||
// 保存新数据
|
||||
processEsInspectPlanService.saveOrUpdateBatch(processEsInspectPlanList);
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
@@ -198,7 +215,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
public EsInspectPlanFlowVO queryDetailByProjectId(String projectId, String taskId) {
|
||||
EsInspectPlanFlowVO esInspectPlanFlowVO = new EsInspectPlanFlowVO();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
ProcessAll processAll = new ProcessAll();
|
||||
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
|
||||
|
||||
// 是否存在草稿
|
||||
@@ -206,10 +224,12 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
.eq(ProcessDraft::getProjectId, projectId)
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
if (!processDraftList.isEmpty()){
|
||||
String id = processAll.getId();
|
||||
// 存在草稿
|
||||
ProcessDraft processDraft = processDraftList.get(0);
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processDraft, processAll);
|
||||
processAll.setId(id);
|
||||
if (StringUtils.isNotBlank(processDraft.getHandleFile())){
|
||||
processApprovalRecord.setCommitFile(processDraft.getHandleFile());
|
||||
}
|
||||
@@ -218,9 +238,6 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
}
|
||||
}else {
|
||||
// 不存在草稿
|
||||
processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProjectId, projectId), false);
|
||||
|
||||
processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getProjectId, projectId)
|
||||
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
|
||||
@@ -299,8 +316,8 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
if (task!= null) {
|
||||
// 完成任务
|
||||
taskService.complete(task.getId(), map);
|
||||
// 任务结束
|
||||
if (EsInspectPlanCommon.PROCESS_NODE_END.equals(task.getName())
|
||||
// 判断是否是最后一个节点
|
||||
if (isLastNode(processAll.getProcessInstanceId())
|
||||
&& map.containsKey("pass") && (boolean) map.get("pass")){
|
||||
// 抄送消息 通过hiwork 给稽查联络人抄送消息
|
||||
List<ProcessNode> processNodeList = queryPersonInfo(EsInspectPlanCommon.NAME, processAll.getProcessInstanceId());
|
||||
@@ -332,4 +349,15 @@ public class EsInspectPlanFlowServiceImpl implements IEsInspectPlanFlowService {
|
||||
// 转办
|
||||
taskService.setAssignee(taskId, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLastNode(String processInstanceId) {
|
||||
// 查询流程实例状态
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId)
|
||||
.singleResult();
|
||||
|
||||
// 如果流程实例为null,表示流程已结束
|
||||
return processInstance == null;
|
||||
}
|
||||
}
|
||||
|
||||
+20
-2
@@ -11,7 +11,9 @@ import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.util.BeanCopyUtils;
|
||||
import com.jero.common.util.ImportExcelUtil;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan;
|
||||
import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlanOpinion;
|
||||
import com.jero.modules.activiti.process.esinspectplan.mapper.ProcessEsInspectPlanMapper;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanOpinionService;
|
||||
import com.jero.modules.activiti.process.esinspectplan.service.IProcessEsInspectPlanService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
@@ -47,15 +49,18 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
|
||||
|
||||
private final ProcessEsInspectPlanMapper processEsInspectPlanMapper;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
private final IProcessEsInspectPlanOpinionService iProcessEsInspectPlanOpinionService;
|
||||
private final ISysUserService sysUserService;
|
||||
private final ISysDepartService sysDepartService;
|
||||
|
||||
public ProcessEsInspectPlanServiceImpl(ProcessEsInspectPlanMapper processEsInspectPlanMapper,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService,
|
||||
IProcessEsInspectPlanOpinionService iProcessEsInspectPlanOpinionService,
|
||||
ISysUserService sysUserService,
|
||||
ISysDepartService sysDepartService) {
|
||||
this.processEsInspectPlanMapper = processEsInspectPlanMapper;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
this.iProcessEsInspectPlanOpinionService = iProcessEsInspectPlanOpinionService;
|
||||
this.sysUserService = sysUserService;
|
||||
this.sysDepartService = sysDepartService;
|
||||
}
|
||||
@@ -74,7 +79,9 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
|
||||
public IPage<ProcessEsInspectPlan> queryPage(ProcessEsInspectPlan processEsInspectPlan, Integer pageNo, Integer pageSize) {
|
||||
QueryWrapper<ProcessEsInspectPlan> queryWrapper = getProcessEsInspectPlanQueryWrapper(processEsInspectPlan);
|
||||
Page<ProcessEsInspectPlan> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
Page<ProcessEsInspectPlan> pages = page(page, queryWrapper);
|
||||
fillOpinion(pages.getRecords());
|
||||
return pages;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -86,9 +93,20 @@ public class ProcessEsInspectPlanServiceImpl extends ServiceImpl<ProcessEsInspec
|
||||
@Override
|
||||
public List<ProcessEsInspectPlan> queryList(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
QueryWrapper<ProcessEsInspectPlan> queryWrapper = getProcessEsInspectPlanQueryWrapper(processEsInspectPlan);
|
||||
return list(queryWrapper);
|
||||
List<ProcessEsInspectPlan> list = list(queryWrapper);
|
||||
fillOpinion(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
private void fillOpinion(List<ProcessEsInspectPlan> list) {
|
||||
for (ProcessEsInspectPlan processEsInspectPlan : list) {
|
||||
List<ProcessEsInspectPlanOpinion> opinionList = iProcessEsInspectPlanOpinionService.list(
|
||||
new LambdaQueryWrapper<ProcessEsInspectPlanOpinion>()
|
||||
.eq(ProcessEsInspectPlanOpinion::getInspectPlanId, processEsInspectPlan.getId()));
|
||||
processEsInspectPlan.setProcessEsInspectPlanOpinionList(opinionList);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private static QueryWrapper<ProcessEsInspectPlan> getProcessEsInspectPlanQueryWrapper(ProcessEsInspectPlan processEsInspectPlan) {
|
||||
QueryWrapper<ProcessEsInspectPlan> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
Reference in New Issue
Block a user