فهرست منبع

防错-接口

wuzhenyue 3 سال پیش
والد
کامیت
6897b64f81
23فایلهای تغییر یافته به همراه782 افزوده شده و 72 حذف شده
  1. 55 22
      application-facade/src/main/java/com/factory/controller/web/PreventMistakeController.java
  2. 1 1
      application-facade/src/main/java/com/factory/web/entity/pm/OnsiteCalendar.java
  3. 1 1
      application-facade/src/main/java/com/factory/web/entity/pm/OnsiteItem.java
  4. 1 1
      application-facade/src/main/java/com/factory/web/entity/pm/OnsiteTitleBlob.java
  5. 8 0
      application-facade/src/main/java/com/factory/web/entity/pm/OnsiteWorkshop.java
  6. 48 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/AddPmPlanReq.java
  7. 51 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/EditPmPlanReq.java
  8. 48 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/OnsiteCalendarReq.java
  9. 29 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/OnsiteItemReq.java
  10. 28 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/OnsiteWorkshopReq.java
  11. 32 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/PmPlanPauseFlagReq.java
  12. 2 2
      application-facade/src/main/java/com/factory/web/entity/pm/req/SearchPmPlanListReq.java
  13. 29 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/SearchPmPlanReq.java
  14. 29 0
      application-facade/src/main/java/com/factory/web/entity/pm/req/SearchWorkshopReq.java
  15. 2 2
      application-facade/src/main/java/com/factory/web/entity/pm/res/PmPlanListRes.java
  16. 52 0
      application-facade/src/main/java/com/factory/web/entity/pm/res/PmPlanRes.java
  17. 1 1
      application-facade/src/main/java/com/factory/web/mapper/pm/OnsiteCalendarMapper.java
  18. 3 3
      application-facade/src/main/java/com/factory/web/mapper/pm/PreventMistakeMapper.java
  19. 1 1
      application-facade/src/main/java/com/factory/web/service/impl/pm/OnsiteCalendarServiceImpl.java
  20. 302 28
      application-facade/src/main/java/com/factory/web/service/impl/pm/PreventMistakeServiceImpl.java
  21. 1 1
      application-facade/src/main/java/com/factory/web/service/pm/OnsiteCalendarService.java
  22. 57 8
      application-facade/src/main/java/com/factory/web/service/pm/PreventMistakeService.java
  23. 1 1
      application-facade/src/main/resources/mapper/PreventMistakeMapper.xml

+ 55 - 22
application-facade/src/main/java/com/factory/controller/web/PreventMistakeController.java

@@ -1,6 +1,5 @@
 package com.factory.controller.web;
 
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -10,9 +9,15 @@ import org.springframework.web.bind.annotation.RestController;
 import com.factory.base.entity.aggregates.PageBean;
 import com.factory.base.entity.aggregates.ResponseBean;
 import com.factory.base.util.res.ResponseBeanBuilder;
-import com.factory.web.entity.pm.PreventMistakePlanListReq;
-import com.factory.web.entity.pm.PreventMistakePlanListRes;
-import com.factory.web.entity.vo.req.web.AddIniPlanReq;
+import com.factory.web.entity.pm.OnsiteWorkshop;
+import com.factory.web.entity.pm.req.AddPmPlanReq;
+import com.factory.web.entity.pm.req.EditPmPlanReq;
+import com.factory.web.entity.pm.req.PmPlanPauseFlagReq;
+import com.factory.web.entity.pm.req.SearchPmPlanListReq;
+import com.factory.web.entity.pm.req.SearchPmPlanReq;
+import com.factory.web.entity.pm.req.SearchWorkshopReq;
+import com.factory.web.entity.pm.res.PmPlanListRes;
+import com.factory.web.entity.pm.res.PmPlanRes;
 import com.factory.web.service.pm.PreventMistakeService;
 
 import io.swagger.annotations.Api;
