parent
5bb2f41a0c
commit
db885a9105
|
|
@ -73,6 +73,9 @@ public class QmsIssueTicketControllerService {
|
||||||
@Resource
|
@Resource
|
||||||
private IQmsPdiInspectionResultsService pdiInspectionResultsService;
|
private IQmsPdiInspectionResultsService pdiInspectionResultsService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IQmsPdiInspectionResultsLoadingImageService pdiInspectionResultsLoadingImageService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IQmsPdiDetectionRulesStatusItemService pdiStatusItemService;
|
private IQmsPdiDetectionRulesStatusItemService pdiStatusItemService;
|
||||||
|
|
||||||
|
|
@ -2700,6 +2703,11 @@ public class QmsIssueTicketControllerService {
|
||||||
.set(QmsIssueTicket::getUpdateTime, now)
|
.set(QmsIssueTicket::getUpdateTime, now)
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
|
// PDI工单关闭时:创建新任务单,复制内容,不合格项改为合格
|
||||||
|
if (ticket.getSourceType() != null && ticket.getSourceType() == 1 && ticket.getSourceId() != null) {
|
||||||
|
createPdiRepairTask(ticket.getSourceId(), now);
|
||||||
|
}
|
||||||
|
|
||||||
} else if (request.getCreateApproval() == 1) {
|
} else if (request.getCreateApproval() == 1) {
|
||||||
// 驳回工单
|
// 驳回工单
|
||||||
// 校验:handlers和审批意见不能为空
|
// 校验:handlers和审批意见不能为空
|
||||||
|
|
@ -2794,4 +2802,76 @@ public class QmsIssueTicketControllerService {
|
||||||
})
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI工单关闭时创建新任务单
|
||||||
|
* 复制原任务内容,将不合格项改为合格
|
||||||
|
*/
|
||||||
|
private void createPdiRepairTask(Long originalTaskId, LocalDateTime now) {
|
||||||
|
// 1. 获取原任务
|
||||||
|
QmsPdiTaskRecord originalTask = pdiTaskRecordService.getById(originalTaskId);
|
||||||
|
if (originalTask == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. 创建新任务单
|
||||||
|
QmsPdiTaskRecord newTask = new QmsPdiTaskRecord()
|
||||||
|
.setTaskNo(basdeSerialNumberControllerService.generateSerialNumber(1))
|
||||||
|
.setDeviceNo(originalTask.getDeviceNo())
|
||||||
|
.setDetectionRulesId(originalTask.getDetectionRulesId())
|
||||||
|
.setInspectionEnable(2) // 已完成
|
||||||
|
.setInspectionInspection(true) // 合格
|
||||||
|
.setAssistantId(originalTask.getAssistantId())
|
||||||
|
.setSubmissionTime(originalTask.getSubmissionTime())
|
||||||
|
.setRequiredCompletionTime(originalTask.getRequiredCompletionTime())
|
||||||
|
.setStartDetectionTime(originalTask.getStartDetectionTime())
|
||||||
|
.setDetectionCompletionTime(now)
|
||||||
|
.setOverdue(originalTask.getOverdue())
|
||||||
|
.setPushRecords(originalTask.getPushRecords())
|
||||||
|
.setFactoryNo(originalTask.getFactoryNo())
|
||||||
|
.setOrderNo(originalTask.getOrderNo())
|
||||||
|
.setWarehouseNo(originalTask.getWarehouseNo())
|
||||||
|
.setRelatedTaskId(originalTask.getId());
|
||||||
|
pdiTaskRecordService.save(newTask);
|
||||||
|
|
||||||
|
// 3. 复制检验结果,不合格项改为合格
|
||||||
|
List<QmsPdiInspectionResults> oldResults = pdiInspectionResultsService.lambdaQuery()
|
||||||
|
.eq(QmsPdiInspectionResults::getTaskId, originalTaskId)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (!oldResults.isEmpty()) {
|
||||||
|
List<QmsPdiInspectionResults> newResults = new ArrayList<>();
|
||||||
|
for (QmsPdiInspectionResults old : oldResults) {
|
||||||
|
QmsPdiInspectionResults newResult = new QmsPdiInspectionResults()
|
||||||
|
.setDetectionRulesId(old.getDetectionRulesId())
|
||||||
|
.setTaskId(newTask.getId())
|
||||||
|
.setInspectionItemId(old.getInspectionItemId())
|
||||||
|
.setInspectionItemType(old.getInspectionItemType())
|
||||||
|
.setInspectionItemImage(old.getInspectionItemImage())
|
||||||
|
.setInspectionItemResults(true) // 全部改为合格
|
||||||
|
.setRemark(old.getRemark())
|
||||||
|
.setInspectorId(old.getInspectorId())
|
||||||
|
.setInspectionTime(old.getInspectionTime())
|
||||||
|
.setInspectionBy(old.getInspectionBy());
|
||||||
|
newResults.add(newResult);
|
||||||
|
}
|
||||||
|
pdiInspectionResultsService.saveBatch(newResults);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 复制装车前图片
|
||||||
|
List<QmsPdiInspectionResultsLoadingImage> oldImages = pdiInspectionResultsLoadingImageService.lambdaQuery()
|
||||||
|
.eq(QmsPdiInspectionResultsLoadingImage::getTaskId, originalTaskId)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (!oldImages.isEmpty()) {
|
||||||
|
List<QmsPdiInspectionResultsLoadingImage> newImages = new ArrayList<>();
|
||||||
|
for (QmsPdiInspectionResultsLoadingImage old : oldImages) {
|
||||||
|
QmsPdiInspectionResultsLoadingImage newImage = new QmsPdiInspectionResultsLoadingImage()
|
||||||
|
.setTaskId(newTask.getId())
|
||||||
|
.setLoadingImage(old.getLoadingImage());
|
||||||
|
newImages.add(newImage);
|
||||||
|
}
|
||||||
|
pdiInspectionResultsLoadingImageService.saveBatch(newImages);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -847,21 +847,25 @@ public class QmsPqcTaskRecordControllerService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验工序检查(一二级)
|
// 校验工序检查(一二级):自检数据和自检附件有一个不为空即有效
|
||||||
if (request.getProcessInspections() != null) {
|
if (request.getProcessInspections() != null) {
|
||||||
for (int i = 0; i < request.getProcessInspections().size(); i++) {
|
for (int i = 0; i < request.getProcessInspections().size(); i++) {
|
||||||
QmsPqcTaskRecordDraftQO.ProcessInspectionItem item = request.getProcessInspections().get(i);
|
QmsPqcTaskRecordDraftQO.ProcessInspectionItem item = request.getProcessInspections().get(i);
|
||||||
if (StrUtil.isBlank(item.getSelfTestData())) {
|
boolean hasSelfTestData = StrUtil.isNotBlank(item.getSelfTestData());
|
||||||
|
boolean hasSelfTestFiles = item.getSelfTestFiles() != null && !item.getSelfTestFiles().isEmpty();
|
||||||
|
if (!hasSelfTestData && !hasSelfTestFiles) {
|
||||||
emptyFields.add("processInspections[" + i + "].selfTestData");
|
emptyFields.add("processInspections[" + i + "].selfTestData");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 校验工序检查(三级)
|
// 校验工序检查(三级):QC检测数据和QC检测附件有一个不为空即有效
|
||||||
if (request.getProcessInspectionsLevel3() != null) {
|
if (request.getProcessInspectionsLevel3() != null) {
|
||||||
for (int i = 0; i < request.getProcessInspectionsLevel3().size(); i++) {
|
for (int i = 0; i < request.getProcessInspectionsLevel3().size(); i++) {
|
||||||
QmsPqcTaskRecordDraftQO.ProcessInspectionLevel3Item item = request.getProcessInspectionsLevel3().get(i);
|
QmsPqcTaskRecordDraftQO.ProcessInspectionLevel3Item item = request.getProcessInspectionsLevel3().get(i);
|
||||||
if (StrUtil.isBlank(item.getQcTestData())) {
|
boolean hasQcTestData = StrUtil.isNotBlank(item.getQcTestData());
|
||||||
|
boolean hasQcTestFiles = item.getQcTestFiles() != null && !item.getQcTestFiles().isEmpty();
|
||||||
|
if (!hasQcTestData && !hasQcTestFiles) {
|
||||||
emptyFields.add("processInspectionsLevel3[" + i + "].qcTestData");
|
emptyFields.add("processInspectionsLevel3[" + i + "].qcTestData");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -989,7 +993,69 @@ public class QmsPqcTaskRecordControllerService {
|
||||||
.setCreateTime(now);
|
.setCreateTime(now);
|
||||||
|
|
||||||
issueTicketService.save(ticket);
|
issueTicketService.save(ticket);
|
||||||
|
|
||||||
|
// 2. 创建返修任务
|
||||||
|
String repairTaskNo = basdeSerialNumberControllerService.generateSerialNumber(42);
|
||||||
|
QmsPqcTaskRecord repairTask = new QmsPqcTaskRecord()
|
||||||
|
.setTaskNo(repairTaskNo)
|
||||||
|
.setAufnr(taskRecord.getAufnr())
|
||||||
|
.setModelNo(taskRecord.getModelNo())
|
||||||
|
.setNo(taskRecord.getNo())
|
||||||
|
.setInspectionPointId(taskRecord.getInspectionPointId())
|
||||||
|
.setRelatedTaskId(taskRecord.getId())
|
||||||
|
.setStatus((short) 0) // 自检中
|
||||||
|
.setEnable(true)
|
||||||
|
.setCreateTime(now);
|
||||||
|
pqcTaskRecordService.save(repairTask);
|
||||||
|
|
||||||
|
// 3. 复制详情记录:合格项保留全部数据,不合格项清空自检/QC数据、附件及复核意见
|
||||||
|
List<QmsPqcTaskRecordDetails> oldDetails = pqcTaskRecordDetailsService.lambdaQuery()
|
||||||
|
.eq(QmsPqcTaskRecordDetails::getTaskId, taskRecord.getId())
|
||||||
|
.list();
|
||||||
|
|
||||||
|
List<QmsPqcTaskRecordDetails> newDetails = new ArrayList<>();
|
||||||
|
for (QmsPqcTaskRecordDetails old : oldDetails) {
|
||||||
|
QmsPqcTaskRecordDetails newDetail = new QmsPqcTaskRecordDetails()
|
||||||
|
.setTaskId(repairTask.getId())
|
||||||
|
.setInspectionPointItemId(old.getInspectionPointItemId())
|
||||||
|
.setType(old.getType());
|
||||||
|
|
||||||
|
if (old.getType() != null && old.getType() == 1) {
|
||||||
|
// 关键物料采集:全部复制
|
||||||
|
newDetail.setSelfTestData(old.getSelfTestData())
|
||||||
|
.setReviewData(old.getReviewData())
|
||||||
|
.setSelfTestAttachments(old.getSelfTestAttachments());
|
||||||
|
} else {
|
||||||
|
// 工序检查:根据是否合格决定复制策略
|
||||||
|
if (Boolean.TRUE.equals(old.getReviewEnable())) {
|
||||||
|
// 合格项:保留全部数据
|
||||||
|
newDetail.setSelfTestData(old.getSelfTestData())
|
||||||
|
.setReviewData(old.getReviewData())
|
||||||
|
.setReviewEnable(old.getReviewEnable())
|
||||||
|
.setSelfTestAttachments(old.getSelfTestAttachments())
|
||||||
|
.setReviewAttachments(old.getReviewAttachments())
|
||||||
|
.setReviewOpinion(old.getReviewOpinion())
|
||||||
|
.setQcTestData(old.getQcTestData())
|
||||||
|
.setQcTestAttachments(old.getQcTestAttachments());
|
||||||
|
}
|
||||||
|
// 不合格项:只保留 inspectionPointItemId 和 type,其他字段为空,等自检人重新填写
|
||||||
|
}
|
||||||
|
newDetails.add(newDetail);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!newDetails.isEmpty()) {
|
||||||
|
pqcTaskRecordDetailsService.saveBatch(newDetails);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4. 推送通知原自检人重新自检
|
||||||
|
if (taskRecord.getSelfTesterId() != null) {
|
||||||
|
Long repairTypeId = dictionaryItemService.getId("消息类型", "PQCRepairTask");
|
||||||
|
if (repairTypeId != null) {
|
||||||
|
sendTodoMessage(taskRecord.getSelfTesterId(), taskRecord.getSelfTesterName(),
|
||||||
|
repairTask.getId(), repairTypeId, currentUserId, currentUserName, now);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 返回工单编号
|
// 返回工单编号
|
||||||
return ticketNo;
|
return ticketNo;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -530,6 +530,7 @@ public class QmsReportControllerService {
|
||||||
|
|
||||||
// 当前周期总检测量
|
// 当前周期总检测量
|
||||||
long currentTotal = pdiTaskRecordService.lambdaQuery()
|
long currentTotal = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
.count();
|
.count();
|
||||||
|
|
@ -538,6 +539,7 @@ public class QmsReportControllerService {
|
||||||
long previousTotal = 0;
|
long previousTotal = 0;
|
||||||
if (hasTimeRange) {
|
if (hasTimeRange) {
|
||||||
previousTotal = pdiTaskRecordService.lambdaQuery()
|
previousTotal = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
||||||
.count();
|
.count();
|
||||||
|
|
@ -565,6 +567,7 @@ public class QmsReportControllerService {
|
||||||
|
|
||||||
// 当前周期已完成
|
// 当前周期已完成
|
||||||
long currentCompleted = pdiTaskRecordService.lambdaQuery()
|
long currentCompleted = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
|
|
@ -574,6 +577,7 @@ public class QmsReportControllerService {
|
||||||
long previousCompleted = 0;
|
long previousCompleted = 0;
|
||||||
if (hasTimeRange) {
|
if (hasTimeRange) {
|
||||||
previousCompleted = pdiTaskRecordService.lambdaQuery()
|
previousCompleted = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
||||||
|
|
@ -597,6 +601,7 @@ public class QmsReportControllerService {
|
||||||
*/
|
*/
|
||||||
private int calculatePdiPendingTasks(LocalDateTime currentStart, LocalDateTime currentEnd) {
|
private int calculatePdiPendingTasks(LocalDateTime currentStart, LocalDateTime currentEnd) {
|
||||||
long count = pdiTaskRecordService.lambdaQuery()
|
long count = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 0)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 0)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
|
|
@ -617,6 +622,7 @@ public class QmsReportControllerService {
|
||||||
long currentAvgSeconds = 0;
|
long currentAvgSeconds = 0;
|
||||||
|
|
||||||
List<QmsPdiTaskRecord> currentCompletedTasks = pdiTaskRecordService.lambdaQuery()
|
List<QmsPdiTaskRecord> currentCompletedTasks = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
|
|
@ -640,6 +646,7 @@ public class QmsReportControllerService {
|
||||||
|
|
||||||
if (hasTimeRange) {
|
if (hasTimeRange) {
|
||||||
List<QmsPdiTaskRecord> previousCompletedTasks = pdiTaskRecordService.lambdaQuery()
|
List<QmsPdiTaskRecord> previousCompletedTasks = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
||||||
|
|
@ -675,6 +682,7 @@ public class QmsReportControllerService {
|
||||||
*/
|
*/
|
||||||
private double calculatePdiPlanCompletionRate(LocalDateTime currentStart, LocalDateTime currentEnd) {
|
private double calculatePdiPlanCompletionRate(LocalDateTime currentStart, LocalDateTime currentEnd) {
|
||||||
long total = pdiTaskRecordService.lambdaQuery()
|
long total = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
.count();
|
.count();
|
||||||
|
|
@ -682,6 +690,7 @@ public class QmsReportControllerService {
|
||||||
if (total == 0) return 0;
|
if (total == 0) return 0;
|
||||||
|
|
||||||
long completed = pdiTaskRecordService.lambdaQuery()
|
long completed = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
|
|
@ -700,6 +709,7 @@ public class QmsReportControllerService {
|
||||||
|
|
||||||
// 当前周期
|
// 当前周期
|
||||||
long currentTotal = pdiTaskRecordService.lambdaQuery()
|
long currentTotal = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
.count();
|
.count();
|
||||||
|
|
@ -707,6 +717,7 @@ public class QmsReportControllerService {
|
||||||
long currentFail = 0;
|
long currentFail = 0;
|
||||||
if (currentTotal > 0) {
|
if (currentTotal > 0) {
|
||||||
currentFail = pdiTaskRecordService.lambdaQuery()
|
currentFail = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionInspection, false)
|
.eq(QmsPdiTaskRecord::getInspectionInspection, false)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentEnd)
|
||||||
|
|
@ -719,12 +730,14 @@ public class QmsReportControllerService {
|
||||||
double previousFailRate = 0;
|
double previousFailRate = 0;
|
||||||
if (hasTimeRange) {
|
if (hasTimeRange) {
|
||||||
long previousTotal = pdiTaskRecordService.lambdaQuery()
|
long previousTotal = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
||||||
.count();
|
.count();
|
||||||
|
|
||||||
if (previousTotal > 0) {
|
if (previousTotal > 0) {
|
||||||
long previousFail = pdiTaskRecordService.lambdaQuery()
|
long previousFail = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionInspection, false)
|
.eq(QmsPdiTaskRecord::getInspectionInspection, false)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, previousStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, previousEnd)
|
||||||
|
|
@ -761,6 +774,7 @@ public class QmsReportControllerService {
|
||||||
|
|
||||||
// 该周已完成数
|
// 该周已完成数
|
||||||
long weekCompleted = pdiTaskRecordService.lambdaQuery()
|
long weekCompleted = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentWeekStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentWeekStart)
|
||||||
.le(QmsPdiTaskRecord::getSubmissionTime, currentWeekEnd)
|
.le(QmsPdiTaskRecord::getSubmissionTime, currentWeekEnd)
|
||||||
|
|
@ -770,6 +784,7 @@ public class QmsReportControllerService {
|
||||||
long weekQualified = 0;
|
long weekQualified = 0;
|
||||||
if (weekCompleted > 0) {
|
if (weekCompleted > 0) {
|
||||||
weekQualified = pdiTaskRecordService.lambdaQuery()
|
weekQualified = pdiTaskRecordService.lambdaQuery()
|
||||||
|
.isNull(QmsPdiTaskRecord::getRelatedTaskId)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
.eq(QmsPdiTaskRecord::getInspectionEnable, 2)
|
||||||
.eq(QmsPdiTaskRecord::getInspectionInspection, true)
|
.eq(QmsPdiTaskRecord::getInspectionInspection, true)
|
||||||
.ge(QmsPdiTaskRecord::getSubmissionTime, currentWeekStart)
|
.ge(QmsPdiTaskRecord::getSubmissionTime, currentWeekStart)
|
||||||
|
|
|
||||||
|
|
@ -96,4 +96,9 @@ public class QmsPdiTaskRecord implements Serializable {
|
||||||
* 仓库编号
|
* 仓库编号
|
||||||
*/
|
*/
|
||||||
private String warehouseNo;
|
private String warehouseNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联任务ID
|
||||||
|
*/
|
||||||
|
private Long relatedTaskId;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,8 @@
|
||||||
COUNT(*) AS "defectCount"
|
COUNT(*) AS "defectCount"
|
||||||
FROM qms_pdi_task_record t
|
FROM qms_pdi_task_record t
|
||||||
INNER JOIN qms_pdi_detection_rules dr ON dr.id = t.detection_rules_id
|
INNER JOIN qms_pdi_detection_rules dr ON dr.id = t.detection_rules_id
|
||||||
WHERE t.submission_time >= #{startTime}
|
WHERE t.related_task_id IS NULL
|
||||||
|
AND t.submission_time >= #{startTime}
|
||||||
AND t.submission_time <= #{endTime}
|
AND t.submission_time <= #{endTime}
|
||||||
GROUP BY dr.model_no
|
GROUP BY dr.model_no
|
||||||
ORDER BY COUNT(*) DESC
|
ORDER BY COUNT(*) DESC
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue