工序设备字段新增

parent b5cc8179
...@@ -35,7 +35,7 @@ public class R<T> implements Serializable { ...@@ -35,7 +35,7 @@ public class R<T> implements Serializable {
@Getter @Getter
@Setter @Setter
@Schema(description = "接口返回时间,默认带有毫秒数值,用于数据排查问题") @Schema(description = "接口返回时间,默认带有毫秒数值,用于数据排查问题")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss SSS") @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime timestamp = LocalDateTime.now(); private LocalDateTime timestamp = LocalDateTime.now();
public static <T> R<T> ok() { public static <T> R<T> ok() {
......
...@@ -13,6 +13,7 @@ public class ProdEquipment implements Serializable { ...@@ -13,6 +13,7 @@ public class ProdEquipment implements Serializable {
private String sceneId; private String sceneId;
private Long equipId; private Long equipId;
private String equipCode; private String equipCode;
private String equipName;
private Long resourceId; private Long resourceId;
private String resourceCode; private String resourceCode;
private String execId; private String execId;
......
...@@ -142,5 +142,7 @@ public class Entry { ...@@ -142,5 +142,7 @@ public class Entry {
private double changeLineTime;//换模时间 private double changeLineTime;//换模时间
private BigDecimal setupTime; private BigDecimal setupTime;
private int constTime; private int constTime;
private String equipCode;//设备编码
private String equipName;//设备编码
} }
...@@ -19,4 +19,5 @@ public class MachineOption { ...@@ -19,4 +19,5 @@ public class MachineOption {
private int teardownTime; // 收尾时间(后处理时间) private int teardownTime; // 收尾时间(后处理时间)
private int contantTime; // 常数时间 private int contantTime; // 常数时间
private int preTime; // 前处理时间 private int preTime; // 前处理时间
private String equipName;
} }
\ No newline at end of file
...@@ -377,7 +377,8 @@ if(finishedOrder==null||finishedOrder.size()==0) ...@@ -377,7 +377,8 @@ if(finishedOrder==null||finishedOrder.size()==0)
.findFirst().orElse(null); .findFirst().orElse(null);
operation.setSelectMachineID(machine.getId()); operation.setSelectMachineID(machine.getId());
operation.setEquipCode(machine.getCode());
operation.setEquipName(machine.getName());
int teardownTime = machineOption.getTeardownTime(); int teardownTime = machineOption.getTeardownTime();
int preTime = machineOption.getPreTime(); int preTime = machineOption.getPreTime();
......
...@@ -72,7 +72,8 @@ public class MaterialRequirementService { ...@@ -72,7 +72,8 @@ public class MaterialRequirementService {
@Autowired @Autowired
RoutingDataService _routingDataService; RoutingDataService _routingDataService;
@Autowired
private EquipinfoService equipinfoService;
@Autowired @Autowired
private RoutingDiscreteParamService _routingDiscreteParamService; private RoutingDiscreteParamService _routingDiscreteParamService;
...@@ -328,8 +329,8 @@ if(routingIds.size()==0) ...@@ -328,8 +329,8 @@ if(routingIds.size()==0)
List<ProdProcessExec> processExecList = RoutingDetails.stream() List<ProdProcessExec> processExecList = RoutingDetails.stream()
.map(detail -> lanuchService.createProcessExec(prodOrderMain, detail, sceneId, finalRoutingDetailEquips)) .map(detail -> lanuchService.createProcessExec(prodOrderMain, detail, sceneId, finalRoutingDetailEquips))
.collect(Collectors.toList()); .collect(Collectors.toList());
List<Equipinfo> equipinfoList = equipinfoService.lambdaQuery().eq(Equipinfo::getIsdeleted, 0).list();
List<ProdEquipment> ProdEquipmentList= lanuchService.batchInsertEquipMent(routingDetailEquips, sceneId,processExecList,false); List<ProdEquipment> ProdEquipmentList= lanuchService.batchInsertEquipMent(routingDetailEquips, sceneId,processExecList,false,equipinfoList);
......
...@@ -258,6 +258,7 @@ public class RoutingDataService { ...@@ -258,6 +258,7 @@ public class RoutingDataService {
mo.setRuntime(e.getRuntime()); mo.setRuntime(e.getRuntime());
mo.setSingleOut(e.getSingleOut()); mo.setSingleOut(e.getSingleOut());
mo.setEquipCode(e.getEquipCode()); mo.setEquipCode(e.getEquipCode());
mo.setEquipName(e.getEquipName());
mo.setResourceCode(e.getResourceCode()); mo.setResourceCode(e.getResourceCode());
mo.setProcessingTime(e.getSpeed()); mo.setProcessingTime(e.getSpeed());
mo.setContantTime(op.getConstTime()); mo.setContantTime(op.getConstTime());
......
...@@ -44,7 +44,7 @@ public interface LanuchService { ...@@ -44,7 +44,7 @@ public interface LanuchService {
List<ProdEquipment> batchInsertEquipMent( List<ProdEquipment> batchInsertEquipMent(
List<RoutingDetailEquip> routingDetailEquips, List<RoutingDetailEquip> routingDetailEquips,
String sceneId,List<ProdProcessExec> processExecList,Boolean isSave); String sceneId,List<ProdProcessExec> processExecList,Boolean isSave,List<Equipinfo> equipinfo);
List<ProdOrderProcess> createProcessRelations(ProdLaunchOrder prodOrderMain, String sceneId, Map<String, String> routingDetailIdToExecIdMap); List<ProdOrderProcess> createProcessRelations(ProdLaunchOrder prodOrderMain, String sceneId, Map<String, String> routingDetailIdToExecIdMap);
......
...@@ -479,13 +479,13 @@ public class ChromosomeDataService { ...@@ -479,13 +479,13 @@ public class ChromosomeDataService {
List<?> pagedData = dataList.subList(fromIndex, toIndex); List<?> pagedData = dataList.subList(fromIndex, toIndex);
result.put("records", pagedData); result.put("records", pagedData);
result.put("total", total); result.put("totalCount", total);
result.put("current", page); result.put("pageIndex", page);
result.put("size", size); result.put("size", size);
} else { } else {
result.put("records", data); result.put("records", data);
result.put("total", 1); result.put("totalCount", 1);
result.put("current", 1); result.put("pageIndex", 1);
result.put("size", 1); result.put("size", 1);
} }
......
...@@ -91,8 +91,8 @@ public class DatabaseQueryService { ...@@ -91,8 +91,8 @@ public class DatabaseQueryService {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
result.put("records", records); result.put("records", records);
result.put("total", total != null ? total : 0); result.put("totalCount", total != null ? total : 0);
result.put("current", page); result.put("pageIndex", page);
result.put("size", size); result.put("size", size);
return result; return result;
......
...@@ -43,52 +43,54 @@ import static org.springframework.beans.BeanUtils.copyProperties; ...@@ -43,52 +43,54 @@ import static org.springframework.beans.BeanUtils.copyProperties;
public class LanuchServiceImpl implements LanuchService { public class LanuchServiceImpl implements LanuchService {
@Autowired @Autowired
ProdEquipSpecialCalService prodEquipSpecialCalService; private ProdEquipSpecialCalService prodEquipSpecialCalService;
@Autowired @Autowired
ApsOrderService apsOrderService; private ApsOrderService apsOrderService;
@Autowired @Autowired
RoutingHeaderService routingHeaderService; private RoutingHeaderService routingHeaderService;
@Autowired @Autowired
ProdLaunchOrderService prodLaunchOrderService; private ProdLaunchOrderService prodLaunchOrderService;
@Autowired @Autowired
RoutingDetailMapper routingDetailMapper; private RoutingDetailMapper routingDetailMapper;
@Autowired @Autowired
ProdProcessExecService prodProcessExecService; private ProdProcessExecService prodProcessExecService;
@Autowired @Autowired
RoutingDetailConnectService routingDetailConnectService; private RoutingDetailConnectService routingDetailConnectService;
@Autowired @Autowired
ProdOrderProcessService prodOrderProcessService; private ProdOrderProcessService prodOrderProcessService;
@Autowired @Autowired
RoutingHeaderMapper routingHeaderMapper; private RoutingHeaderMapper routingHeaderMapper;
@Autowired @Autowired
ProdSceneConfigService prodSceneConfigService; private ProdSceneConfigService prodSceneConfigService;
@Autowired @Autowired
ProdEquipmentService prodEquipmentService; private ProdEquipmentService prodEquipmentService;
@Autowired @Autowired
RoutingDetailEquipService routingDetailEquipService; private RoutingDetailEquipService routingDetailEquipService;
@Autowired @Autowired
SceneService sceneService; private SceneService sceneService;
@Autowired @Autowired
MesOrderService mesOrderService; private MesOrderService mesOrderService;
@Autowired @Autowired
DispatchService dispatchService; private DispatchService dispatchService;
@Autowired @Autowired
RoutingDiscreteParamService routingDiscreteParamService; private RoutingDiscreteParamService routingDiscreteParamService;
@Autowired @Autowired
MesScheduleService mesScheduleService; private MesScheduleService mesScheduleService;
@Autowired @Autowired
Equiptype1Service equiptype1Service; private Equiptype1Service equiptype1Service;
@Autowired @Autowired
PlanResourceService planResourceService; private PlanResourceService planResourceService;
@Autowired @Autowired
OrderMaterialRequirementService orderMaterialRequirementService; private OrderMaterialRequirementService orderMaterialRequirementService;
@Autowired
private EquipinfoService equipinfoService;
/** /**
* 生成场景数据 * 生成场景数据
* *
...@@ -660,7 +662,8 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -660,7 +662,8 @@ public class LanuchServiceImpl implements LanuchService {
.map(detail -> createProcessExec(prodOrderMain, detail, sceneId,routingDetailEquip)) .map(detail -> createProcessExec(prodOrderMain, detail, sceneId,routingDetailEquip))
.collect(Collectors.toList()); .collect(Collectors.toList());
batchInsertEquipMent(routingDetailEquip, sceneId,processExecList,true); List<Equipinfo> list = equipinfoService.lambdaQuery().eq(Equipinfo::getIsdeleted, 0).list();
batchInsertEquipMent(routingDetailEquip, sceneId,processExecList,true,list);
// 批量插入 // 批量插入
if (!CollectionUtils.isEmpty(processExecList)) { if (!CollectionUtils.isEmpty(processExecList)) {
...@@ -700,8 +703,14 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -700,8 +703,14 @@ public class LanuchServiceImpl implements LanuchService {
.findFirst() .findFirst()
.orElse(null); .orElse(null);
prodProcessExec.setMachineId(routingDetailEquip1.getType1()); if (routingDetailEquip1 != null) {
prodProcessExec.setMachineId(routingDetailEquip1.getType1());
}else {
prodProcessExec.setMachineId(detail.getEquipTypeId());
}
prodProcessExec.setRuntime(detail.getRuntime()); prodProcessExec.setRuntime(detail.getRuntime());
...@@ -963,11 +972,11 @@ if (connection.getDestoperationid() !=null && connection.getSourceoperationid() ...@@ -963,11 +972,11 @@ if (connection.getDestoperationid() !=null && connection.getSourceoperationid()
*/ */
public List<ProdEquipment> batchInsertEquipMent( public List<ProdEquipment> batchInsertEquipMent(
List<RoutingDetailEquip> routingDetailEquips, List<RoutingDetailEquip> routingDetailEquips,
String sceneId,List<ProdProcessExec> processExecList,Boolean isSave) { String sceneId,List<ProdProcessExec> processExecList,Boolean isSave,List<Equipinfo> equipinfo) {
if (CollectionUtils.isEmpty(routingDetailEquips)) { // if (CollectionUtils.isEmpty(routingDetailEquips)) {
log.warn("工艺设备列表为空,跳过设备对照表生成"); // log.warn("工艺设备列表为空,跳过设备对照表生成");
return null; // return null;
} // }
List<Equiptype1> equipTypes = equiptype1Service.lambdaQuery().eq(Equiptype1::getIsdeleted, 0).list(); List<Equiptype1> equipTypes = equiptype1Service.lambdaQuery().eq(Equiptype1::getIsdeleted, 0).list();
List<PlanResource> list = planResourceService.lambdaQuery() List<PlanResource> list = planResourceService.lambdaQuery()
...@@ -977,67 +986,78 @@ if (connection.getDestoperationid() !=null && connection.getSourceoperationid() ...@@ -977,67 +986,78 @@ if (connection.getDestoperationid() !=null && connection.getSourceoperationid()
// 创建ProdEquipment列表 // 创建ProdEquipment列表
List<ProdEquipment> prodEquipments = new java.util.ArrayList<>(); List<ProdEquipment> prodEquipments = new java.util.ArrayList<>();
// 遍历RoutingDetailEquip列表,转换为ProdEquipment对象
for (RoutingDetailEquip routingDetailEquip : routingDetailEquips) {
ProdEquipment prodEquipment = new ProdEquipment();
prodEquipment.setSceneId(sceneId);
prodEquipment.setEquipId(routingDetailEquip.getEquipId().longValue());
String code = list.stream().filter(equip -> equip.getId().equals(routingDetailEquip.getEquipId().intValue())).findFirst().map(PlanResource::getReferenceCode).orElse(null); if (routingDetailEquips != null && routingDetailEquips.size() > 0) {
prodEquipment.setEquipCode(code); // 遍历RoutingDetailEquip列表,转换为ProdEquipment对象
for (RoutingDetailEquip routingDetailEquip : routingDetailEquips) {
ProdEquipment prodEquipment = new ProdEquipment();
prodEquipment.setSceneId(sceneId);
prodEquipment.setEquipId(routingDetailEquip.getEquipId().longValue());
prodEquipment.setResourceId(routingDetailEquip.getType1()); Integer i = list.stream().filter(equip -> equip.getId().equals(routingDetailEquip.getEquipId().intValue())).findFirst().map(PlanResource::getReferenceId).orElse(null);
Equiptype1 equiptype1 = equipTypes.stream().filter(equip -> equip.getId().equals(routingDetailEquip.getType1())) Equipinfo equipinfo1 = equipinfo.stream().filter(equip -> equip.getId().equals(i)).findFirst().orElse(null);
.findFirst()
.orElse(null);
prodEquipment.setEquipCode(equipinfo1.getEquipId());
prodEquipment.setEquipName(equipinfo1.getEquipName());
if (equiptype1 != null){ prodEquipment.setResourceId(routingDetailEquip.getType1());
prodEquipment.setResourceCode(equiptype1.getEquipTypeId());
} Equiptype1 equiptype1 = equipTypes.stream().filter(equip -> equip.getId().equals(routingDetailEquip.getType1()))
prodEquipment.setEfficiencyValue(routingDetailEquip.getEfficiencyValue()); .findFirst()
prodEquipment.setSetupTime(routingDetailEquip.getSetupTime()); .orElse(null);
prodEquipment.setId(String.valueOf(SnowFlackIdWorker.getId()));
prodEquipment.setRuntime(routingDetailEquip.getDuration());
prodEquipment.setSingleOut(routingDetailEquip.getOutputQuantity()); if (equiptype1 != null) {
prodEquipment.setResourceCode(equiptype1.getEquipTypeId());
}
prodEquipment.setSpeed( prodEquipment.setEfficiencyValue(routingDetailEquip.getEfficiencyValue());
Optional.ofNullable(routingDetailEquip.getDuration()) prodEquipment.setSetupTime(routingDetailEquip.getSetupTime());
.filter(out -> routingDetailEquip.getOutputQuantity() != null) prodEquipment.setId(String.valueOf(SnowFlackIdWorker.getId()));
.filter(out -> routingDetailEquip.getOutputQuantity().compareTo(BigDecimal.ZERO) != 0) prodEquipment.setRuntime(routingDetailEquip.getDuration());
.map(out -> out.divide(routingDetailEquip.getOutputQuantity(), 6, RoundingMode.HALF_UP)) prodEquipment.setSingleOut(routingDetailEquip.getOutputQuantity());
.map(BigDecimal::doubleValue) // 关键转换
.orElse(0.0)
); prodEquipment.setSpeed(
Optional.ofNullable(routingDetailEquip.getDuration())
String execId = processExecList.stream() .filter(out -> routingDetailEquip.getOutputQuantity() != null)
.filter(exec -> { .filter(out -> routingDetailEquip.getOutputQuantity().compareTo(BigDecimal.ZERO) != 0)
Long execRoutingDetailId = exec.getRoutingDetailId(); .map(out -> out.divide(routingDetailEquip.getOutputQuantity(), 6, RoundingMode.HALF_UP))
Long equipRoutingDetailId = routingDetailEquip.getRoutingDetailId(); .map(BigDecimal::doubleValue) // 关键转换
.orElse(0.0)
// 处理null值 );
if (execRoutingDetailId == null || equipRoutingDetailId == null) {
return false; String execId = processExecList.stream()
} .filter(exec -> {
Long execRoutingDetailId = exec.getRoutingDetailId();
// 使用equals比较 Long equipRoutingDetailId = routingDetailEquip.getRoutingDetailId();
return execRoutingDetailId.equals(equipRoutingDetailId);
}) // 处理null值
.findFirst() if (execRoutingDetailId == null || equipRoutingDetailId == null) {
.map(ProdProcessExec::getExecId) return false;
.orElse(null); }
if (execId != null) {
prodEquipment.setExecId(execId); // 使用equals比较
} else { return execRoutingDetailId.equals(equipRoutingDetailId);
log.warn("未找到routingDetailId={}对应的execId", routingDetailEquip.getRoutingDetailId()); })
.findFirst()
.map(ProdProcessExec::getExecId)
.orElse(null);
if (execId != null) {
prodEquipment.setExecId(execId);
} else {
log.warn("未找到routingDetailId={}对应的execId", routingDetailEquip.getRoutingDetailId());
}
prodEquipments.add(prodEquipment);
} }
}else {
prodEquipments.add(prodEquipment);
}
}
// 批量保存 // 批量保存
if (!prodEquipments.isEmpty()&&isSave) { if (!prodEquipments.isEmpty()&&isSave) {
prodEquipmentService.saveBatch(prodEquipments); prodEquipmentService.saveBatch(prodEquipments);
...@@ -1060,10 +1080,10 @@ if (connection.getDestoperationid() !=null && connection.getSourceoperationid() ...@@ -1060,10 +1080,10 @@ if (connection.getDestoperationid() !=null && connection.getSourceoperationid()
.eq(RoutingDetailEquip::getIsdeleted, 0) .eq(RoutingDetailEquip::getIsdeleted, 0)
.list();// 添加 is_deleted=0 过滤条件 .list();// 添加 is_deleted=0 过滤条件
if (CollectionUtils.isEmpty(detailEquips)) { // if (CollectionUtils.isEmpty(detailEquips)) {
log.error("工艺下无设备信息: {}", routingHeaderId); // log.error("工艺下无设备信息: {}", routingHeaderId);
throw new RuntimeException("工艺下无设备信息: " + routingCode); // throw new RuntimeException("工艺下无设备信息: " + routingCode);
} // }
return detailEquips; return detailEquips;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment