InpatientDao.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package thyyxxk.wxservice_server.dao;
  2. import org.apache.ibatis.annotations.Mapper;
  3. import org.apache.ibatis.annotations.Param;
  4. import org.apache.ibatis.annotations.Select;
  5. import org.apache.ibatis.annotations.Update;
  6. import thyyxxk.wxservice_server.entity.inpatient.*;
  7. import java.math.BigDecimal;
  8. import java.util.List;
  9. /**
  10. * @author dj
  11. */
  12. @Mapper
  13. public interface InpatientDao {
  14. @Select("select rtrim(a.inpatient_no) inpatientNo, " +
  15. "rtrim(a.name) as name,rtrim(a.bed_no) as bedNo, " +
  16. "a.admiss_times, " +
  17. "convert(varchar(10), admiss_date, 21) admissDate, " +
  18. "rtrim(d.name) deptName, " +
  19. "doctorName=(select rtrim(name) from a_employee_mi with(nolock) " +
  20. "where code=isnull(a.refer_physician,a.admiss_physician)), " +
  21. "rtrim(c.total_charge) totalCharge, " +
  22. "rtrim(c.charge_yb) fundPay, " +
  23. "lastBalance=c.balance " +
  24. "from zy_actpatient a with(nolock), zy_ledger_file c with(nolock), zd_unit_code d with(nolock) " +
  25. "where a.inpatient_no=#{inpatientNo} and " +
  26. "a.inpatient_no=c.inpatient_no and " +
  27. "a.admiss_times=c.admiss_times and " +
  28. "c.ledger_sn=(select max(ledger_sn) from zy_ledger_file with(nolock) where " +
  29. "inpatient_no=a.inpatient_no and admiss_times=a.admiss_times) and " +
  30. "d.code=a.small_dept")
  31. InpatientInfo getInpatientInfo(@Param("inpatientNo") String inpatientNo);
  32. @Select("select rtrim(inpatient_no) from a_patient_mi where social_no=" +
  33. "(select social_no from mz_patient_mi where patient_id=#{patientId})")
  34. String selectInpatientNoBySocialNo(@Param("patientId") String patientId);
  35. @Select("select social_no from a_patient_mi where inpatient_no=#{inpatientNo}")
  36. String selectSocialNoByInpatientNo(@Param("inpatientNo") String inpatientNo);
  37. @Select("select top 1 rtrim(patient_id) from mz_patient_mi where " +
  38. "social_no=#{socialNo} order by lv_date desc ")
  39. String selectPatientIdBySocialNo(@Param("socialNo") String socialNo);
  40. @Select("select rtrim(inpatient_no) from a_patient_mi where mz_no=#{patientId}")
  41. String selectInpatientNoByPatientId(@Param("patientId") String patientId);
  42. @Update("execute zy_receive_drug #{inpatientNo} , #{admissTimes} , 1 , '0'")
  43. void receiveMedicineFees(@Param("inpatientNo") String inpatientNo,
  44. @Param("admissTimes") Integer admissTimes);
  45. @Update("execute zy_receive_one #{inpatientNo} , #{admissTimes} , 1 , '0' ")
  46. void receiveProjectFees(@Param("inpatientNo") String inpatientNo,
  47. @Param("admissTimes") Integer admissTimes);
  48. @Select("exec p_zz_zyfy_cx #{inpatientNo}, #{admissTimes}, null, 1, '', #{start}, #{end}")
  49. List<ZyFee> selectZyFees(GetZyFeeParam param);
  50. @Select("select depo_times, convert(varchar(19), depo_date, 21) depoDate, rtrim(depo_amount) depoAmount " +
  51. "from zy_deposit_file with(nolock) where inpatient_no=#{inpatientNo} and admiss_times=#{admissTimes}")
  52. List<Prepaid> selectPrepaidHistory(@Param("inpatientNo") String inpatientNo,
  53. @Param("admissTimes") Integer admissTimes);
  54. @Update("exec p_zz_zyyjj #{inpatientNo},#{admissTimes},'E', #{totalFee}, " +
  55. "'99999', #{payDatetime}, 1, #{tradeNo}, #{serialNo}, #{returnTxt}")
  56. void payZyYjjSuccessful(@Param("inpatientNo") String inpatientNo,
  57. @Param("admissTimes") Integer admissTimes,
  58. @Param("totalFee") BigDecimal totalFee,
  59. @Param("payDatetime") String payDatetime,
  60. @Param("tradeNo") String tradeNo,
  61. @Param("serialNo") String serialNo,
  62. @Param("returnTxt") String returnTxt);
  63. @Select("select top 1 ic_card_no from t_wechat_patient_bind with(nolock) where patient_id=#{patientId} and del_flag=0")
  64. String selectCardNoByPatientId(@Param("patientId") String patientId);
  65. @Select("select count(1) from zy_deposit_file with(nolock) where psordnum=#{tradeNo} and agtordnum=#{serialNo}")
  66. int selectSavedCount(@Param("tradeNo") String tradeNo, @Param("serialNo") String serialNo);
  67. }