Explorar o código

update 维修

tjf hai 2 meses
pai
achega
6298a45586

+ 10 - 2
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java

@@ -156,9 +156,17 @@ public interface Constants {
     String COMMENT_INTERACTION_USER_COUNT = "comment_interaction_user_count:";
     //记录社区资讯某个用户对应资讯下有多少个未读的互动key=comment_interaction_community_user_count:{userId} hkey = {community_id} value = 资讯下有多少个未读的互动(点赞,收藏,回复)
     String COMMENT_INTERACTION_COMMUNITY_USER_COUNT = "comment_interaction_community_user_count:";
+//-------------------员工培训手册的key-----------------
+    /**
+     * 员工培训手册阅读人员名单 redis key=read_train:manualId value = [userId+":"+员工姓名]
+     */
+    public static final String READ_TRAIN = "read_train:";
+    /**
+     * 员工培训手册阅读人员的阅读时间 redis key
+     */
+    public static final String READ_TRAIN_TIME = "read_train_time:";
 
-
-    //-------------------员工需要认证的数量-----------------
+    //-------------------员工需要认证的数量的key-----------------
     //key=staff_manage_authentication:{userId}
     String STAFF_MANAGE_AUTHENTICATION = "staff_manage_authentication:";
 }

+ 20 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/propertyRepair/PropertyRepairController.java

@@ -15,6 +15,7 @@ import org.dromara.common.log.enums.BusinessType;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.propertyRepair.PropertyRepair;
 import org.dromara.domain.propertyRepair.bo.PropertyRepairBo;
 import org.dromara.domain.propertyRepair.vo.PropertyRepairVo;
 import org.dromara.service.IPropertyRepairService;
@@ -22,6 +23,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 物业报修
@@ -103,4 +105,22 @@ public class PropertyRepairController extends BaseController {
                           @PathVariable Long[] repairIds) {
         return toAjax(propertyRepairService.deleteWithValidByIds(List.of(repairIds), true));
     }
+
+    /**
+     * 指派物业报修人员
+     */
+    @SaCheckPermission("wuYe:repair:assign")
+    @PostMapping("/assign")
+    public R<Void> assign(@RequestBody PropertyRepair propertyRepair) {
+        return propertyRepairService.assign(propertyRepair);
+    }
+
+    /**
+     * 物业保修一周统计(当前时间往前推7天)
+     */
+    @SaCheckPermission("wuYe:repair:statistics:qx")
+    @GetMapping("/statistics/qx")
+    public R<Map<String, Object>> statisticsQx() {
+        return R.ok(propertyRepairService.statisticsQx());
+    }
 }

+ 11 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/controller/staffTrain/StaffTrainManualController.java

@@ -15,6 +15,7 @@ import org.dromara.common.log.enums.BusinessType;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
 import org.dromara.common.web.core.BaseController;
+import org.dromara.domain.staffTrain.StaffTrainManual;
 import org.dromara.domain.staffTrain.bo.StaffTrainManualBo;
 import org.dromara.domain.staffTrain.vo.StaffTrainManualVo;
 import org.dromara.service.IStaffTrainManualService;
@@ -22,6 +23,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 员工培训手册
@@ -69,6 +71,15 @@ public class StaffTrainManualController extends BaseController {
         return R.ok(staffTrainManualService.queryById(manualId));
     }
 
+    /**
+     * 获取已读人员名单
+     */
+    @SaCheckPermission("wuYe:manual:getRead")
+    @PostMapping(value = "/getRead")
+    public R<List<Map<String, String>>> getRead(@RequestBody StaffTrainManual staffTrainManual) {
+        return R.ok(staffTrainManualService.getRead(staffTrainManual));
+    }
+
     /**
      * 新增员工培训手册
      */

+ 4 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/PropertyRepair.java

