浏览代码

解决历史发票打印问题

hurugang 4 年之前
父节点
当前提交
33180e8dfd

+ 2 - 2
src/main/java/cn/hnthyy/thmz/mapper/his/MzDepositFileMapper.java

@@ -73,12 +73,12 @@ public interface MzDepositFileMapper {
     @Select({"<script>",
             "select rtrim(patient_id) patient_id,times,receipt_no,rtrim(pay_mark) pay_mark,rtrim(cheque_type) cheque_type,rtrim(cheque_no) cheque_no,amount,charge_date,dcount_date,",
             "rtrim(dcount_no) dcount_no,rtrim(op_id) op_id,receipt_sn,serial_no,rtrim(responce_type) responce_type,yb_jlh,yb_ywh,dept_no,psordnum,agtordnum,hisrefundnum",
-            "from mz_deposit_file where patient_id =#{patientId,jdbcType=CHAR} and pay_mark=0 and times =  #{times}",
+            "from ${tableName} where patient_id =#{patientId,jdbcType=CHAR} and pay_mark=0 and times =  #{times}",
             "<when test='receiptNo!=null'>",
             " and receipt_no=#{receiptNo}",
             "</when>",
             "</script>"})
-    List<MzDepositFile> selectMzDepositFileByTimes(@Param(value = "patientId") String patientId, @Param("times") Integer times, @Param("receiptNo") Integer receiptNo);
+    List<MzDepositFile> selectMzDepositFileByTimes(@Param(value = "patientId") String patientId, @Param("times") Integer times, @Param("receiptNo") Integer receiptNo,@Param(value = "tableName") String tableName);
 
 
     /**

+ 2 - 2
src/main/java/cn/hnthyy/thmz/mapper/his/MzVisitTableMapper.java

@@ -71,9 +71,9 @@ public interface MzVisitTableMapper {
      */
     @Select("select rtrim(patient_id) patient_id,times,rtrim(visit_dept_code) visit_dept_code,rtrim(doctor_code) doctor_code,visit_date,rtrim(icd_code) icd_code," +
             "receipt_no,order_no,req_fee,cancel_mark,error_mark,rtrim(op_id) op_id,op_day,rtrim(req_dept_code) req_dept_code,rtrim(req_doctor) req_doctor,windows_no," +
-            "first_or_not,receive_flag,sick_date,rtrim(icd_text) icd_text,rtrim(symptom) symptom,jz_flag,responce_type,dwmc,gh_serial_no from mz_visit_table where " +
+            "first_or_not,receive_flag,sick_date,rtrim(icd_text) icd_text,rtrim(symptom) symptom,jz_flag,responce_type,dwmc,gh_serial_no from ${tableName} where " +
             "patient_id= #{patientId,jdbcType=VARCHAR} and times = #{times}")
-    MzVisitTable selectByPatientIdAndTimes(@Param("patientId") String patientId,@Param("times") Integer times);
+    MzVisitTable selectByPatientIdAndTimes(@Param("patientId") String patientId,@Param("times") Integer times,@Param("tableName") String tableName);
 
 
     /**

+ 5 - 5
src/main/java/cn/hnthyy/thmz/service/impl/his/MzChargeDetailServiceImpl.java

@@ -216,7 +216,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
      */
     @Override
     public MzChargeDetail unPaidToFullChargeDetail(MzChargeDetail mzChargeDetail) throws MzException {
-        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
+        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes(),"mz_visit_table");
         if (mzVisitTable == null) {
             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
         }
@@ -420,7 +420,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         if (windows == null) {
             throw new MzException("当前操作人未设置窗口号,请先设置!");
         }
-        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes());
+        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(),"mz_visit_table");
         if (mzVisitTable == null) {
             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
         }
@@ -1110,7 +1110,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
 
     @Override
     public List<MzChargeDetail> getTempMzChargeDetailListForUnPaid(MzChargeDetail mzChargeDetail) throws MzException {
-        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes());
+        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzChargeDetail.getPatientId(), mzChargeDetail.getTimes(),"mz_visit_table");
         if (mzVisitTable == null) {
             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
         }
@@ -1354,7 +1354,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
      * @return
      */
     private String getDeposFiles(String opId, MzDepositFileVo mzDepositFileVo, Date now, int times, int serialNo, BigDecimal totalPayable, String payWay, List<MzDepositFile> fullNewMzDepositFiles, boolean allRefund, List<MzDepositFile> newMzDepositFiles) {
-        List<MzDepositFile> mzDepositFiles = mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getReceiptNo());
+        List<MzDepositFile> mzDepositFiles = mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getReceiptNo(),"mz_deposit_file");
         if (mzDepositFiles != null || mzDepositFiles.size() > 0) {
             //本院记账总额
             BigDecimal byjzAmount = BigDecimal.ZERO;
@@ -2002,7 +2002,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
      */
     private List<MzDepositFile> getMzDepositFiles(MzDepositFileVo mzDepositFileVo, Date now, int serialNo, String opId) {
         List<MzDepositFile> newList = new ArrayList<>();
-        List<MzDepositFile> mzDepositFiles = mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getReceiptNo());
+        List<MzDepositFile> mzDepositFiles = mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getReceiptNo(),"mz_deposit_file");
         if (mzDepositFiles == null || mzDepositFiles.size() == 0) {
             mzDepositFiles = mzDepositFileMapper.selectMzDepositFileByTimesInHisData(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), mzDepositFileVo.getReceiptNo());
         }

+ 8 - 2
src/main/java/cn/hnthyy/thmz/service/impl/his/MzDepositFileServiceImpl.java

