From 69e89acda9282ee1b5a3ad1b344386c691a794f4 Mon Sep 17 00:00:00 2001 From: yjf <2211675158@qq.com> Date: Thu, 31 Mar 2022 10:01:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=8F=E5=88=97=E5=8F=B7=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src_core/com/tenwa/flow/util/FlowUtil.java | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src_core/com/tenwa/flow/util/FlowUtil.java b/src_core/com/tenwa/flow/util/FlowUtil.java index 78e4ea021..f5a3c950e 100644 --- a/src_core/com/tenwa/flow/util/FlowUtil.java +++ b/src_core/com/tenwa/flow/util/FlowUtil.java @@ -192,27 +192,29 @@ public class FlowUtil { String querySql = DataOperatorUtil.getQuerySql(searchCondtion); BizObjectQuery bqDest = tNumberManager.createQuery(querySql); for (String key : searchCondtion.keySet()) { - bqDest.setParameter(key, searchCondtion.get(key).toString()); + bqDest.setParameter(key, searchCondtion.get(key)); } BizObject serialNumber = null; - serialNumber = bqDest.getSingleResult(true);// 目标JBO,需要做更新操作 - - + serialNumber = bqDest.getSingleResult();// 目标JBO,需要做更新操作 if(null==serialNumber){ - serialNumber = tNumberManager.newObject(); - if(null != queryYear) - { + if (null != queryYear) { currentYear = queryYear; } serialNumber.setAttributeValue("year_",currentYear); serialNumber.setAttributeValue("type_",type); - serialNumber.setAttributeValue("order_number_", "0"); + serialNumber.setAttributeValue("order_number_", "1"); + tNumberManager.saveObject(serialNumber); + } else { + Transaction sqlCa = Transaction.createTransaction(tx); + SqlObject sqlObject = new SqlObject("update T_SERIAL_NUMBER set order_number_ = order_number_+1 where " + querySql); + for (String key : searchCondtion.keySet()) { + sqlObject.setParameter(key, searchCondtion.get(key)); + } + sqlCa.executeSQL(sqlObject); + serialNumber = bqDest.getSingleResult(); } - int maxOrderNumber = Integer.valueOf(serialNumber.getAttribute("order_number_").getInt()) + 1; - serialNumber.setAttributeValue("order_number_",maxOrderNumber); - tNumberManager.saveObject(serialNumber); - return maxOrderNumber; + return serialNumber.getAttribute("order_number_").getInt(); } //考虑并发情况必须采用同步机制 @SuppressWarnings("unchecked")