|
|
|
@ -686,13 +686,50 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<RoutingComponentVo> getStandardOperations(RoutingHeaderVo data) { |
|
|
|
//List<RoutingComponentVo> operations = new ArrayList<>(); |
|
|
|
|
|
|
|
// 获得物料的商品组1 |
|
|
|
PartInformationEntity part = partInformationMapper.selectOne(new QueryWrapper<PartInformationEntity>().eq("site", data.getSite()).eq("sourceBu", data.getBuNo()).eq("part_no", data.getPartNo())); |
|
|
|
|
|
|
|
// 根据商品组1查标准工序 |
|
|
|
List<RoutingComponentVo> operations = routingManagementMapper.getStandardRoutingOperationByProductGroupId(data.getSite(), data.getBuNo(), part.getProductGroupId1()); |
|
|
|
return operations; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 新增工序 |
|
|
|
* @param data |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public List<RoutingComponentVo> saveStandardOperation(RoutingComponentVo data) { |
|
|
|
if (!data.getInformationList().isEmpty()) { |
|
|
|
// 删除旧工序 |
|
|
|
//routingManagementMapper.deleteRoutingComponent(data.getSite(), data.getBuNo(), data.getPartNo(), data.getRoutingType(), data.getRoutingRevision(), data.getAlternativeNo()); |
|
|
|
// 增加标准工序 |
|
|
|
for (RoutingComponentEntity componentEntity : data.getInformationList()) { |
|
|
|
componentEntity.setPartNo(data.getPartNo()); |
|
|
|
componentEntity.setRoutingType(data.getRoutingType()); |
|
|
|
componentEntity.setRoutingRevision(data.getRoutingRevision()); |
|
|
|
componentEntity.setAlternativeNo(data.getAlternativeNo()); |
|
|
|
routingManagementMapper.saveRoutingComponent(componentEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
// 查询routing子明细列表 |
|
|
|
RoutingDetailEntity routingDetail = new RoutingDetailEntity(); |
|
|
|
BeanUtils.copyProperties(data, routingDetail); |
|
|
|
List<RoutingComponentVo> list = routingManagementMapper.queryRoutingComponent(routingDetail); |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 计算工时 |
|
|
|
* @param data |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<RoutingComponentVo> calculationTime(RoutingHeaderVo data) { |
|
|
|
// 根据商品组1查标准工序 |
|
|
|
List<RoutingComponentVo> operations = data.getOperationList(); |
|
|
|
|
|
|
|
// 获得物料维护的属性 |
|
|
|
PartSubPropertiesValueData valueData = new PartSubPropertiesValueData(); |
|
|
|
@ -704,6 +741,9 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM |
|
|
|
|
|
|
|
if (!operations.isEmpty()) { |
|
|
|
for (RoutingComponentVo operation : operations) { |
|
|
|
if (!"Y".equals(operation.getFlag())) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
// 获取各个值 |
|
|
|
int scale = 6; // 保留的小数位数 |
|
|
|
int scale2 = 10; // 保留的小数位数 |
|
|
|
@ -730,7 +770,7 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM |
|
|
|
machCycleTime = intermediateResult.divide(numValue, scale, RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
} else if ("RFID绑定-TAL".equals(operation.getOperationName()) || "RFID绑定-Paris".equals(operation.getOperationName()) |
|
|
|
|| "Encoding(编码)".equals(operation.getOperationName()) || "CLS编码打印".equals(operation.getOperationName()) || operation.getOperationName().contains("后道检品")) { |
|
|
|
|| "Encoding(编码)".equals(operation.getOperationName()) || "CLS编码打印".equals(operation.getOperationName()) || operation.getOperationName().contains("后道检品")) { |
|
|
|
// 1 / (UPH x 效率) x 1000, UPH-TAL、UPH-Paris、Converting-UPH(1,2,3) |
|
|
|
List<PartSubPropertiesValueData> collect = new ArrayList<>(); |
|
|
|
if ("RFID绑定-TAL".equals(operation.getOperationName())) { |
|
|
|
@ -794,79 +834,7 @@ public class RoutingManagementServiceImpl extends ServiceImpl<RoutingManagementM |
|
|
|
operation.setLaborRunFactor(BigDecimal.ONE.divide(machCycleTime, 4, RoundingMode.HALF_UP)); // 人工单位产出 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// // 获取的商品组的condition |
|
|
|
// List<PgPtmConditionEntity> conditionList = routingManagementMapper.getPtmCondition(data.getSite(), data.getBuNo(), part.getProductGroupId1()); |
|
|
|
// for (PgPtmConditionEntity conditionData : conditionList) { |
|
|
|
// // 查维护的属性集 |
|
|
|
// List<PtmConditionItemEntity> conditionItems = routingManagementMapper.getConditionItemList(data.getSite(), data.getBuNo(), conditionData.getConditionId()); |
|
|
|
// // 如果属性集合大小不等则直接跳过 |
|
|
|
// if (partItems.size() != conditionItems.size()) { |
|
|
|
// continue; |
|
|
|
// } |
|
|
|
// // 比较属性编码和属性值是否一致 |
|
|
|
// boolean b = partItems.stream().allMatch( |
|
|
|
// partItem -> conditionItems.stream().anyMatch( |
|
|
|
// conditionItem -> |
|
|
|
// Objects.equals(partItem.getPropertiesItemNo(), conditionItem.getItemNo()) && |
|
|
|
// Objects.equals(partItem.getTextValue(), conditionItem.getTextValue()) && |
|
|
|
// Objects.equals(partItem.getNumValue(), conditionItem.getNumValue()) |
|
|
|
// ) |
|
|
|
// ); |
|
|
|
// if (b) { |
|
|
|
// // 获取该condition下维护的工序 |
|
|
|
// List<RoutingComponentVo> conditionOperations = routingManagementMapper.getConditionOperationsInfo(conditionData.getConditionId()); |
|
|
|
// |
|
|
|
// // 创建一个映射,键为 operationNo,值为对应的 RoutingComponentVo 对象 |
|
|
|
// Map<Integer, RoutingComponentVo> 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()); |
|
|
|
// operation.setConditionDesc(conditionData.getConditionDesc()); |
|
|
|
// } |
|
|
|
// } |
|
|
|
// break; |
|
|
|
// } |
|
|
|
// } |
|
|
|
return operations; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 新增工序 |
|
|
|
* @param data |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public List<RoutingComponentVo> saveStandardOperation(RoutingComponentVo data) { |
|
|
|
if (!data.getInformationList().isEmpty()) { |
|
|
|
// 删除旧工序 |
|
|
|
//routingManagementMapper.deleteRoutingComponent(data.getSite(), data.getBuNo(), data.getPartNo(), data.getRoutingType(), data.getRoutingRevision(), data.getAlternativeNo()); |
|
|
|
// 增加标准工序 |
|
|
|
for (RoutingComponentEntity componentEntity : data.getInformationList()) { |
|
|
|
componentEntity.setPartNo(data.getPartNo()); |
|
|
|
componentEntity.setRoutingType(data.getRoutingType()); |
|
|
|
componentEntity.setRoutingRevision(data.getRoutingRevision()); |
|
|
|
componentEntity.setAlternativeNo(data.getAlternativeNo()); |
|
|
|
routingManagementMapper.saveRoutingComponent(componentEntity); |
|
|
|
} |
|
|
|
} |
|
|
|
// 查询routing子明细列表 |
|
|
|
RoutingDetailEntity routingDetail = new RoutingDetailEntity(); |
|
|
|
BeanUtils.copyProperties(data, routingDetail); |
|
|
|
List<RoutingComponentVo> list = routingManagementMapper.queryRoutingComponent(routingDetail); |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
} |