| | |
| | | package com.jcdm.main.da.opcuaconfig.controller; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.jcdm.common.core.domain.R; |
| | | import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig; |
| | | import com.jcdm.main.da.opcuaconfig.domain.NodeEntity; |
| | | import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService; |
| | | import com.jcdm.main.da.paramCollection.domain.DaParamCollection; |
| | | import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; |
| | | import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; |
| | | import com.jcdm.main.da.passingStationCollection.domain.ProductNewPassStation; |
| | | import com.jcdm.main.da.passingStationCollection.mapper.ProductNewPassStationMapper; |
| | | import com.jcdm.main.da.passingStationCollection.service.ProductNewPassStationService; |
| | | import com.jcdm.main.da.tileMatchCollection.domain.DaTileMatchCollection; |
| | | import com.jcdm.main.da.tileMatchCollection.service.IDaTileMatchCollectionService; |
| | | import com.jcdm.main.da.tileMatchMiddleware.domain.DaTileMatchMiddleware; |
| | | import com.jcdm.main.da.tileMatchMiddleware.service.IDaTileMatchMiddlewareService; |
| | | import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules; |
| | | import com.jcdm.main.da.tileMatchRules.service.IDaTileMatchRulesService; |
| | | import com.jcdm.main.plcserver.conf.OPCElement; |
| | | import com.jcdm.main.plcserver.sub.OPCUaSubscription; |
| | | import com.kangaroohy.milo.model.ReadWriteEntity; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | |
| | | import com.jcdm.common.utils.poi.ExcelUtil; |
| | | import com.jcdm.common.core.page.TableDataInfo; |
| | | |
| | | import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService; |
| | | |
| | | /** |
| | | * 交互信号配置Controller |
| | | * |
| | |
| | | { |
| | | @Autowired |
| | | private IDaOpcuaConfigService daOpcuaConfigService; |
| | | @Autowired |
| | | private IDaParamCollectionService daParamCollectionService; |
| | | @Autowired |
| | | private IDaTileMatchRulesService daTileMatchRulesService; |
| | | @Autowired |
| | | private IDaTileMatchMiddlewareService daTileMatchMiddlewareService; |
| | | @Resource |
| | | private IDaTileMatchCollectionService daTileMatchCollectionService; |
| | | |
| | | @Resource |
| | | private ProductNewPassStationService productNewPassStationService; |
| | | |
| | | @Resource |
| | | private ProductNewPassStationMapper productNewPassStationMapper; |
| | | |
| | | /** |
| | | * 查询交互信号配置列表 |
| | |
| | | ReadWriteEntity entity = new ReadWriteEntity("CFL4HX."+locationCode+".SNCode", SNCode); |
| | | Boolean out= true; |
| | | try { |
| | | OPCUaSubscription.miloService.writeToOpcUa(entity);//写SN |
| | | miloService.writeToOpcUa(entity);//写SN |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return toAjax(out); |
| | | } |
| | | |
| | | /** |
| | | * 配瓦扫码 |
| | | */ |
| | | @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") |
| | | @GetMapping(value = "/barcode1") |
| | | public R setBarcode1(String barcode, String locationCode) { |
| | | ProductNewPassStation resultPassStation = new ProductNewPassStation(); |
| | | try { |
| | | Object SNCodeObject = miloService.readFromOpcUa("CFL4HX." + locationCode + ".Code").getValue(); |
| | | if (null == SNCodeObject) { |
| | | SNCodeObject = miloService.readFromOpcUa("CFL4HX." + locationCode + ".Code1").getValue(); |
| | | } |
| | | if (null != SNCodeObject) { |
| | | String SNCode = SNCodeObject.toString(); |
| | | //插入数据 |
| | | DaParamCollection saveData = new DaParamCollection(); |
| | | saveData.setSfcCode(SNCode); |
| | | saveData.setParamValue(barcode); |
| | | saveData.setLocationCode(locationCode); |
| | | saveData.setParamCode("CZM"); |
| | | saveData.setParamName("曲轴"); |
| | | daParamCollectionService.insertDaParamCollection(saveData); |
| | | |
| | | DaTileMatchCollection MatchCollection = new DaTileMatchCollection(); |
| | | MatchCollection.setSfcCode(SNCode); |
| | | MatchCollection.setParamValue(barcode); |
| | | MatchCollection.setLocationCode(locationCode); |
| | | MatchCollection.setParamCode("CZM"); |
| | | MatchCollection.setParamName("曲轴"); |
| | | daTileMatchCollectionService.insertDaTileMatchCollection(MatchCollection); |
| | | |
| | | // DaTileMatchRules TileMatchRules = new DaTileMatchRules(); |
| | | // TileMatchRules.setProductSeries("380Y"); |
| | | // TileMatchRules.setScanObject1("连杆"); |
| | | // TileMatchRules.setScanObject2("曲轴"); |
| | | // daTileMatchRulesService.selectDaTileMatchRulesList(TileMatchRules); |
| | | |
| | | for (int i = 1; i <= 3; i++) { |
| | | DaTileMatchMiddleware TileMatchMiddleware = new DaTileMatchMiddleware(); |
| | | TileMatchMiddleware.setSfcCode(SNCode); |
| | | TileMatchMiddleware.setCrankshaftNo(barcode); |
| | | TileMatchMiddleware.setCylinder(i); |
| | | TileMatchMiddleware.setState(1); |
| | | TileMatchMiddleware.setCreateTime(new Date()); |
| | | TileMatchMiddleware.setUpdateTime(new Date()); |
| | | daTileMatchMiddlewareService.insertDaTileMatchMiddleware(TileMatchMiddleware); |
| | | } |
| | | |
| | | |
| | | ProductNewPassStation productNewPassStation = new ProductNewPassStation(); |
| | | productNewPassStation.setFinishFlag(OPCElement.UN_FINISH); |
| | | productNewPassStation.setSfcCode(SNCode); |
| | | List<ProductNewPassStation> productPassStationList = productNewPassStationService.getProductPassStationList(productNewPassStation); |
| | | if (CollUtil.isNotEmpty(productPassStationList)){ |
| | | resultPassStation = productPassStationList.get(0); |
| | | String rodCode = barcode; |
| | | productNewPassStationMapper.updatePassStationRodCode(resultPassStation.getSfcCode(),rodCode); |
| | | |
| | | } |
| | | |
| | | ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.OP030.CodeComplete", 1); |
| | | miloService.writeToOpcByte(entity6); |
| | | } |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return R.ok(resultPassStation); |
| | | } |
| | | } |