|
@@ -1,15 +1,23 @@
|
|
|
package org.jeecg.modules.cmmsUpkeepPlan.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import org.jeecg.modules.cmmsUpkeepItem.entity.CmmsUpkeepItemDto;
|
|
|
import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlan;
|
|
|
import org.jeecg.modules.cmmsUpkeepPlan.entity.CmmsUpkeepPlanDto;
|
|
|
import org.jeecg.modules.cmmsUpkeepPlan.mapper.CmmsUpkeepPlanMapper;
|
|
|
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.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;
|
|
|
|
|
|
/**
|
|
@@ -25,6 +33,45 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
|
@SuppressWarnings("all")
|
|
|
private CmmsUpkeepPlanMapper cmmsUpkeepPlanMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ @SuppressWarnings("all")
|
|
|
+ private ICmmsUpkeepPlanItemService cmmsUpkeepPlanItemService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ @SuppressWarnings("all")
|
|
|
+ private AutoCodeUtil autoCodeUtil;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计算下次计划执行时间
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public Date getNextTime(Date beginTime, String timeType, Integer timeNum){
|
|
|
+ Calendar rightNow = Calendar.getInstance();
|
|
|
+ rightNow.setTime(beginTime);
|
|
|
+ switch (timeType) {
|
|
|
+ case "年":
|
|
|
+ rightNow.add(Calendar.YEAR, timeNum);
|
|
|
+ break;
|
|
|
+ case "月":
|
|
|
+ rightNow.add(Calendar.MONTH, timeNum);
|
|
|
+ break;
|
|
|
+ case "周":
|
|
|
+ rightNow.add(Calendar.WEEK_OF_YEAR, timeNum);
|
|
|
+ break;
|
|
|
+ case "天":
|
|
|
+ rightNow.add(Calendar.DATE, timeNum);
|
|
|
+ break;
|
|
|
+ case "小时":
|
|
|
+ rightNow.add(Calendar.HOUR_OF_DAY, timeNum);
|
|
|
+ break;
|
|
|
+ case "分钟":
|
|
|
+ rightNow.add(Calendar.MINUTE, timeNum);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return rightNow.getTime();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 分页列表查询
|
|
|
* 根据设备id查找设备名称并进行两表字段拼接
|
|
@@ -35,6 +82,50 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 新增保养计划
|
|
|
+ *
|
|
|
+ * @param cmmsUpkeepPlanDto 保养计划
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ public String insertCmmsUpkeepPlan(CmmsUpkeepPlanDto cmmsUpkeepPlanDto)
|
|
|
+ {
|
|
|
+ //一、更新保养计划表
|
|
|
+ //新建一个保养计划实例
|
|
|
+ CmmsUpkeepPlan cmmsUpkeepPlan = new CmmsUpkeepPlan();
|
|
|
+ //保养计划编号
|
|
|
+ if(cmmsUpkeepPlanDto.getPlancode() == null || "".equals(cmmsUpkeepPlanDto.getPlancode())) cmmsUpkeepPlan.setPlancode(autoCodeUtil.genSerialCode(UserConstants.CMMSUPKEEPPLAN_CODE, null));
|
|
|
+ if(cmmsUpkeepPlanDto.getPlanname() != null) cmmsUpkeepPlan.setPlanname(cmmsUpkeepPlanDto.getPlanname());//保养计划名称
|
|
|
+ if(cmmsUpkeepPlanDto.getBegintime() != null) cmmsUpkeepPlan.setBegintime(cmmsUpkeepPlanDto.getBegintime());//保养计划开始时间
|
|
|
+ if(cmmsUpkeepPlanDto.getRepeatnum() != null) cmmsUpkeepPlan.setRepeatnum(cmmsUpkeepPlanDto.getRepeatnum());//保养计划间隔重复的时间
|
|
|
+ if(cmmsUpkeepPlanDto.getRepeattype() != null) cmmsUpkeepPlan.setRepeattype(cmmsUpkeepPlanDto.getRepeattype());//保养计划间隔重复的时间单位
|
|
|
+ if(cmmsUpkeepPlanDto.getNoticenum() != null) cmmsUpkeepPlan.setNoticenum(cmmsUpkeepPlanDto.getNoticenum());//保养计划执行提前通知时间
|
|
|
+ if(cmmsUpkeepPlanDto.getNoticetype() != null) cmmsUpkeepPlan.setNoticetype(cmmsUpkeepPlanDto.getNoticetype());//保养计划执行提前通知时间单位
|
|
|
+ if(cmmsUpkeepPlanDto.getStatus() != null) cmmsUpkeepPlan.setStatus(cmmsUpkeepPlanDto.getStatus());//保养计划是否启用状态 0启用 1停用
|
|
|
+ if(cmmsUpkeepPlanDto.getIfnotice() != null) cmmsUpkeepPlan.setIfnotice(cmmsUpkeepPlanDto.getIfnotice());//保养计划即将执行是否已通知 是/否
|
|
|
+ if(cmmsUpkeepPlanDto.getEquipmentid() != null) cmmsUpkeepPlan.setEquipmentid(cmmsUpkeepPlanDto.getEquipmentid());//保养计划对应的设备id
|
|
|
+ if(cmmsUpkeepPlanDto.getRemark() != null & (!("".equals(cmmsUpkeepPlanDto.getRemark())))) cmmsUpkeepPlan.setRemark(cmmsUpkeepPlanDto.getRemark());//保养计划备注
|
|
|
+ cmmsUpkeepPlan.setNexttime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getRepeattype(), cmmsUpkeepPlanDto.getRepeatnum()));//下次保养计划执行时间
|
|
|
+ cmmsUpkeepPlan.setNoticetime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getNoticetype(), -(cmmsUpkeepPlanDto.getNoticenum())));//保养计划执行提醒时间
|
|
|
+ boolean b1 = this.save(cmmsUpkeepPlan);
|
|
|
+
|
|
|
+ //二、更新保养计划-保养项表
|
|
|
+ List<CmmsUpkeepItemDto> cmmsUpkeepItemDtoList = cmmsUpkeepPlanDto.getCmmsUpkeepItemDtoList();
|
|
|
+ List<CmmsUpkeepPlanItem> cmmsUpkeepPlanItemList = new ArrayList<>();
|
|
|
+ for(CmmsUpkeepItemDto cmmsUpkeepItemDto:cmmsUpkeepItemDtoList){
|
|
|
+ CmmsUpkeepPlanItem cmmsUpkeepPlanItem = new CmmsUpkeepPlanItem();
|
|
|
+ cmmsUpkeepPlanItem.setUpkeepplanid(cmmsUpkeepPlan.getId());//保养计划id
|
|
|
+ if(cmmsUpkeepItemDto.getId() != null) cmmsUpkeepPlanItem.setUpkeepitemid(cmmsUpkeepItemDto.getId());//保养项id
|
|
|
+ cmmsUpkeepPlanItemList.add(cmmsUpkeepPlanItem);
|
|
|
+ }
|
|
|
+ boolean b2 = cmmsUpkeepPlanItemService.saveBatch(cmmsUpkeepPlanItemList);
|
|
|
+ if(b1&&b2){
|
|
|
+ return "添加保养计划成功!";
|
|
|
+ }else{
|
|
|
+ return "添加保养计划失败!";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 编辑修改后更新保养计划以及保养计划-保养项
|
|
|
*
|
|
|
*/
|