From 332646a48118caf90cb1dde7adfde28122b50e77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com>
Date: Tue, 12 Mar 2024 15:03:28 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=AF=8F=E6=97=A5=E8=80=83?=
 =?UTF-8?q?=E5=8B=A4=E8=AE=B0=E5=BD=95=E9=87=8D=E5=A4=8D=E5=A4=9A=E6=9D=A1?=
 =?UTF-8?q?=E6=83=85=E5=86=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../service/AttendanceRecordHikService.java   |  3 +-
 .../impl/AttendanceRecordHikServiceImpl.java  | 25 +++++++----
 .../impl/AttendanceStatServiceImpl.java       | 42 ++++++++-----------
 .../service/work/FixWorkAttendance.java       | 10 -----
 .../web/AttendanceRecordHikController.java    |  2 -
 .../AttendanceRecordDetailMapperExt.xml       |  2 +-
 6 files changed, 37 insertions(+), 47 deletions(-)

diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordHikService.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordHikService.java
index a01e0cc3..1e6208a6 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordHikService.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceRecordHikService.java
@@ -1,4 +1,5 @@
 package com.mortals.xhx.module.attendance.service;
+import com.mortals.framework.common.Rest;
 import com.mortals.framework.model.Context;
 import com.mortals.framework.service.ICRUDService;
 import com.mortals.xhx.module.attendance.dao.AttendanceRecordHikDao;
@@ -57,6 +58,6 @@ public interface AttendanceRecordHikService extends ICRUDService<AttendanceRecor
     void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery,Context context);
 
 
-    void buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery,Context context);
+    Rest<Integer> buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context);
 
 }
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
index bad386df..6ac0105d 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceRecordHikServiceImpl.java
@@ -260,7 +260,9 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
                     query.setStaffId(attendanceRecordEntity.getStaffId());
                     // query.setClassId(attendanceRecordEntity.getClassId());
                     // query.setAttendanceGroupId(attendanceRecordEntity.getAttendanceGroupId());
-                    query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
+                    //query.setAttendanceDate(attendanceRecordEntity.getAttendanceDate());
+                    query.setAttendanceDateStart(dateStr);
+                    query.setAttendanceDateEnd(dateStr);
 
                     AttendanceRecordEntity recordEntity = attendanceRecordService.selectOne(query);
                     if (!ObjectUtils.isEmpty(recordEntity)) {
@@ -726,7 +728,12 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
         return weekClassId;
     }
 
-
+    /**
+     * 璁$畻鑰冨嫟
+     *
+     * @param recordHikQuery
+     * @param context
+     */
     @Override
     public void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
 
@@ -794,7 +801,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
                             AttendanceRecordHikEntity hikEntity = this.selectOne(condition);
                             if (ObjectUtils.isEmpty(hikEntity)) {
                                 this.getDao().insert(recordHikEntity);
-                            }else {
+                            } else {
                                 log.info("褰撳ぉ宸叉湁鑰冨嫟璁板綍锛屾棤闇€娣诲姞锛�");
                             }
 
@@ -810,10 +817,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
     }
 
     @Override
-    public void buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
+    public Rest<Integer> buildSourceHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
         syncDoorEvents(recordHikQuery);
-
         deletFackRecord(recordHikQuery, context);
+        return Rest.ok();
     }
 
     private void deletFackRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
@@ -821,8 +828,8 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
         log.info("寮€濮嬪垹闄よ櫄澧炵殑璁板綍锛�");
         recordHikQuery.setEventSource("褰撴棩鏈湁璁板綍铏氬鑰冨嫟璁板綍锛�");
         List<AttendanceRecordHikEntity> fackAttendlist = this.find(recordHikQuery);
