xiongchao 3 năm trước cách đây
mục cha
commit
c48296716e
31 tập tin đã thay đổi với 748 bổ sung18 xóa
  1. 23 3
      platform-common/src/main/java/com/platform/common/util/DateUtils.java
  2. 6 1
      platform-dao/src/main/java/com/platform/dao/dto/check/CheckStandardDTO.java
  3. 4 0
      platform-dao/src/main/java/com/platform/dao/dto/repair/RepairReasonDTO.java
  4. 4 0
      platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoDTO.java
  5. 4 0
      platform-dao/src/main/java/com/platform/dao/entity/check/CheckStandard.java
  6. 4 0
      platform-dao/src/main/java/com/platform/dao/entity/repair/RepairReason.java
  7. 4 0
      platform-dao/src/main/java/com/platform/dao/entity/sb/SbInfo.java
  8. 5 1
      platform-dao/src/main/java/com/platform/dao/enums/CheckPlanUserTypeEnum.java
  9. 31 0
      platform-dao/src/main/java/com/platform/dao/enums/CheckStandardLevelEnum.java
  10. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckJobVO.java
  11. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckStandardVO.java
  12. 8 0
      platform-dao/src/main/java/com/platform/dao/vo/query/repair/RepairReasonVO.java
  13. 48 0
      platform-dao/src/main/java/com/platform/dao/vo/report/CheckJobReportVO.java
  14. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/sb/SbInfoVO.java
  15. 47 0
      platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/CalendarInfo.java
  16. 46 0
      platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/Creator.java
  17. 40 0
      platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/Raw.java
  18. 125 0
      platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/ScheduleInfo.java
  19. 26 0
      platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/TuiCalendar.java
  20. 142 0
      platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/TuiCalendarUtil.java
  21. 2 2
      platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml
  22. 5 1
      platform-dao/src/main/resources/mapper/check/CheckStandardMapper.xml
  23. 8 2
      platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml
  24. 9 4
      platform-dao/src/main/resources/mapper/repair/RepairReasonMapper.xml
  25. 6 4
      platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml
  26. 11 0
      platform-rest/src/main/java/com/platform/rest/controller/check/CheckJobController.java
  27. 11 0
      platform-rest/src/main/java/com/platform/rest/controller/mobile/IgnoreController.java
  28. 50 0
      platform-rest/src/main/java/com/platform/rest/controller/report/CheckJobReportController.java
  29. 6 0
      platform-service/src/main/java/com/platform/service/check/CheckJobService.java
  30. 45 0
      platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java
  31. 16 0
      platform-service/src/main/java/com/platform/service/check/impl/CheckStandardServiceImpl.java

+ 23 - 3
platform-common/src/main/java/com/platform/common/util/DateUtils.java

@@ -100,6 +100,27 @@ public class DateUtils {
         return lastDay ;
     }
 
+    /**
+     * 获取当前月第一天:00:00:00
+     *
+     * @return
+     */
+    public static LocalDateTime getFirstDayOfMonth(Integer month) {
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime firstday  =  now.withMonth(month).with(TemporalAdjusters.firstDayOfMonth()).withHour(0).withMinute(0).withSecond(0);
+        return firstday;
+    }
+
+    /**
+     * 获取当前月最后一天:23:59:59
+     *
+     * @return
+     */
+    public static LocalDateTime getLastDayOfMonth(Integer month) {
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime lastDay  =  now.withMonth(month).with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59);
+        return lastDay ;
+    }
     /**
      * 是否是闰年
      *
@@ -292,9 +313,8 @@ public class DateUtils {
     }
 
     public static void main(String[] args) {
-        LocalDateTime now = LocalDateTime.now();
-        LocalDateTime end = LocalDateTime.of(2021, 5, 6, 9, 30, 38);
-        System.out.println(getDurationMinutes(end, now));
+        LocalDateTime now = getFirstDayOfMonth(6);
+        System.out.println(now);
     }
     /**
      * date 转 LocalDate

+ 6 - 1
platform-dao/src/main/java/com/platform/dao/dto/check/CheckStandardDTO.java

@@ -38,6 +38,10 @@ public class CheckStandardDTO extends BaseDTO implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 等级
+     */
+    private Integer level;
     /**
      * 上次实际执行日期
      */