@@ -67,7 +67,13 @@ public class MzDepositFileServiceImpl implements MzDepositFileService {
 
     @Override
     public List<MzDepositFile> queryMzDepositFile(MzDepositFile mzDepositFile) {
-        return mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFile.getPatientId(), mzDepositFile.getTimes(), mzDepositFile.getReceiptNo());
+        String receiptSerialTableName="mz_deposit_file";
+        List<MzDepositFile> mzDepositFileList=mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFile.getPatientId(), mzDepositFile.getTimes(), mzDepositFile.getReceiptNo(),receiptSerialTableName);
+        if(mzDepositFileList!=null && mzDepositFileList.size()>0){
+            return mzDepositFileList;
+        }
+        receiptSerialTableName="mz_deposit_file_b";
+        return mzDepositFileMapper.selectMzDepositFileByTimes(mzDepositFile.getPatientId(), mzDepositFile.getTimes(), mzDepositFile.getReceiptNo(),receiptSerialTableName);
     }
 
     @Override
@@ -122,7 +128,7 @@ public class MzDepositFileServiceImpl implements MzDepositFileService {
                 map.put("chargeDate", DateUtil.fomart(mf.getChargeDate(), "yyyy-MM-dd HH:mm:ss"));
                 map.put("amount", mf.getAmount());
                 map.put("hisOrdNum", hisOrdNum);
-                MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mf.getPatientId(), mf.getTimes());
+                MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mf.getPatientId(), mf.getTimes(),"mz_visit_table");
                 if (mzVisitTable == null && YesNoEnum.YES.equals(hisData)) {
                     mzVisitTable = mzVisitTableMapper.selectHisDataByPatientIdAndTimes(mf.getPatientId(), mf.getTimes());
                 }

+ 11 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/MzReceiptSerialServiceImpl.java

@@ -18,6 +18,7 @@ import cn.hnthyy.thmz.mapper.thmz.ReceiptMapper;
 import cn.hnthyy.thmz.service.his.MzPatientMiService;
 import cn.hnthyy.thmz.service.his.MzReceiptSerialService;
 import cn.hnthyy.thmz.service.his.MzSerialNoService;
+import cn.hnthyy.thmz.service.his.MzVisitTableService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -51,6 +52,8 @@ public class MzReceiptSerialServiceImpl implements MzReceiptSerialService {
     private MzSerialNoService mzSerialNoService;
     @Autowired
     private MzPatientMiService mzPatientMiService;
+    @Autowired
+    private MzVisitTableService mzVisitTableService;
 
     @Override
     public List<MzReceiptSerial> queryTallyReceiptSerial(String patientId) {
@@ -94,6 +97,13 @@ public class MzReceiptSerialServiceImpl implements MzReceiptSerialService {
 
     @Override
     public MzReceiptSerial queryAllSerialForThisTime(String patientId, Integer times, Integer receiptNo) {
+//        String receiptSerialTableName="mz_receipt_serial";
+//        MzReceiptSerial mzReceiptSerial= mzReceiptSerialMapper.selectAllSerialForThisTime(patientId, times, receiptNo,receiptSerialTableName);
+//        if(mzReceiptSerial!=null){
+//            return mzReceiptSerial;
+//        }
+//        receiptSerialTableName="mz_receipt_serial_b";
+//        return mzReceiptSerialMapper.selectAllSerialForThisTime(patientId, times, receiptNo,receiptSerialTableName);
         return mzReceiptSerialMapper.selectAllSerialForThisTime(patientId, times, receiptNo);
     }
 
@@ -183,7 +193,7 @@ public class MzReceiptSerialServiceImpl implements MzReceiptSerialService {
         if (receipt == null || StringUtils.isBlank(receipt.getReceiptCurrent())) {
             throw new MzException("用户id=" + user.getUserName() + "没有可用的发票,请先维护发票。");
         }
-        MzVisitTable mzVisitTable = mzVisitTableMapper.selectByPatientIdAndTimes(mzReceiptSerial.getPatientId(), mzReceiptSerial.getTimes());
+        MzVisitTable mzVisitTable = mzVisitTableService.queryByPatientIdAndTimes(mzReceiptSerial.getPatientId(), mzReceiptSerial.getTimes());
         if (mzVisitTable == null) {
             throw new MzException("当前病人就诊基础资料【MzVisitTable】不存在,请检查");
         }

+ 5 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/MzVisitTableServiceImpl.java

@@ -18,7 +18,11 @@ public class MzVisitTableServiceImpl implements MzVisitTableService {
     private MzBlRecordMapper mzBlRecordMapper;
     @Override
     public MzVisitTable queryByPatientIdAndTimes(String patientId, Integer times) {
-        return mzVisitTableMapper.selectByPatientIdAndTimes(patientId,times);
+        MzVisitTable mzVisitTable= mzVisitTableMapper.selectByPatientIdAndTimes(patientId,times,"mz_visit_table");
+        if(mzVisitTable!=null){
+            return mzVisitTable;
+        }
+        return mzVisitTableMapper.selectByPatientIdAndTimes(patientId,times,"mz_visit_table_b");
     }
 
     @Override

+ 1 - 1
src/main/java/cn/hnthyy/thmz/service/impl/his/MzyReqrecServiceImpl.java

@@ -500,7 +500,7 @@ public class MzyReqrecServiceImpl implements MzyReqrecService {
         if (mzPatientMi == null) {
             throw new MzException("当前病人信息不存在");
         }
-        MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(dbMzyReqrec.getPatientId(),dbMzyReqrec.getTimes());
+        MzVisitTable mzVisitTable=mzVisitTableMapper.selectByPatientIdAndTimes(dbMzyReqrec.getPatientId(),dbMzyReqrec.getTimes(),"mz_visit_table");
         if(mzVisitTable==null){
             throw new MzException("流水号对应的病人就诊记录信息不存在");
         }