diff --git a/src/main/java/com/spring/modules/part/controller/MasterPartInformationController.java b/src/main/java/com/spring/modules/part/controller/MasterPartInformationController.java index 6c4084b8..78c32d25 100644 --- a/src/main/java/com/spring/modules/part/controller/MasterPartInformationController.java +++ b/src/main/java/com/spring/modules/part/controller/MasterPartInformationController.java @@ -156,4 +156,16 @@ public class MasterPartInformationController { List list = masterPartInformationService.getItemLists(inData); return R.ok().put("rows", list); } + + /** + * 临时物料转为正式物料 + * @param inData + * @return + */ + @PostMapping("/toBecomeOfficialMasterPart") + @ResponseBody + public R toBecomeOfficialMasterPart(@RequestBody MasterPartInformationEntity inData){ + masterPartInformationService.toBecomeOfficialMasterPart(inData); + return R.ok(); + } } diff --git a/src/main/java/com/spring/modules/part/entity/MasterPartInformationEntity.java b/src/main/java/com/spring/modules/part/entity/MasterPartInformationEntity.java index aed86f7b..6c672eaf 100644 --- a/src/main/java/com/spring/modules/part/entity/MasterPartInformationEntity.java +++ b/src/main/java/com/spring/modules/part/entity/MasterPartInformationEntity.java @@ -102,4 +102,8 @@ public class MasterPartInformationEntity extends QueryPage implements Serializab */ @TableField(exist = false) private List informationList; + /** + * 正式物料标识 + **/ + private String officialFlag; } diff --git a/src/main/java/com/spring/modules/part/mapper/MasterPartInformationMapper.java b/src/main/java/com/spring/modules/part/mapper/MasterPartInformationMapper.java index 0967e5ba..6cd29093 100644 --- a/src/main/java/com/spring/modules/part/mapper/MasterPartInformationMapper.java +++ b/src/main/java/com/spring/modules/part/mapper/MasterPartInformationMapper.java @@ -29,4 +29,6 @@ public interface MasterPartInformationMapper extends BaseMapper queryCodeNo(MasterPartInformationVo data); void updateWeightAndVolume(MasterPartInformationVo data); + + void updatePartOfficialFlag(MasterPartInformationEntity inData); } diff --git a/src/main/java/com/spring/modules/part/service/MasterPartInformationService.java b/src/main/java/com/spring/modules/part/service/MasterPartInformationService.java index 4f568d7b..5adb85ee 100644 --- a/src/main/java/com/spring/modules/part/service/MasterPartInformationService.java +++ b/src/main/java/com/spring/modules/part/service/MasterPartInformationService.java @@ -34,4 +34,6 @@ public interface MasterPartInformationService { void deleteMasterPartItem(PartSubPropertiesValueData inData); void commitItemValue(PartSubPropertiesValueData data); + + void toBecomeOfficialMasterPart(MasterPartInformationEntity inData); } diff --git a/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java index 83c603ca..73361d98 100644 --- a/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/MasterPartInformationServiceImpl.java @@ -42,6 +42,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Service public class MasterPartInformationServiceImpl extends ServiceImpl implements MasterPartInformationService { @@ -161,28 +162,6 @@ public class MasterPartInformationServiceImpl extends ServiceImpl partList = partInformationMapper.selectList(new QueryWrapper().eq("part_no", data.getPartNo())); if (!partList.isEmpty()) { masterPartInformationMapper.updateWeightAndVolume(data); +// // 判断是否有正式inventoryPart +// List collect = partList.stream().filter(x -> "Y".equals(x.getStatus())).collect(Collectors.toList()); +// if (!collect.isEmpty()) { +// +// } } - if (dataUrl) { // 正式库 - // 同步ifs - // 修改物料件 - PartIfsCatalog partIfsCatalog = getPartIfsCatalog(data); - String updateURL = apiUrl + "/part/ifs/modifyPartCatalogToIfs"; - ResponseData updateResponse = HttpClientUtil.doPostByRawWithPLM(updateURL, partIfsCatalog); - if (!"200".equals(updateResponse.getCode())) { - throw new RuntimeException("ifs 物料件异常信息:" + updateResponse.getMsg()); - } - // 修改库存件的体积和净重 - for (PartInformationEntity partData : partList) { - if ("Y".equals(partData.getStatus())) { // 正式物料,调用库存件的修改接口 - PartIfsInventory partIfsInventory = getPartIfsInventory(partData); - partIfsInventory.setWeightNet(data.getWeightNet().toString()); - partIfsInventory.setUomForWeightNet(data.getUomForWeightNet()); - partIfsInventory.setVolumeNet(data.getVolumeNet().toString()); - partIfsInventory.setUomForVolumeNet(data.getUomForVolumeNet()); - String inventoryPartUpdateURL = apiUrl + "/part/ifs/syncInventoryPartToIfs"; - ResponseData inventoryPartUpdateResponse = HttpClientUtil.doPostByRawWithPLM(inventoryPartUpdateURL, partIfsInventory); - if (!"200".equals(inventoryPartUpdateResponse.getCode())) { - throw new RuntimeException("ifs 物料件异常信息:" + updateResponse.getMsg()); - } + // 判断是否为正式物料 + MasterPartInformationEntity masterPartInformation = masterPartInformationMapper.selectOne(new QueryWrapper().eq("part_no", data.getPartNo())); + if ("Y".equals(masterPartInformation.getOfficialFlag())) { + if (dataUrl) { // 正式库 + // 同步ifs + // 修改物料件 + PartIfsCatalog partIfsCatalog = getPartIfsCatalog(data); + String updateURL = apiUrl + "/part/ifs/modifyPartCatalogToIfs"; + ResponseData updateResponse = HttpClientUtil.doPostByRawWithPLM(updateURL, partIfsCatalog); + if (!"200".equals(updateResponse.getCode())) { + throw new RuntimeException("ifs 物料件异常信息:" + updateResponse.getMsg()); } + // 修改库存件的体积和净重 +// for (PartInformationEntity partData : partList) { +// if ("Y".equals(partData.getStatus())) { // 正式物料,调用库存件的修改接口 +// PartIfsInventory partIfsInventory = getPartIfsInventory(partData); +// partIfsInventory.setWeightNet(data.getWeightNet().toString()); +// partIfsInventory.setUomForWeightNet(data.getUomForWeightNet()); +// partIfsInventory.setVolumeNet(data.getVolumeNet().toString()); +// partIfsInventory.setUomForVolumeNet(data.getUomForVolumeNet()); +// String inventoryPartUpdateURL = apiUrl + "/part/ifs/syncInventoryPartToIfs"; +// ResponseData inventoryPartUpdateResponse = HttpClientUtil.doPostByRawWithPLM(inventoryPartUpdateURL, partIfsInventory); +// if (!"200".equals(inventoryPartUpdateResponse.getCode())) { +// throw new RuntimeException("ifs 物料件异常信息:" + updateResponse.getMsg()); +// } +// } +// } } } - } /** @@ -416,4 +403,40 @@ public class MasterPartInformationServiceImpl extends ServiceImpl().eq("part_no", inData.getPartNo())); + if ("Y".equals(masterPart.getOfficialFlag())) { + return; + } + // 1、正式状态改为Y + inData.setOfficialFlag("Y"); + masterPartInformationMapper.updatePartOfficialFlag(inData); + + if (dataUrl) { // 正式库 + // 同步ifs + PartIfsCatalog partIfsCatalog = getPartIfsCatalog(inData); + // 判断ifs是否已存在物料件 + String queryURL = apiUrl + "/part/ifs/getPartCatalog"; + ResponseData queryResponse = HttpClientUtil.doPostByRawWithPLM(queryURL, partIfsCatalog); + if ("200".equals(queryResponse.getCode())) { // 物料件已存在,调用修改接口 + String updateURL = apiUrl + "/part/ifs/modifyPartCatalogToIfs"; + ResponseData updateResponse = HttpClientUtil.doPostByRawWithPLM(updateURL, partIfsCatalog); + if (!"200".equals(updateResponse.getCode())) { + throw new RuntimeException("ifs 物料件异常信息:" + updateResponse.getMsg()); + } + } else { // 调用新增接口 + String addURL = apiUrl + "/part/ifs/syncPartCatalogToIfs"; + ResponseData addResponse = HttpClientUtil.doPostByRawWithPLM(addURL, partIfsCatalog); + if (!"200".equals(addResponse.getCode())) { + throw new RuntimeException("ifs 物料件异常信息:" + addResponse.getMsg()); + } + } + } + } + } diff --git a/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java index c8899ae8..69964558 100644 --- a/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java @@ -242,22 +242,12 @@ public class PartInformationServiceImpl extends ServiceImpl @@ -82,4 +83,13 @@ uom_for_volume_net = #{uomForVolumeNet} WHERE part_no = #{partNo} + + + + UPDATE part_catalog + SET official_flag = #{officialFlag}, + update_date = getDate(), + update_by = #{updateBy} + WHERE part_no = #{partNo} +