From 52ff3bda72646a532c3297e4843bc4d5aee8b949 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 03 九月 2024 17:20:49 +0800
Subject: [PATCH] 采集数据增加employeeid的设置

---
 collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java |   75 +++++++++++++++++++++----------------
 1 files changed, 42 insertions(+), 33 deletions(-)

diff --git a/collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java b/collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java
index 6bbdfae..ac0eb4c 100644
--- a/collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java
+++ b/collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java
@@ -17,21 +17,14 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 //import com.qianwen.core.redis.cache.BladeRedis;
 import com.qianwen.mdc.collect.dto.WorkstationDTO;
+import com.qianwen.mdc.collect.entity.mgr.EmployeeOnOffWork;
 import com.qianwen.mdc.collect.entity.mgr.GlobalWcsOfRps;
 import com.qianwen.mdc.collect.entity.mgr.Workstation;
+import com.qianwen.mdc.collect.mapper.mgr.EmployeeOnOffWorkMapper;
 import com.qianwen.mdc.collect.mapper.mgr.GlobalWcsOfRpsMapper;
 import com.qianwen.mdc.collect.service.WorkstationService;
 import com.qianwen.mdc.collect.utils.redis.RedisUtil;
-
 import cn.hutool.core.util.ObjectUtil;
-//import com.qianwen.posting.convert.WorkstationConvert;
-
-//import com.qianwen.posting.entity.mysql.EmployeeOnOffWork;
-
-//import com.qianwen.posting.entity.mysql.Workstation;
-//import com.qianwen.posting.mapper.mysql.EmployeeOnOffWorkMapper;
-
-//import com.qianwen.posting.service.IWorkstationService;
 
 @Component
 public class WorkstationCache {
@@ -49,6 +42,9 @@
     private GlobalWcsOfRpsMapper globalWcsOfRpsMapper;
     @Autowired
     private WorkstationService workstationService;
+    @Autowired
+    private EmployeeOnOffWorkMapper employeeOnOffWorkMapper;
+    
     //private static final EmployeeOnOffWorkMapper employeeOnOffWorkMapper = (EmployeeOnOffWorkMapper) SpringUtil.getBean(EmployeeOnOffWorkMapper.class);
 
     
@@ -155,28 +151,41 @@
         return wcsSetting;
       }
 
-    /*
-    public static Long getBelongToEmployeeForWorkstation(Long workstationId, Date timePoint) {
-        Long employeeId = null;
-        String redisKey = "posting:workstation".concat("::").concat("workstation:id:").concat(workstationId.toString()
-            .concat(EMPLOYEE));
-        Set<EmployeeOnOffWork> employeeOnOffWorks = bladeRedis.sMembers(redisKey);
-        EmployeeOnOffWork matchRecord = null;
-        if (Func.isNotEmpty(employeeOnOffWorks))
-          matchRecord = employeeOnOffWorks.stream().filter(item -> (item.getOnlineTime().getTime() <= timePoint.getTime() && (item.getOfflineTime() == null || item.getOfflineTime().getTime() > timePoint.getTime()))).findFirst().orElse(null); 
-        if (Func.isNotEmpty(matchRecord)) {
-          employeeId = matchRecord.getOnEmployeeId();
-        } else {
-          List<EmployeeOnOffWork> queryResult = employeeOnOffWorkMapper.selectList(Wrappers.<EmployeeOnOffWork>lambdaQuery()
-              .eq(EmployeeOnOffWork::getWorkstationId, workstationId)
-              .le(EmployeeOnOffWork::getOnlineTime, timePoint)
-              .and(wrapper -> wrapper.gt(EmployeeOnOffWork::getOfflineTime, timePoint).or().isNull(EmployeeOnOffWork::getOfflineTime)));
-          if (Func.isNotEmpty(queryResult)) {
-            employeeId = ((EmployeeOnOffWork)queryResult.get(0)).getOnEmployeeId();
-            bladeRedis.sAdd(redisKey, new Object[] { queryResult.get(0) });
-            bladeRedis.expire(redisKey, 259200L);
-          } 
-        } 
-        return employeeId;
-      }*/
+    /**
+     * 鑾峰彇宸ヤ綅鍦ㄦ寚瀹氭椂闂寸殑涓婄彮鍛樺伐
+     * @param workstationId
+     * @param timePoint
+     * @return
+     */
+	public Long getBelongToEmployeeForWorkstation(Long workstationId, Date timePoint) {
+		Long employeeId = null;
+		String redisKey = "posting:workstation".concat("::").concat("workstation:id:")
+				.concat(workstationId.toString().concat(EMPLOYEE));
+		// Set<EmployeeOnOffWork> employeeOnOffWorks = bladeRedis.sMembers(redisKey);
+
+		Set<EmployeeOnOffWork> employeeOnOffWorks = (Set<EmployeeOnOffWork>) redisUtil.sGet(redisKey);
+		EmployeeOnOffWork matchEmployee = null;
+		if (ObjectUtil.isNotEmpty(employeeOnOffWorks)) {
+			matchEmployee = employeeOnOffWorks.stream().filter(
+					item -> (item.getOnlineTime().getTime() <= timePoint.getTime() && (item.getOfflineTime() == null
+							|| item.getOfflineTime().getTime() > timePoint.getTime())))
+					.findFirst().orElse(null);
+		}
+		if (ObjectUtil.isNotEmpty(matchEmployee)) {
+			employeeId = matchEmployee.getOnEmployeeId();
+		} else {
+			List<EmployeeOnOffWork> queryResult = employeeOnOffWorkMapper.selectList(
+					Wrappers.<EmployeeOnOffWork>lambdaQuery().eq(EmployeeOnOffWork::getWorkstationId, workstationId)
+							.le(EmployeeOnOffWork::getOnlineTime, timePoint)
+							.and(wrapper -> wrapper.gt(EmployeeOnOffWork::getOfflineTime, timePoint).or()
+									.isNull(EmployeeOnOffWork::getOfflineTime)));
+			if (ObjectUtil.isNotEmpty(queryResult)) {
+				employeeId = ((EmployeeOnOffWork) queryResult.get(0)).getOnEmployeeId();
+				//bladeRedis.sAdd(redisKey, new Object[] { queryResult.get(0) });
+				//bladeRedis.expire(redisKey, 259200L);
+				redisUtil.sSetAndTime(redisKey, 259200L,  new Object[] { queryResult.get(0) });
+			}
+		}
+		return employeeId;
+	}
 }

--
Gitblit v1.9.3