From 930d29f39d115fe76c305af4320c2acbcb30c445 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期四, 12 六月 2025 10:37:37 +0800
Subject: [PATCH] 优化SQL
---
igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java | 88 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 82 insertions(+), 6 deletions(-)
diff --git a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
index b54172e..e149c87 100644
--- a/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
+++ b/igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java
@@ -11,6 +11,7 @@
import com.ld.igds.util.DateUtil;
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.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -126,7 +127,7 @@
if (null == data.getDeptId()) {
data.setDeptId(ContextUtil.subDeptId(null));
}
- if (null != data.getZblb() || "" != data.getZblb()) {
+ if (null != data.getZblb() && "" != data.getZblb() && "null" != data.getZblb()) {
String[] str = data.getZblb().split("#");
//闃叉鍦ㄦ洿鏂版搷浣滄椂鍐嶆瀛樺叆鐩稿悓鐨勬暟鎹�
Set<String> metrics = new HashSet<>();
@@ -144,11 +145,9 @@
try {
if (null == data.getId()) {
data.setId(id);
- session.save(data);
- } else {
- session.update(data);
}
- redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
+ session.saveOrUpdate(data);
+ redisUtil.del(RedisConst.buildKey(ContextUtil.getDefaultCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
MQuality newData;
if (EntityUtils.isEntity(data)) {
newData = new MQuality();
@@ -157,7 +156,7 @@
newData = data;
}
- redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
+ redisUtil.set(RedisConst.buildKey(ContextUtil.getDefaultCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
} catch (Exception e) {
e.printStackTrace();
} finally {
@@ -186,4 +185,81 @@
return null;
}
+ /**
+ * 鑾峰彇褰撳墠妫�楠屾椂闂存渶鍚庝竴涓狪D
+ *
+ * @param time
+ * @return
+ * @throws Exception
+ */
+ public String getIdByTime(Date time) {
+ int num = 10001;
+ String hql = " from " + MQuality.class.getName()
+ + " where companyId =:companyId ";
+ Map<String, Object> args = new HashMap<String, Object>();
+ args.put("companyId", ContextUtil.getCompanyId());
+
+ hql += " and time >=:start";
+ args.put("start", DateUtil.getCurZero(time));
+ hql += " and time <:end";
+ args.put("end", DateUtil.getNextZero(time));
+
+ hql += " order by id DESC";
+ List<MQuality> list = this.query(hql, args);
+ if (list != null && list.size() > 0) {
+// String lastId = list.get(0).getId();
+// num += Integer.parseInt(lastId.subst
+// ring(lastId.length() - 5));
+ num += Integer.valueOf(list.get(0).getId().substring(11));
+ }
+// String strNum = String.valueOf(num);
+// if (strNum.length() == 1) {
+// strNum = "1000" + strNum;
+// }
+// if (strNum.length() == 2) {
+// strNum = "100" + strNum;
+// }
+// if (strNum.length() == 3) {
+// strNum = "10" + strNum;
+// }
+// if (strNum.length() == 4) {
+// strNum = "1" + strNum;
+// }
+ return DateFormatUtils.format(time, "yyyyMMdd") + String.valueOf(num).substring(1);
+ }
+
+ public CheckItemData getCheckItem(String checkId) {
+ CheckItemData itemData = new CheckItemData();
+ if ("".equals(checkId)) {
+ itemData.setPerWet(0.0);
+ itemData.setPerImpurity(0.0);
+ return itemData;
+ }
+ itemData.setCompanyId(ContextUtil.getCompanyId());
+ itemData.setCheckId(checkId);
+ itemData.setStandardId("C01");
+ List<CheckItemData> itemData1 = checkStandardMapper.getCheckItemByParam(itemData);
+ if (!itemData1.isEmpty()) {
+ String perWet = itemData1.get(0).getValue();
+ if (StringUtils.isNotEmpty(perWet)) {
+ itemData.setPerWet(Double.parseDouble(perWet));
+ } else {
+ itemData.setPerWet(0.0);
+ }
+ }
+
+ itemData.setStandardId("C02");
+ List<CheckItemData> itemData2 = checkStandardMapper.getCheckItemByParam(itemData);
+ if (!itemData2.isEmpty()) {
+ String perImpurity = itemData2.get(0).getValue();
+ if (StringUtils.isNotEmpty(perImpurity)) {
+ itemData.setPerImpurity(Double.parseDouble(perImpurity));
+ } else {
+ itemData.setPerImpurity(0.0);
+ }
+ }
+
+ return itemData;
+ }
+
}
--
Gitblit v1.9.3