From 3f23422c13226ce37150afed0b4d8d0309da45d3 Mon Sep 17 00:00:00 2001 From: hdy <1105738590@qq.com> Date: 星期二, 25 三月 2025 19:24:40 +0800 Subject: [PATCH] 修改 --- billion-main/src/main/java/com/billion/main/da/service/impl/DaMaterialCollectionServiceImpl.java | 67 +++++++ billion-ui/vue.config.js | 2 billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml | 2 billion-main/src/main/java/com/billion/main/da/domain/CollectQualityData.java | 22 ++ billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java | 77 +++++++ billion-main/src/main/java/com/billion/main/da/domain/DaMaterialCollection.java | 8 billion-main/src/main/java/com/billion/main/constant/Constants.java | 3 billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java | 155 +++++++++++++++- billion-main/src/main/resources/mapper/da/DaMaterialCollectionMapper.xml | 12 + billion-ui/src/utils/request.js | 2 billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java | 43 ++-- /dev/null | 14 - billion-main/src/main/java/com/billion/main/da/domain/CollectMT.java | 28 +++ billion-main/src/main/java/com/billion/main/da/domain/CollectTrack.java | 15 + billion-main/pom.xml | 6 billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml | 3 billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java | 45 ++++ billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java | 4 billion-admin/src/main/resources/banner.txt | 22 -- 19 files changed, 443 insertions(+), 87 deletions(-) diff --git a/billion-admin/src/main/resources/banner.txt b/billion-admin/src/main/resources/banner.txt index 0931cb8..c0e09cd 100644 --- a/billion-admin/src/main/resources/banner.txt +++ b/billion-admin/src/main/resources/banner.txt @@ -1,24 +1,2 @@ Application Version: ${ruoyi.version} Spring Boot Version: ${spring-boot.version} -//////////////////////////////////////////////////////////////////// -// _ooOoo_ // -// o8888888o // -// 88" . "88 // -// (| ^_^ |) // -// O\ = /O // -// ____/`---'\____ // -// .' \\| |// `. // -// / \\||| : |||// \ // -// / _||||| -:- |||||- \ // -// | | \\\ - /// | | // -// | \_| ''\---/'' | | // -// \ .-\__ `-` ___/-. / // -// ___`. .' /--.--\ `. . ___ // -// ."" '< `.___\_<|>_/___.' >'"". // -// | | : `- \`.;`\ _ /`;.`/ - ` : | | // -// \ \ `-. \_ __\ /__ _/ .-` / / // -// ========`-.____`-.___\_____/___.-`____.-'======== // -// `=---=' // -// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // -// 浣涚淇濅綉 姘镐笉瀹曟満 姘告棤BUG // -//////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/billion-main/pom.xml b/billion-main/pom.xml index 1117525..6e0235f 100644 --- a/billion-main/pom.xml +++ b/billion-main/pom.xml @@ -89,6 +89,12 @@ <version>8.0.33</version> <scope>compile</scope> </dependency> + <dependency> + <groupId>com.alibaba</groupId> + <artifactId>easyexcel-core</artifactId> + <version>3.3.3</version> + <scope>compile</scope> + </dependency> </dependencies> </project> \ No newline at end of file diff --git a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java index ddfc436..e66e1df 100644 --- a/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/api/service/impl/WorkOrdersInfoServiceImpl.java @@ -50,8 +50,8 @@ omProductionOrderInfo.setWorkOrderNo(workOrdersInfo.getOrderNumber()); omProductionOrderInfo.setSalesOrderCode(workOrdersInfo.getBatchNumber()); omProductionOrderInfo.setProductCode(workOrdersInfo.getMaterialNumber()); - omProductionOrderInfo.setEngineType(workOrdersInfo.getEngineType()); - omProductionOrderInfo.setEngineName(workOrdersInfo.getEngineName()); + omProductionOrderInfo.setEngineType(workOrdersInfo.getEngineName()); + omProductionOrderInfo.setEngineName(workOrdersInfo.getEngineType()); omProductionOrderInfo.setPlanQty(Long.valueOf(workOrdersInfo.getProductionPlan())); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startTime = sdf.parse(workOrdersInfo.getStartTime()); diff --git a/billion-main/src/main/java/com/billion/main/constant/Constants.java b/billion-main/src/main/java/com/billion/main/constant/Constants.java index e139a37..8f31a12 100644 --- a/billion-main/src/main/java/com/billion/main/constant/Constants.java +++ b/billion-main/src/main/java/com/billion/main/constant/Constants.java @@ -10,7 +10,7 @@ public static final String TWO= "2"; public static final String RecordData= "RecordData"; public static final String WorkOrderRequest= "WorkOrderRequest"; -// public static final String TEST= "TEST";//缂哥洊涓婄嚎宸ヤ綅 + public static final String TEST= "TEST"; public static final List<String> PLC1 = new ArrayList<>(); public static final List<String> PLC2 = new ArrayList<>(); @@ -94,4 +94,5 @@ public static final String OP070_1= "OP070-1"; + public static final String PLC_4 = "PLC4"; } diff --git a/billion-main/src/main/java/com/billion/main/da/domain/CollectMT.java b/billion-main/src/main/java/com/billion/main/da/domain/CollectMT.java new file mode 100644 index 0000000..adb72fa --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/da/domain/CollectMT.java @@ -0,0 +1,28 @@ +package com.billion.main.da.domain; + +import lombok.Data; + +@Data +public class CollectMT { + private String orderNumber; + private String engineNumber; + private String factoryNumber="0"; + private String engineSerialNumber="0"; + private String stationID= "0"; + private String stationName; + private String insertTime; + private String partsNumber; + private String partsSupplierNumber= "0"; + private String material= "0"; + private String count= "0"; + private String partsDrawingNumber= "0"; + private String partsSerialNumber= "0"; + private String cbNumber= "0"; + private String cbSupplierNumber= "0"; + private String material1; + private String cbDrawingNumber= "0"; + private String cbSerialNumber = "0"; + + + +} diff --git a/billion-main/src/main/java/com/billion/main/da/domain/CollectQualityData.java b/billion-main/src/main/java/com/billion/main/da/domain/CollectQualityData.java new file mode 100644 index 0000000..a830789 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/da/domain/CollectQualityData.java @@ -0,0 +1,22 @@ +package com.billion.main.da.domain; + +import lombok.Data; + +@Data +public class CollectQualityData { + private String orderNumber; + private String stationID = "1"; + private String stationName; + private String engineNumber; + private String factoryNumber="0"; + private String engineSerialNumber="0"; + private String insertTime; + private String detectionID="0"; + private String detectionName; + private String upperSpec="0"; + private String lowerSpec="0"; + private String target="0"; + private String unit="0"; + private String actualValue; + private String status="0"; +} diff --git a/billion-main/src/main/java/com/billion/main/da/domain/CollectTrack.java b/billion-main/src/main/java/com/billion/main/da/domain/CollectTrack.java new file mode 100644 index 0000000..51af521 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/da/domain/CollectTrack.java @@ -0,0 +1,15 @@ +package com.billion.main.da.domain; + +import lombok.Data; + +@Data +public class CollectTrack { + private String orderNumber; + private String stationName; + private String insertTime; + private String engineType; + private String factoryNumber; + private String engineNumber; + private String cycleTime; + private Integer flag; +} diff --git a/billion-main/src/main/java/com/billion/main/da/domain/DaMaterialCollection.java b/billion-main/src/main/java/com/billion/main/da/domain/DaMaterialCollection.java index 3162ea3..0c64ce7 100644 --- a/billion-main/src/main/java/com/billion/main/da/domain/DaMaterialCollection.java +++ b/billion-main/src/main/java/com/billion/main/da/domain/DaMaterialCollection.java @@ -43,6 +43,14 @@ @Excel(name = "鍙傛暟鍊�") private String paramValue; + /** 鐗╂枡缂栫爜 */ + @Excel(name = "鐗╂枡缂栫爜") + private String materialCode; + + /** 鐗╂枡鍚嶇О */ + @Excel(name = "鐗╂枡鍚嶇О") + private String materialName; + /** 閲囬泦鏃堕棿 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "閲囬泦鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") diff --git a/billion-main/src/main/java/com/billion/main/da/domain/EngineData.java b/billion-main/src/main/java/com/billion/main/da/domain/EngineData.java deleted file mode 100644 index b3edeec..0000000 --- a/billion-main/src/main/java/com/billion/main/da/domain/EngineData.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.billion.main.da.domain; - -import lombok.Data; - -@Data -public class EngineData { - private String StationName; - private String InsertTime; - private String EngineType; - private String FactoryNumber; - private String EngineNumber; - private String CycleTime; - private Integer Flag; -} diff --git a/billion-main/src/main/java/com/billion/main/da/service/impl/DaMaterialCollectionServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaMaterialCollectionServiceImpl.java index 8a06eab..39b893f 100644 --- a/billion-main/src/main/java/com/billion/main/da/service/impl/DaMaterialCollectionServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaMaterialCollectionServiceImpl.java @@ -1,8 +1,22 @@ package com.billion.main.da.service.impl; +import java.text.SimpleDateFormat; import java.util.List; +import java.util.Objects; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.billion.main.bs.domain.BsBomChildInfo; +import com.billion.main.bs.service.IBsBomChildInfoService; +import com.billion.main.constant.Constants; +import com.billion.main.da.domain.CollectMT; +import com.billion.main.da.domain.CollectTrack; +import com.billion.main.om.domain.OmOrderScheduling; +import com.billion.main.om.domain.OmProductionOrderInfo; +import com.billion.main.om.service.IOmOrderSchedulingService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.billion.main.da.mapper.DaMaterialCollectionMapper; @@ -15,12 +29,15 @@ * @author Billion-Yi * @date 2024-11-22 */ +@Slf4j @Service public class DaMaterialCollectionServiceImpl extends ServiceImpl<DaMaterialCollectionMapper, DaMaterialCollection> implements IDaMaterialCollectionService { @Autowired private DaMaterialCollectionMapper daMaterialCollectionMapper; + public IBsBomChildInfoService bsBomChildInfoService; + public IOmOrderSchedulingService omOrderSchedulingService; /** * 鏌ヨ鐗╂枡閲囬泦 * @@ -54,7 +71,55 @@ @Override public void insertDaMaterialCollection(DaMaterialCollection daMaterialCollection) { - this.save(daMaterialCollection); + String url = "http://172.40.161.71:8890/Interaction/CollectMT"; + CollectMT collectMT = new CollectMT(); + DaMaterialCollection daMaterialCollection1 = new DaMaterialCollection(); + BsBomChildInfo bsBomChildInfo = new BsBomChildInfo(); + OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); + daMaterialCollection1.setSfcCode(daMaterialCollection.getSfcCode()); + daMaterialCollection1.setLocationCode(daMaterialCollection.getLocationCode()); + daMaterialCollection1.setParamValue(daMaterialCollection.getParamValue()); + daMaterialCollection1.setCollectTime(daMaterialCollection.getCollectTime()); + omOrderScheduling.setSfcCode(daMaterialCollection.getSfcCode()); + if(Objects.equals(daMaterialCollection.getLocationCode(), "OP130") || Objects.equals(daMaterialCollection.getLocationCode(), "OP020")){ + daMaterialCollection1.setMaterialCode(""); + daMaterialCollection1.setMaterialName(daMaterialCollection.getMaterialName()); + collectMT.setMaterial1(daMaterialCollection1.getParamName()); + }else{ + bsBomChildInfo.setLocationCode(daMaterialCollection.getLocationCode()); + String materialCode = daMaterialCollection.getSfcCode().length() > 9 ? daMaterialCollection.getSfcCode().substring(0, daMaterialCollection.getSfcCode().length() - 9) : daMaterialCollection.getSfcCode(); + bsBomChildInfo.setMaterialCode(materialCode); + List<BsBomChildInfo> bsBomChildInfoList = bsBomChildInfoService.selectBsBomChildInfoList(bsBomChildInfo); + daMaterialCollection1.setMaterialCode(bsBomChildInfoList.get(0).getMaterialCode()); + daMaterialCollection1.setMaterialName(bsBomChildInfoList.get(0).getMaterialName()); + collectMT.setMaterial1(bsBomChildInfoList.get(0).getMaterialName()); + } + if(Objects.equals(daMaterialCollection.getLocationCode(), Constants.PLC1.toString()) || + Objects.equals(daMaterialCollection.getLocationCode(), Constants.C005) || + Objects.equals(daMaterialCollection.getLocationCode(), Constants.C060)) + {omOrderScheduling.setRemarks("Head");} + else if(Objects.equals(daMaterialCollection.getLocationCode(), Constants.PLC2.toString()) || + Objects.equals(daMaterialCollection.getLocationCode(), Constants.OP005) || + Objects.equals(daMaterialCollection.getLocationCode(), Constants.OP310)) + {omOrderScheduling.setRemarks("Body");} + else if(Objects.equals(daMaterialCollection.getLocationCode(), Constants.P010)) + {omOrderScheduling.setRemarks("Pre");} + List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); + collectMT.setOrderNumber(omOrderSchedulingList.get(0).getWorkOrderNo()); + collectMT.setEngineNumber(daMaterialCollection.getSfcCode()); + collectMT.setStationName(daMaterialCollection.getLocationCode()); + collectMT.setPartsNumber(daMaterialCollection.getParamValue()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + collectMT.setInsertTime(sdf.format(daMaterialCollection.getCollectTime())); + try { + HttpResponse response = HttpRequest.post(url).body(JSONUtil.toJsonStr(collectMT)).execute(); + log.info("鎺ㄩ�佹垚鍔燂紝鍝嶅簲鎶ユ枃: {}", response); + } catch (Exception e) { + // 璁板綍鏃ュ織 + log.error("鎺ㄩ�佸け璐�"); + } + this.save(daMaterialCollection1); +// this.save(daMaterialCollection); } /** diff --git a/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java index 493b61c..76acb2d 100644 --- a/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaParamCollectionServiceImpl.java @@ -1,8 +1,17 @@ package com.billion.main.da.service.impl; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONUtil; +import com.billion.main.api.domain.CollectQualityData; +import com.billion.main.constant.Constants; +import com.billion.main.da.domain.CollectTrack; import com.billion.main.da.domain.DaParamCollection; import com.billion.main.da.mapper.DaParamCollectionMapper; import com.billion.main.da.service.IDaParamCollectionService; +import com.billion.main.om.domain.OmOrderScheduling; +import com.billion.main.om.service.IOmOrderSchedulingService; +import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; @@ -10,7 +19,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.util.List; +import java.util.Objects; /** * 鍙傛暟閲囬泦Service涓氬姟灞傚鐞� @@ -18,6 +29,7 @@ * @author Billion-Yi * @date 2024-11-20 */ +@Slf4j @Service public class DaParamCollectionServiceImpl implements IDaParamCollectionService { @@ -26,9 +38,9 @@ @Autowired private IDaParamCollectionService daParamCollectionService; - @Resource private SqlSessionFactory sqlSessionFactory; + public IOmOrderSchedulingService omOrderSchedulingService; @@ -65,6 +77,37 @@ @Override public int insertDaParamCollection(DaParamCollection daParamCollection) { + String url = "http://172.40.161.71:8890/Interaction/CollectQualityData"; + OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); + CollectQualityData collectQualityData = new CollectQualityData(); + omOrderScheduling.setSfcCode(daParamCollection.getSfcCode()); + if(Objects.equals(daParamCollection.getLocationCode(), Constants.PLC1.toString()) || + Objects.equals(daParamCollection.getLocationCode(), Constants.C005) || + Objects.equals(daParamCollection.getLocationCode(), Constants.C060)) + {omOrderScheduling.setRemarks("Head");} + else if(Objects.equals(daParamCollection.getLocationCode(), Constants.PLC2.toString()) || + Objects.equals(daParamCollection.getLocationCode(), Constants.OP005) || + Objects.equals(daParamCollection.getLocationCode(), Constants.OP310)) + {omOrderScheduling.setRemarks("Body");} + else if(Objects.equals(daParamCollection.getLocationCode(), Constants.P010)) + {omOrderScheduling.setRemarks("Pre");} + List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); + + collectQualityData.setOrderNumber(omOrderSchedulingList.get(0).getWorkOrderNo()); + collectQualityData.setStationName(daParamCollection.getLocationCode()); + collectQualityData.setEngineNumber(daParamCollection.getSfcCode()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + collectQualityData.setInsertTime(sdf.format(daParamCollection.getCollectTime())); + collectQualityData.setDetectionName(daParamCollection.getParamName()); + collectQualityData.setActualValue(daParamCollection.getParamValue()); + + try { + HttpResponse response = HttpRequest.post(url).body(JSONUtil.toJsonStr(collectQualityData)).execute(); + log.info("鎺ㄩ�佹垚鍔燂紝鍝嶅簲鎶ユ枃: {}", response); + } catch (Exception e) { + // 璁板綍鏃ュ織 + log.error("鎺ㄩ�佸け璐ワ紝 sfcCode: {}",collectQualityData.getFactoryNumber()); + } return daParamCollectionMapper.insertDaParamCollection(daParamCollection); } diff --git a/billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java b/billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java index be64195..64add0c 100644 --- a/billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java +++ b/billion-main/src/main/java/com/billion/main/da/service/impl/DaStationCollectionServiceImpl.java @@ -1,13 +1,24 @@ package com.billion.main.da.service.impl; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.billion.common.utils.http.HttpUtils; +import com.billion.main.constant.Constants; import com.billion.main.da.domain.DaStationCollection; +import com.billion.main.da.domain.CollectTrack; import com.billion.main.da.mapper.DaStationCollectionMapper; import com.billion.main.da.service.IDaStationCollectionService; +import com.billion.main.om.domain.OmOrderScheduling; +import com.billion.main.om.service.IOmOrderSchedulingService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; import java.util.List; +import java.util.Objects; /** * 杩囩珯閲囬泦Service涓氬姟灞傚鐞� @@ -15,12 +26,13 @@ * @author HDY * @date 2025-02-12 */ +@Slf4j @Service public class DaStationCollectionServiceImpl extends ServiceImpl<DaStationCollectionMapper, DaStationCollection> implements IDaStationCollectionService { @Autowired private DaStationCollectionMapper daStationCollectionMapper; - + public IOmOrderSchedulingService omOrderSchedulingService; /** * 鏌ヨ杩囩珯閲囬泦 * @@ -51,12 +63,65 @@ * @param daStationCollection 杩囩珯閲囬泦 * @return 缁撴灉 */ +// @Override +// public int insertDaStationCollection(DaStationCollection daStationCollection) +// { +//// EngineData engineData = new EngineData(); +//// engineData.setEngineType("1"); +//// String s = HttpUtils.sendPost("http://172.40.161.71:8080/prod-api/CollectTrack", JSONUtil.toJsonStr(engineData)); +// return daStationCollectionMapper.insertDaStationCollection(daStationCollection); +// } + + @Override - public int insertDaStationCollection(DaStationCollection daStationCollection) - { -// EngineData engineData = new EngineData(); -// engineData.setEngineType("1"); -// String s = HttpUtils.sendPost("http://172.40.161.71:8080/prod-api/CollectTrack", JSONUtil.toJsonStr(engineData)); + public int insertDaStationCollection(DaStationCollection daStationCollection) { + String url = "http://172.40.161.71:8890/Interaction/CollectTrack"; + OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); + // 鍒涘缓EngineData瀵硅薄骞惰缃瓧娈靛�� + CollectTrack collectTrack = new CollectTrack(); + + omOrderScheduling.setSfcCode(daStationCollection.getSfcCode()); + if(Objects.equals(daStationCollection.getLocationCode(), Constants.PLC1.toString()) || + Objects.equals(daStationCollection.getLocationCode(), Constants.C005) || + Objects.equals(daStationCollection.getLocationCode(), Constants.C060)) + {omOrderScheduling.setRemarks("Head");} + else if(Objects.equals(daStationCollection.getLocationCode(), Constants.PLC2.toString()) || + Objects.equals(daStationCollection.getLocationCode(), Constants.OP005) || + Objects.equals(daStationCollection.getLocationCode(), Constants.OP310)) + {omOrderScheduling.setRemarks("Body");} + else if(Objects.equals(daStationCollection.getLocationCode(), Constants.P010)) + {omOrderScheduling.setRemarks("Pre");} + List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); + + collectTrack.setOrderNumber(omOrderSchedulingList.get(0).getWorkOrderNo()); + collectTrack.setStationName(daStationCollection.getLocationCode()); + // 澶勭悊鏃ユ湡鏃堕棿瀛楁 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + collectTrack.setInsertTime(sdf.format(daStationCollection.getInboundTime())); + String factoryNumber = daStationCollection.getSfcCode(); + collectTrack.setFactoryNumber(factoryNumber); + // EngineType璁剧疆涓篎actoryNumber鍘婚櫎鍚庝節浣� + // 鍋囪姝ゅ涓哄彇factoryNumber鐨勫墠閮ㄥ垎浣滀负EngineType + String engineType = daStationCollection.getSfcCode().length() > 9 ? daStationCollection.getSfcCode().substring(0, daStationCollection.getSfcCode().length() - 9) : daStationCollection.getSfcCode(); + collectTrack.setEngineType(engineType); + // EngineNumber璁剧疆涓篎actoryNumber鐨勫悗涔濅綅 + // 鍋囪姝ゅ涓哄彇factoryNumber鐨勫悗涔濅綅瀛楃 + String engineNumber = daStationCollection.getSfcCode().length() >= 9 ? daStationCollection.getSfcCode().substring(daStationCollection.getSfcCode().length() - 9) : daStationCollection.getSfcCode(); + collectTrack.setEngineNumber(engineNumber); + // CycleTime璁剧疆涓簅utboundTime鍑忓幓inboundTime鐨勬椂闂村樊锛堟牸寮忓寲涓哄瓧绗︿覆锛� + long cycleTimeMillis = daStationCollection.getOutboundTime().getTime() - daStationCollection.getInboundTime().getTime(); + long cycleTimeSeconds = cycleTimeMillis / 1000; // 鍋囪浠ョ涓哄崟浣� + collectTrack.setCycleTime(String.valueOf(cycleTimeSeconds)); + collectTrack.setFlag(Integer.parseInt(daStationCollection.getStatus())); + // 鍙戦�丳OST璇锋眰 + try { + HttpResponse response = HttpRequest.post(url).body(JSONUtil.toJsonStr(collectTrack)).execute(); + log.info("鎺ㄩ�佹垚鍔燂紝鍝嶅簲鎶ユ枃: {}", response); + } catch (Exception e) { + // 璁板綍鏃ュ織 + log.error("鎺ㄩ�佸け璐ワ紝 sfcCode: {}",collectTrack.getFactoryNumber()); + } + // 鏃犺鎺ㄩ�佹垚鍔熶笌鍚︼紝閮界户缁墽琛屾暟鎹簱鎻掑叆鎿嶄綔 return daStationCollectionMapper.insertDaStationCollection(daStationCollection); } diff --git a/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java b/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java index 2482d7f..662940b 100644 --- a/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java +++ b/billion-main/src/main/java/com/billion/main/plcServer/CustomRunner.java @@ -1,6 +1,7 @@ package com.billion.main.plcServer; import com.billion.main.bs.service.IBsBomChildInfoService; +import com.billion.main.bs.service.IBsLineInfoService; import com.billion.main.constant.Constants; import com.billion.main.da.service.IDaCollectionParamConfService; import com.billion.main.da.service.IDaMaterialCollectionService; @@ -38,7 +39,8 @@ public IDaMaterialCollectionService daMaterialCollectionService; @Autowired public ISysCountService sysCountService; - + @Autowired + public IBsLineInfoService bsLineInfoService; @Override public void run(ApplicationArguments args) throws Exception { @@ -104,14 +106,16 @@ Constants.PLC4.add(Constants.OP030); Constants.PLC4.add(Constants.OP050); Constants.PLC4.add(Constants.OP110); - Constants.PLC4.add(Constants.OP070_1); + Constants.PLC4.add(Constants.OP070); + Constants.PLC4.add(Constants.OP075); + Constants.PLC4.add(Constants.OP080); Constants.PLC4.add(Constants.OP140); //涓婄嚎宸ヤ綅 Constants.ONLINE.add(Constants.C005); Constants.ONLINE.add(Constants.OP005); //涓嬬嚎宸ヤ綅 Constants.OFFLINE.add(Constants.C060); - Constants.OFFLINE.add(Constants.OP300); + Constants.OFFLINE.add(Constants.OP310); @@ -125,11 +129,12 @@ bsBomChildInfoService, daCollectionParamConfService, daMaterialCollectionService, - sysCountService); + sysCountService, + bsLineInfoService); List<String> lists = getList(); System.out.println("璁㈤槄鍐呭锛�"+lists); - miloService.subscriptionFromOpcUa(lists,OPCUaSubscription); + miloService.subscriptionFromOpcUa(lists,50,OPCUaSubscription); } @@ -203,20 +208,22 @@ lists.add("PLC4.C040.RecordData"); lists.add("PLC4.OP030.RecordData"); lists.add("PLC4.OP050.RecordData"); - lists.add("PLC4.OP070_1.RecordData"); - lists.add("PLC3.OP110.RecordData"); - lists.add("PLC3.OP140.RecordData"); + lists.add("PLC4.OP070.RecordData"); + lists.add("PLC4.OP075.RecordData"); + lists.add("PLC4.OP080.RecordData"); + lists.add("PLC4.OP110.RecordData"); + lists.add("PLC4.OP140.RecordData"); -// //TEST -// lists.add("TEST.C005.RecordData"); -// lists.add("TEST.C005.WorkOrderRequest"); -// lists.add("TEST.C060.RecordData"); -// lists.add("TEST.OP005.RecordData"); -// lists.add("TEST.OP005.WorkOrderRequest"); -// lists.add("TEST.OP010.RecordData"); -// lists.add("TEST.OP310.RecordData"); -// lists.add("TEST.P010.RecordData"); -// lists.add("TEST.P010.WorkOrderRequest"); + //TEST + lists.add("TEST.C005.RecordData"); + lists.add("TEST.C005.WorkOrderRequest"); + lists.add("TEST.C060.RecordData"); + lists.add("TEST.OP005.RecordData"); + lists.add("TEST.OP005.WorkOrderRequest"); + lists.add("TEST.OP010.RecordData"); + lists.add("TEST.OP300.RecordData"); + lists.add("TEST.P010.RecordData"); + lists.add("TEST.P010.WorkOrderRequest"); return lists; } diff --git a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java index d66e297..0594533 100644 --- a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java +++ b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java @@ -2,7 +2,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.billion.main.bs.domain.BsBomChildInfo; +import com.billion.main.bs.domain.BsLineInfo; import com.billion.main.bs.service.IBsBomChildInfoService; +import com.billion.main.bs.service.IBsLineInfoService; import com.billion.main.constant.Constants; import com.billion.main.da.domain.DaCollectionParamConf; import com.billion.main.da.domain.DaMaterialCollection; @@ -46,6 +48,8 @@ public IDaMaterialCollectionService daMaterialCollectionService; public ISysCountService sysCountService; + public IBsLineInfoService bsLineInfoService; + public OPCUaSubscription(MiloService miloService, IDaParamCollectionService daParamCollectionService, @@ -55,7 +59,8 @@ IBsBomChildInfoService bsBomChildInfoService, IDaCollectionParamConfService daCollectionParamConfService, IDaMaterialCollectionService daMaterialCollectionService, - ISysCountService sysCountService + ISysCountService sysCountService, + IBsLineInfoService bsLineInfoService ) { OPCUaSubscription.miloService = miloService; this.daParamCollectionService = daParamCollectionService; @@ -66,7 +71,9 @@ this.daCollectionParamConfService = daCollectionParamConfService; this.daMaterialCollectionService = daMaterialCollectionService; this.sysCountService = sysCountService; + this.bsLineInfoService = bsLineInfoService; } + @Override public void onSubscribe(String identifier, Object value) { log.info("鍦板潃锛�"+identifier+"鍊硷細"+value); @@ -101,6 +108,7 @@ } //1.2//闄ら宸ョ珯鎵�鏈夊伐绔� else if( + Constants.TEST.contains(device) || Constants.PLC1.contains(device) || Constants.PLC2.contains(device) || Constants.PLC3.contains(device) || @@ -110,12 +118,57 @@ //鏍¢獙SFCCode鏄惁瀛樺湪 Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue(); if (SFCCode == null ) { - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); + log.info( "杩涚珯澶辫触锛氬湴鍧�SFCCode涓虹┖"); } else { OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); omOrderScheduling.setSfcCode(SFCCode.toString()); List<OmOrderScheduling> resultList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); if(resultList != null){ + if(Constants.OP010.equals(device)||Constants.OP310.equals(device)){ + String EngineType =resultList.get(0).getProductCode(); + String SerialNumber = SFCCode.toString().substring(EngineType.length()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(EngineType).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SerialNumber").value(SerialNumber).build()); + } + //9L鍙戝姩鏈烘秱鑳惰建杩逛笅鍙� + else if(Constants.OP080.equals(device) && Constants.PLC_4.equals(thoroughfare)){ + // 1. 鍒濆鍖栧伐鍗曞璞″苟鏌ヨ宸ュ崟淇℃伅 + String workOrderNo = resultList.get(0).getWorkOrderNo(); + OmProductionOrderInfo queryOrder = new OmProductionOrderInfo(); + queryOrder.setWorkOrderNo(workOrderNo); + List<OmProductionOrderInfo> orderList = omProductionOrderInfoService.selectOmProductionOrderInfoList(queryOrder); + // 2. 鍒ゆ柇绫诲瀷鍒嗘敮閫昏緫 + String engineName = orderList.get(0).getEngineName(); + if (!"9L".equals(engineName)) { + // 闈�9L鐩存帴鍐�0 + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".GlueType").value(0).build()); + } else { + // 3. 鏌ヨ浜х嚎閰嶇疆鐨勪袱鏉¢缃暟鎹� + BsLineInfo lineQuery = new BsLineInfo(); + lineQuery.setLineCode(engineName); // 鍋囪閫氳繃lineCode=9L鑾峰彇涓ゆ潯鏁版嵁 + List<BsLineInfo> configuredLines = bsLineInfoService.selectBsLineInfoList(lineQuery); + // 绗竴鏉¢厤缃暟鎹殑鏍¢獙 + BsLineInfo firstLine = configuredLines.get(0); + BsBomChildInfo checkFirst = new BsBomChildInfo(); + checkFirst.setMaterialCode(firstLine.getLineName()); + checkFirst.setBomCode(workOrderNo); + List<BsBomChildInfo> firstCheckList = bsBomChildInfoService.selectBsBomChildInfoList(checkFirst); + if (firstCheckList.size() == 1) { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".GlueType").value(1).build()); + } else { + // 绗簩鏉¢厤缃暟鎹殑鏍¢獙 + BsLineInfo secondLine = configuredLines.get(1); + BsBomChildInfo checkSecond = new BsBomChildInfo(); + checkSecond.setMaterialCode(secondLine.getLineName()); + checkSecond.setBomCode(workOrderNo); + List<BsBomChildInfo> secondCheckList = bsBomChildInfoService.selectBsBomChildInfoList(checkSecond); + if (secondCheckList.size() == 1) { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".GlueType").value(2).build()); + } + } + } + } String getWorkOrderNo = resultList.get(0).getWorkOrderNo(); BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); bsbomChildInfo.setLocationCode(device); @@ -124,6 +177,7 @@ formula(thoroughfare, device, bsbomChildInfo); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); }else { + log.info( "杩涚珯澶辫触锛氭湭妫�绱㈠埌SFCCode:{}瀵瑰簲宸ュ崟" ,SFCCode); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); } } @@ -134,25 +188,26 @@ OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue(); //涓婄嚎宸ヤ綅 -// if(Constants.ONLINE.contains(device) || Constants.TEST.equals(device) ){ if(Constants.ONLINE.contains(device)){ Object workOrderNumber = miloService.readFromOpcUa(thoroughfare + "." + device + ".WorkOrderNumber").getValue(); - Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue(); + Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue().toString(); + Object EngineType = miloService.readFromOpcUa(thoroughfare + "." + device + ".EngineType").getValue().toString(); omOrderScheduling.setWorkOrderNo(workOrderNumber.toString()); omOrderScheduling.setNowQty(nowQty.toString()); omOrderScheduling.setSfcCode(SFCCode.toString()); + omOrderScheduling.setProductCode(EngineType.toString()); + omOrderScheduling.setStatus("1"); Date Time = new Date(); ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime"); Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); omOrderScheduling.setOnlineTime(Time); - omOrderScheduling.setStatus("1"); //鎵樼洏缁戝畾SFCCode鍜屽伐鍗曞拰浜х嚎 if(Constants.OP005.equals(device)){ omProductionOrderInfoService.updateBodyStatus1(); omOrderScheduling.setRemarks("Body"); sysCountService.updateSerialNumber(); OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); - if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ + if (Objects.equals(nowQty, getBodyOrder2.getPlanQty().toString())){ omProductionOrderInfoService.updateBodyStatus2(); } } @@ -161,7 +216,7 @@ omOrderScheduling.setRemarks("Head"); sysCountService.updateHeadNumber(); OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); - if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ + if (Objects.equals(nowQty, getHeadOrder2.getPlanQty().toString())){ omProductionOrderInfoService.updateHeadStatus2(); } } @@ -175,27 +230,27 @@ omOrderScheduling.setRemarks("Head"); omOrderScheduling.setSfcCode(SFCCode.toString()); List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); - Object nowQty = omOrderSchedulingList.get(0).getNowQty(); + String nowQty = omOrderSchedulingList.get(0).getNowQty(); Object WorkOrderNumber = omOrderSchedulingList.get(0).getWorkOrderNo(); omProductionOrderInfo.setWorkOrderNo(WorkOrderNumber.toString()); List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); Object headQty = omProductionOrderInfoList.get(0).getHeadQty(); - if (nowQty == headQty){ + if (Objects.equals(nowQty, headQty.toString())){ UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); updateWrapper.set("head_status", "2"); omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); } - } else if (Constants.OP300.equals(device)) { + } else if (Constants.OP310.equals(device)) { omOrderScheduling.setRemarks("Body"); omOrderScheduling.setSfcCode(SFCCode.toString()); List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); - Object nowQty = omOrderSchedulingList.get(0).getNowQty(); + String nowQty = omOrderSchedulingList.get(0).getNowQty(); Object WorkOrderNumber = omOrderSchedulingList.get(0).getWorkOrderNo(); omProductionOrderInfo.setWorkOrderNo(WorkOrderNumber.toString()); List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); Object bodyQty = omProductionOrderInfoList.get(0).getBodyQty(); - if (nowQty == bodyQty){ + if (Objects.equals(nowQty, bodyQty.toString())){ UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); updateWrapper.set("body_status", "2"); @@ -215,7 +270,7 @@ omProductionOrderInfo.setWorkOrderNo(WorkOrderNumber.toString()); List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); Object preQty = omProductionOrderInfoList.get(0).getPreQty(); - if (nowQty == preQty){ + if (nowQty == preQty.toString()){ UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); updateWrapper.set("pre_status", "2"); @@ -224,9 +279,58 @@ sysCountService.updatePreNumber(); omProductionOrderInfoService.updatePreStatus1(); OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); - if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ + if (Objects.equals(nowQty, getPreOrder2.getPlanQty().toString())){ omProductionOrderInfoService.updatePreStatus2(); } + }else if (Constants.OP020.equals(device)){ + final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 閬嶅巻 MaterialCode35 鍒� MaterialCode40 鍏�6缁勬暟鎹� + for (int i = 35; i <= 40; i++) { // 淇敼寰幆鑼冨洿 + // 鏋勫缓OPC UA鑺傜偣鍦板潃锛堜緥濡傦細PLC1.OP020.MaterialCode35锛� + String nodeId = "PLC1." + device + ".MaterialCode" + i; + // 鍒涘缓閲囬泦瀵硅薄 + DaMaterialCollection materialCollection = new DaMaterialCollection(); + materialCollection.setSfcCode(SFCCode.toString()); + materialCollection.setLocationCode(device); + // 璁剧疆鍙傛暟鍚嶇О锛堟椿濉�1鍒版椿濉�6锛� + int pistonNumber = i - 34; // 35鈫�1, 36鈫�2...40鈫�6 + materialCollection.setParamName("娲诲" + pistonNumber); + // 閫氳繃OPC UA璇诲彇鍙傛暟鍊� + ReadWriteEntity dataRead = miloService.readFromOpcUa(nodeId); + if (dataRead != null && dataRead.getValue() != null) { + materialCollection.setParamValue(dataRead.getValue().toString()); + } else { + materialCollection.setParamValue("N/A"); // 澶勭悊绌哄�兼儏鍐� + } + Date collectTime = new Date(); + ReadWriteEntity collectTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");//杩涚珯鏃堕棿 + collectTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(collectTimeRead.getValue().toString()))); + materialCollection.setCollectTime( collectTime); + // 鎻掑叆鏁版嵁搴� + daMaterialCollectionService.insertDaMaterialCollection(materialCollection); + } + }else if (Constants.OP130.equals(device)){ + final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 閬嶅巻 MaterialCode35 鍒� MaterialCode40 鍏�6缁勬暟鎹� + String nodeId = "PLC1." + device + ".MaterialCode35" ; + // 鍒涘缓閲囬泦瀵硅薄 + DaMaterialCollection materialCollection = new DaMaterialCollection(); + materialCollection.setSfcCode(SFCCode.toString()); + materialCollection.setLocationCode(device); + materialCollection.setParamName("缂哥洊鐮�"); + // 閫氳繃OPC UA璇诲彇鍙傛暟鍊� + ReadWriteEntity dataRead = miloService.readFromOpcUa(nodeId); + if (dataRead != null && dataRead.getValue() != null) { + materialCollection.setParamValue(dataRead.getValue().toString()); + } else { + materialCollection.setParamValue("N/A"); // 澶勭悊绌哄�兼儏鍐� + } + Date collectTime = new Date(); + ReadWriteEntity collectTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");//杩涚珯鏃堕棿 + collectTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(collectTimeRead.getValue().toString()))); + materialCollection.setCollectTime( collectTime); + // 鎻掑叆鏁版嵁搴� + daMaterialCollectionService.insertDaMaterialCollection(materialCollection); } //鍑虹珯淇濆瓨 DaStationCollection daStationCollection = new DaStationCollection(); @@ -270,7 +374,7 @@ daMaterialCollectionService.insertDaMaterialCollection(materialCollection); } else { - log.debug("閲囬泦椤逛负绌�: {}", gatherAddress); + log.info("閲囬泦椤逛负绌�: {}", gatherAddress); } } } @@ -296,7 +400,7 @@ daParamCollectionService.insertDaParamCollection(paramCollection); } else { - log.debug("閲囬泦椤逛负绌�: {}", gatherAddress); + log.info("閲囬泦椤逛负绌�: {}", gatherAddress); } } } @@ -306,6 +410,9 @@ log.error(e.getMessage()); } } + + + //棣栧伐绔欎笅鍙戝伐鍗�,骞剁敓鎴怱N鐮� private static final String[] MONTH = {"A","B","C","D","E","F","G","H","I","J","K","L"}; @@ -333,8 +440,11 @@ String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛� String A5 = String.format("%05d", serialNumber.getSerialNumber()); String SFCCode = A1 + A2 + A3+ A4 + A5; + String SerialNumber = A2 + A3+ A4 + A5; + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SerialNumber").value(SerialNumber).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); + log.info("SFCCode锛歿}涓嬪彂鎴愬姛",SFCCode); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -344,8 +454,11 @@ String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// 鑾峰彇褰撳墠鏈堜唤锛�1-12锛� String A5 = String.format("%05d", sysCountService.getSerialNumber().getSerialNumber()); String SFCCode = A1 + A2 + newA3+ A4 + A5; + String SerialNumber = A2 + newA3+ A4 + A5; + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SerialNumber").value(SerialNumber).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); + log.info("SFCCode锛歿}涓嬪彂鎴愬姛",SFCCode); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -362,8 +475,10 @@ String PalletID = String.valueOf(getBodyOrder.getBodyQty() + 1); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); + log.info("宸ヤ綅{}璇锋眰宸ュ崟鎴愬姛",device); } else{ + log.info("璇锋眰宸ュ崟澶辫触锛氭湭妫�绱㈠埌宸ュ崟"); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); } } else if (Constants.C005.equals(device)) { @@ -386,6 +501,7 @@ String SFCCode = A1 + A2 + A3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); + log.info("SFCCode锛歿}涓嬪彂鎴愬姛",SFCCode); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -397,6 +513,7 @@ String SFCCode = A1 + A2 + newA3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); + log.info("SFCCode锛歿}涓嬪彂鎴愬姛",SFCCode); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -413,8 +530,10 @@ String PalletID = String.valueOf(getHeadOrder.getHeadQty() + 1); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); + log.info("宸ヤ綅{}璇锋眰宸ュ崟鎴愬姛",device); } else{ + log.info("璇锋眰宸ュ崟澶辫触锛氭湭妫�绱㈠埌瀵瑰簲宸ュ崟"); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); } } else if (Constants.P010.equals(device)) { @@ -436,6 +555,7 @@ String SFCCode = A1 + A2 + A3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); + log.info("SFCCode锛歿}涓嬪彂鎴愬姛",SFCCode); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -447,6 +567,7 @@ String SFCCode = A1 + A2 + newA3+ A4 + A5; miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); + log.info("SFCCode锛歿}涓嬪彂鎴愬姛",SFCCode); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -463,8 +584,10 @@ String PalletID = String.valueOf(getPreOrder.getPreQty() + 1); miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); + log.info("宸ヤ綅{}璇锋眰宸ュ崟鎴愬姛",device); } else{ + log.info("璇锋眰宸ュ崟澶辫触锛氭湭妫�绱㈠埌瀵瑰簲宸ュ崟"); miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); } } diff --git a/billion-main/src/main/resources/mapper/da/DaMaterialCollectionMapper.xml b/billion-main/src/main/resources/mapper/da/DaMaterialCollectionMapper.xml index d3ad241..603ef11 100644 --- a/billion-main/src/main/resources/mapper/da/DaMaterialCollectionMapper.xml +++ b/billion-main/src/main/resources/mapper/da/DaMaterialCollectionMapper.xml @@ -12,10 +12,12 @@ <result property="paramName" column="param_name" /> <result property="paramValue" column="param_value" /> <result property="collectTime" column="collect_time" /> + <result property="materialCode" column="material_code" /> + <result property="materialName" column="material_name" /> </resultMap> <sql id="selectDaMaterialCollectionVo"> - select id, sfc_code, location_code, param_code, param_name, param_value, collect_time from da_material_collection + select id, material_code, material_name, sfc_code, location_code, param_code, param_name, param_value, collect_time from da_material_collection </sql> <select id="selectDaMaterialCollectionList" parameterType="DaMaterialCollection" resultMap="DaMaterialCollectionResult"> @@ -25,6 +27,8 @@ <if test="locationCode != null and locationCode != ''"> and location_code like concat('%', #{locationCode}, '%')</if> <if test="paramCode != null and paramCode != ''"> and param_code like concat('%', #{paramCode}, '%')</if> <if test="paramName != null and paramName != ''"> and param_name like concat('%', #{paramName}, '%')</if> + <if test="materialCode != null and materialCode != ''"> and material_code = #{materialCode}</if> + <if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if> <if test="params.beginTime != null and params.beginTime != '' and params.endTime != null and params.endTime != ''"><!-- 寮�濮嬫椂闂存绱� --> and collect_time BETWEEN #{params.beginTime} and #{params.endTime} </if> @@ -45,6 +49,8 @@ <if test="paramName != null">param_name,</if> <if test="paramValue != null">param_value,</if> <if test="collectTime != null">collect_time,</if> + <if test="materialCode != null">material_code,</if> + <if test="materialName != null">material_name,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="sfcCode != null">#{sfcCode},</if> @@ -53,6 +59,8 @@ <if test="paramName != null">#{paramName},</if> <if test="paramValue != null">#{paramValue},</if> <if test="collectTime != null">#{collectTime},</if> + <if test="materialCode != null">#{materialCode},</if> + <if test="materialName != null">#{materialName},</if> </trim> </insert> @@ -65,6 +73,8 @@ <if test="paramName != null">param_name = #{paramName},</if> <if test="paramValue != null">param_value = #{paramValue},</if> <if test="collectTime != null">collect_time = #{collectTime},</if> + <if test="materialCode != null">material_code = #{materialCode},</if> + <if test="materialName != null">material_name = #{materialName},</if> </trim> where id = #{id} </update> diff --git a/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml b/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml index 47e6cb2..dc1b88b 100644 --- a/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml +++ b/billion-main/src/main/resources/mapper/om/OmOrderSchedulingMapper.xml @@ -60,6 +60,7 @@ <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> <if test="remarks != null">remarks,</if> + <if test="nowQty != null">now_qty,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="workOrderNo != null and workOrderNo != ''">#{workOrderNo},</if> @@ -74,6 +75,7 @@ <if test="updateBy != null">#{updateBy},</if> <if test="updateTime != null">#{updateTime},</if> <if test="remarks != null">#{remarks},</if> + <if test="nowQty != null">#{nowQty},</if> </trim> </insert> diff --git a/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml b/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml index 6cabb0e..a4b609c 100644 --- a/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml +++ b/billion-main/src/main/resources/mapper/om/OmProductionOrderInfoMapper.xml @@ -41,7 +41,6 @@ SELECT TOP 1 * FROM om_production_order_info WHERE body_status IN (0,1) - AND body_qty != plan_qty ORDER BY plan_start_time ASC </select> <select id="updateBodyStatus1" resultType="OmProductionOrderInfo"> @@ -69,7 +68,6 @@ SELECT TOP 1 * FROM om_production_order_info WHERE head_status IN (0,1) - AND head_qty != plan_qty ORDER BY plan_start_time ASC </select> <select id="updateHeadStatus1" resultType="OmProductionOrderInfo"> @@ -97,7 +95,6 @@ SELECT TOP 1 * FROM om_production_order_info WHERE pre_status IN (0,1) - AND pre_qty != plan_qty ORDER BY plan_start_time ASC </select> <select id="updatePreStatus1" resultType="OmProductionOrderInfo"> diff --git a/billion-ui/src/utils/request.js b/billion-ui/src/utils/request.js index 1e6c75a..6bbd65a 100644 --- a/billion-ui/src/utils/request.js +++ b/billion-ui/src/utils/request.js @@ -15,7 +15,7 @@ // 鍒涘缓axios瀹炰緥 const service = axios.create({ // axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎 - baseURL: `http://127.0.0.1:8081`, + baseURL: process.env.VUE_APP_BASE_API, // 瓒呮椂 timeout: 10000 }) diff --git a/billion-ui/vue.config.js b/billion-ui/vue.config.js index 2a005c8..d4503dd 100644 --- a/billion-ui/vue.config.js +++ b/billion-ui/vue.config.js @@ -37,7 +37,7 @@ proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { - target: `http://127.0.0.1:8081`, + target: `http://localhost:8081`, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' -- Gitblit v1.9.3