34 lines
1014 B
Java
34 lines
1014 B
Java
|
|
package cn.palmte.work.service;
|
||
|
|
|
||
|
|
import org.slf4j.Logger;
|
||
|
|
import org.slf4j.LoggerFactory;
|
||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
|
import org.springframework.stereotype.Service;
|
||
|
|
|
||
|
|
import javax.persistence.EntityManager;
|
||
|
|
import javax.persistence.PersistenceContext;
|
||
|
|
import javax.persistence.Query;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @author Yuanping Zhang
|
||
|
|
* @date 2022/08/08
|
||
|
|
*/
|
||
|
|
@Service
|
||
|
|
public class NumSeqService {
|
||
|
|
private static final Logger logger = LoggerFactory.getLogger(NumSeqService.class);
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
@PersistenceContext
|
||
|
|
private EntityManager entityManager;
|
||
|
|
|
||
|
|
public String generate() {
|
||
|
|
String prefix = "P";
|
||
|
|
String querySql = "select num from num_seq limit 1";
|
||
|
|
Query nativeQuery = entityManager.createNativeQuery(querySql);
|
||
|
|
int num = (Integer)nativeQuery.getSingleResult();
|
||
|
|
String counterString = String.format("%05d", num++);
|
||
|
|
entityManager.createNativeQuery("update num_seq set num = " + num);
|
||
|
|
return prefix + counterString;
|
||
|
|
}
|
||
|
|
}
|