diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java index 2b75c5b3..1126a7cc 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsCoaTaskController.java @@ -38,9 +38,6 @@ public class QmsCoaTaskController extends BaseController { @Resource private IQmsCoaTaskService coaTaskService; - @Resource - private List sendMessageServices; - @Resource private IQmsTodoItemService todoItemService; diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java index 6610f841..df83104e 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java @@ -43,14 +43,14 @@ public class QmsQualityInspectorController extends BaseController { } /** - * 删除质检人员(传入 userId,删除该用户所有关联记录,启用状态下不允许删除) + * 删除质检人员(传入 id,删除该用户所有关联记录,启用状态下不允许删除) * - * @param userId 员工ID + * @param id 质检人员主表ID */ @Transactional @PostMapping("delete") - public ApiResult delete(@NotNull Long userId) { - qualityInspectorService.delete(userId); + public ApiResult delete(@NotNull Long id) { + qualityInspectorService.delete(id); return ApiResult.success(); } @@ -73,13 +73,13 @@ public class QmsQualityInspectorController extends BaseController { } /** - * 按员工ID查询质检人员详情(物料和物料类别分开返回,不分页) + * 按ID查询质检人员详情(物料和物料类别分开返回,不分页) * - * @param userId 员工ID(user.id) + * @param id 质检人员主表ID */ @GetMapping("detail") - public ApiResult detail(@NotNull Long userId) { - return ApiResult.success(qualityInspectorService.getDetailByUserId(userId)); + public ApiResult detail(@NotNull Long id) { + return ApiResult.success(qualityInspectorService.getDetailByUserId(id)); } /** @@ -88,7 +88,7 @@ public class QmsQualityInspectorController extends BaseController { @Transactional @PostMapping("updateStatus") public ApiResult updateStatus(@Valid @RequestBody QmsQualityInspectorStatusQO request) { - qualityInspectorService.updateStatus(request.getUserId(), request.getEnable()); + qualityInspectorService.updateStatus(request.getId(), request.getEnable()); return ApiResult.success(); } @@ -105,12 +105,12 @@ public class QmsQualityInspectorController extends BaseController { /** * 取消转办(将该质检人所有记录的转办人清空) * - * @param userId 员工ID + * @param id 质检人员主表ID */ @Transactional @PostMapping("cancelTransfer") - public ApiResult cancelTransfer(@NotNull Long userId) { - qualityInspectorService.cancelTransfer(userId); + public ApiResult cancelTransfer(@NotNull Long id) { + qualityInspectorService.cancelTransfer(id); return ApiResult.success(); } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQualityInspectorStatusQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQualityInspectorStatusQO.java index 322ff00f..522010e7 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQualityInspectorStatusQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQualityInspectorStatusQO.java @@ -10,10 +10,10 @@ import lombok.Data; public class QmsQualityInspectorStatusQO { /** - * 质检人ID,必传 + * 质检人员主表ID,必传 */ - @NotNull(message = "质检人ID不能为空") - private Long userId; + @NotNull(message = "ID不能为空") + private Long id; /** * 状态:true=启用,false=禁用 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java index 09f7830d..9e6dd266 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java @@ -31,9 +31,9 @@ public interface IQmsQualityInspectorService extends IService search(QmsQualityInspectorSearchQO request); /** - * 按员工ID(user_id)查询质检人员详情,物料和物料类别分开返回(不分页) + * 按主表 id 查询质检人员详情,物料和物料类别分开返回(不分页) */ - QmsQualityInspectorDetailVO getDetailByUserId(Long userId); + QmsQualityInspectorDetailVO getDetailByUserId(Long id); /** * 修改状态(将该质检人的所有记录状态全改) */ - void updateStatus(Long userId, Boolean enable); + void updateStatus(Long id, Boolean enable); /** * 转办(将该质检人所有记录设置转办人) @@ -63,7 +63,7 @@ public interface IQmsQualityInspectorService extends IService conflictMaterials = materialItemService.lambdaQuery() .in(QmsInspectorMaterialItem::getMaterialId, request.getAddMaterialIds()) .list(); if (!conflictMaterials.isEmpty()) { - throw new NflgException(STATE.BusinessError, "追加的物料中存在已被质检员绑定的物料,不允许重复追加"); + // 查冲突记录对应的质检员 inspectionType + List conflictInspectorIds = conflictMaterials.stream() + .map(QmsInspectorMaterialItem::getInspectorId) + .distinct() + .collect(Collectors.toList()); + boolean sameTypeConflict = lambdaQuery() + .in(QmsQualityInspector::getId, conflictInspectorIds) + .eq(QmsQualityInspector::getInspectionType, inspectionType) + .exists(); + if (sameTypeConflict) { + throw new NflgException(STATE.BusinessError, "追加的物料中存在已被相同质检类型的质检员绑定的物料,不允许重复追加"); + } } List toAdd = request.getAddMaterialIds().stream() .map(materialId -> new QmsInspectorMaterialItem() @@ -256,13 +265,23 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl codeToIdMap = getCategoryCodeToIdMap(request.getAddMaterialCategoryCodes()); List addCategoryIds = new ArrayList<>(codeToIdMap.values()); - // 校验这些物料类别是否已被任意质检员绑定(含自己) + // 校验这些物料类别是否已被相同 inspectionType 的质检员绑定 if (!addCategoryIds.isEmpty()) { List conflictCategories = materialCategoryItemService.lambdaQuery() .in(QmsInspectorMaterialCategoryItem::getMaterialCategoryId, addCategoryIds) .list(); if (!conflictCategories.isEmpty()) { - throw new NflgException(STATE.BusinessError, "追加的物料类别中存在已被质检员绑定的类别,不允许重复追加"); + List conflictInspectorIds = conflictCategories.stream() + .map(QmsInspectorMaterialCategoryItem::getInspectorId) + .distinct() + .collect(Collectors.toList()); + boolean sameTypeConflict = lambdaQuery() + .in(QmsQualityInspector::getId, conflictInspectorIds) + .eq(QmsQualityInspector::getInspectionType, inspectionType) + .exists(); + if (sameTypeConflict) { + throw new NflgException(STATE.BusinessError, "追加的物料类别中存在已被相同质检类型的质检员绑定的类别,不允许重复追加"); + } } } List toAdd = new ArrayList<>(); @@ -304,15 +323,15 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl myMaterials = materialItemService.lambdaQuery() - .eq(QmsInspectorMaterialItem::getInspectorId, inspectorId) + .eq(QmsInspectorMaterialItem::getInspectorId, id) .list(); // 查当前人员绑定的物料类别ID列表 List myCategories = materialCategoryItemService.lambdaQuery() - .eq(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId) + .eq(QmsInspectorMaterialCategoryItem::getInspectorId, id) .list(); // 校验物料是否已被其他启用的质检员接管 @@ -391,7 +407,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl conflictItems = materialItemService.lambdaQuery() .in(QmsInspectorMaterialItem::getMaterialId, myMaterialIds) - .ne(QmsInspectorMaterialItem::getInspectorId, inspectorId) + .ne(QmsInspectorMaterialItem::getInspectorId, id) .list(); if (!conflictItems.isEmpty()) { // 进一步判断接管人员是否处于启用状态 @@ -416,7 +432,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl conflictItems = materialCategoryItemService.lambdaQuery() .in(QmsInspectorMaterialCategoryItem::getMaterialCategoryId, myCategoryIds) - .ne(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId) + .ne(QmsInspectorMaterialCategoryItem::getInspectorId, id) .list(); if (!conflictItems.isEmpty()) { List conflictInspectorIds = conflictItems.stream() @@ -435,7 +451,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl