From 89897b7c2dee5dd79b3cbdfe8c6dfaa0abcfd580 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 02 二月 2021 13:15:43 +0800
Subject: [PATCH] 加入月考勤功能

---
 service-common/src/main/java/com/java110/common/api/AttendanceClassApi.java |   74 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 5 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/api/AttendanceClassApi.java b/service-common/src/main/java/com/java110/common/api/AttendanceClassApi.java
index 3b33a48..12394e4 100644
--- a/service-common/src/main/java/com/java110/common/api/AttendanceClassApi.java
+++ b/service-common/src/main/java/com/java110/common/api/AttendanceClassApi.java
@@ -15,6 +15,7 @@
  */
 package com.java110.common.api;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.bmo.attendanceClassesTask.IDeleteAttendanceClassesTaskBMO;
 import com.java110.common.bmo.attendanceClassesTask.IGetAttendanceClassesTaskBMO;
@@ -30,9 +31,15 @@
 import com.java110.po.attendanceClassesTaskDetail.AttendanceClassesTaskDetailPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName AttendanceClassApi
@@ -79,11 +86,15 @@
     public ResponseEntity<String> saveAttendanceClassesTask(@RequestBody JSONObject reqJson) {
 
         Assert.hasKeyAndValue(reqJson, "classId", "璇锋眰鎶ユ枃涓湭鍖呭惈classId");
-        Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+
+        JSONArray attendanceClassesTaskDetails = reqJson.getJSONArray("attendanceClassesTaskDetails");
+
+        List<AttendanceClassesTaskDetailPo> attendanceClassesTaskDetailPos
+                = JSONArray.parseArray(attendanceClassesTaskDetails.toJSONString(), AttendanceClassesTaskDetailPo.class);
 
 
         AttendanceClassesTaskPo attendanceClassesTaskPo = BeanConvertUtil.covertBean(reqJson, AttendanceClassesTaskPo.class);
-        return saveAttendanceClassesTaskBMOImpl.save(attendanceClassesTaskPo);
+        return saveAttendanceClassesTaskBMOImpl.save(attendanceClassesTaskPo, attendanceClassesTaskDetailPos);
     }
 
     /**
@@ -136,11 +147,24 @@
     @RequestMapping(value = "/queryAttendanceClassesTask", method = RequestMethod.GET)
     public ResponseEntity<String> queryAttendanceClassesTask(@RequestHeader(value = "store-id") String storeId,
                                                              @RequestParam(value = "page") int page,
-                                                             @RequestParam(value = "row") int row) {
+                                                             @RequestParam(value = "row") int row,
+                                                             @RequestParam(value = "classId", required = false) String classId,
+                                                             @RequestParam(value = "staffId", required = false) String staffId,
+                                                             @RequestParam(name = "date", required = false) String date) throws Exception {
         AttendanceClassesTaskDto attendanceClassesTaskDto = new AttendanceClassesTaskDto();
         attendanceClassesTaskDto.setPage(page);
         attendanceClassesTaskDto.setRow(row);
         attendanceClassesTaskDto.setStoreId(storeId);
+        attendanceClassesTaskDto.setClassId(classId);
+        if (!StringUtil.isEmpty(date)) {
+            Date reqDate = DateUtil.getDateFromString(date, DateUtil.DATE_FORMATE_STRING_B);
+
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(reqDate);
+            attendanceClassesTaskDto.setTaskYear(calendar.get(Calendar.YEAR) + "");
+            attendanceClassesTaskDto.setTaskMonth((calendar.get(Calendar.MONTH) + 1) + "");
+            attendanceClassesTaskDto.setTaskDay(calendar.get(Calendar.DAY_OF_MONTH) + "");
+        }
         return getAttendanceClassesTaskBMOImpl.get(attendanceClassesTaskDto);
     }
 
@@ -176,12 +200,17 @@
     public ResponseEntity<String> updateAttendanceClassesTaskDetail(@RequestBody JSONObject reqJson) {
 
         Assert.hasKeyAndValue(reqJson, "taskId", "璇锋眰鎶ユ枃涓湭鍖呭惈taskId");
-        Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
         Assert.hasKeyAndValue(reqJson, "detailId", "detailId涓嶈兘涓虹┖");
+
+        boolean finishAllTaskDetail = false;
+
+        if (reqJson.containsKey("finishAllTaskDetail") && reqJson.getBoolean("finishAllTaskDetail")) {
+            finishAllTaskDetail = true;
+        }
 
 
         AttendanceClassesTaskDetailPo attendanceClassesTaskDetailPo = BeanConvertUtil.covertBean(reqJson, AttendanceClassesTaskDetailPo.class);
-        return updateAttendanceClassesTaskDetailBMOImpl.update(attendanceClassesTaskDetailPo);
+        return updateAttendanceClassesTaskDetailBMOImpl.update(attendanceClassesTaskDetailPo, finishAllTaskDetail);
     }
 
     /**
@@ -222,4 +251,39 @@
         return getAttendanceClassesTaskDetailBMOImpl.get(attendanceClassesTaskDetailDto);
     }
 
+    /**
+     * 娣诲姞璁惧鎺ュ彛绫�
+     * @serviceCode /attendanceClass/getMonthAttendance
+     * @path /app/attendanceClass/getMonthAttendance
+     * @return 鎴愬姛鎴栬�呭け璐�
+     * @throws Exception
+     */
+    @RequestMapping(path = "/getMonthAttendance", method = RequestMethod.GET)
+    public ResponseEntity<String> getMonthAttendance(
+            @RequestHeader(value = "store-id") String storeId,
+            @RequestParam int page,
+            @RequestParam int row,
+            @RequestParam(name = "classesId", required = false) String classesId,
+            @RequestParam(name = "staffName", required = false) String staffName,
+            @RequestParam(name = "date", required = false) String date,
+            @RequestParam(name = "departmentId", required = false) String departmentId
+    ) throws Exception {
+
+        AttendanceClassesTaskDto attendanceClassesTaskDto = new AttendanceClassesTaskDto();
+        attendanceClassesTaskDto.setPage(page);
+        attendanceClassesTaskDto.setRow(row);
+        attendanceClassesTaskDto.setClassId(classesId);
+        attendanceClassesTaskDto.setStaffName(staffName);
+        attendanceClassesTaskDto.setStoreId(storeId);
+
+        if (!StringUtil.isEmpty(date)) {
+            Date reqDate = DateUtil.getDateFromString(date, DateUtil.DATE_FORMATE_STRING_B);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(reqDate);
+            attendanceClassesTaskDto.setTaskYear(calendar.get(Calendar.YEAR) + "");
+            attendanceClassesTaskDto.setTaskMonth((calendar.get(Calendar.MONTH) + 1) + "");
+        }
+        return  getAttendanceClassesTaskDetailBMOImpl.getMonthAttendance(attendanceClassesTaskDto);
+    }
+
 }

--
Gitblit v1.8.0