浏览代码

Merge remote-tracking branch 'origin/master'

LLL 1 年之前
父节点
当前提交
07831390d7
共有 25 个文件被更改,包括 526 次插入39 次删除
  1. 5 0
      module_base/src/main/java/org/jeecg/modules/util/CacheKey.java
  2. 2 2
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspect/controller/CmmsInspectController.java
  3. 2 2
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/mapper/CmmsInspectPlanMapper.java
  4. 1 1
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/mapper/xml/CmmsInspectPlanMapper.xml
  5. 27 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/service/ICmmsInspectPlanService.java
  6. 33 2
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/service/impl/CmmsInspectPlanServiceImpl.java
  7. 47 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/task/GenerateCmmsInspectTask.java
  8. 68 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/task/GenerateNoticeTask.java
  9. 19 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectSpot/controller/CmmsInspectSpotController.java
  10. 2 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectSpot/service/ICmmsInspectSpotService.java
  11. 24 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectSpot/service/impl/CmmsInspectSpotServiceImpl.java
  12. 40 3
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/controller/CmmsInspectTcontentItemController.java
  13. 27 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/convert/CmmsInspectTcontentItemConvert.java
  14. 6 6
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/entity/CmmsInspectTcontentItem.java
  15. 30 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/entity/CmmsInspectTcontentItemVo.java
  16. 6 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/mapper/CmmsInspectTcontentItemMapper.java
  17. 7 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/mapper/xml/CmmsInspectTcontentItemMapper.xml
  18. 28 1
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/service/ICmmsInspectTcontentItemService.java
  19. 79 1
      module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/service/impl/CmmsInspectTcontentItemServiceImpl.java
  20. 1 0
      module_cmms/src/main/java/org/jeecg/modules/cmmsRepair/entity/CmmsRepair.java
  21. 6 2
      module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeep/mapper/xml/CmmsUpkeepMapper.xml
  22. 13 10
      module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeep/task/CmmsUpkeepCreateJob.java
  23. 3 2
      module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeepItem/mapper/xml/CmmsUpkeepItemMapper.xml
  24. 3 2
      module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/mapper/xml/CmmsUpkeepPlanMapper.xml
  25. 47 5
      module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/impl/CmmsUpkeepPlanServiceImpl.java

+ 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:";
+
 }

+ 2 - 2
module_cmms/src/main/java/org/jeecg/modules/cmmsInspect/controller/CmmsInspectController.java

@@ -191,8 +191,8 @@ public class CmmsInspectController extends JeecgController<CmmsInspect, ICmmsIns
 	@ApiOperation(value="巡检工单-反馈", notes="巡检工单-反馈")
 	//@RequiresPermissions("org.jeecg.modules:cmms_inspect:edit")
 	@RequestMapping(value = "/feedback", method = {RequestMethod.PUT,RequestMethod.POST})
