Quellcode durchsuchen

Merge branch '20210512_yw_check' into debug

songxinlu vor 4 Jahren
Ursprung
Commit
03bc1cd106

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

@@ -238,8 +238,10 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
                 .antMatchers("/qc/behospitalInfo/logicDelCase").permitAll()
                 .antMatchers("/qc/medCheckInfo/getCheckUserMap").permitAll()
                 .antMatchers("/qc/medCheckInfo/getCheckList").permitAll()
-                .antMatchers("/qc/medCheckInfo//updateDistributionCheck").permitAll()
-                .antMatchers("/qc/medCheckInfo//getCheckListByUserId").permitAll()
+                .antMatchers("/qc/medCheckInfo/updateDistributionCheck").permitAll()
+                .antMatchers("/qc/medCheckInfo/getCheckListByUserId").permitAll()
+                .antMatchers("/qc/medCheckWork//addCheckWork").permitAll()
+                .antMatchers("/qc/medCheckWork//getUserList").permitAll()
                 .antMatchers("/**").authenticated();
         //                .antMatchers("/**").permitAll();
     }
@@ -248,7 +250,6 @@ public class ResourceServerConfigurer extends ResourceServerConfigurerAdapter {
         log.info("Configuring ResourceServerSecurityConfigurer");
         resources.resourceId("user-service").tokenStore(new JwtTokenStore(jwtTokenEnhancerClient()));
     }
-
     @Autowired
     private CustomAccessTokenConverter customAccessTokenConverter;
 

+ 4 - 2
src/main/java/com/diagbot/config/security/UrlAccessDecisionManager.java

@@ -282,8 +282,10 @@ public class UrlAccessDecisionManager implements AccessDecisionManager {
                 || matchers("/qc/behospitalInfo/logicDelCase", request)
                 || matchers("/qc/medCheckInfo/getCheckUserMap", request)
                 || matchers("/qc/medCheckInfo/getCheckList", request)
-                || matchers("/qc/medCheckInfo//updateDistributionCheck", request)
-                || matchers("/qc/medCheckInfo//getCheckListByUserId", request)
+                || matchers("/qc/medCheckInfo/updateDistributionCheck", request)
+                || matchers("/qc/medCheckInfo/getCheckListByUserId", request)
+                || matchers("/qc/medCheckWork/addCheckWork", request)
+                || matchers("/qc/medCheckWork/getUserList", request)
                 || matchers("/", request)) {
             return true;
         }

+ 5 - 3
src/main/java/com/diagbot/facade/MedCheckInfoFacade.java

@@ -188,7 +188,7 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "该用户不是核查监管人员!");
         }
         //质控科监管人员
-        if(searchRoleIds.contains(5L)&&"2".equals(checkJobVO.getCheckType()))
+        if(searchRoleIds.contains(5L)&&"2".equals(checkJobVO.getJobType()))
         {
             String zkkDeptId = basDeptInfoFacade.getOne(new QueryWrapper<BasDeptInfo>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -211,8 +211,8 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
             }
         }
         //临床科室监管人员、院级监管人员
-        else if(searchRoleIds.contains(4L)&&"0".equals(checkJobVO.getCheckType())||
-                searchRoleIds.contains(6L)&&"1".equals(checkJobVO.getCheckType()))
+        else if(searchRoleIds.contains(4L)&&"0".equals(checkJobVO.getJobType())||
+                searchRoleIds.contains(6L)&&"1".equals(checkJobVO.getJobType()))
         {
             return baseMapper.getCheckList(checkJobVO);
         }