@@ -57,7 +61,8 @@ public class CheckStandardDTO extends BaseDTO implements Serializable {
     /**
      * 设备等级
      */
-    private Integer level;
+    @Transient
+    private Integer sbLevel;
     /**
      * 被复制设备id
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairReasonDTO.java

@@ -42,6 +42,10 @@ public class RepairReasonDTO extends BaseDTO implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 设备id
+     */
+    private String sbPartId;
     /**
      * 维修编号ID
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbInfoDTO.java

@@ -35,6 +35,10 @@ public class SbInfoDTO extends BaseDTO implements Serializable {
      * 卡片编号
      */
     private String cardNo;
+    /**
+     * 自定义参数列表
+     */
+    private String paramList;
     /**
      * 是否子设备:0 父设备,1 子设备
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/check/CheckStandard.java

@@ -35,6 +35,10 @@ public class CheckStandard implements Serializable{
      * 设备id
      */
     private String sbId;
+    /**
+     * 等级
+     */
+    private Integer level;
     /**
      * 标准名称
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/repair/RepairReason.java

@@ -38,6 +38,10 @@ public class RepairReason implements Serializable{
      * 设备id
      */
     private String sbId;
+    /**
+     * 设备id
+     */
+    private String sbPartId;
     /**
      * 维修编号ID
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/entity/sb/SbInfo.java

@@ -20,6 +20,10 @@ import java.time.LocalDateTime;
 @Table(name = "t_sb_info")
 @Data
 public class SbInfo implements Serializable {
+    /**
+     * 自定义参数列表
+     */
+    private String paramList;
     /**
      * 验收单id
      */

+ 5 - 1
platform-dao/src/main/java/com/platform/dao/enums/CheckPlanUserTypeEnum.java

@@ -24,7 +24,11 @@ public enum CheckPlanUserTypeEnum {
     /**
      * 指定
      */
-    ZHIDING(3);
+    ZHIDING(3),
+    /**
+     * 厂家
+     */
+    FACTORY(4);
 
     private final Integer value;
 

+ 31 - 0
platform-dao/src/main/java/com/platform/dao/enums/CheckStandardLevelEnum.java

@@ -0,0 +1,31 @@
+package com.platform.dao.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Description 保养等级
+ * @Author liuyu
+ * @Date 2020/05/05
+ * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
+ */
+@Getter
+@AllArgsConstructor
+public enum CheckStandardLevelEnum {
+
+    /**
+     * 现场人员:一级
+     */
+    A(1),
+    /**
+     * 维修人员:二级
+     */
+    B(2),
+    /**
+     * 厂家:三级
+     */
+    C(3);
+
+    private final Integer value;
+
+}

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckJobVO.java

@@ -35,6 +35,10 @@ public class CheckJobVO implements Serializable{
      * 检查类型: 1-点检 2-保养 3-润滑
      */
     private Integer type;
+    /**
+     * 保养标准等级
+     */
+    private Integer standardlevel;
     /**
      * 数量统计
      */

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/check/CheckStandardVO.java

@@ -38,6 +38,10 @@ public class CheckStandardVO extends BaseVO implements Serializable{
      * 设备id
      */
     private String sbId;
+    /**
+     * 等级
+     */
+    private Integer level;
     /**
      * 设备名称
      */

+ 8 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/repair/RepairReasonVO.java

@@ -39,6 +39,14 @@ public class RepairReasonVO extends BaseVO implements Serializable {
      * 设备id
      */
     private String sbId;
+    /**
+     * 设备id
+     */
+    private String sbPartId;
+    /**
+     * 设备部位名称
+     */
+    private String sbPartName;
     /**
      * 维修编号ID
      */

+ 48 - 0
platform-dao/src/main/java/com/platform/dao/vo/report/CheckJobReportVO.java

@@ -0,0 +1,48 @@
+package com.platform.dao.vo.report;
+
+import com.platform.common.bean.DataScope;
+import com.platform.dao.entity.operate.Article;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class CheckJobReportVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 每月总数
+     */
+    @Id
+    private Integer totalNum;
+    /**
+     * 每月完成总数
+     */
+    private Integer totalFinishNum;
+    /**
+     * 每月未完成总数
+     */
+    private Integer totalWaitNum;
+    /**
+     * 月完成率
+     */
+    private String finishRate;
+    /**
+     * 每日任务
+     */
+    private List<Integer> dayNum;
+    /**
+     * 每日完成任务
+     */
+    private List<Integer> finishNum;
+
+}

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/sb/SbInfoVO.java

@@ -23,6 +23,10 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SbInfoVO extends BaseVO implements Serializable {
+    /**
+     * 自定义参数列表
+     */
+    private String paramList;
     /**
      * 验收单id
      */

+ 47 - 0
platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/CalendarInfo.java

@@ -0,0 +1,47 @@
+package com.platform.dao.vo.tuicalendar;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class CalendarInfo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID:状态id
+     */
+    private String id;
+    /**
+     *
+     */
+    private String name;
+    /**
+     *
+     */
+    private Boolean checked = true;
+    /**
+     *
+     */
+    private String color;
+    /**
+     *
+     */
+    private String bgColor;
+    /**
+     *
+     */
+    private String borderColor;
+    /**
+     *
+     */
+    private String dragBgColor;
+}

+ 46 - 0
platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/Creator.java

@@ -0,0 +1,46 @@
+package com.platform.dao.vo.tuicalendar;
+
+import com.platform.common.bean.DataScope;
+import com.platform.dao.entity.operate.Article;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class Creator implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用戶ID
+     */
+    private String id;
+    /**
+     * 姓名
+     */
+    private String name;
+    /**
+     * 头像
+     */
+    private String avatar;
+    /**
+     * 公司
+     */
+    private String company;
+    /**
+     * 邮箱
+     */
+    private String email;
+    /**
+     * 手机
+     */
+    private String phone;
+}

+ 40 - 0
platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/Raw.java

@@ -0,0 +1,40 @@
+package com.platform.dao.vo.tuicalendar;
+
+import com.platform.common.bean.DataScope;
+import com.platform.dao.entity.operate.Article;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.Id;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class Raw implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    private String memo;
+    /**
+     *
+     */
+    private Boolean hasToOrCc = false;
+    /**
+     * 类别
+     */
+    private Boolean hasRecurrenceRule = false;
+    /**
+     * 'public', // or 'private'
+     */
+    private String className = "public";
+
+    /**
+     * 产品中心
+     */
+    Creator creator;
+}

+ 125 - 0
platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/ScheduleInfo.java

@@ -0,0 +1,125 @@
+package com.platform.dao.vo.tuicalendar;
+
+import com.platform.common.bean.DataScope;
+import com.platform.dao.entity.operate.Article;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.cglib.core.Local;
+
+import javax.persistence.Id;
+import javax.persistence.Transient;
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class ScheduleInfo implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @Id
+    private String id;
+    /**
+     *
+     */
+    private String calendarId;
+    /**
+     * 类别
+     */
+    private String title;
+    /**
+     * 标题
+     */
+    private String body;
+    /**
+     * 状态
+     */
+    private Boolean isAllday = true;
+    /**
+     * 开始日期
+     */
+    private LocalDate start;
+    /**
+     * 结束日期
+     */
+    private LocalDate end;
+
+    /**
+     * allday:已整体
+     * time:某个时间
+     * milestone,:跨天
+     * 全天还是时间段
+     *
+     * 都是全天的任务
+     */
+    private String category = "allday";
+    /**
+     * category如果是task, dueDateClass = morning
+     */
+    private String dueDateClass;
+    /**
+     * 图片
+     */
+    private String color;
+    /**
+     *
+     */
+    private String bgColor;
+    /**
+     *
+     */
+    private String dragBgColor;
+    /**
+     *
+     */
+    private String borderColor;
+    /**
+     * 自定义样式
+     */
+    private String customStyle;
+    /**
+     * 是否聚焦
+     */
+    private Boolean isFocused = false;
+    /**
+     * 是否展开
+     */
+    private Boolean isPending = true;
+    /**
+     * 是否可见
+     */
+    private Boolean isVisible = true;
+    /**
+     * 是否只读
+     */
+    private Boolean isReadOnly = false;
+
+    /**
+     *
+     */
+    private Integer goingDuration = 0;
+
+    /**
+     *
+     */
+    private Integer comingDuration = 0;
+    /**
+     *
+     */
+    String recurrenceRule;
+    /**
+     * 'Free' : 'Busy'
+     */
+    String state = "Free";
+    /**
+     *
+     */
+    Raw Raw;
+}

+ 26 - 0
platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/TuiCalendar.java

@@ -0,0 +1,26 @@
+package com.platform.dao.vo.tuicalendar;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author cyz
+ */
+@Data
+@Accessors(chain = true)
+public class TuiCalendar implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID:状态id
+     */
+    private List<CalendarInfo> calendarList;
+    /**
+     *
+     */
+    private List<ScheduleInfo> scheduleList;
+
+}

