Administrator 4 rokov pred
rodič
commit
a2f3930676

+ 5 - 4
boman-web-core/src/main/java/com/boman/web/core/controller/AttendanceController.java

@@ -7,6 +7,7 @@ import com.boman.web.core.service.attendance.AttendanceService;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.Map;
 
 /**
  * @author shiqian
@@ -81,12 +82,12 @@ public class AttendanceController {
     /**
      * 按月统计人员考勤信息
      *
-     * @param date 传入时间 年-月
+     * @param map 传入时间 年-月
      * @return
      */
-    @GetMapping("/statistics/{date}")
-    public AjaxResult statisticsByMonth(@PathVariable("date") String date) {
-        return service.statisticsByMonth(date);
+    @PostMapping("/statistics")
+    public AjaxResult statisticsByMonth(@RequestBody Map<String,String> map) {
+        return service.statisticsByMonth(map);
     }
 
 

+ 9 - 7
boman-web-core/src/main/java/com/boman/web/core/mapper/StandardlyMapper.java

@@ -196,6 +196,7 @@ public interface StandardlyMapper {
     @Select("<script>" +
             "SELECT\n" +
             "t.attendance_table_username as userName,\n" +
+            "t.user_id,\n" +
             "d.dept_name as deptName,\n" +
             "sum(if(attendance_table_leave_or = 'Y','1','0')) as attendanceTableLeaveOrSum,\n" +
             "sum(if(attendance_table_late = 'Y','1','0')) as attendanceTableLateSum,\n" +
@@ -207,13 +208,14 @@ public interface StandardlyMapper {
             "<where>" +
             "1=1 " +
             "<if test='date!=null'>"+
-            "DATE_FORMAT(t.create_time,'%Y-%m') = DATE_FORMAT(#{date},'%Y-%m') \n" +
+            " and DATE_FORMAT(t.create_time,'%Y-%m') = #{date} \n" +
             "</if>"+
             "</where>" +
             "GROUP BY\n" +
-            "t.user_id" +
+            " d.dept_name,t.attendance_table_username,t.user_id,DATE_FORMAT( t.create_time, '%Y-%m' )\n" +
+            "limit #{pageNo}, #{pageSize}" +
             "</script>")
-    List<JSONObject> statisticsByMonth(@Param("date") String date);
+    List<JSONObject> statisticsByMonth(@Param("date") String date,@Param("pageNo") Long pageNo,@Param("pageSize") Long pageSize);
 
     /**
      * 查询用户某月的上班打卡时间
@@ -223,10 +225,10 @@ public interface StandardlyMapper {
      */
 
     @Select("SELECT\n" +
-            "\tattendance_table_work as attendanceTableWork,\n" +
-            "\tattendance_table_offwork AS attendanceTableOffwork,\n" +
-            "\tattendance_table_work_pm AS attendanceTableWorkPm,\n" +
-            "\tattendance_table_offwork_pm as  attendanceTableOffworkPm\n" +
+            "\tDATE_FORMAT(attendance_table_work,'%Y-%m-%d %H:%i:%s') as attendanceTableWork,\n" +
+            "\tDATE_FORMAT(attendance_table_offwork,'%Y-%m-%d %H:%i:%s') AS attendanceTableOffwork,\n" +
+            "\tDATE_FORMAT(attendance_table_work_pm,'%Y-%m-%d %H:%i:%s') AS attendanceTableWorkPm,\n" +
+            "\tDATE_FORMAT(attendance_table_offwork_pm,'%Y-%m-%d %H:%i:%s') as  attendanceTableOffworkPm\n" +
             "FROM\n" +
             "\tattendance_table \n" +
             "WHERE\n" +

+ 3 - 2
boman-web-core/src/main/java/com/boman/web/core/service/attendance/AttendanceService.java

@@ -6,6 +6,7 @@ import com.boman.domain.dto.ClockOnDto;
 import com.boman.domain.dto.FormDataDto;
 
 import java.util.List;
+import java.util.Map;
 
 /**
   * @author shiqian
@@ -62,10 +63,10 @@ public interface AttendanceService {
 
     /**
      * 按月统计人员考勤信息
-     * @param date
+     * @param map
      * @return
      */
-    AjaxResult statisticsByMonth(String date);
+    AjaxResult statisticsByMonth(Map<String,String> map);
 
     /**
      * 查询用户某月的上班打卡时间

+ 7 - 3
boman-web-core/src/main/java/com/boman/web/core/service/attendance/AttendanceServiceImpl.java

@@ -301,12 +301,16 @@ public class AttendanceServiceImpl implements AttendanceService {
 
     /**
      * 按月统计人员考勤信息
-     * @param date
+     * @param map
      * @return
      */
     @Override
-    public AjaxResult statisticsByMonth(String date) {
-        List<JSONObject> jsonObjects = standardlyMapper.statisticsByMonth(date);
+    public AjaxResult statisticsByMonth(Map<String,String> map) {
+        String date = map.get("date");
+        String page = map.get("page");
+        Long pageSize = Long.parseLong(map.get("pageSize"));
+        Long pageNo = (Long.parseLong(page)-1) * pageSize;
+        List<JSONObject> jsonObjects = standardlyMapper.statisticsByMonth(date,pageNo,pageSize);
         return AjaxResult.success(jsonObjects);
     }