@@ -550,6 +550,8 @@ public class MedCheckInfoFacade extends MedCheckInfoServiceImpl {
                     .eq("status",1);
             SysUser user = sysUserFacade.getOne(userQuer);
             String principleName = user.getLinkman();
+            //用户名称如果是null(目的:分配用户名为null表示用户未分配)
+            if(principleName==null){principleName = "";}
             Date now = DateUtil.now();
             //3.2分配核查任务
             return  this.update(new UpdateWrapper<MedCheckInfo>()

+ 50 - 42
src/main/java/com/diagbot/facade/MedCheckWorkFacade.java

@@ -10,6 +10,7 @@ import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.MedBehospitalTypeServiceImpl;
+import com.diagbot.service.impl.MedCheckInfoServiceImpl;
 import com.diagbot.service.impl.MedicalRecordServiceImpl;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
@@ -19,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -30,6 +32,8 @@ public class MedCheckWorkFacade {
     @Autowired
     SysUserFacade sysUserFacade;
     @Autowired
+    private MedCheckInfoServiceImpl medCheckInfoServiceImpl;
+    @Autowired
     private MedCheckInfoFacade medCheckInfoFacade;
     @Autowired
     private MedBehospitalTypeServiceImpl medBehospitalTypeServiceImpl;
@@ -46,64 +50,68 @@ public class MedCheckWorkFacade {
      */
     public Boolean addCheckWork(MedCheckWorkAddVO medCheckWorkVO) {
 
+        boolean flag = false;
         Date now = DateUtil.now();
+        //获取核查任务类型(0-科室任务 1-院级 2-质控科)
+        Integer workType = medCheckWorkVO.getJobType();
+        //获取操作类型(0-取消,1-添加)
+        Integer checkStatus = medCheckWorkVO.getCheckStatus();
         Long hospitalId = Long.parseLong(SysUserUtils.getCurrentHospitalID());
         Long principleId = Long.valueOf(SysUserUtils.getCurrentPrincipleID());
-        QueryWrapper<SysUser> userQuer = new QueryWrapper<>();
-        userQuer.eq("is_deleted", IsDeleteEnum.N.getKey())
+        SysUser user = sysUserFacade.getOne(new QueryWrapper<SysUser>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("id", principleId)
-                .eq("status", 1);
-        SysUser user = sysUserFacade.getOne(userQuer);
+                .eq("status", 1));
         String principleName = user.getLinkman();
-        //操作类型(0-取消,1-添加)
-        if (medCheckWorkVO.getCheckType() == 0) {
+        //取消核查任务【操作类型(0-取消,1-添加)】
+        if (checkStatus != null && checkStatus == 0) {
+            //判断核查任务是否生成
             QueryWrapper<MedCheckInfo> medicalRecordQe = new QueryWrapper<>();
-            medicalRecordQe.eq("hospital_id", medCheckWorkVO.getHospitalId());
+            medicalRecordQe.eq("hospital_id", hospitalId);
             medicalRecordQe.eq("is_deleted", IsDeleteEnum.N.getKey());
             if (medCheckWorkVO.getBehospitalCodeList().size() > 0) {
                 medicalRecordQe.in("behospital_code", medCheckWorkVO.getBehospitalCodeList());
             }
-//            List<MedCheckInfo> medCheckInfoList = medCheckInfoFacade.list(medicalRecordQe);
             List<MedCheckInfo> list = medCheckInfoFacade.list(medicalRecordQe);
             if (ListUtil.isEmpty(list)) {
-                throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "存在未生成数据!");
+                throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "存在未生成核查任务!");
             }
 
-            medCheckInfoFacade.getBaseMapper().getUpdateBatch(medCheckWorkVO.getBehospitalCodeList());
-        } else {
-            //获取核查任务类型(0-科室任务 1-院级 2-质控科)
-            switch (medCheckWorkVO.getWorkType()) {
-                case 0:
-                    //该病历没有核查的时候, 就添加核查记录
-                    List<MedCheckInfo> medCheckInfoList = new ArrayList<>();
-                    for (String behospitalCode : medCheckWorkVO.getBehospitalCodeList()) {
-                        MedCheckInfo medCheckInfo = new MedCheckInfo();
-                        medCheckInfo.setBehospitalCode(behospitalCode);
-                        medCheckInfo.setGmtCreate(now);
-                        medCheckInfo.setGmtModified(now);
-                        medCheckInfo.setHospitalId(hospitalId);
-                        medCheckInfo.setCheckType(medCheckWorkVO.getCheckType());
-                        medCheckInfo.setJobCreator(principleId);
-                        medCheckInfo.setJobCreatorName(principleName);
-                        medCheckInfo.setJobCreateTime(now);
-                        medCheckInfo.setJobType(medCheckWorkVO.getWorkType());
-                        medCheckInfo.setJobDistributionTime(now);
-                        medCheckInfoList.add(medCheckInfo);
-                    }
-                    medCheckInfoFacade.saveBatch(medCheckInfoList);
-                    break;
-                case 1:
-                    break;
-                default:
-                    break;
+            int i = medCheckInfoFacade.getBaseMapper().deleteBatchCodes(medCheckWorkVO.getBehospitalCodeList());
+            if(i!=0)
+            {
+                return true;
+            }
+        } else if (checkStatus != null && checkStatus == 1) {
+            //生成核查任务
+            MedCheckInfo data = medCheckInfoFacade.getOne(new QueryWrapper<MedCheckInfo>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("hospital_id", hospitalId)
+                    .in("behospital_code", medCheckWorkVO.getBehospitalCodeList())
+            );
+            //任务是否存在
+            if (data != null) {
+                throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "核查任务已存在!");
             }
-        }
-
-
-//        List<MedCheckWork> checkWorkList = new ArrayList<>();
 
-//        return medCheckWorkServiceImpl.saveBatch(checkWorkList, 10);
-        return null;
+            //该病历没有核查的时候, 就添加核查记录
+            List<MedCheckInfo> medCheckInfoList = new ArrayList<>();
+            for (String behospitalCode : medCheckWorkVO.getBehospitalCodeList()) {
+                MedCheckInfo medCheckInfo = new MedCheckInfo();
+                medCheckInfo.setIsDeleted(IsDeleteEnum.N.getKey());
+                medCheckInfo.setGmtCreate(now);
+                medCheckInfo.setBehospitalCode(behospitalCode);
+                medCheckInfo.setHospitalId(hospitalId);
+                medCheckInfo.setCheckType(medCheckWorkVO.getCheckType());
+                medCheckInfo.setJobCreator(principleId);
+                medCheckInfo.setJobCreatorName(principleName);
+                medCheckInfo.setJobCreateTime(now);
+                medCheckInfo.setJobType(medCheckWorkVO.getJobType());
+                medCheckInfoList.add(medCheckInfo);
+            }
+            flag = medCheckInfoServiceImpl.saveBatch(medCheckInfoList);
+        }
+        return flag;
     }
 
     /**

+ 3 - 7
src/main/java/com/diagbot/mapper/MedCheckInfoMapper.java

@@ -25,14 +25,10 @@ public interface MedCheckInfoMapper extends BaseMapper<MedCheckInfo> {
     List<DeptCheckUserDTO> getJobNumByUserId(CheckUserVO checkUserVO);
     //获取未分配的核查任务
     List<CheckJobDTO> getCheckList(CheckJobVO checkJobVO);
-    /**
-     * 核查任务列表
-     *
-     * @param checkWorkPageVO
-     * @return
-     */
+    //核查任务列表
     IPage<CheckWorkDTO> getCheckWorkPage(CheckWorkPageVO checkWorkPageVO);
     //获取指定核查人员的核查任务
     List<CheckJobDTO> getCheckListByUserId(CheckJobVO checkJobVO);
-    void getUpdateBatch(List<String> list);
+    //取消核查任务
+    int deleteBatchCodes(List<String> list);
 }

+ 2 - 6
src/main/java/com/diagbot/service/impl/MedCheckInfoServiceImpl.java

@@ -1,15 +1,11 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.diagbot.dto.CheckJobDTO;
 import com.diagbot.dto.CheckWorkDTO;
-import com.diagbot.dto.DeptCheckUserDTO;
 import com.diagbot.entity.MedCheckInfo;
 import com.diagbot.mapper.MedCheckInfoMapper;
 import com.diagbot.service.MedCheckInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.diagbot.vo.CheckJobVO;
-import com.diagbot.vo.CheckUserVO;
 import com.diagbot.vo.CheckWorkPageVO;
 import org.springframework.stereotype.Service;
 
@@ -30,7 +26,7 @@ public class MedCheckInfoServiceImpl extends ServiceImpl<MedCheckInfoMapper, Med
         return baseMapper.getCheckWorkPage(checkWorkPageVO);
     }
 