+ 142 - 0
platform-dao/src/main/java/com/platform/dao/vo/tuicalendar/TuiCalendarUtil.java

@@ -0,0 +1,142 @@
+package com.platform.dao.vo.tuicalendar;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.platform.dao.enums.CheckJobStatusEnum;
+import com.platform.dao.vo.query.check.CheckJobVO;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 用于转换的工具类
+ * 转换:
+ *  颜色
+ *  大小
+ *
+ */
+public class TuiCalendarUtil {
+    public static String COLOR_NOT_EXECUTE = "#9e5fff";
+    public static String COLOR_EXECUTING = "#00a9ff";
+    public static String COLOR_FINISHED = "#ff5583";
+    public static String COLOR_OUT_OF_DATE = "#03bd9e";
+
+    public static void setScheduleInfoColor(ScheduleInfo scheduleInfo){
+        if(scheduleInfo.getCalendarId().equals(CheckJobStatusEnum.NOT_EXECUTE.getValue().toString())){
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_NOT_EXECUTE);
+            scheduleInfo.setDragBgColor(scheduleInfo.getBgColor());
+            scheduleInfo.setBorderColor(scheduleInfo.getBgColor());
+        }else  if(scheduleInfo.getId().equals(CheckJobStatusEnum.EXECUTING.getValue())){
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_EXECUTING);
+            scheduleInfo.setDragBgColor(scheduleInfo.getBgColor());
+            scheduleInfo.setBorderColor(scheduleInfo.getBgColor());
+        }else  if(scheduleInfo.getId().equals(CheckJobStatusEnum.FINISHED.getValue())){
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_FINISHED);
+            scheduleInfo.setDragBgColor(scheduleInfo.getBgColor());
+            scheduleInfo.setBorderColor(scheduleInfo.getBgColor());
+        }else{
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_OUT_OF_DATE);
+            scheduleInfo.setDragBgColor(scheduleInfo.getBgColor());
+            scheduleInfo.setBorderColor(scheduleInfo.getBgColor());
+        }
+    }
+
+    /**
+     * 返回日历的筛选组件
+     *
+     * @return List
+     */
+    public static List<CalendarInfo> getCalendarInfoList(){
+        CalendarInfo calendarInfo = new CalendarInfo();
+        calendarInfo.setId(CheckJobStatusEnum.NOT_EXECUTE.getValue().toString());
+        calendarInfo.setName("待接收");
+        calendarInfo.setColor("#ffffff");
+        calendarInfo.setBgColor("#9e5fff");
+        calendarInfo.setDragBgColor("#9e5fff");
+        calendarInfo.setBorderColor("#9e5fff");
+
+        CalendarInfo calendarInfo2 = new CalendarInfo();
+        calendarInfo2.setId(CheckJobStatusEnum.EXECUTING.getValue().toString());
+        calendarInfo2.setName("执行中");
+        calendarInfo2.setColor("#ffffff");
+        calendarInfo2.setBgColor("#00a9ff");
+        calendarInfo2.setDragBgColor("#00a9ff");
+        calendarInfo2.setBorderColor("#00a9ff");
+
+        CalendarInfo calendarInfo3 = new CalendarInfo();
+        calendarInfo3.setId(CheckJobStatusEnum.FINISHED.getValue().toString());
+        calendarInfo3.setName("已完成");
+        calendarInfo3.setColor("#ffffff");
+        calendarInfo3.setBgColor(COLOR_FINISHED);
+        calendarInfo3.setDragBgColor(calendarInfo3.getBgColor());
+        calendarInfo3.setBorderColor(calendarInfo3.getBgColor());
+
+        CalendarInfo calendarInfo4 = new CalendarInfo();
+        calendarInfo4.setId(CheckJobStatusEnum.OUT_OF_DATE.getValue().toString());
+        calendarInfo4.setName("已过期");
+        calendarInfo4.setColor("#ffffff");
+        calendarInfo4.setBgColor("#03bd9e");
+        calendarInfo4.setDragBgColor("#03bd9e");
+        calendarInfo4.setBorderColor("#03bd9e");
+
+        List<CalendarInfo> list = new ArrayList<CalendarInfo>();
+        list.add(calendarInfo);
+        list.add(calendarInfo2);
+        list.add(calendarInfo3);
+        list.add(calendarInfo4);
+        return list;
+    }
+    /**
+     * 将任务转换为输出日历任务
+     *
+     * @param checkJobVOList
+     * @return scheduleInfo
+     */
+    public static List<ScheduleInfo> covertCheckJobToScheduleInfoList(List<CheckJobVO> checkJobVOList){
+        List<ScheduleInfo> scheduleInfoList = new ArrayList<ScheduleInfo>();
+        if(CollectionUtil.isNotEmpty(checkJobVOList)){
+            for(CheckJobVO checkJobVO:checkJobVOList){
+                scheduleInfoList.add(covertCheckJobToScheduleInfo(checkJobVO));
+            }
+        }
+        return scheduleInfoList;
+    }
+
+    /**
+     * 将任务转换为输出日历任务
+     *
+     * @param checkJobVO
+     * @return scheduleInfo
+     */
+    public static ScheduleInfo covertCheckJobToScheduleInfo(CheckJobVO checkJobVO){
+        ScheduleInfo scheduleInfo = new ScheduleInfo();
+        scheduleInfo.setId(checkJobVO.getId());
+        scheduleInfo.setCalendarId(checkJobVO.getStatus().toString());
+        scheduleInfo.setTitle(checkJobVO.getRequirement());
+        scheduleInfo.setBody(checkJobVO.getRequirement());
+        scheduleInfo.setIsAllday(true);
+        scheduleInfo.setStart(checkJobVO.getStartTime());
+        scheduleInfo.setEnd(checkJobVO.getEndTime());
+        scheduleInfo.setCategory("allday");
+        scheduleInfo.setDueDateClass("morning");
+        setScheduleInfoColor(scheduleInfo);
+        scheduleInfo.setGoingDuration(0);
+        scheduleInfo.setComingDuration(0);
+        scheduleInfo.setRecurrenceRule("");
+        scheduleInfo.setState("");
+        Raw raw = new Raw();
+        raw.setMemo(checkJobVO.getRequirement());
+        Creator creator = new Creator();
+        creator.setName(checkJobVO.getCheckUserName());
+        creator.setAvatar("");
+        creator.setCompany("");
+        creator.setEmail("");
+        creator.setPhone("");
+        raw.setCreator(creator);
+        scheduleInfo.setRaw(raw);
+        return scheduleInfo;
+    }
+}

