提交merge1.3

This commit is contained in:
2025-12-27 15:30:25 +08:00
parent 8c607c8749
commit 088861f66e
1245 changed files with 220442 additions and 77616 deletions

View File

@@ -218,7 +218,7 @@ public class InpatientFeeDetail extends HisBaseEntity implements Serializable {
/**
* 关联就诊id
*/
private String encounterId;
private Long encounterId;
private String inputParam;

View File

@@ -259,4 +259,9 @@ public class InpatientReg extends HisBaseEntity implements Serializable {
private String inputParam;
private String outputResult;
/**
* 状态
*/
private Integer status;
}

View File

@@ -17,6 +17,8 @@ import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
public class BaseInfo {
/** 文件相对路径 */
private String filePath;
/******************医保机构信息******************/

View File

@@ -34,6 +34,13 @@ public class FileResult {
@JSONField(serialize=false)
private byte[] fileData;
// 文件相对路径
private String filePath;
// 医药机构编号
private String fixmedinsCode;
// 文件数据
@JSONField(serialize=false)
private String errMsg;
}

View File

@@ -10,6 +10,7 @@ import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 【3511】
@@ -42,13 +43,15 @@ public class MedicalInventory3511Param {
/**
* 开始日期 类型日期型格式yyyy-MM-dd必填项
*/
@JSONField(name = "begndate", format = "yyyy-MM-dd")
@JSONField(name = "begndate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date begndate;
/**
* 结束日期 类型日期型格式yyyy-MM-dd必填项
*/
@JSONField(name = "enddate", format = "yyyy-MM-dd")
@JSONField(name = "enddate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date enddate;
/**

View File

@@ -0,0 +1,74 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
@Data
public class MedicalInventory3512Output {
/**
* 定点医药机构编号
*/
@JSONField(name ="fixmedinsCode")
private String fixmedinsCode;
/**
* 医药机构目录编码
*/
@JSONField(name ="medinsListCodg")
private String medinsListCodg;
/**
* 定点医药机构批次流水号
*/
@JSONField(name ="fixmedinsBchno")
private String fixmedinsBchno;
/**
* 医疗目录编码
*/
@JSONField(name ="medListCodg")
private String medListCodg;
/**
* 医药机构目录名称
*/
@JSONField(name ="medinsListName")
private String medinsListName;
/**
* 药品追溯码
*/
@JSONField(name ="drugTracCodg")
private String drugTracCodg;
/**
* 有效标志
*/
@JSONField(name ="valiFlag")
private String valiFlag;
/**
* 经办人ID
*/
@JSONField(name ="opterId")
private String opterId;
/**
* 创建人姓名
*/
@JSONField(name ="crterName")
private String crterName;
/**
* 创建人ID
*/
@JSONField(name ="crterId")
private String crterId;
/**
* 经办机构编号
*/
@JSONField(name ="optinsNo")
private String optinsNo;
}

View File

@@ -0,0 +1,59 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class MedicalInventory3512Param {
/**
* 定点医药机构编号
*/
@JSONField(name = "fixmedins_code")
private String fixmedinsCode;
/**
* 医药机构目录编码
*/
@JSONField(name ="medins_list_codg")
private String medinsListCodg;
/**
* 定点医药机构批次流水号
*/
@JSONField(name ="fixmedins_bchno")
private String fixmedinsBchno;
/**
* 开始日期
*/
@JSONField(name ="begndate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date begndate;
/**
* 结束日期
*/
@JSONField(name ="enddate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date enddate;
/**
* 医疗目录编码
*/
@JSONField(name ="med_list_codg")
private String medListCodg;
/**
* 药品追溯码
*/
@JSONField(name ="drug_trac_codg")
private String drugTracCodg;
}

View File

@@ -0,0 +1,158 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class MedicalInventory3513Output {
/**
* 定点医药机构编号
*/
@JSONField(name ="fixmedinsCode")
private String fixmedinsCode;
/**
* 医疗目录编码
*/
@JSONField(name ="medListCodg")
private String medListCodg;
/**
* 医药机构目录编码
*/
@JSONField(name ="medinsListCodg")
private String medinsListCodg;
/**
* 医药机构目录名称
*/
@JSONField(name ="medinsListName")
private String medinsListName;
/**
* 定点医药机构批次流水号
*/
@JSONField(name ="fixmedinsBchno")
private String fixmedinsBchno;
/**
* 就诊ID
*/
@JSONField(name ="mdtrtId")
private String mdtrtId;
/**
* 就诊结算类型
*/
@JSONField(name ="mdtrtSetlType")
private String mdtrtSetlType;
/**
* 记账流水号
*/
@JSONField(name ="bkkpSn")
private String bkkpSn;
/**
* 药品追溯码
*/
@JSONField(name ="drugTracCodg")
private String drugTracCodg;
/**
* 人员编号
*/
@JSONField(name ="psnNo")
private String psnNo;
/**
* 人员证件类型
*/
@JSONField(name ="psnCertType")
private String psnCertType;
/**
* 证件号码
*/
@JSONField(name ="certno")
private String certno;
/**
* 人员姓名
*/
@JSONField(name ="psnName")
private String psnName;
/**
* 备注
*/
@JSONField(name ="memo")
private String memo;
/**
* 拆零标志
*/
@JSONField(name ="trdnFlag")
private String trdnFlag;
/**
* 数据更新时间
*/
@JSONField(name ="updtTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updtTime;
/**
* 经办人姓名
*/
@JSONField(name ="opterName")
private String opterName;
/**
* 数据唯一记录号
*/
@JSONField(name ="rid")
private String rid;
/**
* 数据创建时间
*/
@JSONField(name ="crteTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date crteTime;
/**
* 经办时间
*/
@JSONField(name ="optTime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date optTime;
/**
* 经办人ID
*/
@JSONField(name ="opterId")
private String opterId;
/**
* 创建人姓名
*/
@JSONField(name ="crterName")
private String crterName;
/**
* 创建人ID
*/
@JSONField(name ="crterId")
private String crterId;
/**
* 经办机构编号
*/
@JSONField(name ="optinsNo")
private String optinsNo;
}

View File

@@ -0,0 +1,86 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class MedicalInventory3513Param {
/**
* 定点医药机构编号
*/
@JSONField(name ="fixmedins_code")
private String fixmedinsCode;
/**
* 医药机构目录编码
*/
@JSONField(name ="medins_list_codg")
private String medinsListCodg;
/**
* 定点医药机构批次流水号
*/
@JSONField(name ="fixmedins_bchno")
private String fixmedinsBchno;
/**
* 开始日期
*/
@JSONField(name ="begndate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date begndate;
/**
* 结束日期
*/
@JSONField(name ="enddate")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date enddate;
/**
* 医疗目录编码
*/
@JSONField(name ="med_list_codg")
private String medListCodg;
/**
* 就诊ID
*/
@JSONField(name ="mdtrt_id")
private String mdtrtId;
/**
* 人员编号
*/
@JSONField(name ="psn_no")
private String psnNo;
/**
* 人员证件类型
*/
@JSONField(name ="psn_cert_type")
private String psnCertType;
/**
* 证件号码
*/
@JSONField(name ="certno")
private String certno;
/**
* 人员姓名
*/
@JSONField(name ="psn_name")
private String psnName;
/**
* 药品追溯码
*/
@JSONField(name ="drug_trac_codg")
private String drugTracCodg;
}

View File

@@ -1,6 +1,7 @@
package com.openhis.yb.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -50,6 +51,24 @@ public class PatientInfoDto {
/** 五笔码 */
private String wbStr;
//出生日期
private Date brdy;
//年龄
private Double age;
//参保地医保区划
private String insuplcAdmdvs;
//险种类型
private String insutype;
//余额
private String balc;
//人员类别
@TableField(exist = false)
private String psnType;
//人员参保状态
@TableField(exist = false)
private String psnInsuStas;
/** 机构Id */
private Long organizationId;

View File

@@ -0,0 +1,33 @@
package com.openhis.yb.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class Yb2302InpatientParam {
/**
* 费用明细流水号
* 单次就诊内唯一
*/
@JsonProperty("feedetl_sn")
private String feedetlSn;
/**
* 人员编号
* 退单时传入被退单的费用明细流水号
*/
@JsonProperty("psn_no")
private String psnNo;
/**
* 就诊ID
*/
@JsonProperty("mdtrt_id")
private String mdtrtId;
/**
* 字段扩展
*/
@JsonProperty("exp_content")
private String expContent;
}

View File

@@ -4,6 +4,8 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
@@ -13,6 +15,8 @@ import java.util.Date;
* @author SunJQ
* @date 2025-07-29
*/
@Data
@Accessors(chain = true)
public class Yb2401InputInpatientDiseInfo {
/**
* 人员编号

View File

@@ -18,9 +18,9 @@ public class Yb2402InputParam {
/**
* 出院诊断
*/
List<Yb2402InputInpatientDiseInfo> yb2402InputInpatientDiseInfo;
List<Yb2402InputInpatientDiseInfo> diseinfo;
/**
* 出院信息
*/
Yb2402InputInpatientDscgInfo yb2402InputInpatientDscgInfo;
Yb2402InputInpatientDscgInfo dscginfo;
}

View File

@@ -33,4 +33,10 @@ public class Yb2404InputInpatient {
*/
@JSONField(name = "exp_content")
private String expContent;
/**
* 字段扩展
*/
@JSONField(name = "insuplc_admdvs")
private String insuplcAdmdvs;
}

View File

@@ -0,0 +1,20 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
@Data
public class Yb2601InputParam {
@JSONField(name = "psn_no")
private String psnNo;
@JSONField(name = "oinfno")
private String oinfno;
@JSONField(name = "omsgid")
private String omsgid;
@JSONField(name = "insuplc_admdvs")
private String insuplcAdmdvs;
}

View File

@@ -0,0 +1,46 @@
package com.openhis.yb.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
@Data
@Accessors(chain = true)
public class Yb4101AInputData {
/**
* 结算清单信息
*/
Yb4101AInputSetlinfo setlinfo;
/**
* 门诊慢特病诊断信息
*/
List<Yb4101AInputOpspdiseinfo> opspdiseinfo;
/**
* 住院诊断信息
*/
List<Yb4101AInputDiseinfo> diseinfo;
/**
* 手术操作信息
*/
List<Yb4101AInputOprninfo> oprninfo;
/**
* 住院ICU信息
*/
List<Yb4101AInputIcuinfo> icuinfo;
/**
* 住院血Press信息
*/
List<Yb4101AInputBldinfo> bldinfo;
/**
* 住院项目信息
*/
List<Yb4101AInputIteminfo> iteminfo;
}

View File

@@ -0,0 +1,61 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
* 【4101A】收费项目信息节点标识iteminfo
*
* @author Thanking
*/
@Data
@Accessors(chain = true)
public class Yb4101AInputIteminfo {
/**
* 医疗收费项目
*/
@NotBlank
@Length(max = 6)
@JSONField(name = "med_chrgitm")
private String medChrgitm;
/**
* 金额
*/
@NotBlank
@JSONField(name = "amt")
private String amt;
/**
* 甲类费用合计
*/
@JSONField(name = "claa_sumfee")
private String claaSumfee;
/**
* 乙类金额
*/
@JSONField(name = "clab_amt")
private Date clabAmt;
/**
* 全自费金额
*/
@Length(max = 6)
@JSONField(name = "fulamt_ownpay_amt")
private String fulamtOwnpayAmt;
/**
* 其他金额
*/
@JSONField(name = "oth_amt")
private String othAmt;
}

View File

@@ -45,6 +45,13 @@ public class Yb4101AInputOprninfo {
@JSONField(name = "oprn_oprt_code")
private String oprnOprtCode;
/**
* 手术操作代码
*/
@JSONField(name = "oprn_oprt_begntime")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date oprnOprtDate;
/**
* 麻醉方式:参照麻醉-方法代码
*/

View File

@@ -0,0 +1,46 @@
package com.openhis.yb.dto;
import lombok.Data;
import java.util.List;
@Data
public class Yb4101InputData {
/**
* 住院结算信息
*/
Yb4101InputSetlinfo setlinfo;
/**
* 重症监护信息
*/
List<Yb4101InputIcuinfo> icuinfo;
/**
* 手术操作信息
*/
List<Yb4101InputOprninfo> oprninfo;
/**
* 收费项目信息
*/
List<Yb4101InputIteminfo> iteminfo;
/**
* 住院诊断信息
*/
List<Yb4101InputDiseinfo> diseinfo;
/**
* 门诊慢特病诊断信息
*/
List<Yb4101InputOpspdiseinfo> opspdiseinfo;
/**
* 基金支付信息
*/
List<Yb4101InputPayinfo> payinfo;
}

View File

@@ -0,0 +1,21 @@
package com.openhis.yb.dto;
import lombok.Data;
@Data
public class Yb4101InputDiseinfo {
/** 诊断类别 */
private String diagType;
/** 诊断代码 */
private String diagCode;
/** 诊断名称 */
private String diagName;
/** 入院病情类型 */
private String admCondType;
/** 主诊断标志 */
private String maindiagFlag;
}

View File

@@ -0,0 +1,22 @@
package com.openhis.yb.dto;
import lombok.Data;
import java.util.Date;
@Data
public class Yb4101InputIcuinfo {
/** 重症监护病房类型 */
private String scsCutdWardType;
/** 重症监护进入时间 */
private Date scsCutdInpoolTime;
/** 重症监护退出时间 */
private Date scsCutdExitTime;
/** 重症监护合计时长 - 格式:天数/小时数/分钟数1/13/24 */
private String scsCutdSumDura;
}

View File

@@ -0,0 +1,24 @@
package com.openhis.yb.dto;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class Yb4101InputIteminfo {
/** 医疗收费项目 - 参照医疗收费项目类别 */
private String medChrgitm;
/** 金额 */
private BigDecimal amt;
/** 甲类费用合计 */
private BigDecimal claaSumfee;
/** 乙类金额 */
private BigDecimal clabAmt;
/** 全自费金额 */
private BigDecimal fulamtOwnpayAmt;
}

View File

@@ -0,0 +1,37 @@
package com.openhis.yb.dto;
import lombok.Data;
import java.util.Date;
@Data
public class Yb4101InputOprninfo {
/** 手术操作类别 */
private String oprnOprtType;
/** 手术操作名称 */
private String oprnOprtName;
/** 手术操作代码 */
private String oprnOprtCode;
/** 手术操作日期 */
private Date oprnOprtDate;
/** 麻醉方式 - 参照麻醉-方法代码 */
private String anstWay;
/** 术者医师姓名 */
private String operDrName;
/** 术者医师代码 */
private String operDrCode;
/** 麻醉医师姓名 */
private String anstDrName;
/** 麻醉医师代码 */
private String anstDrCode;
}

View File

@@ -0,0 +1,22 @@
package com.openhis.yb.dto;
import lombok.Data;
@Data
public class Yb4101InputOpspdiseinfo {
/** 诊断名称 - 与结算时慢特病种保持一致 */
private String diagName;
/** 诊断代码 - 与结算时慢特病种保持一致 */
private String diagCode;
/** 手术操作名称 */
private String oprnOprtName;
/** 手术操作代码 */
private String oprnOprtCode;
/** 主诊断标志 */
private String maindiagFlag;
}

View File

@@ -0,0 +1,17 @@
package com.openhis.yb.dto;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class Yb4101InputPayinfo {
/**
* 基金支付类别
*/
private String fundPayType;
/**
* 基金支付金额
*/
private BigDecimal fundPayamt;
}

View File

@@ -0,0 +1,256 @@
package com.openhis.yb.dto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
public class Yb4101InputSetlinfo {
/** 就诊ID */
private String mdtrtId;
/** 结算ID */
private String setlId;
/** 定点医药机构名称 */
private String fixmedinsName;
/** 定点医药机构编号 */
private String fixmedinsCode;
/** 医保结算等级 */
private String hiSetlLv;
/** 医保编号 */
private String hiNo;
/** 病案号 */
private String medcasno;
/** 申报时间 */
private Date dclaTime;
/** 人员姓名 */
private String psnName;
/** 性别 */
private String gend;
/** 出生日期 */
private Date brdy;
/** 年龄 */
private BigDecimal age;
/** 国籍 */
private String ntly;
/** 年龄不足1周岁年龄 */
private Integer nwbAge;
/** 民族 */
private String naty;
/** 患者证件类别 */
private String patnCertType;
/** 证件号码 */
private String certno;
/** 职业 */
private String prfs;
/** 现住址 */
private String currAddr;
/** 单位名称 */
private String empName;
/** 单位地址 */
private String empAddr;
/** 单位电话 */
private String empTel;
/** 邮编 */
private String poscode;
/** 联系人姓名 */
private String conerName;
/** 与患者关系 */
private String patnRlts;
/** 联系人地址 */
private String conerAddr;
/** 联系人电话 */
private String conerTel;
/** 医保类型 */
private String hiType;
/** 参保地 */
private String insuplc;
/** 特殊人员类型 */
private String spPsnType;
/** 新生儿入院类型 */
private String nwbAdmType;
/** 新生儿出生体重 */
private BigDecimal nwbBirWt;
/** 新生儿入院体重 */
private BigDecimal nwbAdmWt;
/** 门诊慢特病诊断科别 */
private String opspDiagCaty;
/** 门诊慢特病就诊日期 */
private Date opspMdtrtDate;
/** 住院医疗类型 */
private String iptMedType;
/** 入院途径 */
private String admWay;
/** 治疗类别 */
private String trtType;
/** 入院时间 */
private Date admTime;
/** 入院科别 */
private String admCaty;
/** 转科科别 */
private String refldeptDept;
/** 出院时间 */
private Date dscgTime;
/** 出院科别 */
private String dscgCaty;
/** 实际住院天数 */
private Integer actIptDays;
/** 门(急)诊西医诊断 */
private String otpWmDise;
/** 西医诊断疾病代码 */
private String wmDiseCode;
/** 门(急)诊中医诊断 */
private String otpTcmDise;
/** 中医诊断代码 */
private String tcmDiseCode;
/** 诊断代码计数 */
private Integer diagCodeCnt;
/** 主诊断标志 */
private String maindiagFlag;
/** 手术操作代码计数 */
private Integer oprnOprtCodeCnt;
/** 呼吸机使用时长 */
private String ventUsedDura;
/** 颅脑损伤患者入院前昏迷时长 */
private String pwcryBfadmComaDura;
/** 颅脑损伤患者入院后昏迷时长 */
private String pwcryAfadmComaDura;
/** 输血品种 */
private String bldCat;
/** 输血量 */
private BigDecimal bldAmt;
/** 输血计量单位 */
private String bldUnt;
/** 特级护理天数 */
private Integer spgaNurscareDays;
/** 一级护理天数 */
private Integer lv1NurscareDays;
/** 二级护理天数 */
private Integer scdNurscareDays;
/** 三级护理天数 */
private Integer lv3NurscareDays;
/** 离院方式 */
private String dscgWay;
/** 拟接收机构名称 */
private String acpMedinsName;
/** 拟接收机构代码 */
private String acpOptinsCode;
/** 票据代码 */
private String billCode;
/** 票据号码 */
private String billNo;
/** 业务流水号 */
private String bizSn;
/** 出院31天内再住院计划标志 */
private String daysRinpFlag31;
/** 出院31天内再住院目的 */
private String daysRinpPup31;
/** 主诊医师姓名 */
private String chfpdrName;
/** 主诊医师代码 */
private String chfpdrCode;
/** 结算开始日期 */
private Date setlBegnDate;
/** 结算结束日期 */
private Date setlEndDate;
/** 个人自付 */
private BigDecimal psnSelfpay;
/** 个人自费 */
private BigDecimal psnOwnpay;
/** 个人账户支出 */
private BigDecimal acctPay;
/** 个人现金支付 */
private BigDecimal psnCashpay;
/** 医保支付方式 */
private String hiPaymtd;
/** 医保机构 */
private String hsorg;
/** 医保机构经办人 */
private String hsorgOpter;
/** 医疗机构填报部门 */
private String medinsFillDept;
/** 医疗机构填报人 */
private String medinsFillPsn;
}

View File

@@ -0,0 +1,23 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
@Data
public class Yb4102InputStastInfo {
/**
* 患者编号
*/
@JSONField(name = "psn_no")
private String psnNo;
/**
* 结算单编号
*/
@JSONField(name = "setl_id")
private String setlId;
/**
* 统计类别
*/
@JSONField(name = "stas_type")
private String stasType;
}

View File

@@ -0,0 +1,49 @@
package com.openhis.yb.dto;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
@Data
public class Yb4104InputDto {
/**
* 患者编号
*/
@JSONField(name = "setl_ym", format = "yyyyMM")
private String setlYm;
/**
* 患者编号
*/
@JSONField(name = "psn_no")
private String psnNo;
/**
* 结算单编号
*/
@JSONField(name = "setl_id")
private String setlId;
/**
* 错误等级
*/
@JSONField(name = "err_lv")
private String errLv;
/**
* 回退标志
*/
@JSONField(name = "retn_flag")
private String retnFlag;
/**
* 统计类别
*/
@JSONField(name = "stas_type")
private String stasType;
/**
* 当前页数
*/
@JSONField(name = "page_num")
private String pageNum;
/**
* 本页数据量
*/
@JSONField(name = "page_size")
private String pageSize;
}

View File

@@ -0,0 +1,695 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.yb.dto;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 【4401】基本信息
*
* @author SunJQ
* @date 2025-11-17
*/
@Data
@Accessors(chain = true)
public class Yb4401InputBaseInfoDto {
/**
* 格式:定点医药机构编号+院内唯一流水号
*/
private String mdtrtSn;
/**
* 就诊ID
*/
private String mdtrtId;
/**
* 人员编号
*/
private String psnNo;
/**
* 患者住院次数
*/
private String patnIptCnt;
/**
* 住院号
*/
private String iptNo;
/**
* 病案号
*/
private String medcasno;
/**
* 人员姓名
*/
private String psnName;
/**
* 性别
*/
private String gend;
/**
* 出生日期
*/
private String brdy;
/**
* 国籍
*/
private String ntly;
/**
* 国籍名称
*/
private String ntlyName;
/**
* 新生儿出生体重
*/
private String nwbBirWt;
/**
* 新生儿入院体重
*/
private String nwbAdmWt;
/**
* 出生地
*/
private String birplc;
/**
* 籍贯
*/
private String napl;
/**
* 民族名称
*/
private String natyName;
/**
* 民族
*/
private String naty;
/**
* 证件号码
*/
private String certno;
/**
* 职业
*/
private String prfs;
/**
* 婚姻状态
*/
private String mrgStas;
/**
* 现住址-邮政编码
*/
private String currAddrPoscode;
/**
* 现住址
*/
private String currAddr;
/**
* 个人联系电话
*/
private String psnTel;
/**
* 户口地址-省(自治区、直辖市)
*/
private String resdAddrProv;
/**
* 户口地址-市(地区)
*/
private String resdAddrCity;
/**
* 户口地址-县(区)
*/
private String resdAddrCoty;
/**
* 户口地址-乡(镇、街道办事处)
*/
private String resdAddrSubd;
/**
* 户口地址-村(街、路、弄等)
*/
private String resdAddrVil;
/**
* 户口地址-门牌号码
*/
private String resdAddrHousnum;
/**
* 户口地址-邮政编码
*/
private String resdAddrPoscode;
/**
* 户口地址
*/
private String resdAddr;
/**
* 工作单位联系电话
*/
private String emprTel;
/**
* 工作单位-邮政编码
*/
private String emprPoscode;
/**
* 工作单位及地址
*/
private String emprAddr;
/** 联系人电话 */
private String conerTel;
/**
* 联系人姓名
*/
private String conerName;
/**
* 联系人地址
*/
private String conerAddr;
/**
* 与联系人关系代码
*/
private String conerRltsCode;
/**
* 入院途径名称
*/
private String admWayName;
/**
* 入院途径代码
*/
private String admWayCode;
/**
* 治疗类别名称
*/
private String trtTypeName;
/**
* 治疗类别
*/
private String trtType;
/**
* 入院科别
*/
private String admCaty;
/**
* 入院病房
*/
private String admWard;
/**
* 入院日期
*/
private Date admDate;
/**
* 出院日期
*/
private Date dscgDate;
/**
* 出院科别
*/
private String dscgCaty;
/**
* 转科科别名称
*/
private String refldeptCatyName;
/**
* 出院病房
*/
private String dscgWard;
/**
* 住院天数
*/
private Integer iptDays;
/** 药物过敏标志 */
private String drugDicmFlag;
/**
* 过敏药物名称
*/
private String dicmDrugName;
/**
* 死亡患者尸检标志
*/
private String dieAutpFlag;
/** ABO血型代码 */
private String aboCode;
/**
* ABO血型名称
*/
private String aboName;
/**
* Rh血型代码
*/
private String rhCode;
/**
* RH血型
*/
private String rhName;
/**
* 死亡标志
*/
private String dieFlag;
/**
* 科主任姓名
*/
private String deptdrtName;
/**
* 主任(副主任)医师姓名
*/
private String chfdrName;
/**
* 主治医生姓名
*/
private String atddrName;
/**
* 主诊医师姓名
*/
private String chfpdrName;
/**
* 住院医师姓名
*/
private String iptDrName;
/**
* 责任护士姓名
*/
private String respNursName;
/**
* 进修医师姓名
*/
private String trainDrName;
/**
* 实习医师姓名
*/
private String intnDrName;
/**
* 编码员姓名
*/
private String codrName;
/**
* 质控医师姓名
*/
private String qltctrlDrName;
/**
* 质控护士姓名
*/
private String qltctrlNursName;
/**
* 病案质量名称
*/
private String medcasQltName;
/**
* 病案质量代码
*/
private String medcasQltCode;
/**
* 质控日期
*/
private Date qltctrlDate;
/**
* 离院方式名称
*/
private String dscgWayName;
/**
* 离院方式
*/
private String dscgWay;
/**
* 拟接收医疗机构代码
*/
private String acpMedinsCode;
/**
* 拟接收医疗机构名称
*/
private String acpMedinsName;
/**
* 出院31天内再住院计划标志
*/
private String dscg31daysRinpFlag;
/**
* 出院31天内再住院目的
*/
private String dscg31daysRinpPup;
/**
* 损伤、中毒的外部原因
*/
private String damgIntxExtRea;
/**
* 损伤、中毒的外部原因疾病编码
*/
private String damgIntxExtReaDisecode;
/**
* 颅脑损伤患者入院前昏迷时长
*/
private String brnDamgBfadmComaDura;
/**
* 颅脑损伤患者入院后昏迷时长
*/
private String brnDamgAfadmComaDura;
/**
* 呼吸机使用时长
*/
private String ventUsedDura;
/**
* 确诊日期
*/
private Date cnfmDate;
/**
* 患者疾病诊断对照
*/
private String patnDiseDiagCrsp;
/**
* 住院患者疾病诊断对照代码
*/
private String patnDiseDiagCrspCode;
/**
* 住院患者诊断符合情况
*/
private String iptPatnDiagInscp;
/**
* 住院患者诊断符合情况代码
*/
private String iptPatnDiagInscpCode;
/**
* 出院治疗结果
*/
private String dscgTrtRslt;
/**
* 出院治疗结果代码
*/
private String dscgTrtRsltCode;
/**
* 医疗机构组织机构代码
*/
private String medinsOrgcode;
/**
* 年龄
*/
private BigDecimal age;
/**
* 过敏源
*/
private String aise;
/**
* 研究生实习医师姓名
*/
private String poteIntnDrName;
/**
* 乙肝表面抗原HBsAg
*/
private String hbsag;
/**
* 丙型肝炎抗体HCV-Ab
*/
private String hcvAb;
/**
* 艾滋病毒抗体hiv-ab
*/
private String hivAb;
/**
* 抢救次数
*/
private Integer rescCnt;
/**
* 抢救成功次数
*/
private Integer rescSuccCnt;
/**
* 手术、治疗、检查、诊断为本院第一例
*/
private String hospDiseFsttime;
/**
* 医保基金付费方式名称
*/
private String hifPayWayName;
/**
* 医保基金付费方式代码
*/
private String hifPayWayCode;
/**
* 医疗费用支付方式名称
*/
private String medFeePaymtdName;
/**
* 医疗费用支付方式代码
*/
private String medfeePaymtdCode;
/**
* 自付金额
*/
private BigDecimal selfpayAmt;
/**
* 医疗费总额
*/
private BigDecimal medfeeSumamt;
/**
* 一般医疗服务费
*/
private BigDecimal ordnMedServfee;
/**
* 一般治疗操作费
*/
private BigDecimal ordnTrtOprtFee;
/**
* 护理费
*/
private BigDecimal nursFee;
/**
* 综合医疗服务类其他费用
*/
private BigDecimal comMedServOthFee;
/**
* 病理诊断费
*/
private BigDecimal palgDiagFee;
/**
* 实验室诊断费
*/
private BigDecimal labDiagFee;
/**
* 影像学诊断费
*/
private BigDecimal rdhyDiagFee;
/**
* 临床诊断项目费
*/
private BigDecimal clncDiseFee;
/**
* 非手术治疗项目费
*/
private BigDecimal nsrgtrtItemFee;
/**
* 临床物理治疗费
*/
private BigDecimal clncPhysTrtFee;
/**
* 手术治疗费
*/
private BigDecimal rgtrtTrtFee;
/**
* 麻醉费
*/
private BigDecimal anstFee;
/**
* 手术费
*/
private BigDecimal rgtrtFee;
/**
* 康复费
*/
private BigDecimal rhabFee;
/**
* 中医治疗费
*/
private BigDecimal tcmTrtFee;
/**
* 西药费
*/
private BigDecimal wmFee;
/**
* 抗菌药物费用
*/
private BigDecimal abtlMednFee;
/**
* 中成药费
*/
private BigDecimal tcmpatFee;
/**
* 中药饮片费
*/
private BigDecimal tcmherbFee;
/**
* 血费
*/
private BigDecimal bloFee;
/**
* 白蛋白类制品费
*/
private BigDecimal albuFee;
/**
* 球蛋白类制品费
*/
private BigDecimal glonFee;
/**
* 凝血因子类制品费
*/
private BigDecimal clotfacFee;
/**
* 细胞因子类制品费
*/
private BigDecimal cykiFee;
/**
* 检查用一次性医用材料费
*/
private BigDecimal examDspoMatlFee;
/**
* 治疗用一次性医用材料费
*/
private BigDecimal trtDspoMatlFee;
/**
* 手术用一次性医用材料费
*/
private BigDecimal oprnDspoMatlFee;
/**
* 其他费
*/
private BigDecimal othFee;
/**
* 有效标志
*/
private String valiFlag;
/**
* 定点医药机构编号
*/
private String fixmedinsCode;
}

View File

@@ -0,0 +1,113 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.yb.dto;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 【4401】诊断信息
*
* @author SunJQ
* @date 2025-11-17
*/
@Data
@Accessors(chain = true)
public class Yb4401InputDiseInfoDto {
/**
* 病理号
*/
private String palgNo;
/**
* 住院患者疾病诊断类型代码
*/
private String iptPatnDisediagTypeCode;
/**
* 疾病诊断类型
*/
private String disediagType;
/**
* 主诊断标志
*/
private String maindiagFlag;
/**
* 诊断代码
*/
private String diagCode;
/**
* 诊断名称
*/
private String diagName;
/**
* 院内诊断代码
*/
private String inhospDiagCode;
/**
* 院内诊断名称
*/
private String inhospDiagName;
/**
* 入院疾病病情名称
*/
private String admDiseCondName;
/**
* 入院疾病病情代码
*/
private String admDiseCondCode;
/**
* 入院病情
*/
private String admCond;
/**
* 入院时病情代码
*/
private String admCondCode;
/**
* 最高诊断依据
*/
private String highDiagEvid;
/**
* 分化程度
*/
private String bkupDeg;
/**
* 分化程度代码
*/
private String bkupDegCode;
/**
* 有效标志
*/
private String valiFlag;
/**
* 住院病案首页流水号
*/
private String iptMedcasHmpgSn;
/**
* 就医流水号
*/
private String mdtrtSn;
/**
* 定点医药机构编号
*/
private String fixmedinsCode;
}

View File

@@ -0,0 +1,27 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.yb.dto;
import java.util.List;
import lombok.Data;
/**
* 【4401】
*
* @author SunJQ
* @date 2025-11-17
*/
@Data
public class Yb4401InputDto {
private Yb4401InputBaseInfoDto baseinfo;
private List<Yb4401InputDiseInfoDto> diseinfo;
private List<Yb4401InputOprnInfoDto> oprninfo;
private List<Yb4401InputIcuInfoDto> icuinfo;
}

View File

@@ -0,0 +1,74 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.yb.dto;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 【4401】重症监护信息
*
* @author SunJQ
* @date 2025-11-17
*/
@Data
@Accessors(chain = true)
public class Yb4401InputIcuInfoDto {
/**
* 重症监护室代码
*/
private String icuCodeid;
/**
* 进入监护室时间
*/
private Date inpoolIcuTime;
/**
* 退出监护室时间
*/
private Date outIcuTime;
/**
* 医疗机构组织机构代码
*/
private String medinsOrgcode;
/**
* 护理等级代码
*/
private String nurscareLvCode;
/**
* 护理等级名称
*/
private String nurscareLvName;
/**
* 护理天数
*/
private Integer nurscareDays;
/**
* 重返重症监护室标志
*/
private String backIcu;
/**
* 有效标志
*/
private String valiFlag;
/**
* 住院病案首页流水号
*/
private String iptMedcasHmpgSn;
/**
* 就医流水号
*/
private String mdtrtSn;
}

View File

@@ -0,0 +1,215 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.yb.dto;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 【4401】手术信息
*
* @author SunJQ
* @date 2025-11-17
*/
@Data
@Accessors(chain = true)
public class Yb4401InputOprnInfoDto {
/**
* 手术操作日期
*/
private Date oprnOprtDate;
/**
* 手术操作名称
*/
private String oprnOprtName;
/**
* 手术操作代码
*/
private String oprnOprtCode;
/**
* 手术操作序列号
*/
private String oprnOprtSn;
/**
* 手术级别代码
*/
private String oprnLvCode;
/**
* 手术级别名称
*/
private String oprnLvName;
/**
* 手术者姓名
*/
private String operName;
/**
* 助手Ⅰ姓名
*/
private String asit1Name;
/**
* 助手Ⅱ姓名
*/
private String asitName2;
/**
* 手术切口愈合等级
*/
private String sincHealLv;
/**
* 手术切口愈合等级代码
*/
private String sincHealLvCode;
/**
* 麻醉-方法名称
*/
private String anstMtdName;
/**
* 麻醉-方法代码
*/
private String anstMtdCode;
/**
* 麻醉医师姓名
*/
private String anstDrName;
/**
* 手术操作部位
*/
private String oprnOperPart;
/**
* 手术操作部位代码
*/
private String oprnOperPartCode;
/**
* 手术持续时间
*/
private String oprnConTime;
/**
* 麻醉分级名称
*/
private String anstLvName;
/**
* 麻醉分级代码
*/
private String anstLvCode;
/**
* 手术患者类型
*/
private String oprnPatnType;
/**
* 手术患者类型代码
*/
private String oprnPatnTypeCode;
/**
* 主要手术标志
*/
private String mainOprnFlag;
/**
* 麻醉ASA分级代码
*/
private String anstAsaLvCode;
/**
* 麻醉ASA分级名称
*/
private String anstAsaLvName;
/**
* 麻醉药物代码
*/
private String anstMednCode;
/**
* 麻醉药物名称
*/
private String anstMednName;
/**
* 麻醉药物剂量
*/
private String anstMednDos;
/**
* 计量单位
*/
private String unt;
/**
* 麻醉开始时间
*/
private Date anstBegntime;
/**
* 麻醉结束时间
*/
private Date anstEndtime;
/**
* 麻醉合并症代码
*/
private String anstCopnCode;
/**
* 麻醉合并症名称
*/
private String anstCopnName;
/**
* 麻醉合并症描述
*/
private String anstCopnDscr;
/**
* 复苏室开始时间
*/
private Date pacuBegntime;
/**
* 复苏室结束时间
*/
private Date pacuEndtime;
/**
* 取消手术标志
*/
private String cancOprnFlag;
/**
* 有效标志
*/
private String valiFlag;
/**
* 住院病案首页流水号
*/
private String iptMedcasHmpgSn;
/**
* 就医流水号
*/
private String mdtrtSn;
}

View File

@@ -0,0 +1,10 @@
package com.openhis.yb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.openhis.yb.domain.InpatientPreSettle;
import com.openhis.yb.domain.InpatientSettle;
import org.springframework.stereotype.Repository;
@Repository
public interface InpatientPreSettleMapper extends BaseMapper<InpatientPreSettle> {
}

View File

@@ -6,6 +6,7 @@ package com.openhis.yb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.openhis.yb.domain.FinancialReconcileRecord;
import com.openhis.yb.domain.InpatientReg;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
/**
@@ -16,4 +17,6 @@ import org.springframework.stereotype.Repository;
*/
@Repository
public interface InpatientRegMapper extends BaseMapper<InpatientReg> {
InpatientReg selectInpatientInfoByEncounterId(@Param("encounterId") String encounterId);
}

View File

@@ -8,7 +8,11 @@ import com.openhis.yb.domain.InpatientDischarge;
import com.openhis.yb.domain.InpatientReg;
/**
<<<<<<< HEAD
* TODO:请概括描述当前接口的主要用途和注意事项
=======
* 出院办理服务接口
>>>>>>> v1.3
*
* @author SunJQ
* @date 2025-07-31
@@ -17,4 +21,8 @@ import com.openhis.yb.domain.InpatientReg;
public interface IInpatientDischargeService extends IService<InpatientDischarge> {
<<<<<<< HEAD
=======
InpatientDischarge getByMdtrtId(String mdtrtId);
>>>>>>> v1.3
}

View File

@@ -4,5 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.yb.domain.InfoPerson;
import com.openhis.yb.domain.InpatientFeeDetail;
import java.util.List;
public interface IInpatientFeeDetailService extends IService<InpatientFeeDetail> {
/**
* 获取住院费用明细列表
* @param mdtrtId 医保就诊id
* @return 集合
*/
List<InpatientFeeDetail> getFeeDetailList(String mdtrtId);
}

View File

@@ -0,0 +1,11 @@
package com.openhis.yb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.yb.domain.InpatientPreSettle;
import com.openhis.yb.domain.InpatientSettle;
import java.util.List;
public interface IInpatientPreSettleService extends IService<InpatientPreSettle> {
}

View File

@@ -22,4 +22,18 @@ public interface IInpatientRegService extends IService<InpatientReg> {
* @return 医保住院挂号信息
*/
InpatientReg getInpatientRegByIptNo(String busNo);
/**
* 根据mdtrtId查询住院挂号信息
* @param mdtrtId 业务流水号
* @return 医保住院挂号信息
*/
InpatientReg getInpatientRegByMdtrtId(String mdtrtId);
/**
* 根据encounterId查询住院挂号信息
* @param mdtrtId 业务流水号
* @return 医保住院挂号信息
*/
InpatientReg getInpatientRegByEncounterId(String mdtrtId);
}

View File

@@ -1,14 +1,24 @@
package com.openhis.yb.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.openhis.yb.domain.InpatientSettle;
public interface IInpatientSettleService extends IService<InpatientSettle> {
/**
* 根据医保结算id找到住院结算id
*
* @param ybSettleIds
* @return
*/
InpatientSettle getBySettleId(String ybSettleIds);
/**
* 根据就诊id查询到患者结算信息集合
*
* @param mdtrtId
* @return
*/
List<InpatientSettle> getByMdtrtId(String mdtrtId);
}

View File

@@ -16,6 +16,7 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotNull;
import com.core.common.enums.DelFlag;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -161,6 +162,8 @@ public class YbDao {
@Autowired
private IInpatientFeeDetailService inpatientFeeDetailService;
@Autowired
private IInpatientPreSettleService inpatientPreSettleService;
@Autowired
private YbParamBuilderUtil ybUtil;
@Autowired
private IMedicationDispenseService medicationDispenseService;
@@ -1249,7 +1252,7 @@ public class YbDao {
public PatientInfoDto getPatent(Info1101Output perInfo) {
// 查患者信息
Patient patient =
iPatientService.getOne(new LambdaQueryWrapper<Patient>().eq(Patient::getIdCard, perInfo.getCertno()));
iPatientService.getOne(new LambdaQueryWrapper<Patient>().eq(Patient::getIdCard, perInfo.getCertno()).last(YbCommonConstants.sqlConst.LIMIT1));
if (patient == null) {
patient = new Patient();
// 处理性别字段
@@ -2186,7 +2189,7 @@ public class YbDao {
chargeItemBaseInfoDtosList.add(chargeItemBaseInfoDto);
}
}
// 计算医疗总费用
// 计算医疗总费用(这里总费用的计算方式很多种现在用的是最老笨的除了这个还可以去2303和2302去取值)
BigDecimal medfee_sumamt = BigDecimal.ZERO;
for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) {
medfee_sumamt = medfee_sumamt.add(chargeItemBaseInfoDto.getTotalPrice());
@@ -2516,8 +2519,8 @@ public class YbDao {
}
// 拼装参数
yb2402InputParam.setYb2402InputInpatientDiseInfo(yb2402InputInpatientDiseInfos);
yb2402InputParam.setYb2402InputInpatientDscgInfo(yb2402InputInpatientDscgInfo);
yb2402InputParam.setDiseinfo(yb2402InputInpatientDiseInfos);
yb2402InputParam.setDscginfo(yb2402InputInpatientDscgInfo);
return yb2402InputParam;
}
@@ -2860,4 +2863,104 @@ public class YbDao {
inpatientRegInfoUpdateRecordeService.save(inpatientRegInfoUpdateRecorde);
}
<<<<<<< HEAD
=======
public void updateInpatientRegById(InpatientReg inpatientReg) {
inpatientRegService.updateById(inpatientReg);
}
public void save2301YbFeeDetail(List<Yb2301OutputResult> yb2301OutputResults,List<Yb2301InputFeeDetail> feedetail,Long encounterId) {
List<InpatientFeeDetail> feeDetailList = new ArrayList<>();
InpatientFeeDetail inpatientFeeDetail;
for (Yb2301OutputResult yb2301OutputResult : yb2301OutputResults) {
Optional<Yb2301InputFeeDetail> first = feedetail.stream().filter(yb2301InputFeeDetail -> yb2301InputFeeDetail.getFeedetlSn().equals(yb2301OutputResult.getFeedetlSn())).findFirst();
if (!first.isPresent()) {
continue;
}
Yb2301InputFeeDetail yb2301InputFeeDetail = first.get();
inpatientFeeDetail = new InpatientFeeDetail();
inpatientFeeDetail.setFeedetlSn(yb2301OutputResult.getFeedetlSn())
.setDetItemFeeSumamt(yb2301OutputResult.getDetItemFeeSumamt())
.setInitFeedetlSn(yb2301InputFeeDetail.getInitFeedetlSn())
.setMdtrtId(yb2301InputFeeDetail.getMdtrtId())
.setDrordNo(yb2301InputFeeDetail.getDrordNo())
.setPsnNo(yb2301InputFeeDetail.getPsnNo())
.setMedType(yb2301InputFeeDetail.getMedType())
.setFeeOcurTime(yb2301InputFeeDetail.getFeeOcurTime())
.setMedinsListCodg(yb2301InputFeeDetail.getMedinsListCodg())
.setDetItemFeeSumamt(yb2301OutputResult.getDetItemFeeSumamt())
.setCnt(yb2301InputFeeDetail.getCnt())
.setPric(yb2301InputFeeDetail.getPric())
.setBilgDeptCodg(yb2301InputFeeDetail.getBilgDeptCodg())
.setBilgDeptName(yb2301InputFeeDetail.getBilgDeptName())
.setBilgDrCodg(yb2301InputFeeDetail.getBilgDrCodg())
.setBilgDrName(yb2301InputFeeDetail.getBilgDrName())
.setPricUplmtAmt(yb2301OutputResult.getPricUplmtAmt())
.setSelfpayProp(yb2301OutputResult.getSelfpayProp())
.setFulamtOwnpayAmt(yb2301OutputResult.getFulamtOwnpayAmt())
.setOverlmtAmt(yb2301OutputResult.getOverlmtAmt())
.setPreselfpayAmt(yb2301OutputResult.getPreselfpayAmt())
.setInscpScpAmt(yb2301OutputResult.getInscpScpAmt())
.setChrgitmLv(yb2301OutputResult.getChrgitmLv())
.setMedChrgitmType(yb2301OutputResult.getMedChrgitmType())
.setBasMednFlag(yb2301OutputResult.getBasMednFlag())
.setHiNegoDrugFlag(yb2301OutputResult.getHiNegoDrugFlag())
.setChldMedcFlag(yb2301OutputResult.getChldMedcFlag())
.setListSpItemFlag(yb2301OutputResult.getListSpItemFlag())
.setLmtUsedFlag(yb2301OutputResult.getLmtUsedFlag())
.setDrtReimFlag(yb2301OutputResult.getDrtReimFlag())
.setEncounterId(encounterId);
//
feeDetailList.add(inpatientFeeDetail);
}
inpatientFeeDetailService.saveBatch(feeDetailList);
}
public void save2303InpatientPreSettle(Yb2303OutputSetInfo yb2303OutputSetInfo) {
InpatientPreSettle inpatientPreSettle = new InpatientPreSettle();
inpatientPreSettle.setPsnNo(yb2303OutputSetInfo.getPsnNo())
.setPsnName(yb2303OutputSetInfo.getPsnName())
.setPsnCertType(yb2303OutputSetInfo.getPsnCertType())
.setCertno(yb2303OutputSetInfo.getCertno())
.setGend(yb2303OutputSetInfo.getGend())
.setNaty(yb2303OutputSetInfo.getNaty())
.setBrdy(yb2303OutputSetInfo.getBrdy())
.setAge(yb2303OutputSetInfo.getAge())
.setPsnType(yb2303OutputSetInfo.getPsnType())
.setCvlservFlag(yb2303OutputSetInfo.getCvlservFlag())
.setSetlTime(yb2303OutputSetInfo.getSetlTime())
.setMedType(yb2303OutputSetInfo.getMedType())
.setActPayDedc(yb2303OutputSetInfo.getActPayDedc())
.setHifpPay(yb2303OutputSetInfo.getHifpPay())
.setPoolPropSelfpay(yb2303OutputSetInfo.getPoolPropSelfpay())
.setCvlservPay(yb2303OutputSetInfo.getCvlservPay())
.setHifesPay(yb2303OutputSetInfo.getHifesPay())
.setHifmiPay(yb2303OutputSetInfo.getHifmiPay())
.setHifobPay(yb2303OutputSetInfo.getHifobPay())
.setMafPay(yb2303OutputSetInfo.getMafPay())
.setOthPay(yb2303OutputSetInfo.getOthPay())
.setFundPaySumamt(yb2303OutputSetInfo.getFundPaySumamt())
.setPsnPartAmt(yb2303OutputSetInfo.getPsnPartAmt())
.setAcctPay(yb2303OutputSetInfo.getAcctPay())
.setPsnCashPay(yb2303OutputSetInfo.getPsnCashPay())
.setHospPartAmt(yb2303OutputSetInfo.getHospPartAmt())
.setBalc(yb2303OutputSetInfo.getBalc())
.setAcctMulaidPay(yb2303OutputSetInfo.getAcctMulaidPay())
.setMedinsSetlId(yb2303OutputSetInfo.getMedinsSetlId())
.setClrOptins(yb2303OutputSetInfo.getClrOptins())
.setClrWay(yb2303OutputSetInfo.getClrWay())
.setClrType(yb2303OutputSetInfo.getClrType())
.setHifdmPay(yb2303OutputSetInfo.getHifdmPay());
//inpatientPreSettle.setInputParam(JSON.toJSONString(yb2303OutputSetInfo));
inpatientPreSettle.setOutputResult(JSON.toJSONString(yb2303OutputSetInfo));
inpatientPreSettleService.save(inpatientPreSettle);
}
>>>>>>> v1.3
}

View File

@@ -11,8 +11,11 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
<<<<<<< HEAD
import com.openhis.yb.domain.InpatientDischarge;
import com.openhis.yb.domain.InpatientReg;
=======
>>>>>>> v1.3
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
@@ -50,6 +53,7 @@ import com.openhis.financial.domain.Contract;
import com.openhis.financial.service.IContractService;
import com.openhis.financial.service.impl.ContractServiceImpl;
import com.openhis.yb.domain.ClinicReg;
import com.openhis.yb.domain.InpatientReg;
import com.openhis.yb.dto.*;
import com.openhis.yb.model.Clinic2207OrderModel;
import com.openhis.yb.model.Clinic2207OrderParam;
@@ -589,10 +593,10 @@ public class YbHttpUtils {
return result;
}
public Result merchandise(Medical3505Param medical3505Param) {
public Result merchandise(Medical3505Param medical3505Param, Contract contract) {
// 发送请求
String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/merchandise",
medical3505Param, null);
medical3505Param, contract);
if (StringUtils.isEmpty(s)) {
throw new ServiceException("未接收到医保返回参数");
}
@@ -607,10 +611,10 @@ public class YbHttpUtils {
return result;
}
public Result cancelMerchandise(Medical3506Param medical3506Param) {
public Result cancelMerchandise(Medical3506Param medical3506Param, Contract contract) {
// 发送请求
String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-merchandise",
medical3506Param, null);
medical3506Param, contract);
if (StringUtils.isEmpty(s)) {
throw new ServiceException("未接收到医保返回参数");
}
@@ -708,6 +712,42 @@ public class YbHttpUtils {
return result;
}
public Result query3512(MedicalInventory3512Param inventory3512Param, Contract contract) {
// 发送请求
String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-3512-info",
inventory3512Param, contract);
if (StringUtils.isEmpty(s)) {
throw new ServiceException("未接收到医保返回参数");
}
// 参数处理
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(s, Result.class);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public Result query3513(MedicalInventory3513Param inventory3513Param, Contract contract) {
// 发送请求
String s = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/query-3513-info",
inventory3513Param, contract);
if (StringUtils.isEmpty(s)) {
throw new ServiceException("未接收到医保返回参数");
}
// 参数处理
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(s, Result.class);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 发送http请求2025/05/02经测试若以自带的工具类发送请求失败故使用原peis系统中成功调用的写法重新封装
*
@@ -722,8 +762,8 @@ public class YbHttpUtils {
baseParam.setBaseInfo(ybParamBuilderUtil.getBaseInfo(parseObject(JSON.toJSONString(o)), contract)).setData(o);
logger.info("【请求路径】:" + url + ";【入参】: " + JSON.toJSONString(baseParam));
// 创建Http请求
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setConnectionRequestTimeout(30000)
.setSocketTimeout(30000).build();
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(300000)
.setConnectionRequestTimeout(300000).setSocketTimeout(300000).build();
CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(requestConfig).build();
CloseableHttpResponse response = null;
// 发送请求
@@ -1095,6 +1135,7 @@ public class YbHttpUtils {
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
<<<<<<< HEAD
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
@@ -1107,6 +1148,20 @@ public class YbHttpUtils {
logger.error(e.getMessage(), e);
}
return null;
=======
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
return JSON.parseObject(JSON.toJSONString(result.getResult()), FileResult.class);
} else {
return new FileResult().setErrMsg(result.getMessage());
}
>>>>>>> v1.3
}
/**
@@ -1115,7 +1170,11 @@ public class YbHttpUtils {
* @param fileResult
* @return
*/
<<<<<<< HEAD
public FileResult downLoadFile(FileResult fileResult) {
=======
public String downLoadFile(FileResult fileResult) {
>>>>>>> v1.3
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/download", fileResult, null);
if (StringUtils.isEmpty(resultString)) {
@@ -1131,7 +1190,11 @@ public class YbHttpUtils {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
<<<<<<< HEAD
return JSON.parseObject(JSON.toJSONString(result.getResult()), FileResult.class);
=======
return result.getResult().toString();
>>>>>>> v1.3
} else {
throw new ServiceException(result.getMessage());
}
@@ -1144,6 +1207,7 @@ public class YbHttpUtils {
/**
* 【2401】住院办理
*
<<<<<<< HEAD
* @param yb2401InputInpatientMdtrtInfo 入參
* @return 結果
*/
@@ -1151,6 +1215,15 @@ public class YbHttpUtils {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpatient-reg",
yb2401InputInpatientMdtrtInfo, contractServiceImpl.getContract(yb2401InputInpatientMdtrtInfo.getMdtrtareaAdmvs()));
=======
* @param jsonObject 入參
* @return 結果
*/
public InpatientReg inpatientReg(JSONObject jsonObject, String contractNo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/inpatient-reg", jsonObject,
contractServiceImpl.getContract(contractNo));
>>>>>>> v1.3
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
@@ -1174,10 +1247,56 @@ public class YbHttpUtils {
return null;
}
<<<<<<< HEAD
public InpatientDischarge inpatientCheckOut(Contract contract,Yb2402InputParam yb2402InputInpatientDscgInfo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/discharge-patient",
yb2402InputInpatientDscgInfo, contract);
=======
/**
* 【2404】住院办理撤销
*
* @param yb2404InputInpatient 入參
* @return 結果
*/
public void cancelInpatientReg(Yb2404InputInpatient yb2404InputInpatient, String contractNo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-inpatient-reg",
yb2404InputInpatient, contractServiceImpl.getContract(contractNo));
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【2404】返回参数:" + JSON.toJSONString(resultString));
logger.info("【2404】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
/**
* 【2402】出院办理
*
* @param yb2402InputInpatientDscgInfo 参数
* @param contractNo 合同编号
* @return 结果
*/
public Yb2402InputParam inpatientCheckOut(Yb2402InputParam yb2402InputInpatientDscgInfo, String contractNo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/discharge-patient",
yb2402InputInpatientDscgInfo, iContractService.getContract(contractNo));
>>>>>>> v1.3
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
@@ -1191,7 +1310,11 @@ public class YbHttpUtils {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
<<<<<<< HEAD
return JSON.parseObject(result.getResult().toString(), InpatientDischarge.class);
=======
return JSON.parseObject(result.getResult().toString(), Yb2402InputParam.class);
>>>>>>> v1.3
} else {
throw new ServiceException(result.getMessage());
}
@@ -1201,10 +1324,55 @@ public class YbHttpUtils {
return null;
}
<<<<<<< HEAD
public void updateInpatientInfo(Yb2403InputParam yb2405InputInpatient) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/change-inpatient-info",
yb2405InputInpatient, null);
=======
/**
* 【2405】出院办理撤销
*
* @param yb2405InputInpatient 入參
* @return 結果
*/
public void cancelInpatientCheckOut(Yb2405InputInpatient yb2405InputInpatient, String contractNo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-discharge-patient",
yb2405InputInpatient, contractServiceImpl.getContract(contractNo));
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【2404】返回参数:" + JSON.toJSONString(resultString));
logger.info("【2404】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
/**
* 【2403】 更改住院信息
*
* @param yb2403InputInpatient 参数
* @param contractNo 结果
*/
public void updateInpatientInfo(Yb2403InputParam yb2403InputInpatient, String contractNo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/change-inpatient-info",
yb2403InputInpatient, iContractService.getContract(contractNo));
>>>>>>> v1.3
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
@@ -1224,6 +1392,153 @@ public class YbHttpUtils {
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
<<<<<<< HEAD
}
}
=======
throw new ServiceException(e.getMessage());
}
}
public void emrUp(Yb4401InputDto yb4401InputDto) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/emr-up", yb4401InputDto, null);
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【4401】返回参数:" + JSON.toJSONString(resultString));
logger.info("【4401】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
return;
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
/**
* 【2601】冲正交易
*
* @param toReverse 冲正参数
* @param contract 省市医保
*/
public void ybToReverse(Yb2601InputParam toReverse, Contract contract) {
String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/to-reverse",
toReverse, contract);
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【4401】返回参数:" + JSON.toJSONString(resultString));
logger.info("【4401】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
return;
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
public void yb4101Up(Yb4101AInputData yb4101AInputData, Contract contract) {
String resultString = httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl-up",
yb4101AInputData, contract);
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【4101A】返回参数:" + JSON.toJSONString(resultString));
logger.info("【4101A】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
return;
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
public void yb4102Up(Yb4102InputStastInfo yb4102InputStastInfo) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/setl-status-up",
yb4102InputStastInfo, null);
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【4102】返回参数:" + JSON.toJSONString(resultString));
logger.info("【4102】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
return;
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
public void cancel2302FeeDetailUp(Yb2302InpatientParam yb2302InpatientParam, Contract contract) {
String resultString =
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/cancel-2302-fee-detail",
yb2302InpatientParam, contract);
if (StringUtils.isEmpty(resultString)) {
throw new ServiceException("未接收到医保返回参数");
}
System.out.println("【2302】返回参数:" + JSON.toJSONString(resultString));
logger.info("【2302】返回参数:" + resultString);
ObjectMapper mapper = new ObjectMapper();
Result result = null;
try {
result = mapper.readValue(resultString, Result.class);
if (result == null) {
throw new ServiceException("未接收到医保返回参数");
} else if (result.getCode() == 200) {
System.out.println(result.getResult().toString());
return;
} else {
throw new ServiceException(result.getMessage());
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
throw new ServiceException(e.getMessage());
}
}
>>>>>>> v1.3
}

View File

@@ -4,8 +4,12 @@
package com.openhis.yb.service;
import java.math.BigDecimal;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -700,9 +704,9 @@ public class YbManager {
* @param medical3505Param 发药详细信息
* @return 结果
*/
public R<?> merchandise(Medical3505Param medical3505Param) {
public R<?> merchandise(Medical3505Param medical3505Param, Contract contract) {
Result result = ybHttpService.merchandise(medical3505Param);
Result result = ybHttpService.merchandise(medical3505Param, contract);
Medical3505Result medical3505Result =
JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class);
if ("1".equals(medical3505Result.getRetRslt())) {
@@ -717,10 +721,11 @@ public class YbManager {
* 【3506】商品销售退货
*
* @param medical3506Param 退货详细信息
* @param contract 合同信息
* @return 结果
*/
public R<?> cancelMerchandise(Medical3506Param medical3506Param) {
Result result = ybHttpService.cancelMerchandise(medical3506Param);
public R<?> cancelMerchandise(Medical3506Param medical3506Param, Contract contract) {
Result result = ybHttpService.cancelMerchandise(medical3506Param, contract);
Medical3505Result medical3505Result =
JSON.parseObject(JSON.toJSONString(result.getResult()), Medical3505Result.class);
if ("1".equals(medical3505Result.getRetRslt())) {
@@ -915,28 +920,62 @@ public class YbManager {
Yb2301InputFeeDetail yb2301InputFeeDetail;
List<Yb2301InputFeeDetail> yb2301InputFeeDetailList = new ArrayList();
// int i = 1;
for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) {
yb2301InputFeeDetail = new Yb2301InputFeeDetail();
yb2301InputFeeDetail.setFeedetlSn(chargeItemBaseInfoDto.getBusNo()).setMdtrtId(inpatientReg.getMdtrtId())
.setPsnNo(inpatientReg.getPsnNo()).setMedType(String.valueOf(encounter.getYbClassEnum()))
.setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()).setMedListCodg(chargeItemBaseInfoDto.getYbNo())
.setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo())
.setDetItemFeeSumamt(chargeItemBaseInfoDto.getTotalPrice())
.setCnt(chargeItemBaseInfoDto.getQuantityValue()).setPric(chargeItemBaseInfoDto.getUnitPrice())
.setBilgDeptName(chargeItemBaseInfoDto.getDeptName()).setBilgDrName(chargeItemBaseInfoDto.getDoctName())
.setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
.setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo());
BigDecimal quantity = BigDecimal.ZERO;
// 分组分类
Map<String, List<ChargeItemBaseInfoDto>> groupByTable =
chargeItemBaseInfoDtosList.stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getServiceTable));
for (Map.Entry<String, List<ChargeItemBaseInfoDto>> stringListEntry : groupByTable.entrySet()) {
Map<Long, List<ChargeItemBaseInfoDto>> groupById =
stringListEntry.getValue().stream().collect(Collectors.groupingBy(ChargeItemBaseInfoDto::getServiceId));
for (Map.Entry<Long, List<ChargeItemBaseInfoDto>> longListEntry : groupById.entrySet()) {
quantity = BigDecimal.ZERO;
for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : longListEntry.getValue()) {
quantity = quantity.add(chargeItemBaseInfoDto.getQuantityValue());
}
yb2301InputFeeDetailList.add(yb2301InputFeeDetail);
ChargeItemBaseInfoDto chargeItemBaseInfoDto = longListEntry.getValue().get(0);
yb2301InputFeeDetail = new Yb2301InputFeeDetail();
yb2301InputFeeDetail.setFeedetlSn(chargeItemBaseInfoDto.getBusNo())
.setMdtrtId(inpatientReg.getMdtrtId()).setPsnNo(inpatientReg.getPsnNo())
.setMedType(String.valueOf(encounter.getYbClassEnum()))
.setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate())
.setMedListCodg(chargeItemBaseInfoDto.getYbNo())
.setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo())
// 2025-11-13 李方案住院部分的totalprice不可直接用要用单价乘以数量并且比如患者一天一袋氯化钠注射液预结算的时候要根据同表同id进行归类计算
.setDetItemFeeSumamt(quantity.multiply(chargeItemBaseInfoDto.getUnitPrice())).setCnt(quantity)
.setPric(chargeItemBaseInfoDto.getUnitPrice()).setBilgDeptName(chargeItemBaseInfoDto.getDeptName())
.setBilgDrName(chargeItemBaseInfoDto.getDoctName())
.setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
.setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo());
yb2301InputFeeDetailList.add(yb2301InputFeeDetail);
}
}
// int i = 1;
// for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) {
// yb2301InputFeeDetail = new Yb2301InputFeeDetail();
// yb2301InputFeeDetail.setFeedetlSn(chargeItemBaseInfoDto.getBusNo()).setMdtrtId(inpatientReg.getMdtrtId())
// .setPsnNo(inpatientReg.getPsnNo()).setMedType(String.valueOf(encounter.getYbClassEnum()))
// .setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()).setMedListCodg(chargeItemBaseInfoDto.getYbNo())
// .setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo())
// //2025-11-13 李方案住院部分的totalprice不可直接用要用单价乘以数量并且比如患者一天一袋氯化钠注射液预结算的时候要根据同表同id进行归类计算
// .setDetItemFeeSumamt(chargeItemBaseInfoDto.getQuantityValue().multiply(chargeItemBaseInfoDto.getUnitPrice()))
// .setCnt(chargeItemBaseInfoDto.getQuantityValue()).setPric(chargeItemBaseInfoDto.getUnitPrice())
// .setBilgDeptName(chargeItemBaseInfoDto.getDeptName()).setBilgDrName(chargeItemBaseInfoDto.getDoctName())
// .setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
// .setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo());
// yb2301InputFeeDetailList.add(yb2301InputFeeDetail);
// }
Yb2301InputFeeDetailModel yb2301InputFeeDetailModel = new Yb2301InputFeeDetailModel();
yb2301InputFeeDetailModel.setFeedetail(yb2301InputFeeDetailList)
.setInsuplcAdmdvs(inpatientReg.getInsuplcAdmdvs());
List<Yb2301OutputResult> yb2301OutputResults = ybHttpService.upload2301FeeDetail(yb2301InputFeeDetailModel);
// todo :数据保存
ybBaseService.save2301YbFeeDetail(yb2301OutputResults, yb2301InputFeeDetailList, encounter.getId());
// for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtos) {
// if (chargeItemBaseInfoDto.getContractNo().equals(CommonConstants.BusinessName.DEFAULT_CONTRACT_NO)) {
@@ -974,6 +1013,7 @@ public class YbManager {
throw new ServiceException("医保预结算失败");
}
// todo数据保存
ybBaseService.save2303InpatientPreSettle(yb2303OutputSetInfo);
return yb2303OutputSetInfo;
}
@@ -1012,6 +1052,10 @@ public class YbManager {
return yb2305OutputSetlInfo;
}
<<<<<<< HEAD
public void hospitalAdmission() {
}
=======
public void hospitalAdmission() {}
>>>>>>> v1.3
}

View File

@@ -6,7 +6,7 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.openhis.common.enums.DelFlag;
import com.core.common.enums.DelFlag;
import com.openhis.yb.domain.ClinicUnSettle;
import com.openhis.yb.mapper.ClinicUnSettleMapper;
import com.openhis.yb.service.IClinicUnSettleService;

View File

@@ -5,6 +5,7 @@ package com.openhis.yb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
<<<<<<< HEAD
import com.openhis.common.enums.DelFlag;
import com.openhis.yb.domain.InpatientDischarge;
import com.openhis.yb.domain.InpatientReg;
@@ -16,6 +17,17 @@ import org.springframework.stereotype.Service;
/**
* TODO:请概括描述当前类的主要用途和注意事项
=======
import com.core.common.enums.DelFlag;
import com.openhis.common.constant.YbCommonConstants;
import com.openhis.yb.domain.InpatientDischarge;
import com.openhis.yb.mapper.InpatientDischargeMapper;
import com.openhis.yb.service.IInpatientDischargeService;
import org.springframework.stereotype.Service;
/**
* 医保出院Mapper
>>>>>>> v1.3
*
* @author SunJQ
* @date 2025-07-31
@@ -23,6 +35,14 @@ import org.springframework.stereotype.Service;
@Service
public class InpatientDischargeServiceImpl extends ServiceImpl<InpatientDischargeMapper, InpatientDischarge>
implements IInpatientDischargeService {
<<<<<<< HEAD
=======
@Override
public InpatientDischarge getByMdtrtId(String mdtrtId) {
return baseMapper.selectOne(new LambdaQueryWrapper<InpatientDischarge>().eq(InpatientDischarge::getMdtrtId, mdtrtId)
.eq(InpatientDischarge::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1));
}
>>>>>>> v1.3
}

View File

@@ -1,11 +1,18 @@
package com.openhis.yb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.openhis.yb.domain.InpatientFeeDetail;
import com.openhis.yb.mapper.InpatientFeeDetailMapper;
import com.openhis.yb.service.IInpatientFeeDetailService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class InpatientFeeDetailServiceImpl extends ServiceImpl<InpatientFeeDetailMapper, InpatientFeeDetail> implements IInpatientFeeDetailService {
@Override
public List<InpatientFeeDetail> getFeeDetailList(String mdtrtId) {
return baseMapper.selectList(new LambdaQueryWrapper<InpatientFeeDetail>().eq(InpatientFeeDetail::getMdtrtId, mdtrtId));
}
}

View File

@@ -0,0 +1,21 @@
package com.openhis.yb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.core.common.enums.DelFlag;
import com.openhis.common.constant.YbCommonConstants;
import com.openhis.yb.domain.InpatientPreSettle;
import com.openhis.yb.domain.InpatientSettle;
import com.openhis.yb.mapper.InpatientPreSettleMapper;
import com.openhis.yb.mapper.InpatientSettleMapper;
import com.openhis.yb.service.IInpatientPreSettleService;
import com.openhis.yb.service.IInpatientSettleService;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class InpatientPreSettleServiceImpl extends ServiceImpl<InpatientPreSettleMapper, InpatientPreSettle>
implements IInpatientPreSettleService {
}

View File

@@ -5,7 +5,7 @@ package com.openhis.yb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.openhis.common.enums.DelFlag;
import com.core.common.enums.DelFlag;
import com.openhis.yb.domain.InpatientReg;
import com.openhis.yb.mapper.InpatientRegMapper;
import com.openhis.yb.service.IInpatientRegService;
@@ -26,4 +26,15 @@ public class InpatientRegServiceImpl extends ServiceImpl<InpatientRegMapper, Inp
return baseMapper.selectOne(new LambdaQueryWrapper<InpatientReg>().eq(InpatientReg::getIptNo, busNo)
.eq(InpatientReg::getDeleteFlag, DelFlag.NO.getCode()));
}
@Override
public InpatientReg getInpatientRegByMdtrtId(String mdtrtId) {
return baseMapper.selectOne(new LambdaQueryWrapper<InpatientReg>().eq(InpatientReg::getMdtrtId, mdtrtId)
.eq(InpatientReg::getDeleteFlag, DelFlag.NO.getCode()));
}
@Override
public InpatientReg getInpatientRegByEncounterId(String encounterId) {
return baseMapper.selectInpatientInfoByEncounterId(encounterId);
}
}

View File

@@ -1,18 +1,30 @@
package com.openhis.yb.service.impl;
import java.util.List;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.openhis.common.constant.YbCommonConstants;
import com.openhis.common.enums.Whether;
import com.core.common.enums.DelFlag;
import com.openhis.yb.domain.InpatientSettle;
import com.openhis.yb.mapper.InpatientSettleMapper;
import com.openhis.yb.service.IInpatientSettleService;
import org.springframework.stereotype.Service;
@Service
public class InpatientSettleServiceImpl extends ServiceImpl<InpatientSettleMapper, InpatientSettle> implements IInpatientSettleService {
public class InpatientSettleServiceImpl extends ServiceImpl<InpatientSettleMapper, InpatientSettle>
implements IInpatientSettleService {
@Override
public InpatientSettle getBySettleId(String ybSettleIds) {
return baseMapper.selectOne(new LambdaQueryWrapper<InpatientSettle>().eq(InpatientSettle::getSetlId,ybSettleIds).eq(InpatientSettle::getDeleteFlag, Whether.NO.getValue()).last(YbCommonConstants.sqlConst.LIMIT1));
return baseMapper
.selectOne(new LambdaQueryWrapper<InpatientSettle>().eq(InpatientSettle::getSetlId, ybSettleIds)
.eq(InpatientSettle::getDeleteFlag, DelFlag.NO.getCode()).last(YbCommonConstants.sqlConst.LIMIT1));
}
@Override
public List<InpatientSettle> getByMdtrtId(String mdtrtId) {
return baseMapper.selectList(new LambdaQueryWrapper<InpatientSettle>().eq(InpatientSettle::getMdtrtId, mdtrtId)
.eq(InpatientSettle::getDeleteFlag, DelFlag.NO.getCode()));
}
}

View File

@@ -271,8 +271,9 @@ public class YbParamBuilderUtil {
List<EncounterDiagnosis> encounterDiagnosis =
iEncounterDiagnosisService.list(new LambdaQueryWrapper<EncounterDiagnosis>()
.eq(EncounterDiagnosis::getEncounterId, encounterId).eq(EncounterDiagnosis::getTenantId, tenantId)
.eq(EncounterDiagnosis::getMedTypeCode, ybMedType.getValue()));// 2025/08/05
// 农大患者结算慢病时会上传普通门诊的疾病,医保回复该参保人未做该病种的门慢门特备案,故此修正根据门诊类型去上传
.eq(EncounterDiagnosis::getMedTypeCode, ybMedType.getValue()));
// 2025/08/05
// 农大患者结算慢病时会上传普通门诊的疾病,医保回复该参保人未做该病种的门慢门特备案,故此修正根据门诊类型去上传
for (EncounterDiagnosis diagnosis : encounterDiagnosis) {
if (Objects.equals(Whether.YES.getValue(), diagnosis.getMaindiseFlag())) {
mainEncounterDiagnosis = diagnosis;
@@ -2369,6 +2370,9 @@ public class YbParamBuilderUtil {
if (jsonObj != null && jsonObj.get("insuplc_admdvs") != null) {
baseInfo.setInsuplcAdmdvs(String.valueOf(jsonObj.get("insuplc_admdvs")));
}
if (jsonObj != null && jsonObj.get("filePath") != null) {
baseInfo.setFilePath(String.valueOf(jsonObj.get("filePath")));
}
// 异地患者问题
// if (contract.getBusNo() != null) {
// baseInfo.setInsuplcAdmdvs(contract.getBusNo());