Browse Source

处方权

lihong 4 months ago
parent
commit
d95db218b8

+ 2 - 0
src/main/java/cn/hnthyy/thmz/entity/his/mz/Employee.java

@@ -37,4 +37,6 @@ public class Employee {
     private Integer doctorZy;
     //双通道药品权限
     private Integer dualchnlFlag;
+    //医生处方权 0 无 1 普通 2毒麻药
+    private String orderYn;
 }

+ 1 - 2
src/main/java/cn/hnthyy/thmz/mapper/his/mz/EmployeeMapper.java

@@ -67,8 +67,7 @@ public interface EmployeeMapper {
      * @param code
      * @return
      */
-    //select top 1 rtrim(code) employeeCode,rtrim(name) employeeName,del_flag,rtrim(mark) mark,emp_tit_code,rtrim(code_rs)  code_rs,rtrim(dept_code) dept_code from a_employee_mi  where  code =#{code} and (del_flag is null or del_flag =0 )
-    @Select(" select top 1 rtrim(code) employeeCode,rtrim(name) employeeName,del_flag,rtrim(mark) mark,emp_tit_code,rtrim(code_rs)  code_rs,rtrim(dept_code) dept_code,rtrim(yb_code) yb_code,doctor_zy,dualchnl_flag from a_employee_mi WITH(NOLOCK) where  code =#{code} ")
+    @Select(" select top 1 rtrim(code) employeeCode,rtrim(name) employeeName,del_flag,rtrim(mark) mark,emp_tit_code,rtrim(code_rs)  code_rs,rtrim(dept_code) dept_code,rtrim(yb_code) yb_code,doctor_zy,dualchnl_flag,order_yn from a_employee_mi WITH(NOLOCK) where  code =#{code} ")
     Employee selectByUserCode(@Param("code") String code);
 
 

+ 12 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java

@@ -79,6 +79,7 @@ import javax.annotation.Resource;
 import javax.annotation.Resources;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.sql.Struct;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -3805,7 +3806,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         return resultMap;
     }
     /**
-     * @description: 效验 中药处方权限
+     * @description: 效验 中药处方权限 双通道  处方开具权
      * @author: lihong
      * @date: 2024/10/9 10:21
      * @param: mzChargeDetailList
@@ -3815,8 +3816,18 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         if(StrUtil.isBlank(userIdCode)) return;
         Employee employee = employeeService.queryByUserCode(userIdCode);
         if(employee == null) return;
+        if(StrUtil.isBlank(employee.getOrderYn()) || NumberEnum.ZERO.getCode().equals(employee.getOrderYn())){
+            throw new MzException("您没有开处方的权限,如要开通该权限,请找医务部开通权限!");
+        }
         if(CollUtil.isNotEmpty(mzChargeDetailList)){
+            List<MzZdYpYsh> mjList = mzZdYpYshMapper.selectMjyByCommonParams(null, null,null);
+            List<MzZdYpYsh> jeList = mzZdYpYshMapper.selectJeByCommonParams(null, null,null);
+            Set<String>  mjSet = mjList.stream().map(m -> m.getCode()).collect(Collectors.toSet());
+            Set<String>  jeSet = jeList.stream().map(m -> m.getCode()).collect(Collectors.toSet());
             for(MzChargeDetail md : mzChargeDetailList){
+                 if(NumberEnum.ONE.getCode().equals(employee.getOrderYn()) && (mjSet.contains(md.getChargeItemCode()) || jeSet.contains(md.getChargeItemCode()))){
+                    throw new MzException("您没有开毒麻药处方的权限,如要开通该权限,请找医务部开通权限!");
+                }
                 if(Constants.KL_GROUP_NO.equals(md.getGroupNo()) && Convert.toInt(employee.getDoctorZy(),0) == 0){
                     throw new MzException("您没有开颗粒剂处方权限,如要开通该权限,请找医务部开通权限!");
                 }

+ 2 - 2
src/main/resources/static/js/mz/clinic.js

@@ -5055,7 +5055,7 @@ function saveWesternMedicine(calculateTotalAmountFlag) {
     var medicalAdvice = $("#medicalAdvice").val();
     //医嘱内容
     var medicalAdviceText = $('#medicalAdvice option:selected').text();
-    medicalAdviceText = medicalAdviceText.substring(0, medicalAdviceText.indexOf("("));
+    tmpMedicalAdviceText = medicalAdviceText.substring(0, medicalAdviceText.indexOf("("));
     //金额
     var totalRetprice = parseFloat($("#totalRetprice").val());
     //单价
@@ -5118,7 +5118,7 @@ function saveWesternMedicine(calculateTotalAmountFlag) {
         }
     }
     if (medicalAdvice != null && medicalAdvice != '') {
-        html += '医嘱:' + medicalAdviceText;
+        html += '医嘱:' + tmpMedicalAdviceText;
     }
     html += ' <i class="fa fa-long-arrow-up" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;margin-left: 10px;" onclick="arrowUp(this)"></i>';
     html += '<i class="fa fa-long-arrow-down" style="cursor: pointer;height: 20px;line-height: 20px;width: 20px;font-size: 20px;" onclick="arrowDown(this)"></i>';