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 f6903e17..ce74d18d 100644 --- a/src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java +++ b/src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java @@ -336,4 +336,12 @@ public interface PartInformationMapper extends BaseMapper IPage partInformationSearchAny(Page partInformationVoPage, @Param("query") Map params); IPage partAllInfoSearchAny(Page partInformationVoPage, @Param("query") Map params); + + List getProjectPartByPartNo(@Param("site") String site, @Param("partNo") String partNo); + + void batchSaveProjectPart(List projectPartList); + + List getProjectCustomerPartByPartNo(@Param("site") String site, @Param("partNo") String partNo); + + void batchSaveCustomerPart(List customerPartList); } 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 a00e23b4..5676c60b 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 @@ -1964,6 +1964,50 @@ public class PartInformationServiceImpl extends ServiceImpl projectParts = partInformationMapper.getProjectPartByPartNo(inData.getSite(), fromPart.getPartNo()); + if (!projectParts.isEmpty()) { + // 判断是不是临时物料 如果是临时物料 则给BaseNo 和 RevNo赋值 + String baseNo; + String revNo; + if (!"Y".equals(fromPart.getStatus())) { + TransNoControlData noData = partInformationMapper.getTranNoData(inData.getSite(), "project_part_no"); + int a = noData.getTransNo().length() + noData.getLength(); + baseNo = toPart.getPartNo().substring(0, a); + revNo = toPart.getPartNo().substring(a); + } else { + baseNo = ""; + revNo = ""; + } + List projectPartList = projectParts.stream().map(a -> { + a.setPartNo(toPart.getPartNo()); + a.setBaseNo(baseNo); + a.setRevNo(revNo); + a.setPartNoSource("料号导入"); + a.setVirtualPartNo(toPart.getPartNo()); + a.setCreateBy(inData.getCreateBy()); + return a; + }).collect(Collectors.toList()); + // 新增项目物料 + partInformationMapper.batchSaveProjectPart(projectPartList); + + List projectCustomers = partInformationMapper.getProjectCustomerPartByPartNo(inData.getSite(), fromPart.getPartNo()); + if (!projectCustomers.isEmpty()) { + List customerPartList = projectCustomers.stream().map(a -> { + a.setPartNo(toPart.getPartNo()); + a.setCreateBy(inData.getCreateBy()); + return a; + }).collect(Collectors.toList()); + // 新增客户物料 + partInformationMapper.batchSaveCustomerPart(customerPartList); + } + } + } } public PartInformationEntity createCopyToPart(PartInformationVo inData, PartInformationEntity fromPart) { diff --git a/src/main/java/com/spring/modules/project/entity/PlmProjectPart.java b/src/main/java/com/spring/modules/project/entity/PlmProjectPart.java index b37e4b7c..956667a1 100644 --- a/src/main/java/com/spring/modules/project/entity/PlmProjectPart.java +++ b/src/main/java/com/spring/modules/project/entity/PlmProjectPart.java @@ -90,6 +90,33 @@ public class PlmProjectPart extends QueryPage { //项目物料新增Bu 2024-09-25 private String buNo; private String buDesc; + private String baseNo; + private String revNo; + private String virtualPartNo; + + public String getVirtualPartNo() { + return virtualPartNo; + } + + public void setVirtualPartNo(String virtualPartNo) { + this.virtualPartNo = virtualPartNo; + } + + public String getBaseNo() { + return baseNo; + } + + public void setBaseNo(String baseNo) { + this.baseNo = baseNo; + } + + public String getRevNo() { + return revNo; + } + + public void setRevNo(String revNo) { + this.revNo = revNo; + } public BigDecimal getUnitPrice() { return unitPrice; diff --git a/src/main/resources/mapper/part/PartInformationMapper.xml b/src/main/resources/mapper/part/PartInformationMapper.xml index 3e05aa63..47e39997 100644 --- a/src/main/resources/mapper/part/PartInformationMapper.xml +++ b/src/main/resources/mapper/part/PartInformationMapper.xml @@ -2599,4 +2599,41 @@ show_in_query_flag = 'N' WHERE site = #{site} AND part_no = #{partNo} + + + + + insert into plm_project_part + (site, project_id, test_part_no, base_no, rev_no, part_no_source, bu_no, virtual_part_no, create_date, create_by) + values + + (#{item.site}, #{item.projectId}, #{item.partNo}, #{item.baseNo}, #{item.revNo}, #{item.partNoSource}, #{item.buNo}, #{item.virtualPartNo}, getDate(), #{item.createBy}) + + + + + + + insert into plm_customer_part_info + (site, customer_no, part_no, customer_part_no, create_date, create_by) + values + + (#{item.site}, #{item.customerNo}, #{item.partNo}, #{item.customerPartNo}, getDate(), #{item.createBy}) + +