修改质检人员管理功能
This commit is contained in:
parent
904371dd49
commit
80d77a79fe
|
|
@ -43,14 +43,14 @@ public class QmsQualityInspectorController extends BaseController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 删除质检人员(传入 userId,删除该用户所有关联记录,启用状态下不允许删除)
|
||||
* 删除质检人员(传入 id,删除该用户所有关联记录,启用状态下不允许删除)
|
||||
*
|
||||
* @param userId 员工ID
|
||||
* @param id 质检人员主表ID
|
||||
*/
|
||||
@Transactional
|
||||
@PostMapping("delete")
|
||||
public ApiResult<Void> delete(@NotNull Long userId) {
|
||||
qualityInspectorService.delete(userId);
|
||||
public ApiResult<Void> 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<QmsQualityInspectorDetailVO> detail(@NotNull Long userId) {
|
||||
return ApiResult.success(qualityInspectorService.getDetailByUserId(userId));
|
||||
public ApiResult<QmsQualityInspectorDetailVO> detail(@NotNull Long id) {
|
||||
return ApiResult.success(qualityInspectorService.getDetailByUserId(id));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -88,7 +88,7 @@ public class QmsQualityInspectorController extends BaseController {
|
|||
@Transactional
|
||||
@PostMapping("updateStatus")
|
||||
public ApiResult<Void> 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<Void> cancelTransfer(@NotNull Long userId) {
|
||||
qualityInspectorService.cancelTransfer(userId);
|
||||
public ApiResult<Void> cancelTransfer(@NotNull Long id) {
|
||||
qualityInspectorService.cancelTransfer(id);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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=禁用
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ public interface IQmsQualityInspectorService extends IService<QmsQualityInspecto
|
|||
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);
|
||||
|
||||
/**
|
||||
* 按员工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<QmsQualityInspecto
|
|||
/**
|
||||
* 取消转办(将该质检人所有记录的转办人清空)
|
||||
*/
|
||||
void cancelTransfer(Long userId);
|
||||
void cancelTransfer(Long id);
|
||||
|
||||
/**
|
||||
* 按 userId 查询当前用户绑定的物料列表(支持物料编号/类别/描述过滤,分页)
|
||||
|
|
|
|||
|
|
@ -181,11 +181,9 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
|
||||
@Transactional
|
||||
@Override
|
||||
public void delete(Long userId) {
|
||||
// 查询主表记录
|
||||
QmsQualityInspector inspector = lambdaQuery()
|
||||
.eq(QmsQualityInspector::getUserId, userId)
|
||||
.one();
|
||||
public void delete(Long id) {
|
||||
// 按主表 id 查主表记录
|
||||
QmsQualityInspector inspector = getById(id);
|
||||
if (Objects.isNull(inspector)) {
|
||||
throw new NflgException(STATE.BusinessError, "该质检人员不存在");
|
||||
}
|
||||
|
|
@ -193,16 +191,15 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
if (Boolean.TRUE.equals(inspector.getEnable())) {
|
||||
throw new NflgException(STATE.BusinessError, "该质检人员处于启用状态,不允许删除,请先禁用后再删除");
|
||||
}
|
||||
Long inspectorId = inspector.getId();
|
||||
// 删除两张明细表
|
||||
materialItemService.lambdaUpdate()
|
||||
.eq(QmsInspectorMaterialItem::getInspectorId, inspectorId)
|
||||
.eq(QmsInspectorMaterialItem::getInspectorId, id)
|
||||
.remove();
|
||||
materialCategoryItemService.lambdaUpdate()
|
||||
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId)
|
||||
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, id)
|
||||
.remove();
|
||||
// 删除主表
|
||||
removeById(inspectorId);
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
// ========================= 修改物料/物料类别 =========================
|
||||
|
|
@ -326,15 +323,15 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
}
|
||||
|
||||
@Override
|
||||
public QmsQualityInspectorDetailVO getDetailByUserId(Long userId) {
|
||||
// 按 user_id 查主表,取到 inspector.id 后再查两张明细表
|
||||
QmsQualityInspector inspector = lambdaQuery()
|
||||
.eq(QmsQualityInspector::getUserId, userId)
|
||||
.one();
|
||||
public QmsQualityInspectorDetailVO getDetailByUserId(Long id) {
|
||||
// 按主表 id 查主表
|
||||
QmsQualityInspector inspector = getById(id);
|
||||
if (Objects.isNull(inspector)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Long userId = inspector.getUserId();
|
||||
|
||||
// 查 user 信息
|
||||
User user = userService.getById(userId);
|
||||
|
||||
|
|
@ -373,10 +370,9 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
detail.setDeptLeaderName(null);
|
||||
detail.setPositionName(positionName);
|
||||
|
||||
// 用主表 id(inspectorId)查明细表(明细表 inspector_id = qms_quality_inspector.id)
|
||||
Long inspectorId = inspector.getId();
|
||||
detail.setMaterials(baseMapper.getMaterialsByInspectorId(inspectorId));
|
||||
detail.setCategories(baseMapper.getCategoriesByInspectorId(inspectorId));
|
||||
// 用主表 id 查明细表
|
||||
detail.setMaterials(baseMapper.getMaterialsByInspectorId(id));
|
||||
detail.setCategories(baseMapper.getCategoriesByInspectorId(id));
|
||||
|
||||
return detail;
|
||||
}
|
||||
|
|
@ -385,25 +381,22 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
|
||||
@Transactional
|
||||
@Override
|
||||
public void updateStatus(Long userId, Boolean enable) {
|
||||
public void updateStatus(Long id, Boolean enable) {
|
||||
// 仅在改为启用时做校验
|
||||
if (Boolean.TRUE.equals(enable)) {
|
||||
QmsQualityInspector inspector = lambdaQuery()
|
||||
.eq(QmsQualityInspector::getUserId, userId)
|
||||
.one();
|
||||
QmsQualityInspector inspector = getById(id);
|
||||
if (Objects.isNull(inspector)) {
|
||||
throw new NflgException(STATE.BusinessError, "该质检人员不存在");
|
||||
}
|
||||
Long inspectorId = inspector.getId();
|
||||
|
||||
// 查当前人员绑定的物料ID列表
|
||||
List<QmsInspectorMaterialItem> myMaterials = materialItemService.lambdaQuery()
|
||||
.eq(QmsInspectorMaterialItem::getInspectorId, inspectorId)
|
||||
.eq(QmsInspectorMaterialItem::getInspectorId, id)
|
||||
.list();
|
||||
|
||||
// 查当前人员绑定的物料类别ID列表
|
||||
List<QmsInspectorMaterialCategoryItem> myCategories = materialCategoryItemService.lambdaQuery()
|
||||
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId)
|
||||
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, id)
|
||||
.list();
|
||||
|
||||
// 校验物料是否已被其他启用的质检员接管
|
||||
|
|
@ -414,7 +407,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
// 查其他人员中是否有相同物料绑定(排除自己)
|
||||
List<QmsInspectorMaterialItem> conflictItems = materialItemService.lambdaQuery()
|
||||
.in(QmsInspectorMaterialItem::getMaterialId, myMaterialIds)
|
||||
.ne(QmsInspectorMaterialItem::getInspectorId, inspectorId)
|
||||
.ne(QmsInspectorMaterialItem::getInspectorId, id)
|
||||
.list();
|
||||
if (!conflictItems.isEmpty()) {
|
||||
// 进一步判断接管人员是否处于启用状态
|
||||
|
|
@ -439,7 +432,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
.collect(Collectors.toList());
|
||||
List<QmsInspectorMaterialCategoryItem> conflictItems = materialCategoryItemService.lambdaQuery()
|
||||
.in(QmsInspectorMaterialCategoryItem::getMaterialCategoryId, myCategoryIds)
|
||||
.ne(QmsInspectorMaterialCategoryItem::getInspectorId, inspectorId)
|
||||
.ne(QmsInspectorMaterialCategoryItem::getInspectorId, id)
|
||||
.list();
|
||||
if (!conflictItems.isEmpty()) {
|
||||
List<Long> conflictInspectorIds = conflictItems.stream()
|
||||
|
|
@ -458,7 +451,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
}
|
||||
|
||||
lambdaUpdate()
|
||||
.eq(QmsQualityInspector::getUserId, userId)
|
||||
.eq(QmsQualityInspector::getId, id)
|
||||
.set(QmsQualityInspector::getEnable, enable)
|
||||
.set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName())
|
||||
.set(QmsQualityInspector::getUpdateTime, LocalDateTime.now())
|
||||
|
|
@ -482,9 +475,9 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
|
|||
|
||||
@Transactional
|
||||
@Override
|
||||
public void cancelTransfer(Long userId) {
|
||||
public void cancelTransfer(Long id) {
|
||||
lambdaUpdate()
|
||||
.eq(QmsQualityInspector::getUserId, userId)
|
||||
.eq(QmsQualityInspector::getId, id)
|
||||
.set(QmsQualityInspector::getChangeUserId, null)
|
||||
.set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName())
|
||||
.set(QmsQualityInspector::getUpdateTime, LocalDateTime.now())
|
||||
|
|
|
|||
Loading…
Reference in New Issue