From 47a751cb301d05276ae5d75145d57b2d090fe4e1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 01 七月 2024 10:58:35 +0800
Subject: [PATCH] change

---
 src/main/java/com/nanometer/smartlab/service/SysSequenceServiceImpl.java |   33 ++++++++++++++-------------------
 1 files changed, 14 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/SysSequenceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysSequenceServiceImpl.java
index e3f93dd..32ddde5 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysSequenceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysSequenceServiceImpl.java
@@ -27,32 +27,30 @@
     @Resource(name = "sysSequenceDao")
     SysSequenceDao sysSequenceDao;
 
-    @Transactional(propagation = Propagation.REQUIRED)
-    private synchronized int getNextVal(String seqId) {
+    public synchronized int getNextVal(String seqName) {
         int result = -1;
         try {
-            if (StringUtils.isNotBlank(seqId)) {
-                SysSequence sequence = this.sysSequenceDao.getSysSequence(seqId);
+            if (seqName!=null) {
+                SysSequence sequence = this.sysSequenceDao.getSysSequenceByName(seqName);
+                int currentVal =0;
                 if (sequence == null) {
                     sequence = new SysSequence();
-                    sequence.setId(seqId);
-                    sequence.setName(seqId);
+                    sequence.setName(seqName);
                     sequence.setMinVal(0);
                     sequence.setMaxVal(99999);
                     sequence.setStep(1);
-                    sequence.setCurrentVal(0);
+                    currentVal = sequence.getStep();
+                    sequence.setCurrentVal(currentVal);
                     this.sysSequenceDao.insertSysSequence(sequence);
+                }else{
+                    currentVal = sequence.getCurrentVal() + sequence.getStep();
+                    if (currentVal > sequence.getMaxVal()) {
+                        currentVal = sequence.getMinVal();
+                    }
+                    sequence.setCurrentVal(currentVal);
+                    this.sysSequenceDao.updateSysSequence(sequence);
                 }
-
-                int currentVal = sequence.getCurrentVal() + sequence.getStep();
-                if (currentVal > sequence.getMaxVal()) {
-                    currentVal = sequence.getMinVal();
-                }
-
-                sequence.setCurrentVal(currentVal);
                 result = currentVal;
-
-                this.sysSequenceDao.updateSysSequence(sequence);
             }
         } catch (Exception e) {
             logger.error(e.getMessage(), e);
@@ -84,7 +82,6 @@
         return result.toString();
     }
 
-    @Transactional(propagation = Propagation.REQUIRED)
     public String getOrderCode() {
         StringBuffer result = new StringBuffer("");
         result.append("OD");
@@ -100,9 +97,7 @@
                 seqStr = String.format("%05d", seq);
             }
         }
-
         result.append(seqStr);
-
         return result.toString();
     }
 }

--
Gitblit v1.9.2