|
@@ -50,27 +50,37 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
public Date getNextTime(Date beginTime, String timeType, Integer timeNum){
|
|
public Date getNextTime(Date beginTime, String timeType, Integer timeNum){
|
|
Calendar rightNow = Calendar.getInstance();
|
|
Calendar rightNow = Calendar.getInstance();
|
|
rightNow.setTime(beginTime);
|
|
rightNow.setTime(beginTime);
|
|
|
|
+ Date nextTime;
|
|
switch (timeType) {
|
|
switch (timeType) {
|
|
case "年":
|
|
case "年":
|
|
rightNow.add(Calendar.YEAR, timeNum);
|
|
rightNow.add(Calendar.YEAR, timeNum);
|
|
|
|
+ nextTime = rightNow.getTime();
|
|
break;
|
|
break;
|
|
case "月":
|
|
case "月":
|
|
rightNow.add(Calendar.MONTH, timeNum);
|
|
rightNow.add(Calendar.MONTH, timeNum);
|
|
|
|
+ nextTime = rightNow.getTime();
|
|
break;
|
|
break;
|
|
case "周":
|
|
case "周":
|
|
rightNow.add(Calendar.WEEK_OF_YEAR, timeNum);
|
|
rightNow.add(Calendar.WEEK_OF_YEAR, timeNum);
|
|
|
|
+ nextTime = rightNow.getTime();
|
|
break;
|
|
break;
|
|
case "天":
|
|
case "天":
|
|
rightNow.add(Calendar.DATE, timeNum);
|
|
rightNow.add(Calendar.DATE, timeNum);
|
|
|
|
+ nextTime = rightNow.getTime();
|
|
break;
|
|
break;
|
|
case "小时":
|
|
case "小时":
|
|
rightNow.add(Calendar.HOUR_OF_DAY, timeNum);
|
|
rightNow.add(Calendar.HOUR_OF_DAY, timeNum);
|
|
|
|
+ nextTime = rightNow.getTime();
|
|
break;
|
|
break;
|
|
case "分钟":
|
|
case "分钟":
|
|
rightNow.add(Calendar.MINUTE, timeNum);
|
|
rightNow.add(Calendar.MINUTE, timeNum);
|
|
|
|
+ nextTime = rightNow.getTime();
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ nextTime = null;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- return rightNow.getTime();
|
|
|
|
|
|
+ return nextTime;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -84,6 +94,13 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 根据status查找启用的保养计划
|
|
|
|
+ */
|
|
|
|
+ public List<CmmsUpkeepPlan> getCmmsUpkeepPlanByStatus(String status){
|
|
|
|
+ return cmmsUpkeepPlanMapper.getCmmsUpkeepPlanByStatus(status);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
* 新增保养计划
|
|
* 新增保养计划
|
|
*
|
|
*
|
|
* @param cmmsUpkeepPlanDto 保养计划
|
|
* @param cmmsUpkeepPlanDto 保养计划
|
|
@@ -97,7 +114,17 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
//保养计划编号
|
|
//保养计划编号
|
|
if(cmmsUpkeepPlanDto.getPlancode() == null || "".equals(cmmsUpkeepPlanDto.getPlancode())) cmmsUpkeepPlan.setPlancode(autoCodeUtil.genSerialCode(UserConstants.CMMSUPKEEPPLAN_CODE, null));
|
|
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.getPlanname() != null) cmmsUpkeepPlan.setPlanname(cmmsUpkeepPlanDto.getPlanname());//保养计划名称
|
|
- if(cmmsUpkeepPlanDto.getBegintime() != null) cmmsUpkeepPlan.setBegintime(cmmsUpkeepPlanDto.getBegintime());//保养计划开始时间
|
|
|
|
|
|
+ if(cmmsUpkeepPlanDto.getUpkeepprojid() != null) cmmsUpkeepPlan.setUpkeepprojid(cmmsUpkeepPlanDto.getUpkeepprojid());//保养工作项目id
|
|
|
|
+ if(cmmsUpkeepPlanDto.getProjectname() != null) cmmsUpkeepPlan.setProjectname(cmmsUpkeepPlanDto.getProjectname());//保养工作项目名称
|
|
|
|
+ if(cmmsUpkeepPlanDto.getAddress() != null) cmmsUpkeepPlan.setAddress(cmmsUpkeepPlanDto.getAddress());//地点
|
|
|
|
+ if(cmmsUpkeepPlanDto.getSupplier() != null) cmmsUpkeepPlan.setSupplier(cmmsUpkeepPlanDto.getSupplier());//厂商名称
|
|
|
|
+ if(cmmsUpkeepPlanDto.getSuppliertel() != null) cmmsUpkeepPlan.setSuppliertel(cmmsUpkeepPlanDto.getSuppliertel());//厂商电话
|
|
|
|
+ if(cmmsUpkeepPlanDto.getLinker() != null) cmmsUpkeepPlan.setLinker(cmmsUpkeepPlanDto.getLinker());//联系人
|
|
|
|
+ if(cmmsUpkeepPlanDto.getLinkertel() != null) cmmsUpkeepPlan.setLinkertel(cmmsUpkeepPlanDto.getLinkertel());//联系人电话
|
|
|
|
+ if(cmmsUpkeepPlanDto.getChargeruser() != null) cmmsUpkeepPlan.setChargeruser(cmmsUpkeepPlanDto.getChargeruser());//负责人
|
|
|
|
+ if(cmmsUpkeepPlanDto.getPlandesc() != null) cmmsUpkeepPlan.setPlandesc(cmmsUpkeepPlanDto.getPlandesc());//描述
|
|
|
|
+ if(cmmsUpkeepPlanDto.getBegintime() != null) cmmsUpkeepPlan.setBegintime(cmmsUpkeepPlanDto.getBegintime());//保养计划第一次开始时间
|
|
|
|
+ if(cmmsUpkeepPlanDto.getBegintime() != null) cmmsUpkeepPlan.setNexttime(cmmsUpkeepPlanDto.getBegintime());//保养计划下次执行开始时间
|
|
if(cmmsUpkeepPlanDto.getRepeatnum() != null) cmmsUpkeepPlan.setRepeatnum(cmmsUpkeepPlanDto.getRepeatnum());//保养计划间隔重复的时间
|
|
if(cmmsUpkeepPlanDto.getRepeatnum() != null) cmmsUpkeepPlan.setRepeatnum(cmmsUpkeepPlanDto.getRepeatnum());//保养计划间隔重复的时间
|
|
if(cmmsUpkeepPlanDto.getRepeattype() != null) cmmsUpkeepPlan.setRepeattype(cmmsUpkeepPlanDto.getRepeattype());//保养计划间隔重复的时间单位
|
|
if(cmmsUpkeepPlanDto.getRepeattype() != null) cmmsUpkeepPlan.setRepeattype(cmmsUpkeepPlanDto.getRepeattype());//保养计划间隔重复的时间单位
|
|
if(cmmsUpkeepPlanDto.getNoticenum() != null) cmmsUpkeepPlan.setNoticenum(cmmsUpkeepPlanDto.getNoticenum());//保养计划执行提前通知时间
|
|
if(cmmsUpkeepPlanDto.getNoticenum() != null) cmmsUpkeepPlan.setNoticenum(cmmsUpkeepPlanDto.getNoticenum());//保养计划执行提前通知时间
|
|
@@ -106,7 +133,7 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
if(cmmsUpkeepPlanDto.getIfnotice() != null) cmmsUpkeepPlan.setIfnotice(cmmsUpkeepPlanDto.getIfnotice());//保养计划即将执行是否已通知 是/否
|
|
if(cmmsUpkeepPlanDto.getIfnotice() != null) cmmsUpkeepPlan.setIfnotice(cmmsUpkeepPlanDto.getIfnotice());//保养计划即将执行是否已通知 是/否
|
|
if(cmmsUpkeepPlanDto.getEquipmentid() != null) cmmsUpkeepPlan.setEquipmentid(cmmsUpkeepPlanDto.getEquipmentid());//保养计划对应的设备id
|
|
if(cmmsUpkeepPlanDto.getEquipmentid() != null) cmmsUpkeepPlan.setEquipmentid(cmmsUpkeepPlanDto.getEquipmentid());//保养计划对应的设备id
|
|
if(cmmsUpkeepPlanDto.getRemark() != null & (!("".equals(cmmsUpkeepPlanDto.getRemark())))) cmmsUpkeepPlan.setRemark(cmmsUpkeepPlanDto.getRemark());//保养计划备注
|
|
if(cmmsUpkeepPlanDto.getRemark() != null & (!("".equals(cmmsUpkeepPlanDto.getRemark())))) cmmsUpkeepPlan.setRemark(cmmsUpkeepPlanDto.getRemark());//保养计划备注
|
|
- cmmsUpkeepPlan.setNexttime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getRepeattype(), cmmsUpkeepPlanDto.getRepeatnum()));//下次保养计划执行时间
|
|
|
|
|
|
+// cmmsUpkeepPlan.setNexttime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getRepeattype(), cmmsUpkeepPlanDto.getRepeatnum()));//下次保养计划执行时间
|
|
cmmsUpkeepPlan.setNoticetime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getNoticetype(), -(cmmsUpkeepPlanDto.getNoticenum())));//保养计划执行提醒时间
|
|
cmmsUpkeepPlan.setNoticetime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getNoticetype(), -(cmmsUpkeepPlanDto.getNoticenum())));//保养计划执行提醒时间
|
|
boolean b1 = this.save(cmmsUpkeepPlan);
|
|
boolean b1 = this.save(cmmsUpkeepPlan);
|
|
|
|
|
|
@@ -131,16 +158,13 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
//一、删除之前保养计划-保养项表中关于该计划的保养项 通过planid删除
|
|
//一、删除之前保养计划-保养项表中关于该计划的保养项 通过planid删除
|
|
int ifdelplanitem = cmmsUpkeepPlanItemService.delCmmsUpkeepPlanItemByPid(cmmsUpkeepPlanDto.getId());
|
|
int ifdelplanitem = cmmsUpkeepPlanItemService.delCmmsUpkeepPlanItemByPid(cmmsUpkeepPlanDto.getId());
|
|
|
|
|
|
- //二、更新保养计划表 // 如果当前时间超过了计划开始时间,不管以前有没有通过此计划生成过保养工单,都将下次执行时间赋值为开始时间,同时修改通知时间
|
|
|
|
- if (cmmsUpkeepPlanDto.getBegintime().before(new Date())) {
|
|
|
|
- //根据当前时间获取下次执行时间(因为不知道开始时间是否修改了,所以更新一下下次执行时间)
|
|
|
|
- cmmsUpkeepPlanDto.setNexttime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getRepeattype(), cmmsUpkeepPlanDto.getRepeatnum()));
|
|
|
|
- //当前时间已经超过了计划时间,将下次计划执行时间赋成计划开始时间
|
|
|
|
- cmmsUpkeepPlanDto.setBegintime(cmmsUpkeepPlanDto.getNexttime());
|
|
|
|
|
|
+ //二、更新保养计划表 // 如果计划第一次开始时间还没到时间执行,不管以前有没有通过此计划生成过保养工单,都将下次执行时间赋值为开始时间,同时修改通知时间;如果已经过了时间说明计划开始时间未改,下次执行时间等不变
|
|
|
|
+ if (cmmsUpkeepPlanDto.getBegintime().after(new Date())) {
|
|
|
|
+ //将下次执行时间赋值为开始时间
|
|
|
|
+ cmmsUpkeepPlanDto.setNexttime(cmmsUpkeepPlanDto.getBegintime());
|
|
cmmsUpkeepPlanDto.setIfnotice("否");//更新计划是否已经通知
|
|
cmmsUpkeepPlanDto.setIfnotice("否");//更新计划是否已经通知
|
|
|
|
+ cmmsUpkeepPlanDto.setNoticetime(getNextTime(cmmsUpkeepPlanDto.getNexttime(), cmmsUpkeepPlanDto.getNoticetype(), -(cmmsUpkeepPlanDto.getNoticenum())));//更新保养计划执行提醒时间
|
|
}
|
|
}
|
|
- cmmsUpkeepPlanDto.setNexttime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getRepeattype(), cmmsUpkeepPlanDto.getRepeatnum()));//更新下次保养计划执行时间
|
|
|
|
- cmmsUpkeepPlanDto.setNoticetime(getNextTime(cmmsUpkeepPlanDto.getBegintime(), cmmsUpkeepPlanDto.getNoticetype(), -(cmmsUpkeepPlanDto.getNoticenum())));//更新保养计划执行提醒时间
|
|
|
|
int ifupdateplan = updateCmmsUpkeepPlanContentById(cmmsUpkeepPlanDto);
|
|
int ifupdateplan = updateCmmsUpkeepPlanContentById(cmmsUpkeepPlanDto);
|
|
|
|
|
|
//三、将新的保养计划对应的保养项存入保养计划-保养项表
|
|
//三、将新的保养计划对应的保养项存入保养计划-保养项表
|
|
@@ -176,4 +200,21 @@ public class CmmsUpkeepPlanServiceImpl extends ServiceImpl<CmmsUpkeepPlanMapper,
|
|
return cmmsUpkeepPlanMapper.updateCmmsUpkeepPlanStatusById(cmmsUpkeepPlan);
|
|
return cmmsUpkeepPlanMapper.updateCmmsUpkeepPlanStatusById(cmmsUpkeepPlan);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 根据保养计划批量更新下次生成工单时间及通知信息
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+ public int updateCmmsUpkeepCreateNoticeByIds(List<CmmsUpkeepPlan> cmmsUpkeepPlanList){
|
|
|
|
+ return cmmsUpkeepPlanMapper.updateCmmsUpkeepCreateNoticeByIds(cmmsUpkeepPlanList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据保养计划批量更新保养计划是否提前通知提醒ifnotice
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+ public int updateCmmsUpkeepPlanIfnoticeByIds(List<CmmsUpkeepPlan> cmmsUpkeepPlanList){
|
|
|
|
+ return cmmsUpkeepPlanMapper.updateCmmsUpkeepPlanIfnoticeByIds(cmmsUpkeepPlanList);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|