修改质检人员管理功能

This commit is contained in:
funny 2026-04-22 11:49:35 +08:00
parent 904371dd49
commit 80d77a79fe
4 changed files with 44 additions and 51 deletions

View File

@ -43,14 +43,14 @@ public class QmsQualityInspectorController extends BaseController {
} }
/** /**
* 删除质检人员传入 userId删除该用户所有关联记录启用状态下不允许删除 * 删除质检人员传入 id删除该用户所有关联记录启用状态下不允许删除
* *
* @param userId 员工ID * @param id 质检人员主表ID
*/ */
@Transactional @Transactional
@PostMapping("delete") @PostMapping("delete")
public ApiResult<Void> delete(@NotNull Long userId) { public ApiResult<Void> delete(@NotNull Long id) {
qualityInspectorService.delete(userId); qualityInspectorService.delete(id);
return ApiResult.success(); return ApiResult.success();
} }
@ -73,13 +73,13 @@ public class QmsQualityInspectorController extends BaseController {
} }
/** /**
* 员工ID查询质检人员详情物料和物料类别分开返回不分页 * ID查询质检人员详情物料和物料类别分开返回不分页
* *
* @param userId 员工IDuser.id * @param id 质检人员主表ID
*/ */
@GetMapping("detail") @GetMapping("detail")
public ApiResult<QmsQualityInspectorDetailVO> detail(@NotNull Long userId) { public ApiResult<QmsQualityInspectorDetailVO> detail(@NotNull Long id) {
return ApiResult.success(qualityInspectorService.getDetailByUserId(userId)); return ApiResult.success(qualityInspectorService.getDetailByUserId(id));
} }
/** /**
@ -88,7 +88,7 @@ public class QmsQualityInspectorController extends BaseController {
@Transactional @Transactional
@PostMapping("updateStatus") @PostMapping("updateStatus")
public ApiResult<Void> updateStatus(@Valid @RequestBody QmsQualityInspectorStatusQO request) { public ApiResult<Void> updateStatus(@Valid @RequestBody QmsQualityInspectorStatusQO request) {
qualityInspectorService.updateStatus(request.getUserId(), request.getEnable()); qualityInspectorService.updateStatus(request.getId(), request.getEnable());
return ApiResult.success(); return ApiResult.success();
} }
@ -105,12 +105,12 @@ public class QmsQualityInspectorController extends BaseController {
/** /**
* 取消转办将该质检人所有记录的转办人清空 * 取消转办将该质检人所有记录的转办人清空
* *
* @param userId 员工ID * @param id 质检人员主表ID
*/ */
@Transactional @Transactional
@PostMapping("cancelTransfer") @PostMapping("cancelTransfer")
public ApiResult<Void> cancelTransfer(@NotNull Long userId) { public ApiResult<Void> cancelTransfer(@NotNull Long id) {
qualityInspectorService.cancelTransfer(userId); qualityInspectorService.cancelTransfer(id);
return ApiResult.success(); return ApiResult.success();
} }

View File

