|
@@ -8,6 +8,7 @@ import cn.hnthyy.thmz.entity.his.mz.Employee;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzBlRecord;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzChargeDetail;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzDrugTracCodg;
|
|
|
+import cn.hnthyy.thmz.entity.his.mz.MzOrderDetail;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzOrderFrequency;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzPatientMi;
|
|
|
import cn.hnthyy.thmz.entity.his.mz.MzVisitTable;
|
|
@@ -28,6 +29,7 @@ import cn.hnthyy.thmz.service.his.mz.EmployeeService;
|
|
|
import cn.hnthyy.thmz.service.his.mz.MzBlRecordService;
|
|
|
import cn.hnthyy.thmz.service.his.mz.MzChargeDetailService;
|
|
|
import cn.hnthyy.thmz.service.his.mz.MzDrugTracCodgService;
|
|
|
+import cn.hnthyy.thmz.service.his.mz.MzOrderDetailService;
|
|
|
import cn.hnthyy.thmz.service.his.mz.MzOrderFrequencyService;
|
|
|
import cn.hnthyy.thmz.service.his.mz.MzPatientMiService;
|
|
|
import cn.hnthyy.thmz.service.his.mz.MzPharmacyService;
|
|
@@ -131,6 +133,9 @@ public class MzPharmacyController {
|
|
|
|
|
|
@Autowired
|
|
|
private YbController ybController;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MzOrderDetailService mzOrderDetailService;
|
|
|
/**
|
|
|
* 查询处方信息
|
|
|
*
|
|
@@ -480,14 +485,30 @@ public class MzPharmacyController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 获取医院审批标志(从mz_charge_detail表获取)
|
|
|
- if (mzChargeDetail.getHospApprFlag() != null) {
|
|
|
- // 映射医院审批标志到就诊结算类型
|
|
|
- if (mzChargeDetail.getHospApprFlag() == 0) {
|
|
|
- mzChargeDetail.setMdtrtSetlType(1); // 医保结算
|
|
|
- } else if (mzChargeDetail.getHospApprFlag() == 2) {
|
|
|
- mzChargeDetail.setMdtrtSetlType(2); // 自费结算
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder()
|
|
|
+ .patientId(mzChargeDetail.getPatientId())
|
|
|
+ .times(mzChargeDetail.getTimes())
|
|
|
+ .receiptNo(mzChargeDetail.getReceiptNo())
|
|
|
+ .build()).stream().findFirst().orElse(null);
|
|
|
+
|
|
|
+ if (mzOrderDetail != null) {
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ if (mzOrderDetail.getOrderType() != null) {
|
|
|
+ if (mzOrderDetail.getOrderType() == 2) {
|
|
|
+ // 门诊统筹 - 医保结算
|
|
|
+ mzChargeDetail.setMdtrtSetlType(1);
|
|
|
+ } else {
|
|
|
+ // 普通处方、特门处方、GCP实验等 - 自费结算
|
|
|
+ mzChargeDetail.setMdtrtSetlType(2);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 默认自费结算
|
|
|
+ mzChargeDetail.setMdtrtSetlType(2);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ // 查询不到处方类型信息,默认自费结算
|
|
|
+ mzChargeDetail.setMdtrtSetlType(2);
|
|
|
}
|
|
|
// 查询今日排队发药状态
|
|
|
YpPdQueue pdQueue = ypPdQueueService.selectYpPdQueueByPatientId(mzChargeDetail.getPatientId());
|
|
@@ -557,14 +578,30 @@ public class MzPharmacyController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 获取医院审批标志(从mz_charge_detail表获取)
|
|
|
- if (chargeDetailInfoVo.getHospApprFlag() != null) {
|
|
|
- // 映射医院审批标志到就诊结算类型
|
|
|
- if (chargeDetailInfoVo.getHospApprFlag() == 0) {
|
|
|
- chargeDetailInfoVo.setMdtrtSetlType(1); // 医保结算
|
|
|
- } else if (chargeDetailInfoVo.getHospApprFlag() == 2) {
|
|
|
- chargeDetailInfoVo.setMdtrtSetlType(2); // 自费结算
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder()
|
|
|
+ .patientId(chargeDetailInfoVo.getPatientId())
|
|
|
+ .times(chargeDetailInfoVo.getTimes())
|
|
|
+ .receiptNo(chargeDetailInfoVo.getReceiptNo())
|
|
|
+ .build()).stream().findFirst().orElse(null);
|
|
|
+
|
|
|
+ if (mzOrderDetail != null) {
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ if (mzOrderDetail.getOrderType() != null) {
|
|
|
+ if (mzOrderDetail.getOrderType() == 2) {
|
|
|
+ // 门诊统筹 - 医保结算
|
|
|
+ chargeDetailInfoVo.setMdtrtSetlType(1);
|
|
|
+ } else {
|
|
|
+ // 普通处方、特门处方、GCP实验等 - 自费结算
|
|
|
+ chargeDetailInfoVo.setMdtrtSetlType(2);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 默认自费结算
|
|
|
+ chargeDetailInfoVo.setMdtrtSetlType(2);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ // 查询不到处方类型信息,默认自费结算
|
|
|
+ chargeDetailInfoVo.setMdtrtSetlType(2);
|
|
|
}
|
|
|
|
|
|
// 查询今日排队发药状态
|
|
@@ -726,14 +763,30 @@ public class MzPharmacyController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 获取医院审批标志(从mz_charge_detail表获取)
|
|
|
- if (mzSendMedicineVo.getHospApprFlag() != null) {
|
|
|
- // 映射医院审批标志到就诊结算类型
|
|
|
- if (mzSendMedicineVo.getHospApprFlag() == 0) {
|
|
|
- mzSendMedicineVo.setMdtrtSetlType(1); // 医保结算
|
|
|
- } else if (mzSendMedicineVo.getHospApprFlag() == 2) {
|
|
|
- mzSendMedicineVo.setMdtrtSetlType(2); // 自费结算
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder()
|
|
|
+ .patientId(mzSendMedicineVo.getPatientId())
|
|
|
+ .times(mzSendMedicineVo.getTimes())
|
|
|
+ .receiptNo(mzSendMedicineVo.getReceiptNo())
|
|
|
+ .build()).stream().findFirst().orElse(null);
|
|
|
+
|
|
|
+ if (mzOrderDetail != null) {
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ if (mzOrderDetail.getOrderType() != null) {
|
|
|
+ if (mzOrderDetail.getOrderType() == 2) {
|
|
|
+ // 门诊统筹 - 医保结算
|
|
|
+ mzSendMedicineVo.setMdtrtSetlType(1);
|
|
|
+ } else {
|
|
|
+ // 普通处方、特门处方、GCP实验等 - 自费结算
|
|
|
+ mzSendMedicineVo.setMdtrtSetlType(2);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 默认自费结算
|
|
|
+ mzSendMedicineVo.setMdtrtSetlType(2);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ // 查询不到处方类型信息,默认自费结算
|
|
|
+ mzSendMedicineVo.setMdtrtSetlType(2);
|
|
|
}
|
|
|
}
|
|
|
resultMap.put("code", 0);
|
|
@@ -2098,7 +2151,28 @@ public class MzPharmacyController {
|
|
|
selinfoSold.setPharName(getCurrentUserName(params));
|
|
|
selinfoSold.setPharPracCertNo(getPharPracCertNo(params));
|
|
|
selinfoSold.setSelRetnOpterName(getCurrentUserName(params));
|
|
|
- selinfoSold.setMdtrtSetlType(item.get("mdtrtSetlType") != null ? (String) item.get("mdtrtSetlType") : "2");
|
|
|
+ // 根据处方类型设置就诊结算类型
|
|
|
+ String patientId = (String) item.get("patient_id");
|
|
|
+ Integer times = timesObj instanceof Short ? ((Short) timesObj).intValue() : (Integer) timesObj;
|
|
|
+ Integer receiptNo = itemReceiptNoObj instanceof Short ? ((Short) itemReceiptNoObj).intValue() : (Integer) itemReceiptNoObj;
|
|
|
+
|
|
|
+ MzOrderDetail mzOrderDetail = mzOrderDetailService.queryByEntity(MzOrderDetail.builder()
|
|
|
+ .patientId(patientId)
|
|
|
+ .times(times)
|
|
|
+ .receiptNo(receiptNo)
|
|
|
+ .build()).stream().findFirst().orElse(null);
|
|
|
+
|
|
|
+ String mdtrtSetlType = "2"; // 默认自费结算
|
|
|
+ if (mzOrderDetail != null && mzOrderDetail.getOrderType() != null) {
|
|
|
+ if (mzOrderDetail.getOrderType() == 2) {
|
|
|
+ // 门诊统筹 - 医保结算
|
|
|
+ mdtrtSetlType = "1";
|
|
|
+ } else {
|
|
|
+ // 普通处方、特门处方、GCP实验等 - 自费结算
|
|
|
+ mdtrtSetlType = "2";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ selinfoSold.setMdtrtSetlType(mdtrtSetlType);
|
|
|
selinfoSold.setRxFlag(item.get("rx_flag") != null ? (String) item.get("rx_flag") : "0");
|
|
|
//selinfoSold.setTrdnFlag(item.get("cl_flag") != null ? (String) item.get("cl_flag") : "0");
|
|
|
// 基于serial字段正确判断拆零标志
|