云
8 小时以前 5072520172e8f45e3ccb8afc26cf0c8186ba4cdd
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/item/MesMdItemServiceImpl.java
@@ -80,6 +80,12 @@
                updateItem(createReqVO);
                return createReqVO.getId();
            }
            // 存在逻辑删除记录(取消同步后重新同步):恢复该记录后走更新,避免主键冲突
            if (itemMapper.selectAnyById(createReqVO.getId()) != null) {
                itemMapper.restoreById(createReqVO.getId());
                updateItem(createReqVO);
                return createReqVO.getId();
            }
        }
        // 插入
@@ -129,10 +135,10 @@
    private void validateItemSaveData(MesMdItemSaveReqVO reqVO) {
        // 校验物料编码的唯一性
        validateItemCodeUnique(reqVO.getId(), reqVO.getCode());
        // 校验物料名称的唯一性
        validateItemNameUnique(reqVO.getId(), reqVO.getName());
        // 校验物料分类存在
        validateItemTypeExists(reqVO.getItemTypeId());
        // 校验物料分类存在(MDM 品种同步不传分类,允许为空)
        if (reqVO.getItemTypeId() != null) {
            validateItemTypeExists(reqVO.getItemTypeId());
        }
        // 校验计量单位存在
        validateUnitMeasureExists(reqVO.getUnitMeasureId());
    }
@@ -202,16 +208,6 @@
        }
        if (ObjUtil.notEqual(item.getId(), id)) {
            throw exception(MD_ITEM_CODE_DUPLICATE);
        }
    }
    private void validateItemNameUnique(Long id, String name) {
        MesMdItemDO item = itemMapper.selectByName(name);
        if (item == null) {
            return;
        }
        if (ObjUtil.notEqual(item.getId(), id)) {
            throw exception(MD_ITEM_NAME_DUPLICATE);
        }
    }
@@ -413,4 +409,4 @@
        return item;
    }
}
}