| | |
| | | updateItem(createReqVO); |
| | | return createReqVO.getId(); |
| | | } |
| | | // 存在逻辑删除记录(取消同步后重新同步):恢复该记录后走更新,避免主键冲突 |
| | | if (itemMapper.selectAnyById(createReqVO.getId()) != null) { |
| | | itemMapper.restoreById(createReqVO.getId()); |
| | | updateItem(createReqVO); |
| | | return createReqVO.getId(); |
| | | } |
| | | } |
| | | |
| | | // 插入 |
| | |
| | | private void validateItemSaveData(MesMdItemSaveReqVO reqVO) { |
| | | // 校验物料编码的唯一性 |
| | | validateItemCodeUnique(reqVO.getId(), reqVO.getCode()); |
| | | // 校验物料名称的唯一性 |
| | | validateItemNameUnique(reqVO.getId(), reqVO.getName()); |
| | | // 不再校验物料名称的唯一性:允许同名不同编码的物料(与 MDM 物料规则保持一致) |
| | | // 校验物料分类存在 |
| | | validateItemTypeExists(reqVO.getItemTypeId()); |
| | | // 校验计量单位存在 |
| | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | |