feat(dms): 新增故障实例活动跳转界面优化功能,

- 添加新的Vue组件文件实现故障工单处理界面
- 实现工单基本信息展示功能
- 添加审批和主管确认按钮控制逻辑
- 集成工作流审批和确认处理功能
- 实现工单状态检查和权限验证
- 添加表单验证规则动态设置
- 集成外协单位信息查询功能

- 在QcInspectionResultServiceImpl中引入QcInspectionItem依赖
- 添加关联查询检测项定义的功能
- 修复主表质检结果状态同步逻辑,确保只有所有检测项都已判定时才更新主表结果
- 实现未判定检测项的检查机制,完善质检结果处理流程
master
zangch@mesnac.com 3 days ago
parent 9a28e73fb9
commit 2b4a234ab2

@ -8,6 +8,7 @@ import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.qms.domain.QcInspectionItem;
import org.dromara.qms.domain.QcInspectionMain;
import org.dromara.qms.domain.QcInspectionResult;
import org.dromara.qms.domain.bo.QcInspectionResultBo;
@ -77,6 +78,11 @@ public class QcInspectionResultServiceImpl implements IQcInspectionResultService
Map<String, Object> params = bo.getParams();
MPJLambdaWrapper<QcInspectionResult> lqw = JoinWrappers.lambda(QcInspectionResult.class)
.selectAll(QcInspectionResult.class)
//关联查询检测项定义
.select(QcInspectionItem::getMethod, QcInspectionItem::getItemCode, QcInspectionItem::getItemName, QcInspectionItem::getInspectionPosition)
.leftJoin(QcInspectionItem.class, QcInspectionItem::getItemId,QcInspectionResult::getItemId)
.eq(bo.getResultId() != null, QcInspectionResult::getResultId, bo.getResultId())
.eq(bo.getInspectionId() != null, QcInspectionResult::getInspectionId, bo.getInspectionId())
.eq(bo.getItemId() != null, QcInspectionResult::getItemId, bo.getItemId())
@ -151,6 +157,7 @@ public class QcInspectionResultServiceImpl implements IQcInspectionResultService
/**
*
*
*
*
* @param inspectionId ID
*/
@ -160,18 +167,33 @@ public class QcInspectionResultServiceImpl implements IQcInspectionResultService
return;
}
// 查询该质检任务下是否有不合格的检测项
MPJLambdaWrapper<QcInspectionResult> wrapper = JoinWrappers.lambda(QcInspectionResult.class)
// 首先检查是否还有未判定的检测项
MPJLambdaWrapper<QcInspectionResult> undeterminedWrapper = JoinWrappers.lambda(QcInspectionResult.class)
.eq(QcInspectionResult::getInspectionId, inspectionId)
.eq(QcInspectionResult::getDetectResult, "1"); // 检测结果0合格1不合格2未判定
.eq(QcInspectionResult::getDetectResult, "2"); // 检测结果0合格1不合格2未判定
Long unqualifiedCount = baseMapper.selectCount(wrapper);
Long undeterminedCount = baseMapper.selectCount(undeterminedWrapper);
// 更新主表状态
QcInspectionMain main = new QcInspectionMain();
main.setInspectionId(inspectionId);
// 如果存在未判定的检测项,主表结果设为未判定
if (undeterminedCount > 0) {
main.setResult("2"); // 质检结果0合格/1不合格/2未判定
inspectionMainMapper.updateById(main);
return;
}
// 所有检测项都已判定,查询是否有不合格的检测项
MPJLambdaWrapper<QcInspectionResult> unqualifiedWrapper = JoinWrappers.lambda(QcInspectionResult.class)
.eq(QcInspectionResult::getInspectionId, inspectionId)
.eq(QcInspectionResult::getDetectResult, "1"); // 检测结果0合格1不合格2未判定
Long unqualifiedCount = baseMapper.selectCount(unqualifiedWrapper);
// 如果存在不合格项,则主表为不合格,否则为合格
main.setResult(unqualifiedCount > 0 ? "1" : "0");//质检结果0合格/1不合格
main.setResult(unqualifiedCount > 0 ? "1" : "0"); // 质检结果0合格/1不合格/2未判定
inspectionMainMapper.updateById(main);
}

Loading…
Cancel
Save