In the project, how to generate the next serial number according to the current serial number! _ Project Tips

Source: Internet
Author: User

In the project, how to generate the next serial number according to the current serial number.

Datatype.java

Package cn.itcast.crm.util;

Import Org.apache.commons.lang.StringUtils; public class DataType {/** * generates the first serial number * Water bit 3-----001 * Flow bit 4-----0001/public static String Genefi with a given stream bit Rstglidenumber (Integer glidebit) {if glidebit==null| |
		glidebit<3) {glidebit=3;
		} String glidenumber= "";
		for (int i=0;i<glidebit-1;i++) {glidenumber=glidenumber+ "0";
		} glidenumber=glidenumber+ "1";
	return glidenumber; /** * According to the current serial number, generate the next serial number * is currently 001 the next 002 * is currently 005 next 006 * @param curglidenumber Current serial number * @return * String
	10005----Shaping 10005 * Plastic 10005+1----shaping 10006 * shaping 10006----String 10006 * string 10006----intercept 0006 */ public static string Genenextglidenumber (String curglidenumber) {if (Stringutils.isblank (Curglidenumber)) {throw new
		RuntimeException ("Cannot calculate next serial number");
		} curglidenumber= "1" +curglidenumber;
		Integer Icurglidenumber=integer.parseint (Curglidenumber);
		icurglidenumber++;
		Curglidenumber=icurglidenumber+ ""; CurGlidenumber=curglidenumber.substring (1);
	return curglidenumber;
	public static void Main (string[] args) {System.out.println (Genenextglidenumber ("004"));
 }

}

Companyserviceimpl.java

Package Cn.itcast.crm.service.impl;
Import Java.util.Date;

Import java.util.List;

Import Javax.annotation.Resource;
Import Org.apache.commons.lang.time.DateFormatUtils;
Import Org.springframework.stereotype.Service;
Import org.springframework.transaction.annotation.Isolation;
Import org.springframework.transaction.annotation.Propagation;

Import org.springframework.transaction.annotation.Transactional;
Import Cn.itcast.crm.dao.ISysCodeRuleDao;
Import Cn.itcast.crm.domain.SysCodeRule;
Import Cn.itcast.crm.service.ICompanyService;

Import Cn.itcast.crm.util.DataType; @Transactional (readonly=true) @Service (icompanyservice.service_name) public class Companyserviceimpl implements
	
	Icompanyservice {@Resource (name=isyscoderuledao.service_name) private Isyscoderuledao Syscoderuledao; @Transactional (isolation=isolation.default,propagation=propagation.required,readonly=false) public String Getcompanycodebytabname (String tabname) {//Get Code rules, query Sys_code_rule String wherehql= "and O. tabname=? ";
		Object[] Params={tabname};
		List<syscoderule> list=syscoderuledao.findobjectbyconditionwithnopage (WHEREHQL, params); if (list==null| |
		List.size ()!=1) {throw new RuntimeException ("Cannot generate a customer's encoding");
		
		} syscoderule syscoderule=list.get (0);  * Gets whether the value of the field that has been modified or newly added is//* if it has been modified or added = = ' Y ' if (syscoderule.getavailable (). Equals ("Y")) {//* gets
			      Flow bit =3 Integer glidebit=syscoderule.getglidebit ();
		          * Generate the first serial number 001 String Firstglidenumber=datatype.genefirstglidenumber (glidebit);
		          
		          * Compute the next serial number 002 String nextglidenumber=datatype.genenextglidenumber (firstglidenumber);

		          * Get the current time format of the system YyyyMMdd 20110914 String Curdate=dateformatutils.format (New Date (), "yyyyMMdd"); * Generate customer code//* prefix + "-" + date bit format to generate the current date [Yyyy-mm-dd]+ "-" +001 c-2011-09-14-001 S
                            Tring Code=syscoderule.getareaprefix () + "-"  +dateformatutils.format (New Date (), Syscoderule.getareatime ()) + "-" +firstglidenumber;
		             * Modify Code Rules table//* the next serial number = "002" Syscoderule.setnextseq (Nextglidenumber);
		             * Current date 20110914 syscoderule.setcurdate (curdate);
                     * Whether it has been modified = ' n ' syscoderule.setavailable ("n");
                 Syscoderuledao.update (Syscoderule);
                System.out.println ("1:code:" +code);
		return code;
			
			   }else{//whether modified or newly added = = ' N '//* gets the value of the current date field in the Code Rule table String curdate=syscoderule.getcurdate (); 
               * Get the current date of the system, String Syscurdate=dateformatutils.format (new Date (), "yyyyMMdd");
	        	         * If the value of the current date field in the code rules table = = The current date of the system, if (Curdate.equals (syscurdate)) {//* Gets the next serial number = "002"
	        	   
	                    String Nextseq=syscoderule.getnextseq ();
	    * Calculate the new serial number 003    	         String Nextglidenumber=datatype.genenextglidenumber (NEXTSEQ); * Generate customer code//* prefix + "-" + date bit format to generate the current date [Yyyy-mm-dd]+ "-" +001 String code=syscod Erule.getareaprefix () + "-" +dateformatutils.format (New Date (), Syscoderule.getareatime
	                     ()) + "-" +NEXTSEQ;
	                     * Modify Code Rules table//* the next serial number = "003" Syscoderule.setnextseq (Nextglidenumber); * Current date 20110914//* has been modified = ' N ' syscoderuledao.update (Syscoderu
	        	         Le);
	        	         System.out.println ("2:code:" +code);
	           return code; }else{//If the value of the current date field in the Code Rules table!= the current date of the system,//* gets the running bit =3 Integer Glidebit=syscoderul
	                E.getglidebit ();
	* Generate the first serial number 001 String Firstglidenumber=datatype.genefirstglidenumber (glidebit);                * Compute the next serial number 002 String nextglidenumber=datatype.genenextglidenumber (firstglidenumber); 
	        	    
	        	    * Generate customer code//* prefix + "-" + date-bit format to generate the current date [Yyyy-mm-dd]+ "-" +001 String Code=syscoderule.getareaprefix () + "-" +dateformatutils.format (New Date (), Syscoderule.getareati
	                
	        	    Me ()) + "-" +firstglidenumber;
	                    * Modify Code Rules table//* the next serial number = "002" Syscoderule.setnextseq (Nextglidenumber);
	                    * Current date 20110915 syscoderule.setcurdate (syscurdate);
	        	        * Whether it has been modified = ' n ' syscoderule.setavailable ("n");
	        	        Syscoderuledao.update (Syscoderule);
	        	        System.out.println ("3:code:" +code);
	           return code;
 }
		}
}
}
Using the above code, you can automatically generate the serial number.



Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.