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