fix(#Bug#741): guanyu (文件合入)

This commit is contained in:
2026-06-13 19:45:49 +08:00
committed by 华佗
parent a397e10ec7
commit e9ac3bbc78
2 changed files with 20 additions and 13 deletions

View File

@@ -1,8 +1,6 @@
package com.healthlink.his.web.pharmacymanage.appservice.impl;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -157,6 +155,8 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi
// 发药状态
List<DispenseStatusOption> dispenseStatusOptions = new ArrayList<>();
dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.DRAFT.getValue(),
DispenseStatus.DRAFT.getInfo()));
dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.SUBMITTED.getValue(),
DispenseStatus.SUBMITTED.getInfo()));
dispenseStatusOptions.add(new DispenseStatusOption(DispenseStatus.IN_PROGRESS.getValue(),
@@ -197,7 +197,8 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi
= westernMedicineDispenseMapper.selectEncounterInfoListPage(new Page<>(pageNo, pageSize), queryWrapper,
statusEnum, DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(),
DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(),
DispenseStatus.SUMMARIZED.getValue(), DispenseStatus.SUBMITTED.getValue());
DispenseStatus.SUMMARIZED.getValue(), DispenseStatus.SUBMITTED.getValue(),
DispenseStatus.DRAFT.getValue());
encounterInfoPage.getRecords().forEach(encounterInfo -> {
// 性别
encounterInfo.setGenderEnum_enumText(
@@ -236,7 +237,7 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi
DispenseStatus.IN_PROGRESS.getValue(), DispenseStatus.COMPLETED.getValue(),
DispenseStatus.PREPARATION.getValue(), DispenseStatus.PREPARED.getValue(), dispenseStatus,
PublicationStatus.ACTIVE.getValue(), DispenseStatus.SUMMARIZED.getValue(),
DispenseStatus.SUBMITTED.getValue());
DispenseStatus.SUBMITTED.getValue(), DispenseStatus.DRAFT.getValue());
medicineDispenseOrderPage.getRecords().forEach(medicineDispenseOrder -> {
// 发药状态
medicineDispenseOrder.setStatusEnum_enumText(
@@ -495,7 +496,7 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi
String returnMsg = null;
List<String> uploadFailedNoList;
// 调用医保商品销售接口
String ybSwitch = SecurityUtils.getLoginUser().getOptionJsonValue(CommonConstants.Option.YB_SWITCH); // 医保开关
String ybSwitch = SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.YB_SWITCH); // 医保开关
if (Whether.YES.getCode().equals(ybSwitch)) {
// 设置进销存参数
List<MedicationDefinition> medicationDefinitions = medicationDefinitionService.listByIds(
@@ -676,14 +677,14 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi
// throw new ServiceException("未查找到就诊发票信息");
// }
// 转换为JSON
ArrayNode medicalTraceNo = new com.fasterxml.jackson.databind.ObjectMapper().createArrayNode();
JSONArray medicalTraceNo = new JSONArray();
// 获取追溯码信息
if (dispenseInventoryDto.getTraceNo() != null) {
List<String> traceNoList
= Arrays.stream(dispenseInventoryDto.getTraceNo().split(CommonConstants.Common.COMMA)).map(String::trim)
.filter(s -> !s.isEmpty()).toList();
for (String traceNo : traceNoList) {
ObjectNode traceNoMap = new com.fasterxml.jackson.databind.ObjectMapper().createObjectNode();
Map<String, String> traceNoMap = new HashMap<>();
traceNoMap.put("drug_trac_codg", traceNo);
medicalTraceNo.add(traceNoMap);
}
@@ -707,7 +708,7 @@ public class WesternMedicineDispenseAppServiceImpl implements IWesternMedicineDi
}
// 查看所属医院
String fixmedinsCode
= SecurityUtils.getLoginUser().getOptionJsonValue(CommonConstants.Option.FIXMEDINS_CODE);
= SecurityUtils.getLoginUser().getOptionJson().getString(CommonConstants.Option.FIXMEDINS_CODE);
if (dispenseInventoryDto.getPreparerName() == null && HospitalCodeEnum.CCU.getCode().equals(fixmedinsCode)) {
medical3505Param.setSelRetnOpterName(CommonConstants.CCU.DisDeviceDoctorName);
} else {

View File

@@ -97,10 +97,10 @@
ON T4.med_req_id = T5.id
AND T5.delete_flag = '0'
WHERE <if test="statusEnum == null">
T4.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared},#{summarized})
T4.status_enum IN (#{draft},#{inProgress},#{completed},#{preparation},#{prepared},#{summarized})
</if>
<if test="statusEnum == 3">
T4.status_enum IN (#{inProgress},#{preparation},#{prepared},#{summarized})
T4.status_enum IN (#{draft},#{inProgress},#{preparation},#{prepared},#{summarized})
</if>
<if test="statusEnum == 4">
T4.status_enum = #{completed}
@@ -108,6 +108,9 @@
<if test="statusEnum == 18">
T4.status_enum = #{submitted}
</if>
<if test="statusEnum == 1">
T4.status_enum = #{draft}
</if>
) AS ii
${ew.customSqlSegment}
GROUP BY ii.encounter_id,
@@ -268,10 +271,10 @@
-- 因发药配药合并,前台只能看到待发药,已发药状态,但是后台配药发药状态都查
AND
<if test="dispenseStatus == null">
T1.status_enum IN (#{inProgress},#{completed},#{preparation},#{prepared},#{summarized})
T1.status_enum IN (#{draft},#{inProgress},#{completed},#{preparation},#{prepared},#{summarized})
</if>
<if test="dispenseStatus == 3">
T1.status_enum IN (#{inProgress},#{preparation},#{prepared},#{summarized})
T1.status_enum IN (#{draft},#{inProgress},#{preparation},#{prepared},#{summarized})
</if>
<if test="dispenseStatus == 4">
T1.status_enum = #{completed}
@@ -279,6 +282,9 @@
<if test="dispenseStatus == 18">
T1.status_enum = #{submitted}
</if>
<if test="dispenseStatus == 1">
T1.status_enum = #{draft}
</if>
AND T14.inventory_status_enum = #{active}
ORDER BY prescription_no DESC
) AS ii