瀏覽代碼

新增保养计划接口修改

sl 1 年之前
父節點
當前提交
4acd0ef403

+ 4 - 3
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/controller/CmmsUpkeepPlanController.java

@@ -86,9 +86,10 @@ public class CmmsUpkeepPlanController extends JeecgController<CmmsUpkeepPlan, IC
 	@ApiOperation(value="保养计划-添加", notes="保养计划-添加")
 	//@RequiresPermissions("org.jeecg.modules:ems_cmms_upkeep_plan:add")
 	@PostMapping(value = "/add")
-	public Result<String> add(@RequestBody CmmsUpkeepPlan cmmsUpkeepPlan) {
-		cmmsUpkeepPlanService.save(cmmsUpkeepPlan);
-		return Result.OK("添加成功!");
+	public Result<String> add(@RequestBody CmmsUpkeepPlanDto cmmsUpkeepPlanDto) {
+//		cmmsUpkeepPlanService.save(cmmsUpkeepPlan);
+//		return Result.OK("添加成功!");
+		return Result.OK(cmmsUpkeepPlanService.insertCmmsUpkeepPlan(cmmsUpkeepPlanDto));
 	}
 
 	/**

+ 13 - 13
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/entity/CmmsUpkeepPlan.java

@@ -40,16 +40,16 @@ public class CmmsUpkeepPlan implements Serializable {
     @ApiModelProperty(value = "创建者")
     private java.lang.String createBy;
 	/**创建时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@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 createTime;
 	/**更新者*/
     @ApiModelProperty(value = "更新者")
     private java.lang.String updateBy;
 	/**更新时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+	@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 updateTime;
 	/**备注*/
@@ -101,9 +101,9 @@ public class CmmsUpkeepPlan implements Serializable {
     @ApiModelProperty(value = "描述")
     private java.lang.String plandesc;
 	/**开始时间*/
-	@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 begintime;
 	/**重复*/
@@ -127,15 +127,15 @@ public class CmmsUpkeepPlan implements Serializable {
     @ApiModelProperty(value = "状态(0启用 1停用)")
     private java.lang.String status;
 	/**下次执行时间*/
-	@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 nexttime;
 	/**下次通知时间*/
-	@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 noticetime;
 	/**是否已通知:是/否*/

+ 8 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/ICmmsUpkeepPlanService.java

@@ -22,4 +22,12 @@ public interface ICmmsUpkeepPlanService extends IService<CmmsUpkeepPlan> {
      */
     public List<CmmsUpkeepPlanDto> getAllCmmsUpkeepPlan(Page<CmmsUpkeepPlanDto> page, CmmsUpkeepPlan cmmsUpkeepPlan);
 
+    /**
+     * 新增保养计划
+     *
+     * @param cmmsUpkeepPlanDto 保养计划
+     * @return 结果
+     */
+    public String insertCmmsUpkeepPlan(CmmsUpkeepPlanDto cmmsUpkeepPlanDto);
+
 }

+ 91 - 0
jeecg_module_ems/src/main/java/org/jeecg/modules/cmmsUpkeepPlan/service/impl/CmmsUpkeepPlanServiceImpl.java

@@ -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 "添加保养计划失败!";
+        }
+    }
+
+    /**
      * 编辑修改后更新保养计划以及保养计划-保养项
      *
      */