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