From 4a00eed6adc9aeea91906fb630bb156ae941dc61 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com>
Date: Thu, 28 Dec 2023 15:40:46 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BB=9F=E8=AE=A1=E5=BC=82?=
 =?UTF-8?q?=E5=B8=B8=E8=AF=A6=E7=BB=86=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../model/vo/AttendanceStaffStatVo.java       |  9 ++++++++
 .../impl/AttendanceStaffStatServiceImpl.java  |  8 ++++++-
 .../impl/AttendanceStatServiceImpl.java       | 23 +++++++++++++++----
 3 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java
index 656f6330..0a0df356 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java
@@ -1,6 +1,9 @@
 package com.mortals.xhx.module.attendance.model.vo;
 import com.mortals.framework.model.BaseEntityLong;
+import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
 import com.mortals.xhx.module.attendance.model.AttendanceStaffStatEntity;
+import lombok.Data;
+
 import java.util.ArrayList;
 import java.util.List;
 /**
@@ -9,6 +12,12 @@ import java.util.List;
 * @author zxfei
 * @date 2023-04-08
 */
+@Data
 public class AttendanceStaffStatVo extends BaseEntityLong {
 
+    /**
+     * 鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅淇℃伅
+     */
+    private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
+
 }
\ No newline at end of file
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
index f35f115b..df2df143 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
@@ -32,6 +32,12 @@ public class AttendanceStaffStatServiceImpl extends AbstractCRUDServiceImpl<Atte
         if(StringUtils.isEmpty(params.getSummaryTimeStart())||StringUtils.isEmpty(params.getSummaryTimeEnd())){
             throw new AppException("鏌ヨ鏃ユ湡鑼冨洿涓嶈兘涓虹┖");
         }
-        return dao.getListExt(params);
+
+        List<AttendanceStaffStatEntity> listExt = dao.getListExt(params);
+
+        //鏋勫缓寮傚父淇℃伅 鍒嗘棩鏈� 鍒嗕汉
+
+
+        return listExt;
     }
 }
\ No newline at end of file
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 3e7a6731..1bdbeac2 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
@@ -1,6 +1,7 @@
 package com.mortals.xhx.module.attendance.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.mortals.framework.model.PageInfo;
 import com.mortals.framework.model.Result;
@@ -20,9 +21,7 @@ import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
 import com.mortals.xhx.module.attendance.model.vo.ErrorSummaryVo;
 import com.mortals.xhx.module.attendance.model.vo.LeaveSummaryVo;
 import com.mortals.xhx.module.attendance.model.vo.VacationBalanceSummaryVo;
-import com.mortals.xhx.module.attendance.service.AttendanceLeaveRecordService;
-import com.mortals.xhx.module.attendance.service.AttendanceRecordService;
-import com.mortals.xhx.module.attendance.service.AttendanceStaffStatService;
+import com.mortals.xhx.module.attendance.service.*;
 import com.mortals.xhx.module.dept.model.DeptQuery;
 import com.mortals.xhx.module.dept.service.DeptService;
 import com.mortals.xhx.module.holiday.model.HolidayEntity;
@@ -39,7 +38,7 @@ import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.framework.exception.AppException;
 import com.mortals.framework.model.Context;
 import com.mortals.xhx.module.attendance.dao.AttendanceStatDao;
-import com.mortals.xhx.module.attendance.service.AttendanceStatService;
+import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
@@ -71,6 +70,8 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
 
     @Autowired
     private AttendanceRecordService recordService;
+    @Autowired
+    private AttendanceRecordDetailService attendanceRecordDetailService;
 
     @Autowired
     private AttendanceLeaveRecordService leaveRecordService;
@@ -275,6 +276,20 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
                     staffStat.initAttrValue();
                     BeanUtils.copyProperties(item, staffStat, BeanUtil.getNullPropertyNames(item));
                     staffStat.setAttendanceSummary(attendanceSummary);
+
+                    if (!ObjectUtils.isEmpty(attendanceSummary)) {
+                        //todo 淇濆瓨璇︾粏json淇℃伅鍒皉emark
+                        AttendanceRecordDetailQuery detailQuery = new AttendanceRecordDetailQuery();
+                        detailQuery.setStaffId(staffStat.getStaffId());
+                        //鏍煎紡鍖栧勾鏈堟棩
+                        String date = staffStat.getYear() + "-" + StrUtil.padPre(staffStat.getMonth() + "", 2, "0") + StrUtil.padPre(staffStat.getDay() + "", 2, "0");
+                        detailQuery.setCreateTimeStart(date);
+                        detailQuery.setCreateTimeEnd(date);
+                        List<AttendanceRecordDetailEntity> detailEntities = attendanceRecordDetailService.find(detailQuery);
+                        if (!ObjectUtils.isEmpty(detailEntities)) {
+                            staffStat.setRemark(JSON.toJSONString(detailEntities));
+                        }
+                    }
                     AttendanceStaffStatEntity staffStatTemp = attendanceStaffStatService.selectOne(new AttendanceStaffStatQuery().staffId(item.getStaffId()).year(item.getYear()).month(item.getMonth()).day(item.getDay()));
                     if (staffStatTemp != null) {
                         staffStat.setId(staffStatTemp.getId());
-- 
2.24.3