-	public Result<String> feedBack(@RequestBody CmmsInspectTcontentItem inspectTcontentItem) {
-		boolean b = inspectTcontentItemService.feedBack(inspectTcontentItem);
+	public Result<String> feedBack(@RequestBody CmmsInspectTcontentItem inspectTcontentItem,HttpServletRequest req) {
+		boolean b = inspectTcontentItemService.feedBack(inspectTcontentItem,req);
 		if (b) {
 			return Result.ok("反馈成功!");
 		}

+ 2 - 2
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/mapper/CmmsInspectPlanMapper.java

@@ -22,7 +22,7 @@ public interface CmmsInspectPlanMapper extends BaseMapper<CmmsInspectPlan> {
     *   des: 更新下次执行时间
     *   date: 2024/1/25
     */
-    public int refreshNextTime(List<CmmsInspectPlan> subPlanList);
+    public int refreshNextTime(@Param("list") List<CmmsInspectPlan> subPlanList);
 
     /**
     *   author: dzc
@@ -30,5 +30,5 @@ public interface CmmsInspectPlanMapper extends BaseMapper<CmmsInspectPlan> {
     *   des: 修改下次通知信息
     *   date: 2024/1/25
     */
-    public int updateNotice(List<CmmsInspectPlan> inspectPlanList);
+    public int updateNotice(@Param("list") List<CmmsInspectPlan> inspectPlanList);
 }

+ 1 - 1
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/mapper/xml/CmmsInspectPlanMapper.xml

@@ -56,7 +56,7 @@
         <foreach item="item" collection="list">
             update cmms_inspect_plan
             set ifnotice = #{item.ifnotice}
-            where inspectplanid=#{item.inspectplanid};
+            where id=#{item.id};
         </foreach>
     </update>
 

+ 27 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/service/ICmmsInspectPlanService.java

@@ -4,6 +4,8 @@ import org.jeecg.modules.cmmsInspectPlan.entity.CmmsInspectPlan;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.cmmsInspectPlan.entity.CmmsInspectPlanVo;
 
+import java.util.List;
+
 /**
  * @Description: 巡检计划
  * @Author: jeecg-boot
@@ -67,4 +69,29 @@ public interface ICmmsInspectPlanService extends IService<CmmsInspectPlan> {
     *   date: 2024/1/25
     */
     boolean generateInspect(String id);
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 获取所有的巡检计划
+    *   date: 2024/1/26
+    */
+    List<CmmsInspectPlan> selectAllPlanOnStatus();
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 修改巡检计划 是否已通知状态
+    *   date: 2024/1/29
+    */
+    public int updateNotice(List<CmmsInspectPlan> inspectPlanList);
+
+    /**
+     *   author: dzc
+     *   version: 1.0
+     *   des: 添加缓存
+     *   date: 2024/1/29
+     */
+    public void setRedisCache();
+
 }

+ 33 - 2
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/service/impl/CmmsInspectPlanServiceImpl.java

@@ -363,7 +363,11 @@ public class CmmsInspectPlanServiceImpl extends ServiceImpl<CmmsInspectPlanMappe
                 message.setTitle("巡检工单");
                 message.setToUser(cmmsInspect.getChargeruser());
                 message.setToAll(false);
-                message.setFromUser(cmmsInspect.getCreateBy());
+                if (ObjectUtil.isNotNull(cmmsInspect.getCreateBy())){
+                    message.setFromUser(cmmsInspect.getCreateBy());
+                }else {
+                    message.setFromUser(plan.getCreateBy());
+                }
                 message.setType(MessageTypeEnum.XT.getType());
                 message.setContent("巡检工单[" + cmmsInspect.getInspectcode() + " " + cmmsInspect.getInspectname() + "]已生成,请及时处理!");
                 noticeList.add(message);
@@ -377,6 +381,33 @@ public class CmmsInspectPlanServiceImpl extends ServiceImpl<CmmsInspectPlanMappe
     /**
     *   author: dzc
     *   version: 1.0
+    *   des: 获取所有的巡检计划
+    *   date: 2024/1/26 
+    */
+    @Override
+    public List<CmmsInspectPlan> selectAllPlanOnStatus() {
+        List<CmmsInspectPlan> list = (List<CmmsInspectPlan>) redisUtil.get(CacheKey.CMMS_INSPECT_PLAN);
+        if (list == null || list.size() == 0){
+            setRedisCache();
+            list = (List<CmmsInspectPlan>) redisUtil.get(CacheKey.CMMS_INSPECT_PLAN);
+        }
+        return list;
+    }
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 修改巡检计划 是否已通知状态
+    *   date: 2024/1/29
+    */
+    @Override
+    public int updateNotice(List<CmmsInspectPlan> inspectPlanList) {
+        return inspectPlanMapper.updateNotice(inspectPlanList);
+    }
+
+    /**
+    *   author: dzc
+    *   version: 1.0
     *   des: 批量添加 巡检计划 - 任务
     *   date: 2024/1/23
     */
@@ -403,7 +434,7 @@ public class CmmsInspectPlanServiceImpl extends ServiceImpl<CmmsInspectPlanMappe
     *   des: 添加缓存
     *   date: 2024/1/23
     */
-    private void setRedisCache() {
+    public void setRedisCache() {
         // 获取是否开启时间设置是"是"的巡检计划
         CmmsInspectPlan cmmsInspectPlan = new CmmsInspectPlan();
         cmmsInspectPlan.setStatus("0");

+ 47 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/task/GenerateCmmsInspectTask.java

@@ -0,0 +1,47 @@
+package org.jeecg.modules.cmmsInspectPlan.task;
+
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.cmmsInspectPlan.entity.CmmsInspectPlan;
+import org.jeecg.modules.cmmsInspectPlan.service.ICmmsInspectPlanService;
+import org.jeecg.modules.util.PlanToOrderUtils;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author dzc
+ * @date 2024/1/26 14:53
+ * @package org.jeecg.modules.cmmsInspectPlan.task
+ * @project EMS_server
+ * @des 生成巡检工单的定时任务
+ */
+public class GenerateCmmsInspectTask implements Job {
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ICmmsInspectPlanService inspectPlanService;
+
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        PlanToOrderUtils planToOrderUtils = new PlanToOrderUtils();
+        // 获取所有巡检计划
+        List<CmmsInspectPlan> planList = inspectPlanService.selectAllPlanOnStatus();
+        if (planList == null || planList.size() < 1) {
+            return;
+        }
+        Date now = DateUtils.getDate();
+        for (CmmsInspectPlan plan : planList) {
+            // 如果巡检计划下次执行时间为空或时间未到,则不生成巡检工单
+            if (plan.getNexttime() == null || plan.getNexttime().after(now)) {
+                continue;
+            }
+            inspectPlanService.generateInspect(plan.getId());
+        }
+
+    }
+}

+ 68 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectPlan/task/GenerateNoticeTask.java

@@ -0,0 +1,68 @@
+package org.jeecg.modules.cmmsInspectPlan.task;
+
+import org.jeecg.common.api.dto.message.MessageDTO;
+import org.jeecg.common.constant.enums.MessageTypeEnum;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.cmmsInspectPlan.entity.CmmsInspectPlan;
+import org.jeecg.modules.cmmsInspectPlan.service.ICmmsInspectPlanService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author dzc
+ * @date 2024/1/26 16:02
+ * @package org.jeecg.modules.cmmsInspectPlan.task
+ * @project EMS_server
+ * @des 生成巡检工单提前通知的定时任务
+ */
+public class GenerateNoticeTask implements Job {
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ICmmsInspectPlanService inspectPlanService;
+    @Autowired
+    @SuppressWarnings("all")
+    private ISysBaseAPI sysBaseApi;
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        // 获取所有巡检计划
+        List<CmmsInspectPlan> planList = inspectPlanService.selectAllPlanOnStatus();
+        ArrayList<CmmsInspectPlan> subInspectPlanList = new ArrayList<>();
+        if (planList == null || planList.size() < 1) {
+            return;
+        }
+        Date now = DateUtils.getDate();
+        for (CmmsInspectPlan plan : planList) {
+            // 如果保养计划的下次通知时间为空或时间未到,则不生成消息
+            if (plan.getNoticetime() == null || plan.getNoticetime().after(now) || "是".equals(plan.getIfnotice())) {
+                continue;
+            }
+            plan.setIfnotice("是");
+            subInspectPlanList.add(plan);
+            MessageDTO message = new MessageDTO();
+            message.setTitle("巡检工单生成提醒");
+            message.setToUser(plan.getChargeruser());
+            message.setToAll(false);
+            message.setFromUser(plan.getCreateBy());
+            message.setType(MessageTypeEnum.XT.getType());
+            message.setContent("巡检计划[" + plan.getPlancode() + " " + plan.getPlanname() + "]即将生成巡检工单,请及时处理!");
+            sysBaseApi.sendTemplateMessage(message);//发送系统消息
+        }
+
+        // 更新巡检计划 , 是否已通知状态
+        if (subInspectPlanList != null && subInspectPlanList.size() > 0) {
+            inspectPlanService.updateNotice(subInspectPlanList);
+
+            // 更新巡检计划缓存信息
+            inspectPlanService.setRedisCache();
+        }
+    }
+}

+ 19 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectSpot/controller/CmmsInspectSpotController.java

@@ -204,4 +204,23 @@ public class CmmsInspectSpotController extends JeecgController<CmmsInspectSpot,
         return super.importExcel(request, response, CmmsInspectSpot.class);
     }
 
