Sfoglia il codice sorgente

手术按手术间排序;手术安排需要权限

lighter 2 anni fa
parent
commit
92d0b8e8e0

+ 4 - 1
src/main/java/thyyxxk/webserver/dao/his/surgicalmanagement/SurgeryArrangementDao.java

@@ -50,7 +50,7 @@ public interface SurgeryArrangementDao {
             "a.tw_flag,b.doctor_mz_ys,b.doctor_mz_hs,rtrim(a.ssbc) as ssbc,b.doctor_zd_sj " +
             "FROM op_record a,op_record_join b,a_patient_mi c " +
             "where a.record_id=b.record_id and a.inpatient_no=c.inpatient_no and " +
-            " ${ew.sqlSegment} order by a.urgent_clinic_flag desc")
+            " ${ew.sqlSegment} order by a.room_code")
     List<OpRecord> huoQuShouShuAnPaiXinXi(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
 
     @Update("update op_record set status='d' where record_id=#{recordId}")
@@ -58,4 +58,7 @@ public interface SurgeryArrangementDao {
 
     @Update("update ${table} set ${column}=#{value} where record_id=#{id}")
     void updateArrangement(String table, String column, String value, Integer id);
+
+    @Select("select count(1) from dj_user_role where user_code=#{code} and role_id=51")
+    Integer selectArrangementPermission(String code);
 }

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/surgicalmanagement/SurgeryRecordDao.java

@@ -31,7 +31,7 @@ public interface SurgeryRecordDao {
     List<CodeName> selectSurgeryRoomStaffs();
 
     @Select("select record_id,inpatient_no as patNo,admiss_times as times,ward_code,op_name, " +
-            "patient_name as patName from op_record where ${ew.sqlSegment} order by urgent_clinic_flag desc")
+            "patient_name as patName from op_record where ${ew.sqlSegment} order by room_code")
     List<BriefOpRecord> selectBriefOpRecordList(@Param(Constants.WRAPPER) QueryWrapper<?> queryWrapper);
 
     @Select("select a.record_id,opStartDate=isnull(op_start_date,op_datetime), " +

+ 17 - 6
src/main/java/thyyxxk/webserver/service/surgicalmanagement/SurgeryArrangementService.java

@@ -6,7 +6,6 @@ import org.springframework.stereotype.Service;
 import thyyxxk.webserver.config.exception.ExceptionEnum;
 import thyyxxk.webserver.dao.his.surgicalmanagement.SurgeryArrangementDao;
 import thyyxxk.webserver.entity.ResultVo;
-import thyyxxk.webserver.entity.datamodify.GetDropdownBox;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.entity.surgeryarrangement.QuerySurgeryParams;
 import thyyxxk.webserver.entity.zhuyuanyisheng.shoushu.OpRecord;
@@ -14,6 +13,7 @@ import thyyxxk.webserver.service.redislike.RedisLikeService;
 import thyyxxk.webserver.utils.ListUtil;
 import thyyxxk.webserver.utils.ResultVoUtil;
 import thyyxxk.webserver.utils.StringUtil;
+import thyyxxk.webserver.utils.TokenUtil;
 
 import java.util.HashMap;
 import java.util.List;
@@ -75,13 +75,24 @@ public class SurgeryArrangementService {
     }
 
     public ResultVo<String> cancelSurgery(Integer recordId) {
-        dao.cancelSurgery(recordId);
-        return ResultVoUtil.success("操作成功。");
+        if (hasArrangementPermission()) {
+            dao.cancelSurgery(recordId);
+            return ResultVoUtil.success("操作成功。");
+        }
+        return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "操作失败,您没有取消手术的权限。");
     }
 
     public ResultVo<String> updateArrangement(Integer recordId, String key, String value) {
-        String table = key.equals("room_code") ? "op_record" : "op_record_join";
-        dao.updateArrangement(table, key, value, recordId);
-        return ResultVoUtil.success();
+        if (hasArrangementPermission()) {
+            String table = key.equals("room_code") ? "op_record" : "op_record_join";
+            dao.updateArrangement(table, key, value, recordId);
+            return ResultVoUtil.success();
+        }
+        return ResultVoUtil.fail(ExceptionEnum.INTERNAL_SERVER_ERROR, "操作失败,您没有安排手术的权限。");
+    }
+
+    private boolean hasArrangementPermission() {
+        Integer count = dao.selectArrangementPermission(TokenUtil.getTokenUserId());
+        return null != count && count > 0;
     }
 }