From 4b3f40030da117a249b41797f11c9ce4c06a7a1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <8153694@qq.com>
Date: Mon, 11 Mar 2024 10:52:02 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BA=BF=E7=A8=8B=E5=8F=91?=
 =?UTF-8?q?=E9=80=81=E9=92=89=E9=92=89=E7=94=B3=E8=AF=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../model/AttendanceRecordEntity.java         | 18 +++++++-----
 .../service/AttendanceClassDetailService.java |  3 +-
 .../AttendanceClassDetailServiceImpl.java     |  3 +-
 .../web/AttendanceRecordController.java       | 29 ++++++++++++-------
 4 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java
index c19b2de1..c6a8e82f 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/AttendanceRecordEntity.java
@@ -34,6 +34,15 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
      */
     @Excel(name = "宸ュ彿")
     private String workNum;
+    /**
+     * 鎵€灞炲ぇ鍘�
+     */
+    private Long salaId;
+    /**
+     * 鎵€灞炲ぇ鍘呭悕绉�
+     */
+    @Excel(name = "鎵€灞炲ぇ鍘�")
+    private String salaName;
     /**
      * 鎵€灞為儴闂�
      */
@@ -97,14 +106,7 @@ public class AttendanceRecordEntity extends AttendanceRecordVo {
      * 鐝鍚嶇О
      */
     private String className;
-    /**
-     * 鎵€灞炲ぇ鍘�
-     */
-    private Long salaId;
-    /**
-     * 鎵€灞炲ぇ鍘呭悕绉�
-     */
-    private String salaName;
+
     @Override
     public int hashCode() {
         return this.getId().hashCode();
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceClassDetailService.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceClassDetailService.java
index 91c7a8ea..4903cc78 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceClassDetailService.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/AttendanceClassDetailService.java
@@ -1,4 +1,5 @@
 package com.mortals.xhx.module.attendance.service;
+import com.mortals.framework.service.ICRUDCacheService;
 import com.mortals.framework.service.ICRUDService;
 import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
 /**
@@ -9,6 +10,6 @@ import com.mortals.xhx.module.attendance.model.AttendanceClassDetailEntity;
 * @author zxfei
 * @date 2023-04-08
 */
-public interface AttendanceClassDetailService extends ICRUDService<AttendanceClassDetailEntity,Long>{
+public interface AttendanceClassDetailService extends ICRUDCacheService<AttendanceClassDetailEntity,Long>{
 
 }
\ No newline at end of file
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceClassDetailServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceClassDetailServiceImpl.java
index f5ac5965..33df84af 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceClassDetailServiceImpl.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceClassDetailServiceImpl.java
@@ -1,4 +1,5 @@
 package com.mortals.xhx.module.attendance.service.impl;
+import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl;
 import org.springframework.stereotype.Service;
 import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.framework.exception.AppException;
@@ -14,6 +15,6 @@ import com.mortals.xhx.module.attendance.service.AttendanceClassDetailService;
 * @date 2023-04-08
 */
 @Service("attendanceClassDetailService")
-public class AttendanceClassDetailServiceImpl extends AbstractCRUDServiceImpl<AttendanceClassDetailDao, AttendanceClassDetailEntity, Long> implements AttendanceClassDetailService {
+public class AttendanceClassDetailServiceImpl extends AbstractCRUDCacheServiceImpl<AttendanceClassDetailDao, AttendanceClassDetailEntity, Long> implements AttendanceClassDetailService {
     
 }
\ No newline at end of file
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
index 31d88f34..3f39a19c 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/web/AttendanceRecordController.java
@@ -25,9 +25,7 @@ import com.mortals.xhx.common.keys.RedisCacheKeys;
 import com.mortals.xhx.common.pdu.HomeStatInfo;
 import com.mortals.xhx.module.attendance.model.*;
 import com.mortals.xhx.module.attendance.model.vo.AttendStatInfo;
-import com.mortals.xhx.module.attendance.service.AttendanceClassService;
-import com.mortals.xhx.module.attendance.service.AttendanceExportRecordService;
-import com.mortals.xhx.module.attendance.service.AttendanceGroupService;
+import com.mortals.xhx.module.attendance.service.*;
 import com.mortals.xhx.module.dept.model.DeptEntity;
 import com.mortals.xhx.module.dept.model.DeptQuery;
 import com.mortals.xhx.module.dept.service.DeptService;
@@ -46,7 +44,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import com.mortals.framework.model.Context;
 
-import com.mortals.xhx.module.attendance.service.AttendanceRecordService;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.ByteArrayInputStream;
@@ -90,6 +87,9 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
     private AttendanceGroupService groupService;
     @Autowired
     private AttendanceClassService classService;
+    @Autowired
+    private AttendanceClassDetailService classDetailService;
+
     @Autowired
     private ICacheService cacheService;
 
@@ -130,8 +130,9 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
             throw new AppException(e.getMessage());
         }
         if (ObjectUtils.isEmpty(query.getOrderColList())) {
-            query.setOrderColList(Arrays.asList(new OrderCol("attendanceDate", OrderCol.DESCENDING), new OrderCol("staffName", OrderCol.DESCENDING)));
+            query.setOrderColList(Arrays.asList(new OrderCol("salaId"),new OrderCol("attendanceDate", OrderCol.DESCENDING), new OrderCol("staffName", OrderCol.DESCENDING)));
         } else {
+            query.getOrderColList().add(new OrderCol("salaId"));
             query.getOrderColList().add(new OrderCol("attendanceDate", OrderCol.DESCENDING));
             // query.getOrderColList().add(new OrderCol("staffName", OrderCol.DESCENDING));
         }
@@ -210,30 +211,36 @@ public class AttendanceRecordController extends BaseCRUDJsonBodyMappingControlle
             List<List<Map<String, Object>>> lists = list.stream().map(item -> {
                 List<AttendanceRecordDetailEntity> attendanceRecordDetailList = item.getAttendanceRecordDetailList();
                 List<Map<String, Object>> mapList = new ArrayList<>();
-
                 for (int i = 0; i < colSize; i++) {
-
                     if (attendanceRecordDetailList.size() > i) {
                         AttendanceRecordDetailEntity detailEntity = attendanceRecordDetailList.get(i);
+
+                        AttendanceClassDetailEntity cacheDetail = classDetailService.getCache(detailEntity.getStaffId().toString());
+                        StringBuilder preStr=new StringBuilder();
+                        if(!ObjectUtils.isEmpty(cacheDetail)&&!ObjectUtils.isEmpty(cacheDetail.getRemark())){
+                            preStr.append(cacheDetail.getRemark());
+                            preStr.append("/");
+                        }
+
                         //鐢熸垚涓婄彮  缁撴灉  涓嬬彮 缁撴灉 4涓猰ap
                         Map<String, Object> map = new HashMap<>();
                         map.put("name", String.format("涓婄彮鎵撳崱鏃堕棿%d", i + 1));
-                        map.put("value", detailEntity.getGoWorkDate()==null?"--":DateUtil.formatDateTime(detailEntity.getGoWorkDate()));
+                        map.put("value", detailEntity.getGoWorkDate()==null?"--":preStr.toString()+DateUtil.formatDateTime(detailEntity.getGoWorkDate()));
                         mapList.add(map);
 
                         map = new HashMap<>();
                         map.put("name", String.format("涓婄彮鎵撳崱缁撴灉%d", i + 1));
-                        map.put("value", detailEntity.getGoWorkResult()==null?"--":GoWorkResultEnum.getByValue(detailEntity.getGoWorkResult()).getDesc());
+                        map.put("value", detailEntity.getGoWorkResult()==null?"--":preStr.toString()+GoWorkResultEnum.getByValue(detailEntity.getGoWorkResult()).getDesc());
                         mapList.add(map);
 
                         map = new HashMap<>();
                         map.put("name", String.format("涓嬬彮鎵撳崱鏃堕棿%d", i + 1));
-                        map.put("value", detailEntity.getOffWorkDate()==null?"--":DateUtil.formatDateTime(detailEntity.getOffWorkDate()));
+                        map.put("value", detailEntity.getOffWorkDate()==null?"--":preStr.toString()+DateUtil.formatDateTime(detailEntity.getOffWorkDate()));
                         mapList.add(map);
 
                         map = new HashMap<>();
                         map.put("name", String.format("涓嬬彮鎵撳崱缁撴灉%d", i + 1));
-                        map.put("value",detailEntity.getOffWorkResult()==null?"--":OffWorkResultEnum.getByValue(detailEntity.getOffWorkResult()).getDesc());
+                        map.put("value",detailEntity.getOffWorkResult()==null?"--":preStr.toString()+OffWorkResultEnum.getByValue(detailEntity.getOffWorkResult()).getDesc());
                         mapList.add(map);
                     } else {
                         Map<String, Object> map = new HashMap<>();
-- 
2.24.3