From e1a98fbab82268012f9adc38135d4bb0e7e1cc6b Mon Sep 17 00:00:00 2001 From: cl <418351270@qq.com> Date: 星期五, 06 九月 2024 09:24:27 +0800 Subject: [PATCH] 修改报工接口 --- jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java | 1064 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 815 insertions(+), 249 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java index 7476628..59fd854 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java +++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java @@ -3,36 +3,42 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.jcdm.common.core.domain.AjaxResult; import com.jcdm.framework.websocket.WebSocketUsers; -import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo; import com.jcdm.main.constant.Constants; +import com.jcdm.main.da.cellData.domain.DaCellData; +import com.jcdm.main.da.cellData.service.IDaCellDataService; import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf; import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; +import com.jcdm.main.da.psConf.domain.DaPsConf; +import com.jcdm.main.da.psConf.service.IDaPsConfService; +import com.jcdm.main.da.testDeviceInterfaceTemp.domain.DaTestDeviceInterfaceTemp; +import com.jcdm.main.da.testDeviceInterfaceTemp.service.IDaTestDeviceInterfaceTempService; import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo; import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; import com.jcdm.main.plcserver.util.TimeUtil; +import com.jcdm.main.restful.factoryMes.service.RestfulService; import com.jcdm.main.restful.qingYan.doman.ChildVO; import com.jcdm.main.restful.qingYan.doman.ParentVO; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.runner.subscription.SubscriptionCallback; import com.kangaroohy.milo.service.MiloService; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import javax.websocket.Session; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -43,7 +49,7 @@ public class OPCUaSubscription implements SubscriptionCallback { public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - + public static Calendar calendar = Calendar.getInstance(); Map<String, Session> map = WebSocketUsers.getUsers(); public static MiloService miloService; @@ -57,19 +63,31 @@ public static IOmProductionOrdeInfoService omProductionOrdeInfoService; - @Value("${orderLineUrl}") - private static String orderLineUrl; + public static IDaTestDeviceInterfaceTempService daTestDeviceInterfaceTempService; + + public static IDaCellDataService daCellDataService; + + public static IDaPsConfService daPsConfService; + +/* @Value("${orderLineUrl}") + private static String orderLineUrl;*/ public OPCUaSubscription(MiloService miloService, IDaPassingStationCollectionService daPassingStationCollectionService, IDaCollectionParamConfService collectionParamConfService, IDaParamCollectionService daParamCollectionService, - IOmProductionOrdeInfoService omProductionOrdeInfoService) { + IOmProductionOrdeInfoService omProductionOrdeInfoService, + IDaTestDeviceInterfaceTempService daTestDeviceInterfaceTempService, + IDaCellDataService daCellDataService, + IDaPsConfService daPsConfService) { OPCUaSubscription.miloService = miloService; OPCUaSubscription.daPassingStationCollectionService = daPassingStationCollectionService; OPCUaSubscription.collectionParamConfService = collectionParamConfService; OPCUaSubscription.daParamCollectionService = daParamCollectionService; OPCUaSubscription.omProductionOrdeInfoService = omProductionOrdeInfoService; + OPCUaSubscription.daTestDeviceInterfaceTempService = daTestDeviceInterfaceTempService; + OPCUaSubscription.daCellDataService = daCellDataService; + OPCUaSubscription.daPsConfService = daPsConfService; } @@ -83,152 +101,281 @@ String device = nodes[1];//璁惧 String tab = nodes[2];//鏍囪 String valueString = value.toString();//鍦板潃鍊� - if (Constants.RECORD_CHECK_CODE.equals(tab)){//鐢佃姱鏍¢獙 - if (Constants.ONE.equals(valueString)){ - Integer scanResult = 11; - if (Constants.OP010.equals(device) || Constants.OP030.equals(device)){ - //OP010宸ヤ綅鐢佃姱鏉$爜鏍¢獙||OP030宸ヤ綅鐢佃姱鏉$爜鏍¢獙 - Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue(); - if (ObjectUtil.isNotNull(value1)){ - String keyCode = value1.toString(); - log.info("璇诲彇鍒板伐浣峽}鐨凷caner鏁版嵁锛歿}",device,keyCode); - //浠呮牎楠岄暱搴︽槸鍚﹀悎鏍� + + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + subHandle(thoroughfare,device,tab,valueString); + }); + + } + } catch (Exception e) { + log.error(e.getMessage()); + } + } + + public void subHandle(String thoroughfare,String device,String tab,String valueString){ + try{ + if (Constants.RECORD_CHECK_CODE.equals(tab)){//鐢佃姱鏍¢獙 + if (Constants.ONE.equals(valueString)){ + Integer scanResult = 11; + if (Constants.OP010.equals(device)){ + //OP010宸ヤ綅鐢佃姱鏉$爜鏍¢獙||OP030宸ヤ綅鐢佃姱鏉$爜鏍¢獙 + Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue(); + if (ObjectUtil.isNotNull(value1)){ + String keyCode = value1.toString(); + log.info("璇诲彇鍒板伐浣峽}鐨凷caner鏁版嵁锛歿}",device,keyCode); + //浠呮牎楠岄暱搴︽槸鍚﹀悎鏍� // List<KeyCodeCheck> collect = keyCodeCheckService.list().stream().filter(x -> x.getKeyCode().contains(keyCode)).collect(Collectors.toList()); // if (CollUtil.isNotEmpty(collect)){ // scanResult = 11; // } - } } - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult1").value(scanResult).build()); - log.info("鍐欏叆鍒板伐浣峽}鐨凷canerResult1鏁版嵁锛歿}",device,scanResult); - } - }else if (Constants.RECORD_SN.equals(tab)){//姹備笅鍙戞ā缁勭爜璇�9 - if (Constants.ONE.equals(valueString)){ - /*if (Constants.OP100_1.equals(device) || Constants.OP100_2.equals(device) ){*/ - //鏌ヨ瑕佺敓浜х殑宸ュ崟 - List<OmProductionOrdeInfo> orderList = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>() - .eq(OmProductionOrdeInfo::getOrderStatus, Constants.ONE));//宸ュ崟鐘舵�� - - if (CollUtil.isNotEmpty(orderList)){ - Long id = orderList.get(0).getId(); - String productNum = orderList.get(0).getProductNum();//妯$粍鐮� - //涓嬪彂浜у搧妯$粍鐮� - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ModuleCode").value(productNum).build()); - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(1).build()); - - //鏇存柊宸ュ崟鐘舵�佷负鎵ц涓� - OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo(); - omProductionOrdeInfo.setId(id); - omProductionOrdeInfo.setOrderStatus("3"); - omProductionOrdeInfoService.updateOmProductionOrdeInfo(omProductionOrdeInfo); - - //灏嗕骇鍝丼N鍙戦�佸埌鍓嶅彴 - productNum = "productNum,"+ productNum; - WebSocketUsers.sendMessageToUserByText(map.get(device), productNum); - }else{ - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(2).build());//娌℃湁瑕佺敓浜х殑宸ュ崟 - } - /* }*/ - } - }else if (Constants.RECORD_DATA.equals(tab)){//鍑哄叆绔� - if (Constants.ONE.equals(valueString)){//鍏ョ珯 - //1:鍛婄煡MES鎵樼洏宸插埌绔欙紝璇锋眰涓嬪彂杩涚珯鐘舵�� - if (Constants.OP030.equals(device)){ - //鍙嶉鐢佃姱ocv妫�娴嬬粨鏋� - boolean b = true;//OCVResultFeedBack(thoroughfare, device); + }else if(Constants.OP030.equals(device)){ + Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue();//鐢佃姱鐮� + if (ObjectUtil.isNotNull(value1)){ + //String cellCode = value1.toString(); + scanResult = 11; + //鍙嶉鐢佃姱ocv妫�娴嬬粨鏋�,杩欓噷涓嶇敤鍐嶈繘琛屾娴嬶紝鍙鐮佹病闂灏卞彲浠ヤ簡 + /*boolean b = OCVResultFeedBack(thoroughfare, device,cellCode);//瀵规浛鎹㈢數鑺牎楠� + //鍥涗釜鐢佃姱鐨勭姸鎬� if (b){ - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); - log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,11); + scanResult = 11; }else { - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); - log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,12); - } - } else { + scanResult = 12; + }*/ + }else { + scanResult = 12; + } + } + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult1").value(scanResult).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凷canerResult1鏁版嵁锛歿}",device,scanResult); + } + }else if (Constants.RECORD_SN.equals(tab)){//姹備笅鍙戞ā缁勭爜璇�9 + if (Constants.ONE.equals(valueString)){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(1).build());//娌℃湁瑕佺敓浜х殑宸ュ崟 + } + }else if (Constants.RECORD_DATA.equals(tab)){//鍑哄叆绔� + if (Constants.ONE.equals(valueString)){//鍏ョ珯 //1:鍛婄煡MES鎵樼洏宸插埌绔欙紝璇锋眰涓嬪彂杩涚珯鐘舵�� + + //OP020 鐢佃姱鎸′綅鏍¢獙 + if (Constants.OP020.equals(device)){ + Integer result = 11; + Object cellGearObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellGear").getValue(); + if (ObjectUtil.isNull(cellGearObjcet)){ + result = 16;//鐢佃姱鎸′綅涓虹┖ + }else{ + String cellGear = cellGearObjcet.toString(); + List<String> cellCodeList = readCellCodeList(thoroughfare, device); + result = checkCellGear(thoroughfare, device,cellCodeList,cellGear);//鏍¢獙鐢佃姱鎸′綅鍜岀粍鍒� + Constants.OLD_CELL_GEAR = cellGear;//鎸′綅璧嬪�� + } + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build()); + + }else if (Constants.OP030.equals(device)){ + //鍙嶉鐢佃姱ocv妫�娴嬬粨鏋� + boolean b = OCVResultFeedBack(thoroughfare, device);//杩涚珯瀵�4涓數鑺牎楠� + //鍥涗釜鐢佃姱鐨勭姸鎬� + if (b){ miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,11); + }else { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,12); } - }else if (Constants.TWO.equals(valueString)){//鍑虹珯 - //鍒嗘010-065娈� - if (Constants.OP010.equals(device)){ - //010宸ヤ綅鏃犺繃绔欒褰曪紝鍙粰鏀捐淇″彿 - /*List<SendFactoryMes> collect = sendFactoryMesList.stream().filter(x -> device.equals(x.getLocationCode())).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(collect)){ - for (SendFactoryMes sendFactoryMes : collect) { - ChildVO childVO = new ChildVO(); - childVO.setItemCode(sendFactoryMes.getItemCode()); - childVO.setItemText(sendFactoryMes.getItemText()); - childVO.setItemType(sendFactoryMes.getItemType()); - } - }*/ - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build()); - log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,21); - }else if (Constants.OP020_OP065.contains(device)){ - Integer result = 21; - //璇诲彇鐢佃姱鐮� - List<String> cellCodeList = readCellCodeList(thoroughfare, device); - if(ObjectUtil.isNull(cellCodeList) || cellCodeList.size() != 4){ + } else if(Constants.OP100_1.equals(device) || Constants.OP100_2.equals(device)){ + //1銆佽繘绔橮LC缁欎骇鍝佺被鍨嬶紝MES璇诲彇浜у搧绫诲瀷 + Object productTypeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType").getValue();//浜у搧绫诲瀷 + if (ObjectUtil.isNotNull(productTypeObjcet)){ + String productType = productTypeObjcet.toString();//浜у搧绫诲瀷 + String materialCode = Constants.materialMap.get(productType); + //鎺ユ敹宸ュ崟锛屼繚瀛樺埌鏁版嵁搴�,骞朵笖灏嗗伐鍗曚紶缁橮LC + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + receivingWorkOrders(thoroughfare, device,materialCode); + }); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,11); + }else{ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); + } + + }else if (Constants.OP150.contains(device)){//浜哄伐宸ヤ綅 + Object modulCodeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue(); + if (ObjectUtil.isNull(modulCodeObjcet)){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); + }else{ + String productNum = modulCodeObjcet.toString(); + //灏嗕骇鍝丼N鍙戦�佸埌鍓嶅彴 + productNum = "productNum,"+ productNum; + WebSocketUsers.sendMessageToUserByText(map.get(device), productNum); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); + } + }else if (Constants.ModuleList.contains(device)){//鏈夋ā缁勭爜鐨勫伐浣� + Object modulCodeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue(); + if (ObjectUtil.isNull(modulCodeObjcet)){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); + }else{ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); + } + } + else { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,11); + } + }else if (Constants.TWO.equals(valueString)){//鍑虹珯 + //鍒嗘010-065娈� + if (Constants.OP010.equals(device)){ + //010宸ヤ綅鏃犺繃绔欒褰曪紝鍙粰鏀捐淇″彿 + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,21); + }else if (Constants.OP020_OP090.contains(device)){ + Integer result = 21; + //璇诲彇鐢佃姱鐮� + List<String> cellCodeList = readCellCodeList(thoroughfare, device); + if(ObjectUtil.isNull(cellCodeList) || cellCodeList.size() != 4 ){ + result = 23; + }else{ + String cellCode1 = cellCodeList.get(0); + String cellCode2 = cellCodeList.get(1); + String cellCode3 = cellCodeList.get(2); + String cellCode4 = cellCodeList.get(3); + if ((!cellCode1.isEmpty() && cellCode2.isEmpty()) || (cellCode1.isEmpty() && !cellCode2.isEmpty()) + || (!cellCode3.isEmpty() && cellCode4.isEmpty()) || (!cellCode4.isEmpty() && cellCode3.isEmpty())) { result = 23; - }else{ - result = savePassingStation(thoroughfare, device,cellCodeList);//淇濆瓨杩囩珯 - if(result==21) { - result = saveParamCollection(thoroughfare, device,cellCodeList);//淇濆瓨鍙傛暟锛屽彂閫佸伐鍘侻ES + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build()); + return; + } + + result = savePassingStation(thoroughfare, device,cellCodeList);//淇濆瓨杩囩珯 + if(result == 21) { + if(Constants.OP020.contains(device)){ + if(!cellCode1.isEmpty()){ + daCellDataService.deleteDaCellDataByGbCellCode(cellCode1); + } + if(!cellCode2.isEmpty()){ + daCellDataService.deleteDaCellDataByGbCellCode(cellCode2); + } + if(!cellCode3.isEmpty()){ + daCellDataService.deleteDaCellDataByGbCellCode(cellCode3); + } + if(!cellCode4.isEmpty()){ + daCellDataService.deleteDaCellDataByGbCellCode(cellCode4); + } + }else if(Constants.OP030.contains(device)){ + if(!cellCode1.isEmpty()){ + daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode1); + } + if(!cellCode2.isEmpty()){ + daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode2); + } + if(!cellCode3.isEmpty()){ + daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode3); + } + if(!cellCode4.isEmpty()) { + daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode4); + } } + result = saveParamCollection(device,cellCodeList);//淇濆瓨鍙傛暟锛屽彂閫佸伐鍘侻ES } - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build()); - log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,result); - } else if (Constants.OP100_1.equals(device) || Constants.OP100_2.equals(device)){ - - //涓婄嚎鎶ュ伐 - - } else { - //2:鍛婄煡MES宸ヤ綅宸ヤ綔瀹屾垚锛岃姹傝褰曞伐浣嶆暟鎹� - //淇濆瓨鍙傛暟閲囬泦璁板綍 - saveParamPassingData(device,thoroughfare); - //淇濆瓨杩囩珯璁板綍 - DaPassingStationCollection passingStationCollection = new DaPassingStationCollection(); - Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue(); - String moduleCode = null; - if (ObjectUtil.isNotNull(value1)){ - moduleCode = value1.toString(); - log.info("璇诲彇宸ヤ綅{}鐨凪oduleCode鏁版嵁锛歿}",device,moduleCode); - } - passingStationCollection.setSfcCode(moduleCode); - passingStationCollection.setLocationCode(device); - passingStationCollection.setInboundTime(new Date()); - String stationStatus = Constants.PASS; - ReadWriteEntity stationStatusRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus"); - if (ObjectUtil.isNotNull(stationStatusRead.getValue())){ - String string = stationStatusRead.getValue().toString(); - if (Constants.TWO.equals(string)){ - stationStatus = Constants.UN_PASS; - } - } - passingStationCollection.setOutRsSign(stationStatus); - passingStationCollection.setCreateTime(new Date()); - daPassingStationCollectionService.save(passingStationCollection); - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(21).build()); - log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,21); } + + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,result); + } else if (Constants.OP100_OP150.contains(device)){//浜哄伐宸ヤ綅 + WebSocketUsers.sendMessageToUserByText(map.get(device), "END"); + } else { + Integer result = 21; + //Object productTypeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType").getValue();//浜у搧绫诲瀷 + Object modulCodeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue(); + if (ObjectUtil.isNull(modulCodeObjcet)){ + result = 23; + }else{ + String moduleCode = modulCodeObjcet.toString(); + Object stationStatusObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".StationStatus").getValue();//绔欑姸鎬佸湴鍧� + if (ObjectUtil.isNotNull(stationStatusObjcet)){ + String stationStatus = stationStatusObjcet.toString(); + result = savePassingStation(thoroughfare, device,moduleCode,stationStatus);//淇濆瓨杩囩珯 + if(result == 21) { + result = saveParamCollection(device,moduleCode,stationStatus);//淇濆瓨鍙傛暟锛屽彂閫佸伐鍘侻ES + } + }else{ + result = 23; + log.info("璇诲彇鍒板伐浣峽}StationStatus鏁版嵁锛歿},杩斿洖RecordDataDone鐨勫�间负{}",device,"IS NULL锛�",result); + } + + } + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build()); + log.info("鍐欏叆鍒板伐浣峽}鐨凴ecordDataDone鏁版嵁锛歿}",device,result); } - } /*else if (Constants.RECORD_CHECK_CODE_1.equals(tab)) { - if (Constants.OP100_1.equals(device)){ - //閽㈠甫鏉$爜鏍¢獙--鍙戦�佺粰宸ュ巶mes - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult11").value(11).build()); - } else if (Constants.OP100_2.equals(device)) { - //PET甯︽潯鐮佹牎楠�--鍙戦�佺粰宸ュ巶mes - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult12").value(11).build()); - } - }*/ + } } - } catch (Exception e) { + }catch (Exception e) { log.error(e.getMessage()); - System.out.println(e.getMessage()); - log.info(e.getMessage()); } } + public synchronized void receivingWorkOrders(String thoroughfare ,String device ,String materialCode) + { + try { + //鍏堟煡璇㈣〃涓槸鍚︽湁鍓╀綑宸ュ崟 + List<OmProductionOrdeInfo> orderList = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>() + .eq(OmProductionOrdeInfo::getOrderStatus, Constants.ONE) + .eq(OmProductionOrdeInfo::getStationCode,device)//宸ヤ綅 + .eq(OmProductionOrdeInfo::getProductCode,materialCode));//浜у搧绫诲瀷 + if (CollUtil.isNotEmpty(orderList)){ + Long id = orderList.get(0).getId(); + String productNum = orderList.get(0).getProductNum();//妯$粍鐮� + String orderNum = orderList.get(0).getWorkOrderNo(); + //涓嬪彂浜у搧妯$粍鐮� + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ModuleCode").value(productNum).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(orderNum).build()); + + //灏嗕骇鍝丼N鍙戦�佸埌鍓嶅彴 + productNum = "productNum,"+ productNum; + WebSocketUsers.sendMessageToUserByText(map.get(device), productNum); + }else{ + // 鏌ヨ鏈�鏂扮殑宸ュ崟淇℃伅 + OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder(); + + log.info("璇锋眰宸ュ巶MES宸ュ崟锛氬叆鍙俤evice{},materialCode锛歿}", device, materialCode); + String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "M1OP100",materialCode); + log.info("璇锋眰宸ュ巶MES宸ュ崟锛氬嚭鍙俻ack锛歿}", orderJsonString); + + JSONObject jsonObject = new JSONObject(orderJsonString); + // 浠嶫SONObject涓幏鍙杁ata瀵硅薄 + JSONObject dataObject = jsonObject.getJSONObject("data"); + String code = jsonObject.getStr("code"); + // 鍒ゆ柇鎺ュ崟鏄惁鎴愬姛 + if(code.equals("success")) { + OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo(); + omProductionOrdeInfo.setWorkOrderNo(dataObject.getStr("productionOrderNum")); + omProductionOrdeInfo.setProductNum(dataObject.getStr("productNum")); + omProductionOrdeInfo.setStationCode(device); + omProductionOrdeInfo.setProductCode(dataObject.getStr("materialCode")); + omProductionOrdeInfo.setPlanQty(Long.valueOf(dataObject.getStr("plannedQuantity"))); + omProductionOrdeInfo.setOnlineCompletionMark("0"); + omProductionOrdeInfo.setSfResult("0"); + omProductionOrdeInfo.setProductModel(dataObject.getStr("model")); + omProductionOrdeInfo.setCreateTime(new Date()); + omProductionOrdeInfo.setCreateUser("宸ュ巶MES"); + omProductionOrdeInfoService.save(omProductionOrdeInfo); + + String productNum = dataObject.getStr("productNum"); + String orderNum = dataObject.getStr("productionOrderNum"); + //涓嬪彂浜у搧妯$粍鐮� + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ModuleCode").value(productNum).build()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(orderNum).build()); + + //灏嗕骇鍝丼N鍙戦�佸埌鍓嶅彴 + productNum = "productNum,"+ productNum; + WebSocketUsers.sendMessageToUserByText(map.get(device), productNum); + } + } + + } catch (Exception e) { + throw new RuntimeException(e); + } + } /** * 璇诲彇鐢佃姱鐮� @@ -239,6 +386,7 @@ */ private static List<String> readCellCodeList(String thoroughfare, String device){ List<String> cellCodeList = new ArrayList<>(); + Map map = new HashMap(); //鐢佃姱鐮佸湴鍧� List<String> readList = new ArrayList<>(); readList.add(thoroughfare + "." + device +".CellCode_1"); @@ -248,17 +396,58 @@ try { List<ReadWriteEntity> readWriteEntityList = miloService.readFromOpcUa(readList);//鐢佃姱鐮� for (ReadWriteEntity readWriteEntity : readWriteEntityList) { - if (ObjectUtil.isNotNull(readWriteEntity.getValue())){ - if(!"".equals(readWriteEntity.getValue().toString().trim())){ - cellCodeList.add(readWriteEntity.getValue().toString());//灏佽鐢佃姱鐮� - } - + if (ObjectUtil.isNotNull(readWriteEntity.getValue()) && !readWriteEntity.getValue().toString().trim().isEmpty()){ + cellCodeList.add(readWriteEntity.getValue().toString());//灏佽鐢佃姱鐮� + }else{ + cellCodeList.add("");//灏佽鐢佃姱鐮� } } + } catch (Exception e) { throw new RuntimeException(e); } return cellCodeList; + } + + + /** + * 淇濆瓨杩囩珯鏁版嵁 + * @param thoroughfare 閫氶亾 + * @param device 宸ヤ綅 + * @param moduleCode 妯$粍鍙� + * @param stationStatus 绔欑姸鎬� + * @return list + * @throws Exception e + */ + private static Integer savePassingStation(String thoroughfare, String device,String moduleCode,String stationStatus){ + Integer result = 21; + + try { + //璇昏繘绔欐椂闂� + Date startTime = new Date(); + ReadWriteEntity startTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime");//杩涚珯鏃堕棿 + if (ObjectUtil.isNotNull(startTimeRead.getValue())){ + startTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(startTimeRead.getValue().toString()))); + }else{ + result = 23; + log.info("璇诲彇鍒板伐浣峽}鐨凷tartTime鏁版嵁锛歿},杩斿洖RecordDataDone鐨勫�间负{}",device,"IS NULL锛�",result); + return result; + } + + DaPassingStationCollection passingStationCollection = new DaPassingStationCollection(); + passingStationCollection.setSfcCode(moduleCode);//鐢佃姱鐮� + passingStationCollection.setLocationCode(device);//宸ヤ綅 + passingStationCollection.setInboundTime(startTime);//杩涚珯鏃堕棿 + passingStationCollection.setOutboundTime(new Date());//鍑虹珯鏃堕棿 + passingStationCollection.setOutRsSign(stationStatus);//绔欑姸鎬佸�� + passingStationCollection.setCollectionTime(new Date());//閲囬泦鏃堕棿 + daPassingStationCollectionService.save(passingStationCollection); + + } catch (Exception e) { + throw new RuntimeException(e); + } + + return result; } /** @@ -281,6 +470,7 @@ }else{ result = 23; log.info("璇诲彇鍒板伐浣峽}鐨凷tartTime鏁版嵁锛歿},杩斿洖RecordDataDone鐨勫�间负{}",device,"IS NULL锛�",result); + return result; } //璇诲伐绔欑姸鎬� @@ -293,13 +483,14 @@ } }else{ result = 23; - log.info("璇诲彇鍒板伐浣峽}StationStatuss鏁版嵁锛歿},杩斿洖RecordDataDone鐨勫�间负{}",device,"IS NULL锛�",result); + log.info("璇诲彇鍒板伐浣峽}StationStatus鏁版嵁锛歿},杩斿洖RecordDataDone鐨勫�间负{}",device,"IS NULL锛�",result); + return result; } List<DaPassingStationCollection> passingList = new ArrayList<>(); for (String cellCode : cellCodeList) { DaPassingStationCollection passingStationCollection = new DaPassingStationCollection(); - if (ObjectUtil.isNotNull(cellCode)){ + if (ObjectUtil.isNotNull(cellCode) && !cellCode.isEmpty()){ passingStationCollection.setSfcCode(cellCode);//鐢佃姱鐮� passingStationCollection.setLocationCode(device);//宸ヤ綅 passingStationCollection.setInboundTime(startTime);//杩涚珯鏃堕棿 @@ -307,9 +498,6 @@ passingStationCollection.setOutRsSign(stationStatus);//绔欑姸鎬佸�� passingStationCollection.setCollectionTime(new Date());//閲囬泦鏃堕棿 passingList.add(passingStationCollection); - }else{ - result = 23; - log.info("璇诲彇鍒板伐浣峽}CellCode鏁版嵁锛歿},杩斿洖RecordDataDone鐨勫�间负{}",device,"IS NULL锛�",result); } } @@ -324,24 +512,123 @@ return result; } + /** - * 淇濆瓨鐢佃姱杩囩珯璁板綍 - * @param thoroughfare 閫氶亾 + * 淇濆瓨鍙傛暟鏁版嵁鍜屽彂閫佸伐鍘侻ES * @param device 宸ヤ綅 - * @param cellCodeList 鐢佃姱鐮侀泦鍚� + * @param moduleCode 妯$粍鍙� + * @param stationStatus 绔欑姸鎬� * @return list * @throws Exception e */ - private static Integer saveParamCollection(String thoroughfare, String device,List<String> cellCodeList){ + private static Integer saveParamCollection(String device,String moduleCode,String stationStatus){ Integer result = 21;//杩斿洖缁撴灉 - List<List<ChildVO>> mesList = new ArrayList<>();//瀛樺偍4涓數鑺殑鍙戦�佺粰MES鐨勫�� + String sendMes = ""; try { //鏌ヨ鍙傛暟閰嶇疆琛� List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() .eq(DaCollectionParamConf::getProcessesCode, device)//宸ヤ綅 .eq(DaCollectionParamConf::getWhetherToCollect, Constants.ONE)//鏄惁閲囬泦 - .eq(DaCollectionParamConf::getRemarks, Constants.ONE));//绫诲瀷 + ); + if (CollUtil.isNotEmpty(list)){ + + List<String> collect = list.stream() + .map(DaCollectionParamConf::getGatherAddress).collect(Collectors.toList()); + List<ReadWriteEntity> readWriteEntityList = miloService.readFromOpcUa(collect); + + List<DaParamCollection> collectionList = new ArrayList<>(); + List<ChildVO> mesList = new ArrayList<>(); + for (int i = 0; i < readWriteEntityList.size(); i++) { + DaParamCollection daParamCollection = new DaParamCollection(); + daParamCollection.setSfcCode(moduleCode);//妯$粍鐮� + daParamCollection.setParamCode(list.get(i).getCollectParameterId());//鍙傛暟缂栫爜 + daParamCollection.setParamName(list.get(i).getCollectParameterName());//鍙傛暟鍚嶇О + String paramValue = ""; + if (ObjectUtil.isNotNull(readWriteEntityList.get(i).getValue())){ + paramValue = readWriteEntityList.get(i).getValue().toString();//鍙傛暟鍊� + if("DATE".equals(list.get(i).getCollectParameterType()) && !paramValue.isEmpty()){ + paramValue = format.parse(TimeUtil.test(TimeUtil.stringProcessing(paramValue))).toString(); + }else if("MODEL".equals(list.get(i).getCollectParameterType()) && !paramValue.isEmpty()){ + paramValue = Constants.materialMap.get(paramValue); + } + } + daParamCollection.setParamValue(paramValue);//鍙傛暟鍊� + daParamCollection.setLocationCode(device);//宸ヤ綅 + daParamCollection.setCollectionTime(new Date());//閲囬泦鏃堕棿 + collectionList.add(daParamCollection);//灏佽鍙傛暟閲囬泦list + + //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 + ChildVO childVO = new ChildVO(); + childVO.setItemCode(list.get(i).getCollectParameterId());//鍙傛暟缂栫爜 + childVO.setItemType(list.get(i).getItemType()); + childVO.setItemValue(paramValue);//鍙傛暟鍊� + childVO.setItemText(list.get(i).getCollectParameterName()); + childVO.setCheckResult("1"); + childVO.setCheckTime(format.format(new Date())); + mesList.add(childVO); + } + + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + //鎻掑叆鍙傛暟閲囬泦琛� + daParamCollectionService.insertBatch(collectionList); + + //濡傛灉220宸ヤ綅锛岃繘琛屾姤宸�,鍥犱负涓婂眰绯荤粺鍙敮鎸�6浣嶏紝鎵�鏈夋姤宸ュ伐浣嶄慨鏀逛负M1P220 + if(Constants.OP220.equals(device)) { + getWorkReportResultFeedback(moduleCode, "M1P220", format.format(new Date())); + } + + //涓婁紶鍒板伐鍘俶es + ParentVO parentVO = new ParentVO(); + parentVO.setStationCode(device);//宸ヤ綅 + parentVO.setSiteCode("3983"); + + parentVO.setRecordId(UUID.randomUUID().toString()); + if("2".equals(stationStatus)){//宸ョ珯鐘舵�� + parentVO.setTotalResult("0"); + }else { + parentVO.setTotalResult("1"); + } + parentVO.setProductNum(moduleCode); + + //娣诲姞鍩虹鏁版嵁 + List<ChildVO> basicList = getCollectParamBasicData(device,moduleCode); + mesList.addAll(basicList); + + parentVO.setCheckList(mesList); + + log.info("鎵ц宸ュ巶MES鏂规硶start锛屽伐浣嶅彿{} 浼犲叆鏁版嵁锛歿}",device ,parentVO); + HttpResponse execute = HttpRequest.post(Constants.FACTORY_EMS_UAT_GET_RUL+"deviceResultFeedback").body(JSONUtil.toJsonStr(parentVO)).execute(); + log.info("鎵ц宸ュ巶MES鏂规硶end锛屽伐浣嶅彿{} 杩斿洖鏁版嵁锛歿}",device,execute.body()); + + }); + } + }catch (Exception e) { + throw new RuntimeException(e); + } + return result; + } + + /** + * 淇濆瓨鍙傛暟鏁版嵁鍜屽彂閫佸伐鍘侻ES + * @param device 宸ヤ綅 + * @param cellCodeList 鐢佃姱鐮侀泦鍚� + * @return list + * @throws Exception e + */ + private static Integer saveParamCollection(String device,List<String> cellCodeList){ + Integer result = 21;//杩斿洖缁撴灉 + List<ChildVO> mesChildList1 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist1 + List<ChildVO> mesChildList2 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist2 + List<ChildVO> mesChildList3 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist3 + List<ChildVO> mesChildList4 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 + List<ChildVO> mesChildList0 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 + try { + //鏌ヨ鍙傛暟閰嶇疆琛� + List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getProcessesCode, device)//宸ヤ綅 + .eq(DaCollectionParamConf::getWhetherToCollect, Constants.ONE)//鏄惁閲囬泦 + );//绫诲瀷 if (CollUtil.isNotEmpty(list)) { List<DaParamCollection> saveParamList = new ArrayList<>();//灏佽鍙傛暟閲囬泦list List<DaCollectionParamConf> confColl1 = list.stream().filter(x -> Constants.INT_ONE.equals(x.getKeyNum())).collect(Collectors.toList()); @@ -371,8 +658,7 @@ List<ReadWriteEntity> paramCollectionList0 = miloService.readFromOpcUa(collect0);//鐢佃姱 鍙傛暟鍊� //绗竴涓數鑺殑鏁版嵁 - if (CollUtil.isNotEmpty(paramCollectionList1)) { - List<ChildVO> mesChildList1 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist1 + if (CollUtil.isNotEmpty(paramCollectionList1) && !cellCodeList.get(0).isEmpty()) { for (int i = 0; i < paramCollectionList1.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(0));//鐢佃姱鐮� @@ -389,18 +675,17 @@ //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 ChildVO childVO = new ChildVO(); - childVO.setItemCode(confColl1.get(i).getCollectParameterName());//鍙傛暟 + childVO.setItemCode(confColl1.get(i).getCollectParameterId());//鍙傛暟 childVO.setItemType(confColl1.get(i).getItemType()); childVO.setItemValue(paramValue);//鍙傛暟鍊� - childVO.setItemText(confColl1.get(i).getParameterSetName()); + childVO.setItemText(confColl1.get(i).getCollectParameterName()); childVO.setCheckResult("1"); - childVO.setCheckTime(new Date().toString()); + childVO.setCheckTime(format.format(new Date())); mesChildList1.add(childVO); - mesList.add(0, mesChildList1); } + } - if (CollUtil.isNotEmpty(paramCollectionList2)) { - List<ChildVO> mesChildList2 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist2 + if (CollUtil.isNotEmpty(paramCollectionList2) && !cellCodeList.get(1).isEmpty()) { for (int i = 0; i < paramCollectionList2.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); @@ -418,18 +703,16 @@ //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 ChildVO childVO = new ChildVO(); - childVO.setItemCode(confColl2.get(i).getCollectParameterName());//鍙傛暟 + childVO.setItemCode(confColl2.get(i).getCollectParameterId());//鍙傛暟 childVO.setItemType(confColl2.get(i).getItemType()); childVO.setItemValue(paramValue);//鍙傛暟鍊� - childVO.setItemText(confColl2.get(i).getParameterSetName()); + childVO.setItemText(confColl2.get(i).getCollectParameterName()); childVO.setCheckResult("1"); - childVO.setCheckTime(new Date().toString()); + childVO.setCheckTime(format.format(new Date())); mesChildList2.add(childVO); - mesList.add(1, mesChildList2); } } - if (CollUtil.isNotEmpty(paramCollectionList3)) { - List<ChildVO> mesChildList3 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist3 + if (CollUtil.isNotEmpty(paramCollectionList3) && !cellCodeList.get(2).isEmpty()) { for (int i = 0; i < paramCollectionList3.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(2));//鐢佃姱鐮� @@ -446,18 +729,16 @@ //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 ChildVO childVO = new ChildVO(); - childVO.setItemCode(confColl3.get(i).getCollectParameterName());//鍙傛暟 + childVO.setItemCode(confColl3.get(i).getCollectParameterId());//鍙傛暟 childVO.setItemType(confColl3.get(i).getItemType()); childVO.setItemValue(paramValue);//鍙傛暟鍊� - childVO.setItemText(confColl3.get(i).getParameterSetName()); + childVO.setItemText(confColl3.get(i).getCollectParameterName()); childVO.setCheckResult("1"); - childVO.setCheckTime(new Date().toString()); + childVO.setCheckTime(format.format(new Date())); mesChildList3.add(childVO); - mesList.add(2, mesChildList3); } } - if (CollUtil.isNotEmpty(paramCollectionList4)) { - List<ChildVO> mesChildList4 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 + if (CollUtil.isNotEmpty(paramCollectionList4)&& !cellCodeList.get(3).isEmpty()) { for (int i = 0; i < paramCollectionList4.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(3));//鐢佃姱鐮� @@ -474,50 +755,51 @@ //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 ChildVO childVO = new ChildVO(); - childVO.setItemCode(confColl4.get(i).getCollectParameterName());//鍙傛暟 + childVO.setItemCode(confColl4.get(i).getCollectParameterId());//鍙傛暟 childVO.setItemType(confColl4.get(i).getItemType()); childVO.setItemValue(paramValue);//鍙傛暟鍊� - childVO.setItemText(confColl4.get(i).getParameterSetName()); + childVO.setItemText(confColl4.get(i).getCollectParameterName()); childVO.setCheckResult("1"); - childVO.setCheckTime(new Date().toString()); + childVO.setCheckTime(format.format(new Date())); mesChildList4.add(childVO); - mesList.add(3, mesChildList4); } } //鍏叡鍙傛暟 if (CollUtil.isNotEmpty(paramCollectionList0)) { for (int i = 0; i < cellCodeList.size(); i++) {//寰幆4涓數鑺� - List<ChildVO> mesChildList0 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist0 - for (int j = 0; j < paramCollectionList0.size(); j++) { - DaParamCollection daParamCollection = new DaParamCollection(); - daParamCollection.setSfcCode(cellCodeList.get(i));//鐢佃姱鐮� - daParamCollection.setParamCode(confColl0.get(j).getCollectParameterId());//鍙傛暟缂栫爜 - daParamCollection.setParamName(confColl0.get(j).getCollectParameterName());//鍙傛暟鍚嶇О - String paramValue = ""; - if (ObjectUtil.isNotNull(paramCollectionList0.get(j).getValue())) { - paramValue = paramCollectionList0.get(j).getValue().toString();//鍙傛暟鍊� - } - if(confColl0.get(j).getCollectParameterName().contains("鏃堕棿") && !"".equals(paramValue)){ - paramValue = format.parse(TimeUtil.test(TimeUtil.stringProcessing(paramValue))).toString(); - } - daParamCollection.setParamValue(paramValue);//鍙傛暟鍊� - daParamCollection.setLocationCode(device);//宸ヤ綅 - daParamCollection.setCollectionTime(new Date());//閲囬泦鏃堕棿 - saveParamList.add(daParamCollection); + if(!cellCodeList.get(i).isEmpty()){ + for (int j = 0; j < paramCollectionList0.size(); j++) { + DaParamCollection daParamCollection = new DaParamCollection(); + daParamCollection.setSfcCode(cellCodeList.get(i));//鐢佃姱鐮� + daParamCollection.setParamCode(confColl0.get(j).getCollectParameterId());//鍙傛暟缂栫爜 + daParamCollection.setParamName(confColl0.get(j).getCollectParameterName());//鍙傛暟鍚嶇О + String paramValue = ""; + if (ObjectUtil.isNotNull(paramCollectionList0.get(j).getValue())) { + paramValue = paramCollectionList0.get(j).getValue().toString();//鍙傛暟鍊� + if("DATE".equals(confColl0.get(j).getCollectParameterType()) && !paramValue.isEmpty()){ + paramValue = TimeUtil.test(TimeUtil.stringProcessing(paramValue)); + } + } + daParamCollection.setParamValue(paramValue);//鍙傛暟鍊� + daParamCollection.setLocationCode(device);//宸ヤ綅 + daParamCollection.setCollectionTime(new Date());//閲囬泦鏃堕棿 + saveParamList.add(daParamCollection); - //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 - ChildVO childVO = new ChildVO(); - childVO.setItemCode(confColl0.get(j).getCollectParameterName());//鍙傛暟 - childVO.setItemType(confColl0.get(j).getItemType()); - childVO.setItemValue(paramValue);//鍙傛暟鍊� - childVO.setItemText(confColl0.get(j).getParameterSetName()); - childVO.setCheckResult("1"); - childVO.setCheckTime(new Date().toString()); - mesChildList0.add(childVO); + //鍙戦�佺粰宸ュ巶mes鍙傛暟灏佽 + ChildVO childVO = new ChildVO(); + childVO.setItemCode(confColl0.get(j).getCollectParameterId());//鍙傛暟 + childVO.setItemType(confColl0.get(j).getItemType()); + childVO.setItemValue(paramValue);//鍙傛暟鍊� + childVO.setItemText(confColl0.get(j).getCollectParameterName()); + childVO.setCheckResult("1"); + childVO.setCheckTime(format.format(new Date())); + mesChildList0.add(childVO); + } } - mesList.get(i).addAll(mesChildList0); - /* mesList.add(mesChildList0);*/ + + //mesList.get(i).addAll(mesChildList0); + } } @@ -529,78 +811,362 @@ ParentVO parentVO = new ParentVO(); parentVO.setStationCode(device);//宸ヤ綅 parentVO.setSiteCode("3983"); - - parentVO.setRecordId(UUID.randomUUID().toString()); - parentVO.setTotalResult("1"); for (int i = 0; i < cellCodeList.size(); i++) {//寰幆4涓數鑺� - parentVO.setProductNum(cellCodeList.get(i));//鐢佃姱鐮� - parentVO.setCheckList(mesList.get(i));//鍙傛暟 - //CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { - log.info("鎵ц宸ュ巶MES鏂规硶start锛屼紶鍏ユ暟鎹細{}",parentVO); - HttpResponse execute = HttpRequest.post(orderLineUrl).body(JSONUtil.toJsonStr(parentVO)).execute(); - log.info("鎵ц宸ュ巶MES鏂规硶end锛岃繑鍥炴暟鎹細{}",execute.body()); - //}); + if(!cellCodeList.get(i).isEmpty()){ + parentVO.setRecordId(UUID.randomUUID().toString()); + parentVO.setTotalResult("1"); + parentVO.setProductNum(cellCodeList.get(i));//鐢佃姱鐮� + //灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 + List<ChildVO> mesChildList = new ArrayList<>(mesChildList0); + switch (i) { + case 0 : + mesChildList.addAll(mesChildList1); + break; + case 1 : + mesChildList.addAll(mesChildList2); + break; + case 2 : + mesChildList.addAll(mesChildList3); + break; + case 3 : + mesChildList.addAll(mesChildList4); + break; + + } + + //娣诲姞鍩虹鏁版嵁 + List<ChildVO> basicList = getCollectParamBasicData(device,cellCodeList.get(i)); + mesChildList.addAll(basicList); + + parentVO.setCheckList(mesChildList);//鍙傛暟 + //CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + log.info("鎵ц宸ュ巶MES鏂规硶start锛屼紶鍏ユ暟鎹細{}",parentVO); + HttpResponse execute = HttpRequest.post(Constants.FACTORY_EMS_UAT_GET_RUL+"deviceResultFeedback").body(JSONUtil.toJsonStr(parentVO)).execute(); + log.info("鎵ц宸ュ巶MES鏂规硶end锛岃繑鍥炴暟鎹細{}",execute.body()); + } } }); } }catch (Exception e) { + log.error(e.getMessage()); throw new RuntimeException(e); } return result; } /** - * 淇濆瓨杩囩珯鏁版嵁鍜屽弬鏁颁繚瀛樻暟鎹� - * @param device 宸ヤ綅鍙� + * OP020鏍¢獙鐢佃姱鎸′綅 + * @param thoroughfare + * @param device * @throws Exception */ - private void saveParamPassingData(String device,String thoroughfare) throws Exception { + private Integer checkCellGear(String thoroughfare, String device,List<String> cellCodeList,String cellGear) throws Exception { + Integer result = 11; + String cellSerial = ""; + for(int i = 0; i < cellCodeList.size(); i ++){ + Integer cellStatus = 1; + String cellCode = cellCodeList.get(i); + if(!cellCode.isEmpty()){ + List<DaCellData> list = daCellDataService.list(new LambdaQueryWrapper<DaCellData>() + .eq(DaCellData::getGbCellCode,cellCode)); + if(CollUtil.isNotEmpty(list)){ + DaCellData daCellData = list.get(0); + String cellValue = daCellData.getCellValue();//鏁版嵁搴撲腑鐢佃姱鎸′綅 + cellSerial = daCellData.getCellSerial();//鏁版嵁搴撲腑鐢佃姱缁勫埆 + if(!cellValue.isEmpty() && cellValue.equals(cellGear)){ + cellStatus = 1; + }else { + cellStatus = 2; + result = 16;//鎸′綅鏍¢獙涓嶅悎鏍� + log.info("鐢佃姱鎸′綅鏍¢獙涓嶅悎鏍硷細鐢佃姱鐮佷负{}锛孭LC璁剧疆鎸′綅涓簕}锛屽伐鍘侻ES涓嬪彂鎸′綅涓猴細{}",cellCode,cellGear,cellValue); + } + }else { + cellStatus = 2; + result = 16;//鏌ヤ笉鍒拌鏍¢獙鐨勬尅浣� + log.info("鐢佃姱鎸′綅鏍¢獙涓嶅悎鏍硷細鐢佃姱鐮佷负{}锛孭LC璁剧疆鎸′綅涓簕}锛屽伐鍘侻ES涓嬪彂鎸′綅涓虹┖锛屾煡璇笉鍒拌鏁版嵁",cellCode,cellGear); + } + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".Cell_Status_"+(i+1)).value(cellStatus).build()); + } + } - //淇濆瓨鍙傛暟閲囬泦鏁版嵁 - List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() - .eq(DaCollectionParamConf::getProcessesCode, device) - .eq(DaCollectionParamConf::getRemarks, Constants.ONE)); + //褰撶數鑺尅浣嶅彂鐢熷彉鍖栨椂锛屽苟涓旇�佺殑鎸′綅涓嶄负绌猴紝鍒犻櫎褰撳墠鐢佃姱鎵规 + if(!Constants.OLD_CELL_GEAR.isEmpty() && !cellGear.equals(Constants.OLD_CELL_GEAR)){ + if(!cellSerial.isEmpty()){ + daCellDataService.deleteDaCellDataByCellSerial(cellSerial); + } + log.info("鐢佃姱鎸′綅鍙戠敓鏀瑰彉锛岃�佺殑鎸′綅涓猴細{}锛屾柊鐨勬尅浣嶄负锛歿}锛屾壒娆″彿涓簕}",Constants.OLD_CELL_GEAR,cellGear,cellSerial); + } + + return result; + } + + /** + * 030宸ヤ綅杩斿洖ocv娴嬭瘯缁撴灉 + * @param thoroughfare + * @param device + * @param cellCode + * @throws Exception + */ + private boolean OCVResultFeedBack(String thoroughfare, String device,String cellCode) throws Exception { + boolean flag = true; + List<DaTestDeviceInterfaceTemp> list = daTestDeviceInterfaceTempService.list(new LambdaQueryWrapper<DaTestDeviceInterfaceTemp>() + .eq(DaTestDeviceInterfaceTemp::getProductNum,cellCode) + .orderByDesc(DaTestDeviceInterfaceTemp::getCreateTime) + ); if (CollUtil.isNotEmpty(list)){ - List<String> collect = list.stream().map(DaCollectionParamConf::getGatherAddress) - .filter(Objects::nonNull).distinct() - .collect(Collectors.toList()); - QueryPLCData(device,thoroughfare,collect); + DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = list.get(0); + if (Constants.ONE.equals(daTestDeviceInterfaceTemp.getTotalResult())){ + flag = true; + }else { + flag = false; + } + //daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode); + }else { + flag = false; + log.info("璇诲彇鍒板伐浣峽},娴嬭瘯璁惧杩斿洖鐨勬暟鎹煡璇笉鍒帮紝鐢佃姱鐮佷负锛歿}",device,cellCode); + } + return flag; + } + /** + * 030宸ヤ綅杩斿洖ocv娴嬭瘯缁撴灉 + * @param thoroughfare + * @param device + * @throws Exception + */ + private boolean OCVResultFeedBack(String thoroughfare, String device) throws Exception { + boolean flag = true; + Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_1").getValue(); + if (ObjectUtil.isNotNull(value1)){ + String cellCode = value1.toString(); + List<DaTestDeviceInterfaceTemp> list = daTestDeviceInterfaceTempService.list(new LambdaQueryWrapper<DaTestDeviceInterfaceTemp>() + .eq(DaTestDeviceInterfaceTemp::getProductNum,cellCode) + .orderByDesc(DaTestDeviceInterfaceTemp::getCreateTime) + ); + if (CollUtil.isNotEmpty(list)){ + DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = list.get(0); + if (Constants.ONE.equals(daTestDeviceInterfaceTemp.getTotalResult())){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(1).build()); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(2).build()); + } + //daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},OP020宸ヤ綅娌℃湁缁欐祴璇曠粨鏋�",device); + } + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},PLC娌℃湁缁欑數鑺爜",device); + } + Object value2 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_2").getValue(); + if (ObjectUtil.isNotNull(value2)){ + String cellCode = value2.toString(); + List<DaTestDeviceInterfaceTemp> list = daTestDeviceInterfaceTempService.list(new LambdaQueryWrapper<DaTestDeviceInterfaceTemp>() + .eq(DaTestDeviceInterfaceTemp::getProductNum,cellCode) + .orderByDesc(DaTestDeviceInterfaceTemp::getCreateTime) + ); + if (CollUtil.isNotEmpty(list)){ + DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = list.get(0); + if (Constants.ONE.equals(daTestDeviceInterfaceTemp.getTotalResult())){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_2").value(1).build()); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_2").value(2).build()); + } + //daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_2").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},OP020宸ヤ綅娌℃湁缁欐祴璇曠粨鏋�",device); + } + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_2").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},PLC娌℃湁缁欑數鑺爜",device); + } + Object value3 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_3").getValue(); + if (ObjectUtil.isNotNull(value3)){ + String cellCode = value3.toString(); + List<DaTestDeviceInterfaceTemp> list = daTestDeviceInterfaceTempService.list(new LambdaQueryWrapper<DaTestDeviceInterfaceTemp>() + .eq(DaTestDeviceInterfaceTemp::getProductNum,cellCode) + .orderByDesc(DaTestDeviceInterfaceTemp::getCreateTime) + ); + if (CollUtil.isNotEmpty(list)){ + DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = list.get(0); + if (Constants.ONE.equals(daTestDeviceInterfaceTemp.getTotalResult())){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_3").value(1).build()); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_3").value(2).build()); + } + //daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_3").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},OP020宸ヤ綅娌℃湁缁欐祴璇曠粨鏋�",device); + } + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_3").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},PLC娌℃湁缁欑數鑺爜",device); + } + + Object value4 = miloService.readFromOpcUa(thoroughfare + "." + device + ".CellCode_4").getValue(); + if (ObjectUtil.isNotNull(value4)){ + String cellCode = value4.toString(); + List<DaTestDeviceInterfaceTemp> list = daTestDeviceInterfaceTempService.list(new LambdaQueryWrapper<DaTestDeviceInterfaceTemp>() + .eq(DaTestDeviceInterfaceTemp::getProductNum,cellCode) + .orderByDesc(DaTestDeviceInterfaceTemp::getCreateTime) + ); + if (CollUtil.isNotEmpty(list)){ + DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = list.get(0); + if (Constants.ONE.equals(daTestDeviceInterfaceTemp.getTotalResult())){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_4").value(1).build()); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_4").value(2).build()); + } + //daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_4").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},OP020宸ヤ綅娌℃湁缁欐祴璇曠粨鏋�",device); + } + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_4").value(5).build()); + log.info("璇诲彇鍒板伐浣峽},PLC娌℃湁缁欑數鑺爜",device); + } + + return flag; + } + + /** + * AMES鎶ュ伐缁撴灉鍥炰紶 + * @param productNum + * @param stationCode + * @param confirmTime + * @return + */ + //{"code":"success","data":{"productNum":"LCV123456P0600036","stationCode":"1HZ01","resultCode":"S","resultText":"鎶ュ伐鎴愬姛"},"message":"API璋冪敤鎴愬姛"} + public static String getWorkReportResultFeedback(String productNum,String stationCode,String confirmTime) + { + String result = ""; + try { + String url = Constants.FACTORY_EMS_UAT_GET_RUL + "workReportResultFeedback?siteCode="+Constants.FACTORY_EMS_SITE_CODE+"&stationCode="+stationCode+"&productNum="+productNum+"&confirmTime="+confirmTime; + HttpResponse response = HttpRequest.get(url).execute(); + //HttpRequest httpRequest = HttpRequest.get(url); + result = response.body(); + }catch (Exception e){ + throw new RuntimeException(e); + }finally { + return result; + } + } + + + /** + * 鑾峰彇閲囬泦鍙傛暟鍩虹鏁版嵁 + * @param stationCode + * @param sfcCode + * @return list + */ + public static List<ChildVO> getCollectParamBasicData(String stationCode,String sfcCode) { + List<ChildVO> basicList = new ArrayList<>(); + List<DaParamCollection> collectionList = new ArrayList<>(); + try { + //鏌ヨ鍙傛暟閰嶇疆琛� + List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getProcessesCode, stationCode)//宸ヤ綅 + .eq(DaCollectionParamConf::getCollectParameterType, "BASIC")//閲囬泦鍙傛暟绫诲瀷 + ); + if (CollUtil.isNotEmpty(list)){ + for(DaCollectionParamConf conf:list){ + //1P1S鐢熸垚 + if("1P1S".equals(conf.getCollectParameterId())){ + String result = get1P1S(sfcCode); + conf.setParamCentral(result); + } + ChildVO childVO = new ChildVO(); + childVO.setItemCode(conf.getCollectParameterId());//鍙傛暟 + childVO.setItemType(conf.getItemType()); + childVO.setItemValue(conf.getParamCentral());//鍙傛暟鍊� + childVO.setItemText(conf.getCollectParameterName()); + childVO.setCheckResult("1"); + childVO.setCheckTime(format.format(new Date())); + basicList.add(childVO); + + DaParamCollection daParamCollection = new DaParamCollection(); + daParamCollection.setSfcCode(sfcCode);//鎬绘垚鐮� + daParamCollection.setParamCode(conf.getCollectParameterId());//鍙傛暟缂栫爜 + daParamCollection.setParamName(conf.getCollectParameterName());//鍙傛暟鍚嶇О + + daParamCollection.setParamValue(conf.getParamCentral());//鍙傛暟鍊� + daParamCollection.setLocationCode(stationCode);//宸ヤ綅 + daParamCollection.setCollectionTime(new Date());//閲囬泦鏃堕棿 + collectionList.add(daParamCollection);//灏佽鍙傛暟閲囬泦list + } + daParamCollectionService.insertBatch(collectionList); + } + return basicList; + }catch (Exception e) { + throw new RuntimeException(e); } } /** - * 鎵归噺鏌ヨplc绔欑偣鏁版嵁 - * @param device 绔欑偣 - * @param collect 鐐逛綅 - * @throws Exception + * 鐢熸垚1P1S鐮� + * @param sfcCode + * @return list */ - private static void QueryPLCData(String device,String thoroughfare,List<String> collect) throws Exception { - List<ReadWriteEntity> readWriteEntityList = miloService.readFromOpcUa(collect); + public static String get1P1S(String sfcCode) { + String result = ""; + LocalDate now = LocalDate.now(); + String supplierCode = sfcCode.substring(0,3); + try { + List<DaPsConf> list = daPsConfService.list(new LambdaQueryWrapper<DaPsConf>() + .eq(DaPsConf::getSpareField1, supplierCode)//渚涘簲鍟嗚瘑鍒爜 + .eq(DaPsConf::getState,"1"));//鐘舵�� + if(!list.isEmpty()){ + String mfCode = list.get(0).getMfCode();//鍘傚晢浠g爜 + String proTypeCode = list.get(0).getProTypeCode();//浜у搧绫诲瀷浠g爜 + String batteryTypeCode = list.get(0).getBatteryTypeCode();//鐢垫睜绫诲瀷浠g爜 + String specificationsCode = list.get(0).getSpecificationsCode();//瑙勬牸浠g爜 + String traceInfoCode = list.get(0).getTraceInfoCode();//杩芥函淇℃伅浠g爜 + String oldDateCode = list.get(0).getProDateCode(); + String proDateCode = Constants.YEARSMAP.get(now.getYear()) + + Constants.MONTHSMAP.get(now.getMonthValue()) + + Constants.DAYMAP.get(now.getDayOfMonth());//鐢熶骇鏃ユ湡 + String code = ""; + if(oldDateCode.equals(proDateCode)){ + code = list.get(0).getSfcCode();//搴忓垪鍙� + }else { + code = "0"; + } + code = StringUtils.leftPad(String.valueOf(Integer.valueOf(code)+1),7, "0");;//搴忓垪鍙� + result = mfCode+proTypeCode+batteryTypeCode+specificationsCode+traceInfoCode+proDateCode+code; - if (CollUtil.isNotEmpty(readWriteEntityList)){ - List<DaParamCollection> collectionList = new ArrayList<>(); - Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue(); - String moduleCode = null; - if (ObjectUtil.isNotNull(value1)){ - moduleCode = value1.toString(); + log.info("璇诲彇鍒扮數鑺爜涓猴細{},1P1S鐮佷负锛歿}",sfcCode,result); + + //鏇存柊鏃ユ湡鍜屽簭鍒楀彿 + LambdaUpdateWrapper<DaPsConf> lambdaUpdateWrapper = new LambdaUpdateWrapper<DaPsConf>(); + lambdaUpdateWrapper.set(DaPsConf::getProDateCode,proDateCode);//鐢熶骇鏃ユ湡 + lambdaUpdateWrapper.set(DaPsConf::getSfcCode,code);//搴忓垪鍙� + lambdaUpdateWrapper.eq(DaPsConf::getSpareField1,supplierCode);//渚涘簲鍟嗚瘑鍒爜 + lambdaUpdateWrapper.eq(DaPsConf::getState,"1");//鐘舵�� + daPsConfService.update(lambdaUpdateWrapper); + + }else{ + log.info("璇峰厛鍘�1P1S閰嶇疆椤甸潰閰嶇疆瑙勫垯!"); } - for (int i = 0; i < readWriteEntityList.size(); i++) { - DaParamCollection daParamCollection = new DaParamCollection(); - if (StrUtil.isNotBlank(moduleCode)){ - daParamCollection.setModuleCode(moduleCode); - } - daParamCollection.setParamCode(collect.get(i)); - String paramValue = ""; - if (ObjectUtil.isNotNull(readWriteEntityList.get(i).getValue())){ - paramValue = readWriteEntityList.get(i).getValue().toString(); - } - daParamCollection.setParamValue(paramValue); - daParamCollection.setLocationCode(device); - daParamCollection.setCollectionTime(new Date()); - collectionList.add(daParamCollection); - } - daParamCollectionService.insertBatch(collectionList); + return result; + }catch (Exception e) { + throw new RuntimeException(e); } } + } -- Gitblit v1.9.3