Merge remote-tracking branch 'origin/qms/develop' into qms/develop

# Conflicts:
#	nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java
This commit is contained in:
yf001217 2026-06-14 08:59:55 +08:00
commit 8e2810d368
9 changed files with 171 additions and 29 deletions

View File

@ -63,5 +63,5 @@ public class QmsQualityInspectorDetailVO {
/**
* PQC绑定机型列表
*/
private List<QmsQualityInspectorPqcModelVO> pqcModels;
private List<String> pqcModels;
}

View File

@ -8,10 +8,6 @@ import lombok.Data;
@Data
public class QmsQualityInspectorPqcModelVO {
/**
* PQC规则ID
*/
private Long pqcRuleId;
/**
* 机型编号

View File

@ -61,11 +61,6 @@ public class QmsQualityInspectorVO {
*/
private Integer inspectionType;
/**
* PQC绑定机型编号列表
*/
private List<String> pqcModelNos;
/**
* 转办人ID
*/

View File

@ -0,0 +1,63 @@
package com.nflg.wms.repository.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 质检员机型明细表
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("qms_inspector_model_item")
public class QmsInspectorModelItem implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
/**
* 质检员ID (qms_quality_inspector.id)
*/
private Long inspectorId;
/**
* 机型编号
*/
private String modelNo;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 修改人
*/
private String updateBy;
/**
* 修改时间
*/
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,16 @@
package com.nflg.wms.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.wms.repository.entity.QmsInspectorModelItem;
/**
* <p>
* 质检员机型明细 Mapper 接口
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
public interface QmsInspectorModelItemMapper extends BaseMapper<QmsInspectorModelItem> {
}

View File

@ -0,0 +1,16 @@
package com.nflg.wms.repository.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.wms.repository.entity.QmsInspectorModelItem;
/**
* <p>
* 质检员机型明细 服务类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
public interface IQmsInspectorModelItemService extends IService<QmsInspectorModelItem> {
}

View File

@ -0,0 +1,22 @@
package com.nflg.wms.repository.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.wms.repository.entity.QmsInspectorModelItem;
import com.nflg.wms.repository.mapper.QmsInspectorModelItemMapper;
import com.nflg.wms.repository.service.IQmsInspectorModelItemService;
import org.springframework.stereotype.Service;
/**
* <p>
* 质检员机型明细 服务实现类
* </p>
*
* @author 代码生成器生成
* @since 2025
*/
@Service
public class QmsInspectorModelItemServiceImpl
extends ServiceImpl<QmsInspectorModelItemMapper, QmsInspectorModelItem>
implements IQmsInspectorModelItemService {
}

View File

@ -15,23 +15,9 @@ import com.nflg.wms.common.pojo.qo.QmsQualityInspectorTransferQO;
import com.nflg.wms.common.pojo.qo.QmsQualityInspectorUpdateQO;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.repository.entity.QmsInspectorMaterialCategoryItem;
import com.nflg.wms.repository.entity.QmsInspectorMaterialItem;
import com.nflg.wms.repository.entity.QmsQcMaterialCategory;
import com.nflg.wms.repository.entity.QmsQualityInspector;
import com.nflg.wms.repository.entity.User;
import com.nflg.wms.repository.entity.*;
import com.nflg.wms.repository.mapper.QmsQualityInspectorMapper;
import com.nflg.wms.repository.service.IQmsInspectorMaterialCategoryItemService;
import com.nflg.wms.repository.service.IQmsInspectorMaterialItemService;
import com.nflg.wms.repository.entity.Department;
import com.nflg.wms.repository.entity.Position;
import com.nflg.wms.repository.entity.UserInterior;
import com.nflg.wms.repository.service.IDepartmentService;
import com.nflg.wms.repository.service.IPositionService;
import com.nflg.wms.repository.service.IUserInteriorService;
import com.nflg.wms.repository.service.IQmsQcMaterialCategoryService;
import com.nflg.wms.repository.service.IQmsQualityInspectorService;
import com.nflg.wms.repository.service.IUserService;
import com.nflg.wms.repository.service.*;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -73,6 +59,10 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
@Resource
private IPositionService positionService;
@Resource
private IQmsInspectorModelItemService inspectorModelItemService;
// ========================= 工具方法 =========================
/**
@ -88,6 +78,38 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
return categories.stream()
.collect(Collectors.toMap(QmsQcMaterialCategory::getCategoryCode, QmsQcMaterialCategory::getId));
}
private void savePqcModelBindings(Long inspectorId, List<String> modelNos) {
inspectorModelItemService.lambdaUpdate()
.eq(QmsInspectorModelItem::getInspectorId, inspectorId)
.remove();
inspectorModelItemService.saveBatch(modelNos.stream()
.map(modelNo -> {
QmsInspectorModelItem item = new QmsInspectorModelItem();
item.setInspectorId(inspectorId);
item.setModelNo(modelNo);
item.setCreateBy(UserUtil.getUserName());
item.setCreateTime(LocalDateTime.now());
return item;
})
.collect(Collectors.toList())
);
}
private List<String> getPqcModelsByInspectorId(Long inspectorId) {
if (inspectorId == null) {
return Collections.emptyList();
}
return inspectorModelItemService.lambdaQuery()
.eq(QmsInspectorModelItem::getInspectorId, inspectorId)
.list()
.stream()
.map(QmsInspectorModelItem::getModelNo)
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
}
private QmsQualityInspector getPqcInspector(Long id) {
QmsQualityInspector inspector = getById(id);
if (Objects.isNull(inspector)) {
@ -231,6 +253,8 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
.setUpdateBy(operator)
.setUpdateTime(now);
save(inspector);
savePqcModelBindings(inspector.getId(), request.getModelNos());
}
// ========================= 删除 =========================
@ -254,6 +278,11 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
materialCategoryItemService.lambdaUpdate()
.eq(QmsInspectorMaterialCategoryItem::getInspectorId, id)
.remove();
if (Objects.equals(inspector.getInspectionType(), 2)) {
inspectorModelItemService.lambdaUpdate()
.eq(QmsInspectorModelItem::getInspectorId, inspector.getId())
.remove();
}
// 删除主表
removeById(id);
}
@ -372,6 +401,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
@Override
public void updatePqc(QmsQualityInspectorPqcUpdateQO request) {
QmsQualityInspector inspector = getPqcInspector(request.getId());
savePqcModelBindings(inspector.getId(), request.getModelNos());
lambdaUpdate()
.eq(QmsQualityInspector::getId, request.getId())
.set(QmsQualityInspector::getUpdateBy, UserUtil.getUserName())
@ -383,8 +413,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
@Override
public IPage<QmsQualityInspectorVO> search(QmsQualityInspectorSearchQO request) {
IPage<QmsQualityInspectorVO> page = baseMapper.searchPage(request, new Page<>(request.getPage(), request.getPageSize()));
return page;
return baseMapper.searchPage(request, new Page<>(request.getPage(), request.getPageSize()));
}
@Override
@ -453,7 +482,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
}
detail.setMaterials(Collections.emptyList());
detail.setCategories(Collections.emptyList());
detail.setPqcModels(Collections.emptyList());
detail.setPqcModels(getPqcModelsByInspectorId(inspector.getId()));
return detail;
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.wms.repository.mapper.QmsInspectorModelItemMapper">
</mapper>