浏览代码

日志管理相关代码提交

songxinlu 3 年之前
父节点
当前提交
99aeb3a60a

+ 78 - 24
src/main/java/com/diagbot/aop/LogAspect.java

@@ -6,10 +6,10 @@ import com.auth0.jwt.exceptions.JWTDecodeException;
 import com.auth0.jwt.interfaces.Claim;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.diagbot.dto.QcCasesDTO;
+import com.diagbot.dto.QcCasesEntryHospitalDTO;
 import com.diagbot.dto.SysLoginLogDTO;
 import com.diagbot.dto.SysOperationLogDTO;
-import com.diagbot.dto.SysRoleMenuDTO;
-import com.diagbot.dto.SysUserQueryDTO;
+import com.diagbot.entity.QcType;
 import com.diagbot.dto.SysUserRoleDTO;
 import com.diagbot.entity.SysHospitalSet;
 import com.diagbot.entity.SysRole;
@@ -25,6 +25,8 @@ import com.diagbot.util.IpUtils;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.SysUserUtils;
+import com.diagbot.vo.DeleteQcTypeVO;
+import com.diagbot.vo.QcCasesEntryUpdataVO;
 import com.diagbot.vo.QcCasesSaveListVO;
 import com.diagbot.vo.SysRoleMenuSaveVO;
 import com.diagbot.vo.SysUserBaseVO;
