修复根据选中产妇的新生儿分类加载pdf的需求

master
zengwh 2 years ago
parent da6b3b7d26
commit 95c8d3fe7e

@ -183,4 +183,6 @@ public interface Archive_DetailMapper {
Integer selectChildByCloCount(@Param("mIds") String mIds);
List<String> getPdfUrlByMasterOrId(@Param("assortIds") String[] assortIds, @Param("masterId")String masterId, @Param("flag")String flag, @Param("fileIds")String fileIds);
List<String> getChildPdfUrlByMasterIds(@Param("masterIds")String masterIds);
}

@ -47,8 +47,27 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
@Override
public Integer selectChildByClo(Archive_Detail_Vo record) {
String masterId = record.getPatientId();
String mIdStr = getChildMidsByMasterId(masterId);
if(StringUtils.isNotBlank(mIdStr)) {
try {
Integer count = archiveDetailMapper.selectChildByCloCount(mIdStr);
return count;
} catch (Exception e) {
e.printStackTrace();
}
}
return 0;
}
/**
* masterIdmasterId
* @param masterId
* @return
*/
private String getChildMidsByMasterId(String masterId) {
//查询该主键的病案号和住院时间
Archive_Master archiveMaster = archiveMasterMapper.selectById(record.getPatientId());
Archive_Master archiveMaster = archiveMasterMapper.selectById(masterId);
//查询该住院时间的数据集合
List<Archive_MasterDto> list = archiveMasterMapper.selectChildMasterId(archiveMaster.getAdmissionDateTime());
//定义是该患者的婴儿的masterId集合
@ -63,15 +82,7 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
}
}
}
if(StringUtils.isNotBlank(mIdStr)) {
try {
Integer count = archiveDetailMapper.selectChildByCloCount(mIdStr.toString());
return count;
} catch (Exception e) {
e.printStackTrace();
}
}
return 0;
return mIdStr.toString();
}
@Override
@ -298,7 +309,30 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
@Override
public List<String> getPdfUrlByMasterOrId(String[] assortIds, String masterId, String flag, String fileIds) {
return archiveDetailMapper.getPdfUrlByMasterOrId(assortIds,masterId,flag,fileIds);
List<String> resultList = new ArrayList<>();
//查询本病历
List<String> pdfUrlByMasterOrId = archiveDetailMapper.getPdfUrlByMasterOrId(assortIds, masterId, flag, fileIds);
if(!CollectionUtils.isEmpty(pdfUrlByMasterOrId)){
resultList.addAll(pdfUrlByMasterOrId);
}
//判断是否存在查询新生儿
if(null != assortIds){
boolean childFlag = false;
for (String assortId:assortIds){
if(StringUtils.isNotBlank(assortId) && assortId.equals("1000")){
childFlag = true;
break;
}
}
if(childFlag){
String childMidsByMasterId = getChildMidsByMasterId(masterId);
List<String> childPdfUrlByMasterIds = archiveDetailMapper.getChildPdfUrlByMasterIds(childMidsByMasterId);
if(!CollectionUtils.isEmpty(childPdfUrlByMasterIds)){
resultList.addAll(childPdfUrlByMasterIds);
}
}
}
return resultList;
}
}

@ -720,33 +720,49 @@
</select>
<select id="getPdfUrlByMasterOrId" resultType="java.lang.String">
SELECT
PDF_PATH
PDF_PATH
FROM
Archive_Detail
Archive_Detail
INNER JOIN
zd_assort
zd_assort
on Archive_Detail.AssortID = zd_assort.assort_id
WHERE 1=1
<if test="fileIds != null and fileIds != ''">
AND ID IN (
<foreach collection="fileIds.split(',')" item="item" separator=",">
#{item}
</foreach>
)
</if>
<if test="masterId != null and masterId != ''">
AND MasterID = #{masterId}
</if>
<if test="assortIds != null">
AND AssortID IN (
<foreach collection="assortIds" item="item" separator=",">
#{item}
</foreach>
)
</if>
<if test="flag != null and flag != ''">
AND flag = #{flag}
</if>
<if test="fileIds != null and fileIds != ''">
AND ID IN (
<foreach collection="fileIds.split(',')" item="item" separator=",">
#{item}
</foreach>
)
</if>
<if test="masterId != null and masterId != ''">
AND MasterID = #{masterId}
</if>
<if test="assortIds != null">
AND AssortID IN (
<foreach collection="assortIds" item="item" separator=",">
#{item}
</foreach>
)
</if>
<if test="flag != null and flag != ''">
AND flag = #{flag}
</if>
order by zd_assort.assort_sort
</select>
<!--查询婴儿病历pdf路径集合-->
<select id="getChildPdfUrlByMasterIds" resultType="java.lang.String">
SELECT
PDF_PATH
FROM
Archive_Detail
INNER JOIN
zd_assort
on Archive_Detail.AssortID = zd_assort.assort_id
WHERE 1=1
<if test="masterIds != null and masterIds != ''">
AND MasterID in (${masterIds})
</if>
AND flag = 0
order by zd_assort.assort_sort
</select>
<select id="getDetailInfo" resultType="com.emr.entity.Archive_Detail_Vo">

Loading…
Cancel
Save