From 12862728f6123b2a9a927f6bad97317bc651d8c2 Mon Sep 17 00:00:00 2001
From: 李宇 <986321569@qq.com>
Date: 星期五, 23 四月 2021 15:43:39 +0800
Subject: [PATCH] 修改领用
---
src/main/java/com/nanometer/smartlab/api/ApiAction.java | 687 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 616 insertions(+), 71 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/api/ApiAction.java b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
index dbf3054..7789cf4 100644
--- a/src/main/java/com/nanometer/smartlab/api/ApiAction.java
+++ b/src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -7,23 +7,18 @@
import com.google.common.collect.Maps;
import com.nanometer.smartlab.controller.BaseController;
import com.nanometer.smartlab.controller.MenuController;
+import com.nanometer.smartlab.dao.OpeReagentStatusDao;
import com.nanometer.smartlab.dao.SysLaboratoryContainerDao;
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.entity.dto.*;
+import com.nanometer.smartlab.entity.enumtype.*;
import com.nanometer.smartlab.exception.ApiException;
import com.nanometer.smartlab.exception.BusinessException;
import com.nanometer.smartlab.exception.ExceptionEnumCode;
import com.nanometer.smartlab.model.ResponseModel;
import com.nanometer.smartlab.service.*;
-import com.nanometer.smartlab.util.Constants;
-import com.nanometer.smartlab.util.FacesUtils;
-import com.nanometer.smartlab.util.IDUtils;
-import com.nanometer.smartlab.util.MessageUtil;
+import com.nanometer.smartlab.util.*;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
@@ -31,7 +26,9 @@
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
+import org.primefaces.context.RequestContext;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -40,6 +37,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
+import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -52,40 +50,57 @@
public class ApiAction extends BaseAction {
private static Logger logger = Logger.getLogger(ApiAction.class);
-
+ @Lazy
@Resource
private SysUserService sysUserService;
+ @Lazy
@Resource
private OpeReagentStatusService opeReagentStatusService;
- @Resource
- private SysReagentService sysReagentService;
+ @Lazy
@Resource
private SysWarehouseContainerService sysWarehouseContainerService;
+ @Lazy
@Resource
private SysLaboratoryContainerService sysLaboratoryContainerService;
+ @Lazy
@Resource
private BaseMetaService baseMetaService;
+ @Lazy
@Resource
private InterfaceService interfaceService;
+ @Lazy
@Resource
private SysWarehouseService sysWarehouseService;
-
- @Resource
- private SysWarningService sysWarningService;
-
+ @Lazy
@Resource
private TempSensorsService tempSensorsService;
-
+ @Lazy
@Resource
private SysFileService sysFileService;
+ @Lazy
@Resource
private SysLaboratoryContainerDao sysLaboratoryContainerDao;
+ @Lazy
@Resource
private SysWarehouseContainerDao sysWarehouseContainerDao;
+ @Lazy
@Resource
private DangerousEncodeService dangerousEncodeService;
+ @Lazy
@Resource
private EncodeReplaceDictService encodeReplaceDictService;
+ @Lazy
+ @Resource
+ private SysLaboratoryService sysLaboratoryService;
+ @Lazy
+ @Resource
+ private HazardousWasteService hazardousWasteService;
+ @Lazy
+ @Resource
+ private OpeLaboratoryReserveService opeLaboratoryReserveService;
+ @Lazy
+ @Resource
+ private OpeUseFlowService opeUseFlowService;
@Value("${institute.url}")
String instituteUrl;
@@ -301,7 +316,7 @@
return retJSON.toJSONString();
}
- // 报送试剂最新信息接口
+ // 报送试剂最新信息接口 只更新试剂状态ope_regeant_status表 0, "领用" 1, "入库" 2, "存入" 3, "报废" -1, "领用待入库"
@ResponseBody
@RequestMapping(value = "/synchAllCabinet")
public String synchAllCabinet(HttpServletRequest request) throws IOException {
@@ -328,6 +343,67 @@
logger.info("dataJSONArray: " + dataJSONArray);
if( dataJSONArray.size() !=0 ){
interfaceService.synchAllCabinet(dataJSONArray);
+ }
+
+ retJSON.put("code", ApiStatus.OK.getRetCode());
+ retJSON.put("message", ApiStatus.OK.getRetMsg());
+ } catch (ApiException e) {
+ retJSON.put("code", e.getApiStatus().getRetCode());
+ retJSON.put("message", e.getErrorMessage());
+ } catch (Exception e) {
+ e.printStackTrace();
+ retJSON.put("code", ApiStatus.SYS_ERR.getRetCode());
+ StackTraceElement[] stackTraceElements = e.getStackTrace();
+
+ StringBuilder sb = new StringBuilder();
+ sb.append(e.toString());
+ for (StackTraceElement stackTraceElement : stackTraceElements) {
+ sb.append("\n");
+ sb.append(stackTraceElement.toString());
+ }
+ retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString());
+ }
+ return retJSON.toJSONString();
+ }
+
+ // 出入库记录信息接口 更新试剂流向ope_use_flow表
+// 操作状态 2 领用
+// 操作状态 4 错误存放
+// 操作状态 1 错误入库
+// 操作状态 6 转移 智能柜试剂转移到另一个柜子
+// 操作状态 5 报废
+// 操作状态 3 存放
+// 操作状态 0 入库
+// 操作状态 11 仓库领用
+// 操作状态 10 仓库入库
+ @ResponseBody
+ @RequestMapping(value = "/cabinetData")
+ public String cabinetData(HttpServletRequest request) throws IOException {
+ BufferedReader br = request.getReader();
+ String str, data = "";
+ while((str = br.readLine()) != null){
+ data += str;
+ }
+ JSONObject retJSON = new JSONObject();
+ logger.info("cabinetData" + data);
+ String userId = request.getHeader("userId");
+
+ // Body参数
+ JSONObject bodyJSONObject = new JSONObject();
+ bodyJSONObject = JSONObject.parseObject(data);
+
+ // 主控条码
+ String controllerCode = bodyJSONObject.getString("controllerCode");
+
+ try {
+ // 数据
+ String dataStr = bodyJSONObject.getString("data");
+ JSONArray dataJSONArray = JSONArray.parseArray(dataStr);
+ logger.info("dataJSONArray: " + dataJSONArray);
+
+
+ if( dataJSONArray.size() !=0 ){
+ interfaceService.cabinetData(dataJSONArray);
}
retJSON.put("code", ApiStatus.OK.getRetCode());
@@ -421,56 +497,6 @@
return retJSON.toJSONString();
}
- // 出入库记录信息接口
- @ResponseBody
- @RequestMapping(value = "/cabinetData")
- public String cabinetData(HttpServletRequest request) throws IOException {
- BufferedReader br = request.getReader();
- String str, data = "";
- while((str = br.readLine()) != null){
- data += str;
- }
- JSONObject retJSON = new JSONObject();
- logger.info("cabinetData" + data);
- String userId = request.getHeader("userId");
-
- // Body参数
- JSONObject bodyJSONObject = new JSONObject();
- bodyJSONObject = JSONObject.parseObject(data);
-
- // 主控条码
- String controllerCode = bodyJSONObject.getString("controllerCode");
-
- try {
- // 数据
- String dataStr = bodyJSONObject.getString("data");
- JSONArray dataJSONArray = JSONArray.parseArray(dataStr);
- logger.info("dataJSONArray: " + dataJSONArray);
-
-
- if( dataJSONArray.size() !=0 ){
- interfaceService.cabinetData(dataJSONArray);
- }
-
- retJSON.put("code", ApiStatus.OK.getRetCode());
- retJSON.put("message", ApiStatus.OK.getRetMsg());
- } catch (ApiException e) {
- retJSON.put("code", e.getApiStatus().getRetCode());
- retJSON.put("message", e.getErrorMessage());
- } catch (Exception e) {
- retJSON.put("code", ApiStatus.SYS_ERR.getRetCode());
- StackTraceElement[] stackTraceElements = e.getStackTrace();
-
- StringBuilder sb = new StringBuilder();
- sb.append(e.toString());
- for (StackTraceElement stackTraceElement : stackTraceElements) {
- sb.append("\n");
- sb.append(stackTraceElement.toString());
- }
- retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString());
- }
- return retJSON.toJSONString();
- }
//http://[URL]/smartlab/api/service/containerInfo
@ResponseBody
@@ -542,9 +568,14 @@
map.put("reagentType", opeReagentStatus.getReagent().getReagentType());
map.put("deadline", opeReagentStatus.getReagent().getDeadline());
map.put("specification", opeReagentStatus.getReagent().getReagentFormat());
- map.put("masterMetering", opeReagentStatus.getReagent().getMainMetering());
- map.put("itemNumber", opeReagentStatus.getReagent().getReagentType());
+ map.put("itemNumber", opeReagentStatus.getArticleNumber());
map.put("producer", opeReagentStatus.getReagent().getProductHome());
+ if (opeReagentStatus.getReagent().getMainMetering() == null){
+ map.put("masterMetering",opeReagentStatus.getReagent().getReagentUnit());
+ }else{
+ map.put("masterMetering", opeReagentStatus.getReagent().getMainMetering());
+ }
+
}
logger.info("getReagentInfo end...");
return ResponseModel.getOkInstence(datalist);
@@ -556,7 +587,7 @@
logger.info("getUserInfo start...");
List<SysUser> userList = sysUserService.getSysUserInfoList(startTime, endTime);
- List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null);
+ List<SysLaboratoryContainer> allLaboratoryContainerList = sysLaboratoryContainerService.getSysLaboratoryContainerList(null,null,null,null,null,null,null);
List<SysWarehouseContainer> allWarehouseContainerList = sysWarehouseContainerService.getSysWarehouseContainerList(null,null,null,null,null);
List<String> containerCodeList = new ArrayList<String>();
@@ -839,6 +870,11 @@
}
String updateTime = dataJson.getString("updateTime");
+ if (sdf.parse(updateTime).after(new Date())) {
+ retJSON.put("code", "400");
+ retJSON.put("message", "发送时间不准确");
+ return retJSON.toJSONString();
+ }
SysContainerSensors sysContainerSensors = new SysContainerSensors();
sysContainerSensors.setContainerId(containerCode);
@@ -1246,6 +1282,515 @@
}
+ /**
+ * @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("系统出错");
+ }
+
+ }
+ /**
+ * @Description: 入库
+ * @date 2020/12/24 14:19
+ */
+ @ResponseBody
+ @RequestMapping("putInStorage")
+ public Object putInWarehouse(@RequestBody InWarehouseInfoDto inWarehouseInfo) {
+ try {
+
+ if (inWarehouseInfo.getReagentCode() != null && inWarehouseInfo.getReagentCode().size() > 0) {
+ ReagentReceivingDto reagentReceivingDtos = new ReagentReceivingDto();
+
+ for (int i = 0; i < inWarehouseInfo.getReagentCode().size(); i++) {
+ String code = inWarehouseInfo.getReagentCode().get(i);
+ DangerousEncode dangerousEncode = new DangerousEncode();
+ //5-8位
+ String reagentCode = code.substring(4, 8);
+ //数据库存储的前缀00空着
+ dangerousEncode.setReagentCode("00"+reagentCode);
+ List<DangerousEncode> dangerousEncodes =
+ dangerousEncodeService.selectAll(dangerousEncode,null,null);
+ //1.编码存在校验
+ if (dangerousEncodes.size() <1){
+ return ResponseModel.getErrInstance("该试剂危化品编码不存在");
+ }
+
+ //2.重复入库校验 无论任何状态
+ OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(code);
+ if (ors != null) {
+ return ResponseModel.getErrInstance("该试剂危化品编码已存在");
+ }
+ }
+
+ //3.如果是入智能柜,则该智能柜下需要存在对应的实验室和实验室柜子
+ SysWarehouseContainer sysWarehouseContainer = sysWarehouseContainerService.getSysWarehouseContainer(inWarehouseInfo.getContainerId());
+ if(this.baseMetaService.getBaseMetaKey(sysWarehouseContainer.getType()).equals("200")) {
+ reagentReceivingDtos.setReagentCode(inWarehouseInfo.getReagentCode());
+ reagentReceivingDtos.setApplyUserId(inWarehouseInfo.getUser());
+ SysLaboratoryContainer sysLaboratoryContainer = sysLaboratoryContainerService.getSysLaboratoryContainerByContainerCode(sysWarehouseContainer.getContainerCode());
+ if (null != sysLaboratoryContainer){
+ reagentReceivingDtos.setLabId(sysLaboratoryContainer.getLaboratoryId());
+ reagentReceivingDtos.setLabContainerId(sysLaboratoryContainer.getId());
+ }else {
+ return ResponseModel.getErrInstance("该仓库货柜为智能柜,但是未创建相同货柜条码的实验室临时存储柜");
+ }
+ }
+
+ //4.入库
+ sysWarehouseService.putInWarehouse(inWarehouseInfo);
+
+ //5.如果是入智能柜,则需再领用到智能柜里
+ if (StringUtils.isNotBlank(reagentReceivingDtos.getLabContainerId())){
+ sysWarehouseService.reagentReceiving(reagentReceivingDtos);
+ }
+
+ return ResponseModel.getOkInstence("入库成功");
+ } else {
+ return ResponseModel.getErrInstance("无试剂条码");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+
+ }
+
+
+ /**
+ * @Description: 试剂领用到实验室
+ * @date 2020/12/24 14:19
+ */
+ @ResponseBody
+ @RequestMapping("reagentReceiving")
+ public Object reagentReceiving(@RequestBody ReagentReceivingDto reagentReceiving) {
+ try {
+ if (reagentReceiving.getReagentCode() != null && reagentReceiving.getReagentCode().size() > 0) {
+
+ //1.校验仓库是否有该试剂
+ for (int i = 0; i < reagentReceiving.getReagentCode().size(); i++) {
+ String reagentCode = reagentReceiving.getReagentCode().get(i);
+ //去试剂状态查找 是否有此试剂条码
+ OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(reagentCode);
+ if (ors == null || ors.getStatus() != ArrivalStatus.WAREHOUSE){
+ return ResponseModel.getErrInstance("仓库无此试剂");
+ }
+ }
+ //2.领用
+ sysWarehouseService.reagentReceiving(reagentReceiving);
+ return ResponseModel.getOkInstence("领用成功");
+ } else {
+ return ResponseModel.getErrInstance("无效试剂条码");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+
+ }
+
+ /**
+ * @Description: 试剂转移到另一个柜子
+ * ope_reagent_status 根据reagent_code修改houseid containerid userid updatetime
+ * OpeLaboratoryReserve 根据ope_reagent_status信息查出旧数据删除 再插入新数据
+ * OpeUseFlow 插入试剂流向追踪表
+ */
+ @ResponseBody
+ @RequestMapping("reagentTransfer")
+ public Object reagentTransfer(@RequestBody ReagentReceivingDto reagentReceiving) {
+ try {
+ if (reagentReceiving.getReagentCode() == null || reagentReceiving.getReagentCode().size() == 0) {
+ return ResponseModel.getErrInstance("请选择申领试剂");
+ }
+ if (StringUtils.isBlank(reagentReceiving.getApplyUserId())|| StringUtils.isBlank(reagentReceiving.getLabContainerId())
+ || StringUtils.isBlank(reagentReceiving.getLabId())){
+ FacesUtils.warn("请选择申领人、实验室、货柜");
+ }
+ for (String reagentCode : reagentReceiving.getReagentCode()) {
+ OpeReagentStatus opeReagentStatus = opeReagentStatusService
+ .getOpeReagentStatusByReagentCode(reagentCode);
+ if (opeReagentStatus == null){
+ return ResponseModel.getErrInstance(reagentCode+",该试剂在库存中不存在");
+ }
+ }
+ for (String reagentCode : reagentReceiving.getReagentCode()) {
+ OpeReagentStatus opeReagentStatus = opeReagentStatusService
+ .getOpeReagentStatusByReagentCode(reagentCode);
+ opeLaboratoryReserveService.updateByReagent(opeReagentStatus.getReagentId(), opeReagentStatus.getHouseId(),
+ opeReagentStatus.getContainerId(), opeReagentStatus.getUserId());
+ OpeLaboratoryReserve lr = new OpeLaboratoryReserve();
+ lr.setReagentId(opeReagentStatus.getReagentId());
+ lr.setHouseId(reagentReceiving.getLabId());
+ lr.setContainerId(reagentReceiving.getLabContainerId());
+ lr.setReserve(1);
+ lr.setUserId(reagentReceiving.getApplyUserId());
+ lr.setValidFlag(ValidFlag.VALID);
+ opeLaboratoryReserveService.insert(lr);
+
+ opeReagentStatus.setStatus(ArrivalStatus.NOREGISTER);
+ opeReagentStatus.setUserId(reagentReceiving.getApplyUserId());
+ opeReagentStatus.setHouseId(reagentReceiving.getLabId());
+ opeReagentStatus.setContainerId(reagentReceiving.getLabContainerId());
+ opeReagentStatusService.updateOpeReagentStatus(opeReagentStatus);//更新试剂状态表
+
+ OpeUseFlow opeUseFlowExist = opeUseFlowService.getOpeUseFlowByCode(opeReagentStatus.getReagentCode());
+ OpeUseFlow opeUseFlow = new OpeUseFlow();
+ opeUseFlow.setReagentCode(opeReagentStatus.getReagentCode());
+ opeUseFlow.setStatus(opeReagentStatus.getStatus());
+ opeUseFlow.setHouseId(opeReagentStatus.getHouseId());
+ opeUseFlow.setContainerId(opeReagentStatus.getContainerId());
+ opeUseFlow.setUserId(opeReagentStatus.getUserId());
+ opeUseFlow.setPlace(opeReagentStatus.getPlace());
+ opeUseFlow.setStoreType(StoreType.DIRECTSTORE);
+ opeUseFlow.setRemainder(opeUseFlowExist.getRemainder());
+ BaseMeta baseMeta = baseMetaService.getBaseMeta("operate_status",String.valueOf(OperateStatus.TRANSFER.getKey()),"转移");
+ opeUseFlow.setOperateState(baseMeta.getId());
+ opeUseFlowService.insertOpeUseFlow(opeUseFlow);
+ }
+ return ResponseModel.getOkInstence("转移成功");
+ } catch (Exception e) {
+ logger.error(e.getMessage(), e);
+ return ResponseModel.getErrInstance("操作失败");
+ }
+ }
+
+ /**
+ * @Description: 危废登录
+ * @date 2020/12/29 14:13
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/login")
+ public Object hazardousWaste(@RequestBody HazardousWasteUser user) {
+ try {
+ String account = user.getAccount();
+ if (StringUtils.isBlank(account)){
+ return ResponseModel.getErrInstance("账户名为空");
+ }
+
+ HazardousWasteUser sysUser = sysUserService.getUserByAccount(account,null);
+ if (sysUser == null){
+ return ResponseModel.getErrInstance("账户名不存在");
+ }else{
+ if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){
+ if (sysUser.getAdminFlag() != 0){
+ user = sysUser;
+ }else{
+ return ResponseModel.getErrInstance("用户不属于危废处理人员");
+ }
+ return ResponseModel.getOkInstence(user);
+ }else{
+ return ResponseModel.getErrInstance("密码错误");
+ }
+ }
+
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+ /**
+ * 修改密码
+ *
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/changePwd")
+ public Object changePwd(@RequestBody HazardousWasteUser user){
+ try {
+ if (StringUtils.isBlank(user.getAccount())){
+ return ResponseModel.getErrInstance("账户名为空");
+ }
+ SysUser sysUser = sysUserService.getSysUserByAccount(user.getAccount());
+ if (sysUser == null){
+ return ResponseModel.getErrInstance("账户名不存在");
+ }else{
+ if (sysUser.getPassword().equals(MD5Utils.encode(user.getPassword()))){
+
+ SysUser newUser = new SysUser();
+ newUser = sysUser;
+ String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}";
+ if (!user.getNewpassword().matches(PW_PATTERN)){
+ return ResponseModel.getErrInstance("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上");
+ }else {
+ newUser.setPassword(MD5Utils.encode(user.getNewpassword()));
+ sysUserService.updateSysUser(newUser);
+ return ResponseModel.getOkInstence("修改成功");
+ }
+ }else{
+ return ResponseModel.getErrInstance("原密码错误");
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+ /**
+ * 根据课题组名称获取部门、地址、所属人员
+ *
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/getLabAndUser")
+ public Object getLabAndUser(@RequestParam(required=true) String project){
+ try {
+ if (StringUtils.isBlank(project)){
+ return ResponseModel.getErrInstance("课题组不能为空");
+ }
+ LaboratoryVo laboratoryVo = new LaboratoryVo();
+ List<LaboratoryVo.Laboratory> laboratoryList = sysLaboratoryService.getLaboratoryByProject(project);
+ List<LaboratoryVo.LaboratoryUser> laboratoryUserList = sysUserService.getUserByProject(project);
+ laboratoryVo.setLaboratoryList(laboratoryList);
+ laboratoryVo.setLaboratoryUsers(laboratoryUserList);
+ return ResponseModel.getOkInstence(laboratoryVo);
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+ /**
+ * 录入危废信息
+ *
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/putWasteInfo")
+ public Object putWasteInfo(@RequestBody HazardousWaste hazardousWaste){
+ try {
+ if (StringUtils.isBlank(hazardousWaste.getDepartment()) || StringUtils.isBlank(hazardousWaste.getApplyPerson())
+ || StringUtils.isBlank(hazardousWaste.getProject()) || StringUtils.isBlank(hazardousWaste.getCreator())){
+ return ResponseModel.getErrInstance("部门、课题组、确认者、创建者、不能为空");
+ }
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
+ hazardousWaste.setTid(sdf.format(new Date()));
+ hazardousWaste.setCreateTime(new Date());
+ hazardousWaste.setStatus("待确认");
+ HazardousWasteUser sysUser = sysUserService.getUserByAccount(null,hazardousWaste.getApplyPerson());
+ hazardousWaste.setUnit(sysUser.getCompany());
+ if (hazardousWaste.getAcid()== null){
+ hazardousWaste.setAcid(new BigDecimal(0));
+ }
+ if (hazardousWaste.getAlkali()== null){
+ hazardousWaste.setAlkali(new BigDecimal(0));
+ }
+ if (hazardousWaste.getOrganic()== null){
+ hazardousWaste.setOrganic(new BigDecimal(0));
+ }
+ if (hazardousWaste.getSolid()== null){
+ hazardousWaste.setSolid(new BigDecimal(0));
+ }
+ if (hazardousWaste.getMedical()== null){
+ hazardousWaste.setMedical(new BigDecimal(0));
+ }
+ hazardousWaste.setUpdator(hazardousWaste.getCreator());
+// hazardousWaste.setUpdatetime(new Date());
+ hazardousWasteService.insertInfo(hazardousWaste);
+ return ResponseModel.getOkInstence("添加成功");
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+
+ /**
+ * 根据用户名和危废角色获取危废列表
+ *
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/getWasteInfo")
+ public Object getWasteInfo(@RequestParam(required=true) int adminFlag,@RequestParam(required=true) String name,@RequestParam(required=false) String status
+ ,@RequestParam(required=false) String starttime,@RequestParam(required=false) String endtime){
+ try {
+ if (StringUtils.isBlank(name)){
+ return ResponseModel.getErrInstance("姓名不能为空");
+ }
+ List<HazardousWaste> hazardousWasters = new ArrayList<>();
+ if (adminFlag == 2){
+ hazardousWasters = hazardousWasteService.setAllWasters(starttime,endtime,status,null);
+ }else if (adminFlag == 1) {
+ hazardousWasters = hazardousWasteService.setAllWasters(starttime,endtime,status,name);
+ }
+ return ResponseModel.getOkInstence(hazardousWasters);
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+ /**
+ * 更新订单状态(确认订单、拒绝订单)
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/changeStatus")
+ public Object changeStatus(@RequestParam(required=true) String tid,@RequestParam(required=true) String status,
+ @RequestParam(required=true) String updator){
+ try {
+ if (StringUtils.isBlank(tid) || StringUtils.isBlank(status)){
+ return ResponseModel.getErrInstance("单号、状态不能为空");
+ }
+ HazardousWaste hazardousWaste = hazardousWasteService.selectByTid(tid);
+ if (hazardousWaste != null){
+ if (!hazardousWaste.getStatus().equals("待确认")){
+ return ResponseModel.getErrInstance("单据不为待确认无法修改");
+ }else if (status.equals("已确认") || status.equals("已拒绝")){
+ hazardousWaste.setStatus(status);
+ hazardousWaste.setUpdator(updator);
+ hazardousWaste.setUpdatetime(new Date());
+ hazardousWasteService.updateWaste(hazardousWaste);
+ return ResponseModel.getOkInstence("修改成功");
+ }else {
+ return ResponseModel.getErrInstance("单号状态不正确");
+ }
+ }else {
+ return ResponseModel.getErrInstance("单号不存在");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+ /**
+ * 修改危废信息
+ *
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/editWasteInfo")
+ public Object editWasteInfo(@RequestBody HazardousWaste hazardousWaste){
+ try {
+ if (StringUtils.isBlank(hazardousWaste.getTid()) ||StringUtils.isBlank(hazardousWaste.getUpdator())){
+ return ResponseModel.getErrInstance("单号、更新人不能为空");
+ }
+ HazardousWaste waste = hazardousWasteService.selectByTid(hazardousWaste.getTid());
+ if (waste != null){
+ if (!waste.getStatus().equals("已拒绝")){
+ return ResponseModel.getErrInstance("单据不为已拒绝无法修改");
+ }else {
+ waste.setStatus("待确认");
+ if (hazardousWaste.getAcid()== null){
+ waste.setAcid(new BigDecimal(0));
+ }else {
+ waste.setAcid(hazardousWaste.getAcid());
+ }
+ if (hazardousWaste.getAlkali()== null){
+ waste.setAlkali(new BigDecimal(0));
+ }else {
+ waste.setAlkali(hazardousWaste.getAlkali());
+ }
+ if (hazardousWaste.getOrganic()== null){
+ waste.setOrganic(new BigDecimal(0));
+ }else {
+ waste.setOrganic(hazardousWaste.getOrganic());
+ }
+ if (hazardousWaste.getSolid()== null){
+ waste.setSolid(new BigDecimal(0));
+ }else {
+ waste.setSolid(hazardousWaste.getSolid());
+ }
+ if (hazardousWaste.getMedical()== null){
+ waste.setMedical(new BigDecimal(0));
+ }else {
+ waste.setMedical(hazardousWaste.getMedical());
+ }
+ waste.setUpdator(hazardousWaste.getUpdator());
+ waste.setUpdatetime(new Date());
+ hazardousWasteService.updateWaste(waste);
+ return ResponseModel.getOkInstence("修改成功");
+ }
+ }else {
+ return ResponseModel.getErrInstance("单号不存在");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+
+ /**
+ * 根据用户名获取危废全年统计列表
+ *
+ */
+ @ResponseBody
+ @RequestMapping("hazardousWaste/getWasteStatistics")
+ public Object getWasteStatistics(@RequestParam(required=true) int adminFlag,@RequestParam(required=true) String name){
+ try {
+ if (StringUtils.isBlank(name)){
+ return ResponseModel.getErrInstance("姓名不能为空");
+ }
+ Calendar calendar = Calendar.getInstance();
+ int year = calendar.get(Calendar.YEAR);
+ String status = "已确认";
+ String starttime = year+"-01-01 00:00:00";
+ String endtime = year+"-12-31 23:59:59";
+ List<HazardousWaste> hazardousWasters = new ArrayList<>();
+ if (adminFlag == 2){
+ hazardousWasters = hazardousWasteService.setAllWasterCount(starttime,endtime,status,null);
+ }else if (adminFlag == 1) {
+ hazardousWasters = hazardousWasteService.setAllWasterCount(starttime,endtime,status,name);
+ }
+ return ResponseModel.getOkInstence(hazardousWasters);
+ }catch (Exception e){
+ e.printStackTrace();
+ logger.info(e);
+ return ResponseModel.getErrInstance("系统出错");
+ }
+ }
+
+ // 处理人员违规预警接口
+ @ResponseBody
+ @RequestMapping(value = "/delalarmperson")
+ public String delalarmperson(HttpServletRequest request) throws IOException {
+ logger.info("/api/service/delalarmperson");
+ BufferedReader br = request.getReader();
+ String str, data = "";
+ while((str = br.readLine()) != null){
+ data += str;
+ }
+ logger.info("delalarmperson" + data);
+// String userId = request.getHeader("userId");
+ JSONObject retJSON = new JSONObject();
+ try {
+ interfaceService.delalarmperson(JSONObject.parseObject(data));
+
+ retJSON.put("code", ApiStatus.OK.getRetCode());
+ retJSON.put("message", ApiStatus.OK.getRetMsg());
+ } catch (ApiException e) {
+ retJSON.put("code", e.getApiStatus().getRetCode());
+ retJSON.put("message", e.getErrorMessage());
+ } catch (Exception e) {
+ retJSON.put("code", ApiStatus.SYS_ERR.getRetCode());
+ StackTraceElement[] stackTraceElements = e.getStackTrace();
+
+ StringBuilder sb = new StringBuilder();
+ sb.append(e.toString());
+ for (StackTraceElement stackTraceElement : stackTraceElements) {
+ sb.append("\n");
+ sb.append(stackTraceElement.toString());
+ }
+ retJSON.put("message", ApiStatus.SYS_ERR.getRetMsg() + "--" + sb.toString());
+ }
+ return retJSON.toJSONString();
+ }
}
--
Gitblit v1.9.2