+ 2 - 2
platform-dao/src/main/resources/mapper/check/CheckJobMapper.xml

@@ -171,8 +171,8 @@
     <select id="selectList" parameterType="com.platform.dao.dto.check.CheckJobDTO"
             resultType="com.platform.dao.vo.query.check.CheckJobVO">
         select checkjob.*, u.real_name as checkUserName,
-               sbinfo.name sbName, sbinfo.no sbNo, sbinfo.level level,
-               partinfo.name partName, standard.name standardName,
+               sbinfo.name sbName, sbinfo.no sbNo, sbinfo.level standardlevel,
+               partinfo.name partName, standard.name standardName,standard.level level,
                standard.period period, standard.period_type periodType
         from t_check_job as checkjob
         left join t_sb_info sbinfo on sbinfo.id = checkjob.sb_id

+ 5 - 1
platform-dao/src/main/resources/mapper/check/CheckStandardMapper.xml

@@ -8,6 +8,7 @@
                                      checkstandard.real_hours,
                                      checkstandard.check_user_id,
                                      checkstandard.name,
+ checkstandard.level,
                                      checkstandard.no,
                                      checkstandard.type,
                                      checkstandard.period,
@@ -33,7 +34,7 @@ checkstandard.last_date,
                                      checkstandard.standard_hours,
                                      checkstandard.real_hours,
                                      checkstandard.check_user_id,