-        if(!ObjectUtils.isEmpty(fackAttendlist)){
-            log.info("铏氬鐨勮褰曪細{}",fackAttendlist.size());
+        if (!ObjectUtils.isEmpty(fackAttendlist)) {
+            log.info("铏氬鐨勮褰曪細{}", fackAttendlist.size());
             for (AttendanceRecordHikEntity recordHikEntity : fackAttendlist) {
                 //鍒ゆ柇鏄惁宸茬粡閲嶆柊鏈夋柊鐨勫綋鏃ユ暟鎹紝濡傛灉鏈� 鍒欏垹闄ゅ綋鍓嶈櫄澧炶褰�
                 AttendanceRecordHikQuery query = new AttendanceRecordHikQuery();
@@ -831,7 +838,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
                 query.setAttendanceDateEnd(recordHikQuery.getAttendanceDateEnd());
                 query.setIdNotList(Arrays.asList(recordHikEntity.getId()));
                 int count = this.count(query, context);
-                if(count>0){
+                if (count > 0) {
                     //鍒犻櫎褰撳墠铏氬鐨勮褰�
                     this.remove(recordHikEntity.getId(), context);
                 }
@@ -874,7 +881,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
                     doorEventsRest = hikDoorService.getDoorEvents(doorEventReq);
                     log.info("doorEventsRest:{} msg:{},page:{}", doorEventsRest.getCode(), doorEventsRest.getMsg(), doorEventReq.getPageNo());
                     getDoorEvents(doorEventsRest);
-                }catch (Exception e){
+                } catch (Exception e) {
                     log.error("鍒嗛〉鑾峰彇鑰冨嫟鏁版嵁寮傚父:{}", e.getMessage());
                 }
 
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
index 86199af8..24c399c0 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStatServiceImpl.java
@@ -197,21 +197,7 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
                     //鐗瑰畾鑺傚亣鏃�
                     isReturn = true;
                 }
-            } else {
-                //鍒ゆ柇鏄惁涓哄懆鏈�
-//                Calendar calendar = Calendar.getInstance();
-//                calendar.setTime(DateUtils.StrToDate(query.getSummaryTime()));
-//                int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
-//                if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
-//                    isReturn = true;
-//                }
             }
-
-//            Date today = DateUtils.getCurrDate();
-//            if (DateUtils.StrToDate(query.getSummaryTime()).compareTo(today) >= 0) {
-//                //褰撳ぉ涓嶇粺璁�
-//                isReturn = true;
-//            }
             if (isReturn) {
                 return;
             }
@@ -362,18 +348,26 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
 
                     if (!ObjectUtils.isEmpty(attendanceSummary)) {
                         //todo 淇濆瓨璇︾粏json淇℃伅鍒皉emark
-                        AttendanceRecordQuery detailQuery = new AttendanceRecordQuery();
-                        detailQuery.setStaffId(staffStat.getStaffId());
                         //鏍煎紡鍖栧勾鏈堟棩
                         String date = staffStat.getYear() + "-" + StrUtil.padPre(staffStat.getMonth() + "", 2, "0")+ "-"  + StrUtil.padPre(staffStat.getDay() + "", 2, "0");
-
-                        //log.info("staffId:{},date:{}",staffStat.getStaffId(),date);
-                        detailQuery.setAttendanceDateStart(date);
-                        detailQuery.setAttendanceDateEnd(date);
-                        List<AttendanceRecordDetailEntity> detailEntities = attendanceRecordDetailService.getListByWhere(detailQuery);
-                        if (!ObjectUtils.isEmpty(detailEntities)) {
-                            //log.info("detailEntities size:{}",detailEntities.size());
-                            staffStat.setRemark(JSON.toJSONString(detailEntities));
+                        AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
+                        attendanceRecordQuery.setStaffId(staffStat.getStaffId());
+                        attendanceRecordQuery.setAttendanceDateStart(date);
+                        attendanceRecordQuery.setAttendanceDateEnd(date);
+
+                        AttendanceRecordEntity recordEntity = recordService.selectOne(attendanceRecordQuery);
+                        if(!ObjectUtils.isEmpty(recordEntity)){
+                            AttendanceRecordQuery detailQuery = new AttendanceRecordQuery();
+                            detailQuery.setStaffId(staffStat.getStaffId());
+                            detailQuery.setId(recordEntity.getId());
+                            //log.info("staffId:{},date:{}",staffStat.getStaffId(),date);
+                            detailQuery.setAttendanceDateStart(date);
+                            detailQuery.setAttendanceDateEnd(date);
+                            List<AttendanceRecordDetailEntity> detailEntities = attendanceRecordDetailService.getListByWhere(detailQuery);
+                            if (!ObjectUtils.isEmpty(detailEntities)) {
+                                //log.info("detailEntities size:{}",detailEntities.size());
+                                staffStat.setRemark(JSON.toJSONString(detailEntities));
+                            }
                         }
                     }
                     staffStat.setStaffName(staffName);
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkAttendance.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkAttendance.java
index 88897d82..016f0fcc 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkAttendance.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/work/FixWorkAttendance.java
@@ -72,9 +72,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
         }
         //鑾峰彇褰撳墠鏃ユ湡鐨勮缁嗙彮娆�
         Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week);
-        //log.info("weekClassId:{}", weekClassId);
-        //weekClassId涓�-1 鍒欎笉鍦ㄨ€冨嫟
-
         Boolean checkWorkByHoliday = checkWorkByHoliday();
         Boolean checkHolidayByWorkDay = checkHolidayByWorkDay();
 
@@ -90,12 +87,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
                 return;
             }
         }
-
-/*        if (weekClassId == -1L) {
-            //璺宠繃鏈寰幆
-            return;
-        }*/
-
         //鐗规畩鏃ユ湡鑰冨嫟閰嶇疆
         List<AttendanceGroupFixedworkSpecialEntity> specialEntities = specialService.find(new AttendanceGroupFixedworkSpecialQuery().fixedWorkId(attendanceGroupFixedworkEntity.getId()));
         if (!ObjectUtils.isEmpty(specialEntities)) {
@@ -155,7 +146,6 @@ public class FixWorkAttendance extends AttendanceWorkAbstract {
             }
         }
 
-
         //鑾峰彇鐝淇℃伅
         AttendanceClassEntity attendanceClassEntity = attendanceClassService.get(weekClassId);
         if (ObjectUtils.isEmpty(attendanceClassEntity)) {
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
index 5f48206e..e175264e 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordHikController.java
@@ -207,8 +207,6 @@ public class AttendanceRecordHikController extends BaseCRUDJsonBodyMappingContro
     }
 
 
-
-
     @PostMapping(value = "/addAttendanceHikRecordCustom")
     @UnAuth
     public Rest<String> addAttendanceHikRecordCustom(@RequestBody AttendanceRecordHikQuery hikEntity) {
diff --git a/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml b/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml
index 10ee39fa..15dea372 100644
--- a/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml
+++ b/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml
@@ -21,7 +21,7 @@
         a.offWorkResult,
         a.orderNum
         from mortals_xhx_attendance_record_detail as a,mortals_xhx_attendance_record r
-        where a.recordId = r.id
+        where a.recordId =  #{id}
         and r.staffId = #{staffId}
         AND r.attendanceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{attendanceDateStart},' 00:00:00'),19),'%Y-%m-%d
         %k:%i:%s')
-- 
2.24.3