后端最新版本同步
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.openhis.yb.dto;
|
||||
|
||||
import com.openhis.financial.domain.PaymentRecDetail;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -13,9 +14,12 @@ public class PaymentDecDetailUniAccountDto extends PaymentRecDetail {
|
||||
*/
|
||||
private String contractNo;
|
||||
|
||||
//险种类型
|
||||
// 险种类型
|
||||
private String insutype;
|
||||
|
||||
//医疗类别
|
||||
// 医疗类别
|
||||
private String medType;
|
||||
|
||||
// 医疗费用总额
|
||||
private String medfeeSumamt;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||
*/
|
||||
package com.openhis.yb.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 医保5205接口请求参数
|
||||
*
|
||||
* @author SunJQ
|
||||
* @date 2025-09-22
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class Yb5205InputSpecialDisease {
|
||||
|
||||
/**
|
||||
* 患者编号
|
||||
*/
|
||||
private String psnNo;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date begntime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date endtime;
|
||||
}
|
||||
@@ -0,0 +1,219 @@
|
||||
/*
|
||||
* Copyright ©2023 CJB-CNIT Team. All rights reserved
|
||||
*/
|
||||
package com.openhis.yb.dto;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 【5205】接口返回结果
|
||||
*
|
||||
* @author SunJQ
|
||||
* @date 2025-09-22
|
||||
*/
|
||||
@Data
|
||||
public class Yb5205OutputSpecialDisease {
|
||||
|
||||
/**
|
||||
* 费用明细流水号
|
||||
*/
|
||||
@JSONField(name = "feedetl_sn")
|
||||
private String feedetlSn;
|
||||
|
||||
/**
|
||||
* 处方/医嘱号
|
||||
*/
|
||||
@JSONField(name = "rx_drord_no")
|
||||
private String rxDrordNo;
|
||||
|
||||
/**
|
||||
* 定点医药机构编号
|
||||
*/
|
||||
@JSONField(name = "fixmedins_code")
|
||||
private String fixmedinsCode;
|
||||
|
||||
/**
|
||||
* 定点医药机构名称
|
||||
*/
|
||||
@JSONField(name = "fixmedins_name")
|
||||
private String fixmedinsName;
|
||||
|
||||
/**
|
||||
* 人员编号
|
||||
*/
|
||||
@JSONField(name = "psn_no")
|
||||
private String psnNo;
|
||||
|
||||
/**
|
||||
* 医疗类别
|
||||
*/
|
||||
@JSONField(name = "med_type")
|
||||
private String medType;
|
||||
|
||||
/**
|
||||
* 费用发生时间
|
||||
*/
|
||||
@JSONField(name = "fee_ocur_time", format = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date feeOcurTime;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@JSONField(name = "cnt")
|
||||
private BigDecimal cnt;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@JSONField(name = "pric")
|
||||
private BigDecimal pric;
|
||||
|
||||
/**
|
||||
* 收费项目等级
|
||||
*/
|
||||
@JSONField(name = "chrgitm_lv")
|
||||
private String chrgitmLv;
|
||||
|
||||
/**
|
||||
* 医保目录编码
|
||||
*/
|
||||
@JSONField(name = "hilist_code")
|
||||
private String hilistCode;
|
||||
|
||||
/**
|
||||
* 医保目录名称
|
||||
*/
|
||||
@JSONField(name = "hilist_name")
|
||||
private String hilistName;
|
||||
|
||||
/**
|
||||
* 目录类别
|
||||
*/
|
||||
@JSONField(name = "list_type")
|
||||
private String listType;
|
||||
|
||||
/**
|
||||
* 医疗目录编码
|
||||
*/
|
||||
@JSONField(name = "med_list_codg")
|
||||
private String medListCodg;
|
||||
|
||||
/**
|
||||
* 医药机构目录编码
|
||||
*/
|
||||
@JSONField(name = "medins_list_codg")
|
||||
private String medinsListCodg;
|
||||
|
||||
/**
|
||||
* 医药机构目录名称
|
||||
*/
|
||||
@JSONField(name = "medins_list_name")
|
||||
private String medinsListName;
|
||||
|
||||
/**
|
||||
* 医疗收费项目类别
|
||||
*/
|
||||
@JSONField(name = "med_chrgitm_type")
|
||||
private String medChrgitmType;
|
||||
|
||||
/**
|
||||
* 商品名
|
||||
*/
|
||||
@JSONField(name = "prodname")
|
||||
private String prodname;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@JSONField(name = "spec")
|
||||
private String spec;
|
||||
|
||||
/**
|
||||
* 剂型名称
|
||||
*/
|
||||
@JSONField(name = "dosform_name")
|
||||
private String dosformName;
|
||||
|
||||
/**
|
||||
* 限制使用标志
|
||||
*/
|
||||
@JSONField(name = "lmt_used_flag")
|
||||
private String lmtUsedFlag;
|
||||
|
||||
/**
|
||||
* 医院制剂标志
|
||||
*/
|
||||
@JSONField(name = "hosp_prep_flag")
|
||||
private String hospPrepFlag;
|
||||
|
||||
/**
|
||||
* 医院审批标志
|
||||
*/
|
||||
@JSONField(name = "hosp_appr_flag")
|
||||
private String hospApprFlag;
|
||||
|
||||
/**
|
||||
* 中药使用方式
|
||||
*/
|
||||
@JSONField(name = "tcmdrug_used_way")
|
||||
private String tcmdrugUsedWay;
|
||||
|
||||
/**
|
||||
* 生产地类别
|
||||
*/
|
||||
@JSONField(name = "prodplac_type")
|
||||
private String prodplacType;
|
||||
|
||||
/**
|
||||
* 基本药物标志
|
||||
*/
|
||||
@JSONField(name = "bas_medn_flag")
|
||||
private String basMednFlag;
|
||||
|
||||
/**
|
||||
* 医保谈判药品标志
|
||||
*/
|
||||
@JSONField(name = "hi_nego_drug_flag")
|
||||
private String hiNegoDrugFlag;
|
||||
|
||||
/**
|
||||
* 儿童用药标志
|
||||
*/
|
||||
@JSONField(name = "chld_medc_flag")
|
||||
private String chldMedcFlag;
|
||||
|
||||
/**
|
||||
* 外检标志
|
||||
*/
|
||||
@JSONField(name = "etip_flag")
|
||||
private String etipFlag;
|
||||
|
||||
/**
|
||||
* 外检医院编码
|
||||
*/
|
||||
@JSONField(name = "etip_hosp_code")
|
||||
private String etipHospCode;
|
||||
|
||||
/**
|
||||
* 出院带药标志
|
||||
*/
|
||||
@JSONField(name = "dscg_tkdrug_flag")
|
||||
private String dscgTkdrugFlag;
|
||||
|
||||
/**
|
||||
* 目录特项标志
|
||||
*/
|
||||
@JSONField(name = "list_sp_item_flag")
|
||||
private String listSpItemFlag;
|
||||
|
||||
/**
|
||||
* 生育费用标志
|
||||
*/
|
||||
@JSONField(name = "matn_fee_flag")
|
||||
private String matnFeeFlag;
|
||||
}
|
||||
@@ -709,6 +709,20 @@ public class YbDao {
|
||||
return ybUtil.getMedicalDirectory3301Param(tableName, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3301】医保目录对照参数作成(药品)
|
||||
*
|
||||
* @param categoryCode 药品分类
|
||||
* @param busNo 药品编号
|
||||
* @param name 药品编号
|
||||
* @param ybNo 医保编码
|
||||
* @return 医保目录对照参数
|
||||
*/
|
||||
public MedicalDirectory3301Param getMedicalDirectory3301ParamMedication(String categoryCode, String busNo,
|
||||
String name, String ybNo) {
|
||||
return ybUtil.getMedicalDirectory3301ParamMedication(categoryCode, busNo, name, ybNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3302】目录对照撤销
|
||||
*
|
||||
@@ -720,6 +734,19 @@ public class YbDao {
|
||||
return ybUtil.getMedicalDirectory3302Param(tableName, id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3302】医保目录对照撤销参数作成(药品)
|
||||
*
|
||||
* @param categoryCode 药品分类
|
||||
* @param busNo 药品编号
|
||||
* @param ybNo 医保编码
|
||||
* @return 医保目录对照撤销参数
|
||||
*/
|
||||
public MedicalDirectory3302Param getMedicalDirectory3302ParamMedication(String categoryCode, String busNo,
|
||||
String ybNo) {
|
||||
return ybUtil.getMedicalDirectory3302ParamMedication(categoryCode, busNo, ybNo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3201】医药机构费用结算对总账
|
||||
*
|
||||
@@ -1404,6 +1431,11 @@ public class YbDao {
|
||||
// 基金支付
|
||||
settlement3201Dto.setFundPaySumAmt(
|
||||
paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getFundPaySumAmt()));
|
||||
// 合计医疗费用
|
||||
settlement3201Dto
|
||||
.setMedFeeSumAmt(new BigDecimal(paymentDecDetailUniAccountDto.getMedfeeSumamt() == null
|
||||
? "0.0" : paymentDecDetailUniAccountDto.getMedfeeSumamt())
|
||||
.add(settlement3201Dto.getMedFeeSumAmt()));
|
||||
count++;
|
||||
}
|
||||
if (YbPayment.SELF_YB_ZH_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) {
|
||||
@@ -1417,13 +1449,13 @@ public class YbDao {
|
||||
settlement3201Dto.setAcctGjPay(
|
||||
paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getAcctGjPay()));
|
||||
}
|
||||
if (YbPayment.SELF_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())
|
||||
|| YbPayment.OTHER_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())
|
||||
|| YbPayment.YB_FUND_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) {
|
||||
// 合计医疗费用
|
||||
settlement3201Dto.setMedFeeSumAmt(
|
||||
paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getMedFeeSumAmt()));
|
||||
}
|
||||
// if (YbPayment.SELF_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())
|
||||
// || YbPayment.OTHER_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())
|
||||
// || YbPayment.YB_FUND_PAY.getValue().equals(paymentDecDetailUniAccountDto.getPayEnum())) {
|
||||
// // 合计医疗费用
|
||||
// settlement3201Dto.setMedFeeSumAmt(
|
||||
// paymentDecDetailUniAccountDto.getAmount().add(settlement3201Dto.getMedFeeSumAmt()));
|
||||
// }
|
||||
}
|
||||
// 结算笔数
|
||||
settlement3201Dto.setFixMedInsSetlCnt(count);
|
||||
@@ -1985,9 +2017,9 @@ public class YbDao {
|
||||
.setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()).setMedListCodg(chargeItemBaseInfoDto.getYbNo())
|
||||
.setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo())
|
||||
.setDetItemFeeSumamt(chargeItemBaseInfoDto.getTotalPrice())
|
||||
.setCnt(new BigDecimal(chargeItemBaseInfoDto.getQuantityValue()))
|
||||
.setPric(chargeItemBaseInfoDto.getUnitPrice()).setBilgDeptName(chargeItemBaseInfoDto.getDeptName())
|
||||
.setBilgDrName(chargeItemBaseInfoDto.getDoctName()).setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
|
||||
.setCnt(chargeItemBaseInfoDto.getQuantityValue()).setPric(chargeItemBaseInfoDto.getUnitPrice())
|
||||
.setBilgDeptName(chargeItemBaseInfoDto.getDeptName()).setBilgDrName(chargeItemBaseInfoDto.getDoctName())
|
||||
.setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
|
||||
.setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo());
|
||||
|
||||
yb2301InputFeeDetailList.add(yb2301InputFeeDetail);
|
||||
@@ -2232,7 +2264,7 @@ public class YbDao {
|
||||
}
|
||||
|
||||
List<EncounterLocation> encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId,
|
||||
LocationForm.BED, EncounterLocationStatus.ACTIVE);
|
||||
LocationForm.BED, EncounterActivityStatus.ACTIVE);
|
||||
if (encounterLocationList.isEmpty()) {
|
||||
throw new ServiceException("未查询到床位信息");
|
||||
}
|
||||
@@ -2364,7 +2396,7 @@ public class YbDao {
|
||||
}
|
||||
|
||||
List<EncounterLocation> encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId,
|
||||
LocationForm.BED, EncounterLocationStatus.ACTIVE);
|
||||
LocationForm.BED, EncounterActivityStatus.ACTIVE);
|
||||
if (encounterLocationList.isEmpty()) {
|
||||
throw new ServiceException("未查询到床位信息");
|
||||
}
|
||||
@@ -2558,7 +2590,7 @@ public class YbDao {
|
||||
}
|
||||
|
||||
List<EncounterLocation> encounterLocationList = iEncounterLocationService.getEncounterLocationList(encounterId,
|
||||
LocationForm.BED, EncounterLocationStatus.ACTIVE);
|
||||
LocationForm.BED, EncounterActivityStatus.ACTIVE);
|
||||
if (encounterLocationList.isEmpty()) {
|
||||
throw new ServiceException("未查询到床位信息");
|
||||
}
|
||||
@@ -2719,4 +2751,28 @@ public class YbDao {
|
||||
return yb2405InputInpatient;
|
||||
}
|
||||
|
||||
/**
|
||||
* 【5205】结果
|
||||
*
|
||||
* @param patientId 患者id
|
||||
* @param begntime 开始时间
|
||||
* @param endtime 结束时间
|
||||
* @return 5205结果
|
||||
*/
|
||||
public Yb5205InputSpecialDisease yb5205SpecialDiseaseDrugRecordSearch(Long patientId, Date begntime, Date endtime) {
|
||||
|
||||
Patient patient = iPatientService.getById(patientId);
|
||||
if (patient == null) {
|
||||
throw new ServiceException("未查询到患者信息");
|
||||
}
|
||||
InfoPerson perInfoByIdCard = iPerinfoService.getPerInfoByIdCard(patient.getIdCard(), patient.getTenantId());
|
||||
if (perInfoByIdCard == null) {
|
||||
throw new ServiceException("未查询到患者医保读卡信息");
|
||||
}
|
||||
|
||||
Yb5205InputSpecialDisease yb5205InputSpecialDisease = new Yb5205InputSpecialDisease();
|
||||
yb5205InputSpecialDisease.setBegntime(begntime).setEndtime(endtime).setPsnNo(perInfoByIdCard.getPsnNo());
|
||||
|
||||
return yb5205InputSpecialDisease;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ public class YbHttpUtils {
|
||||
Logger logger = LoggerFactory.getLogger(YbHttpUtils.class);
|
||||
|
||||
public Info1101Output getPerInfo(Info1101ReadcardParam readcard) {
|
||||
// 省名参数
|
||||
// 声明参数
|
||||
Result result = null;
|
||||
Info1101Output perinfo = null;
|
||||
// 发送请求
|
||||
@@ -1014,4 +1014,38 @@ public class YbHttpUtils {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 【5205】人员慢特病用药记录查询
|
||||
*
|
||||
* @param yb5205InputSpecialDisease
|
||||
* @return
|
||||
*/
|
||||
public List<Yb5205OutputSpecialDisease>
|
||||
yb5205SpecialDiseaseDrugRecordSearch(Yb5205InputSpecialDisease yb5205InputSpecialDisease) {
|
||||
String resultString =
|
||||
httpPost(SecurityUtils.getLoginUser().getOptionJson().getString("ybUrl") + "/spe-disease-record-search",
|
||||
yb5205InputSpecialDisease, null);
|
||||
if (StringUtils.isEmpty(resultString)) {
|
||||
throw new ServiceException("未接收到医保返回参数");
|
||||
}
|
||||
System.out.println("【5205】返回参数:" + JSON.toJSONString(resultString));
|
||||
logger.info("【5205】返回参数:" + 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 JSON.parseArray(result.getResult().toString(), Yb5205OutputSpecialDisease.class);
|
||||
} else {
|
||||
throw new ServiceException(result.getMessage());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -510,6 +510,34 @@ public class YbManager {
|
||||
throw new ServiceException("药品对照失败");
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3301】目录对照(药品)
|
||||
*
|
||||
* @param categoryCode 药品分类
|
||||
* @param busNo 药品编号
|
||||
* @param name 药品编号
|
||||
* @param ybNo 医保编码
|
||||
*/
|
||||
public R<?> directoryCheckMedication(String categoryCode, String busNo, String name, String ybNo) {
|
||||
MedicalDirectory3302Param medicalDirectory3302Param =
|
||||
ybBaseService.getMedicalDirectory3302ParamMedication(categoryCode, busNo, ybNo);
|
||||
Result result3302Info = ybHttpService.directoryUnCheck(medicalDirectory3302Param);
|
||||
if (!result3302Info.getCode().equals(CommonConstant.SC_OK_200)) {
|
||||
return R.fail("目录对照前,撤销对照失败");
|
||||
}
|
||||
MedicalDirectory3301Param medicalDirectory3301Param =
|
||||
ybBaseService.getMedicalDirectory3301ParamMedication(categoryCode, busNo, name, ybNo);
|
||||
ArrayList<MedicalDirectory3301Param> list = new ArrayList<>();
|
||||
list.add(medicalDirectory3301Param);
|
||||
MedicalDirectory3301ListParam medicalDirectory3301ListParam = new MedicalDirectory3301ListParam();
|
||||
medicalDirectory3301ListParam.setData(list);
|
||||
Result resultInfo = ybHttpService.directoryCheck(medicalDirectory3301ListParam);
|
||||
if (!resultInfo.getCode().equals(CommonConstant.SC_OK_200)) {
|
||||
return R.fail("药品对照失败");
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3302】目录对照撤销
|
||||
*
|
||||
@@ -915,9 +943,9 @@ public class YbManager {
|
||||
.setFeeOcurTime(chargeItemBaseInfoDto.getEnteredDate()).setMedListCodg(chargeItemBaseInfoDto.getYbNo())
|
||||
.setMedinsListCodg(chargeItemBaseInfoDto.getBaseBusNo())
|
||||
.setDetItemFeeSumamt(chargeItemBaseInfoDto.getTotalPrice())
|
||||
.setCnt(new BigDecimal(chargeItemBaseInfoDto.getQuantityValue()))
|
||||
.setPric(chargeItemBaseInfoDto.getUnitPrice()).setBilgDeptName(chargeItemBaseInfoDto.getDeptName())
|
||||
.setBilgDrName(chargeItemBaseInfoDto.getDoctName()).setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
|
||||
.setCnt(chargeItemBaseInfoDto.getQuantityValue()).setPric(chargeItemBaseInfoDto.getUnitPrice())
|
||||
.setBilgDeptName(chargeItemBaseInfoDto.getDeptName()).setBilgDrName(chargeItemBaseInfoDto.getDoctName())
|
||||
.setBilgDeptCodg(chargeItemBaseInfoDto.getDeptYbNo())
|
||||
.setBilgDrCodg(chargeItemBaseInfoDto.getDoctYbNo());
|
||||
|
||||
yb2301InputFeeDetailList.add(yb2301InputFeeDetail);
|
||||
|
||||
@@ -15,12 +15,14 @@ import org.springframework.stereotype.Component;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.core.common.core.domain.model.LoginUser;
|
||||
import com.core.common.enums.TenantOptionDict;
|
||||
import com.core.common.exception.ServiceException;
|
||||
import com.core.common.utils.AssignSeqUtil;
|
||||
import com.core.common.utils.DateUtils;
|
||||
import com.core.common.utils.SecurityUtils;
|
||||
import com.core.common.utils.StringUtils;
|
||||
import com.core.system.service.impl.SysUserServiceImpl;
|
||||
import com.core.web.util.TenantOptionUtil;
|
||||
import com.openhis.administration.domain.*;
|
||||
import com.openhis.administration.service.*;
|
||||
import com.openhis.clinical.domain.Condition;
|
||||
@@ -268,7 +270,8 @@ 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;
|
||||
@@ -1219,6 +1222,32 @@ public class YbParamBuilderUtil {
|
||||
return medicalDirectory3301Param;
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3301】医保目录对照参数作成(药品)
|
||||
*
|
||||
* @param categoryCode 药品分类
|
||||
* @param busNo 药品编号
|
||||
* @param name 药品编号
|
||||
* @param ybNo 医保编码
|
||||
* @return 医保目录对照参数
|
||||
*/
|
||||
public MedicalDirectory3301Param getMedicalDirectory3301ParamMedication(String categoryCode, String busNo,
|
||||
String name, String ybNo) {
|
||||
String listType;
|
||||
if (MedCategoryCode.TRADITIONAL_CHINESE_MEDICINE.getValue().equals(categoryCode)
|
||||
|| MedCategoryCode.WESTERN_MEDICINE.getValue().equals(categoryCode)) {
|
||||
listType = YbListType.WESTERN_AND_CHINESE_PATENT_MEDICINE.getValue();
|
||||
} else if (MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue().equals(categoryCode)) {
|
||||
listType = YbListType.IMPORTANT_HERBAL_SLICES.getValue();
|
||||
} else {
|
||||
throw new ServiceException("无效的目录类别");
|
||||
}
|
||||
return new MedicalDirectory3301Param().setFixmedinsHilistId(busNo).setFixmedinsHilistName(name)
|
||||
.setListType(listType).setMedListCodg(ybNo)
|
||||
.setBegndate(DateUtils.dateTimeNow(YbCommonConstants.constants.YYYY_MM_DD))
|
||||
.setEnddate(YbCommonConstants.constants.END_TIME);
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3302】医保目录对照撤销
|
||||
*
|
||||
@@ -1289,6 +1318,30 @@ public class YbParamBuilderUtil {
|
||||
return medicalDirectory3302Param;
|
||||
}
|
||||
|
||||
/**
|
||||
* 【3302】医保目录对照撤销参数作成(药品)
|
||||
*
|
||||
* @param categoryCode 药品分类
|
||||
* @param busNo 药品编号
|
||||
* @param ybNo 医保编码
|
||||
* @return 医保目录对照撤销参数
|
||||
*/
|
||||
public MedicalDirectory3302Param getMedicalDirectory3302ParamMedication(String categoryCode, String busNo,
|
||||
String ybNo) {
|
||||
String listType;
|
||||
if (MedCategoryCode.TRADITIONAL_CHINESE_MEDICINE.getValue().equals(categoryCode)
|
||||
|| MedCategoryCode.WESTERN_MEDICINE.getValue().equals(categoryCode)) {
|
||||
listType = YbListType.WESTERN_AND_CHINESE_PATENT_MEDICINE.getValue();
|
||||
} else if (MedCategoryCode.CHINESE_HERBAL_MEDICINE.getValue().equals(categoryCode)) {
|
||||
listType = YbListType.IMPORTANT_HERBAL_SLICES.getValue();
|
||||
} else {
|
||||
throw new ServiceException("无效的目录类别");
|
||||
}
|
||||
return new MedicalDirectory3302Param().setFixmedinsHilistId(busNo)
|
||||
.setFixmedinsCode(TenantOptionUtil.getOptionContent(TenantOptionDict.FIXMEDINS_CODE)).setListType(listType)
|
||||
.setMedListCodg(ybNo);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param clearing3205AWebParma [3205]前台传参
|
||||
@@ -1824,9 +1877,9 @@ public class YbParamBuilderUtil {
|
||||
.setPharPracCertNo(medDoctor.getPharPracCertNo()).setPsnCertType(mdtrtCertType.getValue())
|
||||
.setManuLotnum(deviceDispense.getLotNumber()).setManuDate(inventoryItem.getProductionDate())
|
||||
.setTrdnFlag(flag.getCode()).setRtalDocno(invoice.getId().toString())
|
||||
.setSelRetnCnt(new BigDecimal(deviceDispense.getQuantity()))
|
||||
.setSelRetnTime(deviceDispense.getDispenseTime()).setSelRetnOpterName(performer.getName())
|
||||
.setRxFlag(deviceDefinition.getRxFlag().toString()).setExpyEnd(inventoryItem.getExpirationDate());
|
||||
.setSelRetnCnt(deviceDispense.getQuantity()).setSelRetnTime(deviceDispense.getDispenseTime())
|
||||
.setSelRetnOpterName(performer.getName()).setRxFlag(deviceDefinition.getRxFlag().toString())
|
||||
.setExpyEnd(inventoryItem.getExpirationDate());
|
||||
|
||||
// 溯源码
|
||||
SupplyDelivery supplyDelivery = iSupplyDeliveryService.getOne(
|
||||
@@ -2315,6 +2368,10 @@ public class YbParamBuilderUtil {
|
||||
if (jsonObj != null && jsonObj.get("insuplc_admdvs") != null) {
|
||||
baseInfo.setInsuplcAdmdvs(String.valueOf(jsonObj.get("insuplc_admdvs")));
|
||||
}
|
||||
// 异地患者问题
|
||||
// if (contract.getBusNo() != null) {
|
||||
// baseInfo.setInsuplcAdmdvs(contract.getBusNo());
|
||||
// }
|
||||
if (jsonObj != null && jsonObj.get("decrypt_flag") != null) {
|
||||
baseInfo.setDecryptFlag(String.valueOf(jsonObj.get("decrypt_flag")));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user