Explorar o código

诊断调整,中药房加入socket自动打印

WANGJIALIANG %!s(int64=2) %!d(string=hai) anos
pai
achega
6d5f25d7cc

+ 10 - 10
src/main/java/cn/hnthyy/thmz/controller/mz/MzPharmacyController.java

@@ -426,12 +426,12 @@ public class MzPharmacyController {
             List<MzSendMedicineVo> cfxxList = mzPharmacyService.getFyclPrescriptionDetail(mzChargeDetail);
             if (cfxxList.size() > 0) {
                 MzVisitTable visit = mzVisitTableService.queryByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
-                if(StringUtils.isBlank(visit.getIcdText())){
-                    MzBlRecord mzBlRecord = mzBlRecordService.queryMzBlRecordByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
-                    cfxxList.get(0).setIcdText(mzBlRecord.getTentativeDiagnosis());
-                }else{
-                    cfxxList.get(0).setIcdText(visit.getIcdText());
+                String icdText = StringUtils.isBlank(visit.getIcdText())?"":visit.getIcdText();
+                MzBlRecord mzBlRecord = mzBlRecordService.queryMzBlRecordByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
+                if(null != mzBlRecord && StringUtils.isNotBlank(mzBlRecord.getTentativeDiagnosis())){
+                    icdText += (StringUtils.isBlank(icdText)?"":",")+mzBlRecord.getTentativeDiagnosis();
                 }
+                cfxxList.get(0).setIcdText(icdText);
                 String warnDeptName = zdUnitCodeService.queryDeptNameByIdInCache(cfxxList.get(0).getWarnDept());
                 cfxxList.get(0).setWarnDeptName(warnDeptName);
                 Employee employee = employeeService.queryByUserCode(cfxxList.get(0).getDoctorCode());
@@ -636,12 +636,12 @@ public class MzPharmacyController {
             Map<String, Object> printMap = new HashMap<>();
             MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(mzChargeDetail.getPatientId());
             MzVisitTable visit = mzVisitTableService.queryByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
-            if(StringUtils.isBlank(visit.getIcdText())){
-                MzBlRecord mzBlRecord = mzBlRecordService.queryMzBlRecordByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
-                printMap.put("icdText", mzBlRecord.getTentativeDiagnosis());//诊断
-            }else{
-                printMap.put("icdText", visit.getIcdText());
+            String icdText = StringUtils.isBlank(visit.getIcdText())?"":visit.getIcdText();
+            MzBlRecord mzBlRecord = mzBlRecordService.queryMzBlRecordByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
+            if(null != mzBlRecord && StringUtils.isNotBlank(mzBlRecord.getTentativeDiagnosis())){
+                icdText += (StringUtils.isBlank(icdText)?"":",")+mzBlRecord.getTentativeDiagnosis();
             }
+            printMap.put("icdText", icdText);
             printMap.put("patientId", mzChargeDetail.getPatientId());
             printMap.put("ybCardNo", mzPatientMi.getYbCardNo());
             printMap.put("icCardNo", mzPatientMi.getIcCardNo());

+ 12 - 1
src/main/java/cn/hnthyy/thmz/service/impl/thmz/DispensingSocketServiceImpl.java

@@ -78,6 +78,7 @@ public class DispensingSocketServiceImpl implements DispensingSocketService {
         List<MzChargeDetail> chargeDetails = mzChargeDetailService.getMzChargeDetailList(mzChargeDetail);
         List<MzChargeDetail> xyChargeDetail = new ArrayList<>();
         List<MzChargeDetail> ycChargeDetail = new ArrayList<>();
+        List<MzChargeDetail> zyChargeDetail = new ArrayList<>();
         for (int i = 0; i < chargeDetails.size(); i++) {
             MzChargeDetail chargeDetail = chargeDetails.get(i);
             if(chargeDetail.getPrintFlag().equals("0")){
@@ -85,10 +86,12 @@ public class DispensingSocketServiceImpl implements DispensingSocketService {
                     xyChargeDetail.add(chargeDetail);
                 }else if(chargeDetail.getGroupNo().equals("91")){
                     ycChargeDetail.add(chargeDetail);
+                }else if(chargeDetail.getGroupNo().equals("81")){
+                    zyChargeDetail.add(chargeDetail);
                 }
             }
         }
-        if(xyChargeDetail.size() > 0 || ycChargeDetail.size() > 0){
+        if(xyChargeDetail.size() > 0 || ycChargeDetail.size() > 0 || zyChargeDetail.size() > 0){
             Map<String,Object> msgMap = new HashMap();
             msgMap.put("patient_id",patientId);
             MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(patientId);
@@ -114,6 +117,14 @@ public class DispensingSocketServiceImpl implements DispensingSocketService {
                 objTypes.add(SocketSenderTypeEnum.DISPENSING_MEDICINE.code);
                 sendMessage(msgMap,objTypes);
             }
+            if(zyChargeDetail.size() > 0){
+                Set<Integer> orderNos = zyChargeDetail.stream().map(MzChargeDetail::getOrderNo).collect(Collectors.toSet());
+                msgMap.put("orderNos",orderNos);
+                msgMap.put("groupNo",zyChargeDetail.get(0).getGroupNo());
+                List<String> objTypes = new ArrayList<>();
+                objTypes.add(SocketSenderTypeEnum.DISPENSING_MEDICINE.code);
+                sendMessage(msgMap,objTypes);
+            }
         }
         return 0;
     }