From 617a8c4fc0b81ec4b96db8a013a91f4e666b0b96 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期三, 08 一月 2025 14:33:45 +0800
Subject: [PATCH] 出现空指针异常

---
 src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
index d0cfc70..dfe98c9 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManPakOutServiceImpl.java
@@ -1,10 +1,14 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.entity.ManPakOut;
 import com.zy.asrs.mapper.ManPakOutMapper;
 import com.zy.asrs.service.ManPakOutService;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Service("manPakOutService")
 public class ManPakOutServiceImpl extends ServiceImpl<ManPakOutMapper, ManPakOut> implements ManPakOutService {
@@ -18,4 +22,76 @@
     public ManPakOut selectByOrderWithName(String orderNo) {
         return this.baseMapper.selectByOrderWithName(orderNo);
     }
+
+    @Override
+    public List<ManPakOut> selectByLocType(String locType) {
+        return this.selectList(new EntityWrapper<ManPakOut>().like("loc_no",locType+"-")
+                .andNew().eq("status",0).or().eq("status",8));
+    }
+
+    @Override
+    public List<ManPakOut> pakoutByLocType(String locType) {
+        List<ManPakOut> manPakOuts = this.selectByLocType(locType);
+
+        manPakOuts.sort((m1,m2) -> {
+            //鍙栧簱浣嶇紪鐮佹渶鍚�6浣嶅緱鍒版帓鍒楀眰
+            String locNo1 = m1.getLocNo().substring(m1.getLocNo().length()-6);
+            String locNo2 = m2.getLocNo().substring(m2.getLocNo().length()-6);
+
+            int row1 = Integer.parseInt(locNo1.substring(0, 2));
+            int row2 = Integer.parseInt(locNo2.substring(0, 2));
+            int bay1 = Integer.parseInt(locNo1.substring(2,4));
+            int bay2 = Integer.parseInt(locNo2.substring(2,4));
+
+            //姣忎袱鎺掍负涓�涓捣鐐癸紝鏍规嵁鍒楁潵鐢辫繎鍒拌繙鎺掑簭
+            if((row1 + 1)/2 != (row2+1)/2){
+                return row1 - row2;
+            }else {
+                return bay1 - bay2;
+            }
+        });
+
+        return manPakOuts;
+    }
+
+    public static void main(String[] args) {
+
+        String str = "DT-13C-010203";
+        System.out.println(str.substring(str.length()-6));
+
+        List<ManPakOut> list = new ArrayList<>();
+        list.add(new ManPakOut("DT-C-010403"));
+        list.add(new ManPakOut("DT-C-050203"));
+        list.add(new ManPakOut("DT-C-040503"));
+        list.add(new ManPakOut("DT-C-030203"));
+        list.add(new ManPakOut("DT-C-010503"));
+        list.add(new ManPakOut("DT-C-020103"));
+        list.add(new ManPakOut("DT-C-020203"));
+        list.add(new ManPakOut("DT-C-040103"));
+
+        //Collections.sort(list);
+
+        list.sort((m1,m2) ->{
+
+            //鍙栧簱浣嶇紪鐮佹渶鍚�6浣嶅緱鍒版帓鍒楀眰
+            String locNo1 = m1.getLocNo().substring(m1.getLocNo().length()-6);
+            String locNo2 = m2.getLocNo().substring(m2.getLocNo().length()-6);
+
+            int row1 = Integer.parseInt(locNo1.substring(0, 2));
+            int row2 = Integer.parseInt(locNo2.substring(0, 2));
+            int bay1 = Integer.parseInt(locNo1.substring(2,4));
+            int bay2 = Integer.parseInt(locNo2.substring(2,4));
+
+            if((row1 + 1)/2 != (row2+1)/2){
+                return row1 - row2;
+            }else {
+                return bay1 - bay2;
+            }
+
+        });
+
+        list.forEach(manPakOut -> {
+            System.out.println(manPakOut);
+        });
+    }
 }

--
Gitblit v1.9.1