diff --git a/src/main/java/com/xujie/sys/modules/part/mapper/RoutingManagementMapper.java b/src/main/java/com/xujie/sys/modules/part/mapper/RoutingManagementMapper.java index fed2a522..996415cd 100644 --- a/src/main/java/com/xujie/sys/modules/part/mapper/RoutingManagementMapper.java +++ b/src/main/java/com/xujie/sys/modules/part/mapper/RoutingManagementMapper.java @@ -85,5 +85,7 @@ public interface RoutingManagementMapper extends BaseMapper List getConditionItemList(@Param("site") String site, @Param("buNo") String buNo, @Param("conditionId") Integer conditionId); - List getConditionOperationsInfo(@Param("site") String site, @Param("buNo") String buNo, @Param("conditionId") Integer conditionId); + List getConditionOperationsInfo(@Param("conditionId") Integer conditionId); + + List getStandardRoutingOperationByProductGroupId(@Param("site") String site, @Param("buNo") String buNo, @Param("productGroupId") String otherGroup1); } diff --git a/src/main/java/com/xujie/sys/modules/part/service/impl/RoutingManagementServiceImpl.java b/src/main/java/com/xujie/sys/modules/part/service/impl/RoutingManagementServiceImpl.java index 6db0a41f..bc339974 100644 --- a/src/main/java/com/xujie/sys/modules/part/service/impl/RoutingManagementServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/part/service/impl/RoutingManagementServiceImpl.java @@ -19,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; @Service public class RoutingManagementServiceImpl extends ServiceImpl implements RoutingManagementService { @@ -651,11 +652,14 @@ public class RoutingManagementServiceImpl extends ServiceImpl getStandardOperations(RoutingHeaderVo data) { - List operations = new ArrayList<>(); + //List operations = new ArrayList<>(); // 获得物料的商品组1 PartInformationEntity part = partInformationMapper.selectOne(new QueryWrapper().eq("site", data.getSite()).eq("sourceBu", data.getBuNo()).eq("part_no", data.getPartNo())); + // 根据商品组1查标准工序 + List operations = routingManagementMapper.getStandardRoutingOperationByProductGroupId(data.getSite(), data.getBuNo(), part.getOtherGroup1()); + // 获得物料维护的属性 PartSubPropertiesValueData valueData = new PartSubPropertiesValueData(); valueData.setSite(data.getSite()); @@ -664,6 +668,7 @@ public class RoutingManagementServiceImpl extends ServiceImpl partItems = partInformationMapper.getItemModal(valueData); + // 获取的商品组的condition List conditionList = routingManagementMapper.getPtmCondition(data.getSite(), data.getBuNo(), part.getOtherGroup1()); for (PgPtmConditionEntity conditionData : conditionList) { @@ -677,14 +682,33 @@ public class RoutingManagementServiceImpl extends ServiceImpl conditionItems.stream().anyMatch( conditionItem -> - Objects.equals(partItem.getItemNo(), conditionItem.getItemNo()) && + Objects.equals(partItem.getPropertiesItemNo(), conditionItem.getItemNo()) && Objects.equals(partItem.getTextValue(), conditionItem.getTextValue()) && Objects.equals(partItem.getNumValue(), conditionItem.getNumValue()) ) ); if (b) { // 获取该condition下维护的工序 - operations = routingManagementMapper.getConditionOperationsInfo(data.getSite(), data.getBuNo(), conditionData.getConditionId()); + List conditionOperations = routingManagementMapper.getConditionOperationsInfo(conditionData.getConditionId()); + + // 创建一个映射,键为 operationNo,值为对应的 RoutingComponentVo 对象 + Map conditionOperationsMap = conditionOperations.stream() + .collect(Collectors.toMap(RoutingComponentVo::getOperationNo, vo -> vo)); + + // 赋值 labor_run_factor mach_run_factor labor_cycle_time mach_cycle_time + for (RoutingComponentVo operation : operations) { + // 检查 conditionOperationsMap 中是否存在相同的 operationNo + if (conditionOperationsMap.containsKey(operation.getOperationNo())) { + // 获取 conditionOperations 中具有相同 operationNo 的 RoutingComponentVo 对象 + RoutingComponentVo conditionOperation = conditionOperationsMap.get(operation.getOperationNo()); + + // 更新 operations 中的对象属性 + operation.setMachRunFactor(conditionOperation.getMachRunFactor()); + operation.setLaborRunFactor(conditionOperation.getLaborRunFactor()); + operation.setMachCycleTime(conditionOperation.getMachCycleTime()); + operation.setLaborCycleTime(conditionOperation.getLaborCycleTime()); + } + } break; } } diff --git a/src/main/resources/mapper/part/PartInformationMapper.xml b/src/main/resources/mapper/part/PartInformationMapper.xml index 7e51c184..1150eb62 100644 --- a/src/main/resources/mapper/part/PartInformationMapper.xml +++ b/src/main/resources/mapper/part/PartInformationMapper.xml @@ -48,7 +48,8 @@ product_rev, invtype, code_no, - sourceBu, + dbo.get_code_desc(site, sourceBu, code_no, 'IP') as codeDesc + code_no, dbo.get_bu_desc(site, sourceBu) as buDesc FROM part diff --git a/src/main/resources/mapper/part/RoutingManagementMapper.xml b/src/main/resources/mapper/part/RoutingManagementMapper.xml index 9cbbcf46..7f614307 100644 --- a/src/main/resources/mapper/part/RoutingManagementMapper.xml +++ b/src/main/resources/mapper/part/RoutingManagementMapper.xml @@ -555,6 +555,29 @@ where site = #{site} and part_no = #{partNo} and routing_revision = #{routingRevision} and routing_type = #{routingType} + + + + + + + + +