|
@@ -36,7 +36,7 @@ import java.util.List;
|
|
|
/**
|
|
|
* ClassName: CmmsUpkeepCreateJob
|
|
|
* Package: org.jeecg.modules.cmmsUpkeep.task
|
|
|
- * Description:
|
|
|
+ * Description:生成保养工单定时任务
|
|
|
*
|
|
|
* @Author sl
|
|
|
* @Create 2024/1/18 16:57
|
|
@@ -66,28 +66,13 @@ public class CmmsUpkeepCreateJob implements Job {
|
|
|
|
|
|
@Override
|
|
|
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
|
|
|
-
|
|
|
System.out.println("进入生成保养工单任务函数");
|
|
|
-// 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();
|
|
|
- String userName = "admin";
|
|
|
|
|
|
PlanToOrderUtils planToOrderUtils = new PlanToOrderUtils();
|
|
|
- // 获取所有保养计划(根据状态来获取,获取启用的保养计划)
|
|
|
- List<CmmsUpkeepPlan> cmmsUpkeepPlanList = cmmsUpkeepPlanService.getCmmsUpkeepPlanByStatus("0");
|
|
|
+ // 获取所有保养计划(根据状态来获取,获取启用的保养计划) 从缓存中取
|
|
|
+ List<CmmsUpkeepPlan> cmmsUpkeepPlanList = cmmsUpkeepPlanService.selectAllPlan0Status();
|
|
|
if(cmmsUpkeepPlanList == null || cmmsUpkeepPlanList.size() < 1){
|
|
|
- return;
|
|
|
+ return;//如果没有启动的保养计划,任务结束
|
|
|
}
|
|
|
//如果存在启用的保养计划 判断是否需要生成保养工单,生成保养工单的保养计划要更新计划开始时间、下次计划开始时间以及消息提醒时间
|
|
|
String dateNowStr = DateUtils.getDate("yyyy-MM-dd HH:mm:ss");//获取当前时间字符串
|
|
@@ -113,7 +98,7 @@ public class CmmsUpkeepCreateJob implements Job {
|
|
|
//生成保养工单
|
|
|
CmmsUpkeep cmmsUpkeep = new CmmsUpkeep();
|
|
|
cmmsUpkeep.setId(IdWorker.getIdStr());//生成雪花id
|
|
|
- cmmsUpkeep.setCreateBy(userName);
|
|
|
+ cmmsUpkeep.setCreateBy(cmmsUpkeepPlan.getCreateBy());//生成工单的创建人就是保养计划的创建人
|
|
|
cmmsUpkeep.setUpkeepcode(autoCodeUtil.genSerialCode(UserConstants.CMMSUPKEEP_CODE, null));//保养工单编号
|
|
|
cmmsUpkeep.setUpkeepname(cmmsUpkeepPlan.getPlanname() + "-" + dateNowStr);//保养工单名称:保养计划名称-当前时间
|
|
|
cmmsUpkeep.setUpkeepplanid(cmmsUpkeepPlan.getId());//保养计划id
|
|
@@ -134,8 +119,7 @@ public class CmmsUpkeepCreateJob implements Job {
|
|
|
CmmsOrderNode node = new CmmsOrderNode();
|
|
|
node.setNodename("0");
|
|
|
node.setRelid(cmmsUpkeep.getId());//操作记录对应的工单id
|
|
|
- node.setCreateBy(userName);
|
|
|
- node.setCreateBy("admin");
|
|
|
+ node.setCreateBy(cmmsUpkeepPlan.getCreateBy());
|
|
|
// node.setCreateTime(dateNow);
|
|
|
node.setHandledate(dateNow);
|
|
|
node.setOpinion("——");
|
|
@@ -147,26 +131,28 @@ public class CmmsUpkeepCreateJob implements Job {
|
|
|
|
|
|
if (cmmsUpkeepPlanList != null && cmmsUpkeepPlanList.size() > 0) {
|
|
|
//批量更新保养计划表 批量生成保养工单 批量生成操作记录
|
|
|
- cmmsUpkeepPlanService.updateBatchById(updateCmmsUpkeepPlanList);
|
|
|
+ boolean b = cmmsUpkeepPlanService.updateBatchById(updateCmmsUpkeepPlanList);
|
|
|
cmmsUpkeepService.saveBatch(cmmsUpkeepList);
|
|
|
cmmsOrderNodeService.saveBatch(nodeList);
|
|
|
System.out.println("生成保养工单、更新保养计划、生成工单操作记录完成!");
|
|
|
-
|
|
|
- // 生成消息通知
|
|
|
- for(CmmsUpkeep cmmsUpkeep:cmmsUpkeepList){
|
|
|
- MessageDTO messageDTO = new MessageDTO();
|
|
|
- messageDTO.setToAll(false);
|
|
|
- messageDTO.setToUser(cmmsUpkeep.getChargeruser());//发送给负责人
|
|
|
- messageDTO.setTitle("保养工单[" + cmmsUpkeep.getUpkeepcode() + " " + cmmsUpkeep.getUpkeepname() + "]已生成,请及时处理!");
|
|
|
- //推送消息类型
|
|
|
- messageDTO.setType(MessageTypeEnum.XT.getType());
|
|
|
- messageDTO.setIsMarkdown(false);
|
|
|
- messageDTO.setFromUser("system");
|
|
|
- messageDTO.setContent(" ");
|
|
|
- log.info("------------消息发送对象:{}--------------", JSON.toJSONString(messageDTO));
|
|
|
- sysBaseApi.sendTemplateMessage(messageDTO);//发送系统消息
|
|
|
+ if(b){
|
|
|
+ // 更新保养计划缓存信息
|
|
|
+ cmmsUpkeepPlanService.setRedisCache();
|
|
|
+ // 生成消息通知
|
|
|
+ for(CmmsUpkeep cmmsUpkeep:cmmsUpkeepList){
|
|
|
+ MessageDTO messageDTO = new MessageDTO();
|
|
|
+ messageDTO.setToAll(false);
|
|
|
+ messageDTO.setToUser(sysBaseApi.getUserById(cmmsUpkeep.getChargeruser()).getUsername());//发送给负责人
|
|
|
+ messageDTO.setTitle("保养工单[" + cmmsUpkeep.getUpkeepcode() + " " + cmmsUpkeep.getUpkeepname() + "]已生成,请及时处理!");
|
|
|
+ //推送消息类型
|
|
|
+ messageDTO.setType(MessageTypeEnum.XT.getType());
|
|
|
+ messageDTO.setIsMarkdown(false);
|
|
|
+ messageDTO.setFromUser(cmmsUpkeep.getCreateBy());
|
|
|
+ messageDTO.setContent(" ");
|
|
|
+// log.info("------------消息发送对象:{}--------------", JSON.toJSONString(messageDTO));
|
|
|
+ sysBaseApi.sendTemplateMessage(messageDTO);//发送系统消息
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|