后端最新版本同步

This commit is contained in:
Zhang.WH
2025-09-25 10:43:25 +08:00
parent 1276dc4adb
commit c8014404f1
355 changed files with 10070 additions and 5578 deletions

View File

@@ -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 {