Browse Source

医技科室接诊默认创建一个医技会诊申请

hurugang 2 years ago
parent
commit
1dd7174a56

+ 24 - 36
src/main/java/cn/hnthyy/thmz/controller/mz/ClinicController.java

@@ -225,39 +225,26 @@ public class ClinicController {
                 return resultMap;
             }
             List<String> deptCodes = userDeptRelationService.queryAllByUserIdCode(tokenUser.getUserIdCode());
-            Boolean isYjDept = false;
-            isYjDept = checkYjDept(deptCodes, isYjDept);
+            String yjDeptCode=checkYjDept(deptCodes);
             List<MzfzPatientOrder> data =null;
-            if(isYjDept){
-                data=Arrays.asList(mzfzPatientOrderService.queryLastClinicedFzOrder(patientId));
+            if(yjDeptCode !=null && StringUtils.isNotBlank(yjDeptCode)){
+                //当前患者已经创建了会诊请求就不需继续创建
+                List<TurnToConsultation> turnToConsultations = turnToConsultationService.queryUnConsultationByTargetDept(patientId, yjDeptCode, tokenUser.getUserIdCode());
+                if(turnToConsultations==null || turnToConsultations.size()==0){
+                    MzfzPatientOrder mzfzPatientOrder= mzfzPatientOrderService.queryLastClinicedFzOrder(patientId);
+                    TurnToConsultation turnToConsultation=new TurnToConsultation();
+                    turnToConsultation.setPatientId(patientId);
+                    turnToConsultation.setSourceDeptNo(mzfzPatientOrder.getDeptCode());
+                    turnToConsultation.setSourceDoctorNo(mzfzPatientOrder.getDoctorCode());
+                    turnToConsultation.setTargetDeptNo(yjDeptCode);
+                    turnToConsultation.setSerialNo(mzfzPatientOrder.getSerialNo().toString());
+                    turnToConsultation.setRemark("医技科室接诊患者系统自动发起会诊申请");
+                    turnToConsultation.setOpType(TurnToConsultation.HZ);
+                    turnToConsultationService.save(turnToConsultation);
+                }
             }else {
                 data = mzfzPatientOrderService.queryByPatientId(patientId, tokenUser.getUserIdCode());
             }
-//
-//            if (data == null || data.size() == 0) {
-//                if(deptCodes!=null && deptCodes.size()>0){
-//                    if(data==null){
-//                        data=new ArrayList<>();
-//                    }
-//                    for (String code:deptCodes){
-//                        List<MzfzPatientOrder> jzData = mzfzPatientOrderService.queryByPatientIdAndJzDepetNo(patientId, code);
-//                        if (jzData != null && jzData.size() > 0) {
-//                            for (MzfzPatientOrder mzfzPatientOrder : jzData) {
-//                                if (mzfzPatientOrder == null || StringUtils.isBlank(mzfzPatientOrder.getReqType())) {
-//                                    continue;
-//                                }
-//                                MzyZdReqtype mzyZdReqtype = mzyZdReqtypeService.queryMzyZdReqtypeByCode(mzfzPatientOrder.getReqType());
-//                                if (mzyZdReqtype == null || StringUtils.isBlank(mzyZdReqtype.getCode())) {
-//                                    continue;
-//                                }
-//                                if (Constants.JZ_CODE.equals(mzyZdReqtype.getCode())) {
-//                                    data.add(mzfzPatientOrder);
-//                                }
-//                            }
-//                        }
-//                    }
-//                }
-//            }
             if (data != null && data.size() > 0) {
                 for (MzfzPatientOrder mzfzPatientOrder : data) {
                     if (mzfzPatientOrder.getDeptCode() != null && StringUtils.isNotBlank(mzfzPatientOrder.getDeptCode())) {
@@ -288,6 +275,9 @@ public class ClinicController {
                             mzfzPatientOrder.setSerialNo(Integer.valueOf(turnToConsultation.getSerialNo()));
                             mzfzPatientOrder.setReqType(TurnToConsultation.HZ_REQ_TYPE);
                             mzfzPatientOrder.setTurnToConsultationId(turnToConsultation.getId());
+                            if(data==null){
+                                data=new ArrayList<>();
+                            }
                             data.add(mzfzPatientOrder);
                         }
                     }
@@ -320,24 +310,22 @@ public class ClinicController {
     }
 
     /**
-     * 判断当前医生是否是医技科室
+     * 返回当前医生所属医技科室编码吗
      * @param deptCodes
-     * @param isYjDept
      * @return
      */
-    private Boolean checkYjDept(List<String> deptCodes, Boolean isYjDept) {
+    private String checkYjDept(List<String> deptCodes) {
         if (deptCodes != null && deptCodes.size() > 0) {
             List<ZdUnitCode> zdUnitCodes = zdUnitCodeService.queryZdUnitCodeByCodes(deptCodes);
             if (zdUnitCodes != null && zdUnitCodes.size() > 0) {
                 for (ZdUnitCode zdUnitCode : zdUnitCodes) {
                     if (ZdUnitCode.YJ_CLASS_CODE.equals(zdUnitCode.getClassCode())) {
-                        isYjDept = true;
-                        break;
+                       return zdUnitCode.getCode();
                     }
                 }
             }
         }
-        return isYjDept;
+        return null;
     }
 
 
@@ -419,7 +407,7 @@ public class ClinicController {
                 List<String> deptNos = userDeptRelationService.queryAllByUserIdCode(tokenUser.getUserIdCode());
                 Boolean isYjDept = false;
                 //暂时只开放医技可以可以接诊全院患者,不修改历史处方
-                //isYjDept = checkYjDept(deptNos, isYjDept);
+                //isYjDept = checkYjDept(deptNos)!=null;
                 //医技科室是可以看到全部患者信息,非医技科室需要加查询条件
                 if (!isYjDept) {
                     clinic.setDoctorCode(tokenUser.getUserIdCode());

+ 1 - 1
src/main/resources/templates/mz/clinic.html

@@ -1497,7 +1497,7 @@
                         <div class="col-md-12 col-sm-12 col-xs-12 item"
                              style="font-size: 16px;border: 1px solid #ddd;    margin-top: 0px !important;padding: 10px 0px 10px 20px !important;">
                             患者: <span id="visitingDetailPatientName"></span> (<span
-                                id="visitingDetailPatientAge"></span>) <span id="visitingDetailPatientGender"
+                                id="visitingDetailPatientAge"></span>) <span id="visitingDetailPatientGender"
                                                                               style="margin-right: 15px;"></span>就诊时间:<span
                                 id="visitingDetailDate" style="margin-right: 15px;"></span>科室医生:
                             <span id="visitingDetailDoctor"></span> <span id="visitingDetailDept"></span>