+	/**
+	*   author: dzc
+	*   version: 1.0
+	*   des: 查询出所有巡检点下的巡检内容巡检项
+	*   date: 2024/1/26
+	*/
+	 @ApiOperation(value="巡检点-查询所有巡检点下巡检内容巡检项", notes="巡检点-查询所有巡检点下巡检内容巡检项")
+	 @GetMapping(value = "/listDetails")
+	 public Result<IPage<CmmsInspectSpotVo>> queryPageDetailsList(CmmsInspectSpot cmmsInspectSpot,
+														   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+														   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														   HttpServletRequest req) {
+		 //QueryWrapper<CmmsInspectSpot> queryWrapper = QueryGenerator.initQueryWrapper(cmmsInspectSpot, req.getParameterMap());
+		 Page<CmmsInspectSpotVo> page = new Page<CmmsInspectSpotVo>(pageNo, pageSize);
+		 //IPage<CmmsInspectSpot> pageList = cmmsInspectSpotService.page(page, queryWrapper);
+		 List<CmmsInspectSpotVo> list = cmmsInspectSpotService.getCmmsInspectSpotListDetails(page, cmmsInspectSpot);
+		 page.setRecords(list);
+		 return Result.OK(page);
+	 }
 }

+ 2 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectSpot/service/ICmmsInspectSpotService.java

