Browse Source

2025-04-23

plmPartNo
ifsPartNo
master
fengyuan_yang 9 months ago
parent
commit
4ebad3c137
  1. 2
      src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java
  2. 13
      src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java
  3. 6
      src/main/java/com/spring/modules/part/service/impl/PartServiceImpl.java
  4. 2
      src/main/java/com/spring/modules/part/vo/PartInformationVo.java
  5. 21
      src/main/resources/mapper/part/PartInformationMapper.xml

2
src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java

@ -160,7 +160,7 @@ public interface PartInformationMapper extends BaseMapper<PartInformationEntity>
List<PartRevisionEntity> getFromPartRevision(@Param("site") String site, @Param("partNo") String partNo, @Param("toSite") String toSite, @Param("toPartNo") String toPartNo, @Param("createBy") String createBy); List<PartRevisionEntity> getFromPartRevision(@Param("site") String site, @Param("partNo") String partNo, @Param("toSite") String toSite, @Param("toPartNo") String toPartNo, @Param("createBy") String createBy);
void saveProjectPart(PartInformationEntity data);
void saveProjectPart(PartInformationVo data);
void updateProjectFinalPart(PartInformationVo inData); void updateProjectFinalPart(PartInformationVo inData);

13
src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java

@ -173,7 +173,8 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
partIfsCatalog.setContract(""); // site partIfsCatalog.setContract(""); // site
partIfsCatalog.setPartNo(data.getPartNo()); // 物料编码 partIfsCatalog.setPartNo(data.getPartNo()); // 物料编码
partIfsCatalog.setPartDesc(data.getPartDesc()); // 物料名称 partIfsCatalog.setPartDesc(data.getPartDesc()); // 物料名称
partIfsCatalog.setUnitCode(data.getUmId() == null ? "" : data.getUmId()); // 计量单位
// 2025-04-24 PLM pcs. 对应 IFS PCS
partIfsCatalog.setUnitCode(data.getUmId() == null ? "" : "pcs.".equals(data.getUmId()) ? "PCS" : "pcs"); // 计量单位
partIfsCatalog.setPartMainGroup(data.getPartMainGroup() == null ? "" : data.getPartMainGroup()); // 物料分组 partIfsCatalog.setPartMainGroup(data.getPartMainGroup() == null ? "" : data.getPartMainGroup()); // 物料分组
partIfsCatalog.setWeightNet(data.getWeightNet() == null ? "" : data.getWeightNet().toString()); // 净重 partIfsCatalog.setWeightNet(data.getWeightNet() == null ? "" : data.getWeightNet().toString()); // 净重
partIfsCatalog.setUomForWeightNet(data.getUomForWeightNet() == null ? "" : data.getUomForWeightNet()); // 净重单位 partIfsCatalog.setUomForWeightNet(data.getUomForWeightNet() == null ? "" : data.getUomForWeightNet()); // 净重单位
@ -207,7 +208,8 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
partIfsInventory.setVolumeNet(data.getVolumeNet() == null ? "" : data.getVolumeNet().toString()); // 体积 partIfsInventory.setVolumeNet(data.getVolumeNet() == null ? "" : data.getVolumeNet().toString()); // 体积
partIfsInventory.setUomForVolumeNet(data.getUomForVolumeNet() == null ? "" : data.getUomForVolumeNet()); // 体积单位 partIfsInventory.setUomForVolumeNet(data.getUomForVolumeNet() == null ? "" : data.getUomForVolumeNet()); // 体积单位
partIfsInventory.setPlannerBuyer(data.getProductGroupId4() == null ? "" : data.getProductGroupId4()); // 计划员 partIfsInventory.setPlannerBuyer(data.getProductGroupId4() == null ? "" : data.getProductGroupId4()); // 计划员
partIfsInventory.setUnitMeas(data.getUmId() == null ? "" : data.getUmId()); // 计量单位
// 2025-04-24 PLM pcs. 对应 IFS PCS
partIfsInventory.setUnitMeas(data.getUmId() == null ? "" : "pcs.".equals(data.getUmId()) ? "PCS" : "pcs"); // 计量单位
partIfsInventory.setPrimeCommodity(data.getProductGroupId1() == null ? "" : data.getProductGroupId1()); // 商品组1 partIfsInventory.setPrimeCommodity(data.getProductGroupId1() == null ? "" : data.getProductGroupId1()); // 商品组1
partIfsInventory.setSecondCommodity(data.getProductGroupId2() == null ? "" : data.getProductGroupId2()); // 商品组2 partIfsInventory.setSecondCommodity(data.getProductGroupId2() == null ? "" : data.getProductGroupId2()); // 商品组2
partIfsInventory.setAssetClass(data.getAssetClass() == null ? "" : data.getAssetClass()); // 资产等级 partIfsInventory.setAssetClass(data.getAssetClass() == null ? "" : data.getAssetClass()); // 资产等级
@ -633,6 +635,7 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
int a = noData.getTransNo().length() + noData.getLength(); int a = noData.getTransNo().length() + noData.getLength();
data.setBaseNo(data.getPartNo().substring(0, a)); data.setBaseNo(data.getPartNo().substring(0, a));
data.setRevNo(data.getPartNo().substring(a)); data.setRevNo(data.getPartNo().substring(a));
data.setVirtualPartNo(data.getPartNo());
partInformationMapper.saveProjectPart(data); partInformationMapper.saveProjectPart(data);
// 新增客户料号信息 // 新增客户料号信息
partInformationMapper.saveCustomerPartInfo(data); partInformationMapper.saveCustomerPartInfo(data);
@ -2421,6 +2424,7 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
a.setCustomerNo(data.getCustomerNo()); a.setCustomerNo(data.getCustomerNo());
a.setCreateBy(data.getCreateBy()); a.setCreateBy(data.getCreateBy());
a.setPartNoSource(data.getPartNoSource()); a.setPartNoSource(data.getPartNoSource());
a.setVirtualPartNo(a.getFinalPartNo() == null ? a.getPlmPartNo() : a.getFinalPartNo());
return a; return a;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
partInformationMapper.addProjectPart(partList); partInformationMapper.addProjectPart(partList);
@ -3439,6 +3443,11 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
// 清空缓存表 // 清空缓存表
partCatalogDao.truncateInventoryPartCacheTable(); partCatalogDao.truncateInventoryPartCacheTable();
// 数据批量保存到缓存的数据表 // 数据批量保存到缓存的数据表
for (PartIfsInventory inventoryPart : ifsInventoryParts) {
if ("PCS".equals(inventoryPart.getUnitMeas())) {
inventoryPart.setUnitMeas("pcs.");
}
}
partCatalogDao.batchInsertInventoryParts(ifsInventoryParts); partCatalogDao.batchInsertInventoryParts(ifsInventoryParts);
// 调用存储过程 刷新库存件的数据 // 调用存储过程 刷新库存件的数据
this.refreshPlmInventoryParts(); this.refreshPlmInventoryParts();

