From cf6b965a86065a537a40c74f67e88a04447d2582 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期一, 12 七月 2021 18:00:38 +0800
Subject: [PATCH] 修改导入申购

---
 src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java |  107 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 90 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
index 1e79b44..b773749 100644
--- a/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/InterfaceServiceImpl.java
@@ -22,6 +22,7 @@
 import org.apache.http.util.EntityUtils;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
@@ -33,15 +34,19 @@
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service("interfaceService")
 public class InterfaceServiceImpl implements InterfaceService {
 
     private static Logger logger = Logger.getLogger(ApiAction.class);
-
+    @Lazy
 	@Resource
 	private OpeUseFlowService opeUseFlowService;
-
+	@Resource
+    private SysWarningService sysWarningService;
+    @Resource(name = "sysWarningDao")
+    SysWarningDao sysWarningDao;
     @Resource(name = "sysWarehouseDao")
     SysWarehouseDao sysWarehouseDao;
 
@@ -1030,8 +1035,16 @@
         if (containerCode==null||containerCode.isEmpty()) {
             throw new ApiException(ApiStatus.PARAM_NO_EXIST, ApiStatus.PARAM_NO_EXIST.getRetMsg() + "[containerCode]");
         }
-
-        return sysUserDao.getUserListByContainerCodeNew(containerCode, startTime, endTime);
+        List<String> projects = sysLaboratoryContainer.selectProjectsByContainerCode(containerCode);
+        List<SysUser> userList = null;
+        if (projects != null && projects.size() > 0){
+            userList = new ArrayList<>();
+            for (String project : projects) {
+                List<SysUser> dataList = sysUserDao.getUserListByProject(project, startTime, endTime);
+                userList.addAll(dataList);
+            }
+        }
+        return userList;
     }
 
 
@@ -1241,7 +1254,8 @@
                     logger.error("The containerCode has not been exists!");
                     continue;
                 }
-			} else if (status.equals(2)){
+			}
+			else if (status.equals(2)){
 				/*SysWarehouseContainer container = sysWarehouseContainerDao
 						.getSysWarehouseContainerByContainerCode(containerCode);
 				if (Objects.isNull(container) == false) {
@@ -1261,8 +1275,14 @@
                     logger.error("The containerCode has not been exists!");
                 }
 			}
- 			opeReagentStatusDao.syncOpeReagentStatus(params);
-
+			//-1 状态
+			if (status.equals(-1)){
+                continue;
+            }
+ 			int i = opeReagentStatusDao.syncOpeReagentStatus(params);
+            if (i < 1){
+                opeReagentStatusDao.syncOpeReagentStatus(params);
+            }
     	 }
     }
 
@@ -1436,7 +1456,7 @@
                 }
                 //给daping系统发送信息
 
-                if(!"".equals(alarmUrl) && ("1".equals(warningId) || "2".equals(warningId)|| "6".equals(warningId)) ) {
+                if(!"".equals(alarmUrl) && ("1".equals(warningId) || "2".equals(warningId))){
                     JSONObject json = new JSONObject();
                     json.put("barCode", location.get("barCode"));
                     json.put("type", alarmType);
@@ -1517,15 +1537,16 @@
 
             }
                 sysAlarmPersonDao.insertSysAlarmPerson(sysAlarmPerson);
+                // 将人员扣分更新到人员表
+                if (warningPoint == null) {
+                    warningPoint = 0;
+                }
+                 //	SysUser user = sysUserDao.getSysUser(userId);
+                if (user != null) {
+                    sysUserDao.updateUserPointBySelective(user.getPoint() - warningPoint, user.getId());
+                }
 			}
-            // 将人员扣分更新到人员表
-			if (warningPoint == null) {
-				warningPoint = 0;
-			}
-//			SysUser user = sysUserDao.getSysUser(userId);
-			if (user != null) {
-				sysUserDao.updateUserPointBySelective(user.getPoint() - warningPoint, user.getId());
-			}
+
 
 		}
     }
@@ -1697,8 +1718,11 @@
 					continue;
 				}
 			}
+             int count = opeUseFlowService.getOpeUseFlow(opeUseFlow);
+             if (count < 1) {
 
-			this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+                 this.opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+             }
     	 }
     }
 
@@ -1716,4 +1740,53 @@
     public JSONObject getUserInfo(JSONObject jsonObject) {
         return null;
     }
+
+    // 人员违规预警接口
+    @Override
+    public void delalarmperson(JSONObject jsonObject) throws Exception {
+        JSONArray dataArr = jsonObject.getJSONArray("data");
+        Iterator<Object> dataIt = dataArr.iterator();
+        while (dataIt.hasNext()) {
+            JSONObject dataJson = JSONObject.parseObject(dataIt.next().toString());
+            // 货柜条码 containerCode String ○
+            // 报警类别 warningId Integer ○
+            if (!dataJson.containsKey("warningId") || !dataJson.containsKey("containerCode")) {
+                throw new ApiException(ApiStatus.PARAM_NO_EXIST);
+            }
+            String containerCode = dataJson.getString("containerCode");
+            String warningId = dataJson.getString("warningId");
+            List<String> warningList = Arrays.asList(warningId.split(","));
+            List<String> warningList1 = new ArrayList<>(Arrays.asList("1","2","3","4","5","6"));
+            List<String> delWarnings = warningList1.stream().filter(o->!warningList.contains(o)).collect(Collectors.toList());//新的不在原有里面的
+
+            for (String warning : delWarnings){
+                Map<String, String> metaMap = new HashMap<>();
+                metaMap.put("groupId", "user_violate_type");
+                metaMap.put("metaKey", warning);
+
+                List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap);
+                if (baseMetaList == null || baseMetaList.size() != 1) {
+                    throw new ApiException(ApiStatus.PARAM_ERR, ApiStatus.PARAM_ERR.getRetMsg() + "[warningId]");
+                }
+                SysAlarmPerson sysAlarmPerson = new SysAlarmPerson();
+                sysAlarmPerson.setContainerCode(containerCode);
+                sysAlarmPerson.setWarningId(baseMetaList.get(0).getId());
+                List<SysAlarmPerson> sysAlarmPersonList = sysAlarmPersonDao.selectByCode(containerCode, baseMetaList.get(0).getId());
+                for (SysAlarmPerson sysAlarm : sysAlarmPersonList) {
+                    if (!"".equals(alarmUrl) && StringUtils.isNotBlank(sysAlarm.getRefId()) && ("1".equals(warning) || "2".equals(warning))) {
+                        SysWarning sysWarning = new SysWarning();
+                        sysWarning.setId(String.valueOf(sysAlarm.getId()));
+                        sysWarning.setStatus(1);
+                        sysWarning.setAlarmId(sysAlarm.getRefId());
+                        sysWarningService.updateSysWarning(sysWarning);
+                    }else {
+                        Map<String,Object> params = new HashMap<>();
+                        params.put("status",1);
+                        params.put("id", String.valueOf(sysAlarm.getId()));
+                        sysWarningDao.updateSysWarning(params);
+                    }
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.9.2