From 65af56af565a47e191aa76ede4a62ab3fd91e789 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期一, 24 七月 2023 09:10:28 +0800
Subject: [PATCH] 质量巡检添添加优化

---
 igds-core/src/main/java/com/ld/igds/m/service/HQualityManageService.java |   54 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 34 insertions(+), 20 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 5762679..3349e2c 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
@@ -1,6 +1,7 @@
 package com.ld.igds.m.service;
 
 import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
+import com.bstek.dorado.data.entity.EntityUtils;
 import com.bstek.dorado.data.provider.Page;
 import com.ld.igds.check.mapper.CheckStandardMapper;
 import com.ld.igds.constant.RedisConst;
@@ -10,8 +11,10 @@
 import com.ld.igds.util.RedisUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.Session;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -28,8 +31,7 @@
     private CheckStandardMapper checkStandardMapper;
 
 
-
-    public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception{
+    public void listQuality(Page<MQuality> page, Map<String, Object> param) throws Exception {
         String hql = " from " + MQuality.class.getName()
                 + " where companyId =:companyId and deptId =:deptId";
 
@@ -39,20 +41,20 @@
 
         if (null != param) {
             String str = (String) param.get("depotId");
-            if(StringUtils.isNotEmpty(str)){
+            if (StringUtils.isNotEmpty(str)) {
                 hql += " and depotId =:depotId";
-                args.put("depotId",  str );
+                args.put("depotId", str);
             }
 
             str = (String) param.get("type");
-            if(StringUtils.isNotEmpty(str)){
+            if (StringUtils.isNotEmpty(str)) {
                 hql += " and type =:type";
-                args.put("type",  str );
+                args.put("type", str);
             }
 
 
             Date date = (Date) param.get("start");
-            if(null != date) {
+            if (null != date) {
                 hql += " and time >=:start";
                 args.put("start", DateUtil.getCurZero(date));
             }
@@ -72,12 +74,13 @@
 
     /**
      * 鑾峰彇浠撳簱鏈�鏂颁竴鏉¤川妫�鏁版嵁
+     *
      * @param depotId
      * @return
      * @throws Exception
      */
-    public MQuality getLastData(String depotId){
-        if(StringUtils.isEmpty(depotId)){
+    public MQuality getLastData(String depotId) {
+        if (StringUtils.isEmpty(depotId)) {
             return null;
         }
         String hql = " from " + MQuality.class.getName()
@@ -86,12 +89,12 @@
         args.put("companyId", ContextUtil.getCompanyId());
 
         hql += " and depotId =:depotId";
-        args.put("depotId",  depotId );
+        args.put("depotId", depotId);
         hql += " order by time DESC";
-        List<MQuality> list = this.query(hql,args);
-        if(list != null && list.size() > 0){
+        List<MQuality> list = this.query(hql, args);
+        if (list != null && list.size() > 0) {
             MQuality quality = list.get(0);
-            quality.setCheckItems(checkStandardMapper.getCheckItemById(quality.getId(),ContextUtil.getCompanyId()));
+            quality.setCheckItems(checkStandardMapper.getCheckItemById(quality.getId(), ContextUtil.getCompanyId()));
             return list.get(0);
         }
         return null;
@@ -99,23 +102,25 @@
 
     /**
      * 浠庣紦瀛樿幏鍙栧綋鍓嶄粨搴撶殑鏈�鏂颁竴鏉¤川妫�鏁版嵁
+     *
      * @param depotId
      * @return
      * @throws Exception
      */
     public MQuality getCacheLastData(String depotId) {
-        if(StringUtils.isEmpty(depotId)){
+        if (StringUtils.isEmpty(depotId)) {
             return null;
         }
-        MQuality quality = (MQuality) redisUtil.get(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,depotId));
-        if(quality == null){
+        MQuality quality = (MQuality) redisUtil.get(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, depotId));
+        if (quality == null) {
             quality = this.getLastData(depotId);
-            if(quality != null ){
-                redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,depotId),quality,60 * 60 *24);
+            if (quality != null) {
+                redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, depotId), quality, 60 * 60 * 24);
             }
         }
         return quality;
     }
+
     public void saveQuality(String id, MQuality data) {
         if (null == data.getCompanyId()) {
             data.setCompanyId(ContextUtil.getCompanyId());
@@ -124,6 +129,7 @@
             data.setDeptId(ContextUtil.subDeptId(null));
         }
         Session session = this.getSessionFactory().openSession();
+        data.setUpdateTime(new Date());
         try {
             if (null == data.getId()) {
                 data.setId(id);
@@ -131,9 +137,16 @@
             } else {
                 session.update(data);
             }
-            redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,data.getDepotId()));
+            redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
+            MQuality newData;
+            if (EntityUtils.isEntity(data)) {
+                newData = new MQuality();
+                BeanUtils.copyProperties(data, newData, new String[]{"checkItems"});
+            } else {
+                newData = data;
+            }
 
-            redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(),RedisConst.KEY_DEPOT_QUALITY,data.getDepotId()),data,60 * 60 *24);
+            redisUtil.set(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()), newData, 60 * 60 * 24);
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
@@ -147,6 +160,7 @@
         try {
             if (null != data.getId()) {
                 session.delete(data);
+                redisUtil.del(RedisConst.buildKey(ContextUtil.getCompanyId(), RedisConst.KEY_DEPOT_QUALITY, data.getDepotId()));
             }
         } catch (Exception e) {
             e.printStackTrace();

--
Gitblit v1.9.3