From a5383f185d9ea618cfed8e887dfc020f1b23b64b Mon Sep 17 00:00:00 2001 From: wujian <14790700720@163.com> Date: 星期日, 25 八月 2024 19:53:03 +0800 Subject: [PATCH] fix8-bug --- jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java | 178 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 148 insertions(+), 30 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java index 0c74d37..7baf984 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/controller/DaOpcuaConfigController.java @@ -1,26 +1,55 @@ 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 org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import com.jcdm.common.annotation.Log; import com.jcdm.common.core.controller.BaseController; import com.jcdm.common.core.domain.AjaxResult; -import com.jcdm.common.core.page.TableDataInfo; import com.jcdm.common.enums.BusinessType; import com.jcdm.common.utils.poi.ExcelUtil; -import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig; -import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService; -import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; +import com.jcdm.common.core.page.TableDataInfo; -import javax.servlet.http.HttpServletResponse; -import java.util.List; +import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService; /** - * OPCUA鍙傛暟璁剧疆Controller + * 浜や簰淇″彿閰嶇疆Controller * * @author yyt - * @date 2023-12-22 + * @date 2024-01-23 */ @RestController @RequestMapping("/da/opcuaconfig") @@ -28,12 +57,23 @@ { @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; /** - * 鏌ヨOPCUA鍙傛暟璁剧疆鍒楄〃 + * 鏌ヨ浜や簰淇″彿閰嶇疆鍒楄〃 */ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:list')") @GetMapping("/list") @@ -44,28 +84,21 @@ return getDataTable(list); } - @PreAuthorize("@ss.hasPermi('da:opcuaconfig:getconfig')") - @GetMapping("/getconfig") - public List<DaOpcuaConfig> getconfig(DaOpcuaConfig daOpcuaConfig) - { - return daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig); - } - /** - * 瀵煎嚭OPCUA鍙傛暟璁剧疆鍒楄〃 + * 瀵煎嚭浜や簰淇″彿閰嶇疆鍒楄〃 */ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:export')") - @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.EXPORT) + @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, DaOpcuaConfig daOpcuaConfig) { List<DaOpcuaConfig> list = daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig); ExcelUtil<DaOpcuaConfig> util = new ExcelUtil<DaOpcuaConfig>(DaOpcuaConfig.class); - util.exportExcel(response, list, "OPCUA鍙傛暟璁剧疆鏁版嵁"); + util.exportExcel(response, list, "浜や簰淇″彿閰嶇疆鏁版嵁"); } /** - * 鑾峰彇OPCUA鍙傛暟璁剧疆璇︾粏淇℃伅 + * 鑾峰彇浜や簰淇″彿閰嶇疆璇︾粏淇℃伅 */ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") @GetMapping(value = "/{id}") @@ -75,10 +108,10 @@ } /** - * 鏂板OPCUA鍙傛暟璁剧疆 + * 鏂板浜や簰淇″彿閰嶇疆 */ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:add')") - @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.INSERT) + @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody DaOpcuaConfig daOpcuaConfig) { @@ -86,10 +119,10 @@ } /** - * 淇敼OPCUA鍙傛暟璁剧疆 + * 淇敼浜や簰淇″彿閰嶇疆 */ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:edit')") - @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.UPDATE) + @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody DaOpcuaConfig daOpcuaConfig) { @@ -97,13 +130,98 @@ } /** - * 鍒犻櫎OPCUA鍙傛暟璁剧疆 + * 鍒犻櫎浜や簰淇″彿閰嶇疆 */ @PreAuthorize("@ss.hasPermi('da:opcuaconfig:remove')") - @Log(title = "OPCUA鍙傛暟璁剧疆", businessType = BusinessType.DELETE) + @Log(title = "浜や簰淇″彿閰嶇疆", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(daOpcuaConfigService.deleteDaOpcuaConfigByIds(ids)); } + + /** + * 鑾峰彇浜や簰淇″彿閰嶇疆璇︾粏淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('da:opcuaconfig:query')") + @GetMapping(value = "/SNCode/{SNCode}/{locationCode}") + public AjaxResult setSNCode(@PathVariable("SNCode") String SNCode,@PathVariable("locationCode") String locationCode) { + ReadWriteEntity entity = new ReadWriteEntity("CFL4HX."+locationCode+".SNCode", SNCode); + Boolean out= true; + try { + miloService.writeToOpcUa(entity);//鍐橲N + } 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); + } } -- Gitblit v1.9.3