Browse Source

2024-10-08

RFQ 功能优化
java8
fengyuan_yang 2 years ago
parent
commit
a394b95759
  1. 2
      src/main/java/com/xujie/sys/modules/part/mapper/BomManagementMapper.java
  2. 2
      src/main/java/com/xujie/sys/modules/part/mapper/RoutingManagementMapper.java
  3. 9
      src/main/java/com/xujie/sys/modules/part/service/impl/BomManagementServiceImpl.java
  4. 19
      src/main/java/com/xujie/sys/modules/part/service/impl/RoutingManagementServiceImpl.java
  5. 24
      src/main/resources/mapper/part/BomManagementMapper.xml
  6. 6
      src/main/resources/mapper/part/RoutingManagementMapper.xml

2
src/main/java/com/xujie/sys/modules/part/mapper/BomManagementMapper.java

@ -82,4 +82,6 @@ public interface BomManagementMapper extends BaseMapper<BomHeaderEntity> {
void updateInDate(BomHeaderEntity bomHeaderVo);
IPage<BomAllFieldEntity> queryPartListAll(Page<ComponentPartData> componentPartDataPage, @Param("query") ComponentPartData data);
List<BomHeaderEntity> queryHeaderPhaseDate(BomHeaderEntity bomHeaderEntity);
}

2
src/main/java/com/xujie/sys/modules/part/mapper/RoutingManagementMapper.java

@ -77,7 +77,7 @@ public interface RoutingManagementMapper extends BaseMapper<RoutingHeaderEntity>
IPage<RoutingAllFieldEntity> queryPartListRouting(Page<PartInformationEntity> partInformationVoPage, @Param("query") PartInformationEntity data);
List<RoutingHeaderEntity> queryHeaderPhaseDate(RoutingHeaderVo data);
List<RoutingHeaderEntity> queryHeaderPhaseDate(RoutingHeaderEntity data);
void updateInDate(RoutingHeaderEntity routingHeaderVo);

9
src/main/java/com/xujie/sys/modules/part/service/impl/BomManagementServiceImpl.java

