1 年間 前
コミット
3253c51ac4

+ 6 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java

@@ -24,6 +24,12 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
+    private Boolean addCalendar;
+
+    /**
+     * 日历时间
+     */
+    private LocalDateTime calendarDate;
 
     private String deptId;
 

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

@@ -19,6 +19,10 @@ import java.time.LocalDateTime;
 @Table(name = "t_repair_application_form")
 @Data
 public class RepairApplicationForm implements Serializable {
+    /**
+     * 日历时间
+     */
+    private LocalDateTime calendarDate;
 
     /**
      * 主键

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/vo/repair/RepairApplicationFormVO.java

@@ -26,6 +26,11 @@ import java.util.List;
 @EqualsAndHashCode(callSuper = true)
 public class RepairApplicationFormVO extends BaseVO implements Serializable {
 
+    /**
+     * 日历时间
+     */
+    private LocalDateTime calendarDate;
+
     private BigDecimal repairCount;
 
     private String name;

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

@@ -2,7 +2,9 @@ package com.platform.dao.vo.tuicalendar;
 
 import cn.hutool.core.collection.CollectionUtil;
 import com.platform.dao.enums.CheckJobStatusEnum;
+import com.platform.dao.enums.RepairApplicationFormStatusEnum;
 import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.repair.RepairApplicationFormVO;
 
 import java.time.LocalDate;
 import java.util.ArrayList;
@@ -51,6 +53,25 @@ public class TuiCalendarUtil {
         }
     }
 
