Browse Source

发药记录统计诊断获取调整

WANGJIALIANG 2 năm trước cách đây
mục cha
commit
0f2f1d3600

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

@@ -758,12 +758,12 @@ public class MzPharmacyController {
                 Map<String, Object> printMap = new HashMap<>();
                 MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(prescription.getPatientId());
                 MzVisitTable visit = mzVisitTableService.queryByPatientIdAndTimes(prescription.getPatientId(), prescription.getTimes());
-                if(StringUtils.isBlank(visit.getIcdText())){
-                    MzBlRecord mzBlRecord = mzBlRecordService.queryMzBlRecordByPatientIdAndTimes(prescription.getPatientId(), prescription.getTimes());
-                    printMap.put("icdText", mzBlRecord.getTentativeDiagnosis());//诊断
-                }else{
-                    printMap.put("icdText", visit.getIcdText());
+                String icdText = StringUtils.isBlank(visit.getIcdText())?"":visit.getIcdText();
+                MzBlRecord mzBlRecord = mzBlRecordService.queryMzBlRecordByPatientIdAndTimes(prescription.getPatientId(), prescription.getTimes());
+                if(null != mzBlRecord && StringUtils.isNotBlank(mzBlRecord.getTentativeDiagnosis())){
+                    icdText += (StringUtils.isBlank(icdText)?"":",")+mzBlRecord.getTentativeDiagnosis();
                 }
+                printMap.put("icdText", icdText);
                 printMap.put("patientId", prescription.getPatientId());
                 printMap.put("ybCardNo", mzPatientMi.getYbCardNo());
                 printMap.put("icCardNo", mzPatientMi.getIcCardNo());
@@ -918,12 +918,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());

+ 3 - 6
src/main/java/cn/hnthyy/thmz/mapper/his/yf/YfSpiritAnestheticPrintMapper.java

@@ -28,16 +28,15 @@ public interface YfSpiritAnestheticPrintMapper {
             " sex=c.sex," +
             " age=c.age," +
             " a.times," +
-            " social_no=c.social_no," +
+            " social_no=isnull(c.social_no,'')," +
             " drugname=b.name," +
             " quantity=case when a.receipt_no<![CDATA[<]]>'0' then -abs(a.quantity*cy_fy) else a.quantity*cy_fy end ," +
             " doctor_code=a.doctor_id," +
             " a.warn_dept," +
             " b.specification," +
-            " icd_text=isnull(d.icd_text,'')," +
             " a.charge_item_code," +
             " a.manu_no" +
-            " from yp_mz_fytj a WITH(NOLOCK),yp_zd_dict b WITH(NOLOCK),mz_patient_mi c WITH(NOLOCK),mz_visit_table d WITH(NOLOCK)" +
+            " from yp_mz_fytj a WITH(NOLOCK),yp_zd_dict b WITH(NOLOCK),mz_patient_mi c WITH(NOLOCK)" +
             " where a.charge_item_code=b.code and" +
             "       a.serial=b.serial and" +
             "       b.drug_flag in " +
@@ -45,8 +44,6 @@ public interface YfSpiritAnestheticPrintMapper {
             "           #{item}  " +
             "       </foreach> and" +
             "       a.patient_id=c.patient_id and" +
-            "       a.patient_id=d.patient_id and" +
-            "       a.times*=d.times and" +
             "       <when test='chargeItemCode!=null'>"+
             "       a.charge_item_code=#{chargeItemCode} and" +
             "       </when>"+
@@ -219,7 +216,7 @@ public interface YfSpiritAnestheticPrintMapper {
             "       warn_dept_name=h.name," +
             "       id=a.patient_id," +
             "       a.times," +
-            "       icd_text=cast(isnull(i.icd_text,'') as varchar(50))," +
+            "       icd_text=isnull(nullif(i.icd_text_new,''), rtrim(i.icd_text))," +
             "       drug_name=d.name," +
             "       abbr_name=e.name," +
             "       quantity = case when a.serial=d.serial then case when a.receipt_no <![CDATA[<]]> '0' then -abs(a.quantity*cy_fy) else a.quantity*a.cy_fy end else case when a.receipt_no <![CDATA[<]]> '0' then -abs(a.quantity*a.cy_fy/d.pack_size) else a.quantity*a.cy_fy/d.pack_size end end," +

+ 21 - 13
src/main/java/cn/hnthyy/thmz/service/impl/his/yf/YfSpiritAnestheticPrintServiceImpl.java

@@ -2,6 +2,7 @@ package cn.hnthyy.thmz.service.impl.his.yf;
 
 import cn.hnthyy.thmz.entity.his.mz.Employee;
 import cn.hnthyy.thmz.entity.his.mz.MzBlRecord;
+import cn.hnthyy.thmz.entity.his.mz.MzVisitTable;
 import cn.hnthyy.thmz.entity.his.yp.YpZdDict;
 import cn.hnthyy.thmz.entity.his.zd.ZdUnitCode;
 import cn.hnthyy.thmz.entity.his.zy.APatientMi;
@@ -14,6 +15,7 @@ import cn.hnthyy.thmz.mapper.his.yp.YpZdManufactoryMapper;
 import cn.hnthyy.thmz.mapper.his.zd.ZdUnitCodeMapper;
 import cn.hnthyy.thmz.mapper.his.zy.APatientMiMapper;
 import cn.hnthyy.thmz.mapper.his.zy.ZyActpatientMapper;
+import cn.hnthyy.thmz.service.his.mz.MzVisitTableService;
 import cn.hnthyy.thmz.service.his.yf.YfSpiritAnestheticPrintService;
 import cn.hnthyy.thmz.vo.MzSendMedicineVo;
 import cn.hnthyy.thmz.vo.SendDrugRecordVo;
@@ -50,15 +52,21 @@ public class YfSpiritAnestheticPrintServiceImpl implements YfSpiritAnestheticPri
     @SuppressWarnings("all")
     @Autowired
     private MzBlRecordMapper mzBlRecordMapper;
+    @SuppressWarnings("all")
+    @Autowired
+    private MzVisitTableService mzVisitTableService;
 
     @Override
     public List<MzSendMedicineVo> queryMzSpiritAnestheticPrint(String beginDate, String endDate, String chargeItemCode, String unitCode, String[] drugFlags) {
         List<MzSendMedicineVo> mzSendMedicineVos = yfSpiritAnestheticPrintMapper.selectMzSpiritAnestheticPrint(beginDate, endDate, chargeItemCode, unitCode, drugFlags);
         mzSendMedicineVos.stream().forEach(mzSendMedicineVo -> {
-            if(StringUtils.isBlank(mzSendMedicineVo.getIcdText())){
-                MzBlRecord mzBlRecord = mzBlRecordMapper.selectMzBlRecordByPatientIdAndTimes(mzSendMedicineVo.getPatientId(),mzSendMedicineVo.getTimes());
-                mzSendMedicineVo.setIcdText(mzBlRecord.getTentativeDiagnosis());
+            MzVisitTable mzVisitTable = mzVisitTableService.queryByPatientIdAndTimes(mzSendMedicineVo.getPatientId(), mzSendMedicineVo.getTimes());
+            String icdText = StringUtils.isBlank(mzVisitTable.getIcdText())?"":mzVisitTable.getIcdText();
+            MzBlRecord mzBlRecord = mzBlRecordMapper.selectMzBlRecordByPatientIdAndTimes(mzSendMedicineVo.getPatientId(), mzSendMedicineVo.getTimes());
+            if(null != mzBlRecord && StringUtils.isNotBlank(mzBlRecord.getTentativeDiagnosis())){
+                icdText += (StringUtils.isBlank(icdText)?"":",")+mzBlRecord.getTentativeDiagnosis();
             }
+            mzSendMedicineVo.setIcdText(icdText);
         });
         return mzSendMedicineVos;
     }
@@ -76,23 +84,23 @@ public class YfSpiritAnestheticPrintServiceImpl implements YfSpiritAnestheticPri
             sendDrugRecordVos.addAll(yfSpiritAnestheticPrintMapper.selectZyRecord(sendDrugRecordVo));
             List<SendDrugRecordVo> vos = yfSpiritAnestheticPrintMapper.selectMzRecord(sendDrugRecordVo);
             vos.stream().forEach(mz -> {
-                if(StringUtils.isBlank(mz.getIcdText())){
-                    MzBlRecord mzBlRecord = mzBlRecordMapper.selectMzBlRecordByPatientIdAndTimes(mz.getId(),mz.getTimes());
-                    if(mzBlRecord != null){
-                        mz.setIcdText(mzBlRecord.getTentativeDiagnosis());
-                    }
+                String icdText = StringUtils.isBlank(mz.getIcdText())?"":mz.getIcdText();
+                MzBlRecord mzBlRecord = mzBlRecordMapper.selectMzBlRecordByPatientIdAndTimes(mz.getId(),mz.getTimes());
+                if(null != mzBlRecord && StringUtils.isNotBlank(mzBlRecord.getTentativeDiagnosis())){
+                    icdText += (StringUtils.isBlank(icdText)?"":",")+mzBlRecord.getTentativeDiagnosis();
                 }
+                mz.setIcdText(icdText);
             });
             sendDrugRecordVos.addAll(vos);
         }else if(sendDrugRecordVo.getQueryScope() == 1){
             List<SendDrugRecordVo> vos = yfSpiritAnestheticPrintMapper.selectMzRecord(sendDrugRecordVo);
             vos.stream().forEach(mz -> {
-                if(StringUtils.isBlank(mz.getIcdText())){
-                    MzBlRecord mzBlRecord = mzBlRecordMapper.selectMzBlRecordByPatientIdAndTimes(mz.getId(),mz.getTimes());
-                    if(mzBlRecord != null){
-                        mz.setIcdText(mzBlRecord.getTentativeDiagnosis());
-                    }
+                String icdText = StringUtils.isBlank(mz.getIcdText())?"":mz.getIcdText();
+                MzBlRecord mzBlRecord = mzBlRecordMapper.selectMzBlRecordByPatientIdAndTimes(mz.getId(),mz.getTimes());
+                if(null != mzBlRecord && StringUtils.isNotBlank(mzBlRecord.getTentativeDiagnosis())){
+                    icdText += (StringUtils.isBlank(icdText)?"":",")+mzBlRecord.getTentativeDiagnosis();
                 }
+                mz.setIcdText(icdText);
             });
             sendDrugRecordVos.addAll(vos);
         }else if(sendDrugRecordVo.getQueryScope() == 2){

+ 1 - 1
src/main/resources/templates/yk/drug_storage.html

@@ -51,7 +51,7 @@
                                 title="重置"><i class="fa fa-rotate-left"></i>
                         </button>
                         <button type="button" style="margin-left:3px" id="btn_record" class="btn btn-primary"
-                                title="库单记录"><i class="fa fa-list-alt"></i>
+                                title="库单记录"><i class="fa fa-list-alt"></i>
                         </button>
                     </div>
                 </div>