@ -274,6 +274,9 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B
}
// 校验物料类型
PartInformationEntity partInformationEntity = partInformationMapper.selectOne(new QueryWrapper<PartInformationEntity>().eq("site", data.getSite()).eq("sourceBu", data.getBuNo()).eq("part_no", data.getPartNo()));
if (partInformationEntity == null) {
throw new RuntimeException("查不到该物料信息,请确认工厂和BU!");
}
if ("Purchased (raw)".equals(partInformationEntity.getPartType())) {
throw new RuntimeException("物料类型为:" + partInformationEntity.getPartType() + " !");
}
@ -608,6 +611,12 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B
if (StringUtils.isNotBlank(data.getStatus()) && StringUtils.isNotBlank(checkList.get(0).getStatus())) { // 判断状态是否为null
if (data.getStatus().equals(checkList.get(0).getStatus())) { // 判断状态是否已改变
if ("Tentative".equals(checkList.get(0).getStatus()) || "Obsolete".equals(checkList.get(0).getStatus())) {
// 校验日期
BomHeaderEntity bomHeaderEntity = bomManagementMapper.selectOne(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("bu_no", data.getBuNo()).eq("part_no", data.getPartNo()).eq("eng_chg_level", data.getEngChgLevel()).eq("bom_type", data.getBomType()));
List<BomHeaderEntity> headerEntities = bomManagementMapper.queryHeaderPhaseDate(bomHeaderEntity);
if (!headerEntities.isEmpty() && headerEntities.size() > 1) {
throw new RuntimeException("日期冲突!");
}
data.setStatus("Buildable");
} else if ("Buildable".equals(checkList.get(0).getStatus())) {
data.setStatus("Obsolete");

19
src/main/java/com/xujie/sys/modules/part/service/impl/RoutingManagementServiceImpl.java

@ -300,6 +300,9 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM
}
// 校验物料类型
PartInformationEntity partInformationEntity = partInformationMapper.selectOne(new QueryWrapper<PartInformationEntity>().eq("site", data.getSite()).eq("sourceBu", data.getBuNo()).eq("part_no", data.getPartNo()));
if (partInformationEntity == null) {
throw new RuntimeException("查不到该物料信息,请确认工厂和BU!");
}
if ("Purchased (raw)".equals(partInformationEntity.getPartType()) || "Purchased".equals(partInformationEntity.getPartType())) {
throw new RuntimeException("物料类型为:" + partInformationEntity.getPartType() + " !");
}
@ -488,11 +491,11 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM
}
data.setRoutingRevision(routingRevision);
// 校验日期是否冲突
List<RoutingHeaderEntity> headerEntities = routingManagementMapper.queryHeaderPhaseDate(data);
if (!headerEntities.isEmpty()) {
throw new RuntimeException("日期冲突!");
}
// // 校验日期是否冲突
// List<RoutingHeaderEntity> headerEntities = routingManagementMapper.queryHeaderPhaseDate(data);
// if (!headerEntities.isEmpty()) {
// throw new RuntimeException("日期冲突!");
// }
// 1.3 新增routing主信息
routingManagementMapper.saveRoutingHeader(data);
@ -616,6 +619,12 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM
if (StringUtils.isNotBlank(data.getStatus()) && StringUtils.isNotBlank(checkList.get(0).getStatus())) { // 判断状态是否为null
if (data.getStatus().equals(checkList.get(0).getStatus())) { // 判断状态是否已改变
if ("Tentative".equals(checkList.get(0).getStatus()) || "Obsolete".equals(checkList.get(0).getStatus())) {
// 校验日期
RoutingHeaderEntity routingHeaderEntity = routingManagementMapper.selectOne(new QueryWrapper<RoutingHeaderEntity>().eq("site", data.getSite()).eq("bu_no", data.getBuNo()).eq("part_no", data.getPartNo()).eq("routing_revision", data.getRoutingRevision()).eq("routing_type", data.getRoutingType()));
List<RoutingHeaderEntity> headerEntities = routingManagementMapper.queryHeaderPhaseDate(routingHeaderEntity);
if (!headerEntities.isEmpty() && headerEntities.size() > 1) {
throw new RuntimeException("日期冲突!");
}
data.setStatus("Buildable");
} else if ("Buildable".equals(checkList.get(0).getStatus())) {
data.setStatus("Obsolete");

24
src/main/resources/mapper/part/BomManagementMapper.xml

@ -7,6 +7,7 @@
SELECT
a.site,
a.bu_no,
dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
a.part_no,
dbo.qc_get_part_desc(a.site, a.bu_no, a.part_no) as partDesc,
a.eng_chg_level,
@ -589,4 +590,27 @@
</if>
</where>
</select>
<!-- 校验日期是否冲突-->
<select id="queryHeaderPhaseDate" parameterType="BomHeaderEntity" resultType="BomHeaderEntity">
SELECT
site,
bu_no,
part_no,
eng_chg_level,
bom_type,
note_text,
eff_phase_in_date,
eff_phase_out_date
FROM plm_bom_header
<where>
site = #{site} and bu_no = #{buNo} and part_no = #{partNo} and bom_type = #{bomType}
<if test = "effPhaseInDate == null">
and eff_phase_in_date = #{effPhaseInDate}
</if>
<if test = "effPhaseOutDate != null">
and #{effPhaseInDate} >= eff_phase_in_date and eff_phase_out_date >= #{effPhaseOutDate}
</if>
</where>
</select>
</mapper>

6
src/main/resources/mapper/part/RoutingManagementMapper.xml

@ -7,6 +7,7 @@
SELECT
a.site,
a.bu_no,
dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
a.part_no,
dbo.qc_get_part_desc(a.site, a.bu_no, a.part_no) as partDesc,
a.routing_revision,
@ -536,6 +537,7 @@
<select id="queryHeaderPhaseDate" parameterType="RoutingHeaderEntity" resultType="RoutingHeaderEntity">
SELECT
site,
bu_no,
part_no,
routing_revision,
routing_type,
@ -544,9 +546,9 @@
phase_out_date
FROM plm_routing_header
<where>
site = #{site} and part_no = #{partNo} and routing_type = #{routingType}
site = #{site} and bu_no = #{buNo} and part_no = #{partNo} and routing_type = #{routingType}
<if test = "phaseOutDate == null">
and phase_in_date >= #{phaseInDate}
and phase_in_date = #{phaseInDate}
</if>
<if test = "phaseOutDate != null">
and #{phaseInDate} >= phase_in_date and phase_out_date >= #{phaseOutDate}

Loading…
Cancel
Save