diff --git a/src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java b/src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java index 33dc6a54..c3cdf45b 100644 --- a/src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java +++ b/src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java @@ -323,4 +323,6 @@ public interface PartInformationMapper extends BaseMapper void deleteRecipeComponentByPartNo(PartInformationVo data); void savePartSubPropertiesValues(List arrayList); + + List getUnitValuesByPartNo(@Param("site") String site, @Param("partNo") String partNo, @Param("configurationId") String s); } 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 a98fe781..a7ccfee0 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 @@ -3594,7 +3594,13 @@ public class PartInformationServiceImpl extends ServiceImpl subList = new ArrayList<>(); InventoryPartUnitCostSumEntity unitCostSum = JSONObject.parseObject(getInventoryValueResponse.get("obj"), InventoryPartUnitCostSumEntity.class); subList.add(unitCostSum); - partInformationMapper.syncUpdateUnitValue(subList); + // 查是否存在该物料的成本 + List unitValues = partInformationMapper.getUnitValuesByPartNo(inData.getSite(), inData.getPartNo(), "*"); + if (unitValues.isEmpty()) { + partInformationMapper.syncSaveUnitValue(subList); + } else { + partInformationMapper.syncUpdateUnitValue(subList); + } } else { log.error("获取成本信息异常: " + getInventoryValueResponse.get("resultMsg")); } diff --git a/src/main/resources/mapper/part/PartInformationMapper.xml b/src/main/resources/mapper/part/PartInformationMapper.xml index c23b8d9a..a32cec46 100644 --- a/src/main/resources/mapper/part/PartInformationMapper.xml +++ b/src/main/resources/mapper/part/PartInformationMapper.xml @@ -2268,4 +2268,17 @@ (#{item.site}, #{item.partNo}, #{item.codeNo}, #{item.subCodeSeqNo, jdbcType=FLOAT}, #{item.itemNo, jdbcType=FLOAT}, #{item.propertiesItemNo}, #{item.textValue}, #{item.numValue, jdbcType=FLOAT}, #{item.recordType}) + +