From 7ef593e1e3c35aaeecf9318f0b3941230d3ed002 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 09 十月 2024 11:22:54 +0800
Subject: [PATCH] 增加在数据点计算规则后数据点名称加_n的适配
---
collect/src/main/java/com/qianwen/mdc/collect/cache/WorkstationCache.java | 87 +++++++++++++++++++++++--------------------
1 files changed, 46 insertions(+), 41 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 1083904..1dfb57a 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 {
@@ -43,17 +36,16 @@
@Autowired
private RedisUtil redisUtil;
private static final Logger log = LoggerFactory.getLogger(WorkstationCache.class);
- //private static final BladeRedis bladeRedis = (BladeRedis) SpringUtil.getBean(BladeRedis.class);
- //private static final IWorkstationService workStationService = (IWorkstationService) SpringUtil.getBean(IWorkstationService.class);
+
@Autowired
private GlobalWcsOfRpsMapper globalWcsOfRpsMapper;
@Autowired
private WorkstationService workstationService;
- //private static final EmployeeOnOffWorkMapper employeeOnOffWorkMapper = (EmployeeOnOffWorkMapper) SpringUtil.getBean(EmployeeOnOffWorkMapper.class);
-
+ @Autowired
+ private EmployeeOnOffWorkMapper employeeOnOffWorkMapper;
-
- public Map<Long, WorkstationDTO> getWorkStations() {
+
+ public Map<Long, WorkstationDTO> getWorkstations() {
String redisKey = "posting:workstation".concat("::").concat(WORKSTATION_ALL);
/*Map<String, WorkstationDTO> map = bladeRedis.hGetAll(redisKey);
@@ -66,14 +58,14 @@
Map<Long, WorkstationDTO> map = convertMap(redisUtil.hmget(redisKey));
if (ObjectUtil.isEmpty(map)) {
- map = setWorkStations();
+ map = setWorkstations();
}
return map;
}
- private Map<Long, WorkstationDTO> setWorkStations() {
+ private Map<Long, WorkstationDTO> setWorkstations() {
List<Workstation> list = workstationService.list();
String redisKey = "posting:workstation".concat("::").concat(WORKSTATION_ALL);
@@ -155,28 +147,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