-                                     checkstandard.name,
+                                     checkstandard.name,checkstandard.level,
 checkstandard.sort,
                                      checkstandard.no,
 checkstandard.last_date,
@@ -58,6 +59,9 @@ checkstandard.last_date,
         <if test="name != null and name != ''">
             and checkstandard.name = #{name}
         </if>
+        <if test="level != null and level != ''">
+            and checkstandard.level = #{level}
+        </if>
         <if test="part != null and part != ''">
             and checkstandard.part = #{part}
         </if>

+ 8 - 2
platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml

@@ -37,6 +37,9 @@
             <if test="no != null and no != ''">
                 and application.no = #{no}
             </if>
+            <if test="status != null and status != ''">
+                and application.status = #{status}
+            </if>
             <if test="actualUser != null and actualUser != ''">
                 and application.actual_user = #{actualUser}
             </if>
@@ -66,11 +69,14 @@
             <if test="checkUserId != null and checkUserId != ''">
                 and application.check_user_id = #{checkUserId}
             </if>
+            <if test="repairUserName != null and repairUserName != ''">
+                and user2.real_name like concat('%',#{repairUserName},'%')
+            </if>
             <if test="searchStartTime != null">
-                and checkjob.start_time <![CDATA[ >= ]]> #{searchStartTime}
+                and application.apply_time <![CDATA[ >= ]]> #{searchStartTime}
             </if>
             <if test="searchEndTime != null">
-                and checkjob.start_time <![CDATA[ <= ]]> #{searchEndTime}
+                and application.apply_time <![CDATA[ <= ]]> #{searchEndTime}
             </if>
         </where>
     </select>

+ 9 - 4
platform-dao/src/main/resources/mapper/repair/RepairReasonMapper.xml

@@ -5,7 +5,7 @@
                              repairReason.id,
                                      repairReason.no,
  repairReason.type, repairReason.status,
- repairReason.sb_id,
+ repairReason.sb_id,repairReason.sb_part_id,
                                      repairReason.repair_id,
                                      repairReason.analyze_time,
                                      repairReason.problem_desc,
@@ -25,7 +25,7 @@
                         </sql>
     <sql id="Ref_Column_List">
                                                                          repairReason.no,
-                                     repairReason.sb_id,
+                                     repairReason.sb_id,repairReason.sb_part_id,
 repairReason.type, repairReason.status,
                                      repairReason.repair_id,
                                      repairReason.analyze_time,
@@ -54,6 +54,9 @@ repairReason.type, repairReason.status,
                 <if test="sbId != null and sbId != ''">
                     and repairReason.sb_id = #{sbId}
                 </if>
+                <if test="sbPartId != null and sbPartId != ''">
+                    and repairReason.sb_part_id = #{sbPartId}
+                </if>
                 <if test="status != null and status != ''">
                     and repairReason.status = #{status}
                 </if>
@@ -85,9 +88,11 @@ repairReason.type, repairReason.status,
             and repairReason.id like concat(concat('%',#{keyword}),'%')
         </if>
     </sql>
-    <select id="selectList" parameterType="com.platform.dao.dto.repair.RepairReasonDTO" resultType="com.platform.dao.vo.query.repair.RepairReasonVO">
-        select repairReason.*
+    <select id="selectList" parameterType="com.platform.dao.dto.repair.RepairReasonDTO"
+            resultType="com.platform.dao.vo.query.repair.RepairReasonVO">
+        select repairReason.*, part.name as sbPartName
         from t_repair_reason as repairReason
+        LEFT JOIN t_part_info partInfo on repairReason.sb_part_id = partInfo.id
         <where>
             <include refid="List_Condition" />
         </where>

+ 6 - 4
platform-dao/src/main/resources/mapper/sb/SbInfoMapper.xml

@@ -4,10 +4,11 @@
     <sql id="Base_Column_List">
         id, no,
 financing_no,
-sb.financing_no_two,
-sb.financing_no_third,
-sb.financing_no_four,
-sb.financing_no_five,
+financing_no_two,
+financing_no_third,
+financing_no_four,
+financing_no_five,
+param_list,
 name, model_id,
         is_child,
         is_show,
@@ -90,6 +91,7 @@ sb.name,  sb.initial_value,
         sb.is_child,
         sb.is_financing,
         sb.parent_id,
+sb.param_list,
         sb.is_show,
         sb.unit, sb.position_id,
         sb.use_area,

+ 11 - 0
platform-rest/src/main/java/com/platform/rest/controller/check/CheckJobController.java

@@ -112,6 +112,17 @@ public class CheckJobController {
       return new R<>(checkJobService.selectPageList(checkJobDTO, pageNum, pageSize));
   }
 
+    /**
+     * 获取月日历任务列表
+     *
+     * @param checkJobDTO 点检任务DTO
+     * @return R
+     */
+    @GetMapping("tuiCalendar")
+    public R queryTuiCalendar(CheckJobDTO checkJobDTO) {
+        return new R<>(checkJobService.getTuiCalendar(checkJobDTO));
+    }
+
   /**
    * 获取列表
    *

+ 11 - 0
platform-rest/src/main/java/com/platform/rest/controller/mobile/IgnoreController.java

@@ -189,6 +189,17 @@ public class IgnoreController {
         return new R<>();
     }
 
+    /**
+     * 获取月日历任务列表
+     *
+     * @param checkJobDTO 点检任务DTO
+     * @return R
+     */
+    @GetMapping("/check/jobs/tuiCalendar")
+    public R queryTuiCalendar(CheckJobDTO checkJobDTO) {
+        return new R<>(checkJobService.getTuiCalendar(checkJobDTO));
+    }
+
     /**
      * 文件上传
      *

+ 50 - 0
platform-rest/src/main/java/com/platform/rest/controller/report/CheckJobReportController.java

@@ -0,0 +1,50 @@
+package com.platform.rest.controller.report;
+
+import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.common.util.R;
+import com.platform.common.validation.group.AddGroup;
+import com.platform.common.validation.group.UpdateGroup;
+import com.platform.dao.dto.check.CheckJobDTO;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.check.ExportCheckJobVO;
+import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.report.CheckJobReportVO;
+import com.platform.rest.log.annotation.SysLog;
+import com.platform.service.check.CheckJobService;
+import lombok.AllArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @Description 点检任务 控制器
+ * @Author liuyu
+ * @Date 2020-05-29 10:39:40
+ * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/report/check/jobs")
+public class CheckJobReportController {
+
+  private final  CheckJobService checkJobService;
+
+  /**
+   * 查询本月统计报表
+   *    总任务数
+   *    总完成数
+   *    逾期数目:没有在当日完成的
+   *    总完成率
+   *    历史数据图:每日的任务数,每日完成数
+   * @param id 主键
+   * @return R
+   */
+  @GetMapping("/{month}")
+  public R<CheckJobReportVO> getBgetMonthReportyId(@RequestBody CheckJobDTO checkJobDTO, @PathVariable("month") Integer month){
+      return new R<>(checkJobService.getMonthReport(checkJobDTO, month));
+  }
+}

+ 6 - 0
platform-service/src/main/java/com/platform/service/check/CheckJobService.java

@@ -5,6 +5,8 @@ import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.entity.check.CheckJob;
 import com.platform.dao.vo.query.check.CheckJobScreenVO;
 import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.report.CheckJobReportVO;
+import com.platform.dao.vo.tuicalendar.TuiCalendar;
 import com.platform.service.base.IBaseService;
 
 import java.util.List;
@@ -118,4 +120,8 @@ public interface CheckJobService extends IBaseService<CheckJob, CheckJobDTO> {
     void executeJobBatch(List<String> ids);
 
     void finishJobBatch(List<String> ids);
+
+    TuiCalendar getTuiCalendar(CheckJobDTO checkJobDTO);
+
+    CheckJobReportVO getMonthReport(CheckJobDTO checkJobDTO, Integer month);
 }

+ 45 - 0
platform-service/src/main/java/com/platform/service/check/impl/CheckJobServiceImpl.java

@@ -22,7 +22,10 @@ import com.platform.dao.mapper.check.*;
 import com.platform.dao.mapper.upms.SysFileMapper;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.query.check.*;
+import com.platform.dao.vo.report.CheckJobReportVO;
 import com.platform.dao.vo.sb.SbInfoVO;
+import com.platform.dao.vo.tuicalendar.TuiCalendar;
+import com.platform.dao.vo.tuicalendar.TuiCalendarUtil;
 import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.check.CheckJobService;
 import com.platform.service.sb.SbInfoService;
@@ -131,6 +134,18 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
         return new MyPage(mapper.selectList(model));
     }
 
+    @Override
+    public TuiCalendar getTuiCalendar(CheckJobDTO model) {
+        TuiCalendar tuiCalendar = new TuiCalendar();
+        model.setSearchStartTime(DateUtils.getFirstDayOfThisMonth());
+        model.setSearchEndTime(DateUtils.getLastDayOfThisMonth());
+        List<CheckJobVO> voList = mapper.selectList(model);
+
+        tuiCalendar.setCalendarList(TuiCalendarUtil.getCalendarInfoList());
+        tuiCalendar.setScheduleList(TuiCalendarUtil.covertCheckJobToScheduleInfoList(voList));
+        return tuiCalendar;
+    }
+
     @Override
     public List<CheckJob> getModelListByDTO(CheckJobDTO model) {
         if (model.getFilter() != null && DataFilterTypeEnum.SELF.getValue() == model.getFilter().intValue()) {
@@ -876,4 +891,34 @@ public class CheckJobServiceImpl extends BaseServiceImpl<CheckJobMapper, CheckJo
             sysFileMapper.insertListforComplex(list);
         }
     }
+
+    @Override
+    public CheckJobReportVO getMonthReport(CheckJobDTO checkJobDTO, Integer month) {
+
+
+        // 总数
+        Weekend<CheckJob> weekend = new Weekend<>(CheckJob.class);
+        WeekendCriteria<CheckJob, Object> weekendCriteria = weekend.weekendCriteria();
+        LocalDateTime firstDateTime = DateUtils.getFirstDayOfMonth(month);
+        LocalDateTime lastDateTime = DateUtils.getLastDayOfMonth(month);
+        weekendCriteria.andBetween(CheckJob::getStartTime, firstDateTime, lastDateTime);
+        List<CheckJob> checkJobList = mapper.selectByExample(weekend);
+
+        int totalNum = checkJobList.size();
+        int totalFinishNum = 0;
+        int totalWaitNum = 0;
+        double finishRate = 0;
+
+        for(CheckJob checkJob:checkJobList){
+            if(checkJob.getStatus().equals(CheckJobStatusEnum.FINISHED.getValue())){
+                totalFinishNum ++;
+            }
+        }
+        totalWaitNum = totalNum - totalFinishNum;
+        if(totalNum != 0){
+            finishRate = totalFinishNum/totalNum;
+        }
+
+        return null;
+    }
 }

