From ff5d5e357ba92344132143e2738019d4f13b110d Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Tue, 29 Apr 2025 14:21:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A2=E6=8A=A5=E4=BB=A3=E7=A0=81=E7=BC=96?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...terielSynchronizationEventServiceImpl.java | 97 +++++++++++++++++-- .../test/java/com/hzya/frame/temButtom.java | 28 ++++++ 2 files changed, 115 insertions(+), 10 deletions(-) diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java index 382ae8d5..34ff1252 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/zjmaterielsynchronizationevent/service/impl/ZjMaterielSynchronizationEventServiceImpl.java @@ -343,7 +343,7 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService list,List inventoryEntities) throws Exception { - Map lsh = new HashMap<>();//当前流水号 + Map lsh = new HashMap<>();//当前流水号 List savedata = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { @@ -352,7 +352,7 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService= 'A' && firstChar <= 'Z'){ + String hm = maxnum.substring(maxnum.length() - 3); + if("999".equals(hm)){ + hm = "000"; + firstChar++; + }else { + hm = String.format("%03d", Integer.valueOf(hm)+1); + } + maxnum = firstChar+hm; + formattedNum = firstChar+hm; + }else { + formattedNum = String.format("%04d", Integer.valueOf(maxnum)+1); + maxnum = String.valueOf(Integer.valueOf(maxnum)+1); + } + + lsh.put(entity.getField0043code(),maxnum); wlcode.append(entity.getField0043code()).append(formattedNum); if(entity.getField0008code() != null && !"".equals(entity.getField0008code())){ @@ -422,9 +442,29 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService= 'A' && firstChar <= 'Z'){ + String hm = maxnum.substring(maxnum.length() - 2); + if("99".equals(hm)){ + hm = "00"; + firstChar++; + }else { + hm = String.format("%02d", Integer.valueOf(hm)+1); + } + maxnum = firstChar+hm; + formattedNum = firstChar+hm; + }else { + formattedNum = String.format("%03d", Integer.valueOf(maxnum)+1); + maxnum = String.valueOf(Integer.valueOf(maxnum)+1); + } + + //String formattedNum = String.format("%03d", ++maxnum); lsh.put(entity.getField0043code(),maxnum); wlcode.append(entity.getField0043code()); if(entity.getField0017code() != null && "A贴片类".equals(entity.getField0017code())){ @@ -457,9 +497,28 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService= 'A' && firstChar <= 'Z'){ + String hm = maxnum.substring(maxnum.length() - 3); + if("999".equals(hm)){ + hm = "000"; + firstChar++; + }else { + hm = String.format("%03d", Integer.valueOf(hm)+1); + } + maxnum = firstChar+hm; + formattedNum = firstChar+hm; + }else { + formattedNum = String.format("%04d", Integer.valueOf(maxnum)+1); + maxnum = String.valueOf(Integer.valueOf(maxnum)+1); + } + lsh.put(entity.getField0043code(),maxnum); wlcode.append(entity.getField0043code()); wlcode.append(formattedNum); @@ -479,9 +538,27 @@ public class ZjMaterielSynchronizationEventServiceImpl extends BaseService= 'A' && firstChar <= 'Z'){ + String hm = maxnum.substring(maxnum.length() - 4); + if("9999".equals(hm)){ + hm = "0000"; + firstChar++; + }else { + hm = String.format("%04d", Integer.valueOf(hm)+1); + } + maxnum = firstChar+hm; + formattedNum = firstChar+hm; + }else { + formattedNum = String.format("%05d", Integer.valueOf(maxnum)+1); + maxnum = String.valueOf(Integer.valueOf(maxnum)+1); } - String formattedNum = String.format("%05d", ++maxnum); lsh.put(entity.getField0043code(),maxnum); wlcode.append(entity.getField0043code()); wlcode.append(formattedNum); diff --git a/base-buildpackage/src/test/java/com/hzya/frame/temButtom.java b/base-buildpackage/src/test/java/com/hzya/frame/temButtom.java index aac7e4f0..a533315e 100644 --- a/base-buildpackage/src/test/java/com/hzya/frame/temButtom.java +++ b/base-buildpackage/src/test/java/com/hzya/frame/temButtom.java @@ -42,6 +42,34 @@ public class temButtom { @Test public void test01() { + String maxnum = "89988"; + + String formattedNum = null; + char firstChar = Character.toUpperCase(maxnum.charAt(0)); + if("99999".equals(maxnum)){ + maxnum = "A0000"; + formattedNum = "A0000"; + }else if(firstChar >= 'A' && firstChar <= 'Z'){ + String hm = maxnum.substring(maxnum.length() - 4); + if("9999".equals(hm)){ + hm = "0000"; + firstChar++; + }else { + hm = String.format("%04d", Integer.valueOf(hm)+1); + } + maxnum = firstChar+hm; + formattedNum = firstChar+hm; + }else { + formattedNum = String.format("%05d", Integer.valueOf(maxnum)+1); + maxnum = String.valueOf(Integer.valueOf(maxnum)+1); + } + + System.out.println(maxnum); + System.out.println(formattedNum); + + + + String regex = "[\uFF00-\uFF5D\uFF5F-\uFFEF]"; // 编译正则表达式 Pattern pattern = Pattern.compile(regex);