From 105d6b807d69eb95b3426f5cf6e87a8ff7b0611c Mon Sep 17 00:00:00 2001
From: 吴健 <14790700720@163.com>
Date: 星期三, 14 五月 2025 10:34:45 +0800
Subject: [PATCH] first-add

---
 billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java |  176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 171 insertions(+), 5 deletions(-)

diff --git a/billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java b/billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java
index dae407a..ed797b6 100644
--- a/billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java
+++ b/billion-main/src/main/java/com/billion/main/da/controller/DaStationCollectionController.java
@@ -1,18 +1,34 @@
 package com.billion.main.da.controller;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.ListUtil;
+import cn.hutool.core.util.ObjUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.billion.common.annotation.Log;
 import com.billion.common.core.controller.BaseController;
 import com.billion.common.core.domain.AjaxResult;
+import com.billion.common.core.domain.R;
 import com.billion.common.core.page.TableDataInfo;
 import com.billion.common.enums.BusinessType;
+import com.billion.common.exception.ServiceException;
 import com.billion.common.utils.poi.ExcelUtil;
 import com.billion.main.da.domain.DaStationCollection;
-import com.billion.main.da.service.IDaStationCollectionService;
+import com.billion.main.da.service.impl.DaStationCollectionServiceImpl;
+import com.billion.main.plc.constant.Constants;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.rmi.ServerError;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -26,7 +42,10 @@
 public class DaStationCollectionController extends BaseController
 {
     @Autowired
-    private IDaStationCollectionService daStationCollectionService;
+    private DaStationCollectionServiceImpl daStationCollectionService;
+
+    @Resource
+    private MiloService miloService;
 
     /**
      * 鏌ヨ杩囩珯閲囬泦鍒楄〃
@@ -38,6 +57,13 @@
         startPage();
         List<DaStationCollection> list = daStationCollectionService.selectDaStationCollectionList(daStationCollection);
         return getDataTable(list);
+    }
+
+    @GetMapping("/printList")
+    public R printList()
+    {
+        List<DaStationCollection> list = daStationCollectionService.list(new LambdaQueryWrapper<DaStationCollection>().eq(DaStationCollection::getStatus,"0"));
+        return R.ok(list);
     }
 
     /**
@@ -90,9 +116,149 @@
      */
     @PreAuthorize("@ss.hasPermi('da:stationCollection:remove')")
     @Log(title = "杩囩珯閲囬泦", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable Long[] ids)
+	@DeleteMapping("/{id}")
+    public R remove(@PathVariable Long id)
     {
-        return toAjax(daStationCollectionService.deleteDaStationCollectionByIds(ids));
+        if (ObjUtil.isNull(id)){
+            throw new ServiceException("id涓嶈兘涓虹┖");
+        }
+        List<DaStationCollection> list = daStationCollectionService.list(new LambdaQueryWrapper<DaStationCollection>().eq(DaStationCollection::getId, id));
+        if (CollUtil.isEmpty(list)){
+            throw new ServiceException("鏁版嵁涓嶅瓨鍦紝璇峰埛鏂板悗閲嶈瘯");
+        }
+        daStationCollectionService.removeById(id);
+        return R.ok();
     }
+
+
+    @GetMapping("/crave")
+    public R crave(String sfcCode) throws IOException {
+        if (StrUtil.isBlank(sfcCode)){
+            throw new ServiceException("搴忓垪鍙蜂笉鑳戒负绌�");
+        }
+        if (!sfcCode.contains(StrUtil.SPACE)){
+            throw new ServiceException("杈撳叆鐨勫簭鍒楀彿闇�瑕佸寘鍚┖鏍硷紒");
+        }
+
+        List<DaStationCollection> list = daStationCollectionService.list(new LambdaQueryWrapper<DaStationCollection>()
+                .eq(DaStationCollection::getSfcCode, sfcCode)
+                .eq(DaStationCollection::getLocationCode,"OP001"));
+        if (CollUtil.isNotEmpty(list)){
+            DaStationCollection daStationCollection = list.get(0);
+            //閲嶅鍒荤爜
+            return R.ok(303,"姝ゅ簭鍒楀彿宸插埢鐮�");
+        } else {
+//            //棣栨鍒荤爜-鍙戦�佸埢鐮佷俊鍙风粰涓嬩綅鏈�
+//            TcpClient tcpClient = new TcpClient();
+//            byte[] bytes = sfcCode.getBytes(StandardCharsets.UTF_8);
+//            tcpClient.sendData(bytes);
+            //鏌ヨ鏁版嵁涓姸鎬佷负0鐨勬暟鎹�
+            List<DaStationCollection> collect = daStationCollectionService.list(new LambdaQueryWrapper<DaStationCollection>()
+                    .eq(DaStationCollection::getStatus, "0"));
+            if (CollUtil.isNotEmpty(collect)) {
+                //娓呴櫎
+                daStationCollectionService.update(new LambdaUpdateWrapper<DaStationCollection>()
+                        .eq(DaStationCollection::getStatus,"0")
+                        .set(DaStationCollection::getStatus,"1"));
+            }
+
+            //淇濆瓨鏁版嵁
+            DaStationCollection daStationCollection = new DaStationCollection();
+            Date date = new Date();
+            daStationCollection.setSfcCode(sfcCode);
+            List<String> split = ListUtil.toList(sfcCode.split(StrUtil.SPACE));
+            if (CollUtil.isNotEmpty(split)){
+                if (split.size() > 1){
+                    daStationCollection.setPrintCode(split.get(1));
+                }
+            }
+            daStationCollection.setLocationCode("OP001");
+            daStationCollection.setCollectTime(date);
+            daStationCollection.setInboundTime(date);
+            daStationCollection.setOutboundTime(date);
+            daStationCollection.setStatus("0");
+            daStationCollectionService.save(daStationCollection);
+            return R.ok(200);
+
+        }
+
+    }
+
+
+    @GetMapping("/reCrave")
+    public R reCrave(String sfcCode) throws IOException {
+        if (StrUtil.isBlank(sfcCode)){
+            throw new ServiceException("搴忓垪鍙蜂笉鑳戒负绌�");
+        }
+        if (!sfcCode.contains(StrUtil.SPACE)){
+            throw new ServiceException("杈撳叆鐨勫簭鍒楀彿闇�瑕佸寘鍚┖鏍硷紒");
+        }
+//        //鍙戦�佸埢鐮佷俊鍙风粰涓嬩綅鏈�
+//            TcpClient tcpClient = new TcpClient();
+//            byte[] bytes = sfcCode.getBytes(StandardCharsets.UTF_8);
+//            tcpClient.sendData(bytes);
+
+        List<DaStationCollection> collect = daStationCollectionService.list(new LambdaQueryWrapper<DaStationCollection>()
+                .eq(DaStationCollection::getStatus, "0"));
+        if (CollUtil.isNotEmpty(collect)) {
+            //娓呴櫎
+            daStationCollectionService.update(new LambdaUpdateWrapper<DaStationCollection>()
+                    .eq(DaStationCollection::getStatus,"0")
+                    .set(DaStationCollection::getStatus,"1"));
+        }
+
+        //淇濆瓨鏁版嵁
+        DaStationCollection daStationCollection = new DaStationCollection();
+        Date date = new Date();
+        daStationCollection.setSfcCode(sfcCode);
+        List<String> split = ListUtil.toList(sfcCode.split(StrUtil.SPACE));
+        if (CollUtil.isNotEmpty(split)){
+            if (split.size() > 1){
+                daStationCollection.setPrintCode(split.get(1));
+            }
+        }
+        daStationCollection.setLocationCode("OP001");
+        daStationCollection.setCollectTime(date);
+        daStationCollection.setInboundTime(date);
+        daStationCollection.setOutboundTime(date);
+        daStationCollection.setStatus("0");
+        daStationCollectionService.save(daStationCollection);
+        return R.ok(200);
+
+
+    }
+
+
+    @GetMapping("/addPassStationCollection")
+    public R addPassStationCollection(String SNCode, String LocationCode) throws Exception {
+        if (StrUtil.isBlank(SNCode)){
+            return R.fail("搴忓垪鍙蜂笉鑳戒负绌�");
+        }
+        if (!SNCode.contains(" ")){
+            return R.fail("璇锋鏌ュ簭鍒楀彿鏄惁姝g‘");
+        }
+        DaStationCollection daStationCollection = new DaStationCollection();
+        Date date = new Date();
+        daStationCollection.setSfcCode(SNCode);
+        daStationCollection.setLocationCode(LocationCode);
+        daStationCollection.setCollectTime(date);
+        daStationCollection.setInboundTime(date);
+        daStationCollection.setOutboundTime(date);
+        daStationCollection.setStatus(Constants.ZERO);
+        daStationCollectionService.save(daStationCollection);
+
+
+        if (Constants.OP010.equals(LocationCode)){
+            //浼犲叆SNCode鍒癙LC
+            miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(Constants.OP010_SNCODE1).value(SNCode).build());
+        }
+        return R.ok();
+    }
+
+
+//    @GetMapping("/testSend")
+//    public void test(){
+//        TcpClient tcpClient = new TcpClient();
+//        tcpClient.receiveData();
+//    }
 }

--
Gitblit v1.9.3