+ 16 - 0
platform-service/src/main/java/com/platform/service/check/impl/CheckStandardServiceImpl.java

@@ -151,6 +151,9 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
         weekend.weekendCriteria().andIsNotNull(CheckStandard::getId);
         Integer count = mapper.selectCountByExample(weekend);
         model.setNo(IdGeneratorUtils.getCheckStandardNo(++count));
+
+        // 设置等级
+        setLevel(model);
         CheckStandard checkStandard = super.saveModelByDTO(model);
         this.saveFile(model);
 
@@ -170,9 +173,22 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
         return checkStandard;
     }
 
+    private void setLevel(CheckStandardDTO model) {
+        if(model.getCheckUserType().equals(CheckPlanUserTypeEnum.USE_USER.getValue())){
+            model.setLevel(CheckStandardLevelEnum.A.getValue());
+        }else if(model.getCheckUserType().equals(CheckPlanUserTypeEnum.REPAIR_USER.getValue())){
+            model.setLevel(CheckStandardLevelEnum.B.getValue());
+        }else  if(model.getCheckUserType().equals(CheckPlanUserTypeEnum.ZHIDING.getValue())){
+            model.setLevel(CheckStandardLevelEnum.B.getValue());
+        }else  if(model.getCheckUserType().equals(CheckPlanUserTypeEnum.FACTORY.getValue())){
+            model.setLevel(CheckStandardLevelEnum.C.getValue());
+        }
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void modModelByDTO(CheckStandardDTO model) {
+        setLevel(model);
         super.modModelByDTO(model);
 
         // 先删后插,前端删除的不存在与ids里面,说明被删掉了,需要删除