From 7877a44fb33528ecd49984f08f6ab3ab89d23a93 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期四, 24 十二月 2020 12:24:16 +0800
Subject: [PATCH] 发送接口成功后保存Memo

---
 src/main/java/com/nanometer/smartlab/api/ApiAction.java |  257 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 228 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index dc10aca..eba9df5 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -11,7 +11,9 @@
 import com.nanometer.smartlab.dao.SysWarehouseContainerDao;
 import com.nanometer.smartlab.entity.*;
 import com.nanometer.smartlab.entity.SysWarning;
+import com.nanometer.smartlab.entity.dto.SysWarehouseDto;
 import com.nanometer.smartlab.entity.enumtype.ApiStatus;
+import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
 import com.nanometer.smartlab.entity.enumtype.SeeFlag;
 import com.nanometer.smartlab.exception.ApiException;
 import com.nanometer.smartlab.exception.BusinessException;
@@ -65,6 +67,8 @@
     private BaseMetaService baseMetaService;
     @Resource
     private InterfaceService interfaceService;
+    @Resource
+    private SysWarehouseService sysWarehouseService;
 
     @Resource
     private SysWarningService sysWarningService;
@@ -78,6 +82,10 @@
     private SysLaboratoryContainerDao sysLaboratoryContainerDao;
     @Resource
     private SysWarehouseContainerDao sysWarehouseContainerDao;
+    @Resource
+    private DangerousEncodeService dangerousEncodeService;
+    @Resource
+    private EncodeReplaceDictService encodeReplaceDictService;
     @Value("${institute.url}")
     String instituteUrl;
 
@@ -221,35 +229,6 @@
         }
         return retJSON.toJSONString();
     }
-
-    @ResponseBody
-    @RequestMapping(value = "/userListByContainerCode")
-    public Object userListByContainerCode(@RequestParam String containerCode,@RequestParam String startTime, @RequestParam String endTime) throws ApiException {
-		logger.info("userListByContainerCode start...containerCode= " + containerCode
-				+ ",startTime=" + startTime
-				+ ",endTime=" + endTime);
-
-		List<SysUser> userList = interfaceService.getUserListByContainerCode(containerCode, startTime, endTime);
-
-        List<Map> datalist = Lists.newArrayListWithCapacity(userList.size());
-        for (SysUser user : userList) {
-            Map<String, Object> map = Maps.newHashMapWithExpectedSize(5);
-            datalist.add(map);
-            map.put("name", user.getName());
-            map.put("role", user.getSeeFlag().getKey());
-            map.put("validFlag", user.getValidFlag().getKey());
-            map.put("idcard", user.getIdCard());
-            map.put("point", user.getPoint());
-            map.put("unit", user.getCompany());
-            map.put("Arp", user.getArp());
-            map.put("departmentName", user.getDepartment());
-
-        }
-        logger.info("getUserInfo end...");
-        return ResponseModel.getOkInstence(datalist);
-    }
-
-
 
 
     @ResponseBody
@@ -1067,4 +1046,224 @@
         System.out.println(5);
         return retJSON;*/
     }
