From 61b40ca50044c8b20b6ea21028398e068ca103a0 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期六, 12 八月 2023 16:16:14 +0800
Subject: [PATCH] 调整DEVICE的字段和缓存,增加支持根据ID直接获取设备信息,优化MODBUS-TCP协议 实现
---
igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java | 105 +++++++++++++++++-----------------------------------
1 files changed, 34 insertions(+), 71 deletions(-)
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
index eeec666..7d975d0 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -1,8 +1,6 @@
package com.ld.igds.inout.service.impl;
import com.bstek.dorado.data.entity.EntityUtils;
-import com.ld.igds.common.CoreCommonService;
-import com.ld.igds.constant.BizType;
import com.ld.igds.constant.Constant;
import com.ld.igds.constant.RedisConst;
import com.ld.igds.data.CommonData;
@@ -19,7 +17,6 @@
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.DateUtil;
import com.ld.igds.util.RedisUtil;
-import com.ld.igds.websocket.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
@@ -28,9 +25,6 @@
import javax.annotation.Resource;
import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.FutureTask;
@Slf4j
@Component
@@ -42,8 +36,6 @@
private InoutCheckMapper inoutCheckMapper;
@Resource
private RedisUtil redisUtil;
- @Resource
- private CoreCommonService commonService;
@Override
public InoutData inoutProgressQuery(InoutParam param) throws Exception {
@@ -152,9 +144,18 @@
data.setUserName("");
}
- inoutMapper.insertData(data);
+ InoutData newData;
+ if (EntityUtils.isEntity(data)) {
+ newData = new InoutData();
+ BeanUtils.copyProperties(data, newData, new String[]{"checkItems", "files"});
+ } else {
+ newData = data;
+ }
- updateInoutCache(data);
+ inoutMapper.insertData(newData);
+
+
+ updateInoutCache(newData);
} catch (Exception e) {
log.error("------------鍑哄叆搴撴墽琛屼繚瀛樺嚭閿�---{}", e);
@@ -204,9 +205,11 @@
}
inoutMapper.updateDataByHandle(newData);
+ InoutParam param = new InoutParam();
+ param.setId(newData.getId());
//鏇存柊缂撳瓨
- updateInoutCache(newData);
+ updateInoutCache(inoutMapper.inoutQueryById(param));
return null;
}
@@ -236,6 +239,10 @@
// 璁剧疆韬唤璇佸彿鐨勬ā绯婃煡璇㈡潯浠�
if (null != param.getUserId()) {
param.setUserId("%" + param.getUserId() + "%");
+ }
+
+ if (null != param.getRecordStatus() && InoutConstant.RECORD_STATUS_NORMAL.equals(param.getRecordStatus())) {
+ param.setRecordStatus(null);
}
List<InoutData> records = inoutMapper.pageRecordData(page, param);
@@ -287,7 +294,7 @@
}
// 娓呴櫎缂撳瓨
- this.delFromCache(param.getDeptId(), param.getType(), param.getId());
+// this.delFromCache(param.getDeptId(), param.getType(), param.getId());
inoutMapper.toComplete(param);
@@ -503,16 +510,6 @@
inoutMapper.deleteData(param);
}
- @Override
- public void setCheckCache(InoutData data) {
-
- String cacheKey = RedisConst.buildKey(data.getCompanyId(), data.getCheckId());
-
- //鍖栭獙缁撴灉瀛樺叆缂撳瓨3澶�
- redisUtil.set(cacheKey, data.getCheckItems(), 60 * 60 * 24 * 3);
- }
-
-
/**
* 鍑哄叆搴撴祦绋婭D鍒涘缓 202001030001 202001030001
*
@@ -616,53 +613,6 @@
}
/**
- * 鎺ㄩ�佸埌澶у睆锛屽垽鏂彧鏈夊綋澶у睆鍦ㄧ嚎鏃跺�欐墠澶勭悊褰撳墠閫昏緫锛岄伩鍏嶉〉闈㈠崱椤匡紝璋冪敤瀛愪换鍔″畬鎴愭帹閫�
- *
- * @param companyId 缁勭粐缂栧彿
- * @param deptId 鍒嗗簱缂栧彿
- * @param progress 娴佽浆鑺傜偣
- */
- public void notifyToScreen(String companyId, String deptId, String progress) {
-
- // 鎺ㄩ�佸埌澶у睆
- List<InoutData> curList = this.getListInoutCache(deptId);
-
- List<InoutData> completeList = this.getCompleteListInoutCache(deptId);
-
-
- if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN
- .getCode())) {
- WebSocketServer.contextOnLineMap.put(BizType.SCREEN.getCode(),
- false);
- }
- if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT
- .getCode())) {
- WebSocketServer.contextOnLineMap.put(
- BizType.SCREEN_INOUT.getCode(), false);
- }
- if (null == WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK
- .getCode())) {
- WebSocketServer.contextOnLineMap.put(
- BizType.SCREEN_CHECK.getCode(), false);
- }
-
- if (WebSocketServer.contextOnLineMap.get(BizType.SCREEN.getCode())
- || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_INOUT
- .getCode())
- || WebSocketServer.contextOnLineMap.get(BizType.SCREEN_CHECK
- .getCode())) {
-
-
- // 鍒涘缓涓�涓瓙浠诲姟杩涜鎺ㄩ�佷俊鎭�
- FutureTask<String> futureTask = new FutureTask<>(new NotifyScreenTask(curList, completeList, deptId));
-
- ExecutorService executorService = Executors.newCachedThreadPool();
- executorService.submit(futureTask);
- executorService.shutdown();
- }
- }
-
- /**
* 鍒涘缓鍑哄叆搴搆ey
*
* @param deptId
@@ -712,7 +662,7 @@
data.setCompanyId(ContextUtil.subDeptId(null));
}
- int num = inoutCheckMapper.updateSampleData(data);
+ inoutCheckMapper.updateSampleData(data);
return null;
}
@@ -745,7 +695,8 @@
@Override
public String updateCheckData(InoutData data) {
data.setUpdateTime(new Date());
- int num = inoutCheckMapper.updateCheckData(data);
+
+ inoutCheckMapper.updateCheckData(data);
//鏇存柊缂撳瓨
updateInoutCache(data);
@@ -763,4 +714,16 @@
}
return inoutCheckMapper.getPrice(param);
}
+
+ @Override
+ public InoutCheckData inoutDataByCheckId(InoutCheckParam param) throws Exception {
+ List<InoutCheckData> list = inoutCheckMapper.inoutDataByCheckId(param);
+ if (null == list || list.size() == 0)
+ return null;
+ if (list.size() == 1) {
+ return list.get(0);
+ } else {
+ throw new Exception("褰撳墠鏉′欢涓嬪瓨鍦ㄥ涓弧瓒虫潯浠剁殑鏁版嵁锛岃鏍告煡锛侊紒");
+ }
+ }
}
--
Gitblit v1.9.3