package cn.iocoder.yudao.module.mes.api.item; import cn.iocoder.yudao.module.mes.api.item.dto.MesMdItemSyncReqDTO; import java.util.Collection; import java.util.Set; /** * MES 物料产品 API 接口 * * 供其他模块(如 MDM)同步物料主数据到 MES 使用。 * 单位、分类均按 code 传递,由 MES 侧解析为对应 id。 * * @author 芋道源码 */ public interface MesMdItemApi { /** * 创建 MES 物料产品(同步用) * * @param syncReqDTO 同步信息(单位/分类传 code) * @return MES 物料编号 */ Long createItem(MesMdItemSyncReqDTO syncReqDTO); /** * 更新 MES 物料产品(同步用) * * 按 code 匹配:存在则更新,不存在则创建(upsert)。 * * @param syncReqDTO 同步信息 */ void updateItem(MesMdItemSyncReqDTO syncReqDTO); /** * 删除 MES 物料产品(同步用) * * 按 MDM 物料 ID 查找 MES 记录并删除,不存在则忽略。 * * @param mdmItemId MDM 物料 ID */ void deleteItem(Long mdmItemId); /** * 更新 MES 物料产品状态(同步用) * * 按 MDM 物料 ID 查找 MES 记录并更新状态,不存在则忽略。 * * @param mdmItemId MDM 物料 ID * @param status 状态 */ void updateItemStatus(Long mdmItemId, Integer status); /** * 获取已同步到 MES 的 MDM 物料 ID 集合 * * @param mdmItemIds MDM 物料 ID 列表 * @return 存在于 MES 中的 MDM 物料 ID 集合 */ Set getSyncedMdmItemIds(Collection mdmItemIds); }