已修改4个文件
148 ■■■■■ 文件已修改
smartor/src/main/java/com/smartor/mapper/PatMedOperationItemMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/PatMedOperationItemMapper.xml 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/mapper/PatMedOperationItemMapper.java
@@ -108,4 +108,12 @@
     */
    public List<PatMedOperationItem> selectOperationItemList(PatMedOperationItem patMedOperationItem);
    /**
     * 查询患者检查检验记录子列表(同一opid下只取oplevelcode最大的记录)
     *
     * @param patMedOperationItem 患者检查检验记录子
     * @return 患者检查检验记录子集合
     */
    public List<PatMedOperationItem> selectOperationItemListMaxLevel(PatMedOperationItem patMedOperationItem);
}
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -520,7 +520,9 @@
                                pmoi.setDeptCodes(deptCodeList);
                                pmoi.setWardCodes(wardCodeList);
                                pmoi.setOpLevelCodes(opLevelCodeList);
                                List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
                                //每次查询只查最大的手术等级记录
                                List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemListMaxLevel(pmoi);
                                for (PatMedOperationItem patMedOperationItem : patMedOperationItems) {
                                    PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
                                    if (Objects.isNull(patArchive)) {
@@ -1321,7 +1323,8 @@
        pmoi.setOpercheckFlag("0");
        pmoi.setMainFlag("1");
        List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
        //每次查询只查最大的手术等级记录
        List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemListMaxLevel(pmoi);
        log.info("dealOutHospInfo需要处理的出院手术患者信息:{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
        for (PatMedOperationItem opItem : patMedOperationItems) {
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1842,6 +1842,7 @@
        Map yeWuXX = (Map) dataMap.get("YeWuXX");
        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
        Map<String, Object> JianChaSQ = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JianChaSQ") : null;
        Map<String, Object> JianChaBG = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JianChaBG") : null;
        List<HashMap<String, Object>> JianChaBWList = ObjectUtils.isNotEmpty(JianChaSQ) ? (List<HashMap<String, Object>>) JianChaSQ.get("JianChaBWList") : null;
        List<HashMap<String, Object>> ZhenDuanList = ObjectUtils.isNotEmpty(JianChaSQ) ? (List<HashMap<String, Object>>) JianChaSQ.get("ZhenDuanList") : null;
        List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(BingRenXX) ? (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList") : null;
@@ -1936,6 +1937,9 @@
                }
            }
        }
        if (ObjectUtils.isNotEmpty(JianChaBG)) {
            patMedInspection.setAppliyid(ObjectUtils.isNotEmpty(JianChaBG.get("ShenQingDID")) ? JianChaBG.get("ShenQingDID").toString() : null);
        }
        if (CollectionUtils.isNotEmpty(JianChaBWList)) {
            List<ExternalInspectionJC> externalInspectionJC = JianChaBWList.stream().map(map -> {
                ExternalInspectionJC info = new ExternalInspectionJC();
smartor/src/main/resources/mapper/smartor/PatMedOperationItemMapper.xml
@@ -660,4 +660,133 @@
        </if>
    </select>
    <select id="selectOperationItemListMaxLevel" parameterType="com.smartor.domain.PatMedOperationItem"
            resultMap="PatMedOperationItemResult">
        select pmoi.id, pmoi.operationid, pmoi.opid, pmoi.opcode, pmoi.opdesc, pmoi.main_flag, pmoi.incitypecode,
        pmoi.incitypedesc, pmoi.oplevelcode, pmoi.opleveldesc, pmoi.opposition, pmoi.del_flag, pmoi.update_by,
        pmoi.update_time, pmoi.create_by, pmoi.create_time, pmoi.isupload, pmoi.upload_time, pmoi.orgid,
        pmoi.pguid, pmoi.guid, pmoi.pid, pmoi.opercheck_flag, pmoi.long_task_reason,
        pmo.deptcode, pmo.deptname, pmo.hospitaldistrictcode, pmo.hospitaldistrictname,
        pmo.leaveldeptcode, pmo.leaveldeptname, pmo.leavehospitaldistrictcode, pmo.leavehospitaldistrictname, pmo.patid,
        pmo.drcode, pmo.drname, pmo.nurse_id, pmo.nurse_name,
        pmo.serialnum, pmi.inhospstate
        from pat_med_operation pmo
        join pat_med_operation_item pmoi
        on pmoi.opid = pmo.opid
        join (
            select opid, max(oplevelcode) as max_oplevelcode
            from pat_med_operation_item
            where del_flag = '0'
              and opid is not null
              and oplevelcode is not null
            group by opid
        ) pmoi_max
        on pmoi_max.opid = pmoi.opid
        and (pmoi.oplevelcode = pmoi_max.max_oplevelcode
             or (pmoi.oplevelcode is null and pmoi_max.max_oplevelcode is null))
        join pat_med_inhosp pmi
        on pmo.serialnum = pmi.serialnum
        where
        pmo.del_flag = '0'
        and pmoi.del_flag = '0'
        and pmo.opid is not null
        and pmoi.opid is not null
        <if test="operationid != null ">
            and pmoi.operationid = #{operationid}
        </if>
        <if test="opid != null ">
            and pmoi.opid = #{opid}
        </if>
        <if test="opcode != null  and opcode != ''">
            and pmoi.opcode = #{opcode}
        </if>
        <if test="opdesc != null  and opdesc != ''">
            and pmoi.opdesc = #{opdesc}
        </if>
        <if test="mainFlag != null  and mainFlag != ''">
            and pmoi.main_flag = #{mainFlag}
        </if>
        <if test="incitypecode != null  and incitypecode != ''">
            and pmoi.incitypecode = #{incitypecode}
        </if>
        <if test="incitypedesc != null  and incitypedesc != ''">
            and pmoi.incitypedesc = #{incitypedesc}
        </if>
        <if test="oplevelcode != null  and oplevelcode != ''">
            and pmoi.oplevelcode = #{oplevelcode}
        </if>
        <if test="opleveldesc != null  and opleveldesc != ''">
            and pmoi.opleveldesc = #{opleveldesc}
        </if>
        <if test="opposition != null  and opposition != ''">
            and pmoi.opposition = #{opposition}
        </if>
        <if test="isupload != null ">
            and pmoi.isupload = #{isupload}
        </if>
        <if test="uploadTime != null ">
            and pmoi.upload_time = #{uploadTime}
        </if>
        <if test="orgid != null  and orgid != ''">
            and pmoi.orgid = #{orgid}
        </if>
        <if test="pguid != null  and pguid != ''">
            and pmoi.pguid = #{pguid}
        </if>
        <if test="guid != null  and guid != ''">
            and pmoi.guid = #{guid}
        </if>
        <if test="pid != null ">
            and pmoi.pid = #{pid}
        </if>
        <if test="inhospstate != null and inhospstate != ''">
            and pmi.inhospstate = #{inhospstate}
            <if test="inhospstate == '1'">
                and pmi.endtime is not null
            </if>
        </if>
        <if test="serialnum != null and serialnum != ''">
            and pmo.serialnum = #{serialnum}
        </if>
        <if test="deptcode != null and deptcode != ''">
            and pmo.deptcode = #{deptcode}
        </if>
        <if test="deptname != null and deptname != ''">
            and pmo.deptname = #{deptname}
        </if>
        <if test="hospitaldistrictcode != null and hospitaldistrictcode != ''">
            and pmo.hospitaldistrictcode = #{hospitaldistrictcode}
        </if>
        <if test="hospitaldistrictname != null and hospitaldistrictname != ''">
            and pmo.hospitaldistrictname = #{hospitaldistrictname}
        </if>
        <if test="patid != null">
            and pmo.patid = #{patid}
        </if>
        <if test="deptCodes != null and deptCodes.size()>0">
            AND pmo.deptcode IN
            <foreach collection="deptCodes" item="deptcode" open="(" separator=","
                     close=")">
                #{deptcode}
            </foreach>
        </if>
        <if test="wardCodes != null and wardCodes.size()>0">
            AND pmo.hospitaldistrictcode IN
            <foreach collection="wardCodes" item="wardCode" open="(" separator=","
                     close=")">
                #{wardCode}
            </foreach>
        </if>
        <if test="opLevelCodes != null and opLevelCodes.size()>0">
            AND pmoi.oplevelcode IN
            <foreach collection="opLevelCodes" item="levelCode" open="(" separator=","
                     close=")">
                #{levelCode}
            </foreach>
        </if>
        <if test="opercheckFlag != null">
            and pmoi.opercheck_flag = #{opercheckFlag}
        </if>
    </select>
</mapper>