From 04bede5143bebe71270ef602c42c7fa9d063abbe Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: Wed, 23 Dec 2020 16:46:48 +0800
Subject: [PATCH] 获取仓库信息
---
src/main/java/com/nanometer/smartlab/api/ApiAction.java | 207 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 177 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index 10aa27a..dbf3054 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
@@ -1070,7 +1049,7 @@
//从柜子的设备码根据设备的所在实验室的课题组的课题组下的所有用户,没有课题组则返回用部门搜索
@ResponseBody
- @RequestMapping(value = "/userListByContainerCodeNew")
+ @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
@@ -1096,9 +1075,177 @@
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("系统出错");
+ }
+
+ }
+
+
+
+
}
--
Gitblit v1.9.2