@@ -31,22 +36,50 @@ import lombok.extern.slf4j.Slf4j;
 @RequestMapping("/benteler/web/pm")
 @Slf4j
 public class PreventMistakeController {
-    @Autowired
-    private PreventMistakeService preventMistakeService;
-    
-    
-//    @ApiOperation(value = "新建防错计划")
-//    @PostMapping("/addIniPlan")
-//    @ApiOperationSupport(order = 1)
-//    public ResponseBean addIniPlan(@RequestBody AddIniPlanReq req) {
-//        return ResponseBeanBuilder.ok(bentelerIniVersionService.addIniPlan(req));
-//    }
-
-    @ApiOperation(value = "防错计划列表")
-    @ApiOperationSupport(order = 2)
-    @PostMapping("/pmPlanlist")
-    public ResponseBean<PageBean<PreventMistakePlanListRes>> planlist(@RequestBody PreventMistakePlanListReq req) {
-        return preventMistakeService.getPreventMistakePlanList(req);
-    }
-    
+	@Autowired
+	private PreventMistakeService preventMistakeService;
+
+	@ApiOperation(value = "新建防错计划")
+	@PostMapping("/addPmPlan")
+	@ApiOperationSupport(order = 1)
+	public ResponseBean addPmPlan(@RequestBody AddPmPlanReq req) {
+		return ResponseBeanBuilder.ok(preventMistakeService.addPmPlan(req));
+	}
+
+	@ApiOperation(value = "防错计划列表")
+	@ApiOperationSupport(order = 2)
+	@PostMapping("/pmPlanlist")
+	public ResponseBean<PageBean<PmPlanListRes>> pmPlanlist(@RequestBody SearchPmPlanListReq req) {
+		return preventMistakeService.getPmPlanList(req);
+	}
+	
+	@ApiOperation(value = "取得防错计划信息")
+	@ApiOperationSupport(order = 3)
+	@PostMapping("/getPmPlan")
+	public ResponseBean<PmPlanRes> getPmPlan(@RequestBody SearchPmPlanReq req) {
+		return preventMistakeService.getPmPlan(req);
+	}
+
+	@ApiOperation(value = "禁用防错计划")
+	@PostMapping("/disablePmPlan")
+	@ApiOperationSupport(order = 4)
+	public ResponseBean disablePmPlan(@RequestBody PmPlanPauseFlagReq req) {
+		return preventMistakeService.disablePmPlan(req);
+	}
+	
+	@ApiOperation(value = "取得工作站信息")
+	@ApiOperationSupport(order = 5)
+	@PostMapping("/getWorkshop")
+	public ResponseBean<OnsiteWorkshop> getWorkshop(@RequestBody SearchWorkshopReq req) {
+		return preventMistakeService.getWorkshop(req);
+	}
+	
+	@ApiOperation(value = "修改防错计划")
+	@PostMapping("/editPmPlan")
+	@ApiOperationSupport(order = 6)
+	public ResponseBean editPmPlan(@RequestBody EditPmPlanReq req) {
+		return ResponseBeanBuilder.ok(preventMistakeService.editPmPlan(req));
+	}
+
+	
 }

+ 1 - 1
application-facade/src/main/java/com/factory/web/entity/pm/OnsiteCalendar.java

