فهرست منبع

维修近一周数据

guarantee-lsq 3 سال پیش
والد
کامیت
fb9a29d56e

+ 10 - 0
platform-common/src/main/java/com/platform/common/util/DateUtils.java

@@ -572,6 +572,16 @@ public class DateUtils {
         return  weekStartAndEndList;
     }
 
+    public static List<LocalDateTime> currentWeek(){
+        List<LocalDateTime> list = new ArrayList<>();
+        LocalDateTime now = LocalDateTime.now();
+        for(int i=-6;i<0;i++){
+            list.add(now.plusDays(i));
+        }
+        list.add(now);
+        return list;
+    }
+
 
 }
 

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

@@ -319,4 +319,8 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
     private LocalDateTime searchEndTime;
 
     private String searchTime;
+
+    private LocalDateTime searchTimeStart;
+
+    private LocalDateTime searchTimeEnd;
 }

+ 7 - 0
platform-dao/src/main/java/com/platform/dao/mapper/repair/RepairApplicationFormMapper.java

@@ -38,4 +38,11 @@ public interface RepairApplicationFormMapper extends MyMapper<RepairApplicationF
     String selectNoById(Object id);
 
     List<RepairApplicationFormVO> getWorkplaceRepairData(RepairApplicationFormDTO model);
+
+    /**
+     * 获取近一段时间的维修数据
+     * @param model
+     * @return
+     */
+    List<RepairApplicationFormVO> getCurrentlyList(RepairApplicationFormDTO model);
 }

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

@@ -352,7 +352,15 @@ public class RepairApplicationFormVO extends BaseVO implements Serializable {
      */
     private String otherChangeContent;
 
+    /**
+     * 统计维修次数值
+     */
     private BigDecimal tempTotalNum;
 
     private BigDecimal tempTotalFee;
+
+    /**
+     * 星期几名称
+     */
+    private String weekDayName;
 }

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

@@ -132,4 +132,21 @@
         </where>
         group by rf.status
     </select>
+
+    <!-- 维修统计数据 -->
+    <select id="getCurrentlyList" parameterType="com.platform.dao.dto.repair.RepairApplicationFormDTO"
+            resultType="com.platform.dao.vo.repair.RepairApplicationFormVO">
+        select * from t_repair_application_form
+        <where>
+            <if test="repairUserId != null">
+                and repair_user_id = #{repairUserId}
+            </if>
+            <if test="searchTimeStart != null">
+                and repair_start_time <![CDATA[>]]> #{searchTimeStart}
+            </if>
+            <if test="searchTimeEnd != null">
+                and repair_start_time <![CDATA[<]]> #{searchTimeEnd}
+            </if>
+        </where>
+    </select>
 </mapper>

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

@@ -128,4 +128,10 @@ public interface RepairApplicationFormService extends IBaseService<RepairApplica
      * @return
      */
     WorkplaceRepairVO getWorkplaceRepairData(String userId,String searchTime);
+
+    /**
+     * 维修近一周数据
+     * @return
+     */
+    List<RepairApplicationFormVO> getCurrentlyList(String userId);
 }

+ 31 - 4
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -56,11 +56,9 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.format.TextStyle;
 import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -879,6 +877,35 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return vo;
     }
 
+    @Override
+    public List<RepairApplicationFormVO> getCurrentlyList(String userId) {
+        LocalDateTime now = LocalDateTime.now();
+        List<LocalDateTime> currentWeekStartAndEndList = DateUtils.currentWeek();
+        LocalDateTime searchStartTime = now.plusDays(-6).withHour(0).withMinute(0).withSecond(0);
+        LocalDateTime searchEndTime = now.withHour(23).withMinute(59).withSecond(59);
+        // 总数
+        RepairApplicationFormDTO queryDTO = new RepairApplicationFormDTO();
+        queryDTO.setSearchStartTime(searchStartTime);
+        queryDTO.setSearchEndTime(searchEndTime);
+        queryDTO.setRepairUserId(userId);
+        List<RepairApplicationFormVO> list = mapper.getCurrentlyList(queryDTO) == null ? new ArrayList<>() : mapper.getCurrentlyList(queryDTO);
+
+        List<RepairApplicationFormVO> result = new ArrayList<>();
+        for(LocalDateTime tempDate: currentWeekStartAndEndList){
+            RepairApplicationFormVO vo = new RepairApplicationFormVO();
+            int tempTotalNum = 0;
+            vo.setWeekDayName(tempDate.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA));
+            for(RepairApplicationFormVO useVO: list){
+                if(useVO.getRepairStartTime().toLocalDate().isEqual(tempDate.toLocalDate())){
+                    tempTotalNum+=1;
+                }
+            }
+            vo.setTempTotalNum(new BigDecimal(tempTotalNum));
+            result.add(vo);
+        }
+        return result;
+    }
+
     /**
      * 数据封装
      * @param type  工单维修类型 内部还是外部