6
src/main/java/com/spring/modules/part/service/impl/PartServiceImpl.java

@ -4,6 +4,7 @@ import com.spring.ifs.api.IfsServer;
import com.spring.ifs.bean.BaseSearchBean; import com.spring.ifs.bean.BaseSearchBean;
import com.spring.ifs.data.PartCatalog; import com.spring.ifs.data.PartCatalog;
import com.spring.modules.part.dao.PartCatalogDao; import com.spring.modules.part.dao.PartCatalogDao;
import com.spring.modules.part.entity.APIEntity.PartIfsInventory;
import com.spring.modules.part.entity.PartInformationEntity; import com.spring.modules.part.entity.PartInformationEntity;
import com.spring.modules.part.service.PartService; import com.spring.modules.part.service.PartService;
import com.spring.modules.report.dao.ProcedureDao; import com.spring.modules.report.dao.ProcedureDao;
@ -64,6 +65,11 @@ public class PartServiceImpl implements PartService {
} }
//清空缓存表 //清空缓存表
partCatalogDao.truncatePartCatalogCacheTable(); partCatalogDao.truncatePartCatalogCacheTable();
for (PartCatalog partCatalog : resultList) {
if ("PCS".equals(partCatalog.getUnitCode())) {
partCatalog.setUnitCode("pcs.");
}
}
//数据批量保存到缓存的数据表 //数据批量保存到缓存的数据表
partCatalogDao.batchInsertPartCatalogs(resultList); partCatalogDao.batchInsertPartCatalogs(resultList);
//调用存储过程 刷新物料件的数据 //调用存储过程 刷新物料件的数据

2
src/main/java/com/spring/modules/part/vo/PartInformationVo.java

@ -165,4 +165,6 @@ public class PartInformationVo extends PartInformationEntity {
private String fromPartNo; private String fromPartNo;
private String fromPartDesc; private String fromPartDesc;
private String copyFlag; private String copyFlag;
private String virtualPartNo;
} }

