Browse Source

2025-06-27

Copy part功能(Inventory Part编辑中的Copy Part功能)
    1、Copy后根据原料号的项目+BU
    2、Copy后的料号插入到项目料号中(如果没有项目则不处理
master
fengyuan_yang 7 months ago
parent
commit
7e30b9f0d3
  1. 8
      src/main/java/com/spring/modules/part/mapper/PartInformationMapper.java
  2. 44
      src/main/java/com/spring/modules/part/service/impl/PartInformationServiceImpl.java
  3. 27
      src/main/java/com/spring/modules/project/entity/PlmProjectPart.java
  4. 37
      src/main/resources/mapper/part/PartInformationMapper.xml

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

@ -336,4 +336,12 @@ public interface PartInformationMapper extends BaseMapper<PartInformationEntity>
IPage<PartInformationVo> partInformationSearchAny(Page<PartInformationVo> partInformationVoPage, @Param("query") Map<String, String> params);
IPage<PartInformationVo> partAllInfoSearchAny(Page<PartInformationVo> partInformationVoPage, @Param("query") Map<String, String> params);
List<PartInformationVo> getProjectPartByPartNo(@Param("site") String site, @Param("partNo") String partNo);
void batchSaveProjectPart(List<PartInformationVo> projectPartList);
List<PartInformationVo> getProjectCustomerPartByPartNo(@Param("site") String site, @Param("partNo") String partNo);
void batchSaveCustomerPart(List<PartInformationVo> customerPartList);
}

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

@ -1964,6 +1964,50 @@ public class PartInformationServiceImpl extends ServiceImpl<PartInformationMappe
routingManagementMapper.updateIfsToolRowKeyAndRevision2(ifsTool);
}
}
// 2025-06-27Inventory Part编辑中的Copy Part功能
// Copy后根据原料号的项目+BUBU放出来默认原料号的BU
// Copy后的料号插入到项目料号中如果没有项目则不处理
if (!"Y".equals(inData.getCopyFlag())) { // 不是转正页面
// 校验原物料有没有项目
List<PartInformationVo> 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<PartInformationVo> 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<PartInformationVo> projectCustomers = partInformationMapper.getProjectCustomerPartByPartNo(inData.getSite(), fromPart.getPartNo());
if (!projectCustomers.isEmpty()) {
List<PartInformationVo> 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) {

27
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;

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

@ -2599,4 +2599,41 @@
show_in_query_flag = 'N'
WHERE site = #{site} AND part_no = #{partNo}
</update>
<select id="getProjectPartByPartNo" resultType="com.spring.modules.part.vo.PartInformationVo">
SELECT
site,
project_id,
test_part_no as partNo,
bu_no
FROM plm_project_part
WHERE site = #{site} and test_part_no = #{partNo}
</select>
<insert id="batchSaveProjectPart">
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
<foreach collection="list" item="item" index="index" separator=",">
(#{item.site}, #{item.projectId}, #{item.partNo}, #{item.baseNo}, #{item.revNo}, #{item.partNoSource}, #{item.buNo}, #{item.virtualPartNo}, getDate(), #{item.createBy})
</foreach>
</insert>
<select id="getProjectCustomerPartByPartNo" resultType="com.spring.modules.part.vo.PartInformationVo">
select
site,
customer_no,
customer_part_no
from plm_customer_part_info
where site = #{site} and part_no = #{partNo}
</select>
<insert id="batchSaveCustomerPart">
insert into plm_customer_part_info
(site, customer_no, part_no, customer_part_no, create_date, create_by)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.site}, #{item.customerNo}, #{item.partNo}, #{item.customerPartNo}, getDate(), #{item.createBy})
</foreach>
</insert>
</mapper>
Loading…
Cancel
Save