@ -10,10 +10,10 @@ import lombok.Data;
public class QmsQualityInspectorStatusQO { public class QmsQualityInspectorStatusQO {
/** /**
* 质检人ID必传 * 质检人员主表ID必传
*/ */
@NotNull(message = "质检人ID不能为空") @NotNull(message = "ID不能为空")
private Long userId; private Long id;
/** /**
* 状态true=启用false=禁用 * 状态true=启用false=禁用

View File

@ -31,9 +31,9 @@ public interface IQmsQualityInspectorService extends IService<QmsQualityInspecto
void add(QmsQualityInspectorAddQO request); void add(QmsQualityInspectorAddQO request);
/** /**
* 删除质检人员传入 userId删除该用户所有关联记录启用状态不允许删除 * 删除质检人员传入主表 id删除该用户所有关联记录启用状态不允许删除
*/ */
void delete(Long userId); void delete(Long id);
/** /**
* 修改质检人员的物料/物料类别追加或删除 * 修改质检人员的物料/物料类别追加或删除
@ -46,14 +46,14 @@ public interface IQmsQualityInspectorService extends IService<QmsQualityInspecto
IPage<QmsQualityInspectorVO> search(QmsQualityInspectorSearchQO request); IPage<QmsQualityInspectorVO> search(QmsQualityInspectorSearchQO request);
/** /**
* 员工IDuser_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<QmsQualityInspecto
/** /**
* 取消转办将该质检人所有记录的转办人清空 * 取消转办将该质检人所有记录的转办人清空
*/ */
void cancelTransfer(Long userId); void cancelTransfer(Long id);
/** /**
* userId 查询当前用户绑定的物料列表支持物料编号/类别/描述过滤分页 * userId 查询当前用户绑定的物料列表支持物料编号/类别/描述过滤分页

View File

@ -181,11 +181,9 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
@Transactional @Transactional
@Override @Override
public void delete(Long userId) { public void delete(Long id) {
// 查询主表记录 // 按主表 id 查主表记录
QmsQualityInspector inspector = lambdaQuery() QmsQualityInspector inspector = getById(id);
.eq(QmsQualityInspector::getUserId, userId)
.one();
if (Objects.isNull(inspector)) { if (Objects.isNull(inspector)) {
throw new NflgException(STATE.BusinessError, "该质检人员不存在"); throw new NflgException(STATE.BusinessError, "该质检人员不存在");
} }
@ -193,16 +191,15 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
if (Boolean.TRUE.equals(inspector.getEnable())) { if (Boolean.TRUE.equals(inspector.getEnable())) {
throw new NflgException(STATE.BusinessError, "该质检人员处于启用状态,不允许删除,请先禁用后再删除"); throw new NflgException(STATE.BusinessError, "该质检人员处于启用状态,不允许删除,请先禁用后再删除");
} }
Long inspectorId = inspector.getId();
// 删除两张明细表 // 删除两张明细表
materialItemService.lambdaUpdate() materialItemService.lambdaUpdate()
.eq(QmsInspectorMaterialItem::getInspectorId, inspectorId) .eq(QmsInspectorMaterialItem::getInspectorId, id)
.remove(); .remove();
materialCategoryItemService.lambdaUpdate() materialCategoryItemService.lambdaUpdate()
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId) .eq(QmsInspectorMaterialCategoryItem::getInspectorId, id)
.remove(); .remove();
// 删除主表 // 删除主表
removeById(inspectorId); removeById(id);
} }
// ========================= 修改物料/物料类别 ========================= // ========================= 修改物料/物料类别 =========================
@ -326,15 +323,15 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
} }
@Override @Override
public QmsQualityInspectorDetailVO getDetailByUserId(Long userId) { public QmsQualityInspectorDetailVO getDetailByUserId(Long id) {
// user_id 查主表取到 inspector.id 后再查两张明细表 // 按主表 id 查主表
QmsQualityInspector inspector = lambdaQuery() QmsQualityInspector inspector = getById(id);
.eq(QmsQualityInspector::getUserId, userId)
.one();
if (Objects.isNull(inspector)) { if (Objects.isNull(inspector)) {
return null; return null;
} }
Long userId = inspector.getUserId();
// user 信息 // user 信息
User user = userService.getById(userId); User user = userService.getById(userId);
@ -373,10 +370,9 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
detail.setDeptLeaderName(null); detail.setDeptLeaderName(null);
detail.setPositionName(positionName); detail.setPositionName(positionName);
// 用主表 idinspectorId查明细表明细表 inspector_id = qms_quality_inspector.id // 用主表 id 查明细表
Long inspectorId = inspector.getId(); detail.setMaterials(baseMapper.getMaterialsByInspectorId(id));
detail.setMaterials(baseMapper.getMaterialsByInspectorId(inspectorId)); detail.setCategories(baseMapper.getCategoriesByInspectorId(id));
detail.setCategories(baseMapper.getCategoriesByInspectorId(inspectorId));
return detail; return detail;
} }
@ -385,25 +381,22 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
@Transactional @Transactional
@Override @Override
public void updateStatus(Long userId, Boolean enable) { public void updateStatus(Long id, Boolean enable) {
// 仅在改为启用时做校验 // 仅在改为启用时做校验
if (Boolean.TRUE.equals(enable)) { if (Boolean.TRUE.equals(enable)) {
QmsQualityInspector inspector = lambdaQuery() QmsQualityInspector inspector = getById(id);
.eq(QmsQualityInspector::getUserId, userId)
.one();
if (Objects.isNull(inspector)) { if (Objects.isNull(inspector)) {
throw new NflgException(STATE.BusinessError, "该质检人员不存在"); throw new NflgException(STATE.BusinessError, "该质检人员不存在");
} }
Long inspectorId = inspector.getId();
// 查当前人员绑定的物料ID列表 // 查当前人员绑定的物料ID列表
List<QmsInspectorMaterialItem> myMaterials = materialItemService.lambdaQuery() List<QmsInspectorMaterialItem> myMaterials = materialItemService.lambdaQuery()
.eq(QmsInspectorMaterialItem::getInspectorId, inspectorId) .eq(QmsInspectorMaterialItem::getInspectorId, id)
.list(); .list();
// 查当前人员绑定的物料类别ID列表 // 查当前人员绑定的物料类别ID列表
List<QmsInspectorMaterialCategoryItem> myCategories = materialCategoryItemService.lambdaQuery() List<QmsInspectorMaterialCategoryItem> myCategories = materialCategoryItemService.lambdaQuery()
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId) .eq(QmsInspectorMaterialCategoryItem::getInspectorId, id)
.list(); .list();
// 校验物料是否已被其他启用的质检员接管 // 校验物料是否已被其他启用的质检员接管
@ -414,7 +407,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
// 查其他人员中是否有相同物料绑定排除自己 // 查其他人员中是否有相同物料绑定排除自己
List<QmsInspectorMaterialItem> conflictItems = materialItemService.lambdaQuery() List<QmsInspectorMaterialItem> conflictItems = materialItemService.lambdaQuery()
.in(QmsInspectorMaterialItem::getMaterialId, myMaterialIds) .in(QmsInspectorMaterialItem::getMaterialId, myMaterialIds)
.ne(QmsInspectorMaterialItem::getInspectorId, inspectorId) .ne(QmsInspectorMaterialItem::getInspectorId, id)
.list(); .list();
if (!conflictItems.isEmpty()) { if (!conflictItems.isEmpty()) {
// 进一步判断接管人员是否处于启用状态 // 进一步判断接管人员是否处于启用状态
@ -439,7 +432,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
.collect(Collectors.toList()); .collect(Collectors.toList());
List<QmsInspectorMaterialCategoryItem> conflictItems = materialCategoryItemService.lambdaQuery() List<QmsInspectorMaterialCategoryItem> conflictItems = materialCategoryItemService.lambdaQuery()
.in(QmsInspectorMaterialCategoryItem::getMaterialCategoryId, myCategoryIds) .in(QmsInspectorMaterialCategoryItem::getMaterialCategoryId, myCategoryIds)
.ne(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId) .ne(QmsInspectorMaterialCategoryItem::getInspectorId, id)
.list(); .list();
if (!conflictItems.isEmpty()) { if (!conflictItems.isEmpty()) {
List<Long> conflictInspectorIds = conflictItems.stream() List<Long> conflictInspectorIds = conflictItems.stream()
@ -458,7 +451,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
} }
lambdaUpdate() lambdaUpdate()
.eq(QmsQualityInspector::getUserId, userId) .eq(QmsQualityInspector::getId, id)
.set(QmsQualityInspector::getEnable, enable) .set(QmsQualityInspector::getEnable, enable)
.set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName()) .set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName())
.set(QmsQualityInspector::getUpdateTime, LocalDateTime.now()) .set(QmsQualityInspector::getUpdateTime, LocalDateTime.now())
@ -482,9 +475,9 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
@Transactional @Transactional
@Override @Override
public void cancelTransfer(Long userId) { public void cancelTransfer(Long id) {
lambdaUpdate() lambdaUpdate()
.eq(QmsQualityInspector::getUserId, userId) .eq(QmsQualityInspector::getId, id)
.set(QmsQualityInspector::getChangeUserId, null) .set(QmsQualityInspector::getChangeUserId, null)
.set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName()) .set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName())
.set(QmsQualityInspector::getUpdateTime, LocalDateTime.now()) .set(QmsQualityInspector::getUpdateTime, LocalDateTime.now())