员工同意操作订单即认定为开始检测,结束检测时应显示的是开始-结束订单的操作时间 每一步操作都需要显示 开始和结束时间

This commit is contained in:
xiaofajia 2024-12-09 16:12:21 +08:00
parent 288b669bef
commit d5bab8289b

View File

@ -91,6 +91,21 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
//更新
this.updateById(workNode);
// 插入步骤信息
InspectionStepInfo inspectionStepInfo = new InspectionStepInfo();
inspectionStepInfo.setInspectionInfoId(inspectionId);
DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper<DlInspectionProject>()
.eq(DlInspectionProject::getId, workNode.getProjectId()));
if (ObjectUtil.isNotNull(project)) {
inspectionStepInfo.setTitle(project.getProjectName());
} else {
inspectionStepInfo.setTitle("检测项目");
}
inspectionStepInfo.setCreateTime(DateUtil.date());
inspectionStepInfo.setCreator(Integer.parseInt(SecurityFrameworkUtils.getLoginUserId() + ""));
inspectionStepInfo.setWorkNodeId(workNodeId);
inspectionStepService.save(inspectionStepInfo);
//查询用户 信息
//修改工单表中当前施工人
// inspectionInfo.setWorkId(workerUser.getId());
@ -144,6 +159,16 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
// 更新流程
// this.updateById(workNode);
baseMapper.cancelAnOrder(workNode);
// 删除步骤信息
DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper<DlInspectionProject>()
.eq(DlInspectionProject::getId, workNode.getProjectId()));
inspectionStepService.remove(new LambdaQueryWrapper<InspectionStepInfo>()
.and(i ->
i.eq(InspectionStepInfo::getInspectionInfoId, inspectionId)
.eq(InspectionStepInfo::getWorkNodeId, workNodeId)
.eq(InspectionStepInfo::getTitle, project.getProjectName())
));
}
/**
@ -180,42 +205,46 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
LambdaQueryWrapper<InspectionWorkNode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(InspectionWorkNode::getInspectionInfoId, workNode.getInspectionInfoId());
//是否还有进行中或者待开始的状态
queryWrapper.in(InspectionWorkNode::getStatus, "0","1");
queryWrapper.in(InspectionWorkNode::getStatus, "0", "1");
List<InspectionWorkNode> inspectionWorkNodes = this.list(queryWrapper);
boolean flag = true;
//判断是否是最后一个流程
if (inspectionWorkNodes.size() == 1 && inspectionWorkNodes.get(0).getId().equals(workNode.getId())){
if (inspectionWorkNodes.size() == 1 && inspectionWorkNodes.get(0).getId().equals(workNode.getId())) {
flag = false;
}
// 插入步骤信息
InspectionStepInfo inspectionStepInfo = new InspectionStepInfo();
inspectionStepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
inspectionStepInfo.setUpdater(Integer.parseInt(String.valueOf(loginUser.getId())));
inspectionStepInfo.setUpdateTime(DateUtil.date());
//根据projectId查询项目名称
// 更新或插入步骤信息
DlInspectionProject project = inspectionProjectService.getOne(new LambdaQueryWrapper<DlInspectionProject>()
.eq(DlInspectionProject::getId, workNode.getProjectId()));
String stepTitle = "";
if (ObjectUtil.isNotNull(project)) {
inspectionStepInfo.setTitle(project.getProjectName());
InspectionStepInfo stepInfo = inspectionStepService.getOne(new LambdaQueryWrapper<InspectionStepInfo>()
.and(i -> i.eq(InspectionStepInfo::getInspectionInfoId, workNode.getInspectionInfoId())
.eq(InspectionStepInfo::getWorkNodeId, workNode.getId())
.eq(InspectionStepInfo::getTitle, ObjectUtil.isNotEmpty(project) ? project.getProjectName() : workNode.getProjectName())
));
if (ObjectUtil.isNotEmpty(stepInfo)) {
stepInfo.setUpdateTime(DateUtil.date());
stepInfo.setUpdater(Integer.parseInt(SecurityFrameworkUtils.getLoginUserId() + ""));
} else {
inspectionStepInfo.setTitle("项目检测完成");
stepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
if (ObjectUtil.isNotNull(project)) {
stepInfo.setTitle(project.getProjectName());
} else {
stepInfo.setTitle("项目检测完成");
}
stepInfo.setWorkNodeId(workNode.getId());
stepInfo.setCreateTime(DateUtil.date());
stepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
stepInfo.setUpdater(Integer.parseInt(String.valueOf(loginUser.getId())));
stepInfo.setUpdateTime(DateUtil.date());
}
if (ObjectUtil.isNotEmpty(inspectionWorkNode.getRemark())) {
inspectionStepInfo.setContent(inspectionWorkNode.getRemark());
stepInfo.setContent(inspectionWorkNode.getRemark());
}
if (ObjectUtil.isNotEmpty(inspectionWorkNode.getDealImages())) {
inspectionStepInfo.setImages(inspectionWorkNode.getDealImages());
stepInfo.setImages(inspectionWorkNode.getDealImages());
}
inspectionStepInfo.setWorkNodeId(workNode.getId());
inspectionStepInfo.setCreateTime(DateUtil.date());
inspectionStepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
inspectionStepService.save(inspectionStepInfo);
inspectionStepService.saveOrUpdate(stepInfo);
if (!flag) {
stepTitle = "检测结束";
//设置工单状态为已完成
inspectionInfo.setStatus("1");
//设置工单通过
@ -226,12 +255,12 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
inspectionInfo.setMakeCert("1");
//步骤结束
inspectionStepInfo = new InspectionStepInfo();
inspectionStepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
inspectionStepInfo.setTitle(stepTitle);
inspectionStepInfo.setCreateTime(DateUtil.date());
inspectionStepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
inspectionStepService.save(inspectionStepInfo);
stepInfo = new InspectionStepInfo();
stepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(workNode.getInspectionInfoId())));
stepInfo.setTitle("检测结束");
stepInfo.setCreateTime(DateUtil.date());
stepInfo.setCreator(Integer.parseInt(String.valueOf(loginUser.getId())));
inspectionStepService.save(stepInfo);
}
// else {
// //修改工单表当前流程
@ -348,7 +377,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
List<Integer> roleIds = new ArrayList<>();
/*获取所有的角色id*/
if(CollUtil.isNotEmpty(workNodes.getWorkNodes())){
if (CollUtil.isNotEmpty(workNodes.getWorkNodes())) {
roleIds = workNodes.getWorkNodes().stream().map(inspectionWorkNode -> inspectionWorkNode.getRoleId()).collect(Collectors.toList());
}
//根据角色id获取所有用户
@ -434,7 +463,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
*
* @param inspectionWorkNode
*/
public void retrial(InspectionWorkNode inspectionWorkNode){
public void retrial(InspectionWorkNode inspectionWorkNode) {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
//通过流程节点id查询流程
InspectionWorkNode workNode = this.getById(inspectionWorkNode.getId());
@ -457,7 +486,7 @@ public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNod
Integer roleId = workNode.getRoleId();
List<UserDTO> listByUserId = roleService.getListByUserId(roleId);
List<Long> ids = listByUserId.stream().map(UserDTO::getId).collect(Collectors.toList());
if (ObjectUtil.isNotNull(info.getLeadManId())){
if (ObjectUtil.isNotNull(info.getLeadManId())) {
ids.add(info.getLeadManId());
}
sendSocketMessage(ids);