From 7e30b9f0d3b97d9405d1873e40bd0cf7005a68ac Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Fri, 27 Jun 2025 16:19:15 +0800 Subject: [PATCH] =?UTF-8?q?2025-06-27=20Copy=20part=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=88Inventory=20Part=E7=BC=96=E8=BE=91=E4=B8=AD=E7=9A=84Co?= =?UTF-8?q?py=20Part=E5=8A=9F=E8=83=BD=EF=BC=89=20=20=20=20=201=E3=80=81Co?= =?UTF-8?q?py=E5=90=8E=E6=A0=B9=E6=8D=AE=E5=8E=9F=E6=96=99=E5=8F=B7?= =?UTF-8?q?=E7=9A=84=E9=A1=B9=E7=9B=AE+BU=20=20=20=20=202=E3=80=81Copy?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E6=96=99=E5=8F=B7=E6=8F=92=E5=85=A5=E5=88=B0?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=96=99=E5=8F=B7=E4=B8=AD=EF=BC=88=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E6=B2=A1=E6=9C=89=E9=A1=B9=E7=9B=AE=E5=88=99=E4=B8=8D?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../part/mapper/PartInformationMapper.java | 8 ++++ .../impl/PartInformationServiceImpl.java | 44 +++++++++++++++++++ .../project/entity/PlmProjectPart.java | 27 ++++++++++++ .../mapper/part/PartInformationMapper.xml | 37 ++++++++++++++++ 4 files changed, 116 insertions(+) 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}) + +