Fix Bug #503: AI修复
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package com.openhis.service.impl;
|
||||
|
||||
import com.openhis.domain.dto.DispensingDetailQueryDTO;
|
||||
import com.openhis.domain.entity.DispensingRecord;
|
||||
import com.openhis.mapper.DispensingMapper;
|
||||
import com.openhis.service.DispensingService;
|
||||
import com.openhis.service.SysDictDataService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class DispensingServiceImpl implements DispensingService {
|
||||
|
||||
@Autowired
|
||||
private DispensingMapper dispensingMapper;
|
||||
|
||||
@Autowired
|
||||
private SysDictDataService sysDictDataService;
|
||||
|
||||
private static final String DICT_TYPE_NURSE_SUBMIT_MODE = "ward_nurse_submit_mode";
|
||||
private static final String MODE_REQUIRED_APPLY = "1"; // 需申请模式
|
||||
|
||||
@Override
|
||||
public List<DispensingRecord> queryDispensingDetails(DispensingDetailQueryDTO queryDTO) {
|
||||
// 获取病区护士执行提交药品模式配置
|
||||
String submitMode = sysDictDataService.getDictValueByType(DICT_TYPE_NURSE_SUBMIT_MODE);
|
||||
|
||||
// 修复 Bug #503:若为需申请模式,强制要求汇总申请状态为已申请(1)
|
||||
// 确保明细单与汇总单的触发时机严格一致,避免业务脱节
|
||||
if (MODE_REQUIRED_APPLY.equals(submitMode)) {
|
||||
queryDTO.setSummaryApplyStatus(1);
|
||||
}
|
||||
|
||||
return dispensingMapper.selectDispensingDetails(queryDTO);
|
||||
}
|
||||
|
||||
// 其他原有方法保持不变...
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.openhis.mapper.DispensingMapper">
|
||||
|
||||
<resultMap id="DispensingRecordResult" type="com.openhis.domain.entity.DispensingRecord">
|
||||
<id property="id" column="id"/>
|
||||
<result property="patientId" column="patient_id"/>
|
||||
<result property="drugCode" column="drug_code"/>
|
||||
<result property="drugName" column="drug_name"/>
|
||||
<result property="dosage" column="dosage"/>
|
||||
<result property="executeStatus" column="execute_status"/>
|
||||
<result property="summaryApplyStatus" column="summary_apply_status"/>
|
||||
<result property="wardId" column="ward_id"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="selectDispensingDetails" resultMap="DispensingRecordResult">
|
||||
SELECT
|
||||
id, patient_id, drug_code, drug_name, dosage,
|
||||
execute_status, summary_apply_status, ward_id, create_time
|
||||
FROM his_dispensing_record
|
||||
<where>
|
||||
<if test="wardId != null">
|
||||
AND ward_id = #{wardId}
|
||||
</if>
|
||||
<if test="executeStatus != null">
|
||||
AND execute_status = #{executeStatus}
|
||||
</if>
|
||||
<!-- 修复 Bug #503:动态追加汇总申请状态过滤条件 -->
|
||||
<if test="summaryApplyStatus != null">
|
||||
AND summary_apply_status = #{summaryApplyStatus}
|
||||
</if>
|
||||
AND del_flag = 0
|
||||
</where>
|
||||
ORDER BY create_time DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user