+
+    //从柜子的设备码根据设备的所在实验室的课题组的课题组下的所有用户,没有课题组则返回用部门搜索
+    @ResponseBody
+    @RequestMapping(value = "/userListByContainerCode")
+    public Object userListByContainerCodeNew(@RequestParam String containerCode,@RequestParam String startTime, @RequestParam String endTime) throws ApiException {
+        logger.info("userListByContainerCodeNew start...containerCode= " + containerCode
+                + ",startTime=" + startTime
+                + ",endTime=" + endTime);
+
+
+        //1.课题组下的用户
+        List<SysUser>  userList= interfaceService.getUserListByContainerCodeNew(containerCode, startTime, endTime);
+        if (userList == null) {
+            //2.否则部门下用户
+            userList = interfaceService.getUserListByContainerCode(containerCode, startTime, endTime);
+        }
+
+        List<Map> datalist = Lists.newArrayListWithCapacity(userList.size());
+        for (SysUser user : userList) {
+            Map<String, Object> map = Maps.newHashMapWithExpectedSize(5);
+            datalist.add(map);
+            map.put("name", user.getName());
+            map.put("role", user.getSeeFlag().getKey());
+            map.put("validFlag", user.getValidFlag().getKey());
+            map.put("idcard", user.getIdCard());
+            map.put("point", user.getPoint());
+            map.put("unit", user.getCompany());
+            map.put("Arp", user.getArp());
+            map.put("departmentName", user.getDepartment());
+            map.put("project", user.getProject());
+
+        }
+        logger.info("getUserInfo end...");
+        return ResponseModel.getOkInstence(datalist);
+    }
+
+
+    //危化品编码接口
+    @ResponseBody
+    @RequestMapping(value = "/dangerousEncodeInfo")
+    public Object getDangerousEncodeInfo(@RequestParam String reagentName, @RequestParam String cas) {
+        List<DangerousEncodeVo> datalist = new ArrayList<>();
+        if (StringUtils.isNotBlank(reagentName) || StringUtils.isNotBlank(cas)){
+            datalist = dangerousEncodeService.selectByReagentName(reagentName,cas);
+            for (DangerousEncodeVo dangerousEncodeVo : datalist){
+                if (StringUtils.isNotBlank(dangerousEncodeVo.getContainerNumber())){
+                    if (dangerousEncodeVo.getContainerNumber().startsWith("0")){
+                        dangerousEncodeVo.setContainerName("普通型");
+                    }else if (dangerousEncodeVo.getContainerNumber().startsWith("1")){
+                        dangerousEncodeVo.setContainerName("阻燃型");
+                    }else if (dangerousEncodeVo.getContainerNumber().startsWith("2")){
+                        dangerousEncodeVo.setContainerName("抗腐蚀型");
+                    }else if (dangerousEncodeVo.getContainerNumber().startsWith("3")){
+                        dangerousEncodeVo.setContainerName("防爆型");
+                    }else if (dangerousEncodeVo.getContainerNumber().startsWith("4")){
+                        dangerousEncodeVo.setContainerName("有毒称重型");
+                    }
+                }
+            }
+        }else {
+            return ResponseModel.getParamInstence("reagentName,cas");
+        }
+
+        return ResponseModel.getOkInstence(datalist);
+    }
+
+    //生成24位危化品编码
+    @ResponseBody
+    @RequestMapping(value = "/generatorCode")
+    public Object generatorCode(@RequestParam String reagentName,@RequestParam String containerName,
+                                @RequestParam String factory, @RequestParam String specs,@RequestParam String pack) {
+        String code = "";
+        int count = 0;
+        DangerousEncode dangerousEncode = new DangerousEncode();
+        if (StringUtils.isNotBlank(reagentName)){
+            dangerousEncode = dangerousEncodeService.selectByName(reagentName);
+            if (null != dangerousEncode){
+                code = dangerousEncode.getCode();
+                count = dangerousEncode.getCount();
+            }else {
+                return ResponseModel.getErrInstance("无法找到该试剂");
+            }
+        }else {
+            return ResponseModel.getParamInstence("reagentName");
+        }
+
+        StringBuffer buffer = new StringBuffer(code);
+
+        if (StringUtils.isNotBlank(containerName)){
+            if (containerName.equals("普通型")){
+                buffer.replace(0, 1, "0");
+            }else if (containerName.equals("阻燃型")){
+                buffer.replace(0, 1, "1");
+            }else if (containerName.equals("抗腐蚀型")){
+                buffer.replace(0, 1, "2");
+            }else if (containerName.equals("防爆型")){
+                buffer.replace(0, 1, "3");
+            }else if (containerName.equals("有毒称重型")){
+                buffer.replace(0, 1, "4");
+            }
+        }else {
+            return ResponseModel.getParamInstence("containerName");
+        }
+
+        String regex="^[A-F0-9]+$";
+
+        if (StringUtils.isNotBlank(factory) && factory.matches(regex)){
+            buffer.replace(2, 3, factory);
+        }else {
+            return ResponseModel.getParamInstence("factory");
+        }
+
+        if (StringUtils.isNotBlank(specs) && specs.matches(regex)){
+            buffer.replace(3, 4, specs);
+        }else {
+            return ResponseModel.getParamInstence("specs");
+        }
+
+        if (StringUtils.isNotBlank(pack) && pack.matches(regex)){
+            buffer.replace(18, 19, pack);
+        }else {
+            return ResponseModel.getParamInstence("pack");
+        }
+
+        String countHex = Integer.toHexString(count).toUpperCase();
+        if (countHex.length() == 1){
+            buffer.replace(23, 24, countHex);
+        }else if (countHex.length() == 2){
+            buffer.replace(22, 24, countHex);
+        }else if (countHex.length() == 3){
+            buffer.replace(21, 24, countHex);
+        }else if (countHex.length() == 4){
+            buffer.replace(20, 24, countHex);
+        }else if (countHex.length() == 5){
+            buffer.replace(19, 24, countHex);
+        }
+        code = buffer.toString();
+
+        dangerousEncode.setCount(dangerousEncode.getCount()+1);
+        dangerousEncodeService.updateOne(dangerousEncode);
+
+        return ResponseModel.getOkInstence(code);
+    }
+
+    /**
+     * 获取替换字典
+     *
+     */
+    @ResponseBody
+    @RequestMapping("getEncodeReplaceDict")
+    public Object getEncodeReplaceDict(@RequestParam String type) {
+        try {
+            ReplaceDictType rdType = ReplaceDictType.parse(Integer.parseInt(type));
+            EncodeReplaceDict encodeReplaceDict = new EncodeReplaceDict();
+            encodeReplaceDict.setType(rdType);
+            List<EncodeReplaceDict> data = encodeReplaceDictService.selectAll(encodeReplaceDict, null, null);
+            return ResponseModel.getOkInstence(data);
+        }catch (Exception e){
+            e.printStackTrace();
+            logger.info(e);
+            return ResponseModel.getErrInstance("系统出错");
+        }
+
+    }
+
+    /**
+     * 获取编码
+     *
+     */
+    @ResponseBody
+    @RequestMapping("getDangerousEncode")
+    public Object getDangerousEncode(@RequestParam(required = false) String reagentName, @RequestParam(required = false) String cas) {
+        try {
+            List<DangerousEncode> data = dangerousEncodeService.selectByCodeAndName(null, reagentName, cas, null);
+            return ResponseModel.getOkInstence(data);
+        } catch (Exception e){
+            e.printStackTrace();
+            logger.info(e);
+            return ResponseModel.getErrInstance("系统出错");
+    }
+
+    }
+    /**
+     * 获取仓库信息
+     */
+    @ResponseBody
+    @RequestMapping("getWarehouseInfo")
+    public Object getWarehouseInfo() {
+        try {
+            List<SysWarehouseDto> data = sysWarehouseService.getWarehouseList();
+            return ResponseModel.getOkInstence(data);
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.info(e);
+            return ResponseModel.getErrInstance("系统出错");
+        }
+
+    }
+
+
+    /**
+    * @Description: 获取所有人员,人员相关实验室,实验室相关试剂柜
+    * @date 2020/12/23 16:47
+    */
+    @ResponseBody
+    @RequestMapping("getApplyPersonDetailInfo")
+    public Object getApplyPersonDetailInfo() {
+        try {
+            List data = sysUserService.getUserInfo();
+            return ResponseModel.getOkInstence(data);
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.info(e);
+            return ResponseModel.getErrInstance("系统出错");
+        }
+
+    }
+
+
+
 }

--
Gitblit v1.9.2