Quellcode durchsuchen

fix 修改建表语句

Administrator vor 4 Jahren
Ursprung
Commit
c17905d302

+ 25 - 0
boman-web-core/src/main/java/com/boman/web/core/controller/AttendanceController.java

@@ -70,10 +70,35 @@ public class AttendanceController {
 
     /**
      * 功能描述: 根据tableName和userId查找当月考勤详细记录
+     *
      * @return com.boman.domain.dto.AjaxResult
      */
     @PostMapping("/detailedRecord")
     public AjaxResult detailedRecord(@RequestBody FormDataDto dto) {
         return service.detailedRecord(dto);
     }
+
+    /**
+     * 按月统计人员考勤信息
+     *
+     * @param date 传入时间 年-月
+     * @return
+     */
+    @GetMapping("/statistics/{date}")
+    public AjaxResult statisticsByMonth(@PathVariable("date") String date) {
+        return service.statisticsByMonth(date);
+    }
+
+
+    /**
+     * 查询用户某月的上班打卡时间
+     *
+     * @param date   查询的年-月
+     * @param userId 用户id
+     * @return
+     */
+    @GetMapping("/findDate/{date}/{userId}")
+    public AjaxResult findDate(@PathVariable("date") String date, @PathVariable("userId") Long userId) {
+        return service.findDate(date, userId);
+    }
 }

+ 46 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/StandardlyMapper.java

@@ -188,6 +188,52 @@ public interface StandardlyMapper {
     @Select("select * from ${tableName} order by create_time desc limit 1")
     JSONObject getNewest(@Param("tableName") String tableName);
 
+    /**
+     * 按月统计人员考勤信息
+     * @param date
+     * @return
+     */
+    @Select("<script>" +
+            "SELECT\n" +
+            "t.attendance_table_username as userName,\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" +
+            "sum(if(attendance_table_leave = 'Y','1','0')) as attendanceTableLeaveSum,\n" +
+            "DATE_FORMAT(t.create_time,'%Y-%m') as date\n" +
+            "FROM  \n" +
+            "attendance_table t\n" +
+            "LEFT JOIN sys_dept d ON d.id = t.dept_id \n" +
+            "<where>" +
+            "1=1 " +
+            "<if test='date!=null'>"+
+            "DATE_FORMAT(t.create_time,'%Y-%m') = DATE_FORMAT(#{date},'%Y-%m') \n" +
+            "</if>"+
+            "</where>" +
+            "GROUP BY\n" +
+            "t.user_id" +
+            "</script>")
+    List<JSONObject> statisticsByMonth(@Param("date") String date);
+
+    /**
+     * 查询用户某月的上班打卡时间
+     * @param date
+     * @param userId
+     * @return
+     */
+
+    @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" +
+            "FROM\n" +
+            "\tattendance_table \n" +
+            "WHERE\n" +
+            "\tDATE_FORMAT( create_time, '%Y-%m' ) = #{date} \n" +
+            "\tAND user_id = #{userId}")
+    List<JSONObject> findDate(@Param("date")String date, @Param("userId")Long userId);
+
     @SuppressWarnings("unchecked")
     class SqlProvider {
         static final String[] READONLY_COLUMNS = new String[]{"OWNERID", "OWNERNAME", "OWNERENAME", "CREATIONDATE", "ID"};

+ 15 - 0
boman-web-core/src/main/java/com/boman/web/core/service/attendance/AttendanceService.java

@@ -59,4 +59,19 @@ public interface AttendanceService {
      * @return com.alibaba.fastjson.JSONObject
      */
     JSONObject clockOn(ClockOnDto dto);
+
+    /**
+     * 按月统计人员考勤信息
+     * @param date
+     * @return
+     */
+    AjaxResult statisticsByMonth(String date);
+
+    /**
+     * 查询用户某月的上班打卡时间
+     * @param date
+     * @param userId
+     * @return
+     */
+    AjaxResult findDate(String date,Long userId);
 }

+ 27 - 0
boman-web-core/src/main/java/com/boman/web/core/service/attendance/AttendanceServiceImpl.java

@@ -11,6 +11,7 @@ import com.boman.domain.constant.FormDataConstant;
 import com.boman.domain.dto.AjaxResult;
 import com.boman.domain.dto.ClockOnDto;
 import com.boman.domain.dto.FormDataDto;
+import com.boman.web.core.mapper.StandardlyMapper;
 import com.boman.web.core.service.TableServiceCmdService;
 import com.boman.web.core.service.attendance.rules.AttendanceRulesService;
 import com.boman.web.core.service.common.ICommonService;
@@ -19,6 +20,7 @@ import com.boman.web.core.utils.AuthUtils;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -54,6 +56,8 @@ public class AttendanceServiceImpl implements AttendanceService {
     private TableServiceCmdService cmdService;
     @Resource
     private IBaseSelectService selectService;
+    @Autowired
+    private StandardlyMapper standardlyMapper;
 
     /**
      * 功能描述: 根据tableName和userId查找当月考勤
@@ -295,6 +299,29 @@ public class AttendanceServiceImpl implements AttendanceService {
         return commitData;
     }
 
+    /**
+     * 按月统计人员考勤信息
+     * @param date
+     * @return
+     */
+    @Override
+    public AjaxResult statisticsByMonth(String date) {
+        List<JSONObject> jsonObjects = standardlyMapper.statisticsByMonth(date);
+        return AjaxResult.success(jsonObjects);
+    }
+
+    /**
+     * 查询用户某月的上班打卡时间
+     * @param date
+     * @param userId
+     * @return
+     */
+    @Override
+    public AjaxResult findDate(String date, Long userId) {
+        List<JSONObject>  jsonObjects= standardlyMapper.findDate(date, userId);
+        return AjaxResult.success(jsonObjects);
+    }
+
     /**
      * 功能描述: 保存打卡信息
      *

+ 1 - 1
boman-web-core/src/main/resources/bootstrap.yml

@@ -5,7 +5,7 @@ spring:
   application:
     name: boman-web-core
   profiles:
-    active: test
+    active: dev
   cloud:
     nacos:
       discovery: