Merge branch 'feature/NoScanning' into qms/develop

This commit is contained in:
yf001217 2026-06-11 14:12:42 +08:00
commit 7065419b52
2 changed files with 61 additions and 15 deletions

View File

@ -819,7 +819,6 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti
.one();
Long targetRuleId;
boolean isNewRule = false;
if (Objects.isNull(highestRule)) {
// 该机型无规则新建
@ -834,14 +833,12 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti
newRule.setCreateTime(now);
ruleService.save(newRule);
targetRuleId = newRule.getId();
isNewRule = true;
} else if (highestRule.getAuditStatus() != null && highestRule.getAuditStatus() == 1) {
// 最高版本已审核fork新版本
if (checkDraftExists(modelNo, null)) {
throw new NflgException(STATE.BusinessError, "机型" + modelNo + "已存在未审核的版本,请先完成审核后再导入");
}
targetRuleId = forkNewVersion(highestRule);
isNewRule = true;
} else {
// 最高版本未审核直接在其上修改
targetRuleId = highestRule.getId();
@ -875,9 +872,8 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti
appendImportPointsAndItems(targetRuleId, pointGroups, stepDicItems, operator, operatorId, now);
}
if (isNewRule) {
ensurePlaceholderPointsForMissingSteps(targetRuleId, stepDicItems, operator, operatorId, now);
}
removeRedundantPlaceholderPoints(targetRuleId);
ensurePlaceholderPointsForMissingSteps(targetRuleId, stepDicItems, operator, operatorId, now);
}
}
@ -1235,6 +1231,56 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti
return maxVersion + 1;
}
private void removeRedundantPlaceholderPoints(Long ruleId) {
List<QmsPqcInspectionPoint> points = pointService.lambdaQuery()
.eq(QmsPqcInspectionPoint::getPqcRuleId, ruleId)
.list();
if (CollectionUtil.isEmpty(points)) {
return;
}
List<Long> realStepIds = points.stream()
.filter(point -> point.getStepDicItemId() != null)
.filter(point -> StrUtil.isNotBlank(point.getInspectionPointCode())
|| StrUtil.isNotBlank(point.getInspectionPointName()))
.map(QmsPqcInspectionPoint::getStepDicItemId)
.distinct()
.collect(Collectors.toList());
if (CollectionUtil.isEmpty(realStepIds)) {
return;
}
List<Long> placeholderPointIds = points.stream()
.filter(point -> point.getStepDicItemId() != null)
.filter(point -> realStepIds.contains(point.getStepDicItemId()))
.filter(point -> StrUtil.isBlank(point.getInspectionPointCode()))
.filter(point -> StrUtil.isBlank(point.getInspectionPointName()))
.map(QmsPqcInspectionPoint::getId)
.collect(Collectors.toList());
if (CollectionUtil.isEmpty(placeholderPointIds)) {
return;
}
List<Long> pointIdsWithItems = itemsService.lambdaQuery()
.in(QmsPqcInspectionPointItems::getInspectionCodeId, placeholderPointIds)
.list()
.stream()
.map(QmsPqcInspectionPointItems::getInspectionCodeId)
.distinct()
.collect(Collectors.toList());
placeholderPointIds = placeholderPointIds.stream()
.filter(pointId -> !pointIdsWithItems.contains(pointId))
.collect(Collectors.toList());
if (CollectionUtil.isEmpty(placeholderPointIds)) {
return;
}
itemsService.lambdaUpdate()
.in(QmsPqcInspectionPointItems::getInspectionCodeId, placeholderPointIds)
.remove();
pointService.removeByIds(placeholderPointIds);
}
private void ensurePlaceholderPointsForMissingSteps(Long ruleId,
List<DictionaryItem> stepDicItems,
String operator,

View File

@ -124,10 +124,10 @@ public class InProduceOrderController extends BaseController {
@Transactional
@PostMapping("save")
public ApiResult<Long> save(@Valid @RequestBody InProduceOrderGenerateMaterialsQO request) {
if (request.isNeedInspection()) {
VUtil.trueThrowBusinessError(StrUtil.isBlank(request.getModelNo()) || StrUtil.isBlank(request.getWorkbenchNo()))
.throwMessage("机型编号和机台编号不能为空");
}
// if (request.isNeedInspection()) {
// VUtil.trueThrowBusinessError(StrUtil.isBlank(request.getModelNo()) || StrUtil.isBlank(request.getWorkbenchNo()))
// .throwMessage("机型编号和机台编号不能为空");
// }
WmsInProduceOrder order = new WmsInProduceOrder()
.setId(IdUtil.getSnowflakeNextId())
.setDataType(request.getDataType())
@ -154,8 +154,8 @@ public class InProduceOrderController extends BaseController {
.setBatchNo(date + index)
.setSernr(request.getSernr())
.setWorkbenchNo(request.getWorkbenchNo())
.setModelNo(request.getModelNo())
.setInspectionStatus(request.isNeedInspection() ? 0 : null);
.setModelNo(request.getModelNo());
// .setInspectionStatus(request.isNeedInspection() ? 0 : null);
produceOrderItemService.save(parent);
if (request.getList()) {
List<WmsBom> children = bomService.getChildren(request.getMatnr());
@ -213,9 +213,9 @@ public class InProduceOrderController extends BaseController {
.setCreateTime(LocalDateTime.now())
);
}
if (request.isNeedInspection()) {
qmsService.pushPdiInspection(order.getOrderNo(), parent);
}
// if (request.isNeedInspection()) {
// qmsService.pushPdiInspection(order.getOrderNo(), parent);
// }
return ApiResult.success(order.getId());
}