+    public static void setScheduleInfoColor2(ScheduleInfo scheduleInfo) {
+        if (scheduleInfo.getCalendarId().equals("1")) {
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_NOT_EXECUTE);
+            scheduleInfo.setDragBgColor(COLOR_NOT_EXECUTE);
+            scheduleInfo.setBorderColor(COLOR_NOT_EXECUTE);
+        } else if (scheduleInfo.getCalendarId().equals("2")) {
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_OUT_OF_DATE);
+            scheduleInfo.setDragBgColor(COLOR_OUT_OF_DATE);
+            scheduleInfo.setBorderColor(COLOR_OUT_OF_DATE);
+        } else if (scheduleInfo.getCalendarId().equals("3")) {
+            scheduleInfo.setColor("#ffffff");
+            scheduleInfo.setBgColor(COLOR_FINISHED);
+            scheduleInfo.setDragBgColor(COLOR_FINISHED);
+            scheduleInfo.setBorderColor(COLOR_FINISHED);
+        }
+    }
+
     /**
      * 返回日历的筛选组件
      *
@@ -112,6 +133,62 @@ public class TuiCalendarUtil {
         return list;
     }
 
+    public static List<CalendarInfo> getCalendarInfoList2() {
+        // 1蓝色:待接收,未过期
+        CalendarInfo calendarInfo = new CalendarInfo();
+        calendarInfo.setId("1");
+        calendarInfo.setName("维修中");
+        calendarInfo.setColor("#ffffff");
+        calendarInfo.setBgColor(COLOR_NOT_EXECUTE);
+        calendarInfo.setDragBgColor(COLOR_NOT_EXECUTE);
+        calendarInfo.setBorderColor(COLOR_NOT_EXECUTE);
+
+        // 2红色:待接收,未过期
+        CalendarInfo calendarInfo2 = new CalendarInfo();
+        calendarInfo2.setId("2");
+        calendarInfo2.setName("待审批");
+        calendarInfo2.setColor("#ffffff");
+        calendarInfo2.setBgColor(COLOR_OUT_OF_DATE);
+        calendarInfo2.setDragBgColor(COLOR_OUT_OF_DATE);
+        calendarInfo2.setBorderColor(COLOR_OUT_OF_DATE);
+
+//        // 3紫色:执行中,未过期
+//        CalendarInfo calendarInfo3 = new CalendarInfo();
+//        calendarInfo3.setId("3");
+//        calendarInfo3.setName("已完成");
+//        calendarInfo3.setColor("#ffffff");
+//        calendarInfo3.setBgColor(COLOR_EXECUTING);
+//        calendarInfo3.setDragBgColor(COLOR_EXECUTING);
+//        calendarInfo3.setBorderColor(COLOR_EXECUTING);
+
+//        // 4浅红色:执行中,已过期
+//        CalendarInfo calendarInfo4 = new CalendarInfo();
+//        calendarInfo4.setId("4");
+//        calendarInfo4.setName("执行中已过期");
+//        calendarInfo4.setColor("#ffffff");
+//        calendarInfo4.setBgColor(COLOR_OUT_OF_DATE2);
+//        calendarInfo4.setDragBgColor(COLOR_OUT_OF_DATE2);
+//        calendarInfo4.setBorderColor(COLOR_OUT_OF_DATE2);
+//
+        // 5绿色:已完成
+        CalendarInfo calendarInfo5 = new CalendarInfo();
+        calendarInfo5.setId("3");
+        calendarInfo5.setName("已完成");
+        calendarInfo5.setColor("#ffffff");
+        calendarInfo5.setBgColor(COLOR_FINISHED);
+        calendarInfo5.setDragBgColor(COLOR_FINISHED);
+        calendarInfo5.setBorderColor(COLOR_FINISHED);
+
+
+        List<CalendarInfo> list = new ArrayList<CalendarInfo>();
+        list.add(calendarInfo);
+        list.add(calendarInfo2);
+//        list.add(calendarInfo3);
+//        list.add(calendarInfo4);
+        list.add(calendarInfo5);
+        return list;
+    }
+
     /**
      * 将任务转换为输出日历任务
      *
@@ -128,6 +205,16 @@ public class TuiCalendarUtil {
         return scheduleInfoList;
     }
 
+    public static List<ScheduleInfo> covertCheckJobToScheduleInfoList2(List<RepairApplicationFormVO> repairApplicationFormVOS) {
+        List<ScheduleInfo> scheduleInfoList = new ArrayList<ScheduleInfo>();
+        if (CollectionUtil.isNotEmpty(repairApplicationFormVOS)) {
+            for (RepairApplicationFormVO repairApplicationFormVO : repairApplicationFormVOS) {
+                scheduleInfoList.add(covertCheckJobToScheduleInfo2(repairApplicationFormVO));
+            }
+        }
+        return scheduleInfoList;
+    }
+
     /**
      * 将任务转换为输出日历任务
      *
@@ -198,6 +285,38 @@ public class TuiCalendarUtil {
         return scheduleInfo;
     }
 
+    public static ScheduleInfo covertCheckJobToScheduleInfo2(RepairApplicationFormVO repairApplicationFormVO) {
+        ScheduleInfo scheduleInfo = new ScheduleInfo();
+        scheduleInfo.setId(repairApplicationFormVO.getId());
+        if (repairApplicationFormVO.getStatus().equals(RepairApplicationFormStatusEnum.FINISHED.getValue())) {
+            scheduleInfo.setCalendarId("3");
+        } else if(repairApplicationFormVO.getStatus().equals(RepairApplicationFormStatusEnum.WAIT_SUBMIT.getValue())){
+            scheduleInfo.setCalendarId("2");
+        }else if (repairApplicationFormVO.getStatus().equals(RepairApplicationFormStatusEnum.PROCESSING.getValue())){
+            scheduleInfo.setCalendarId("1");
+        }
+
+        scheduleInfo.setTitle(repairApplicationFormVO.getNo() +"\r\n"+repairApplicationFormVO.getUserName());
+
+        scheduleInfo.setIsAllday(true);
+        scheduleInfo.setCategory("allday");
+        scheduleInfo.setDueDateClass("morning");
+        setScheduleInfoColor(scheduleInfo);
+        scheduleInfo.setGoingDuration(0);
+        scheduleInfo.setComingDuration(0);
+        scheduleInfo.setRecurrenceRule("");
+        scheduleInfo.setState("");
+        Raw raw = new Raw();
+        Creator creator = new Creator();
+        creator.setAvatar("");
+        creator.setCompany("");
+        creator.setEmail("");
+        creator.setPhone("");
+        raw.setCreator(creator);
+        scheduleInfo.setRaw(raw);
+        return scheduleInfo;
+    }
+
     public static void main(String[] args) {
         LocalDate date = LocalDate.now();
         Boolean ss = null;

+ 3 - 0
platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml

@@ -153,6 +153,9 @@
                 and (application.dispatch_user_id = #{tempUserId} or application.user_id = #{tempUserId}
                 or application.repair_user_id = #{tempUserId})
             </if>
+            <if test="addCalendar">
+                and calendar_date is not null
+            </if>
         </where>
     </select>
     <select id="selectById" parameterType="java.lang.Object"

+ 31 - 0
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -10,6 +10,7 @@ import com.platform.common.util.*;
 import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.UpdateGroup;
 import com.platform.dao.bean.MyVOPage;
+import com.platform.dao.dto.check.CheckJobDTO;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.sb.SbChangeRecord;
@@ -726,4 +727,34 @@ public class RepairApplicationFormController {
     public R staticsRepairNum() {
         return new R<>(repairApplicationFormService.staticsNumByStatus());
     }
+
+
+    /**
+     * 修改记录
+     *
+     * @param repairApplicationFormDTO 保修单DTO
+     * @return R
+     */
+    @SysLog("将报修单加入日历图")
+    @PutMapping("/addCalendar/{id}")
+    @PreAuthorize("@pms.hasPermission('repair-application-forms-edit')")
+    public R addRepairFormToCalendar(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairApplicationFormDTO) {
+        repairApplicationFormDTO.setId(id);
+//        if(repairApplicationFormDTO.getType() == RepairApplicationFormTypeEnum.OUT.getValue()){
+//            RepairStrategyFactory.getStrategy(repairApplicationFormDTO.getCategory()).sendRepairToThird(repairApplicationFormDTO);
+//        }else{
+            repairApplicationFormMapper.updateByPrimaryKeySelective(BeanConverterUtil.copyObjectProperties(repairApplicationFormDTO,RepairApplicationForm.class));
+//        }
+        return new R<>();
+    }
+
+    @GetMapping("/tuiCalendar")
+    public R queryTuiCalendar(RepairApplicationFormDTO repairApplicationFormDTO) {
+        return new R<>(repairApplicationFormService.getTuiCalendar(repairApplicationFormDTO));
+    }
+
+    @GetMapping("/login/notice")
+    public R getLoginNotice() {
+        return new R<>(repairApplicationFormService.getLoginNotice());
+    }
 }