@@ -45,13 +47,10 @@ import org.springframework.stereotype.Component;
 import javax.servlet.http.HttpServletRequest;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
 
 /**
  * @Description:日志记录处理
@@ -196,7 +195,7 @@ public class LogAspect {
 
     private String makeOperationRecord(String value, Map<String, Object> outMap) {
         if (StringUtil.isBlank(value) || outMap.keySet().size() == 0) {
-            return null;
+            return value;
         }
         for (String key : outMap.keySet()) {
             if (value.contains(key)) {
@@ -262,6 +261,27 @@ public class LogAspect {
                 }
             }
         }
+
+    }
+
+    private static void transformValue(Map<String, Object> outMap) {
+        if (outMap.keySet().contains("#isReject_new")) {
+            if ("0".equals(outMap.get("#isReject_new").toString())) {
+                outMap.put("#isReject_new", "非单否");
+            }
+            if ("1".equals(outMap.get("#isReject_new").toString())) {
+                outMap.put("#isReject_new", "单否");
+            }
+        }
+        if (outMap.keySet().contains("#isUsed_new")) {
+            if ("0".equals(outMap.get("#isUsed_new").toString())) {
+                outMap.put("#isUsed_new", "未启用");
+            }
+            if ("1".equals(outMap.get("#isUsed_new").toString())) {
+                outMap.put("#isUsed_new", "启用");
+            }
+        }
+
     }
 
     //对比两个数据是否内容相同
@@ -296,9 +316,9 @@ public class LogAspect {
 
     private void operationUrlHandler(Map<String, Object> outMap, String requestURI, JoinPoint joinPoint) {
         try {
+            Object[] args = joinPoint.getArgs();
             switch (requestURI) {
                 case "/qc/cases/saveQcCases"://修改模块分值
-                    Object[] args = joinPoint.getArgs();
                     if (null != args && args.length >= 0) {
                         //通过id获取模块名称以及目前分值
                         if (args[0] instanceof QcCasesSaveListVO) {
@@ -308,40 +328,37 @@ public class LogAspect {
                         }
                     }
                     break;
-                case "/sys/user/disable":
-                    Object[] args1 = joinPoint.getArgs();
-                    if (null != args1 && args1.length >= 0) {
+                case "/sys/user/disable"://禁用用户
+                    if (null != args && args.length >= 0) {
                         //通过id获取用户具体信息
-                        if (args1[0] instanceof SysUserBaseVO) {
-                            SysUserBaseVO sysUserBaseVO = (SysUserBaseVO) args1[0];
+                        if (args[0] instanceof SysUserBaseVO) {
+                            SysUserBaseVO sysUserBaseVO = (SysUserBaseVO) args[0];
                             SysUser sysUser = operationLogFacade.getSysUser(sysUserBaseVO.getUserId());
                             compareTwoClass(sysUser, sysUserBaseVO.getUserId(), outMap);
                         }
                     }
                     break;
-                case "/sys/user/enable":
-                    Object[] args2 = joinPoint.getArgs();
-                    if (null != args2 && args2.length >= 0) {
+                case "/sys/user/enable"://启用用户
+                    if (null != args && args.length >= 0) {
                         //通过id获取用户具体信息
-                        if (args2[0] instanceof SysUserBaseVO) {
-                            SysUserBaseVO sysUserBaseVO = (SysUserBaseVO) args2[0];
+                        if (args[0] instanceof SysUserBaseVO) {
+                            SysUserBaseVO sysUserBaseVO = (SysUserBaseVO) args[0];
                             SysUser sysUser = operationLogFacade.getSysUser(sysUserBaseVO.getUserId());
                             compareTwoClass(sysUser, sysUserBaseVO.getUserId(), outMap);
                         }
                     }
                     break;
-                case "/sys/role/saveRoleMenu":
-                    Object[] args3 = joinPoint.getArgs();
-                    if (null != args3 && args3.length >= 0) {
+                case "/sys/role/saveRoleMenu"://修改角色权限
+                    if (null != args && args.length >= 0) {
                         //通过id获取角色信息
-                        if (args3[0] instanceof SysRoleMenuSaveVO) {
-                            SysRoleMenuSaveVO sysRoleMenuSaveVO = (SysRoleMenuSaveVO) args3[0];
+                        if (args[0] instanceof SysRoleMenuSaveVO) {
+                            SysRoleMenuSaveVO sysRoleMenuSaveVO = (SysRoleMenuSaveVO) args[0];
                             SysRole sysRole = operationLogFacade.getRoleMenu(sysRoleMenuSaveVO.getRoleId());
                             compareTwoClass(sysRole, sysRoleMenuSaveVO, outMap);
                         }
                     }
                     break;
-                case "/sys/user/editUserRoles":
+                case "/sys/user/editUserRoles"://修改用户角色
                     Object[] args4 = joinPoint.getArgs();
                     if (null != args4 && args4.length >= 0) {
                         //通过id获取角色信息
@@ -352,7 +369,44 @@ public class LogAspect {
                         }
                     }
                     break;
-
+                case "/qc/casesEntryHospital/updataQcCasesEntry"://修改条目提示信息
+                    if (null != args && args.length >= 0) {
+                        //通过id获取模块名称以及目前分值
+                        if (args[0] instanceof QcCasesEntryUpdataVO) {
+                            QcCasesEntryUpdataVO qcCasesEntryUpdataVO = (QcCasesEntryUpdataVO) args[0];
+                            QcCasesEntryHospitalDTO qcCasesEntryHospitalDTO = operationLogFacade.getQcCasesEntryById(qcCasesEntryUpdataVO.getId());
+                            compareTwoClass(qcCasesEntryHospitalDTO, qcCasesEntryUpdataVO, outMap);
+                            //常规值替换
+                            transformValue(outMap);
+                        }
+                    }
+                    break;
+                case "/qc/qcType/add"://新增质控类型
+                    if (null != args && args.length >= 0) {
+                        compareTwoClass(args[0], new Object(), outMap);
+                    }
+                    break;
+                case "/qc/qcType/update"://修改质控类型
+                    if (null != args && args.length >= 0) {
+                        compareTwoClass(args[0], new Object(), outMap);
+                    }
+                    break;
+                case "/qc/qcType/copy"://复制质控类型
+                    if (null != args && args.length >= 0) {
+                        compareTwoClass(args[0], new Object(), outMap);
+                    }
+                    break;
+                case "/qc/qcType/delete":
+                    if (null != args && args.length >= 0) {
+                        if (args[0] instanceof DeleteQcTypeVO) {
+                            DeleteQcTypeVO deleteQcTypeVO = (DeleteQcTypeVO) args[0];
+                            if (ListUtil.isNotEmpty(deleteQcTypeVO.getIds())) {
+                                QcType qcType = operationLogFacade.getQCTypeById(deleteQcTypeVO.getIds().get(0));
+                                compareTwoClass(qcType, new Object(), outMap);
+                            }
+                        }
+                    }
+                    break;
                 default:
                     break;
             }

+ 3 - 0
src/main/java/com/diagbot/config/ResourceServerConfigurer.java

@@ -296,6 +296,9 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/getDoctorDetail/**").permitAll()
                 .antMatchers("/h5/statistics/**").permitAll()
                 .antMatchers("/logManage/**").permitAll()
+                .antMatchers("/qc/qcType/add").permitAll()
+                .antMatchers("/qc/qcType/update").permitAll()
+                .antMatchers("/qc/qcType/copy").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }

+ 3 - 0
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -373,6 +373,9 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/getDoctorDetail/**", request)
                 || matchers("/h5/statistics/**", request)
                 || matchers("/logManage/**", request)
+                || matchers("/qc/qcType/add", request)
+                || matchers("/qc/qcType/update", request)
+                || matchers("/qc/qcType/copy", request)
                 || matchers("/", request)) {
             return true;
         }

+ 14 - 5
src/main/java/com/diagbot/facade/OperationLogFacade.java

@@ -3,9 +3,9 @@ package com.diagbot.facade;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.QcCasesDTO;
+import com.diagbot.dto.QcCasesEntryHospitalDTO;
 import com.diagbot.dto.SysOperationLogDTO;
-import com.diagbot.dto.SysRoleMenuDTO;
-import com.diagbot.dto.SysUserQueryDTO;
+import com.diagbot.entity.QcType;
 import com.diagbot.dto.SysUserRoleDTO;
 import com.diagbot.entity.SysRole;
 import com.diagbot.entity.SysUser;
@@ -13,13 +13,10 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.SysOperationLogServiceImpl;
 import com.diagbot.util.SysUserUtils;
 import com.diagbot.vo.SysOperationLogVO;
-import com.diagbot.vo.SysRoleMenuQueryVO;
-import com.diagbot.vo.SysRoleMenuSaveVO;
 import com.diagbot.vo.SysUserBaseVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
 
 /**
  * @Description:操作日志处理类
@@ -30,6 +27,10 @@ import java.util.List;
 public class OperationLogFacade extends SysOperationLogServiceImpl {
     @Autowired
     QcCasesFacade qcCasesFacade;
+    @Autowired
+    QcCasesEntryHospitalFacade qcCasesEntryHospitalFacade;
+    @Autowired
+    QcTypeFacade qcTypeFacade;
 
     @Autowired
     SysUserFacade sysUserFacade;
@@ -62,4 +63,12 @@ public class OperationLogFacade extends SysOperationLogServiceImpl {
         sysUserBaseVO.setUserId(userId);
         return sysUserFacade.getUserRoles(sysUserBaseVO);
     }
+
+    public QcCasesEntryHospitalDTO getQcCasesEntryById(Long id) {
+        return qcCasesEntryHospitalFacade.getQcCasesEntryById(id);
+    }
+
+    public QcType getQCTypeById(Object id) {
+        return qcTypeFacade.getOne(new QueryWrapper<QcType>().eq("id",id));
+    }
 }

+ 4 - 0
src/main/java/com/diagbot/facade/QcCasesEntryHospitalFacade.java

@@ -95,4 +95,8 @@ public class QcCasesEntryHospitalFacade extends QcCasesEntryHospitalServiceImpl
         List<QcCasesEntryFindDTO> data = this.findQcCasesEntryAll(qcCasesEntryFindVO);
         return data;
     }
+
+    public QcCasesEntryHospitalDTO getQcCasesEntryById(Long id) {
+        return this.getBaseMapper().getQcCasesEntryById(id,SysUserUtils.getIsPlacefile(),SysUserUtils.getCurrentHospitalID());
+    }
 }

+ 2 - 0
src/main/java/com/diagbot/mapper/QcCasesEntryHospitalMapper.java

@@ -23,4 +23,6 @@ public interface QcCasesEntryHospitalMapper extends BaseMapper<QcCasesEntryHospi
     IPage<List<QcCasesEntryHospitalDTO>> getQcCasesEntryAlls(QcCasesEntryHospitalVO qcCasesEntryHospitalVO);
 
     List<QcCasesEntryFindDTO> findQcCasesEntryAll(QcCasesEntryFindVO qcCasesEntryFindVO);
+
+    QcCasesEntryHospitalDTO getQcCasesEntryById(Long id, String isPlacefile, String hospitalId);
 }

+ 27 - 0
src/main/java/com/diagbot/web/QcTypeController.java

@@ -54,6 +54,33 @@ public class QcTypeController {
         qcTypeFacade.saveOrUpdate(qcTypeSaveVO);
         return RespDTO.onSuc(true);
     }
+    @ApiOperation(value = "质控类型-新增[by:gaodm]",
+            notes = "")
+    @PostMapping("/add")
+    @SysLogger("add")
+    @Transactional
+    public RespDTO<Boolean> add(@RequestBody QcTypeSaveVO qcTypeSaveVO) {
+        qcTypeFacade.saveOrUpdate(qcTypeSaveVO);
+        return RespDTO.onSuc(true);
+    }
+    @ApiOperation(value = "质控类型-更新[by:gaodm]",
+            notes = "")
+    @PostMapping("/update")
+    @SysLogger("update")
+    @Transactional
+    public RespDTO<Boolean> update(@RequestBody QcTypeSaveVO qcTypeSaveVO) {
+        qcTypeFacade.saveOrUpdate(qcTypeSaveVO);
+        return RespDTO.onSuc(true);
+    }
+    @ApiOperation(value = "质控类型-复制[by:gaodm]",
+            notes = "")
+    @PostMapping("/copy")
+    @SysLogger("copy")
+    @Transactional
+    public RespDTO<Boolean> copy(@RequestBody QcTypeSaveVO qcTypeSaveVO) {
+        qcTypeFacade.saveOrUpdate(qcTypeSaveVO);
+        return RespDTO.onSuc(true);
+    }
 
     @ApiOperation(value = "分页列表[by:gaodm]",
             notes = "    // 名称\n" +

+ 38 - 0
src/main/resources/mapper/QcCasesEntryHospitalMapper.xml

@@ -137,4 +137,42 @@
         </if>
         )
     </select>
+    <select id="getQcCasesEntryById" resultType="com.diagbot.dto.QcCasesEntryHospitalDTO">
+        select
+        b.id as id,
+        a.cases_id as casesId,
+        a.cases_name As casesName,
+        a.name as name,
+        b.msg As msg,
+        <choose>
+            <when test='isPlacefile == "0"'>
+                b.score_run AS score,
+            </when>
+            <otherwise>
+                b.score AS score,
+            </otherwise>
+        </choose>
+        <choose>
+            <when test='isPlacefile == "0"'>
+                b.is_used_run AS isUsed,
+            </when>
+            <otherwise>
+                b.is_used AS isUsed,
+            </otherwise>
+        </choose>
+        b.is_reject As isReject,
+        a.rule_type
+        from
+        qc_cases_entry a
+        join qc_cases_entry_hospital b
+        on a.id = b.cases_entry_id
+        where a.is_deleted = "N"
+        AND b.is_deleted = "N"
+        <if test="hospitalId != null and hospitalId != ''">
+            AND b.hospital_id = #{hospitalId}
+        </if>
+        <if test="id != null">
+            AND b.id = #{id}
+        </if>
+    </select>
 </mapper>