From 706d57aa682845cf1bc01cbfd1087c4c0f33093f Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 12 十一月 2024 09:46:48 +0800 Subject: [PATCH] 优化 --- jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java | 77 ++++++++++++++++++++++++++++++++------ 1 files changed, 65 insertions(+), 12 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java index b93706a..62b6e26 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java @@ -1,5 +1,7 @@ package com.jcdm.main.bs.formulaChild.controller; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; @@ -8,6 +10,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jcdm.main.constant.Constants; +import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo; +import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.service.MiloService; import org.springframework.security.access.prepost.PreAuthorize; @@ -43,7 +47,36 @@ private IBsFormulaChildInfoService bsFormulaChildInfoService; @Autowired + private IOmProductionOrdeInfoService omProductionOrdeInfoService; + + @Autowired private MiloService miloService; + + /** + * 杩斾慨淇℃伅鍐欏叆plc + */ + @GetMapping("/writeRepairInformationIntoPlc") + public AjaxResult writeRepairInformationIntoPlc(BsFormulaChildInfo bsFormulaChildInfo) + { + String thoroughfare = Constants.thoroughfareMap.get(bsFormulaChildInfo.getProcessesCode());//鑾峰彇閫氶亾 + try { + String prefix = thoroughfare+".OP165."; + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(prefix+"RepairSN").value(bsFormulaChildInfo.getSfcCode()).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(prefix+"RepairWorknum").value(bsFormulaChildInfo.getWorkOrderNo()).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(prefix+"Repairstation").value(bsFormulaChildInfo.getProcessesCode()).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(prefix+"RepairLastar").value(bsFormulaChildInfo.getEngravingStatus()).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(prefix+"RepairFlag").value(1).build()); + + } catch (Exception e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); + } + + public static void main(String[] args) { + String str = "TZ180XSDSZX012409120000001"; + System.out.println(str.length()); + } /** * 鏈仛瀹屽伐搴忓洖澶峱lc淇″彿 @@ -51,9 +84,11 @@ @GetMapping("/unfinishedProcess") public AjaxResult unfinishedProcess(BsFormulaChildInfo bsFormulaChildInfo) { + String thoroughfare = Constants.thoroughfareMap.get(bsFormulaChildInfo.getProcessesCode());//鑾峰彇閫氶亾 try { - String str = "MOZU1."+bsFormulaChildInfo.getProcessesCode()+".RecordDataDone"; - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(bsFormulaChildInfo.getRecordDataDone()).build()); +// String str = "MOZU1."+bsFormulaChildInfo.getProcessesCode()+".RecordDataDone"; +// miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(bsFormulaChildInfo.getRecordDataDone()).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare+"."+bsFormulaChildInfo.getProcessesCode()+".RecordDataDone").value(bsFormulaChildInfo.getRecordDataDone()).build()); } catch (Exception e) { throw new RuntimeException(e); } @@ -68,7 +103,8 @@ { String productNum = ""; try { - String str = "MOZU1."+bsFormulaChildInfo.getLocationCode()+".ModuleCode"; + String thoroughfare = Constants.thoroughfareMap.get(bsFormulaChildInfo.getLocationCode()); + String str = thoroughfare+"."+bsFormulaChildInfo.getLocationCode()+".SNCode"; Object productNumObject = miloService.readFromOpcUa(str).getValue(); if(ObjectUtil.isNotNull(productNumObject)){ productNum = productNumObject.toString(); @@ -93,16 +129,33 @@ // } Integer stepNumber = 1; try { - List<BsFormulaChildInfo> op260 = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getProcessesCode())); - List<BsFormulaChildInfo> filteredList = op260.stream() - .filter(obj -> obj.getResults() != null && !obj.getResults().isEmpty()) - .collect(Collectors.toList()); - if(filteredList.size() > 0){ - stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort())+1; +// List<BsFormulaChildInfo> op260 = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() +// .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getProcessesCode()) +// .eq(BsFormulaChildInfo::getOperationType, "1") +// ); +// List<BsFormulaChildInfo> filteredList = op260.stream() +// .filter(obj -> obj.getResults() != null && !obj.getResults().isEmpty()) +// .collect(Collectors.toList()); +// if(filteredList.size() > 0){ +// stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort())+1; +// } + + String thoroughfare = Constants.thoroughfareMap.get(bsFormulaChildInfo.getProcessesCode());//鑾峰彇閫氶亾 + String str = thoroughfare+"."+bsFormulaChildInfo.getProcessesCode()+".MESScrew"; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(stepNumber).build());//鎷х揣姝ラ + if("OP230".equals(bsFormulaChildInfo.getProcessesCode())){ + List<OmProductionOrdeInfo> list = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().like(OmProductionOrdeInfo::getProductNum, bsFormulaChildInfo.getSfcBarcode())); + String sfcCode = list.get(0).getProductNum(); + //鎵�鏈夎繘绔欏皢杩涚珯鏃堕棿鍐欑粰PLC + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String currentDate = dateFormat.format(new Date()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + bsFormulaChildInfo.getProcessesCode() + ".StartTime").value(currentDate).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + bsFormulaChildInfo.getProcessesCode() + ".SNCode").value(sfcCode).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + bsFormulaChildInfo.getProcessesCode() + ".RecordDataDone").value(11).build()); + }else if("OP220".equals(bsFormulaChildInfo.getProcessesCode())){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + bsFormulaChildInfo.getProcessesCode() + ".RecordDataDone").value(11).build()); } - String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".MStepNumber"; - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(stepNumber).build()); } catch (Exception e) { throw new RuntimeException(e); } @@ -119,7 +172,7 @@ List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode()) .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode()) - .orderByAsc(BsFormulaChildInfo::getStepSort) +// .orderByAsc(BsFormulaChildInfo::getStepSort) ); if (CollUtil.isNotEmpty(list)){ List<BsFormulaChildInfo> collect1 = list.stream().filter(x -> Constants.OK.equals(x.getResults())).collect(Collectors.toList()); -- Gitblit v1.9.3