@@ -11,7 +11,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 
 /**
- * 日周月规则设置
+ * 日周月点检规则
  *
  * @author wzy
  * @date 2021-07-09 12:00:00

+ 1 - 1
application-facade/src/main/java/com/factory/web/entity/pm/OnsiteItem.java

@@ -30,7 +30,7 @@ public class OnsiteItem {
 	@ApiModelProperty(value = "工作站id")
 	private Long workshopId;
 
-	@ApiModelProperty(value = "巡检项目内容设置")
+	@ApiModelProperty(value = "巡检项目内容")
 	private String itemContent;
 
 	@ApiModelProperty(value = "0日巡检  1周巡检  2月巡检")

+ 1 - 1
application-facade/src/main/java/com/factory/web/entity/pm/OnsiteTitleBlob.java

@@ -25,7 +25,7 @@ import lombok.NoArgsConstructor;
 public class OnsiteTitleBlob {
 
     @TableId(type = IdType.AUTO)
-    @ApiModelProperty(value = "巡检项目id")
+    @ApiModelProperty(value = "表头id")
     private Long id;
 
     @ApiModelProperty(value = "计划id")

+ 8 - 0
application-facade/src/main/java/com/factory/web/entity/pm/OnsiteWorkshop.java

@@ -1,8 +1,12 @@
 package com.factory.web.entity.pm;
 
+import java.util.List;
+
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.factory.web.entity.pm.req.OnsiteItemReq;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -32,4 +36,8 @@ public class OnsiteWorkshop {
 
 	@ApiModelProperty(value = "工作站名称")
 	private String wsName;
+	
+	@TableField(exist = false)
+	@ApiModelProperty(value = "日周月点检规则")
+    private List<OnsiteItem> onsiteItemList; // 用于页面返回值
 }

+ 48 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/AddPmPlanReq.java

@@ -0,0 +1,48 @@
+package com.factory.web.entity.pm.req;
+
+import java.time.LocalDate;
+import java.util.List;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.Size;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 新建防错计划
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class AddPmPlanReq {
+
+	@Size(max = 128, message = "名字长度过长")
+	@NotEmpty(message = "计划名称不能为空")
+	@ApiModelProperty(value = "计划名称", example = "计划A")
+	private String bentelerPlanName;
+
+	@ApiModelProperty(value = "生效日期", example = "2021-06-06")
+	private LocalDate effectiveDate;
+
+	@ApiModelProperty(value = "日周月点检规则")
+	private List<OnsiteCalendarReq> onsiteCalendarList;
+
+	@ApiModelProperty(value = "表头")
+	private String titleContent; // TODO 确认一下前端如何传递表头信息,是String还是file文件
+
+	@ApiModelProperty(value = "工作站及巡检内容")
+	private List<OnsiteWorkshopReq> onsiteWorkshopList;
+}

+ 51 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/EditPmPlanReq.java

@@ -0,0 +1,51 @@
+package com.factory.web.entity.pm.req;
+
+import java.time.LocalDate;
+import java.util.List;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.Size;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 修改防错计划
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class EditPmPlanReq {
+	
+	@ApiModelProperty(value = "计划ID")
+	private Long bentelerPlanId;
+
+	@Size(max = 128, message = "名字长度过长")
+	@NotEmpty(message = "计划名称不能为空")
+	@ApiModelProperty(value = "计划名称", example = "计划A")
+	private String bentelerPlanName;
+
+	@ApiModelProperty(value = "生效日期", example = "2021-06-06")
+	private LocalDate effectiveDate;
+
+	@ApiModelProperty(value = "日周月点检规则")
+	private List<OnsiteCalendarReq> onsiteCalendarList;
+
+	@ApiModelProperty(value = "表头")
+	private String titleContent; // TODO 确认一下前端如何传递表头信息,是String还是file文件
+
+	@ApiModelProperty(value = "工作站及巡检内容")
+	private List<OnsiteWorkshopReq> onsiteWorkshopList;
+}

+ 48 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/OnsiteCalendarReq.java

@@ -0,0 +1,48 @@
+package com.factory.web.entity.pm.req;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 日周月点检规则
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class OnsiteCalendarReq {
+
+	@ApiModelProperty(value = "日巡检开始时间 格式11:00")
+	private String startDay;
+
+	@ApiModelProperty(value = "日巡检结束时间 格式11:00")
+	private String endDay;
+
+	@ApiModelProperty(value = "日检查时长设置单位分钟 例如60")
+	private Integer dayValidate;
+	
+	@ApiModelProperty(value = "升级时长设置单位是分钟 例如60 这个时间其实是汇报超时给监督")
+	private Integer dayOuttime;
+	
+	@ApiModelProperty(value = "周巡检时间设置  1-7")
+	private Integer weekDay;
+	
+	@ApiModelProperty(value = "月巡检时间 1-28")
+	private Integer monthDay;
+	
+	@ApiModelProperty(value = "月巡检备用预留字段")
+	private Integer month;
+	
+	@ApiModelProperty(value = "点检人对应的用户ID")
+	private Long userId;
+	
+	@ApiModelProperty(value = "0日巡检  1周巡检  2月巡检")
+	private Integer typeFlag;
+
+}

+ 29 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/OnsiteItemReq.java

@@ -0,0 +1,29 @@
+package com.factory.web.entity.pm.req;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 巡检项目设置
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class OnsiteItemReq {
+
+	@ApiModelProperty(value = "巡检项目内容")
+	private String itemContent;
+
+	@ApiModelProperty(value = "0日巡检  1周巡检  2月巡检")
+	private Integer typeFlag;
+
+	@ApiModelProperty(value = "0非手动 1手动")
+	private Integer inspectionFlag;
+}

+ 28 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/OnsiteWorkshopReq.java

@@ -0,0 +1,28 @@
+package com.factory.web.entity.pm.req;
+
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 工作站
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class OnsiteWorkshopReq {
+
+	@ApiModelProperty(value = "工作站名称")
+	private String wsName;
+	
+	@ApiModelProperty(value = "日周月点检规则")
+    private List<OnsiteItemReq> onsiteItemList;
+}

+ 32 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/PmPlanPauseFlagReq.java

@@ -0,0 +1,32 @@
+package com.factory.web.entity.pm.req;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 防错计划禁用解禁
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class PmPlanPauseFlagReq {
+
+	@ApiModelProperty(value = "计划Id")
+	private Long bentelerPlanId;
+
+	@ApiModelProperty(value = "true禁用、false解禁")
+	private Boolean pauseFlag;
+
+}

+ 2 - 2
application-facade/src/main/java/com/factory/web/entity/pm/PreventMistakePlanListReq.java → application-facade/src/main/java/com/factory/web/entity/pm/req/SearchPmPlanListReq.java

@@ -1,4 +1,4 @@
-package com.factory.web.entity.pm;
+package com.factory.web.entity.pm.req;
 
 import com.factory.base.entity.vo.req.BasePageReq;
 import com.fasterxml.jackson.annotation.JsonInclude;
@@ -22,7 +22,7 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @JsonInclude()
 @ApiModel("")
-public class PreventMistakePlanListReq extends BasePageReq {
+public class SearchPmPlanListReq extends BasePageReq {
 	
 	@ApiModelProperty(value = "计划名称")
 	private String bentelerPlanName;

+ 29 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/SearchPmPlanReq.java

@@ -0,0 +1,29 @@
+package com.factory.web.entity.pm.req;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 防错计划
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class SearchPmPlanReq {
+	
+	@ApiModelProperty(value = "计划Id")
+	private String bentelerPlanId;
+	
+}

+ 29 - 0
application-facade/src/main/java/com/factory/web/entity/pm/req/SearchWorkshopReq.java

@@ -0,0 +1,29 @@
+package com.factory.web.entity.pm.req;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 工作站
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class SearchWorkshopReq {
+	
+	@ApiModelProperty(value = "工作站Id")
+	private String workshopId;
+	
+}

+ 2 - 2
application-facade/src/main/java/com/factory/web/entity/pm/PreventMistakePlanListRes.java → application-facade/src/main/java/com/factory/web/entity/pm/res/PmPlanListRes.java

@@ -1,4 +1,4 @@
-package com.factory.web.entity.pm;
+package com.factory.web.entity.pm.res;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 
@@ -21,7 +21,7 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @JsonInclude()
 @ApiModel("")
-public class PreventMistakePlanListRes {
+public class PmPlanListRes {
 
 	@ApiModelProperty(value = "计划ID")
 	private Long bentelerPlanId;

+ 52 - 0
application-facade/src/main/java/com/factory/web/entity/pm/res/PmPlanRes.java

@@ -0,0 +1,52 @@
+package com.factory.web.entity.pm.res;
+
+import java.time.LocalDate;
+import java.util.List;
+
+import com.factory.web.entity.pm.OnsiteCalendar;
+import com.factory.web.entity.pm.OnsiteWorkshop;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * 防错计划
+ *
+ * @author wzy
+ * @date 2021-07-09 12:00:00
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude()
+@ApiModel("")
+public class PmPlanRes {
+
+	@ApiModelProperty(value = "计划ID")
+	private Long bentelerPlanId;
+
+	@ApiModelProperty(value = "计划名称")
+	private String bentelerPlanName;
+	
+	@ApiModelProperty(value = "计划类型 1首件 2防错")
+	private Integer planType;
+
+	@ApiModelProperty(value = "生效日期", example = "2021-06-06")
+	private LocalDate effectiveDate;
+
+	@ApiModelProperty(value = "日周月点检规则")
+	private List<OnsiteCalendar> onsiteCalendarList;
+
+	@ApiModelProperty(value = "表头")
+	private String titleContent;
+
+	@ApiModelProperty(value = "工作站及巡检内容")
+	private List<OnsiteWorkshop> onsiteWorkshopList;
+
+}

+ 1 - 1
application-facade/src/main/java/com/factory/web/mapper/pm/OnsiteCalendarMapper.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.factory.web.entity.pm.OnsiteCalendar;
 
 /**
- * 日周月规则设置
+ * 日周月点检规则
  *
  * @author wzy
  * @date 2021-07-09 12:00:00

+ 3 - 3
application-facade/src/main/java/com/factory/web/mapper/pm/PreventMistakeMapper.java

@@ -6,8 +6,8 @@ import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.factory.base.entity.po.benteler.BentelerPlan;
-import com.factory.web.entity.pm.PreventMistakePlanListReq;
-import com.factory.web.entity.pm.PreventMistakePlanListRes;
+import com.factory.web.entity.pm.req.SearchPmPlanListReq;
+import com.factory.web.entity.pm.res.PmPlanListRes;
 
 /**
  * 防错计划
@@ -24,5 +24,5 @@ public interface PreventMistakeMapper extends BaseMapper<BentelerPlan> {
      * @param req
      * @return 防错计划列表
      */
