| | |
| | | // 校验数据 |
| | | validateItemSaveData(createReqVO); |
| | | |
| | | // 如果指定了 ID,检查该 ID 是否已存在(用于 MDM 同步时保持 ID 一致) |
| | | if (createReqVO.getId() != null) { |
| | | MesMdItemDO existItem = itemMapper.selectById(createReqVO.getId()); |
| | | if (existItem != null) { |
| | | // ID 已存在,转为更新 |
| | | updateItem(createReqVO); |
| | | return createReqVO.getId(); |
| | | } |
| | | } |
| | | |
| | | // 插入 |
| | | MesMdItemDO item = BeanUtils.toBean(createReqVO, MesMdItemDO.class); |
| | | item.setStatus(CommonStatusEnum.DISABLE.getStatus()); // 默认禁用。信息完成后,再启用 |
| | |
| | | */ |
| | | private void syncItemToMdm(MesMdItemDO item, MesMdItemSaveReqVO saveReqVO) { |
| | | // 1. 获取物料类型对应的 itemType |
| | | Integer itemType = null; |
| | | Long itemType = null; |
| | | if (item.getItemTypeId() != null) { |
| | | MesMdItemTypeDO itemTypeDO = itemTypeService.getItemType(item.getItemTypeId()); |
| | | if (itemTypeDO != null) { |
| | | // MES: ITEM=物料, PRODUCT=产品 -> MDM: 1=原料, 2=半成品, 3=成品, 4=辅料 |
| | | itemType = convertMesItemTypeToMdm(itemTypeDO.getItemOrProduct(), itemTypeDO.getName()); |
| | | // itemType = convertMesItemTypeToMdm(itemTypeDO.getItemOrProduct(), itemTypeDO.getName()); |
| | | itemType = itemTypeDO.getId(); |
| | | } |
| | | } |
| | | |
| | |
| | | return 1; // 默认原料 |
| | | } |
| | | |
| | | @Override |
| | | public MesMdItemDO getItemByMdmItemId(Long mdmItemId) { |
| | | if (mdmItemId == null) { |
| | | return null; |
| | | } |
| | | return itemMapper.selectByMdmItemId(mdmItemId); |
| | | } |
| | | |
| | | @Override |
| | | public MesMdItemDO validateItemExistsByMdmItemId(Long mdmItemId) { |
| | | MesMdItemDO item = getItemByMdmItemId(mdmItemId); |
| | | if (item == null) { |
| | | throw exception(MD_ITEM_NOT_EXISTS); |
| | | } |
| | | return item; |
| | | } |
| | | |
| | | } |