21
src/main/resources/mapper/part/PartInformationMapper.xml

@ -1103,11 +1103,11 @@
</select> </select>
<!-- 新增项目物料 --> <!-- 新增项目物料 -->
<insert id="saveProjectPart" parameterType="PartInformationEntity">
<insert id="saveProjectPart" parameterType="com.spring.modules.part.vo.PartInformationVo">
insert into plm_project_part insert into plm_project_part
(site, project_id, test_part_no, base_no, rev_no, part_no_source,bu_no)
(site, project_id, test_part_no, base_no, rev_no, part_no_source, bu_no, virtual_part_no)
values values
(#{site}, #{projectId}, #{partNo}, #{baseNo}, #{revNo}, #{partNoSource}, #{buNo})
(#{site}, #{projectId}, #{partNo}, #{baseNo}, #{revNo}, #{partNoSource}, #{buNo}, #{virtualPartNo})
</insert> </insert>
<!-- 修改项目物料finalPart --> <!-- 修改项目物料finalPart -->
@ -1115,7 +1115,8 @@
UPDATE plm_project_part UPDATE plm_project_part
SET final_part_no = #{ifsPartNo}, SET final_part_no = #{ifsPartNo},
update_date = getDate(), update_date = getDate(),
update_by = #{updateBy}
update_by = #{updateBy},
virtual_part_no = #{ifsPartNo}
WHERE site = #{site} and test_part_no = #{partNo} WHERE site = #{site} and test_part_no = #{partNo}
</update> </update>
@ -1123,7 +1124,8 @@
UPDATE plm_project_part UPDATE plm_project_part
SET final_part_no = #{ifsPartNo}, SET final_part_no = #{ifsPartNo},
update_date = getDate(), update_date = getDate(),
update_by = #{createBy}
update_by = #{createBy},
virtual_part_no = #{ifsPartNo}
WHERE site = #{site} and test_part_no = #{partNo} WHERE site = #{site} and test_part_no = #{partNo}
</update> </update>
@ -1385,7 +1387,7 @@
where prp2.site = #{query.site} and ppi2.customer_id = #{query.customerId}) as b where prp2.site = #{query.site} and ppi2.customer_id = #{query.customerId}) as b
on a.site = b.site and a.test_part_no = b.test_part_no on a.site = b.site and a.test_part_no = b.test_part_no
left join part as c on a.site = c.site and a.test_part_no = c.part_no left join part as c on a.site = c.site and a.test_part_no = c.part_no
where b.test_part_no is null
where b.test_part_no is null and c.show_in_query_flag = 'Y'
and c.part_no not in and c.part_no not in
<foreach collection="query.arr" close=")" open="(" item="item" separator=","> <foreach collection="query.arr" close=")" open="(" item="item" separator=",">
#{item} #{item}
@ -1427,7 +1429,8 @@
a.ifs_part_no as finalPartNo, a.ifs_part_no as finalPartNo,
a.status, a.status,
a.temporary_part_flag, a.temporary_part_flag,
a.show_in_query_flag
a.show_in_query_flag,
a.plm_part_no
FROM part as a FROM part as a
left join plm_project_part as b on a.site = b.site and a.part_no = b.test_part_no left join plm_project_part as b on a.site = b.site and a.part_no = b.test_part_no
where a.site = #{query.site} where a.site = #{query.site}
@ -1448,10 +1451,10 @@
<!-- 新增项目物料 --> <!-- 新增项目物料 -->
<insert id="addProjectPart"> <insert id="addProjectPart">
insert into plm_project_part insert into plm_project_part
(site, project_id, test_part_no, create_date, create_by, part_no_source, bu_no, final_part_no)
(site, project_id, test_part_no, create_date, create_by, part_no_source, bu_no, final_part_no, virtual_part_no)
VALUES VALUES
<foreach collection="list" item="item" index="index" separator=","> <foreach collection="list" item="item" index="index" separator=",">
(#{item.site}, #{item.projectId}, #{item.partNo}, getDate(), #{item.createBy}, #{item.partNoSource}, #{item.buNo}, #{item.finalPartNo})
(#{item.site}, #{item.projectId}, #{item.partNo}, getDate(), #{item.createBy}, #{item.partNoSource}, #{item.buNo}, #{item.finalPartNo}, #{item.virtualPartNo})
</foreach> </foreach>
</insert> </insert>

Loading…
Cancel
Save