From 6e8c95d31d85b53857e4e3ce12ea303eb0ea42eb Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 19 八月 2021 00:47:48 +0800
Subject: [PATCH] 优化代码

---
 service-common/src/main/java/com/java110/common/api/AttendanceClassApi.java |  172 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 165 insertions(+), 7 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
old mode 100644
new mode 100755
index 3b33a48..034e1b4
--- 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;
@@ -24,15 +25,27 @@
 import com.java110.common.bmo.attendanceClassesTaskDetail.IGetAttendanceClassesTaskDetailBMO;
 import com.java110.common.bmo.attendanceClassesTaskDetail.ISaveAttendanceClassesTaskDetailBMO;
 import com.java110.common.bmo.attendanceClassesTaskDetail.IUpdateAttendanceClassesTaskDetailBMO;
-import com.java110.dto.attendanceClassesTask.AttendanceClassesTaskDto;
-import com.java110.dto.attendanceClassesTaskDetail.AttendanceClassesTaskDetailDto;
+import com.java110.common.bmo.attendanceLog.IDeleteAttendanceLogBMO;
+import com.java110.common.bmo.attendanceLog.IGetAttendanceLogBMO;
+import com.java110.common.bmo.attendanceLog.ISaveAttendanceLogBMO;
+import com.java110.common.bmo.attendanceLog.IUpdateAttendanceLogBMO;
+import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
+import com.java110.dto.attendanceClasses.AttendanceLogDto;
 import com.java110.po.attendanceClassesTask.AttendanceClassesTaskPo;
 import com.java110.po.attendanceClassesTaskDetail.AttendanceClassesTaskDetailPo;
+import com.java110.po.attendanceLog.AttendanceLogPo;
 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
@@ -67,6 +80,16 @@
     @Autowired
     private IGetAttendanceClassesTaskDetailBMO getAttendanceClassesTaskDetailBMOImpl;
 
+    @Autowired
+    private ISaveAttendanceLogBMO saveAttendanceLogBMOImpl;
+    @Autowired
+    private IUpdateAttendanceLogBMO updateAttendanceLogBMOImpl;
+    @Autowired
+    private IDeleteAttendanceLogBMO deleteAttendanceLogBMOImpl;
+
+    @Autowired
+    private IGetAttendanceLogBMO getAttendanceLogBMOImpl;
+
     /**
      * 寰俊淇濆瓨娑堟伅妯℃澘
      *
@@ -79,11 +102,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 +163,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 +216,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 +267,117 @@
         return getAttendanceClassesTaskDetailBMOImpl.get(attendanceClassesTaskDetailDto);
     }
 
+    /**
+     * 娣诲姞璁惧鎺ュ彛绫�
+     *
+     * @return 鎴愬姛鎴栬�呭け璐�
+     * @throws Exception
+     * @serviceCode /attendanceClass/getMonthAttendance
+     * @path /app/attendanceClass/getMonthAttendance
+     */
+    @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);
+    }
+
+
+    /**
+     * 寰俊淇濆瓨娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /attendanceClass/saveAttendanceLog
+     * @path /app/attendanceClass/saveAttendanceLog
+     */
+    @RequestMapping(value = "/saveAttendanceLog", method = RequestMethod.POST)
+    public ResponseEntity<String> saveAttendanceLog(@RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "staffId", "璇锋眰鎶ユ枃涓湭鍖呭惈staffId");
+
+
+        AttendanceLogPo attendanceLogPo = BeanConvertUtil.covertBean(reqJson, AttendanceLogPo.class);
+        return saveAttendanceLogBMOImpl.save(attendanceLogPo);
+    }
+
+    /**
+     * 寰俊淇敼娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /attendanceClass/updateAttendanceLog
+     * @path /app/attendanceClass/updateAttendanceLog
+     */
+    @RequestMapping(value = "/updateAttendanceLog", method = RequestMethod.POST)
+    public ResponseEntity<String> updateAttendanceLog(@RequestBody JSONObject reqJson) {
+
+        Assert.hasKeyAndValue(reqJson, "staffId", "璇锋眰鎶ユ枃涓湭鍖呭惈staffId");
+        Assert.hasKeyAndValue(reqJson, "storeId", "璇锋眰鎶ユ枃涓湭鍖呭惈storeId");
+        Assert.hasKeyAndValue(reqJson, "logId", "logId涓嶈兘涓虹┖");
+
+
+        AttendanceLogPo attendanceLogPo = BeanConvertUtil.covertBean(reqJson, AttendanceLogPo.class);
+        return updateAttendanceLogBMOImpl.update(attendanceLogPo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /attendanceClass/deleteAttendanceLog
+     * @path /app/attendanceClass/deleteAttendanceLog
+     */
+    @RequestMapping(value = "/deleteAttendanceLog", method = RequestMethod.POST)
+    public ResponseEntity<String> deleteAttendanceLog(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "灏忓尯ID涓嶈兘涓虹┖");
+
+        Assert.hasKeyAndValue(reqJson, "logId", "logId涓嶈兘涓虹┖");
+
+
+        AttendanceLogPo attendanceLogPo = BeanConvertUtil.covertBean(reqJson, AttendanceLogPo.class);
+        return deleteAttendanceLogBMOImpl.delete(attendanceLogPo);
+    }
+
+    /**
+     * 寰俊鍒犻櫎娑堟伅妯℃澘
+     *
+     * @param storeId 鍟嗘埛ID
+     * @return
+     * @serviceCode /attendanceClass/queryAttendanceLog
+     * @path /app/attendanceClass/queryAttendanceLog
+     */
+    @RequestMapping(value = "/queryAttendanceLog", method = RequestMethod.GET)
+    public ResponseEntity<String> queryAttendanceLog(@RequestHeader(value = "store-id") String storeId,
+                                                     @RequestParam(value = "page") int page,
+                                                     @RequestParam(value = "row") int row) {
+        AttendanceLogDto attendanceLogDto = new AttendanceLogDto();
+        attendanceLogDto.setPage(page);
+        attendanceLogDto.setRow(row);
+        attendanceLogDto.setStoreId(storeId);
+        return getAttendanceLogBMOImpl.get(attendanceLogDto);
+    }
+
 }

--
Gitblit v1.8.0