+ 5 - 0
platform-service/src/main/java/com/platform/service/repair/RepairApplicationFormService.java

@@ -18,9 +18,11 @@ import com.platform.dao.vo.report.FiftyFailSbReportVO;
 import com.platform.dao.vo.report.RepairReport24VO;
 import com.platform.dao.vo.report.RepairReportMttr;
 import com.platform.dao.vo.report.RepairSbInfoReport;
+import com.platform.dao.vo.tuicalendar.TuiCalendar;
 import com.platform.service.base.IBaseService;
 
 import java.time.LocalDate;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -31,6 +33,9 @@ import java.util.Map;
  * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface RepairApplicationFormService extends IBaseService<RepairApplicationForm, RepairApplicationFormDTO> {
+    Map<Date,Integer> getLoginNotice();
+
+    TuiCalendar getTuiCalendar(RepairApplicationFormDTO repairApplicationFormDTO);
 
     List<FiftyFailSbReportVO> getFiftyFailSbReport(RepairApplicationFormDTO dto);
 

+ 51 - 0
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -64,6 +64,9 @@ import com.platform.dao.vo.report.RepairReport24VO;
 import com.platform.dao.vo.report.RepairReportMttr;
 import com.platform.dao.vo.report.RepairSbInfoReport;
 import com.platform.dao.vo.sb.SbInfoVO;
+import com.platform.dao.vo.tuicalendar.ScheduleInfo;
+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.event.WorkplaceBacklogEvent;
 import com.platform.service.repair.RepairApplicationFormService;
@@ -117,6 +120,52 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
     private final SysDictService sysDictService;
     private final BigDecimal initNum= new BigDecimal(0);
 
+    @Override
+    public Map<Date, Integer> getLoginNotice() {
+
+        return null;
+    }
+
+    @Override
+    public TuiCalendar getTuiCalendar(RepairApplicationFormDTO dto) {
+        UserInfo userInfo = SecurityUtils.getUserInfo();
+        List<Integer> statusList = new ArrayList<>();
+        if (userInfo.getSuperAdmin()==0){
+            List<String> roleCodes = userInfo.getRoleCodes();
+            if (roleCodes.contains(SysRoleCodeEnum.REPAIR_MANAGE.name())){
+                dto.setDispatchUserId(userInfo.getUserId());
+                statusList.add(RepairApplicationFormStatusEnum.PROCESSING.getValue());
+                statusList.add(RepairApplicationFormStatusEnum.WAIT_SUBMIT.getValue());
+                statusList.add(RepairApplicationFormStatusEnum.FINISHED.getValue());
+            }else if (roleCodes.contains(SysRoleCodeEnum.Maintenance.name())){
+                dto.setRepairUserId(userInfo.getUserId());
+                statusList.add(RepairApplicationFormStatusEnum.PROCESSING.getValue());
+                statusList.add(RepairApplicationFormStatusEnum.FINISHED.getValue());
+            }
+        }else {
+            statusList.add(RepairApplicationFormStatusEnum.PROCESSING.getValue());
+            statusList.add(RepairApplicationFormStatusEnum.WAIT_SUBMIT.getValue());
+            statusList.add(RepairApplicationFormStatusEnum.FINISHED.getValue());
+        }
+        dto.setStatusList(statusList);
+
+        TuiCalendar tuiCalendar = new TuiCalendar();
+        // model.setSearchStartTime(DateUtils.getFirstDayOfThisMonth());
+//        model.setSearchEndTime(DateUtils.getLastDayOfThisMonth());
+//            if(!SecurityUtils.isRole(SysRoleCodeEnum.MM.name())){
+        dto.setRepairUserId(SecurityUtils.getUserInfo().getUserId());
+
+        dto.setAddCalendar(true);
+        dto.setStatus(RepairApplicationFormStatusEnum.FINISHED.getValue());
+        List<RepairApplicationFormVO> voList = mapper.selectPageList(dto);
+
+        tuiCalendar.setCalendarList(TuiCalendarUtil.getCalendarInfoList2());
+        tuiCalendar.setScheduleList(TuiCalendarUtil.covertCheckJobToScheduleInfoList2(voList));
+        for(ScheduleInfo scheduleInfo:tuiCalendar.getScheduleList()){
+            System.out.println("scheduleInfo.getCalendarId(): " + scheduleInfo.getCalendarId());
+        }
+        return tuiCalendar;
+    }
 
     private NoticeNumberVO addRepairNums(NoticeNumberVO noticeNumberVO,List<RepairApplicationFormVO> repairApplicationFormVOS){
         if(repairApplicationFormVOS!=null) {
@@ -823,6 +872,8 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return vo;
     }
 
+
+
     @Override
     public List<FiftyFailSbReportVO> getFiftyFailSbReport(RepairApplicationFormDTO dto) {