修改payapi-sdk版本为1.0.29
diff --git a/backend/build.gradle b/backend/build.gradle
index 30774d0..b1e80f4 100644
--- a/backend/build.gradle
+++ b/backend/build.gradle
@@ -74,7 +74,7 @@
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.9.1'
compile group: 'log4j', name: 'log4j', version: '1.2.17'
- compile group: 'com.supwisdom', name: 'payapi-sdk', version: '1.0.28-10-g10b32b4'
+ compile group: 'com.supwisdom', name: 'payapi-sdk', version: '1.0.29'
implementation 'org.hamcrest:hamcrest:2.1'
}
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBExamReport.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBExamReport.java
new file mode 100644
index 0000000..7285dc0
--- /dev/null
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBExamReport.java
@@ -0,0 +1,91 @@
+package com.supwisdom.dlpay.medical.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.sql.Date;
+
+public class TBExamReport {
+ @Id
+ @Column(name = "PATIENTID", length = 64)
+ private String patientId;
+ /**
+ * 检查流水号
+ */
+ @Column(name = "JCLSH", length = 32)
+ private String JCLSH;
+ /**
+ * 患者身份证号码
+ */
+ @Column(name = "HZSFZ", length = 20)
+ private String HZSFZ;
+ /**
+ * 就诊流水号
+ */
+ @Column(name = "JZLSH", length = 32)
+ private String JZLSH;
+ /**
+ * 患者姓名
+ */
+ @Column(name = "HZXM", length = 50)
+ private String HZXM;
+ /**
+ * 病床号
+ */
+ @Column(name = "BCH", length = 20)
+ private String BCH;
+ /**
+ * 病区名称
+ */
+ @Column(name = "BQMC", length = 50)
+ private String BQMC;
+ /**
+ * 标本样本采样时间
+ */
+ @Column(name = "BBCYRQ")
+ private Date BBCYRQ;
+ /**
+ * 检查项目名称
+ */
+ @Column(name = "JCXMMC")
+ private String JCXMMC;
+ /**
+ * 检查定量结果
+ */
+ @Column(name = "JCDLJG", precision = 14, scale = 4)
+ private Double JCDLJG;
+ /**
+ * 检查定量结果计量单位
+ */
+ @Column(name = "JCDLJGJLDW", length = 20)
+ private String JCDLJGJLDW;
+ /**
+ * 性别代码
+ */
+ @Column(name = "XB", length = 5)
+ private String XB;
+ /**
+ * 报告医生姓名
+ */
+ @Column(name = "BGYSXM", length = 50)
+ private String BGYSXM;
+ /**
+ * 检查报告日期
+ */
+ @Column(name = "BGSJ")
+ private Date BGSJ;
+ /**
+ * 审核医师姓名
+ */
+ @Column(name = "SHYSXM", length = 50)
+ private String SHYSXM;
+ /**
+ * 医疗机构代码
+ */
+ @Column(name = "YLJGDM", length = 30)
+ private String YLJGDM;
+ /**
+ * 医疗机构名称
+ */
+ @Column(name = "YLJGMC", length = 50)
+ private String YLJGMC;
+}
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBLabDetail.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBLabDetail.java
new file mode 100644
index 0000000..b529ed4
--- /dev/null
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBLabDetail.java
@@ -0,0 +1,58 @@
+package com.supwisdom.dlpay.medical.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+
+public class TBLabDetail {
+ /**
+ * 检验明细流水号
+ */
+ @Id
+ @Column(name = "JYMXLSH", length = 32)
+ private String JYMXLSH;
+ /**
+ * 就诊流水号
+ */
+ @Column(name = "JZLSH", length = 32)
+ private String JZLSH;
+ /**
+ * 检验报告单号
+ */
+ @Column(name = "JYBGDH", length = 32)
+ private String JYBGDH;
+ /**
+ * 检验结果
+ */
+ @Column(name = "JYJG", length = 100)
+ private String JYJG;
+ /**
+ * 检测定量结果:患者检验结果的测量值(定量)
+ */
+ @Column(name = "JYDLJG", length = 40)
+ private String JYDLJG;
+ /**
+ * 检查/检验计量单位
+ */
+ @Column(name = "JLDW", length = 20)
+ private String JLDW;
+ /**
+ * 参考值范围
+ */
+ @Column(name = "CKDX", length = 1000)
+ private String CKDX;
+ /**
+ * 检验项目名称
+ */
+ @Column(name = "JYXMMC", length = 80)
+ private String JYXMMC;
+ /**
+ * 检验项目英文简称
+ */
+ @Column(name = "JYXMYWMC", length = 100)
+ private String JYXMYWMC;
+ /**
+ * 显示顺序
+ */
+ @Column(name = "XSSX", length = 40)
+ private String XSSX;
+}
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBLabReport.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBLabReport.java
new file mode 100644
index 0000000..c0d30c1
--- /dev/null
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBLabReport.java
@@ -0,0 +1,266 @@
+package com.supwisdom.dlpay.medical.domain;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.sql.Date;
+
+public class TBLabReport {
+ @Id
+ @Column(name = "PATIENTID", length = 64)
+ private String patientId;
+ /**
+ * 检验报告单号
+ */
+ @Column(name = "JYBGDH", length = 32)
+ private String JYBGDH;
+ /**
+ * 患者身份证
+ */
+ @Column(name = "HZSFZ", length = 20)
+ private String HZSFZ;
+ /**
+ * 病床号
+ */
+ @Column(name = "BCH", length = 20)
+ private String BCH;
+ /**
+ * 病区名称
+ */
+ @Column(name = "BQMC", length = 50)
+ private String BQMC;
+ /**
+ * 患者姓名
+ */
+ @Column(name = "HZXM", length = 20)
+ private String HZXM;
+ /**
+ * 性别代码
+ */
+ @Column(name = "XB", length = 5)
+ private String XB;
+ /**
+ * 诊断日期
+ */
+ @Column(name = "ZDRQ")
+ private Date ZDRQ;
+ /**
+ * 标本类别(字典DE04.50.134.00)
+ */
+ @Column(name = "BZLB", length = 20)
+ private String BZLB;
+ /**
+ * 检验报告单机构(科室)
+ */
+ @Column(name = "JYBGDJG", length = 50)
+ private String JYBGDJG;
+ /**
+ * 检验报告机构名称
+ */
+ @Column(name = "JYBGJGMC", length = 50)
+ private String JYBGJGMC;
+ /**
+ * 检验报告结果
+ */
+ @Column(name = "JYBGJG", length = 200)
+ private String JYBGJG;
+ /**
+ * 检验报告备注
+ */
+ @Column(name = "BZ", length = 500)
+ private String BZ;
+ /**
+ * 检验报告日期
+ */
+ @Column(name = "JYBGRQ")
+ private Date JYBGRQ;
+ /**
+ * 审核医生姓名
+ */
+ @Column(name = "SHYSXM", length = 50)
+ private String SHYSXM;
+ /**
+ * 报告医生姓名
+ */
+ @Column(name = "BGYSXM", length = 50)
+ private String BGYSXM;
+ /**
+ * 检验日期(检验报告执行时间)
+ */
+ @Column(name = "JYRQ")
+ private Date JYRQ;
+ /**
+ * 诊断机构名称
+ */
+ @Column(name = "ZDJGMC", length = 50)
+ private String ZDJGMC;
+ /**
+ * 医疗机构代码
+ */
+ @Column(name = "YLJGDM", length = 30)
+ private String YLJGDM;
+ /**
+ * 医疗机构名称
+ */
+ @Column(name = "YLJGMC", length = 50)
+ private String YLJGMC;
+
+ public String getPatientId() {
+ return patientId;
+ }
+
+ public void setPatientId(String patientId) {
+ this.patientId = patientId;
+ }
+
+ public String getJYBGDH() {
+ return JYBGDH;
+ }
+
+ public void setJYBGDH(String JYBGDH) {
+ this.JYBGDH = JYBGDH;
+ }
+
+ public String getHZSFZ() {
+ return HZSFZ;
+ }
+
+ public void setHZSFZ(String HZSFZ) {
+ this.HZSFZ = HZSFZ;
+ }
+
+ public String getBCH() {
+ return BCH;
+ }
+
+ public void setBCH(String BCH) {
+ this.BCH = BCH;
+ }
+
+ public String getBQMC() {
+ return BQMC;
+ }
+
+ public void setBQMC(String BQMC) {
+ this.BQMC = BQMC;
+ }
+
+ public String getHZXM() {
+ return HZXM;
+ }
+
+ public void setHZXM(String HZXM) {
+ this.HZXM = HZXM;
+ }
+
+ public String getXB() {
+ return XB;
+ }
+
+ public void setXB(String XB) {
+ this.XB = XB;
+ }
+
+ public Date getZDRQ() {
+ return ZDRQ;
+ }
+
+ public void setZDRQ(Date ZDRQ) {
+ this.ZDRQ = ZDRQ;
+ }
+
+ public String getBZLB() {
+ return BZLB;
+ }
+
+ public void setBZLB(String BZLB) {
+ this.BZLB = BZLB;
+ }
+
+ public String getJYBGDJG() {
+ return JYBGDJG;
+ }
+
+ public void setJYBGDJG(String JYBGDJG) {
+ this.JYBGDJG = JYBGDJG;
+ }
+
+ public String getJYBGJGMC() {
+ return JYBGJGMC;
+ }
+
+ public void setJYBGJGMC(String JYBGJGMC) {
+ this.JYBGJGMC = JYBGJGMC;
+ }
+
+ public String getJYBGJG() {
+ return JYBGJG;
+ }
+
+ public void setJYBGJG(String JYBGJG) {
+ this.JYBGJG = JYBGJG;
+ }
+
+ public String getBZ() {
+ return BZ;
+ }
+
+ public void setBZ(String BZ) {
+ this.BZ = BZ;
+ }
+
+ public Date getJYBGRQ() {
+ return JYBGRQ;
+ }
+
+ public void setJYBGRQ(Date JYBGRQ) {
+ this.JYBGRQ = JYBGRQ;
+ }
+
+ public String getSHYSXM() {
+ return SHYSXM;
+ }
+
+ public void setSHYSXM(String SHYSXM) {
+ this.SHYSXM = SHYSXM;
+ }
+
+ public String getBGYSXM() {
+ return BGYSXM;
+ }
+
+ public void setBGYSXM(String BGYSXM) {
+ this.BGYSXM = BGYSXM;
+ }
+
+ public Date getJYRQ() {
+ return JYRQ;
+ }
+
+ public void setJYRQ(Date JYRQ) {
+ this.JYRQ = JYRQ;
+ }
+
+ public String getZDJGMC() {
+ return ZDJGMC;
+ }
+
+ public void setZDJGMC(String ZDJGMC) {
+ this.ZDJGMC = ZDJGMC;
+ }
+
+ public String getYLJGDM() {
+ return YLJGDM;
+ }
+
+ public void setYLJGDM(String YLJGDM) {
+ this.YLJGDM = YLJGDM;
+ }
+
+ public String getYLJGMC() {
+ return YLJGMC;
+ }
+
+ public void setYLJGMC(String YLJGMC) {
+ this.YLJGMC = YLJGMC;
+ }
+}
diff --git a/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java
index 98d6b25..8fc6d2e 100644
--- a/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java
+++ b/backend/src/main/java/com/supwisdom/dlpay/medical/domain/TBMedicalDtl.java
@@ -241,4 +241,12 @@
public void setMergingname(String mergingname) {
this.mergingname = mergingname;
}
+
+ public String getMedicaldate() {
+ return medicaldate;
+ }
+
+ public void setMedicaldate(String medicaldate) {
+ this.medicaldate = medicaldate;
+ }
}
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt
index ee3e35e..81eaa06 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/MedicalApi.kt
@@ -191,12 +191,12 @@
* 获取已支付列表
*/
@PostMapping("/payed/list")
- fun getPayedList(hospitalcode: String, cardid: String): JsonResult? {
+ fun getPayedList(hospitalcode: String): JsonResult? {
try {
val p = SecurityContextHolder.getContext().authentication
val user = mobileApiService.findUserById(p.name)
?: return JsonResult.error("用户不存在,请注册")
- val data = medicalService.getPayedList(user.uid, hospitalcode, cardid)
+ val data = medicalService.getPayedList(user.uid, hospitalcode)
return JsonResult.ok().put("data", data)
} catch (e: Exception) {
logger.error("系统异常", e)
@@ -254,15 +254,17 @@
val user = mobileApiService.findUserById(p.name)
?: return JsonResult.error("用户不存在,请注册")
val result = medicalService.queryMedicalPayResult(billno, user.uid)
- return if (result!!["code"] == MedicalConstant.MEDICAL_RESPONSE_SUCCESS) {
- if (result["msg"] == MedicalConstant.DTL_STATUS_SUCCESS) {
+ return when {
+ result!!["msg"] == MedicalConstant.DTL_STATUS_SUCCESS -> {
notifyHISAsyncTask.notifyHIS(billno)
JsonResult.ok().put("status", MedicalConstant.DTL_STATUS_SUCCESS)
- } else {
+ }
+ result["msg"] == MedicalConstant.DTL_STATUS_FAIL -> {
+ JsonResult.ok(result["error"] as String).put("status", MedicalConstant.DTL_STATUS_FAIL)
+ }
+ else -> {
JsonResult.ok().put("status", MedicalConstant.DTL_STATUS_WIP)
}
- } else {
- result
}
} catch (e: Exception) {
logger.error("系统异常", e)
@@ -304,5 +306,13 @@
bean.cardNo = userInfo.cardno
bean.idno = userInfo.idno
return JsonResult.ok()
+ }
+
+ /**
+ * 获取报告(检验、检查报告)
+ */
+ @PostMapping("/report")
+ fun getDiagnosticReport() {
+
}*/
}
\ No newline at end of file
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt
index 446980f..93e35ee 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/bean/PayedBean.kt
@@ -33,10 +33,12 @@
}
class PayedDTO {
+ var billNo: String = ""
var medicalDate: String? = ""
var mergingName: String? = ""
var executionStatus: Int? = 0
var execute: String? = ""
var totalFee: Double? = 0.0
var admNumber: String? = ""
+ var notifyStatus: Boolean? = false
}
\ No newline at end of file
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt
index f535820..065db64 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/dao/MedicalDtlDao.kt
@@ -21,5 +21,5 @@
fun findByUidAndEmergencyAndFeenoAndOrganizationidAndPaystatusNot(uid: String, emergency: String, feeNo: String, organizationId: String, payStatus: String): TBMedicalDtl?
- fun findByUidAndOrganizationidAndPaystatus(uid: String, organizationId: String, payStatus: String, pageable: Pageable): List<TBMedicalDtl>?
+ fun findByUidAndOrganizationidAndPaystatusOrderByAccdateDesc(uid: String, organizationId: String, payStatus: String, pageable: Pageable): List<TBMedicalDtl>?
}
\ No newline at end of file
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicalService.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicalService.kt
index 1e5683c..eb6419b 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicalService.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/MedicalService.kt
@@ -57,4 +57,8 @@
@Transactional
fun queryMedicalPayResult(billNo: String, uid: String): JsonResult?
+
+ @Transactional
+ fun getDiagnosticReport(uid: String): JsonResult?
+
}
\ No newline at end of file
diff --git a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicalServiceImpl.kt b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicalServiceImpl.kt
index f2e38ec..58d02cc 100644
--- a/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicalServiceImpl.kt
+++ b/backend/src/main/kotlin/com/supwisdom/dlpay/medical/service/impl/MedicalServiceImpl.kt
@@ -9,10 +9,7 @@
import com.supwisdom.dlpay.framework.util.MoneyUtil
import com.supwisdom.dlpay.framework.util.StringUtil
import com.supwisdom.dlpay.medical.bean.*
-import com.supwisdom.dlpay.medical.dao.AppointmentDtlDao
-import com.supwisdom.dlpay.medical.dao.HospitalDao
-import com.supwisdom.dlpay.medical.dao.MedicalCardDao
-import com.supwisdom.dlpay.medical.dao.MedicalDtlDao
+import com.supwisdom.dlpay.medical.dao.*
import com.supwisdom.dlpay.medical.domain.TBAppointmentDtl
import com.supwisdom.dlpay.medical.domain.TBMedicalCard
import com.supwisdom.dlpay.medical.domain.TBMedicalDtl
@@ -215,6 +212,7 @@
this.organizationid = organizationId
this.patientid = unPayedResponse.patientId
this.totalfee = mergingItems.mergingSubtotal
+ this.medicaldate = medicalInformation.medicalDate?.replace("-", "")
}
medicalDtlDao.save(medicalDtl)
} else {
@@ -267,13 +265,22 @@
return payedDTOList
}
-
override fun getPayedList(uid: String, organizationId: String): ArrayList<PayedDTO> {
- val medicalDtlList = medicalDtlDao.findByUidAndOrganizationidAndPaystatus(uid, organizationId, MedicalConstant.DTL_STATUS_SUCCESS, PageRequest.of(0, 10))
+ val medicalDtlList = medicalDtlDao.findByUidAndOrganizationidAndPaystatusOrderByAccdateDesc(
+ uid, organizationId, MedicalConstant.DTL_STATUS_SUCCESS, PageRequest.of(0, 10))
val payedDTOList = ArrayList<PayedDTO>()
if (!medicalDtlList.isNullOrEmpty()) {
medicalDtlList.forEach {
-
+ val payedDTO = PayedDTO().apply {
+ this.billNo = it.billno
+ this.totalFee = it.totalfee
+ this.medicalDate = it.medicaldate
+ this.mergingName = it.mergingname
+ if (!StringUtil.isEmpty(it.resultid)) {
+ this.notifyStatus = true
+ }
+ }
+ payedDTOList.add(payedDTO)
}
}
return payedDTOList
@@ -449,12 +456,13 @@
MedicalConstant.DTL_STATUS_FAIL -> {
medicalDtl.paystatus = MedicalConstant.DTL_STATUS_FAIL
medicalDtlDao.save(medicalDtl)
- return JsonResult.error(queryResult.retmsg)
+ return JsonResult.ok(MedicalConstant.DTL_STATUS_FAIL).put("error", queryResult.remark)
}
MedicalConstant.DTL_STATUS_INIT -> {
- medicalDtl.paystatus = MedicalConstant.DTL_STATUS_WIP
+ //payapi流水已初始化,但未确认,可修改状态为init让用户重新发起支付
+ medicalDtl.paystatus = MedicalConstant.DTL_STATUS_INIT
medicalDtlDao.save(medicalDtl)
- return JsonResult.ok(MedicalConstant.DTL_STATUS_WIP)
+ return JsonResult.ok(MedicalConstant.DTL_STATUS_FAIL).put("error", "系统异常,支付失败")
}
}
logger.error("未知的查询状态码:${queryResult.status},${queryResult.retmsg}")
@@ -465,4 +473,8 @@
medicalDtlDao.save(medicalDtl)
return JsonResult.ok(MedicalConstant.DTL_STATUS_WIP)
}
+
+ override fun getDiagnosticReport(uid: String): JsonResult? {
+ TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
+ }
}
\ No newline at end of file