From 8b43954926db6b4df6a61ab6e04d6cb11189069d Mon Sep 17 00:00:00 2001 From: 吴健 <14790700720@163.com> Date: 星期二, 15 四月 2025 08:54:08 +0800 Subject: [PATCH] add-415 --- jcdm-main/src/main/java/com/jcdm/main/da/tileMatchCollection/controller/DaTileMatchCollectionController.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 106 insertions(+), 0 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchCollection/controller/DaTileMatchCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchCollection/controller/DaTileMatchCollectionController.java index 307ce80..2eafc9f 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchCollection/controller/DaTileMatchCollectionController.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/tileMatchCollection/controller/DaTileMatchCollectionController.java @@ -1,7 +1,23 @@ package com.jcdm.main.da.tileMatchCollection.controller; +import java.util.ArrayList; 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 cn.hutool.core.collection.ListUtil; +import cn.hutool.core.util.StrUtil; +import com.jcdm.common.core.domain.R; +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.ReceiveDataVO; +import com.jcdm.main.da.tileMatchRules.domain.DaTileMatchRules; +import com.jcdm.main.da.tileMatchRules.service.IDaTileMatchRulesService; +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; @@ -21,6 +37,8 @@ import com.jcdm.common.utils.poi.ExcelUtil; import com.jcdm.common.core.page.TableDataInfo; +import static com.jcdm.main.plcserver.sub.OPCUaSubscription.miloService; + /** * 鏉$爜閲囬泦Controller * @@ -33,6 +51,18 @@ { @Autowired private IDaTileMatchCollectionService daTileMatchCollectionService; + + @Autowired + private IDaTileMatchRulesService daTileMatchRulesService; + + @Autowired + private IDaParamCollectionService daParamCollectionService; + + @Resource + private ProductNewPassStationMapper productNewPassStationMapper; + + @Resource + private ProductNewPassStationService productNewPassStationService; /** * 鏌ヨ鏉$爜閲囬泦鍒楄〃 @@ -101,4 +131,80 @@ { return toAjax(daTileMatchCollectionService.deleteDaTileMatchCollectionByIds(ids)); } + + @GetMapping("/getBalanceData") + public R getBalanceData(String boxCode, String balanceCode, String productType) throws Exception { + List<DaTileMatchRules> resultList = new ArrayList<>(); + if (StrUtil.isBlank(boxCode)){ + return R.fail("绠变綋鐮佷笉鑳戒负绌�"); + } + if (StrUtil.isBlank(balanceCode)){ + return R.fail("骞宠 杞寸爜涓嶈兘涓虹┖"); + } + if (StrUtil.isBlank(productType)){ + return R.fail("浜у搧绫诲瀷涓嶈兘涓虹┖"); + } + String balanceSplit = ""; + String boxCodeSplit = ""; + if ("380".equals(productType)){ + // ArrayList<String> xtList = ListUtil.toList(boxCode.split(";")); + ArrayList<String> xtList = ListUtil.toList(boxCode.split(",")); + ArrayList<String> czList = ListUtil.toList(balanceCode.split(";")); + if (CollUtil.isNotEmpty(xtList) && xtList.size()>1 && + CollUtil.isNotEmpty(czList) && czList.size()>3){ + boxCodeSplit = xtList.get(1); + balanceSplit = czList.get(2); + } + DaTileMatchRules daTileMatchRules = new DaTileMatchRules(); + daTileMatchRules.setScanObject1("绠变綋"); + daTileMatchRules.setScanObject2("骞宠 杞�"); + daTileMatchRules.setProductSeries(productType); + List<DaTileMatchRules> allMatchRuleList = daTileMatchRulesService.selectDaTileMatchRulesList(daTileMatchRules); + if (CollUtil.isNotEmpty(allMatchRuleList)){ + char[] boxCodeCharArray = boxCodeSplit.toCharArray(); + char[] balanceCodeCharArray = balanceSplit.toCharArray(); + if (boxCodeCharArray.length>6 && balanceCodeCharArray.length>2){ + if ("380".equals(productType)){ + for (int i = 1; i < 3; i++) { + int finalI = i; + List<DaTileMatchRules> collect = allMatchRuleList.stream().filter(x -> x.getAxisParameterNoPosition().equals(finalI + 5) && + x.getNeckParameterPosition().equals(finalI + 1) && + x.getAxisValue().equals(String.valueOf(boxCodeCharArray[finalI + 4])) && + x.getNeckValue().equals(String.valueOf(balanceCodeCharArray[finalI]))) + .collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)){ + DaTileMatchRules rules = collect.get(0); + resultList.add(rules); + } + } + } + } + } + if (CollUtil.isEmpty(resultList)){ + return R.fail("鏈尮閰嶅埌骞宠 杞寸摝"); + } else { + ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.OP040.CodeComplete", 1); + miloService.writeToOpcByte(entity6); + ProductNewPassStation passStation = new ProductNewPassStation(); + passStation.setProductType(productType); + passStation.setBoxCode(boxCode); + List<ProductNewPassStation> productPassStationList = productNewPassStationService.getProductPassStationList(passStation); + if (CollUtil.isNotEmpty(productPassStationList)){ + ProductNewPassStation newPassStation = productPassStationList.get(0); + productNewPassStationMapper.updatePassStationBalanceCode(newPassStation.getSfcCode(),balanceCode); + } + } + } else if ("196".equals(productType)) { +// ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.OP040.CodeComplete", 1); +// miloService.writeToOpcByte(entity6); + } + + return R.ok(resultList); + } + + @GetMapping("/getDetailData") + public R getDetailData() throws Exception { + ReceiveDataVO detailData = productNewPassStationService.getDetailData(); + return R.ok(detailData); + } } -- Gitblit v1.9.3