/** * 批量生成编号 * @param num * @param warehouseId * @return */ public synchronized List<String> generatCodeList(int num,long warehouseId){ MesRack rack = this.getCurrentRack(warehouseId); String oldRackCode; List<String> rackCodes = new ArrayList<String>(); int alexIntNew; int lastCodeNum ; //库房没有架位 if(rack==null){ lastCodeNum = 0; for(int i=1; i<num+1; i++){ lastCodeNum++; alexIntNew = 65+((lastCodeNum-1)/999); if(i%999==1){ rackCodes.add((char)alexIntNew+"001"); }else{ //余数补零 if(lastCodeNum%999==0){ rackCodes.add((char)alexIntNew+"999"); }else { rackCodes.add((char) alexIntNew + String.format("%03d", lastCodeNum % 999)); }
批量生成编号(A~Z+3位流水编号)
这段代码展示了如何批量生成从A到Z结合3位流水编号的序列。根据库房的现有架位情况,动态计算并填充编号,确保编号的连续性和唯一性。在没有架位时从A001开始,已存在架位时则基于现有编号继续生成。
摘要由CSDN通过智能技术生成