From 138b5fc883c3ccb25f4bed7114a60f93e78aaa9a Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期日, 02 六月 2024 13:30:37 +0800
Subject: [PATCH] #条码检测

---
 src/main/java/com/zy/asrs/controller/AgvMobileController.java    |    3 +
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   10 +++++
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java    |    7 +++
 src/main/java/com/zy/asrs/controller/AgvBasDevpController.java   |    4 ++
 src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java           |   38 +++++++++++++++++++
 5 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
index c1a6a5c..466391b 100644
--- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.LocMastInitParam;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.CodeDetectionUtil;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -167,6 +168,9 @@
                                @RequestParam(defaultValue = "10")Integer limit,
                                @RequestParam Map<String, Object> param){
         String devNo = param.get("devNo").toString();
+        if (Cools.isEmpty(devNo) || !CodeDetectionUtil.carCodeDetection(devNo)){
+            throw new CoolException(devNo + "灏忚溅鍦扮爜鏈夎锛岃姝g‘鎵爜锛侊紒锛�");
+        }
         AgvBasDevp agvBasDevp = agvBasDevpService.selectById(devNo);
         if("F".equals(agvBasDevp.getLocSts()) || "R".equals(agvBasDevp.getLocSts())){
             //鍏堝幓鍏ュ簱閫氱煡妗f壘鏄庣粏
diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 295a764..9819e36 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -519,6 +519,9 @@
     @ManagerAuth(memo = "绔欑偣鍥為��")
     @Synchronized
     public R doBack(@RequestBody AgvMobileStartPakin param){
+        if (Cools.isEmpty(param)){
+            return R.error("鍙傛暟涓虹┖");
+        }
         agvMobileService.doBack(param, getUserId());
         return R.ok();
     }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index c9cf88c..0660704 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.*;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.CodeDetectionUtil;
 import com.zy.common.model.DetlDto;
 import com.zy.common.service.AgvCommonService;
 import lombok.Synchronized;
@@ -67,6 +68,9 @@
     public String comb(CombParam param, Long userId) {
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
+        }
+        if (!CodeDetectionUtil.barcodeDetection(param.getBarcode())){
+            throw new CoolException(param.getBarcode() + "璐ф灦鐮佹湁璇紝璇锋纭壂鐮侊紒锛侊紒");
         }
         param.setContainerType(Short.valueOf(param.getBarcode().substring(0,2)));
 
@@ -636,6 +640,12 @@
     @Override
     @Transactional
     public String doBack(AgvMobileStartPakin param, Long userId) {
+        if (Cools.isEmpty(param.getBarcode()) || !CodeDetectionUtil.barcodeDetection(param.getBarcode())){
+            throw new CoolException(param.getBarcode() + "璐ф灦鐮佹湁璇紝璇锋纭壂鐮侊紒锛侊紒");
+        }
+        if (Cools.isEmpty(param.getDevNo()) || !CodeDetectionUtil.carCodeDetection(param.getDevNo())){
+            throw new CoolException(param.getDevNo() + "灏忚溅鍦扮爜鏈夎锛岃姝g‘鎵爜锛侊紒锛�");
+        }
         Date now = new Date();
         AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", param.getDevNo()));
         AgvWrkMast agvWrkMastSource = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", param.getDevNo()));
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index eb7bdaa..754c295 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -11,6 +11,7 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.WorkLogHandler;
+import com.zy.asrs.utils.CodeDetectionUtil;
 import com.zy.asrs.utils.MatUtils;
 import com.zy.asrs.utils.SaasUtils;
 import com.zy.asrs.utils.Utils;
@@ -80,6 +81,9 @@
 //        if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
 //            throw new CoolException(BaseRes.PARAM);
 //        }
+        if (Cools.isEmpty(param.getBarcode()) || !CodeDetectionUtil.barcodeDetection(param.getBarcode())){
+            throw new CoolException(param.getBarcode() + "璐ф灦鐮佹湁璇紝璇锋纭壂鐮侊紒锛侊紒");
+        }
         // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
         if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                 eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
@@ -481,6 +485,9 @@
     @Transactional
     public void nodePutway(String zpallet, String locNo, User user) {
         Date now = new Date();
+        if (Cools.isEmpty(zpallet) || !CodeDetectionUtil.barcodeDetection(zpallet)){
+            throw new CoolException(zpallet + "璐ф灦鐮佹湁璇紝璇锋纭壂鐮侊紒锛侊紒");
+        }
 
         //澧炲姞骞冲簱搴撳瓨
         List<WaitPakin> waitPakinList = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", zpallet));
diff --git a/src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java b/src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java
new file mode 100644
index 0000000..e9419d9
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/CodeDetectionUtil.java
@@ -0,0 +1,38 @@
+package com.zy.asrs.utils;
+
+import java.util.regex.Pattern;
+
+public class CodeDetectionUtil {
+
+    /**
+     * 妫�娴嬭揣鏋剁爜
+     */
+    public static boolean barcodeDetection(String barcode){
+        Pattern pattern = Pattern.compile("\\d{6}");
+        return pattern.matcher(barcode).matches();
+    }
+
+    /**
+     * 妫�娴嬪皬杞﹀湴鐮�
+     */
+    public static boolean carCodeDetection(String carCode){
+        return carCode.contains("_");
+    }
+
+    public static void main(String[] args) {
+        System.out.println("barcodeDetection:"+"22222222===>"+barcodeDetection("22222222"));
+        System.out.println("barcodeDetection:"+"222222===>"+barcodeDetection("222222"));
+        System.out.println("barcodeDetection:"+"111===>"+barcodeDetection("111"));
+        System.out.println("barcodeDetection:"+"DB_123ss===>"+barcodeDetection("DB_123ss"));
+        System.out.println("barcodeDetection:"+"12_1231===>"+barcodeDetection("12_1231"));
+        System.out.println("barcodeDetection:"+"DB_123456===>"+barcodeDetection("DB_123456"));
+
+        System.out.println("carCodeDetection:"+"22222222===>"+carCodeDetection("22222222"));
+        System.out.println("carCodeDetection:"+"222222===>"+carCodeDetection("222222"));
+        System.out.println("carCodeDetection:"+"111===>"+carCodeDetection("111"));
+        System.out.println("carCodeDetection:"+"DB_123ss===>"+carCodeDetection("DB_123ss"));
+        System.out.println("carCodeDetection:"+"12_1231===>"+carCodeDetection("12_1231"));
+        System.out.println("carCodeDetection:"+"DB_123456===>"+carCodeDetection("DB_123456"));
+    }
+
+}

--
Gitblit v1.9.1