-    public Page<PreventMistakePlanListRes> getPreventMistakePlanList(@Param("page") Page page, @Param("req") PreventMistakePlanListReq req);
+    public Page<PmPlanListRes> getPmPlanList(@Param("page") Page page, @Param("req") SearchPmPlanListReq req);
 }

+ 1 - 1
application-facade/src/main/java/com/factory/web/service/impl/pm/OnsiteCalendarServiceImpl.java

@@ -10,7 +10,7 @@ import com.factory.web.service.pm.OnsiteCalendarService;
 
 
 /**
- * 日周月规则设置
+ * 日周月点检规则
  *
  * @author wzy
  * @date 2021-07-09 12:00:00

+ 302 - 28
application-facade/src/main/java/com/factory/web/service/impl/pm/PreventMistakeServiceImpl.java

@@ -1,9 +1,10 @@
 package com.factory.web.service.impl.pm;
 
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDate;
 import java.util.List;
 import java.util.function.Function;
 
-import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -13,12 +14,31 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.factory.base.entity.aggregates.PageBean;
 import com.factory.base.entity.aggregates.ResponseBean;
+import com.factory.base.entity.enumPo.PlanType;
+import com.factory.base.entity.po.benteler.BentelerIniCheckItem;
 import com.factory.base.entity.po.benteler.BentelerPlan;
 import com.factory.base.util.res.ResponseBeanBuilder;
-import com.factory.web.entity.pm.PreventMistakePlanListReq;
-import com.factory.web.entity.pm.PreventMistakePlanListRes;
+import com.factory.web.entity.pm.OnsiteCalendar;
+import com.factory.web.entity.pm.OnsiteItem;
+import com.factory.web.entity.pm.OnsiteTitleBlob;
+import com.factory.web.entity.pm.OnsiteWorkshop;
+import com.factory.web.entity.pm.req.AddPmPlanReq;
+import com.factory.web.entity.pm.req.EditPmPlanReq;
+import com.factory.web.entity.pm.req.OnsiteCalendarReq;
+import com.factory.web.entity.pm.req.OnsiteItemReq;
+import com.factory.web.entity.pm.req.OnsiteWorkshopReq;
+import com.factory.web.entity.pm.req.SearchPmPlanListReq;
+import com.factory.web.entity.pm.req.PmPlanPauseFlagReq;
+import com.factory.web.entity.pm.req.SearchPmPlanReq;
+import com.factory.web.entity.pm.req.SearchWorkshopReq;
+import com.factory.web.entity.pm.res.PmPlanListRes;
+import com.factory.web.entity.pm.res.PmPlanRes;
 import com.factory.web.mapper.pm.PreventMistakeMapper;
 import com.factory.web.service.BentelerPlanService;
+import com.factory.web.service.pm.OnsiteCalendarService;
+import com.factory.web.service.pm.OnsiteItemService;
+import com.factory.web.service.pm.OnsiteTitleBlobService;
+import com.factory.web.service.pm.OnsiteWorkshopService;
 import com.factory.web.service.pm.PreventMistakeService;
 
 /**
@@ -32,37 +52,291 @@ import com.factory.web.service.pm.PreventMistakeService;
 public class PreventMistakeServiceImpl extends ServiceImpl<PreventMistakeMapper, BentelerPlan> implements PreventMistakeService {
 
 	@Autowired
-    private PreventMistakeMapper preventMistakeMapper;
+	private PreventMistakeMapper preventMistakeMapper;
+
+	@Autowired
+	private BentelerPlanService planService;
+
+	@Autowired
+	private OnsiteCalendarService onsiteCalendarService;
+
+	@Autowired
+	private OnsiteTitleBlobService onsiteTitleBlobService;
+
+	@Autowired
+	private OnsiteWorkshopService onsiteWorkshopService;
+
+	@Autowired
+	private OnsiteItemService onsiteItemService;
+
+	/**
+	 * 新建防错计划
+	 * 
+	 * @param req
+	 * @return
+	 */
+	@Override
+	public ResponseBean addPmPlan(AddPmPlanReq req) {
+		/* 校验计划名称是否存在 */
+		if (this.checkPlanNameExist(req.getBentelerPlanName())) {
+			return ResponseBeanBuilder.fail("计划名称已存在");
+		}
+
+		/* 添加放错计划 */
+		// TODO 计划生效日期
+		BentelerPlan plan = BentelerPlan.builder()
+				.planType(PlanType.防错.value)
+				.name(req.getBentelerPlanName())
+				.pauseFlag(false)
+				.build();
+		planService.save(plan);
+
+		/* 添加日周月点检规则 */
+		// TODO 确认个别字段没传或是空串的情况
+		List<OnsiteCalendarReq> onsiteCalendarList = req.getOnsiteCalendarList();
+		for (OnsiteCalendarReq onsiteCalendarReq : onsiteCalendarList) {
+			OnsiteCalendar onsiteCalendar = OnsiteCalendar.builder()
+					.bentelerPlanId(plan.getId())
+					.startDay(onsiteCalendarReq.getStartDay())
+					.endDay(onsiteCalendarReq.getEndDay())
+					.dayValidate(onsiteCalendarReq.getDayValidate())
+					.dayOuttime(onsiteCalendarReq.getDayOuttime())
+					.weekDay(onsiteCalendarReq.getWeekDay())
+					.monthDay(onsiteCalendarReq.getMonthDay())
+					.month(onsiteCalendarReq.getMonth())
+					.userId(onsiteCalendarReq.getUserId())
+					.typeFlag(onsiteCalendarReq.getTypeFlag())
+					.build();
+			onsiteCalendarService.save(onsiteCalendar);
+		}
+
+		/* 添加表头信息 */
+		// TODO 确认表头传过来的数据类型
+		OnsiteTitleBlob onsiteTitleBlob = OnsiteTitleBlob.builder()
+				.bentelerPlanId(plan.getId())
+				.titleContent(req.getTitleContent().getBytes(StandardCharsets.UTF_8))
+				.build();
+		onsiteTitleBlobService.save(onsiteTitleBlob);
+
+		/* 添加工作站信息 */
+		List<OnsiteWorkshopReq> onsiteWorkshopList = req.getOnsiteWorkshopList();
+		for (OnsiteWorkshopReq onsiteWorkshopReq : onsiteWorkshopList) {
+			if (this.checkWsNameExist(onsiteWorkshopReq.getWsName())) {
+				return ResponseBeanBuilder.fail("工作站名称" + onsiteWorkshopReq.getWsName() + "已存在");
+			}
+
+			OnsiteWorkshop onsiteWorkshop = OnsiteWorkshop.builder()
+					.bentelerPlanId(plan.getId())
+					.wsName(onsiteWorkshopReq.getWsName())
+					.build();
+			onsiteWorkshopService.save(onsiteWorkshop);
+
+			/* 添加巡检项目信息 */
+			List<OnsiteItemReq> onsiteItemList = onsiteWorkshopReq.getOnsiteItemList();
+			for (OnsiteItemReq onsiteItemReq : onsiteItemList) {
+				OnsiteItem onsiteItem = OnsiteItem.builder()
+						.workshopId(onsiteWorkshop.getId())
+						.itemContent(onsiteItemReq.getItemContent())
+						.typeFlag(onsiteItemReq.getTypeFlag())
+						.inspectionFlag(onsiteItemReq.getInspectionFlag())
+						.build();
+				onsiteItemService.save(onsiteItem);
+			}
+		}
+
+		return ResponseBeanBuilder.ok();
+	}
+
+	/**
+	 * 校验计划名是否存在
+	 * 
+	 * @param name
+	 * @return true存在,false不存在
+	 */
+	@Override
+	public boolean checkPlanNameExist(String name) {
+		int count = planService.count(
+				Wrappers.<BentelerPlan> lambdaQuery().eq(BentelerPlan::getName, name));
+		if (count > 0) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * 校验工作站名是否存在
+	 * 
+	 * @param wsName
+	 * @return true存在,false不存在
+	 */
+	@Override
+	public boolean checkWsNameExist(String wsName) {
+		int count = onsiteWorkshopService.count(
+				Wrappers.<OnsiteWorkshop> lambdaQuery().eq(OnsiteWorkshop::getWsName, wsName));
+		if (count > 0) {
+			return true;
+		} else {
+			return false;
+		}
+	}
+
+	/**
+	 * 取得防错计划列表
+	 * 
+	 * @param req
+	 * @return 防错计划列表
+	 */
+	@Override
+	public ResponseBean<PageBean<PmPlanListRes>> getPmPlanList(SearchPmPlanListReq req) {
+		Page<PmPlanListRes> page = new Page<>(req.getPage(), req.getSize());
+		Page<PmPlanListRes> listResPage = preventMistakeMapper.getPmPlanList(page, req);
+		return ResponseBeanBuilder.ok(listResPage, Function.identity());
+	}
 	
-    @Autowired
-    private BentelerPlanService planService;
-    
-    /**
-     * 计划名称是否重复
-     * @param name
-     * @return 
+	/**
+     * 取得防错计划信息
+     * @param req
+     * @return 防错计划信息
      */
-    @Override
-    public boolean planNameRepetition(String name) {
-        List<BentelerPlan> plans = planService.list(Wrappers.<BentelerPlan>lambdaQuery()
-                .eq(BentelerPlan::getName, name));
-        if (CollectionUtils.isNotEmpty(plans)) {
-            return true;
-        }
-        return false;
+	@Override
+    public ResponseBean<PmPlanRes> getPmPlan(SearchPmPlanReq req) {
+		BentelerPlan plan = planService.getById(req.getBentelerPlanId());
+		PmPlanRes pmPlanRes = new PmPlanRes();
+		pmPlanRes.setBentelerPlanId(plan.getId());
+		pmPlanRes.setBentelerPlanName(plan.getName());
+		pmPlanRes.setPlanType(plan.getPlanType());
+		
+		List<OnsiteCalendar> onsiteCalendarList = onsiteCalendarService.list(Wrappers.<OnsiteCalendar>lambdaQuery()
+                .eq(OnsiteCalendar::getBentelerPlanId, plan.getId()));
+		pmPlanRes.setOnsiteCalendarList(onsiteCalendarList);
+		
+		List<OnsiteWorkshop> onsiteWorkshopList = onsiteWorkshopService.list(Wrappers.<OnsiteWorkshop>lambdaQuery()
+                .eq(OnsiteWorkshop::getBentelerPlanId, plan.getId()));
+		for (OnsiteWorkshop onsiteWorkshop : onsiteWorkshopList) {
+			List<OnsiteItem> onsiteItemList = onsiteItemService.list(Wrappers.<OnsiteItem>lambdaQuery()
+	                .eq(OnsiteItem::getWorkshopId, onsiteWorkshop.getId()));
+			onsiteWorkshop.setOnsiteItemList(onsiteItemList);
+		}
+		pmPlanRes.setOnsiteWorkshopList(onsiteWorkshopList);
+		
+		return ResponseBeanBuilder.ok(pmPlanRes);
     }
 
-    /**
-     * 取得巡检项目列表
+	/**
+     * 禁用解禁防错计划
      * @param req
-     * @return 巡检项目列表
+     * @return 
      */
-    @Override
-    public ResponseBean<PageBean<PreventMistakePlanListRes>> getPreventMistakePlanList(PreventMistakePlanListReq req) {
-    	Page<PreventMistakePlanListRes> page = new Page<>(req.getPage(), req.getSize());
-        Page<PreventMistakePlanListRes> listResPage = preventMistakeMapper.getPreventMistakePlanList(page, req);
-        return ResponseBeanBuilder.ok(listResPage, Function.identity());
+	@Override
+    public ResponseBean disablePmPlan(PmPlanPauseFlagReq req) {
+		planService.updateById(BentelerPlan.builder()
+                .id(req.getBentelerPlanId())
+                .pauseFlag(req.getPauseFlag())
+                .build());
+        return ResponseBeanBuilder.ok();
+    }
+	
+	/**
+     * 取得工作站信息
+     * @param req
+     * @return 工作站信息
+     */
+	@Override
+    public ResponseBean<OnsiteWorkshop> getWorkshop(SearchWorkshopReq req) {
+    	
+		OnsiteWorkshop onsiteWorkshop = onsiteWorkshopService.getById(req.getWorkshopId());
+		
+		List<OnsiteItem> onsiteItemList = onsiteItemService.list(Wrappers.<OnsiteItem>lambdaQuery()
+                .eq(OnsiteItem::getWorkshopId, onsiteWorkshop.getId()));
+		onsiteWorkshop.setOnsiteItemList(onsiteItemList);
+		
+		return ResponseBeanBuilder.ok(onsiteWorkshop);
     }
-
     
+    /**
+     * 修改防错计划
+     * @param req
+     * @return 
+     */
+	@Override
+	public ResponseBean editPmPlan(EditPmPlanReq req) {
+		/* 校验计划名称是否存在 */
+		if (this.checkPlanNameExist(req.getBentelerPlanName())) {
+			return ResponseBeanBuilder.fail("计划名称已存在");
+		}
+
+		/* 修改放错计划 */
+		// TODO 计划生效日期
+		BentelerPlan plan = BentelerPlan.builder()
+				.id(req.getBentelerPlanId())
+				.name(req.getBentelerPlanName())
+				.build();
+		planService.updateById(plan);
+
+		/* 修改日周月点检规则 */
+		// TODO 确认这个删除好用不
+		onsiteCalendarService.remove(Wrappers.<OnsiteCalendar>lambdaQuery()
+                .eq(OnsiteCalendar::getBentelerPlanId, plan.getId()));
+		
+		List<OnsiteCalendarReq> onsiteCalendarList = req.getOnsiteCalendarList();
+		for (OnsiteCalendarReq onsiteCalendarReq : onsiteCalendarList) {
+			OnsiteCalendar onsiteCalendar = OnsiteCalendar.builder()
+					.bentelerPlanId(plan.getId())
+					.startDay(onsiteCalendarReq.getStartDay())
+					.endDay(onsiteCalendarReq.getEndDay())
+					.dayValidate(onsiteCalendarReq.getDayValidate())
+					.dayOuttime(onsiteCalendarReq.getDayOuttime())
+					.weekDay(onsiteCalendarReq.getWeekDay())
+					.monthDay(onsiteCalendarReq.getMonthDay())
+					.month(onsiteCalendarReq.getMonth())
+					.userId(onsiteCalendarReq.getUserId())
+					.typeFlag(onsiteCalendarReq.getTypeFlag())
+					.build();
+			onsiteCalendarService.save(onsiteCalendar);
+		}
+
+		/* 添加表头信息 */
+		// TODO 确认表头传过来的数据类型
+//		LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+//		lambdaUpdateWrapper.eq(User::getName, "rhb").set(User::getAge, 18);
+//		Integer rows = userMapper.update(null, lambdaUpdateWrapper);
+//
+//		onsiteTitleBlobService.update(updateWrapper)
+		
+		
+		OnsiteTitleBlob onsiteTitleBlob = OnsiteTitleBlob.builder()
+				.bentelerPlanId(plan.getId())
+				.titleContent(req.getTitleContent().getBytes(StandardCharsets.UTF_8))
+				.build();
+		onsiteTitleBlobService.save(onsiteTitleBlob);
+
+		/* 添加工作站信息 */
+		List<OnsiteWorkshopReq> onsiteWorkshopList = req.getOnsiteWorkshopList();
+		for (OnsiteWorkshopReq onsiteWorkshopReq : onsiteWorkshopList) {
+			if (this.checkWsNameExist(onsiteWorkshopReq.getWsName())) {
+				return ResponseBeanBuilder.fail("工作站名称" + onsiteWorkshopReq.getWsName() + "已存在");
+			}
+
+			OnsiteWorkshop onsiteWorkshop = OnsiteWorkshop.builder()
+					.bentelerPlanId(plan.getId())
+					.wsName(onsiteWorkshopReq.getWsName())
+					.build();
+			onsiteWorkshopService.save(onsiteWorkshop);
+
+			/* 添加巡检项目信息 */
+			List<OnsiteItemReq> onsiteItemList = onsiteWorkshopReq.getOnsiteItemList();
+			for (OnsiteItemReq onsiteItemReq : onsiteItemList) {
+				OnsiteItem onsiteItem = OnsiteItem.builder()
+						.workshopId(onsiteWorkshop.getId())
+						.itemContent(onsiteItemReq.getItemContent())
+						.typeFlag(onsiteItemReq.getTypeFlag())
+						.inspectionFlag(onsiteItemReq.getInspectionFlag())
+						.build();
+				onsiteItemService.save(onsiteItem);
+			}
+		}
+
+		return ResponseBeanBuilder.ok();
+	}
 }

+ 1 - 1
application-facade/src/main/java/com/factory/web/service/pm/OnsiteCalendarService.java

@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.factory.web.entity.pm.OnsiteCalendar;
 
 /**
- * 日周月规则设置
+ * 日周月点检规则
  *
  * @author wzy
  * @date 2021-07-09 12:00:00

+ 57 - 8
application-facade/src/main/java/com/factory/web/service/pm/PreventMistakeService.java

@@ -4,8 +4,15 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.factory.base.entity.aggregates.PageBean;
 import com.factory.base.entity.aggregates.ResponseBean;
 import com.factory.base.entity.po.benteler.BentelerPlan;
-import com.factory.web.entity.pm.PreventMistakePlanListReq;
-import com.factory.web.entity.pm.PreventMistakePlanListRes;
+import com.factory.web.entity.pm.OnsiteWorkshop;
+import com.factory.web.entity.pm.req.AddPmPlanReq;
+import com.factory.web.entity.pm.req.EditPmPlanReq;
+import com.factory.web.entity.pm.req.PmPlanPauseFlagReq;
+import com.factory.web.entity.pm.req.SearchPmPlanListReq;
+import com.factory.web.entity.pm.req.SearchPmPlanReq;
+import com.factory.web.entity.pm.req.SearchWorkshopReq;
+import com.factory.web.entity.pm.res.PmPlanListRes;
+import com.factory.web.entity.pm.res.PmPlanRes;
 
 /**
  * 防错计划
@@ -14,19 +21,61 @@ import com.factory.web.entity.pm.PreventMistakePlanListRes;
  * @date 2021-07-09 12:00:00
  */
 public interface PreventMistakeService extends IService<BentelerPlan> {
+	
+	/**
+     * 新建防错计划
+     * @param req
+     * @return 
+     */
+	public ResponseBean addPmPlan(AddPmPlanReq req);
 
 	/**
-     * 计划名称是否重复
+     * 校验计划名是否存在
      * @param name
-     * @return 
+     * @return true存在,false不存在
      */
-    public boolean planNameRepetition(String name);
+    public boolean checkPlanNameExist(String name);
+    
+    /**
+     * 校验工作站名是否存在
+     * @param wsName
+     * @return true存在,false不存在
+     */
+    public boolean checkWsNameExist(String wsName);
 
     /**
-     * 取得巡检项目列表
+     * 取得防错计划列表
+     * @param req
+     * @return 防错计划列表
+     */
+    public ResponseBean<PageBean<PmPlanListRes>> getPmPlanList(SearchPmPlanListReq req);
+    
+    /**
+     * 取得防错计划信息
+     * @param req
+     * @return 防错计划信息
+     */
+    public ResponseBean<PmPlanRes> getPmPlan(SearchPmPlanReq req);
+    
+    /**
+     * 禁用解禁防错计划
      * @param req
-     * @return 巡检项目列表
+     * @return 
+     */
+    public ResponseBean disablePmPlan(PmPlanPauseFlagReq req);
+    
+    /**
+     * 取得工作站信息
+     * @param req
+     * @return 工作站信息
+     */
+    public ResponseBean<OnsiteWorkshop> getWorkshop(SearchWorkshopReq req);
+    
+    /**
+     * 修改防错计划
+     * @param req
+     * @return 
      */
-    public ResponseBean<PageBean<PreventMistakePlanListRes>> getPreventMistakePlanList(PreventMistakePlanListReq req);
+	public ResponseBean editPmPlan(EditPmPlanReq req);
     
 }

+ 1 - 1
application-facade/src/main/resources/mapper/PreventMistakeMapper.xml

@@ -5,7 +5,7 @@
 	
 	
     <!--取得防错计划列表(TODO 计划状态需要处理)-->
-    <select id="getPreventMistakePlanList" resultType="com.factory.web.entity.pm.PreventMistakePlanListRes">
+    <select id="getPmPlanList" resultType="com.factory.web.entity.pm.res.PmPlanListRes">
         SELECT  bp.id AS benteler_plan_id,
         		bp.`name` AS benteler_plan_name,
 				GROUP_CONCAT(uu.username) AS check_person,