@@ -30,4 +30,6 @@ public interface ICmmsInspectSpotService extends IService<CmmsInspectSpot> {
      *   date: 2024/1/26
      */
     CmmsInspectSpotVo getCmmsInspectSpotListByIdA(String id);
+
+    List<CmmsInspectSpotVo> getCmmsInspectSpotListDetails(Page<CmmsInspectSpotVo> page, CmmsInspectSpot cmmsInspectSpot);
 }

+ 24 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectSpot/service/impl/CmmsInspectSpotServiceImpl.java

@@ -130,6 +130,30 @@ public class CmmsInspectSpotServiceImpl extends ServiceImpl<CmmsInspectSpotMappe
         return cmmsInspectSpotVo;
     }
 
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 查询出所有巡检点下的巡检内容巡检项
+    *   date: 2024/1/26
+    */
+    @Override
+    public List<CmmsInspectSpotVo> getCmmsInspectSpotListDetails(Page<CmmsInspectSpotVo> page, CmmsInspectSpot cmmsInspectSpot) {
+        List<CmmsInspectSpotVo> cmmsInspectSpotList = inspectSpotMapper.getCmmsInspectSpotList(page, cmmsInspectSpot);
+        for (int i = 0; i < cmmsInspectSpotList.size(); i++) {
+            String id = cmmsInspectSpotList.get(i).getId();
+            List<CmmsInspectSpotEquip> list = inspectSpotEquipService.getInspectSpotEquipBySprtId(id);
+            ArrayList<CmmsInspectContentVo> contentList = new ArrayList<>();
+            for (CmmsInspectSpotEquip spot:list) {
+                CmmsInspectContentVo inspectContent = iCmmsInspectContentService.getCmmsInspectContentById(spot.getInspectcontid());
+                contentList.add(inspectContent);
+            }
+            cmmsInspectSpotList.get(i).setInspectContentList(contentList);
+        }
+
+        return cmmsInspectSpotList;
+    }
+
     private void insertCmmsInspectcheckContentItem(CmmsInspectSpotVo cmmsInspectSpot) {
         List<CmmsInspectContentVo> list = cmmsInspectSpot.getInspectContentList();
         String id = cmmsInspectSpot.getId();

+ 40 - 3
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/controller/CmmsInspectTcontentItemController.java

@@ -13,6 +13,7 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItem;
+import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItemVo;
 import org.jeecg.modules.cmmsInspectTcontentItem.service.ICmmsInspectTcontentItemService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
+import org.jeecg.modules.cmmsRepair.entity.CmmsRepair;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -60,12 +62,13 @@ public class CmmsInspectTcontentItemController extends JeecgController<CmmsInspe
 	 * @return
 	 */
 	//@AutoLog(value = "巡检工单-路线-内容-设备-巡检项-分页列表查询")
-	@ApiOperation(value="巡检工单-路线-内容-设备-巡检项-分页列表查询", notes="巡检工单-路线-内容-设备-巡检项-分页列表查询")
+	@ApiOperation(value="巡检工单-异常项目查询", notes="巡检工单-异常项目查询")
 	@GetMapping(value = "/list")
 	public Result<IPage<CmmsInspectTcontentItem>> queryPageList(CmmsInspectTcontentItem cmmsInspectTcontentItem,
 								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
+		cmmsInspectTcontentItem.setIresult("1");
 		QueryWrapper<CmmsInspectTcontentItem> queryWrapper = QueryGenerator.initQueryWrapper(cmmsInspectTcontentItem, req.getParameterMap());
 		Page<CmmsInspectTcontentItem> page = new Page<CmmsInspectTcontentItem>(pageNo, pageSize);
 		IPage<CmmsInspectTcontentItem> pageList = cmmsInspectTcontentItemService.page(page, queryWrapper);
@@ -141,8 +144,9 @@ public class CmmsInspectTcontentItemController extends JeecgController<CmmsInspe
 	//@AutoLog(value = "巡检工单-路线-内容-设备-巡检项-通过id查询")
 	@ApiOperation(value="巡检工单-路线-内容-设备-巡检项-通过id查询", notes="巡检工单-路线-内容-设备-巡检项-通过id查询")
 	@GetMapping(value = "/queryById")
-	public Result<CmmsInspectTcontentItem> queryById(@RequestParam(name="id",required=true) String id) {
-		CmmsInspectTcontentItem cmmsInspectTcontentItem = cmmsInspectTcontentItemService.getById(id);
+	public Result<CmmsInspectTcontentItemVo> queryById(@RequestParam(name="id",required=true) String id) {
+		//CmmsInspectTcontentItem cmmsInspectTcontentItem = cmmsInspectTcontentItemService.getById(id);
+		CmmsInspectTcontentItemVo cmmsInspectTcontentItem = cmmsInspectTcontentItemService.getByDetailId(id);
 		if(cmmsInspectTcontentItem==null) {
 			return Result.error("未找到对应数据");
 		}
@@ -174,4 +178,37 @@ public class CmmsInspectTcontentItemController extends JeecgController<CmmsInspe
         return super.importExcel(request, response, CmmsInspectTcontentItem.class);
     }
 
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 异常项目查询 确认
+    *   date: 2024/1/26
+    */
+	@AutoLog(value = "巡检工单-异常项目查询-确认")
+	@ApiOperation(value="巡检工单-异常项目查询-确认", notes="巡检工单-异常项目查询-确认")
+	//@RequiresPermissions("org.jeecg.modules:cmms_inspect_tcontent_item:add")
+	@PostMapping(value = "/confirm")
+	public Result<String> confirm(@RequestBody CmmsInspectTcontentItem cmmsInspectTcontentItem,HttpServletRequest req) {
+		boolean b = cmmsInspectTcontentItemService.confirm(cmmsInspectTcontentItem, req);
+		if (b) {
+			return Result.OK("操作成功!");
+		}
+		return Result.error("操作失败!");
+	}
+
+	/**
+	*   author: dzc
+	*   version: 1.0
+	*   des: 异常项目查询 转报修
+	*   date: 2024/1/26
+	*/
+	@AutoLog(value = "巡检工单-异常项目查询-确认")
+	@ApiOperation(value="巡检工单-异常项目查询-确认", notes="巡检工单-异常项目查询-确认")
+	//@RequiresPermissions("org.jeecg.modules:cmms_inspect_tcontent_item:add")
+	@PostMapping(value = "/transrepair")
+	public Result<String> transrepair(@RequestBody CmmsRepair cmmsRepair, HttpServletRequest req) {
+		cmmsInspectTcontentItemService.transrepair(cmmsRepair,req);
+		return Result.OK("添加成功!");
+	}
+
 }

+ 27 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/convert/CmmsInspectTcontentItemConvert.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.cmmsInspectTcontentItem.convert;
+
+import org.jeecg.modules.cmmsInspectSpot.entity.CmmsInspectSpot;
+import org.jeecg.modules.cmmsInspectSpot.entity.CmmsInspectSpotVo;
+import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItem;
+import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItemVo;
+import org.mapstruct.Mapper;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+import org.springframework.util.CollectionUtils;
+
+import java.util.stream.Collectors;
+
+/**
+ * @author dzc
+ * @date 2024/1/24 14:49
+ * @package org.jeecg.modules.cmmsInspectPlan.convert
+ * @project EMS_server
+ * @des
+ */
+@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE,imports ={ CollectionUtils.class, Collectors.class})
+public interface CmmsInspectTcontentItemConvert {
+
+    CmmsInspectTcontentItemConvert INSTANCE = Mappers.getMapper(CmmsInspectTcontentItemConvert.class);
+
+    CmmsInspectTcontentItemVo convert(CmmsInspectTcontentItem tcontentItem);
+}

+ 6 - 6
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/entity/CmmsInspectTcontentItem.java

@@ -113,9 +113,9 @@ public class CmmsInspectTcontentItem implements Serializable {
     @ApiModelProperty(value = "反馈状态:0未反馈,1已反馈")
     private java.lang.String istatus;
 	/**反馈时间*/
-	@Excel(name = "反馈时间", width = 15, format = "yyyy-MM-dd")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@Excel(name = "反馈时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "反馈时间")
     private java.util.Date itime;
 	/**是否有附件:有/无*/
@@ -149,9 +149,9 @@ public class CmmsInspectTcontentItem implements Serializable {
     @ApiModelProperty(value = "转报修人")
     private java.lang.String reportuser;
 	/**转报修时间*/
-	@Excel(name = "转报修时间", width = 15, format = "yyyy-MM-dd")
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@Excel(name = "转报修时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "转报修时间")
     private java.util.Date reporttime;
 	/**所属部门*/

+ 30 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/entity/CmmsInspectTcontentItemVo.java

@@ -0,0 +1,30 @@
+package org.jeecg.modules.cmmsInspectTcontentItem.entity;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @author dzc
+ * @date 2024/1/26 10:45
+ * @package org.jeecg.modules.cmmsInspectTcontentItem.entity
+ * @project EMS_server
+ * @des
+ */
+@Data
+public class CmmsInspectTcontentItemVo extends CmmsInspectTcontentItem{
+
+    /**设备编号*/
+    @Excel(name = "设备编号", width = 15)
+    @ApiModelProperty(value = "设备编号")
+    private java.lang.String equipmentcode;
+    /**工单编号*/
+    @Excel(name = "工单编号", width = 15)
+    @ApiModelProperty(value = "工单编号")
+    private java.lang.String inspectcode;
+    /**工单名称*/
+    @Excel(name = "工单名称", width = 15)
+    @ApiModelProperty(value = "工单名称")
+    private java.lang.String inspectname;
+
+}

+ 6 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/mapper/CmmsInspectTcontentItemMapper.java

@@ -3,6 +3,8 @@ package org.jeecg.modules.cmmsInspectTcontentItem.mapper;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.cmmsInspect.entity.CmmsInspect;
+import org.jeecg.modules.cmmsInspectContent.entity.CmmsInspectContent;
 import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -15,4 +17,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 public interface CmmsInspectTcontentItemMapper extends BaseMapper<CmmsInspectTcontentItem> {
 
     List<CmmsInspectTcontentItem> getInspectTcontentItems(String countid);
+
+    CmmsInspectContent getInspectContentById(String contitemtid);
+
+    CmmsInspect getInspectById(String inspectid);
 }

+ 7 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/mapper/xml/CmmsInspectTcontentItemMapper.xml

@@ -7,4 +7,11 @@
         select * from cmms_inspect_tcontent_item where contitemtid = #{countid}
     </select>
 
+    <select id="getInspectContentById" resultType="org.jeecg.modules.cmmsInspectContent.entity.CmmsInspectContent">
+        select * from cmms_inspect_content where id = #{contitemtid}
+    </select>
+
+    <select id="getInspectById" resultType="org.jeecg.modules.cmmsInspect.entity.CmmsInspect">
+        select * from cmms_inspect where id = #{inspectid}
+    </select>
 </mapper>

+ 28 - 1
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/service/ICmmsInspectTcontentItemService.java

@@ -2,7 +2,10 @@ package org.jeecg.modules.cmmsInspectTcontentItem.service;
 
 import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItem;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItemVo;
+import org.jeecg.modules.cmmsRepair.entity.CmmsRepair;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -28,5 +31,29 @@ public interface ICmmsInspectTcontentItemService extends IService<CmmsInspectTco
     *   des: 巡检工单反馈
     *   date: 2024/1/26
     */
-    boolean feedBack(CmmsInspectTcontentItem inspectTcontentItem);
+    boolean feedBack(CmmsInspectTcontentItem inspectTcontentItem,HttpServletRequest req);
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 巡检工单 异常项目查询  查看(根据id查询详情)
+    *   date: 2024/1/26
+    */
+    CmmsInspectTcontentItemVo getByDetailId(String id);
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 巡检工单异常项目查询 确认
+    *   date: 2024/1/26
+    */
+    boolean confirm(CmmsInspectTcontentItem cmmsInspectTcontentItem,HttpServletRequest req);
+
+    /**
+    *   author: dzc
+    *   version: 1.0
+    *   des: 异常项目查询 转报修
+    *   date: 2024/1/26
+    */
+    boolean transrepair(CmmsRepair cmmsRepair, HttpServletRequest req);
 }

+ 79 - 1
module_cmms/src/main/java/org/jeecg/modules/cmmsInspectTcontentItem/service/impl/CmmsInspectTcontentItemServiceImpl.java

@@ -1,14 +1,30 @@
 package org.jeecg.modules.cmmsInspectTcontentItem.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import org.jeecg.common.system.util.JwtUtil;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.cmmsInspect.entity.CmmsInspect;
+import org.jeecg.modules.cmmsInspect.service.ICmmsInspectService;
+import org.jeecg.modules.cmmsInspectContent.entity.CmmsInspectContent;
+import org.jeecg.modules.cmmsInspectContent.service.ICmmsInspectContentService;
+import org.jeecg.modules.cmmsInspectTcontentItem.convert.CmmsInspectTcontentItemConvert;
 import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItem;
+import org.jeecg.modules.cmmsInspectTcontentItem.entity.CmmsInspectTcontentItemVo;
 import org.jeecg.modules.cmmsInspectTcontentItem.mapper.CmmsInspectTcontentItemMapper;
 import org.jeecg.modules.cmmsInspectTcontentItem.service.ICmmsInspectTcontentItemService;
+import org.jeecg.modules.cmmsRepair.entity.CmmsRepair;
+import org.jeecg.modules.cmmsRepair.service.ICmmsRepairService;
+import org.jeecg.modules.tpmEquipment.entity.TpmEquipment;
+import org.jeecg.modules.tpmEquipment.service.ITpmEquipmentService;
+import org.jeecg.modules.util.AutoCodeUtil;
+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 javax.servlet.http.HttpServletRequest;
 import java.util.List;
 
 /**
@@ -23,6 +39,16 @@ public class CmmsInspectTcontentItemServiceImpl extends ServiceImpl<CmmsInspectT
     @Autowired
     @SuppressWarnings("all")
     private CmmsInspectTcontentItemMapper mapper;
+    @Autowired
+    @SuppressWarnings("all")
+    private ITpmEquipmentService tpmEquipmentService;
+    @Autowired
+    @SuppressWarnings("all")
+    private AutoCodeUtil autoCodeUtil;
+    @Autowired
+    @SuppressWarnings("all")
+    private ICmmsRepairService repairService;
+
 
     @Override
     public List<CmmsInspectTcontentItem> getInspectTcontentItems(String countid) {
@@ -36,8 +62,60 @@ public class CmmsInspectTcontentItemServiceImpl extends ServiceImpl<CmmsInspectT
     *   date: 2024/1/26
     */
     @Override
-    public boolean feedBack(CmmsInspectTcontentItem inspectTcontentItem) {
+    public boolean feedBack(CmmsInspectTcontentItem inspectTcontentItem, HttpServletRequest req) {
+        String userName = JwtUtil.getUserNameByToken(req);
         inspectTcontentItem.setIstatus("1");
+        inspectTcontentItem.setHandleuser(userName);
+        inspectTcontentItem.setItime(DateUtils.getDate());
         return this.updateById(inspectTcontentItem);
     }
+
+    @Override
+    public CmmsInspectTcontentItemVo getByDetailId(String id) {
+        CmmsInspectTcontentItem item = this.getById(id);
+        CmmsInspectTcontentItemVo tcontentItem = CmmsInspectTcontentItemConvert.INSTANCE.convert(item);
+        // 根据巡检内容id查询出 对应的设备id 在通过设备id查询出设备信息
+        CmmsInspectContent inspectContent = mapper.getInspectContentById(item.getContitemtid());
+        TpmEquipment equipment = tpmEquipmentService.getById(inspectContent.getEquipmentid());
+
+        // 根据巡检工单id查询出巡检工单信息
+        CmmsInspect inspect = mapper.getInspectById(item.getInspectid());
+
+        tcontentItem.setEquipmentcode(equipment.getEquipmentcode());
+        tcontentItem.setInspectcode(inspect.getInspectcode());
+        tcontentItem.setInspectname(inspect.getInspectname());
+        return tcontentItem;
+    }
+
+
+    @Override
+    public boolean confirm(CmmsInspectTcontentItem cmmsInspectTcontentItem,HttpServletRequest req) {
+        String userName = JwtUtil.getUserNameByToken(req);
+        cmmsInspectTcontentItem.setUnusualstatus("1");
+        cmmsInspectTcontentItem.setConfirmuser(userName);
+        cmmsInspectTcontentItem.setConfirmtime(DateUtils.getDate());
+        return this.updateById(cmmsInspectTcontentItem);
+    }
+
+    @Override
+    public boolean transrepair(CmmsRepair cmmsRepair, HttpServletRequest req) {
+        String userName = JwtUtil.getUserNameByToken(req);
+        CmmsInspectTcontentItem inspectTcontentItem = new CmmsInspectTcontentItem();
+        inspectTcontentItem.setUnusualstatus("2");
+        inspectTcontentItem.setReportuser(userName);
+        inspectTcontentItem.setReporttime(DateUtils.getDate());
+
+        if (cmmsRepair.getRepaircode() == null || "".equals(cmmsRepair.getRepaircode())){
+            cmmsRepair.setRepaircode(autoCodeUtil.genSerialCode(UserConstants.CMMSREPAIR_CODE, null));
+        }
+
+        if(ObjectUtil.isEmpty(cmmsRepair.getStatus()) && ObjectUtil.isEmpty(cmmsRepair.getRepairstatus())){
+            cmmsRepair.setStatus("0");
+            cmmsRepair.setRepairstatus("0");
+        }
+
+        boolean b1 = repairService.save(cmmsRepair);
+        boolean b2 = this.updateById(inspectTcontentItem);
+        return b1 && b2;
+    }
 }

+ 1 - 0
module_cmms/src/main/java/org/jeecg/modules/cmmsRepair/entity/CmmsRepair.java

@@ -71,6 +71,7 @@ public class CmmsRepair implements Serializable {
 	/**设备ID*/
 	@Excel(name = "设备ID", width = 15)
     @ApiModelProperty(value = "设备ID")
+    @Dict(dictTable = "tpm_equipment", dicText = "equipmentname", dicCode = "id")
     private java.lang.String equipmentid;
 	/**设备编号*/
 	@Excel(name = "设备编号", width = 15)

+ 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>

+ 13 - 10
module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeep/task/CmmsUpkeepCreateJob.java

@@ -25,7 +25,9 @@ import org.quartz.Job;
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -66,19 +68,20 @@ public class CmmsUpkeepCreateJob implements Job {
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
 
         System.out.println("进入生成保养工单任务函数");
-        DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
-        ThreadContext.bind(manager);
+//        DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
+//        ThreadContext.bind(manager);
 
         // 获取登录人用户信息 V1.0版本:
 //        SysUser user= (SysUser)SecurityUtils.getSubject().getPrincipal();
         // 获取登录人用户信息 V2.0版本:
-        LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        if(user == null){
-            log.info("用户还未登陆,无法获取创建人!");
-            return;
-        }
-        // 用户名
-        String userName=user.getUsername();
+//        LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
+//        if(user == null){
+//            log.info("用户还未登陆,无法获取创建人!");
+//            return;
+//        }
+//        // 用户名
+//        String userName=user.getUsername();
+        String userName = "admin";
 
         PlanToOrderUtils planToOrderUtils = new PlanToOrderUtils();
         // 获取所有保养计划(根据状态来获取,获取启用的保养计划)
@@ -110,7 +113,7 @@ public class CmmsUpkeepCreateJob implements Job {
             //生成保养工单
             CmmsUpkeep cmmsUpkeep = new CmmsUpkeep();
             cmmsUpkeep.setId(IdWorker.getIdStr());//生成雪花id
-            cmmsUpkeep.setCreateBy("admin");
+            cmmsUpkeep.setCreateBy(userName);
             cmmsUpkeep.setUpkeepcode(autoCodeUtil.genSerialCode(UserConstants.CMMSUPKEEP_CODE, null));//保养工单编号
             cmmsUpkeep.setUpkeepname(cmmsUpkeepPlan.getPlanname() + "-" + dateNowStr);//保养工单名称:保养计划名称-当前时间
             cmmsUpkeep.setUpkeepplanid(cmmsUpkeepPlan.getId());//保养计划id

+ 3 - 2
module_cmms/src/main/java/org/jeecg/modules/cmmsUpkeepItem/mapper/xml/CmmsUpkeepItemMapper.xml

@@ -20,10 +20,11 @@
         select c.id, c.create_by, c.create_time, c.update_by, c.update_time, c.itemcode, c.itemname, c.equipdefid, c.itemcontent, c.remark, t.name as equiptypeName
         from cmms_upkeep_item as c left join tpm_equipment_tree as t on c.equipdefid = t.id
         <where>
-            <if test="cmmsUpkeepItem.itemcode != null  and cmmsUpkeepItem.itemcode != ''"> and (c.itemcode like concat('%', #{cmmsUpkeepItem.itemcode}, '%') or c.itemname like concat('%', #{cmmsUpkeepItem.itemcode}, '%'))</if>
+            <if test="cmmsUpkeepItem.itemcode != null  and cmmsUpkeepItem.itemcode != ''"> and c.itemcode like concat('%', #{cmmsUpkeepItem.itemcode}, '%')</if>
             <if test="cmmsUpkeepItem.equipdefid != null  and cmmsUpkeepItem.equipdefid != ''"> and c.equipdefid = #{cmmsUpkeepItem.equipdefid}</if>
-            <if test="cmmsUpkeepItem.itemname != null and cmmsUpkeepItem.itemname != ''"> and c.itemname = #{cmmsUpkeepItem.itemname}</if>
+            <if test="cmmsUpkeepItem.itemname != null and cmmsUpkeepItem.itemname != ''"> and c.itemname like concat('%', #{cmmsUpkeepItem.itemname}, '%')</if>
         </where>
+        order by c.create_time desc
     </select>
 
     <select id="getCmmsUpkeepItemByEqid" parameterType="String" resultMap="CmmsUpkeepItemResult">

+ 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;
+    }
+
+
 }