@@ -98,6 +98,10 @@ public class PropertyRepair extends TenantEntity {
      * 上门时间,记录维修人员上门的时间
      */
     private Date visitTime;
+    /**
+     * 指派时间
+     */
+    private Date assignTime;
 
     /**
      * 上门拍照,存储图片路径或URL

+ 5 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/bo/PropertyRepairBo.java

@@ -40,6 +40,11 @@ public class PropertyRepairBo extends BaseEntity {
     @NotBlank(message = "详细门牌号不能为空", groups = { AddGroup.class, EditGroup.class })
     private String houseAddress;
 
+    /**
+     * 指派时间
+     */
+    private Date assignTime;
+
     /**
      * 报修时间,记录报修提交的时间
      */

+ 5 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/domain/propertyRepair/vo/PropertyRepairVo.java

@@ -38,6 +38,11 @@ public class PropertyRepairVo implements Serializable {
     @ExcelProperty(value = "门户id")
     private Long portalId;
 
+    /**
+     * 指派时间
+     */
+    private Date assignTime;
+
     /**
      * 详细门牌号
      */

+ 5 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/mapper/PropertyRepairMapper.java

@@ -1,9 +1,12 @@
 package org.dromara.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.dromara.domain.propertyRepair.PropertyRepair;
 import org.dromara.domain.propertyRepair.vo.PropertyRepairVo;
 
+import java.util.List;
+
 /**
  * 物业报修Mapper接口
  *
@@ -12,4 +15,6 @@ import org.dromara.domain.propertyRepair.vo.PropertyRepairVo;
  */
 public interface PropertyRepairMapper extends BaseMapperPlus<PropertyRepair, PropertyRepairVo> {
 
+    public List<PropertyRepair> selectPropertyRepairListByTime(@Param("starTime") String starTime, @Param("endTime")String endTime);
+
 }

+ 14 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/service/IPropertyRepairService.java

@@ -1,12 +1,15 @@
 package org.dromara.service;
 
+import org.dromara.common.core.domain.R;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.domain.propertyRepair.PropertyRepair;
 import org.dromara.domain.propertyRepair.bo.PropertyRepairBo;
 import org.dromara.domain.propertyRepair.vo.PropertyRepairVo;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 物业报修Service接口
@@ -65,4 +68,15 @@ public interface IPropertyRepairService {
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+
+    /**
+     * 指派物业报修人员
+     */
+    R<Void> assign(PropertyRepair propertyRepair);
+
+    /**
+     * 物业保修一周统计(当前时间往前推7天)
+     */
+    Map<String, Object> statisticsQx();
 }

+ 7 - 0
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/service/IStaffTrainManualService.java

@@ -2,11 +2,13 @@ package org.dromara.service;
 
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.domain.staffTrain.StaffTrainManual;
 import org.dromara.domain.staffTrain.bo.StaffTrainManualBo;
 import org.dromara.domain.staffTrain.vo.StaffTrainManualVo;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 员工培训手册Service接口
@@ -65,4 +67,9 @@ public interface IStaffTrainManualService {
      * @return 是否删除成功
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 获取已读人员名单
+     */
+    List<Map<String, String>> getRead(StaffTrainManual staffTrainManual);
 }

+ 110 - 6
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/service/impl/PropertyRepairServiceImpl.java

@@ -4,20 +4,28 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+import org.dromara.common.core.domain.R;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.redis.utils.RedisUtils;
 import org.dromara.domain.propertyRepair.PropertyRepair;
 import org.dromara.domain.propertyRepair.bo.PropertyRepairBo;
 import org.dromara.domain.propertyRepair.vo.PropertyRepairVo;
+import org.dromara.domain.staffManage.StaffManage;
 import org.dromara.mapper.PropertyRepairMapper;
+import org.dromara.mapper.StaffManageMapper;
 import org.dromara.service.IPropertyRepairService;
+import org.dromara.utils.DateUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+
+import static org.dromara.common.core.constant.Constants.*;
+import static org.dromara.common.satoken.utils.LoginHelper.getUserId;
 
 /**
  * 物业报修Service业务层处理
@@ -30,6 +38,7 @@ import java.util.Map;
 public class PropertyRepairServiceImpl implements IPropertyRepairService {
 
     private final PropertyRepairMapper baseMapper;
+    private final StaffManageMapper staffManageMapper;
 
     /**
      * 查询物业报修
@@ -38,7 +47,7 @@ public class PropertyRepairServiceImpl implements IPropertyRepairService {
      * @return 物业报修
      */
     @Override
-    public PropertyRepairVo queryById(Long repairId){
+    public PropertyRepairVo queryById(Long repairId) {
         return baseMapper.selectVoById(repairId);
     }
 
@@ -103,9 +112,26 @@ public class PropertyRepairServiceImpl implements IPropertyRepairService {
     public Boolean insertByBo(PropertyRepairBo bo) {
         PropertyRepair add = MapstructUtils.convert(bo, PropertyRepair.class);
         validEntityBeforeSave(add);
+        Long userId = getUserId();
+        add.setUserId(userId);
         boolean flag = baseMapper.insert(add) > 0;
         if (flag) {
             bo.setRepairId(add.getRepairId());
+            String userRepairKey = PROPERTY_REPAIR_NO + userId;
+            //往redis中新增 个人 物业未完成的报修数量 app统计使用
+            Object userNum = RedisUtils.getCacheObject(userRepairKey);
+            if (ObjectUtils.isNotEmpty(userNum)) {
+                RedisUtils.setCacheObject(userRepairKey, (int) userNum + 1);
+            } else {
+                RedisUtils.setCacheObject(userRepairKey, 1);
+            }
+            //往redis中新增 总数 物业未完成的报修数量 app统计使用
+            Object allNum = RedisUtils.getCacheObject(PROPERTY_REPAIR_NO_ALL);
+            if (ObjectUtils.isNotEmpty(allNum)) {
+                RedisUtils.setCacheObject(PROPERTY_REPAIR_NO_ALL, (int) allNum + 1);
+            } else {
+                RedisUtils.setCacheObject(PROPERTY_REPAIR_NO_ALL, 1);
+            }
         }
         return flag;
     }
@@ -120,13 +146,38 @@ public class PropertyRepairServiceImpl implements IPropertyRepairService {
     public Boolean updateByBo(PropertyRepairBo bo) {
         PropertyRepair update = MapstructUtils.convert(bo, PropertyRepair.class);
         validEntityBeforeSave(update);
+        Long userId = getUserId();
+        String repairStatus = update.getRepairStatus();
+        if (FOR.equals(repairStatus)) {
+            //判断如果维修完成,把维修人员的状态改成空闲
+            StaffManage staffManage = new StaffManage();
+            staffManage.setStaffId(update.getStaffId());
+            staffManage.setStatus(ONE);
+            staffManageMapper.updateById(staffManage);
+            String userRepairKey = PROPERTY_REPAIR_NO + userId;
+            //往redis中新增 个人 物业未完成的报修数量 app统计使用
+            Object userNum = RedisUtils.getCacheObject(userRepairKey);
+            if (ObjectUtils.isNotEmpty(userNum)) {
+                RedisUtils.setCacheObject(userRepairKey, Math.max((int) userNum - 1, 0));
+            } else {
+                RedisUtils.setCacheObject(userRepairKey, 0);
+            }
+            //往redis中新增 总数 物业未完成的报修数量 app统计使用
+            Object allNum = RedisUtils.getCacheObject(PROPERTY_REPAIR_NO_ALL);
+            if (ObjectUtils.isNotEmpty(allNum)) {
+                RedisUtils.setCacheObject(PROPERTY_REPAIR_NO_ALL, Math.max((int) allNum - 1, 0));
+            } else {
+                RedisUtils.setCacheObject(PROPERTY_REPAIR_NO_ALL, 0);
+            }
+        }
+
         return baseMapper.updateById(update) > 0;
     }
 
     /**
      * 保存前的数据校验
      */
-    private void validEntityBeforeSave(PropertyRepair entity){
+    private void validEntityBeforeSave(PropertyRepair entity) {
         //TODO 做一些数据校验,如唯一约束
     }
 
@@ -139,9 +190,62 @@ public class PropertyRepairServiceImpl implements IPropertyRepairService {
      */
     @Override
     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
-        if(isValid){
+        if (isValid) {
             //TODO 做一些业务上的校验,判断是否需要校验
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    /**
+     * 指派物业报修人员
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public R<Void> assign(PropertyRepair propertyRepair) {
+        Long staffId = propertyRepair.getStaffId();
+        StaffManage staffManageOld = staffManageMapper.selectById(staffId);
+        if (TWO.equals(staffManageOld.getStatus())) {
+            return R.fail("当前人员处于不在空闲状态无法指派");
+        }
+        //报修ID/维修人员姓名/维修人员ID/维修人员手机号
+        //指派后修改该物业报修表的状态的
+        propertyRepair.setRepairStatus(TWO);
+        boolean flag = baseMapper.updateById(propertyRepair) > 0;
+        //int i = baseMapper.updateById(propertyRepair);
+        //修改维修人员的状态
+        if (flag) {
+            StaffManage staffManage = new StaffManage();
+            staffManage.setStaffId(propertyRepair.getStaffId());
+            staffManage.setStatus(TWO);
+            staffManageMapper.updateById(staffManage);
+        }
+        return R.ok();
+    }
+
+    /**
+     * 物业保修一周统计(当前时间往前推7天)
+     */
+    @Override
+    public Map<String, Object> statisticsQx() {
+        Map<String, Object> mapList = new HashMap<>();
+        List<String> weekDays = DateUtils.getPreviousSevenDays(DateUtils.YYYY_MM_DD);
+        String starTime = weekDays.get(0);
+        String endTime = weekDays.get(weekDays.size() - 1);
+        mapList.put("x", weekDays);
+        //查询两个日期内的保修数据
+        List<PropertyRepair> propertyRepairs = baseMapper.selectPropertyRepairListByTime(starTime, endTime);
+        List<Integer> numList = new ArrayList<>();
+        for (int i = 0; i < weekDays.size(); i++) {
+            int num = 0;
+            for (PropertyRepair propertyRepair : propertyRepairs) {
+                String day = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, propertyRepair.getRepairTime());
+                if (day.equals(weekDays.get(i))) {
+                    num++;
+                }
+            }
+            numList.add(num);
+        }
+        mapList.put("y", numList);
+        return mapList;
+    }
 }

+ 134 - 4
ruoyi-modules/ruoyi-wuye/src/main/java/org/dromara/service/impl/StaffTrainManualServiceImpl.java

@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.dto.StaffManageDTO;
+import org.dromara.common.core.utils.DateUtils;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.PageQuery;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.common.redis.utils.RedisUtils;
 import org.dromara.domain.staffTrain.StaffTrainManual;
 import org.dromara.domain.staffTrain.bo.StaffTrainManualBo;
 import org.dromara.domain.staffTrain.vo.StaffTrainManualVo;
@@ -15,9 +18,16 @@ import org.dromara.mapper.StaffTrainManualMapper;
 import org.dromara.service.IStaffTrainManualService;
 import org.springframework.stereotype.Service;
 
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+import static org.dromara.common.core.constant.Constants.READ_TRAIN;
+import static org.dromara.common.core.constant.Constants.READ_TRAIN_TIME;
+import static org.dromara.common.satoken.utils.LoginHelper.getLoginUser;
+import static org.dromara.common.satoken.utils.LoginHelper.getUserId;
 
 /**
  * 员工培训手册Service业务层处理
@@ -39,7 +49,46 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
      */
     @Override
     public StaffTrainManualVo queryById(Long manualId){
-        return baseMapper.selectVoById(manualId);
+        //获取该培训手册对象阅读人员的value值
+        List<String> valueList = RedisUtils.getCacheList(READ_TRAIN + manualId);
+        //获取当前登录人的员工信息
+        StaffManageDTO staffManage = getLoginUser().getStaffManage();
+        Long userId = getUserId();
+        //获取员工姓名
+        String staffName = "未知";
+        if (staffManage != null) {
+            staffName = staffManage.getStaffName();
+        }
+        //组装value值
+        String value = userId + ":" + staffName;
+        if (valueList != null && valueList.size() > 0) {
+            //如果value不重复则新增
+            if (!valueList.contains(value)) {
+                //阅读名单存储到redis key = read_train:manualId value = userId+":"+员工姓名
+                valueList.add(value);
+                RedisUtils.deleteObject(READ_TRAIN + manualId);
+                RedisUtils.setCacheList(READ_TRAIN + manualId, valueList);
+                //新增阅读时间
+                //key = read_train_time:manualId:userId
+                RedisUtils.setCacheObject(READ_TRAIN_TIME + manualId + ":" + userId, DateUtils.getTime());
+            }else {
+                //更新阅读时间
+                //key = read_train_time:manualId:userId
+                RedisUtils.setCacheObject(READ_TRAIN_TIME + manualId + ":" + userId, DateUtils.getTime());
+            }
+        }else {
+            //新增第一个阅读人员
+            List<String> stringList = new ArrayList<>();
+            stringList.add(value);
+            RedisUtils.setCacheList(READ_TRAIN + manualId, stringList);
+            //key = read_train_time:manualId:userId
+            RedisUtils.setCacheObject(READ_TRAIN_TIME + manualId + ":" + userId, DateUtils.getTime());
+        }
+        StaffTrainManual staffTrainManual = baseMapper.selectById(manualId);
+        Long viewCount = staffTrainManual.getViewCount();
+        staffTrainManual.setViewCount(viewCount+1);
+        baseMapper.updateById(staffTrainManual);
+        return MapstructUtils.convert(staffTrainManual, StaffTrainManualVo.class);
     }
 
     /**
@@ -138,4 +187,85 @@ public class StaffTrainManualServiceImpl implements IStaffTrainManualService {
         }
         return baseMapper.deleteByIds(ids) > 0;
     }
+
+    /**
+     * 获取已读人员名单
+     */
+    @Override
+    public List<Map<String, String>> getRead(StaffTrainManual staffTrainManual) {
+        //定义返回值
+        List<Map<String, String>> resultList = new ArrayList<>();
+        //String searchValue = staffTrainManual.getSearchValue();
+        String author = staffTrainManual.getAuthor();
+        Date searchTime = staffTrainManual.getCreateTime();
+        Long manualId = staffTrainManual.getManualId();
+        List<String> valueList = RedisUtils.getCacheList(READ_TRAIN + manualId);
+        if (valueList != null && valueList.size() > 0) {
+            //value = userId+":"+员工姓名
+            for (String value : valueList) {
+                String[] split = value.split(":");
+                //key = read_train:manualId:userId
+                String readTime = RedisUtils.getCacheObject(READ_TRAIN_TIME  + manualId + ":" + split[0]);
+                Map<String, String> map = new HashMap<>(2);
+                if (StringUtils.isBlank(author) && searchTime == null) {
+                    map.put("name", split[1]);
+                    //key = read_train:manualId:userId
+                    map.put("time", readTime);
+                    resultList.add(map);
+                }
+                //如果搜索姓名不为空
+                else if (StringUtils.isNotBlank(author)) {
+                    //如果搜索日期不为空
+                    if (searchTime != null) {
+                        // 创建日期格式化对象
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                        LocalDateTime dateTime = LocalDateTime.parse(readTime, formatter);
+                        // 构造仅包含年月日的新时间字符串
+                        LocalDate date = dateTime.toLocalDate();
+                        String formattedDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                        //split[1] = 员工姓名
+                        if (split[1].contains(author) && sdf.format(searchTime).equals(formattedDate)) {
+                            map.put("name", split[1]);
+                            map.put("time", readTime);
+                            resultList.add(map);
+                        }
+                    } else {
+                        //搜索日期为空
+                        if (split[1].contains(author)) {
+                            map.put("name", split[1]);
+                            map.put("time", readTime);
+                            resultList.add(map);
+                        }
+                    }
+                } else if (searchTime != null) {
+                    // 创建日期格式化对象
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                    LocalDateTime dateTime = LocalDateTime.parse(readTime, formatter);
+                    // 构造仅包含年月日的新时间字符串
+                    LocalDate date = dateTime.toLocalDate();
+                    String formattedDate = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                    if (StringUtils.isNotBlank(author)) {
+                        if (author.equals(split[1]) && sdf.format(searchTime).equals(formattedDate)) {
+                            map.put("name", split[1]);
+                            map.put("time", readTime);
+                            resultList.add(map);
+                        }
+                    } else {
+                        if (sdf.format(searchTime).equals(formattedDate)) {
+                            map.put("name", split[1]);
+                            map.put("time", readTime);
+                            resultList.add(map);
+                        }
+                    }
+                }else {
+                    map.put("name", split[1]);
+                    map.put("time", readTime);
+                    resultList.add(map);
+                }
+            }
+        }
+        return resultList;
+    }
 }

+ 34 - 1
ruoyi-modules/ruoyi-wuye/src/main/resources/mapper/wuYe/PropertyRepairMapper.xml

@@ -3,5 +3,38 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.mapper.PropertyRepairMapper">
-
+    <resultMap type="org.dromara.domain.propertyRepair.PropertyRepair" id="PropertyRepairResult">
+        <result property="repairId"    column="repair_id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="portalId"    column="portal_id"    />
+        <result property="houseAddress"    column="house_address"    />
+        <result property="repairTime"    column="repair_time"    />
+        <result property="phoneNumber"    column="phone_number"    />
+        <result property="repairTitle"    column="repair_title"    />
+        <result property="maintenanceCategory"    column="maintenance_category"    />
+        <result property="repairDetails"    column="repair_details"    />
+        <result property="repairImages"    column="repair_images"    />
+        <result property="repairStatus"    column="repair_status"    />
+        <result property="staffName"    column="staff_name"    />
+        <result property="staffId"    column="staff_id"    />
+        <result property="staffPhone"    column="staff_phone"    />
+        <result property="visitTime"    column="visit_time"    />
+        <result property="visitPhoto"    column="visit_photo"    />
+        <result property="completionTime"    column="completion_time"    />
+        <result property="completionPhoto"    column="completion_photo"    />
+        <result property="repairCompletionDetails"    column="repair_completion_details"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+    <sql id="selectPropertyRepairVo">
+        select repair_id, portal_id, house_address, repair_time,user_id, phone_number, repair_title, maintenance_category, repair_details, repair_images, repair_status, staff_name, staff_id, staff_phone, visit_time, visit_photo, completion_time, completion_photo, repair_completion_details, create_by, create_time, update_by, update_time, remark from property_repair
+    </sql>
+    <select id="selectPropertyRepairListByTime" parameterType="org.dromara.domain.propertyRepair.PropertyRepair" resultMap="PropertyRepairResult">
+        <include refid="selectPropertyRepairVo"/>
+        where date_format(repair_time,'%Y%m%d') &gt;= date_format(#{starTime},'%Y%m%d')
+        AND date_format(repair_time,'%Y%m%d') &lt;= date_format(#{endTime},'%Y%m%d')
+    </select>
 </mapper>