From b04a7e554c7d7c5ffb6305915bb142ed26d0cabf Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期三, 01 十一月 2023 14:24:47 +0800 Subject: [PATCH] 药剂Id生成--日期+三位顺序号 --- igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) diff --git a/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java b/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java index b8ffb1d..ec6a803 100644 --- a/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java +++ b/igds-recir/src/main/java/com/ld/igds/drug/service/HDrugService.java @@ -14,6 +14,7 @@ import com.ld.igds.util.ContextUtil; import com.ld.igds.util.RedisUtil; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.time.DateFormatUtils; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -93,7 +94,7 @@ data.setUpdateUser(ContextUtil.getLoginUserCName()); try { if (null == data.getId()) { - String id = createId(data.getCompanyId()); + String id = createId(data.getCompanyId(), data.getCgrq()); data.setId(id); session.save(data); } else { @@ -184,26 +185,27 @@ } - public String createId(String companyId) { + public String createId(String companyId, Date time) { + String timeKey = DateFormatUtils.format(time, "yyyyMMdd"); // 浠庣紦瀛樹腑鑾峰彇宸叉湁鐨勭粍缁囩紪鐮� String cacheKey = RedisConst.buildKey(companyId, HDrugService.CACHE_DRUG_ID); String cacheId = (String) redisUtil.get(cacheKey); - if (null != cacheId) { + if (null != cacheId && cacheId.indexOf(timeKey) >= 0) { String temp = cacheId.substring(cacheId.length() - 3); Integer i = Integer.valueOf(temp); - cacheId = String.format("%03d", ++i); + cacheId = timeKey + String.format("%03d", ++i); } else { List<Drug> result = listDrug(companyId, null); if (null == result || result.size() == 0) { - cacheId = "001"; + cacheId = timeKey + "001"; } else { Drug drug = result.get(0); String temp = drug.getId().substring(drug.getId().length() - 3); Integer i = Integer.valueOf(temp); - cacheId = String.format("%03d", ++i); + cacheId = timeKey + String.format("%03d", ++i); } } // 鏇存柊缂撳瓨 -- Gitblit v1.9.3