ソースを参照

报表数据不一直问题优化

hurugang 5 年 前
コミット
5e4024882a

+ 2 - 4
src/main/java/cn/hnthyy/thmz/controller/ChargeFeeVoController.java

@@ -390,8 +390,7 @@ public class ChargeFeeVoController {
             Integer ghfps=chargeFeeVoService.countReqrecReceipt(tokenUser.getUserIdCode(), YesNoEnum.NO.code.toString(), null, null, null);
             Integer ghtpzs=chargeFeeVoService.countReqrecReceipt(tokenUser.getUserIdCode(), YesNoEnum.YES.code.toString(), null, null, null);
             //收费发票总数
-            Integer fpCount=sffps+tpzs+zffps+ghfps+ghtpzs;
-            resultMap.put("sffps",fpCount>=0?fpCount:0);
+            resultMap.put("sffps",sffps+ghfps);
             //退费发票张数
             resultMap.put("tpzs", tpzs+ghtpzs);
             //作废收费发票张数
@@ -496,8 +495,7 @@ public class ChargeFeeVoController {
             //退号发票张数
             Integer ghtpzs=chargeFeeVoService.countReqrecReceipt(chargeFeeParamsVo.getOpId(), YesNoEnum.YES.code.toString(), chargeFeeParamsVo.getDcountDate(), null, null);
             //收费发票总数
-            Integer fpCount=sffps+tpzs+zffps+ghfps+ghtpzs;
-            resultMap.put("sffps",fpCount>=0?fpCount:0);
+            resultMap.put("sffps",sffps+ghfps);
             //退费发票张数
             resultMap.put("tpzs", tpzs+ghtpzs);
             //作废收费发票张数

+ 16 - 7
src/main/java/cn/hnthyy/thmz/mapper/his/ChargeFeeVoMapper.java

@@ -293,7 +293,7 @@ public interface ChargeFeeVoMapper {
             "         rtrim(mz_receipt_serial.serial_no) serial_no " +
             "    FROM mz_receipt_serial " +
             "   WHERE mz_receipt_serial.operator_id =#{userIdCode}  and mz_receipt_serial.dcount_no=0 " +
-            "         and mz_receipt_serial.pay_mark  <> '1' " +
+            "         and mz_receipt_serial.receipt_no  > 0 " +
             "  order by mz_receipt_serial.receipt_bill ")
     List<ReceiptBillVo> selectSfReceiptBillVoUnAccount(@Param("userIdCode") String userIdCode);
 
@@ -308,7 +308,7 @@ public interface ChargeFeeVoMapper {
             "         rtrim(mzy_reqrec.receipt_bill) receipt_bill," +
             "         rtrim(mzy_reqrec.serial_no) serial_no " +
             "    FROM mzy_reqrec " +
-            " where mzy_reqrec.op_id like #{userIdCode} and dcount_no=0 and cancel_mark  <> '1' " +
+            " where mzy_reqrec.op_id like #{userIdCode} and dcount_no=0 and times  > 0 " +
             "order by op_id,mzy_reqrec.receipt_bill")
     List<ReceiptBillVo> selectGhReceiptBillVoUnAccount(@Param("userIdCode") String userIdCode);
 
@@ -324,7 +324,7 @@ public interface ChargeFeeVoMapper {
             "         mz_receipt_serial.serial_no " +
             "    FROM mz_receipt_serial " +
             "   WHERE mz_receipt_serial.operator_id =#{userIdCode}  and mz_receipt_serial.dcount_no=1 " +
-            "         and mz_receipt_serial.pay_mark <>'1' and dcount_date=#{dcountDate,jdbcType=TIMESTAMP}  and (cheque_type <> 'Y' or cheque_type is null) " +
+            "         and mz_receipt_serial.receipt_no >0 and dcount_date=#{dcountDate,jdbcType=TIMESTAMP}  and (cheque_type <> 'Y' or cheque_type is null) " +
             "  order by mz_receipt_serial.receipt_bill  ")
     List<ReceiptBillVo> selectSfReceiptBillVoReprint(@Param("userIdCode") String userIdCode, @Param("dcountDate") Date dcountDate);
 
@@ -340,7 +340,7 @@ public interface ChargeFeeVoMapper {
             "        receipt_bill = rtrim(mzy_reqrec.receipt_bill)," +
             "         serial_no =mzy_reqrec.serial_no " +
             "    FROM mzy_reqrec " +
-            " where mzy_reqrec.op_id = #{userIdCode} and dcount_no=1 and cancel_mark <> '1' and " +
+            " where mzy_reqrec.op_id = #{userIdCode} and dcount_no=1 and times>0 and " +
             "       closing_date =#{dcountDate} " +
             "order by op_id,mzy_reqrec.receipt_bill ")
     List<ReceiptBillVo> selectGhReceiptBillVoReprint(@Param("userIdCode") String userIdCode, @Param("dcountDate") Date dcountDate);
@@ -491,9 +491,15 @@ public interface ChargeFeeVoMapper {
      * @return
      */
     @Select({"<script>",
-            "select count ( distinct receipt_bill ) from mz_receipt_serial where operator_id =#{userIdCode} and pay_mark =#{payMark} and len(receipt_bill)=8 and receipt_bill <![CDATA[<>]]> '00000000' ",
+            "select count ( distinct receipt_bill ) from mz_receipt_serial where operator_id =#{userIdCode} and len(receipt_bill)=8 and receipt_bill <![CDATA[<>]]> '00000000' ",
             "<when test='payMark!=null and payMark == 1'>",
-            " and receipt_no  <![CDATA[<]]> 0 ",
+            " and receipt_no  <![CDATA[<]]> 0 and pay_mark =1",
+            "</when>",
+            "<when test='payMark!=null and payMark == 0'>",
+            " and receipt_no <![CDATA[>]]> 0 and pay_mark in (0,2) ",
+            "</when>",
+            "<when test='payMark!=null and payMark == 2'>",
+            " and receipt_no <![CDATA[>]]> 0 and pay_mark =2 ",
             "</when>",
             "<when test='dcountDate!=null'>",
             " and dcount_date=#{dcountDate,jdbcType=TIMESTAMP} ",
@@ -551,10 +557,13 @@ public interface ChargeFeeVoMapper {
      * @return
      */
     @Select({"<script>",
-            "select count ( *) from mzy_reqrec where cancel_mark =#{cancelMark} and len(receipt_bill)=8 and receipt_bill <![CDATA[<>]]> '00000000' ",
+            "select count ( *) from mzy_reqrec where  len(receipt_bill)=8 and receipt_bill <![CDATA[<>]]> '00000000' ",
             "<when test='cancelMark!=null and cancelMark == 1'>",
             " and times <![CDATA[<]]> 0 ",
             "</when>",
+            "<when test='cancelMark!=null and cancelMark == 0'>",
+            " and times <![CDATA[>]]> 0 ",
+            "</when>",
             "<when test='userIdCode!=null'>",
             " and op_id=#{userIdCode} ",
             "</when>",

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

@@ -592,7 +592,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             mzReceiptSerialMapper.batchInsertMzReceiptSerial(mzReceiptSerials);
         }
         MzReceiptSerial updateMzReceiptSerial = new MzReceiptSerial(mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes());
-        updateMzReceiptSerial.setPayMark(PayMarkEnum.RETURN_PREMIUM.code);
+        //updateMzReceiptSerial.setPayMark(PayMarkEnum.RETURN_PREMIUM.code);
         updateMzReceiptSerial.setTfFlag(YesNoEnum.YES.code);
         mzReceiptSerialMapper.updateMzReceiptSerial(updateMzReceiptSerial);
         List<MzDepositFile> newMzDepositFiles = new ArrayList<>();
@@ -660,6 +660,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         for (MzReceiptSerial mz : mzReceiptSerials) {
             mz.setOperatorId(opId);
             mz.setReceiptNo(-mz.getReceiptNo());
+            mz.setPayId(opId);
             mz.setSerialNo(-mz.getSerialNo());
             mz.setPayMark(PayMarkEnum.RETURN_PREMIUM.code);
             mz.setTotalCharge(BigDecimal.ZERO.subtract(mz.getTotalCharge()));