Quellcode durchsuchen

添加产品的编号修改
# Conflicts:
# watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/MachineController.java

wangxiaoming vor 7 Jahren
Ursprung
Commit
8e1a4cbd0d

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/ProduceServiceImpl.java

@@ -75,7 +75,7 @@ public class ProduceServiceImpl implements ProduceService {
     //添加产品
     @Transactional
     public Integer saveProduce(Produce produce){
-        produce.setProduceNo(ProduceNoUtil.getProduceNo());
+        produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
         produce.setProduceStatus(1);
         int flag = produceMapper.saveProduce(produce);
         Integer produceId = produce.getProduceId(); // 获取产品主键

+ 42 - 6
watero-rst-service/src/main/java/com/iamberry/rst/util/ProduceNoUtil.java

@@ -1,22 +1,50 @@
 package com.iamberry.rst.util;
 
+import com.iamberry.rst.core.pts.Produce;
+import com.iamberry.rst.service.pts.mapper.ProduceMapper;
+
+import javax.print.DocFlavor;
+import java.util.LinkedList;
+import java.util.List;
+
 /**
  * 用于获取  产品,工序,节点编号
  * Created by wangxiaoming on 2017/9/1.
  */
 public class ProduceNoUtil {
 
-    private final static  String[] number = {"0","1","2","3","4"};
+    //0-9,a-z,A-Z 62个编号
+    private final static  String[] NUMBER = {"0","1","2","3","4","5","6","7","8","9",
+            "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
+            "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
+
+    //已删除的产品,工序的编号为#
+    private final static  String NO_NUMBER = "#";
 
     /**
      * 获取产品编号
      * @return
      */
-    public static String getProduceNo(){
-        String num = "A";
+    public static String getProduceNo( ProduceMapper produceMapper){
+        List<String> list = new LinkedList<String>();
+        for (String nums : NUMBER){
+            list.add(nums);
+        }
+        List<Produce> produceList = produceMapper.getProduceList();
+        for (int k=0 ; k<produceList.size(); k++) {
+            String produceNo = produceList.get(k).getProduceNo();
+            if (produceNo != null && !"".equals(produceNo) && !"#".equals(produceNo) ){
+                list.remove(produceNo);
+            }
+        }
+        String num = NO_NUMBER;
+        if(list.size() > 0 && !"".equals(list.get(0))){
+            num = list.get(0);
+        }
         return num;
     }
 
+
     /**
      * 获取工序编号
      * @return
@@ -30,15 +58,23 @@ public class ProduceNoUtil {
      * @return
      */
     public static String getProcessNo(Integer i){
-        return number[i];
+        return NUMBER[i];
     }
 
-
     /**
      * 获取节点操作
      * @return
      */
     public static String getNodeNo(Integer i){
-        return number[i];
+        return NUMBER[i];
+    }
+
+    public static void main(String[] args) {
+        String ss = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+        String s[] = ss.split("");
+        for (String x : s){
+            System.out.print("\""+x+"\",");
+        }
+        System.out.println(s.length);
     }
 }