Ver código fonte

Merge remote-tracking branch 'origin/master'

丁治程 1 ano atrás
pai
commit
49ec2af1a7

+ 5 - 0
module_base/src/main/java/org/jeecg/modules/util/CacheKey.java

@@ -14,4 +14,9 @@ public class CacheKey {
      */
     public static final String CMMS_INSPECT_PLAN = "ems_cmms_inspect_plan:";
 
+    /**
+     * 保养计划 redis key
+     */
+    public static final String CMMS_UPKEEP_PLAN = "ems:cmms_upkeep_plan:";
+
 }

+ 6 - 2
module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeep/mapper/xml/CmmsUpkeepMapper.xml

@@ -33,11 +33,13 @@
         c.linker, c.linkertel, c.chargeruser, c.upkeepname, c.upkeepdesc, c.status, c.opinion
         from cmms_upkeep as c
         <where>
-            <if test="cmmsUpkeep.upkeepcode != null and cmmsUpkeep.upkeepcode != ''"> and (c.upkeepcode like concat('%', #{cmmsUpkeep.upkeepcode}, '%') or c.upkeepname like concat('%', #{cmmsUpkeep.upkeepcode}, '%'))</if>
+            <if test="cmmsUpkeep.upkeepcode != null and cmmsUpkeep.upkeepcode != ''"> and c.upkeepcode like concat('%', #{cmmsUpkeep.upkeepcode}, '%')</if>
+            <if test="cmmsUpkeep.upkeepname != null and cmmsUpkeep.upkeepname != ''"> and c.upkeepname like concat('%', #{cmmsUpkeep.upkeepname}, '%')</if>
             <if test="cmmsUpkeep.chargeruser != null and cmmsUpkeep.chargeruser != ''"> and concat(chargeruser,',') like concat('%', #{cmmsUpkeep.chargeruser}, ',%')</if>
             <if test="cmmsUpkeep.status != null and cmmsUpkeep.status != ''"> and status = #{cmmsUpkeep.status}</if>
             <if test="cmmsUpkeep.status == null or cmmsUpkeep.status == ''"> and status in ('0','1')</if>
         </where>
+        order by c.create_time desc
     </select>
 
     <!-- 查询我的相关 -->
@@ -47,10 +49,12 @@
         c.linker, c.linkertel, c.chargeruser, c.upkeepname, c.upkeepdesc, c.status, c.opinion
         from cmms_upkeep as c
         <where>
-            <if test="cmmsUpkeep.upkeepcode != null and cmmsUpkeep.upkeepcode != ''"> and (c.upkeepcode like concat('%', #{cmmsUpkeep.upkeepcode}, '%') or c.upkeepname like concat('%', #{cmmsUpkeep.upkeepcode}, '%'))</if>
+            <if test="cmmsUpkeep.upkeepcode != null and cmmsUpkeep.upkeepcode != ''"> and c.upkeepcode like concat('%', #{cmmsUpkeep.upkeepcode}, '%')</if>
+            <if test="cmmsUpkeep.upkeepname != null and cmmsUpkeep.upkeepname != ''"> and c.upkeepname like concat('%', #{cmmsUpkeep.upkeepname}, '%')</if>
             <if test="cmmsUpkeep.chargeruser != null and cmmsUpkeep.chargeruser != ''"> and (concat(c.chargeruser,',') like concat('%', #{cmmsUpkeep.chargeruser}, ',%') or exists (select nodeid from cmms_order_node where relid=c.upkeepid and create_by=#{cmmsUpkeep.chargeruser}))</if>
             <if test="cmmsUpkeep.status != null and cmmsUpkeep.status != ''"> and c.status = #{cmmsUpkeep.status}</if>
         </where>
+        from cmms_upkeep as c
     </select>
 
 </mapper>

+ 3 - 2
module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/mapper/xml/CmmsUpkeepPlanMapper.xml

@@ -36,12 +36,13 @@
         select p.id, p.create_by, p.create_time, p.update_by, p.update_time, p.remark, p.plancode, p.planname, p.upkeepprojid, p.projectname, p.address, p.supplier, p.suppliertel, p.linker, p.linkertel, p.chargeruser, p.plandesc, p.begintime, p.repeatnum, p.repeattype, p.noticenum, p.noticetype, p.status, p.nexttime, p.ifnotice, p.noticetime, e.equipmentname as equipmentName
         from cmms_upkeep_plan as p left join tpm_equipment as e on p.equipmentid = e.id
         <where>
-            <if test="cmmsUpkeepPlan.planname != null and cmmsUpkeepPlan.planname != ''"> and (p.plancode like concat('%', #{cmmsUpkeepPlan.plancode}, '%') or p.planname like concat('%', #{cmmsUpkeepPlan.planname}, '%'))</if>
+            <if test="cmmsUpkeepPlan.planname != null and cmmsUpkeepPlan.planname != ''"> and p.planname like concat('%', #{cmmsUpkeepPlan.planname}, '%')</if>
             <if test="cmmsUpkeepPlan.chargeruser != null and cmmsUpkeepPlan.chargeruser != ''"> and concat(p.chargeruser,',') like concat('%', #{cmmsUpkeepPlan.chargeruser}, ',%')</if>
             <if test="cmmsUpkeepPlan.status != null and cmmsUpkeepPlan.status != ''"> and p.status = #{cmmsUpkeepPlan.status}</if>
-            <if test="cmmsUpkeepPlan.plancode != null and cmmsUpkeepPlan.plancode != ''"> and p.plancode = #{cmmsUpkeepPlan.plancode}</if>
+            <if test="cmmsUpkeepPlan.plancode != null and cmmsUpkeepPlan.plancode != ''"> and p.plancode like concat('%', #{cmmsUpkeepPlan.plancode}, '%')</if>
             <if test="cmmsUpkeepPlan.equipmentid != null and cmmsUpkeepPlan.equipmentid != ''"> and p.equipmentid = #{cmmsUpkeepPlan.equipmentid}</if>
         </where>
+        order by p.create_time desc
     </select>
 
     <select id="getCmmsUpkeepPlanContentById" parameterType="String" resultMap="CmmsUpkeepPlanResult">

+ 47 - 5
module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/impl/CmmsUpkeepPlanServiceImpl.java

@@ -3,6 +3,8 @@ package org.jeecg.modules.cmmsUpkeepPlan.service.impl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Update;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.util.RedisUtil;
 import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
 import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan;
 import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto;
@@ -11,16 +13,15 @@ import org.jeecg.modules.cmmsUpkeepPlan.service.ICmmsUpkeepPlanService;
 import org.jeecg.modules.cmmsUpkeepPlanItem.entity.CmmsUpkeepPlanItem;
 import org.jeecg.modules.cmmsUpkeepPlanItem.service.ICmmsUpkeepPlanItemService;
 import org.jeecg.modules.util.AutoCodeUtil;
+import org.jeecg.modules.util.CacheKey;
 import org.jeecg.modules.util.UserConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @Description: 保养计划
@@ -43,6 +44,9 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
     @SuppressWarnings("all")
     private AutoCodeUtil autoCodeUtil;
 
+    @Autowired
+    private RedisUtil redisUtil;
+
     /**
      * 计算下次计划执行时间
      *
@@ -147,6 +151,7 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
             cmmsUpkeepPlanItemList.add(cmmsUpkeepPlanItem);
         }
         boolean b2 = cmmsUpkeepPlanItemService.saveBatch(cmmsUpkeepPlanItemList);
+        setRedisCache();
         return b1 && b2;
     }
 
@@ -180,6 +185,7 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
         System.out.println(ifdelplanitem);
         System.out.println(ifupdateplan);
         System.out.println(b2);
+        setRedisCache();
         return (ifdelplanitem==1)&&(ifupdateplan==1)&&b2;
     }
 
@@ -197,7 +203,9 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
      *
      */
     public int updateCmmsUpkeepPlanStatusById(CmmsUpkeepPlan cmmsUpkeepPlan){
-        return cmmsUpkeepPlanMapper.updateCmmsUpkeepPlanStatusById(cmmsUpkeepPlan);
+        int rtn = cmmsUpkeepPlanMapper.updateCmmsUpkeepPlanStatusById(cmmsUpkeepPlan);
+        setRedisCache();
+        return rtn;
     }
 
     /**
@@ -217,4 +225,38 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
         return cmmsUpkeepPlanMapper.updateCmmsUpkeepPlanIfnoticeByIds(cmmsUpkeepPlanList);
     }
 
+    /**
+     * 将计划放入redis中
+     */
+    public void setRedisCache() {
+        // 获取状态是"启用"的保养计划
+        List<CmmsUpkeepPlan> cmmsUpkeepPlanList = cmmsUpkeepPlanMapper.getCmmsUpkeepPlanByStatus("0");
+        if (cmmsUpkeepPlanList == null) {
+            cmmsUpkeepPlanList = new ArrayList<>();
+        }
+
+        // 删除redis中的保养计划
+        redisUtil.removeAll(CacheKey.CMMS_UPKEEP_PLAN+"*");
+
+        // 将保养计划放在redis中
+        redisUtil.set(CacheKey.CMMS_UPKEEP_PLAN, cmmsUpkeepPlanList,TimeUnit.HOURS.toSeconds(24));
+    }
+
+    /**
+     * 获取保养计划
+     */
+    public List<CmmsUpkeepPlan> selectAllPlan0Status() {
+        // 从redis中获取计划
+        List<CmmsUpkeepPlan> cmmsUpkeepPlanList = (List<CmmsUpkeepPlan>) redisUtil.get(CacheKey.CMMS_UPKEEP_PLAN);
+
+        // 如果缓存中无计划,则从数据库中获取
+        if (cmmsUpkeepPlanList == null || cmmsUpkeepPlanList.size() < 1) {
+            setRedisCache();
+            cmmsUpkeepPlanList = (List<CmmsUpkeepPlan>) redisUtil.get(CacheKey.CMMS_UPKEEP_PLAN);
+        }
+
+        return cmmsUpkeepPlanList;
+    }
+
+
 }