Browse Source

去掉管床医生限制

lihong 2 years ago
parent
commit
889b899006

+ 14 - 0
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SetlListUpldController.java

@@ -104,6 +104,20 @@ public class SetlListUpldController {
                                                 ) {
         return service.isInHospital(patNo, times);
     }
+    /**
+     * @description:申请撤回审核记录
+     * @author: lihong
+     * @date: 2022/12/28 11:21
+     * @param: patNo
+     * @param: times
+     * @return: thyyxxk.webserver.entity.ResultVo<java.lang.Boolean>
+     **/
+    @GetMapping("/shenQingCheHui")
+    public ResultVo<String> shenQingCheHui(@RequestParam("patNo") String patNo,
+                                          @RequestParam("times") Integer times
+    ) {
+        return service.shenQingCheHui(patNo, times);
+    }
 
     @GetMapping("/getUploadInfo")
     @PassToken

+ 26 - 0
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/UpIdCollectionDao.java

@@ -948,4 +948,30 @@ public interface UpIdCollectionDao extends BaseMapper<SetlinfoUpld> {
             "            where revoked = 0\n" +
             "                and a.pat_no=#{patNo} and a.times=#{times} and a.ledger_sn=#{ledgerSn}")
     SiSetlinfoTemp getJieSuanDetail(String patNo, Integer times, Integer ledgerSn);
+
+    @Select("select top 1 req_op_id,req_op_name,audit_staff,audit_name,audit_flag  from  t_yb_setl_modify_req where pat_no=#{patNo} and times=#{times} ")
+    TYbSetlModifyReq getSetlModifyReq(@Param("patNo") String patNo, @Param("times") Integer times);
+    /**
+     * @description:删除最近的历史记录
+     * @author: lihong
+     * @date: 2022/12/28 15:19
+     * @param: patNo
+     * @param: times
+     **/
+    @Delete("  delete" +
+            "  from t_setl_audit_log" +
+            "  where id in (" +
+            "    select b.id" +
+            "    from (" +
+            "             select max(create_time) create_time, pat_no, times" +
+            "             from t_setl_audit_log" +
+            "             where pat_no = #{patNo}" +
+            "               and times = #{times}" +
+            "             group by pat_no, times" +
+            "         ) a" +
+            "             join t_setl_audit_log b on a.create_time = b.create_time and a.pat_no = b.pat_no and a.times = b.times" +
+            ")")
+    void deletelatestSetlAuditLog(@Param("patNo") String patNo, @Param("times") Integer times);
+    @Update("update t_yb_setl_modify_req set audit_staff = '' ,audit_name='',audit_remark='',audit_flag=0 where pat_no=#{patNo} and times=#{times}")
+    void updateSetlModifyReq(@Param("patNo") String patNo, @Param("times") Integer times);
 }

+ 25 - 4
src/main/java/thyyxxk/webserver/service/medicalinsurance/SetlListUpldService.java

@@ -5,7 +5,6 @@ import cn.hutool.core.util.ReflectUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -1077,9 +1076,6 @@ public class SetlListUpldService {
         ZyInactpatient zy = dao.huanZheXinXi(patNo, times);
         List<Integer> code = publicServer.getRoleCode().getData();
         if (!code.contains(1) && !code.contains(8) && !code.contains(49) && !code.contains(50)) {
-            if (zy.getReferPhysician() == null || !zy.getReferPhysician().equals(TokenUtil.getTokenUserId())) {
-                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "您不是该患者的管床医生。");
-            }
             TYbSetModifyTime modifyTime = dao.keXiuGaiShiJian();
             if (!DateUtil.isEffectiveDate(new Date(), modifyTime.getStartTime(), modifyTime.getEndTime())) {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("当前不在医保科设置的修改时间范围内<br>开始时间:【%s】<br>结束时间:【%s】<br>这段结算时间范围内的患者可修改。", DateUtil.formatDatetime(modifyTime.getStartTime(), "yyyy-MM-dd"), DateUtil.formatDatetime(modifyTime.getEndTime(), "yyyy-MM-dd")));
@@ -1883,4 +1879,29 @@ public class SetlListUpldService {
 
       return   ResultVoUtil.success(jieSuanDetail);
     }
+    /**
+     * @description:申请撤回审核记录
+     * @author: lihong
+     * @date: 2022/12/28 11:22
+     * @param: patNo
+     * @param: times
+     * @return: thyyxxk.webserver.entity.ResultVo<java.lang.Boolean>
+     **/
+    public ResultVo<String> shenQingCheHui(String patNo, Integer times) {
+        TYbSetlModifyReq setlModifyReq = dao.getSetlModifyReq(patNo, times);
+        if(setlModifyReq.getAuditFlag() !=null
+                && (setlModifyReq.getAuditFlag()==1 || setlModifyReq.getAuditFlag()==2)
+        ){
+            String userId = TokenUtil.getTokenUserId();
+            if(userId.equals(setlModifyReq.getAuditStaff())){
+                //删除最近的审核历史记录
+                dao.deletelatestSetlAuditLog(patNo,times);
+                //将审核记录置空,还原为待审核状态
+                dao.updateSetlModifyReq(patNo,times);
+            }else {
+                throw new BizException(ExceptionEnum.LOGICAL_ERROR,"当前最新的审核记录不是您,请不要操作撤回!");
+            }
+        }
+        return ResultVoUtil.success();
+    }
 }