-    public void getUpdateBatch(List<String> list) {
-        baseMapper.getUpdateBatch(list);
+    public int deleteBatchCodes(List<String> list){
+        return baseMapper.deleteBatchCodes(list);
     }
 }

+ 1 - 1
src/main/java/com/diagbot/vo/CheckJobVO.java

@@ -20,7 +20,7 @@ public class CheckJobVO {
     //出院结束时间
     private String behosDateEnd;
     //任务类型
-    private String checkType;
+    private String jobType;
     //核查用户id
     private String checkId;
     //病人姓名

+ 2 - 2
src/main/java/com/diagbot/vo/MedCheckWorkAddVO.java

@@ -21,8 +21,8 @@ public class MedCheckWorkAddVO {
     private Long hospitalId;            //医院id
     private List<String> behospitalCodeList = new ArrayList<>(); // 病历id
     @ApiModelProperty(hidden = true)
-    private String workCreator;         // 创建用户编号
-    private Integer workType;           // 任务类型 0-科室任务 1-院级 1-质控科
+    private String jobCreator;         // 创建用户编号
+    private Integer jobType;           // 任务类型 0-科室任务 1-院级 1-质控科
     private Integer checkStatus;        // 操作类型 0-取消,1-添加
     private String createTime;          // 操作时间
     private Integer checkType;          // 核查类型 0病历,1病案首页,2全部 默认

+ 1 - 1
src/main/java/com/diagbot/web/MedCheckInfoController.java

@@ -66,7 +66,7 @@ public class MedCheckInfoController {
                     "或<br>" +
                     "behosDateStart:  出院开始时间 必填<br>" +
                     "behosDateEnd:  出院结束时间 必填<br>" +
-                    "checkType:核查类型 必填 0-科室任务 1-院级 2-质控科<br>" +
+                    "jobType:核查任务类型 必填 0-科室任务 1-院级 2-质控科<br>" +
                     "deptList:科室id集合,必填<br>")
     @PostMapping("/getCheckList")
     @SysLogger("getCheckList")

+ 2 - 2
src/main/java/com/diagbot/web/MedCheckWorkController.java

@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2021-05-11
  */
 @RestController
-@RequestMapping("/check")
+@RequestMapping("/qc/medCheckWork")
 @Api(value = "生成核查任务--相关接口API", tags = { "生成核查任务--相关接口API" })
 public class MedCheckWorkController {
     @Autowired
@@ -32,7 +32,7 @@ public class MedCheckWorkController {
     @ApiOperation(value = "生成/取消核查任务[by:wangsy]",
             notes = "生成/取消核查任务 <br>" +
             "behospitalCodeList:病历id(List) 【必填】<br>" +
-            "workType:任务类型(0-科室任务 1-院级 1-质控科) 【必填】<br>" +
+            "jobType:核查任务类型(0-科室任务 1-院级 1-质控科) 【必填】<br>" +
             "checkStatus:操作类型(0-取消,1-添加) 【必填】<br>" +
             "createTime: 操作时间<br>" +
             "checkType:核查类型(0病历,1病案首页,2全部 默认)<br>")

+ 6 - 8
src/main/resources/mapper/MedCheckInfoMapper.xml

@@ -51,8 +51,8 @@
             a.beh_dept_id,b.id from med_behospital_info a ,med_check_info b
               where a.behospital_code = b.behospital_code and a.hospital_id = b.hospital_id and a.is_deleted = 'N'
                 and b.is_deleted = 'N' and b.job_distribution_name is NULL  and b.`status` = 0
-                <if test="checkType !=null">
-                    and b.job_type = #{checkType}
+                <if test="jobType !=null">
+                    and b.job_type = #{jobType}
                 </if>
                 <if test="startTime !=null and endTime !=null">
                     and b.job_create_time BETWEEN #{startTime} AND #{endTime}
@@ -182,13 +182,11 @@
     </select>
 
     <!--通过住院号,取消核查任务-->
-    <update id="getUpdateBatch">
+    <update id="deleteBatchCodes">
         <foreach collection="list" item="item"  separator=";">
-            update med_check_info
-            <set>
-                is_deleted = 'Y'
-            </set>
-            where behospital_code = #{item.behospitalCode} and is_deleted = 'N'
+            delete from
+            med_check_info
+            where behospital_code = #{item} and is_deleted = 'N'
         </foreach>
     </update>