Преглед на файлове

药品、诊断、手术增改添加操作人信息

rengb преди 3 години
родител
ревизия
ca0c32c46b

+ 18 - 38
common/src/main/java/com/lantone/common/util/HttpUtils.java

@@ -1,7 +1,6 @@
 package com.lantone.common.util;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -23,10 +22,9 @@ import java.util.Map;
  * @author: gaodm
  * @time: 2018/8/3 17:45
  */
+@Slf4j
 public class HttpUtils {
 
-    private static final Logger log = LoggerFactory.getLogger(HttpUtils.class);
-
     /**
      * 获取当前请求的HttpServletRequest实例
      *
@@ -120,25 +118,23 @@ public class HttpUtils {
                 }
             }
         }
-        return  "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
+        return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
     }
 
     /**
      * 向指定 URL 发送POST方法的请求
      *
-     * @param url 发送请求的 URL
+     * @param url   发送请求的 URL
      * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
      * @return 所代表远程资源的响应结果
      */
-    public static String sendPost(String url, String param)
-    {
+    public static String sendPost(String url, String param) {
         PrintWriter out = null;
         BufferedReader in = null;
         StringBuilder result = new StringBuilder();
-        try
-        {
+        try {
             String urlNameString = url;
-            log.info("sendPost - {}", urlNameString);
+            log.debug("sendPost - {}", urlNameString);
             URL realUrl = new URL(urlNameString);
             URLConnection conn = realUrl.openConnection();
             conn.setRequestProperty("accept", "*/*");
@@ -153,43 +149,27 @@ public class HttpUtils {
             out.flush();
             in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "utf-8"));
             String line;
-            while ((line = in.readLine()) != null)
-            {
+            while ((line = in.readLine()) != null) {
                 result.append(line);
             }
-            log.info("recv - {}", result);
-        }
-        catch (ConnectException e)
-        {
+            log.debug("recv - {}", result);
+        } catch (ConnectException e) {
             log.error("调用HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
-        }
-        catch (SocketTimeoutException e)
-        {
+        } catch (SocketTimeoutException e) {
             log.error("调用HttpUtils.sendPost SocketTimeoutException, url=" + url + ",param=" + param, e);
-        }
-        catch (IOException e)
-        {
+        } catch (IOException e) {
             log.error("调用HttpUtils.sendPost IOException, url=" + url + ",param=" + param, e);
-        }
-        catch (Exception e)
-        {
+        } catch (Exception e) {
             log.error("调用HttpsUtil.sendPost Exception, url=" + url + ",param=" + param, e);
-        }
-        finally
-        {
-            try
-            {
-                if (out != null)
-                {
+        } finally {
+            try {
+                if (out != null) {
                     out.close();
                 }
-                if (in != null)
-                {
+                if (in != null) {
                     in.close();
                 }
-            }
-            catch (IOException ex)
-            {
+            } catch (IOException ex) {
                 log.error("调用in.close Exception, url=" + url + ",param=" + param, ex);
             }
         }

+ 43 - 18
common/src/main/java/com/lantone/common/util/SysUserUtils.java

@@ -3,14 +3,15 @@ package com.lantone.common.util;
 import cn.hutool.json.JSONUtil;
 import com.lantone.common.constant.AuthConstant;
 import com.lantone.common.domain.UserDto;
-import com.lantone.common.exception.Asserts;
 import com.nimbusds.jose.JWSObject;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @Description: 用户工具类
  * @author: rengb
  * @time: 2021/1/5 18:27
  */
+@Slf4j
 public class SysUserUtils {
 
     /**
@@ -29,15 +30,17 @@ public class SysUserUtils {
      * @return
      */
     public static UserDto getUserByToken(String token) {
-        UserDto userDto = null;
+        if (StringUtil.isBlank(token)) {
+            return null;
+        }
         try {
             String realToken = token.replace(AuthConstant.JWT_TOKEN_PREFIX, "");
             JWSObject jwsObject = JWSObject.parse(realToken);
-            userDto = JSONUtil.toBean(jwsObject.getPayload().toString(), UserDto.class);
+            return JSONUtil.toBean(jwsObject.getPayload().toString(), UserDto.class);
         } catch (Exception e) {
-            e.printStackTrace();
+            log.error(e.getMessage(), e);
+            return null;
         }
-        return userDto;
     }
 
     /**
@@ -69,18 +72,34 @@ public class SysUserUtils {
         return userDto == null ? null : userDto.getId();
     }
 
+    /**
+     * 获取当前请求的用户的Id字符串
+     *
+     * @return
+     */
+    public static String getCurrentPrincipleIdStr() {
+        UserDto userDto = getCurrentUser();
+        return userDto == null ? null : userDto.getId().toString();
+    }
+
     /**
      * 获取当前请求的用户的当前医院id
      *
      * @return
      */
     public static Long getCurrentHospitalId() {
-        if(StringUtil.isNotEmpty(HttpUtils.getHeader(AuthConstant.HOSPITAL_ID_HEADER))){
-            return Long.parseLong(HttpUtils.getHeader(AuthConstant.HOSPITAL_ID_HEADER));
-        }else {
-            Asserts.fail("请求头中无医院id");
-        }
-        return null;
+        String currentHospitalIdStr = getCurrentHospitalIdStr();
+        return StringUtil.isBlank(currentHospitalIdStr) ? null : Long.parseLong(currentHospitalIdStr);
+    }
+
+    /**
+     * 获取当前请求的用户的当前医院id字符串
+     *
+     * @return
+     */
+    public static String getCurrentHospitalIdStr() {
+        String currentHospitalIdStr = HttpUtils.getHeader(AuthConstant.HOSPITAL_ID_HEADER);
+        return StringUtil.isNotBlank(currentHospitalIdStr) && currentHospitalIdStr.matches("[0-9]+") ? currentHospitalIdStr : null;
     }
 
     /**
@@ -88,13 +107,19 @@ public class SysUserUtils {
      *
      * @return
      */
-    public static String getCurrentSoftwareId() {
-        if(StringUtil.isNotEmpty(HttpUtils.getHeader(AuthConstant.SOFTWARE_ID_HEADER))){
-            return HttpUtils.getHeader(AuthConstant.SOFTWARE_ID_HEADER);
-        }else {
-            Asserts.fail("请求头中无医院id");
-        }
-        return null;
+    public static Long getCurrentSoftwareId() {
+        String currentSoftwareIdStr = getCurrentSoftwareIdStr();
+        return StringUtil.isBlank(currentSoftwareIdStr) ? null : Long.parseLong(currentSoftwareIdStr);
+    }
+
+    /**
+     * 获取当前请求的用户的当前系统id字符串
+     *
+     * @return
+     */
+    public static String getCurrentSoftwareIdStr() {
+        String currentSoftwareIdStr = HttpUtils.getHeader(AuthConstant.SOFTWARE_ID_HEADER);
+        return StringUtil.isNotBlank(currentSoftwareIdStr) && currentSoftwareIdStr.matches("[0-9]+") ? currentSoftwareIdStr : null;
     }
 
 }

+ 12 - 4
daqe-center/src/main/java/com/lantone/daqe/facade/DiseaseManagementFacade.java

@@ -36,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -95,9 +96,13 @@ public class DiseaseManagementFacade {
     public Boolean addDisease(AddDiseaseVO addDiseaseVO) {
         DiseaseInfo diseaseInfo = new DiseaseInfo();
         BeanUtil.copyProperties(addDiseaseVO, diseaseInfo);
-        if (diseaseInfoFacade.isExist(diseaseInfo)) {
-            Asserts.fail("该诊断已存在!");
-        }
+        diseaseInfoFacade.isExist(diseaseInfo);
+        String currentUserId = SysUserUtils.getCurrentPrincipleIdStr();
+        Date now = DateUtil.now();
+        diseaseInfo.setCreator(currentUserId);
+        diseaseInfo.setGmtCreate(now);
+        diseaseInfo.setModifier(currentUserId);
+        diseaseInfo.setGmtModified(now);
         return diseaseInfoFacade.save(diseaseInfo);
     }
 
@@ -109,10 +114,13 @@ public class DiseaseManagementFacade {
      */
     public Boolean upDiseaseById(UpDiseaseByIdVO upDiseaseByIdVO) {
         if (diseaseInfoFacade.getById(upDiseaseByIdVO.getId()) == null) {
-            Asserts.fail("该诊断不存在!");
+            Asserts.fail("该诊断已被删除!");
         }
         DiseaseInfo diseaseInfo = new DiseaseInfo();
         BeanUtil.copyProperties(upDiseaseByIdVO, diseaseInfo);
+        diseaseInfoFacade.isExist(diseaseInfo);
+        diseaseInfo.setModifier(SysUserUtils.getCurrentPrincipleIdStr());
+        diseaseInfo.setGmtModified(DateUtil.now());
         return diseaseInfoFacade.updateById(diseaseInfo);
     }
 

+ 17 - 9
daqe-center/src/main/java/com/lantone/daqe/facade/DrugManagementFacade.java

@@ -35,6 +35,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -96,9 +97,13 @@ public class DrugManagementFacade {
     public boolean addDrug(AddDrugVO addDrugVO) {
         DrugInfo drugInfo = new DrugInfo();
         BeanUtil.copyProperties(addDrugVO, drugInfo);
-        if (drugInfoFacade.isExist(drugInfo)) {
-            Asserts.fail("该诊断已存在!");
-        }
+        drugInfoFacade.isExist(drugInfo);
+        String currentUserId = SysUserUtils.getCurrentPrincipleIdStr();
+        Date now = DateUtil.now();
+        drugInfo.setCreator(currentUserId);
+        drugInfo.setGmtCreate(now);
+        drugInfo.setModifier(currentUserId);
+        drugInfo.setGmtModified(now);
         return drugInfoFacade.save(drugInfo);
     }
 
@@ -110,10 +115,13 @@ public class DrugManagementFacade {
      */
     public Boolean upDrugById(UpDrugByIdVO upDrugByIdVO) {
         if (drugInfoFacade.getById(upDrugByIdVO.getId()) == null) {
-            Asserts.fail("该药品不存在!");
+            Asserts.fail("该药品已被删除!");
         }
         DrugInfo drugInfo = new DrugInfo();
         BeanUtil.copyProperties(upDrugByIdVO, drugInfo);
+        drugInfoFacade.isExist(drugInfo);
+        drugInfo.setModifier(SysUserUtils.getCurrentPrincipleIdStr());
+        drugInfo.setGmtModified(DateUtil.now());
         return drugInfoFacade.updateById(drugInfo);
     }
 
@@ -204,11 +212,11 @@ public class DrugManagementFacade {
     private Boolean checkData(List<ImportDrugVO> importDrugVOS, List<ExportImportDrugErrDTO> errExports, Long hospitalId) {
         AtomicBoolean errorFlog = new AtomicBoolean(false);
         //获取数据库数据 判断医院药品名称和医院药品代码用于重复校验
-//        List<DrugInfo> drugInfos = drugInfoFacade.list(new QueryWrapper<DrugInfo>()
-//                .eq("hospital_id", hospitalId)
-//                .eq("is_deleted", IsDeleteEnum.N.getKey()));
-//        List<String> names = drugInfos.stream().map(DrugInfo::getName).collect(Collectors.toList());
-//        List<String> codes = drugInfos.stream().map(DrugInfo::getCode).collect(Collectors.toList());
+        //        List<DrugInfo> drugInfos = drugInfoFacade.list(new QueryWrapper<DrugInfo>()
+        //                .eq("hospital_id", hospitalId)
+        //                .eq("is_deleted", IsDeleteEnum.N.getKey()));
+        //        List<String> names = drugInfos.stream().map(DrugInfo::getName).collect(Collectors.toList());
+        //        List<String> codes = drugInfos.stream().map(DrugInfo::getCode).collect(Collectors.toList());
 
         importDrugVOS.stream().forEach(importDrugVO -> {
             ExportImportDrugErrDTO exportImportDrugErrDTO = new ExportImportDrugErrDTO();

+ 12 - 4
daqe-center/src/main/java/com/lantone/daqe/facade/OperationManagementFacade.java

@@ -36,6 +36,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -95,9 +96,13 @@ public class OperationManagementFacade {
     public boolean addOperation(AddOperationVO addOperationVO) {
         OperationInfo operationInfo = new OperationInfo();
         BeanUtil.copyProperties(addOperationVO, operationInfo);
-        if (operationInfoFacade.isExist(operationInfo)) {
-            Asserts.fail("该诊断已存在!");
-        }
+        operationInfoFacade.isExist(operationInfo);
+        String currentUserId = SysUserUtils.getCurrentPrincipleIdStr();
+        Date now = DateUtil.now();
+        operationInfo.setCreator(currentUserId);
+        operationInfo.setGmtCreate(now);
+        operationInfo.setModifier(currentUserId);
+        operationInfo.setGmtModified(now);
         return operationInfoFacade.save(operationInfo);
     }
 
@@ -109,10 +114,13 @@ public class OperationManagementFacade {
      */
     public Boolean upOperationById(UpOperationByIdVO upOperationByIdVO) {
         if (operationInfoFacade.getById(upOperationByIdVO.getId()) == null) {
-            Asserts.fail("该药品不存在!");
+            Asserts.fail("该手术已被删除!");
         }
         OperationInfo operationInfo = new OperationInfo();
         BeanUtil.copyProperties(upOperationByIdVO, operationInfo);
+        operationInfoFacade.isExist(operationInfo);
+        operationInfo.setModifier(SysUserUtils.getCurrentPrincipleIdStr());
+        operationInfo.setGmtModified(DateUtil.now());
         return operationInfoFacade.updateById(operationInfo);
     }