云
3 天以前 81806860ff519555f494ac3c871dc92615d06cd4
feat(qc): 实现质检模板物料防重复选择功能

- 后端物料分页查询新增 excludeIds 参数以支持排除指定物料
- 前端物料选择组件及弹窗新增 excludeIds 属性并透传至查询接口
- 质检模板物料表单替换为自定义物料选择组件并传入排除列表
- 获取已绑定物料ID并作为排除项以防止重复选择
- 存储记录类型枚举新增巡检业务类型以支持相关记录
已修改3个文件
12 ■■■■■ 文件已修改
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemPageReqVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/item/MdmItemMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/vo/MdmItemPageReqVO.java
@@ -7,12 +7,16 @@
import lombok.ToString;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - MDM 物料分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MdmItemPageReqVO extends PageParam {
    @Schema(description = "排除的物料编号")
    private List<Long> excludeIds;
    @Schema(description = "物料编码", example = "ITEM001")
    private String code;
@@ -38,4 +42,4 @@
    @Schema(description = "创建时间")
    private LocalDateTime[] createTime;
}
}
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/dal/mysql/item/MdmItemMapper.java
@@ -31,7 +31,8 @@
                .eqIfPresent(MdmItemDO::getStatus, reqVO.getStatus())
                .betweenIfPresent(MdmItemDO::getCreateTime, reqVO.getCreateTime())
                .orderByAsc(MdmItemDO::getSort)
                .orderByDesc(MdmItemDO::getId));
                .orderByDesc(MdmItemDO::getId)
                .notIn(reqVO.getExcludeIds() != null && !reqVO.getExcludeIds().isEmpty(), MdmItemDO::getId, reqVO.getExcludeIds()));
    }
    default List<MdmItemDO> selectList(MdmItemPageReqVO reqVO, Collection<Long> categoryIds) {
@@ -93,4 +94,4 @@
     */
    List<Map<String, Object>> selectItemReferenceCount(@Param("itemId") Long itemId);
}
}
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/enums/storage/StorageRecordTypeEnum.java
@@ -22,6 +22,7 @@
    // ===== 质检 =====
    QUALITY_INSPECT("quality_inspect", "质检"),
    MES_QC_PATROL("mes_qc_patrol", "巡检"),
    // ===== 设备 =====
    DEVICE_MAINTENANCE("device_maintenance", "设备维护"),