出入院模块、门急诊模块、模块模块、宣教模块、其它模块
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | The following files have been resolved: |
| | | org.projectlombok:lombok:jar:1.18.34:compile |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | |
| | | /** |
| | | * æ£è
æ¡£æ¡ï¼{@code pat_archive}ï¼<b>åªè¯»</b>å¥çº¦ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®</h3> |
| | | * {@code pat_archive} æ¯å
¨é¢å
±äº«è¡¨ï¼å¤ä¸ªé访模åé½è¦è¯»å®ï¼ |
| | | * <ul> |
| | | * <li>åºå
¥é¢é访ï¼{@code ruoyi-inhospvisit}ï¼ââ ç»è£
åºé¢/å
¥é¢é访åä»»å¡ï¼</li> |
| | | * <li>鍿¥è¯é访ï¼{@code ruoyi-outpatientvisit}ï¼ââ ç»è£
é¨è¯é访åä»»å¡ï¼</li> |
| | | * <li>å
¶ä»é访ï¼{@code ruoyi-othervisit}ï¼ââ ç»è£
ææ¯é访åä»»å¡ã</li> |
| | | * </ul> |
| | | * 忍¡åé½åªè¯»é访ç»è£
çæ£ç¨å°çé£å åï¼{@link VisitArchiveRow} ç 10 ä¸ªåæ®µï¼ã |
| | | * è¥æ¯ä¸ªæ¨¡åååä¸ä»½åªè¯» Mapperï¼å°±ä¼åºç°"å表å¤ä»½æ¥è¯¢ãåæ®µä¸æ¼ç§»å°±éé»ä¸¢å段"çé®é¢ã |
| | | * |
| | | * <h3>â ï¸ åªè¯»ï¼ä¸ä¸å«ä¸å¡å¤æ</h3> |
| | | * 䏿ä¾åå
¥æ¹æ³ ââ æ¡£æ¡çå屿¡£æ¡åãæ¥è¯¢æ¡ä»¶ä¸åå®ç°éåä¸è´ï¼ |
| | | * {@code where id = #{patid} and del_flag = 0} |
| | | * ï¼<b>å·²å é¤çæ¡£æ¡ä¼è¢«å¤ä¸º"æ¥ä¸å°"</b>ï¼è°ç¨æ¹æ®æ¤èµ°"æ£è
åºæ¬ä¿¡æ¯ä¸ºç©º"忝ï¼ã |
| | | * |
| | | * @see VisitArchiveRow |
| | | */ |
| | | public interface ArchiveReadApi { |
| | | |
| | | /** |
| | | * ææ£è
æ¡£æ¡IDæ¥è¯¢ã |
| | | * <p> |
| | | * åå®ç°ï¼{@code PatArchiveMapper.selectPatArchiveByPatid}ï¼{@code id = #{id} and del_flag = 0}ï¼ã |
| | | * |
| | | * @param patid æ£è
æ¡£æ¡ID |
| | | * @return æ¡£æ¡è¡ï¼ä¸åå¨ï¼æå·²å é¤ï¼è¿å {@code null} |
| | | */ |
| | | VisitArchiveRow findByPatid(Long patid); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | /** |
| | | * ææ¯é访 / é¨è¯é访è½åçé¢çæ¥å£ã |
| | | * |
| | | * <h3>为ä»ä¹ç°å¨å°±è¦ç</h3> |
| | | * åºå
¥é¢é访çå
¥å£éæ··çææ¯é访çè°ç¨ï¼ |
| | | * <ul> |
| | | * <li>{@code PatMedInhospServiceImpl#dealOutHospInfo} L449-451 ââ {@code !active.equals("xh")} æ¶è° |
| | | * {@code addOperationSubTask(config)}ï¼</li> |
| | | * <li>{@code #dealOutHospInfoBySchedule} L559-608 ââ ä»»å¡ç»çææ¯åæ¯ |
| | | * ï¼æ¥ {@code selectOperationItemListMaxLevel}ãèµ° {@code boxedServiceSubtaskForOp}ï¼ã</li> |
| | | * </ul> |
| | | * èææ¯é访æä½ ççå¾å±äºç¬¬äºæ¹ç {@code ruoyi-othervisit}ï¼æ¬æ¬¡<b>䏿¬</b>ã |
| | | * ä½ {@code dealOutHospInfo} æ¬æ¬¡å°±è¦æ¬è¿ {@code ruoyi-inhospvisit}ï¼ |
| | | * äºæ¯å¿
é¡»æå°æ¹å®æ¾è¿ä¸¤ä¸ªè°ç¨ç¹ ââ å°±æ¯æ¬æ¥å£ã |
| | | * |
| | | * <h3>æ¬æ¬¡ï¼ç¬¬ä¸æ¹ï¼è½å°ç¨åº¦</h3> |
| | | * <ul> |
| | | * <li>æ¥å£ï¼ç°å¨å°±å»ºï¼æ¬æä»¶ï¼ï¼</li> |
| | | * <li>å®ç°ï¼<b>è¿æ¸¡å®ç°çå¨ smartor</b>ï¼å
ä¸å±ç°æ {@code PatMedInhospServiceImpl} çæ¹æ³ï¼ |
| | | * é¶é»è¾æ¹å¨ï¼ï¼</li> |
| | | * <li>ç¬¬äºæ¹å {@code ruoyi-othervisit} æ¶ï¼æå®ç°æ¹æ¢ææ°æ¨¡åå³å¯ï¼ |
| | | * {@code ruoyi-inhospvisit} ä¸è¡é½ä¸ç¨æ¹ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>è°ç¨æ¹å¡å¿
é级</h3> |
| | | * åä¸å°å®ç°æ¶æ"ä¸åææ¯é访"å¤çå¹¶æ WARNï¼ä¸è½å½±ååºé¢/å
¥é¢é访主æµç¨ã |
| | | */ |
| | | public interface OtherVisitApi { |
| | | |
| | | /** |
| | | * ææ¯éè®¿æ«æï¼å {@code PatMedInhospServiceImpl#addOperationSubTask}ï¼è¿ç§»å L1362-1430ï¼ã |
| | | * <p> |
| | | * å
é¨è¡ä¸ºè¦ç¹ï¼è¿ç§»æ¶å¿
é¡»ä¿çï¼ï¼ |
| | | * <ul> |
| | | * <li>é {@code active == "hzszlyy"} ç«ç¹æè®¾ {@code inhospstate="1"}ï¼è¿ç§»å L1366-1368ï¼ï¼</li> |
| | | * <li>æ¥ {@code selectOperationItemListMaxLevel}ï¼{@code opercheck_flag='0'} ä¸ {@code main_flag='1'}ï¼ï¼</li> |
| | | * <li>{@code oplevelcode} 为空åè·³è¿ï¼</li> |
| | | * <li>æç¦»é¢ç§å®¤ + 离é¢ç
åº<b>åå«</b>æ¥ {@code ServiceTaskoper} å¹¶åå¹¶ï¼</li> |
| | | * <li>没é
ä»»å¡ â ç½® {@code opercheck_flag="2"} + ãææ£çææ¯æªé
ç½®é¿æä»»å¡;ãã</li> |
| | | * </ul> |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return å¤ççææ¯è®°å½æ° |
| | | */ |
| | | int addOperationSubTask(String config); |
| | | |
| | | /** |
| | | * ä»»å¡ç»ï¼appltype=5ï¼é¦è½®çº³å
¥ ââ <b>æ¬æ¬¡æªæ¬ï¼ä»ç± smartor çå®ç°æ¿æ¥</b>ã |
| | | * |
| | | * <h3>为ä»ä¹æ¾å¨è¿ä¸ªæ¥å£ä¸</h3> |
| | | * å {@code dealOutHospInfoBySchedule}(L471-614) ç±ä¸¤æ®µææï¼ |
| | | * <ul> |
| | | * <li><b>éææ¯åæ¯</b>ï¼æç»´åº¦è¿æ»¤æ«æ£è
â {@code boxedServiceSubtask} |
| | | * â {@code scheduleSubtaskBuilder.buildSubtasksForPatient}ï¼</li> |
| | | * <li><b>ææ¯åæ¯</b>ï¼{@code selectOperationItemListMaxLevel} |
| | | * + {@code boxedServiceSubtaskForOp} â åä¸ builderã</li> |
| | | * </ul> |
| | | * ææ¯åæ¯æ£æ¯æ¬æ¥å£çåï¼ææ¯é访ï¼ï¼èéææ¯åæ¯ä¾èµç |
| | | * {@code ScheduleSubtaskBuilder} åæ¶æå¡"HIS èªå¨çº³å
¥"ä¸"å端æå¨å¾é"两æ¡è·¯å¾ï¼ |
| | | * ä¸å±æ¬æ¬¡èå´ãæä»¥<b>æ´ä¸ªæ¹æ³æ¬æ¬¡çå¨ smartor</b>ï¼ |
| | | * ç±æ°æ¨¡åç Controller éè¿æ¬æ¥å£è½¬å ââ è¿æ ·ç«¯ç¹è½è¿è¿æ°æ¨¡åï¼URL ä¸åï¼ï¼ |
| | | * èå®ç°ä¸å¿
"æ¬ä¸åçä¸å"ã |
| | | * <p> |
| | | * ç¬¬äºæ¹å {@code ruoyi-othervisit} æ¶ï¼è¿å {@code ScheduleSubtaskBuilder} ä¸èµ·æ¶èµ°ã |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} |
| | | * @return åå®ç°åºå®è¿å 1 |
| | | */ |
| | | int dealOutHospInfoBySchedule(String config); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | /** |
| | | * é¨è¯é访è½åçé¢çæ¥å£ï¼ç¬¬äºæ¹ {@code ruoyi-outpatientvisit} çå ä½ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹ç°å¨å°±è¦ç</h3> |
| | | * åºå
¥é¢é访ç <b>{@code /smartor/patinhosp/dealOutHospInfo} 端ç¹</b>éæ··ç䏿¬¡é¨è¯é访è°ç¨ |
| | | * ï¼å {@code PatMedInhospController#dealOutHospInfo} L263-265ï¼ï¼ |
| | | * <pre> |
| | | * if (!active.equals("xh")) { |
| | | * iPatMedOuthospService.dealOutpatientInfo(); // æ°åææ¶ä¸åé¨è¯é访 |
| | | * } |
| | | * </pre> |
| | | * è¯¥ç«¯ç¹æ¬æ¬¡è¦<b>è¿è¿ {@code ruoyi-inhospvisit}</b>ï¼URL ä¸åï¼ï¼èæ°æ¨¡å<b>ä¸è½ä¾èµ smartor</b> |
| | | * ï¼å¦å循ç¯ä¾èµï¼ãæä»¥æ"é¨è¯é访"è¿ä¸è½å䏿²ææ¬æ¥å£ï¼ |
| | | * ç± smartor æä¾<b>é¶é»è¾æ¹å¨çè¿æ¸¡å®ç°</b>ï¼{@code OuthospVisitApiBridge}ï¼ã |
| | | * <p> |
| | | * çç¬¬äºæ¹å {@code ruoyi-outpatientvisit} æ¶ï¼åªéæå®ç°æ¹æ¢ææ°æ¨¡åï¼ |
| | | * {@code ruoyi-inhospvisit} ç Controller <b>ä¸è¡é½ä¸ç¨æ¹</b>ã |
| | | * |
| | | * <h3>ç«ç¹å·®å¼ï¼åæ ·ä¿çå¨å®ç°ä¾§ï¼</h3> |
| | | * åå®ç°åªå¨ {@code active != "xh"} æ¶æè°é¨è¯é访ãè¿ä¸ªå¤ææ¬æ¬¡<b>çå¨ Controller</b> |
| | | * ï¼å 为å®ä¸å代ç å¨åä¸ä¸ª if éï¼ï¼å®ç°ä¾§ä¸åç«ç¹å¤æã |
| | | * |
| | | * <h3>è°ç¨æ¹å¡å¿
é级</h3> |
| | | * åä¸å°å®ç°æ¶æ"没æé¨è¯é访è¦å"å¤çå¹¶æ WARN ââ é¨è¯é访失败ä¸è½å½±ååºé¢é访主æµç¨ã |
| | | */ |
| | | public interface OuthospVisitApi { |
| | | |
| | | /** |
| | | * é¨è¯ç
人éè®¿æ«æï¼å {@code IPatMedOuthospService#dealOutpatientInfo}ï¼ã |
| | | * |
| | | * @return å¤ççé¨è¯è®°å½æ° |
| | | */ |
| | | int dealOutpatientInfo(); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitPreachformRow; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é访åä»»å¡ãæ§è¡æ¹å¼æç»ãï¼{@code service_subtask_preachform}ï¼ç对å¤å¥çº¦ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼è·¨æ¨¡å SQL æ¶å£ï¼</h3> |
| | | * è¿å¼ 表çå½å±æ¨¡åæ¯ {@code ruoyi-inhospvisit}ï¼ä½å¨æ¶å£ä¹åï¼ |
| | | * <ul> |
| | | * <li>smartor é<b>妿䏿´ä»½</b> {@code ServiceSubtaskPreachformMapper}ï¼9 ä¸ªæ¹æ³ï¼ |
| | | * ä¸åå XML ââ 䏿¬æ¨¡åç {@code VisitPreachformMapper} æ¯<b>åä¸ä¸ªè¡¨çä¸¤å¥ CRUD</b>ï¼</li> |
| | | * <li>æ <b>15 个æä»¶</b>ï¼è·¨ smartor / ruoyi-admin / ruoyi-quartzï¼ç´è¿é£ä»½ Mapperã</li> |
| | | * </ul> |
| | | * è¿è¿åäº"忍¡åç¬å èªå·±çæ°æ®è®¿é®"çååï¼æ¹ä»»ä¸è¾¹ç SQL é½å¯è½ä¸å¦ä¸è¾¹æ¼ç§»ã |
| | | * æ¬å¥çº¦æ"读åè¿å¼ 表"æ¶ææ<b>å¯ä¸å
¥å£</b>ï¼è°ç¨æ¹ä¸å¾ç»æ¤è®¿é®ã |
| | | * |
| | | * <h3>â ï¸ æ¬å¥çº¦æ¯çº¯æ°æ®è®¿é®ï¼ä¸å«ä»»ä½ä¸å¡å¤æ</h3> |
| | | * éæ¹æ³ä¸å {@code ServiceSubtaskPreachformMapper} 对åºï¼æ¡ä»¶/å/顺åºç
§æã |
| | | * "ä»ä¹æ¶å该æä¸æ¡ã该置ä»ä¹ç¶æ"å±äºè°ç¨æ¹çä¸å¡ï¼çå¨è°ç¨æ¹ã |
| | | * |
| | | * <h3>â ï¸ ä¸ä¸ª softDelete* æ¯"软å "</h3> |
| | | * åå®ç°é {@code deleteServiceSubtaskPreachformById / ByIds / BySubid} çè¯å¥ |
| | | * 齿¯ {@code update ... set del_flag = 1}ï¼å
¶ä¸ä¸ä¸ªè¿ç¨ {@code <delete>} æ ç¾å
ç updateï¼ã |
| | | * æ¬å¥çº¦æ<b>å®é
è¡ä¸º</b>å½å为 {@code softDelete*}ï¼è¯ä¹ä¸åã |
| | | * |
| | | * @see VisitPreachformRow |
| | | */ |
| | | public interface PreachformApi { |
| | | |
| | | /** |
| | | * æä¸»é®æ¥ï¼å {@code selectServiceSubtaskPreachformById}ï¼ã |
| | | * |
| | | * @return è¡ï¼ä¸åå¨è¿å {@code null} |
| | | */ |
| | | VisitPreachformRow findById(Long id); |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ¥ï¼å {@code selectServiceSubtaskPreachformList}ï¼ã |
| | | * <p> |
| | | * åºå®æ¡ä»¶ {@code del_flag = 0}ï¼å
¶ä½ 8 ä¸ªåæ®µä¸ºå¯éæ¡ä»¶ï¼ |
| | | * {@code subid / taskid / currentSendTime / preachform / sendstate / orgid / sort / compensateTime}ã |
| | | * |
| | | * @param query æ¥è¯¢æ¡ä»¶ï¼é null åæ®µåä¸è¿æ»¤ï¼ |
| | | * @return è¡éåï¼æ å¹é
è¿å空éåï¼<b>ä¸è¿å null</b>ï¼ |
| | | */ |
| | | List<VisitPreachformRow> findList(VisitPreachformRow query); |
| | | |
| | | /** |
| | | * æ {@code taskid + orgid} æ¥ï¼å {@code selectBySubtask}ï¼ã |
| | | * <p> |
| | | * â ï¸ åæ¹æ³åæè¯¯è§£ï¼å®<b>䏿 subtask 䏻鮿¥</b>ï¼èæ¯ä»¥ |
| | | * {@code del_flag = 0} å å¯éç {@code taskid}ã{@code orgid} 为æ¡ä»¶ã |
| | | */ |
| | | List<VisitPreachformRow> findByTaskidAndOrgid(Long taskid, String orgid); |
| | | |
| | | /** |
| | | * æ°å¢ï¼å {@code insertServiceSubtaskPreachform}ï¼ã |
| | | * <p>èªå¢ä¸»é®ä¼åå¡«å° {@code row.id}ï¼å¯¹åºå XML ç {@code useGeneratedKeys}ï¼ã |
| | | * |
| | | * @return true = è½åºæåï¼åè¿å {@code int}ï¼æ¤å¤æ"== 1"æç®ï¼ |
| | | */ |
| | | boolean insert(VisitPreachformRow row); |
| | | |
| | | /** |
| | | * æä¸»é®æ´æ°ï¼å {@code updateServiceSubtaskPreachform}ï¼WHERE {@code id = #{id}}ï¼ã |
| | | */ |
| | | boolean updateById(VisitPreachformRow row); |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ´æ°ï¼å {@code updateSSPByCondition}ï¼ã |
| | | * <p> |
| | | * SET åå¥ä¸ {@link #updateById} ç¸åï¼åºå«åªå¨ WHEREï¼ |
| | | * æ {@code subid / taskid / preachform / remark / orgid} é项å¯éï¼ä¸<b>没æ id æ¡ä»¶</b>ã |
| | | * 两å¤å»æä¸åå¹¶ ââ å并伿¹å"æä»ä¹å®ä½è¡"çè¯ä¹ã |
| | | */ |
| | | boolean updateByCondition(VisitPreachformRow row); |
| | | |
| | | /** |
| | | * æä¸»é®è½¯å ï¼å {@code deleteServiceSubtaskPreachformById}ï¼ã |
| | | */ |
| | | boolean softDeleteById(Long id); |
| | | |
| | | /** |
| | | * æä¸»é®éå软å ï¼å {@code deleteServiceSubtaskPreachformByIds}ï¼ã |
| | | */ |
| | | boolean softDeleteByIds(Long[] ids); |
| | | |
| | | /** |
| | | * æ {@code subid} 软å ï¼å {@code deleteServiceSubtaskPreachformBySubid}ï¼ã |
| | | */ |
| | | boolean softDeleteBySubid(Long subid); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | /** |
| | | * 宣æè½åç坹夿¥å£ï¼å®ç°ç± {@code ruoyi-publicity} ç常驻é¨é¢ {@code PublicityFacade} æä¾ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹è¦åç¬æåºæ¥</h3> |
| | | * 宣æåæ¬æ··å¨ {@code PatMedInhospServiceImpl#dealOutHospInfo} éï¼è¿ç§»å L331-444ï¼ï¼ |
| | | * <ol> |
| | | * <li><b>å
¥é¢å®£æ</b>ï¼{@code in.helibrary.switch == "2"} ææ§è¡ï¼ï¼ç§å®¤ç»´åº¦ type=4ãç
åºç»´åº¦ type=5ï¼</li> |
| | | * <li><b>è¯å宣æ</b>ï¼ä»
{@code active == "sltd"}ï¼ï¼æ {@code medicalCode} æä¸²æ¥ |
| | | * {@code service_taskmedical}ï¼å½ä¸å type=0ã</li> |
| | | * </ol> |
| | | * è¿ä¸¤å<b>䏿¯"é访"</b>èæ¯"宣æ"ï¼æä»¥æä½ çå³å®åç¬ææ {@code ruoyi-publicity} 模åã |
| | | * |
| | | * <h3>è¾¹çï¼å®£ææ¨¡åä¸å»ºåä»»å¡</h3> |
| | | * å®£ææ¨¡ååªè´è´£"<b>å³å®è¦ä¸è¦åãåä»ä¹</b>"ï¼è¯»é
ç½®ãå¤ç«ç¹ãæ¼è¯´æï¼ï¼ |
| | | * çæ£çåä»»å¡è½åºä¸æ´¾å<b>åè° {@code ruoyi-inhospvisit}</b> |
| | | * ï¼èµ° {@link PublicitySubtaskApi}ï¼ãè¿æ · {@code boxedServiceSubtask} |
| | | * ç宣æåæ¯ï¼type=0/4/5ï¼ä»¥å"åå check_flag"çè¯ä¹å
¨ä»åªæä¸ä»½å®ç°ï¼ä¸ä¼åºç°ä¸¤ä»½é»è¾æ¼ç§»ã |
| | | * |
| | | * <h3>è°ç¨æ¹å¡å¿
é级</h3> |
| | | * åä¸å°å®ç°æ¶æ"没æå®£æè¦å"å¤çå¹¶æ WARNï¼ç»ä¸è½è®©åºå
¥é¢é访主æµç¨æå¼å¸¸ã |
| | | */ |
| | | public interface PublicityApi { |
| | | |
| | | /** |
| | | * å
¥é¢å®£æï¼ææ£è
æå¨ç§å®¤ï¼type=4ï¼ä¸ç
åºï¼type=5ï¼åå«å¹é
é¿æå®£æä»»å¡ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#dealOutHospInfo} L331-409ã |
| | | * <p> |
| | | * å
é¨è¡ä¸ºè¦ç¹ï¼è¿ç§»æ¶å¿
é¡»ä¿çï¼ï¼ |
| | | * <ul> |
| | | * <li>å {@code sys_config: in.helibrary.switch == "2"} æ§å¶ï¼ä¸æ¯ "2" æ¶<b>æ´å䏿§è¡</b>ï¼</li> |
| | | * <li>ç§å®¤ç»´åº¦ä¸ç
åºç»´åº¦æ¯<b>两段ç¬ç«çæ«æ</b>ï¼åèªæ¥ {@code deptcheck_flag='0'} / |
| | | * {@code in_wardcheck_flag='0'}ï¼ï¼ä¸æ¯ä¸æ¬¡æ¥è¯¢å两ç»ï¼</li> |
| | | * <li>æ£è
æ¡£æ¡ä¸ºç©ºæ¶ææ å¿ä½ç½® "2" å¹¶å {@code longTaskReason="æ£è
åºæ¬ä¿¡æ¯ä¸ºç©º"}ï¼</li> |
| | | * <li>ç§å®¤/ç
åºæ²¡é
é¿æå®£æä»»å¡æ¶ç½® "2" + ææ¡ã该æ£è
æå¨ç§å®¤æªé
ç½®å
¥é¢é¿æå®£æä»»å¡;ã/ |
| | | * ã该æ£è
æå¨ç
åºæªé
ç½®å
¥é¢é¿æå®£æä»»å¡;ãï¼</li> |
| | | * <li>ç
åºåæ¯å¨åå·²æ {@code longTaskReason} æ¶<b>没æå null 夿</b>ï¼è¿ç§»å L401 ç´æ¥æ¼æ¥ï¼ |
| | | * ââ è¿æ¯å缺é·ï¼<b>åæ ·ä¿ç</b>ã</li> |
| | | * </ul> |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return æäº¤å¤ççè®°å½æ°ï¼ä»
ç¨äºæ¥å¿/è¿åï¼è¿ç§»å {@code dealOutHospInfo} åºå®è¿å 1ï¼ |
| | | */ |
| | | int dealInHospPublicity(String config); |
| | | |
| | | /** |
| | | * è¯å宣æï¼çç«åå¾·ä¸å±ï¼ï¼ææ£è
ç {@code medicalCode} é个è¯åç¼ç å¹é
é¿æå®£æä»»å¡ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#dealOutHospInfo} L411-444ã |
| | | * <p> |
| | | * å
é¨è¡ä¸ºè¦ç¹ï¼è¿ç§»æ¶å¿
é¡»ä¿çï¼ï¼ |
| | | * <ul> |
| | | * <li>ä»
{@code active == "sltd"} æ¶æ§è¡ï¼å
¶å®ç«ç¹ç´æ¥è¿å 0ï¼</li> |
| | | * <li>{@code medicalCode} 为空åè·³è¿è¯¥æ£è
ï¼æ¥ä¸å°çè¯å<b>ç´æ¥å¿½ç¥</b>ï¼ä¸éè¦å®£æï¼ï¼</li> |
| | | * <li>ä¸ä¸ªæ°ç»é¿åº¦ä¸ä¸è´æ¶åæå°é¿åº¦ï¼<b>è¶çæ¶æ medicalName 置空串</b>å¹¶æ WARN |
| | | * ï¼è¿ç§»å L428-433 çé²å¾¡æ§ç¼ç¨ï¼åæ ·ä¿çï¼ã</li> |
| | | * </ul> |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return å½ä¸å¹¶å¤ççè¯åæ° |
| | | */ |
| | | int dealMedicalPublicity(String config); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.InHospPublicityRowDto; |
| | | import com.ruoyi.common.core.service.dto.PublicityTaskMatchDto; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å®£ææ¨¡åæéç<b>åªè¯»/ååæ°æ®ç«¯å£</b>ï¼æ¥å£å¨ ruoyi-commonï¼å®ç°ç± smartor æä¾ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹è¦æè¿ä¸ªç«¯å£</h3> |
| | | * å®£ææ¨¡åï¼{@code ruoyi-publicity}ï¼è¦å两件äºï¼ |
| | | * <ol> |
| | | * <li>æ¥"è¿ä¸ªç§å®¤/ç
åº/è¯åææ²¡æé
é¿æå®£æä»»å¡"ï¼{@code service_taskdept} / {@code service_taskmedical}ï¼ï¼</li> |
| | | * <li>æ«"åªäºå¨é¢æ£è
è¿æ²¡åå
¥é¢å®£æ"ï¼{@code pat_med_inhosp} ç {@code in_deptcheck_flag} / |
| | | * {@code in_wardcheck_flag}ï¼ï¼æ¥ä¸å°æ£è
æ¡£æ¡æ¶ææ å¿ä½ç½® "2" 并追å åå ã</li> |
| | | * </ol> |
| | | * è¿äºè¡¨å SQL å
¨å¨ smartorãè¥è®© {@code ruoyi-publicity} ç´æ¥ä¾èµ smartorï¼ |
| | | * å°±ä¼å½¢æ {@code smartor â ruoyi-publicity} 循ç¯ä¾èµï¼smartor è¦ä¾èµå®æ¥è§¦å宣æï¼ã |
| | | * è¥æ SQL æä¸ä»½å°æ°æ¨¡åï¼å°±ä¼åºç°"åä¸ä»½å£å¾ä¸¤å¤ç»´æ¤"ç鿣 |
| | | * ââ è¿æ£æ¯æ»¡æåº¦æ¨¡åå½åæåé¿å
çåã |
| | | * <p> |
| | | * æä»¥ï¼<b>æ¥å£æ¾ ruoyi-commonï¼å®ç°ï¼{@code PublicityDataPortBridge}ï¼çå¨ smartor</b>ï¼ |
| | | * å®£ææ¨¡åè¿è¡æ¶æç±»åæ¥æ¾å®ç°ãè¿ä¸ |
| | | * {@link VisitTaskCreateApi} / {@link PublicitySubtaskApi} æ¯å䏿æ³ã |
| | | * |
| | | * <h3>è°ç¨æ¹å¡å¿
é级</h3> |
| | | * åä¸å°å®ç°æ¶æ"没æå®£æè¦å"å¤çå¹¶æ WARNï¼ç»ä¸è½è®©åºå
¥é¢é访主æµç¨æå¼å¸¸ã |
| | | */ |
| | | public interface PublicityDataPort { |
| | | |
| | | /** |
| | | * æ«å¨é¢æ£è
ï¼å {@code patMedInhospMapper.selectPatMedInhospList} ç两段æ¥è¯¢ï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åº {@code PatMedInhospServiceImpl#dealOutHospInfo}ï¼ |
| | | * <ul> |
| | | * <li>ç§å®¤ç»´åº¦ï¼L325-329ï¼ï¼{@code deptcheck_flag="0"}ã{@code inhospstate="1"}ã{@code fuflag="1"}ï¼</li> |
| | | * <li>ç
åºç»´åº¦ï¼L376-379ï¼ï¼{@code in_wardcheck_flag="0"}ã{@code inhospstate="1"}ã{@code fuflag="1"} |
| | | * ï¼å¹¶æ inDeptcheckFlag / deptcheckFlag ç½® nullï¼ã</li> |
| | | * </ul> |
| | | * 两段æ¯<b>ç¬ç«æ¥è¯¢</b>ï¼è°ç¨æ¹å两次è°ï¼ä¸è¦åå¹¶æä¸æ¬¡"OR"æ¥è¯¢ï¼é£ä¼æ¹åç»æéï¼ã |
| | | * |
| | | * @param checkFlagColumn {@code "in_deptcheck_flag"} æ {@code "in_wardcheck_flag"}ï¼åªå
许è¿ä¸¤ä¸ªå¼ï¼ |
| | | * @return å¨é¢æ£è
è¡ï¼æ æ°æ®è¿å空å表 |
| | | */ |
| | | List<InHospPublicityRowDto> findInHospForPublicity(String checkFlagColumn); |
| | | |
| | | /** |
| | | * æç§å®¤/ç
åºæ¥é¿æå®£æä»»å¡IDï¼å {@code serviceTaskdeptMapper.selectServiceTaskdeptList}ï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åº L347-353ï¼{@code deptType="1"}ã{@code serviceType="17"}ï¼ä¸ |
| | | * L390-396ï¼{@code deptType="2"}ã{@code serviceType="17"}ï¼ã |
| | | * SQL æ¡ä»¶ï¼{@code del_flag = 0}ã{@code longtask = 1}ã{@code dept_code = ?}ã |
| | | * {@code dept_type = ?}ã{@code service_type = '17'}ã{@code orgid = ?}ã |
| | | * |
| | | * @param deptCode ç§å®¤ç¼ç ï¼deptType=1ï¼æç
åºç¼ç ï¼deptType=2ï¼ |
| | | * @param deptType "1" = ç§å®¤ï¼ "2" = ç
åº |
| | | * @param orgid æºæID |
| | | * @param inhospid 该æ¡è®°å½å¯¹åºçåºå
¥é¢è®°å½IDï¼åå¡«è¿è¿åå¼ï¼æ¹ä¾¿è°ç¨æ¹åè° inhospvisitï¼ |
| | | * @return å½ä¸çä»»å¡ï¼å¯è½å¤æ¡ï¼ï¼æ æ°æ®è¿å空å表 |
| | | */ |
| | | List<PublicityTaskMatchDto> findDeptPublicityTaskIds(String deptCode, String deptType, |
| | | String orgid, Long inhospid); |
| | | |
| | | /** |
| | | * æè¯åç¼ç + åç§° + å
¬å¸æ¥é¿æå®£æä»»å¡IDï¼å {@code serviceTaskmedicalMapper.selectServiceTaskmedicalList}ï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºå代ç L424-434ãåå®ç°è®¾äº<b>ä¸ä¸ª</b>åæ®µï¼ |
| | | * <pre> |
| | | * serviceTaskmedical.setMedicalCode(split[i]); |
| | | * if (i < medicalCompanyArray.length) { |
| | | * serviceTaskmedical.setMedicalCompany(medicalCompanyArray[i]); |
| | | * } else { |
| | | * log.warn("...䏿 è¶ç..."); |
| | | * serviceTaskmedical.setMedicalName(""); // â æ³¨æï¼è¶çæ¶è®¾çæ¯ nameï¼ä¸æ¯ company |
| | | * } |
| | | * </pre> |
| | | * <p> |
| | | * â ï¸ <b>è¶ç忝æ¯ä¸ªåå²ç¬è¯¯ï¼ä½ä¼çå®å½±å SQLï¼å æ¤å¿
é¡»åæ ·ä¿ç</b>ï¼ |
| | | * è¶çæ¶ {@code medical_name} 被置为<b>空串</b>ï¼èé nullï¼ï¼ |
| | | * è SQL æ¡ä»¶æ¯ {@code <if test="medicalName != null and medicalName != ''">} ââ 空串ä¼è·³è¿è¯¥æ¡ä»¶ï¼ |
| | | * åæ¶ {@code medical_company} ä¿æä¸º <b>null</b>ï¼æªè¢«èµå¼ï¼ï¼SQL æ¡ä»¶åæ ·è·³è¿ã |
| | | * ä¹å°±æ¯è¯´ï¼<b>è¶çæ¶ä¸¤ä¸ªæ¡ä»¶é½ä¸è¿æ»¤</b>ï¼çä»·äºåªæ medical_code æ¥ï¼ã |
| | | * <p> |
| | | * æä»¥æ¬æ¹æ³å¿
é¡»æ {@code medicalName} ä¹ä¼ è¿æ¥ ââ ä¸è½è®© Bridge èªä½ä¸»å¼ æç©ºä¸²è½¬æ null |
| | | * æåè¿æ¥ï¼é£ä¼æ¹å SQL æ¡ä»¶æ¯å¦çæï¼ã |
| | | * |
| | | * @param medicalCode è¯åç¼ç |
| | | * @param medicalName è¯ååç§°ï¼è¶çåæ¯ä¼ <b>空串</b>ï¼æ£å¸¸åæ¯ä¼ null |
| | | * @param medicalCompany è¯åå
¬å¸ï¼è¶çåæ¯ä¼ nullï¼æ£å¸¸åæ¯ä¼ æ°ç»éçå¼ |
| | | * @param inhospid 该æ¡è®°å½å¯¹åºçåºå
¥é¢è®°å½ID |
| | | * @return å½ä¸çä»»å¡ï¼å¯è½å¤æ¡ï¼ï¼æ æ°æ®è¿å空å表 |
| | | */ |
| | | List<PublicityTaskMatchDto> findMedicalPublicityTaskIds(String medicalCode, String medicalName, |
| | | String medicalCompany, Long inhospid); |
| | | |
| | | /** |
| | | * æ£è
æ¡£æ¡æ¯å¦åå¨ï¼å {@code patArchiveMapper.selectPatArchiveByPatid(patid)} çå¤ç©ºç¨éï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åº L338-344 / L382-388ãåå®ç°åçæ¯å®æ´ {@code PatArchive}ï¼ |
| | | * ä½å®£æè¿ä¸å±<b>åªç¨å°"æ¯ä¸æ¯ null"</b>ï¼çæ£çæ£è
ä¿¡æ¯å¡«å
åçå¨ inhospvisit ç»å任塿¶ï¼ï¼ |
| | | * æä»¥è¿éåªè¿åå卿§ã |
| | | * |
| | | * @param patid æ£è
æ¡£æ¡IDï¼å³ {@code PatMedInhosp.patid} / {@code PatArchive.id}ï¼é½æ¯ Longï¼ |
| | | * @return true = åå¨ä¸æªå é¤ |
| | | */ |
| | | boolean existsPatArchive(Long patid); |
| | | |
| | | /** |
| | | * æå
¥é¢å®£æçæ å¿ä½ç½®ä¸ºç»å®å¼ï¼å¹¶å¯åæ¶å {@code long_task_reason}ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åº L340-342 / L357-359 / L367-370ï¼ç§å®¤ç»´åº¦ï¼ä¸ L384-386 / L400-402ï¼ç
åºç»´åº¦ï¼ã |
| | | * |
| | | * <h3>â ï¸ åå®ç°æ"è¦ç"ä¸"追å "两ç§åæ³ï¼å¿
é¡»åºåï¼æä»¥è¿éç»çæ¯ {@code reasonMode}ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>åºæ¯</th><th>å代ç </th><th>è¯ä¹</th></tr> |
| | | * <tr><td>æ£è
åºæ¬ä¿¡æ¯ä¸ºç©ºï¼ç§å®¤/ç
åºå
±ç¨ï¼</td> |
| | | * <td>{@code setLongTaskReason("æ£è
åºæ¬ä¿¡æ¯ä¸ºç©º")}</td> |
| | | * <td><b>è¦ç</b>ï¼ç´æ¥èµå¼ï¼ä¸¢ææ§å¼ï¼</td></tr> |
| | | * <tr><td>ç§å®¤æªé
宣æä»»å¡</td> |
| | | * <td>{@code setLongTaskReason(æ§å¼ + "该æ£è
æå¨ç§å®¤æªé
ç½®å
¥é¢é¿æå®£æä»»å¡;")}<br> |
| | | * å
¶ä¸"æ§å¼"æ¯<b>æ inhospid 鿥䏿¬¡</b>æ¿å°ç</td> |
| | | * <td><b>追å </b>ï¼ä¸ä¸å¤æ§å¼æ¯å¦ä¸º nullï¼</td></tr> |
| | | * <tr><td>ç
åºæªé
宣æä»»å¡</td> |
| | | * <td>{@code setLongTaskReason(æ§å¼ + "该æ£è
æå¨ç
åºæªé
ç½®å
¥é¢é¿æå®£æä»»å¡;")}</td> |
| | | * <td><b>追å </b>ï¼åæ ·ä¸å¤ nullï¼æ§å¼ä¸º null æ¶ä¼æ¼åº {@code "null该æ£è
æå¨ç
åº..."}ï¼</td></tr> |
| | | * <tr><td>ç§å®¤å¤çå¼å¸¸</td> |
| | | * <td>{@code setLongTaskReason("人åå
¥é¢ç§å®¤å¤çåºå¼å¸¸äº")}</td> |
| | | * <td><b>è¦ç</b>ï¼ä¸å代ç <b>ä¸è®¾ longTaskReason åç¼</b>ãä¹ä¸éæ¥</td></tr> |
| | | * </table> |
| | | * å 为"è¦ç / 追å "æ¯ä¸¤ç§ä¸åè¯ä¹ï¼æ¬æ¹æ³ç¨ä¸ä¸ªå¸å°åºåï¼è䏿¯è®©è°ç¨æ¹æ¼å符串 |
| | | * ââ æ¼å符串ä¼è®© {@code null} åç¼è¿ç§å缺é·è¢«"顺æä¿®æ"ï¼é£å°±æäºè¡ä¸ºåæ´ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param flagColumn {@code "in_deptcheck_flag"} æ {@code "in_wardcheck_flag"}ï¼åªå
许è¿ä¸¤ä¸ªå¼ï¼ |
| | | * @param flagValue è¦åå
¥çæ å¿ä½å¼ï¼åå®ç°å "2"ï¼ |
| | | * @param reason è¦åå
¥ {@code long_task_reason} çææ¡ï¼ä¸º null 表示<b>ä¸å¨</b>è¯¥åæ®µ |
| | | * @param appendMode true = 追å ï¼{@code æ§å¼ + reason}ï¼æ§å¼æ inhospid 鿥ï¼<b>ä¸å¤ null</b>ï¼ï¼ |
| | | * false = è¦çï¼ç´æ¥å {@code reason}ï¼ |
| | | * @return true = æ´æ°æå |
| | | */ |
| | | boolean updatePublicityFlag(Long inhospid, String flagColumn, String flagValue, |
| | | String reason, boolean appendMode); |
| | | |
| | | /** |
| | | * æåæ®µæ´æ°åºå
¥é¢è®°å½ï¼å¯ä¸æ¬¡åå¤ä¸ª flag + {@code long_task_reason} + {@code remark}ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹è¦æè¿ä¸ª"宽"æ¥å£</h3> |
| | | * åºé¢éè®¿ç¼æå±ï¼{@code InhospTaskOrchestrator} ç 3 个 {@code *ForPatient}ï¼å¨å失败æ å¿ä½æ¶ï¼ |
| | | * åå®ç°æä¸ç§ä¸ååæ³ï¼åè¿å»çåéåä¹ä¸åï¼ |
| | | * <ul> |
| | | * <li>æçå¨<b>æ inhospid éè¯»åºæ¥ç对象</b>䏿¹ä¸ä¸ª flagï¼å¹¶æå¦ä¸¤ä¸ª flag |
| | | * ä»é读对象<b>åæ ·å¸¦å</b>ï¼å 为 {@code updatePatMedInhosp} æ¯"ä¼ ä»ä¹æ´æ°ä»ä¹"ï¼ |
| | | * ââ å®é
åäº 3 个 flagï¼</li> |
| | | * <li>æçå¨<b>æ°é²å¯¹è±¡</b>ä¸åª set ä¸ä¸ª flag ââ å®é
åªå 1 个 flagã</li> |
| | | * </ul> |
| | | * çªæ¥å£ {@link #updatePublicityFlag} 表达ä¸äº"䏿¬¡åå¤ä¸ª flag"ï¼ |
| | | * æä»¥å è¿ä¸ªééãè°ç¨æ¹æåé»è¾å³å®ç»åªäºå段èµå¼ï¼<b>null = 䏿¹</b> |
| | | * ï¼å¯¹åºå XML æ¯ä¸ªå段åèªç {@code <if test="xxx != null">}ï¼ã |
| | | * |
| | | * @param update æ´æ°è稿ï¼{@code inhospid} å¿
å¡«ï¼ |
| | | * @return true = å½±åè¡æ° > 0 |
| | | */ |
| | | boolean updateVisitInhosp(com.ruoyi.common.core.service.dto.VisitInhospUpdateDto update); |
| | | |
| | | /** |
| | | * æç¦»é¢ç§å®¤/ç
åºæ¥ã任塿§è¡è§åãï¼å {@code ServiceTaskRuleMapper#selectServiceTaskRuleByDeptOrWard}ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹æ¾å¨è¿ä¸ªç«¯å£ä¸</h3> |
| | | * 该æ¥è¯¢æå¡çæ¯<b>åºé¢é访</b>çè§åç¼æï¼{@code addSubTaskByRule}ï¼ï¼ |
| | | * è¯ä¹ä¸ä¸å±äº"宣æ"ã使¬ç«¯å£å·²ç»æ¯"éè®¿ä¾§è®¿é® smartor åªè¯»é
ç½®"çç»ä¸å
¥å£ |
| | | * ï¼å®å·²ç»æä¾ {@code findInHospForPublicity} / {@code findDeptPublicityTaskIds} çï¼ï¼ |
| | | * å为ä¸å¼ å表å 第å个端å£ä¸åç®ãè¿é卿³¨ééåæç¨éï¼é¿å
å人误以为å®åªæå¡å®£æã |
| | | * <p> |
| | | * è¿ç§»å¯¹åº {@code PatMedInhospServiceImpl#addSubTaskByRule} L1704-1707ï¼ |
| | | * <pre> |
| | | * ServiceTaskRule ruleQuery = new ServiceTaskRule(); |
| | | * ruleQuery.setDeptcode(patMedInhosp1.getLeaveldeptcode()); |
| | | * ruleQuery.setWardcode(patMedInhosp1.getLeavehospitaldistrictcode()); |
| | | * ServiceTaskRule rule = serviceTaskRuleMapper.selectServiceTaskRuleByDeptOrWard(ruleQuery); |
| | | * </pre> |
| | | * 注æï¼<b>该æ¥è¯¢æå¤è¿å䏿¡</b>ï¼åå®ç°ç´æ¥åå个对象ï¼ã |
| | | * |
| | | * @param leaveldeptcode 离é¢ç§å®¤ç¼ç |
| | | * @param leavehospitaldistrictcode 离é¢ç
åºç¼ç |
| | | * @return è§åï¼æªé
ç½®è¿å {@code null} |
| | | */ |
| | | com.ruoyi.common.core.service.dto.VisitTaskRuleDto findTaskRule(String leaveldeptcode, |
| | | String leavehospitaldistrictcode); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模å<b>䏿²ç»å®£ææ¨¡å</b>çæå°æ¥å£ï¼çæä¸æ¡"宣æç±»"é访åä»»å¡ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼ä»¥å为ä»ä¹æ¾ ruoyi-commonï¼</h3> |
| | | * 宣æï¼{@link PublicityApi}ï¼ä¸åºå
¥é¢é访æ¯<b>äºç¸è°ç¨</b>çï¼ |
| | | * <ul> |
| | | * <li>{@code ruoyi-inhospvisit} ç {@code dealOutHospInfo} è¦è° {@link PublicityApi} å³å®"è¦ä¸è¦å®£æ"ï¼</li> |
| | | * <li>{@code ruoyi-publicity} å¤å®"è¦å"ä¹åï¼åè¦æå»ºåä»»å¡äº¤å inhospvisit |
| | | * ï¼è¿æ · {@code boxedServiceSubtask} ç宣æåæ¯ type=0/4/5 å
¨ä»åªæä¸ä»½å®ç°ï¼ã</li> |
| | | * </ul> |
| | | * è¥ publicity ç´æ¥ä¾èµ inhospvisitï¼å°±å½¢æ {@code inhospvisit <-> publicity} ååä¾èµ â Maven æå»ºå¤±è´¥ã |
| | | * æä»¥æ"å®£ææ¨¡åå¯ä¸éè¦çé£ä¸ä¸ªè½å"䏿²ææ¬æ¥å£æ¾å¨ ruoyi-commonï¼ |
| | | * 两边é½åªä¾èµ ruoyi-commonï¼è¿è¡æ¶æç±»åæ¥æ¾å®ç°ï¼åä¸å°å°±é级ï¼ã |
| | | * |
| | | * <h3>å ruoyi-inhospvisit éé£ä¸ªååè½åçå
³ç³»</h3> |
| | | * æ¬æ¥å£åªæ 1 ä¸ªæ¹æ³ï¼æ¯ç»å®£ææ¨¡åç¨ç<b>æå°é¢</b>ï¼ |
| | | * {@code com.ruoyi.inhospvisit.api.InhospVisitApi} æ¯å®æ´å¥çº¦ï¼å«åºé¢éè®¿ä¸»æ«æãä»»å¡ç»è½®æ¬¡æ»å¨çï¼ï¼ |
| | | * ä¾ç´æ¥ä¾èµè¯¥æ¨¡åç smartor / ruoyi-quartz 使ç¨ã |
| | | * 两è
ç±åä¸ä¸ªå¸¸é©»é¨é¢ {@code InhospVisitFacade} ä¸å¹¶å®ç°ï¼å æ¤æä»»ä¸ç§ç±»åæ¥æ¾é½è½æ¿å°åä¸ä¸ª Beanã |
| | | * <p> |
| | | * <b>廿ä¸åç»§æ¿</b>ï¼è¥è®©å®æ´å¥çº¦ç»§æ¿æ¬æ¥å£ï¼æ¬æ¥å£å°±ä¼"声称"èªå·±ä¹æé£äºæ¹æ³ï¼ |
| | | * èææ¬æ¥å£ç¼è¯ç代ç è¿è¡æå´æ¿å°å®æ´å®ç° ââ è¿æ£æ¯æ»¡æåº¦æ¨¡å"é¨é¢æèªå·±å½å®ç°" |
| | | * é£ç±»å象çç¿»çï¼ä¼æ©çé
ç½®é误ã |
| | | * |
| | | * @see PublicityApi è°ç¨æ¹ |
| | | */ |
| | | public interface PublicitySubtaskApi { |
| | | |
| | | /** |
| | | * 为æä¸ªæ£è
çæä¸æ¡"宣æç±»"é访åä»»å¡ï¼type=0 è¯å宣æ / type=4 å
¥é¢ç§å®¤ / type=5 å
¥é¢ç
åºï¼ã |
| | | * <p> |
| | | * è¿æ¯ç» {@code ruoyi-publicity} ç¨çï¼å®£ææ¨¡åå¤å®"该å"ä¹åï¼ |
| | | * æå»ºåä»»å¡è¿ä»¶ï¼å« {@code boxedServiceSubtask} ç宣æåæ¯ãåå check_flagï¼äº¤å inhospvisitã |
| | | * |
| | | * @param taskid å½ä¸çé¿æå®£æä»»å¡ID |
| | | * @param patid æ£è
æ¡£æ¡ID |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param type 0=è¯å宣æï¼åºé¢ç»´åº¦ï¼/ 4=å
¥é¢ç§å®¤ / 5=å
¥é¢ç
åº |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return true = å·²çæï¼ææåé»è¾è¢«æ è®°ä¸ºä¸æ§è¡ï¼ |
| | | */ |
| | | boolean generatePublicitySubtask(Long taskid, Long patid, Long inhospid, int type, String config); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitScheduleRollResultDto; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 循ç¯ä»»å¡ç»ã轮次æ»å¨ãè½åçé¢çæ¥å£ï¼ç¬¬ 9 æ¥ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹è¿ä¸ªæ¥å£æ¯"ç²ç²åº¦"çï¼éè¦è®¾è®¡è¯´æï¼</h3> |
| | | * ä»»å¡ç»æ»å¨çæ ¸å¿å¨ä½è¦å䏿¬¡ <b>{@code ServiceSubtask} çå
¨å段深æ·è´</b>ï¼ |
| | | * <pre> |
| | | * ServiceSubtask copy = JSON.parseObject(JSON.toJSONString(src), ServiceSubtask.class); |
| | | * copy.setId(null); copy.setSenduuid(null); copy.setResult(null); ... |
| | | * </pre> |
| | | * è {@code ServiceSubtask} æ <b>116 ä¸ªåæ®µ</b>ã |
| | | * <p> |
| | | * å¦æä¸ºäº"æé»è¾æ¬è¿æ°æ¨¡å"è卿¨¡åé´ä¼ ä¸ä¸ª 116 åæ®µç DTOï¼å段æ å°æ¬èº«å°±æ¯å·¨å¤§é£é©é¢ï¼ |
| | | * ä¸<b>æ¢ä¸æ¥ä»»ä½æ¶ç</b> ââ å
¨å段æ·è´çè¯ä¹ç± JSON åºååä¿è¯ï¼ä¸éè¦éåæ®µæ¬è¿ã |
| | | * <p> |
| | | * æä»¥æ¬æ¥å£å»æåæä¸¤ä¸ªå¨ä½ï¼æ"ååæ§"çå¨å®ç°ä¾§ï¼ |
| | | * <ol> |
| | | * <li>{@link #selectActiveCycleSchedules(int)} ââ æ¥ä¸æ¹å¾
è¯ä¼°ç循ç¯è®¡åï¼</li> |
| | | * <li>{@link #rollOneSchedule(Long)} ââ <b>æ»å¨å个计åï¼æ´ä¸ªå¨ä½åå宿ï¼å«æ·±æ·è´ä¸æ¨è¿ï¼</b>ã</li> |
| | | * </ol> |
| | | * è°ç¨æ¹ï¼{@code ruoyi-inhospvisit} ç {@code TaskGroupCycleRoller}ï¼ |
| | | * è´è´£"æ¹æ¬¡ä¸é + éæ¡ try/catch + 计æ°ä¸æ¥å¿"è¿é¨å<b>ç¼æ</b>é»è¾ã |
| | | * <p> |
| | | * è¿ä¸å
¶å®ç«¯å£ï¼{@code VisitTaskCreateApi} çï¼çç²åº¦ä¸åï¼æ¯<b>ææç</b>ï¼ |
| | | * é£äºç«¯å£çå¯¹è±¡åæ®µå°ãæ å°å¯æ§ï¼è¿éç对象æ 116 ä¸ªåæ®µãä¸è¯ä¹æ¯"æ´ä½å
é"ã |
| | | * |
| | | * <h3>ä¸ {@code ServiceTaskScheduleServiceImpl#rollCycleTasks} çå
³ç³»</h3> |
| | | * {@code rollCycleTasks} çå®ç°<b>æ¬æ¬¡å»æä¿çå¨ smartor ä¸å¨</b>ï¼å®ä»è¢« |
| | | * {@code RyTask.rollTaskGroupCycle} è°ç¨ï¼èæ¹è°ç¨ç¹å¨ç¬¬ 10 æ¥ï¼ã |
| | | * æ¬æ¥å£çå®ç°ï¼è¿æ¸¡ Bridgeï¼ä¸å®<b>å
±äº«åä¸å¥åºå±è½å</b>ï¼åä¸ä¸ª Mapperãåä¸ä»½æ·±æ·è´è¯ä¹ï¼ï¼ |
| | | * ä¸å¤å¶ä¸å¡é»è¾ï¼çå°ç¬¬ 10 æ¥æè°ç¨ç¹åè¿æ¥åï¼{@code rollCycleTasks} æéå½¹ã |
| | | * |
| | | * <h3>â ï¸ è¿æ¸¡æç¦æ¢åè·</h3> |
| | | * 第 9 æ¥åå®åï¼<b>ãèç {@code rollCycleTasks}ãä¸ãæ°ç {@code TaskGroupCycleRoller}ã |
| | | * ä¸è½åæ¶è¢«è°åº¦</b> ââ 两边é½ä¼"æ¨è¿è½®æ¬¡ + æ°å»º subtask"ï¼åè·ä¼é æéå¤è½®æ¬¡ã |
| | | * 第 10 æ¥ä¼æ {@code RyTask} çæ¹æ³ä½åå°æ°è·¯å¾ï¼å¨é£ä¹åï¼æ°è·¯å¾åªè¢«èªæ£ç¨åºè°ç¨ã |
| | | */ |
| | | public interface ScheduleRollPort { |
| | | |
| | | /** |
| | | * æ¥ä¸æ¹å¾
è¯ä¼°ç循ç¯è®¡åï¼å {@code ServiceTaskScheduleMapper#selectActiveCycleSchedules}ï¼ã |
| | | * <p> |
| | | * 该æ¥è¯¢èªèº«çæ¡ä»¶ï¼{@code schedule_style = 1}ã{@code max_loop_count} ä¸éçï¼å¨ |
| | | * smartor ç XML éï¼æ¬æ¬¡<b>ç
§æä¸å¨</b>ï¼ç±å®ç°ä¾§ä¿è¯ã |
| | | * |
| | | * @param limit æ¹æ¬¡ä¸éï¼åå®ç°åºå® 200ï¼ |
| | | * @return 计åIDåè¡¨ï¼æ æ°æ®è¿å空å表 |
| | | */ |
| | | List<Long> selectActiveCycleSchedules(int limit); |
| | | |
| | | /** |
| | | * æ»å¨å个计åï¼è¥"æ¬è½®å·²å
¨é¨ç»æ"忍è¿å°ä¸ä¸è½®å¹¶å
é subtaskã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code ServiceTaskScheduleServiceImpl#rollOneSchedule}ï¼L196-280ï¼ï¼å
æ¬ï¼ |
| | | * <ul> |
| | | * <li>ä¸éæ ¡éªï¼{@code maxLoopCount}ï¼ä¸"åå¼ä¸è½®æ¯å¦è¶
é"çå¤å®ï¼</li> |
| | | * <li>æ¬è½®æ¯å¦å
¨é¨ç»æï¼{@code countActiveByScheduleIdAndLoop}ï¼ï¼</li> |
| | | * <li>ææ¬è½® subtask ä½å
鿍¡æ¿ + 计åæç»æ seq ç´¢å¼ï¼</li> |
| | | * <li>æ¨è¿æ¥é¿ï¼{@code scheduleTimeNum/Unit}ï¼åæ³æ§æ ¡éªï¼</li> |
| | | * <li>éæ¡å
éï¼<b>å
¨å段深æ·è´</b> + æ¸
6 ä¸ªåæ®µ + æ detail è¦çæ¨¡æ¿ + æ¨è¿æ¶é´ï¼å¹¶è½åºï¼</li> |
| | | * <li>å¤å¶ {@code service_subtask_preachform} è¡ï¼</li> |
| | | * <li>æ¨è¿ schedule ç {@code current_loop_count / current_seq / next_seq / next_execute_time}ã</li> |
| | | * </ul> |
| | | * <b>æ´ä¸ªå¨ä½å¿
é¡»å¨å®ç°ä¾§ä¸æ¬¡æ§å®æ</b>ï¼å«äºå¡ï¼ï¼ä¸è½ææ"忍¡æ¿âæ¹âå"䏿¥è·¨æ¨¡åè°ç¨ã |
| | | * |
| | | * @param scheduleId 计åID |
| | | * @return æ»å¨ç»æï¼{@code rolled=false} æ¶ {@code skipReason} 说æåå ï¼ |
| | | */ |
| | | VisitScheduleRollResultDto rollOneSchedule(Long scheduleId); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.ServiceTaskMatchDto; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ãé¿æé访任å¡å¹é
ãç对å¤å¥çº¦ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼æ¬å¥çº¦æ¯é¨æ¥è¯/ææ¯é访模ååçå¯ä¸æ°å¢å¥çº¦ï¼</h3> |
| | | * ä¸ä¸ªé访模åï¼åºå
¥é¢ {@code ruoyi-inhospvisit}ã鍿¥è¯ {@code ruoyi-outpatientvisit}ã |
| | | * å
¶ä» {@code ruoyi-othervisit}ï¼é½è¦ååä¸ä»¶äºï¼<b>ææä¸ªç»´åº¦æ¥"ææ²¡æé
é¿æé访任å¡"</b>ã |
| | | * ç°ç¶æ¯åèªç´æ¥æ³¨å
¥ smartor ç Mapperï¼ |
| | | * |
| | | * <pre> |
| | | * é¨è¯ï¼serviceTaskdeptMapper.selectServiceTaskdeptList(q) // ç§å®¤ç»´åº¦ service_type="3" |
| | | * serviceTaskdiagMapper.selectServiceTaskdiagList(q) // è¯æç»´åº¦ |
| | | * ææ¯ï¼serviceTaskoperMapper.selectServiceTaskoperList(q) // ææ¯ç¼ç 维度 |
| | | * 宣æï¼serviceTaskmedicalMapper... // è¯åç»´åº¦ï¼æ¬æ¨¡åèªå¸¦ PublicityDataPortï¼ |
| | | * </pre> |
| | | * |
| | | * è¿äº Mapper å±äº smartor çãæå¡ä»»å¡ãåï¼<b>ä¸è½</b>è·çéè®¿æ¨¡åæ¬ |
| | | * ï¼å®ä»¬åæ¶è¢«åºå
¥é¢/é¨è¯/ææ¯/宣æåæ¹å
±ç¨ï¼æ¬ç»ä»»ä½ä¸æ¹é½ä¼è®©å¦å¤ä¸æ¹ååä¾èµï¼ã |
| | | * æä»¥ææ¢æå¥è·¯ï¼{@code VisitTaskCreateApi} / {@code PublicityDataPort} åæ ·çåæ³ï¼ |
| | | * æ"æ¥"è¿ä¸å±åæ ruoyi-common çå¥çº¦ï¼smartor ä¾§æä¾è¿æ¸¡å®ç°ã |
| | | * |
| | | * <h3>â ï¸ æ¬å¥çº¦åªç®¡"æ¥"ï¼ä¸ç®¡"夿"</h3> |
| | | * åå®ç°é"æ¥ä¸å°å°±ææ å¿ä½ç½® {@code "2"} å¹¶ååå ææ¡"å±äº<b>é访åçä¸å¡è§å</b>ï¼ |
| | | * çå¨åé访模åéï¼é¨è¯/åºå
¥é¢/ææ¯çåå ææ¡åä¸ç¸åï¼ã |
| | | * æ¬å¥çº¦åªåãç»å®æ¡ä»¶ â è¿åå¹é
å°çè¡ãï¼ä¸ {@code selectServiceTask*List} éå对åºã |
| | | * |
| | | * <h3>â ï¸ è¿åç±»åä¸å¾æ¯ smartor å®ä½</h3> |
| | | * è§ {@link ServiceTaskMatchDto} çååä¾èµçº¢çº¿è¯´æã |
| | | * |
| | | * <h3>åæ¹æ³çåå®ç°å¯¹åº</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬å¥çº¦æ¹æ³</th><th>å Mapper è°ç¨</th></tr> |
| | | * <tr><td>{@link #findLongTasksByDept(String, String)}</td> |
| | | * <td>{@code ServiceTaskdeptMapper.selectServiceTaskdeptList}</td></tr> |
| | | * <tr><td>{@link #findLongTasksByDiag(String)}</td> |
| | | * <td>{@code ServiceTaskdiagMapper.selectServiceTaskdiagList}</td></tr> |
| | | * <tr><td>{@link #findLongTasksByOpcode(String)}</td> |
| | | * <td>{@code ServiceTaskoperMapper.selectServiceTaskoperList}</td></tr> |
| | | * </table> |
| | | * |
| | | * @see ServiceTaskMatchDto |
| | | */ |
| | | public interface ServiceTaskMatchApi { |
| | | |
| | | /** |
| | | * ç§å®¤ç»´åº¦ï¼æ¥è¯¥ç§å®¤ä¸å·²é
ç½®çé¿æé访任å¡ã |
| | | * <p> |
| | | * åå®ç°ï¼é¨è¯ {@code PatMedOuthospServiceImpl#dealOutpatientInfo} L394-398ï¼ï¼ |
| | | * <pre> |
| | | * ServiceTaskdept q = new ServiceTaskdept(); |
| | | * q.setLongtask(1L); |
| | | * q.setDeptCode(patMedOuthosp1.getDeptcode()); |
| | | * q.setServiceType("3"); |
| | | * List<ServiceTaskdept> list = serviceTaskdeptMapper.selectServiceTaskdeptList(q); |
| | | * </pre> |
| | | * å³ï¼{@code del_flag=0} + {@code longtask=1} + {@code dept_code=?} + {@code service_type=?}ã |
| | | * |
| | | * @param deptCode ç§å®¤ç¼ç ï¼å {@code patMedOuthosp.deptcode}ï¼ |
| | | * @param serviceType æå¡ç±»åï¼é¨è¯ä¼ {@code "3"}ï¼å
¶å®è°ç¨æ¹ä¼ åèªçå¼ï¼ä¸ååè®¾ï¼ |
| | | * @return å¹é
å°çä»»å¡è¡ï¼æ¥ä¸å°è¿å空éåï¼<b>ä¸è¿å null</b>ï¼ |
| | | */ |
| | | List<ServiceTaskMatchDto> findLongTasksByDept(String deptCode, String serviceType); |
| | | |
| | | /** |
| | | * è¯æç»´åº¦ï¼æ¥è¯¥ ICD10 ä¸å·²é
ç½®çé¿æé访任å¡ã |
| | | * <p> |
| | | * åå®ç°ï¼é¨è¯ L410-413ï¼ï¼{@code longtask=1} + {@code icd10code=?}ï¼<b>ä¸è®¾ serviceType</b>ï¼ã |
| | | * |
| | | * @param icd10code ICD10 ç¼ç ï¼å {@code patMedOuthosp.icd10code}ï¼ |
| | | * @return å¹é
å°çä»»å¡è¡ï¼æ¥ä¸å°è¿å空éå |
| | | */ |
| | | List<ServiceTaskMatchDto> findLongTasksByDiag(String icd10code); |
| | | |
| | | /** |
| | | * ææ¯ç¼ç ç»´åº¦ï¼æ¥è¯¥ææ¯ç¼ç ä¸å·²é
ç½®çé¿æé访任å¡ã |
| | | * <p> |
| | | * åå®ç°ï¼ææ¯ {@code PatMedOperationServiceImpl#dealOperationInfo} L118-121ï¼ï¼ |
| | | * {@code longtask=1} + {@code opcode=?}ï¼<b>ä¸è®¾ serviceType</b>ï¼ã |
| | | * |
| | | * @param opcode ææ¯ç¼ç ï¼å {@code patMedOperation.opcode}ï¼ |
| | | * @return å¹é
å°çä»»å¡è¡ï¼æ¥ä¸å°è¿å空éå |
| | | */ |
| | | List<ServiceTaskMatchDto> findLongTasksByOpcode(String opcode); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ãAI é项å¹é
ãç对å¤å¥çº¦ã |
| | | * |
| | | * <h3>宿¯ä»ä¹</h3> |
| | | * å {@code IServiceSubtaskService#matchOptionIndex}ï¼smartorï¼ï¼ |
| | | * æãç¨æ·é®é¢ + è¯é³è¯å«ç»æ + åéé项ãåºååæ JSONï¼<b>POST å°ä¸ä¸ªå¤é¨ AI æå¡</b>ï¼ |
| | | * æè¿åçæ°åè§£æä¸ºå½ä¸çé项䏿 ï¼è§£æå¤±è´¥æ url 为空è¿å {@code -1}ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹è¦ä¸æ²æå¥çº¦</h3> |
| | | * æ¨¡æ¿æ¨¡åç {@code IvrLibaTargetServiceImpl} éè¦è°å®ï¼ä½å®æ¯ smartor çæ¹æ³ã |
| | | * æ¨¡æ¿æ¨¡å**ç»ä¸è½ä¾èµ smartor**ï¼smartor å·²ä¾èµæ¨¡æ¿æ¨¡å â 伿ç¯ï¼Maven ç´æ¥æå»ºå¤±è´¥ï¼ã |
| | | * æä»¥ææ¢æææ³ï¼{@link VisitTaskCreateApi} / {@link ServiceTaskMatchApi} çï¼ï¼ |
| | | * æ¥å£æ¾ ruoyi-commonï¼smartor ä¾§æä¾è¿æ¸¡å®ç°ã |
| | | * |
| | | * <h3>â ï¸ å
¥å为ä»ä¹ç¨<b>æ³å</b> {@code List<T>} è䏿¯æ¨¡æ¿å®ä½</h3> |
| | | * åæ¹æ³ç¾åæ¯ {@code List<IvrTaskTemplateTargetoption>}ï¼èé£ä¸ªç±»åå·²æ¬è¿ |
| | | * {@code ruoyi-template}ãè¥å¥çº¦ç´æ¥åå
·ä½ç±»åï¼ruoyi-common å°±å¾ä¾èµ ruoyi-template ââ |
| | | * æ¹åä¸å¯¹ã |
| | | * <p> |
| | | * ä¹ä¸è½ç®ååæ {@code List<Object>}ï¼è°ç¨æ¹æ¿å°è¿åå¼åè¦ |
| | | * {@code options.get(matched).getOptiondesc()} ââ åæ°è¥æ¯ {@code List<Object>}ï¼ |
| | | * {@code get()} è¿å {@code Object}ï¼é£è¡å°±ç¼è¯ä¸è¿ãç¨æ³å {@code <T>} å¯ä»¥è®© |
| | | * è°ç¨ç¹çç±»åä¿æåæ ·ï¼è ruoyi-common æ éç¥é {@code T} æ¯ä»ä¹ã |
| | | * <p> |
| | | * è¯ä¹ä¸ä¹å®å
¨ï¼åæ¹æ³å¯¹ options **åªåä¸ä»¶äº ââ {@code jsonObject.put("options", options)}** |
| | | * ç¶åæ´ä½åºååï¼ä»ä¸è¯»å®çåæ®µï¼æä»¥ {@code T} å
·ä½æ¯ä»ä¹é½ä¸å½±åç»æã |
| | | * |
| | | * <h3>å®ç°æ¹å¿
é¡»ä¿æçè¡ä¸º</h3> |
| | | * <ul> |
| | | * <li>{@code url} 为空 â ä¸å请æ±ï¼è¿å {@code -1}ï¼</li> |
| | | * <li>è¯·æ±æå¼å¸¸ â ææ¥å¿åè¿å {@code -1}ï¼<b>åå¼å¸¸</b>ï¼åå®ç°å¦æ¤ï¼ï¼</li> |
| | | * <li>ååºéçº¯æ´æ°ï¼å
许å导è´å·ï¼â è¿å {@code -1}ã</li> |
| | | * </ul> |
| | | */ |
| | | public interface SubtaskOptionMatchApi { |
| | | |
| | | /** |
| | | * è°å¤é¨ AI æå¡åé项å¹é
ã |
| | | * |
| | | * @param url AI æå¡å°åï¼å {@code ivrTaskTemplate.url}ï¼ï¼ä¸ºç©ºåç´æ¥è¿å -1 |
| | | * @param questionText ç¨æ·é®é¢ |
| | | * @param voiceText è¯é³è¯å«ç»æ |
| | | * @param options åéé项ï¼å为 {@code List<IvrTaskTemplateTargetoption>}ï¼ï¼ |
| | | * ä»
ç¨äº JSON åºååï¼æ
ç¨æ³åæ¿è½½ |
| | | * @param uuid æ¬æ¬¡ä¼è¯ uuid |
| | | * @param <T> é项å
ç´ ç±»åï¼è°ç¨æ¹å³å®ï¼å®ç°æ¹ä¸éè¦ç¥éï¼ |
| | | * @return å½ä¸ç䏿 ï¼æ æ³å¹é
è¿å {@code -1} |
| | | */ |
| | | <T> Integer matchOptionIndex(String url, String questionText, String voiceText, |
| | | List<T> options, String uuid); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.PatMedReq; |
| | | import com.ruoyi.common.core.service.dto.PatMedRes; |
| | | |
| | | /** |
| | | * é访åä»»å¡<b>ç»è®¡</b>ç对å¤å¥çº¦ï¼åªè¯»ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹åç¬ä¸ä¸ªå¥çº¦ï¼è䏿¯å¡è¿ ServiceTaskMatchApi</h3> |
| | | * {@link ServiceTaskMatchApi} ç®¡çæ¯"<b>æç»´åº¦å¹é
é¿æé访任å¡</b>" |
| | | * ï¼ç§å®¤/è¯æ/ææ¯ç¼ç â ä»»å¡è¡ï¼ï¼èæ¬å¥çº¦ç®¡çæ¯ |
| | | * "<b>对 service_subtask åèåç»è®¡</b>"ã两è
è½ç¶é½è¯»é访åçæ°æ®ï¼ |
| | | * ä½è¯ä¹æ å
³ï¼æ··å¨ä¸ä¸ªå¥çº¦éä¼è®©è°ç¨æ¹é¾ä»¥å¤æ"æå°åºè¯¥ä¾èµè°"ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼è·¨æ¨¡å SQL æ¶å£ï¼</h3> |
| | | * é¨è¯ç {@code selectPatMedOuthospCount} éè¦æ |
| | | * "æ¬åé¨è¯äººæ¬¡/人æ°" ä¸ "é访人次/人æ°" åå¹¶æä¸ä¸ª {@code PatMedRes} è¿åã |
| | | * åè
æ¥çæ¯ {@code service_subtask}ï¼åä»»å¡åï¼ï¼å±è·¨åè¯»ï¼ |
| | | * æ"忍¡åç¬å èªå·±çæ°æ®è®¿é®"ååï¼åºç±å½å±æ¹æä¾æ¥è¯¢è½åã |
| | | * å¨ãé访任å¡å建模åãè½å°ä¹åï¼å
æ¾å¨ ruoyi-commonã |
| | | * |
| | | * <h3>â ï¸ æ¬å¥çº¦åªç®¡"æ¥"ï¼ä¸ç®¡"åå¹¶"</h3> |
| | | * åå®ç°é {@code patMedRes.setRc(count)}ï¼ææ¬åç®åºçé¨è¯äººæ¬¡å¡åå»ï¼ |
| | | * å±é¨è¯åï¼çå¨è°ç¨æ¹ã |
| | | */ |
| | | public interface SubtaskStatApi { |
| | | |
| | | /** |
| | | * é¨è¯é访人次/人æ°ç»è®¡ã |
| | | * <p> |
| | | * åå®ç°ï¼é¨è¯ {@code PatMedOuthospServiceImpl#selectPatMedOuthospCount} L345ï¼ï¼ |
| | | * {@code serviceSubtaskMapper.selectVisitCount(patMedReq)}ã |
| | | * |
| | | * <h3>å SQL å£å¾ï¼éåç
§æ¬ï¼å¿æ¹ï¼</h3> |
| | | * <pre> |
| | | * select 0 AS rc, count(1) AS rs |
| | | * from service_subtask |
| | | * where del_flag = 0 and service_type = 3 |
| | | * [and orgid = ?] [and campusid = ?] |
| | | * [and date_format(visit_time,'%y%m%d') >= date_format(?,'%y%m%d')] |
| | | * [and date_format(visit_time,'%y%m%d') <= date_format(?,'%y%m%d')] |
| | | * [and deptcode in (...)] |
| | | * </pre> |
| | | * 注æï¼â å®<b>廿æ rcï¼äººæ¬¡ï¼ç½® 0</b>ï¼äººæ¬¡ç±è°ç¨æ¹å¦è¡è®¾ç½®ï¼ |
| | | * â¡ æ¥ææ¯è¾ç¨ {@code date_format} å°å¤©ï¼ä¸æ¯æ¶é´æ³æ¯è¾ã |
| | | * |
| | | * @param req ç»è®¡æ¡ä»¶ï¼{@code startDate}/{@code endDate}/{@code orgid}/ |
| | | * {@code campusid}/{@code deptcodeList}ï¼ |
| | | * @return å« {@code rs}ï¼äººæ°ï¼çç»æ |
| | | * â ï¸ åå®ç°<b>ä¸å¤ç©º</b>ç´æ¥ {@code patMedRes.setRc(...)} ââ |
| | | * è¥ Mapper è¿å null ä¼ NPEãæ¤å¤ä¿æåè¡ä¸ºï¼ä¸é¢å¤å
åºï¼ï¼ |
| | | * ç±è°ç¨æ¹æåæ ·å¤çã |
| | | */ |
| | | PatMedRes countVisitForStat(PatMedReq req); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | /** |
| | | * æ¨¡æ¿æ¨¡å被å
³éæ¶ï¼è®¿é®æ¨¡æ¿è½åçè°ç¨ä¼æåºæ¬å¼å¸¸ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼è䏿¯å¤ç¨ {@code ServiceException}ï¼</h3> |
| | | * {@code ServiceException} æ¯ <b>final</b> çï¼è§ {@code com.ruoyi.common.exception.ServiceException}ï¼ï¼ |
| | | * æ¢ä¸è½ç»§æ¿ã乿²¡æå®ç°ä»»ä½æ¥å£ï¼å æ¤æ æ³ç¨"åç±» / æ è®°æ¥å£"åå°<b>精确æè·</b>ã |
| | | * èæ¬å¼å¸¸çå
³é®ç¨éæ°æ°æ¯ç²¾ç¡®æè·ï¼ |
| | | * <pre> |
| | | * try { |
| | | * HeLibrary lib = templateFacade.findHeLibraryById(id); |
| | | * ... |
| | | * } catch (TemplateModuleDisabledException e) { |
| | | * // 模æ¿è¢«å
³é ââ åªè·³è¿"忍¡æ¿å
容"è¿ä¸æ®µï¼é访主æµç¨ç
§å¸¸ç»§ç» |
| | | * } |
| | | * </pre> |
| | | * 妿æ¹ç¨ {@code ServiceException}ï¼è°ç¨æ¹åªè½ç¨ {@code catch (ServiceException e)} |
| | | * ææ¯å¯¹ message ææ¬ï¼åè
伿<b>å«äººç</b>ä¸å¡å¼å¸¸ä¸èµ·åæï¼ |
| | | * åè
ä¼å¨æ¹ææ¡æ¶éé»å¤±æã两è
齿¯éæ£ï¼æä»¥è¿éåç¬ç«ä¸ä¸ªç±»åã |
| | | * |
| | | * <h3>HTTP è·¯å¾ä¸ç表ç°</h3> |
| | | * æ¬å¼å¸¸æ¯ {@link RuntimeException}ï¼ä¼è¢« RuoYi çå
¨å±å¼å¸¸å¤çå¨ |
| | | * {@code GlobalExceptionHandler#handleRuntimeException} æè·å¹¶åæ ·è¿å |
| | | * {@code e.getMessage()}ï¼å æ¤å端æ¿å°ç仿¯<b>æç¡®çä¸å¡æç¤º</b>ï¼ä¸æ¯"ç³»ç»å¼å¸¸"ã |
| | | * |
| | | * <h3>ä¸ {@code TemplateAvailabilityInterceptor} çåå·¥</h3> |
| | | * <ul> |
| | | * <li><b>HTTP 端ç¹</b>ï¼66 个模æ¿ç®¡çæ¥å£ï¼ï¼ç± {@code TemplateAvailabilityInterceptor} |
| | | * æ¦æªï¼æçæ¯ {@code ServiceException} ââ 䏿»¡æåº¦/åºå
¥é¢/å®£ææ¨¡åå®å
¨ä¸è´ï¼å»æä¸æ¹ï¼</li> |
| | | * <li><b>跨模åè°ç¨</b>ï¼é¨é¢ï¼ï¼ææ¬å¼å¸¸ï¼ä¾è°ç¨æ¹ç²¾ç¡®é级ã</li> |
| | | * </ul> |
| | | * 两è
<b>ææ¡ä¸è´</b>ï¼åä¸ä¸ªå¸¸éï¼ï¼åªæ¯ç±»åä¸åï¼ä¸ä¸ªæ¯ç» HTTP è°ç¨æ¹ççï¼ |
| | | * ä¸ä¸ªæ¯ç» Java è°ç¨æ¹ catch çã |
| | | * |
| | | * @see com.ruoyi.template.api.TemplateFacade |
| | | */ |
| | | public class TemplateModuleDisabledException extends RuntimeException { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | public TemplateModuleDisabledException(String message) { |
| | | super(message); |
| | | } |
| | | |
| | | public TemplateModuleDisabledException(String message, Throwable cause) { |
| | | super(message, cause); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitLongTaskDto; |
| | | import com.ruoyi.common.core.service.dto.VisitPendingSubtaskDto; |
| | | import com.ruoyi.common.core.service.dto.VisitSubtaskDraft; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é访任å¡ãå建 / æ´¾åãè½åçé¢çæ¥å£ã |
| | | * |
| | | * <h3>为ä»ä¹åç¬æåºè¿ä¸ªæ¥å£</h3> |
| | | * åºå
¥é¢éè®¿åæ¥æä¸¤ä»¶äºæ··å¨ä¸èµ·ï¼ |
| | | * <ol> |
| | | * <li><b>éè®¿ç¼æ</b> ââ æç§å®¤/ç
åº/ç¾ç
/ææ¯å¹é
é¿æä»»å¡ã夿åå
¥é¢è¯¥åè°ï¼å± {@code ruoyi-inhospvisit}ï¼ï¼</li> |
| | | * <li><b>ä»»å¡å建ä¸è½åº</b> ââ æ¥ä»»å¡å®ä¹ãå {@code service_subtask}ãç»æ¢æ§ä»»å¡ï¼æ¬æ¥å£ï¼ã</li> |
| | | * </ol> |
| | | * ä½ è¦æ±"ä»»å¡åå»ºå°æ¥åç¬æä¸ä¸ªæ¨¡åï¼æ¥è°ç¨è¿äºæ¥å£"ï¼æä»¥è¿éå
æç¬¬ 2 ä»¶äºæ½ææ¥å£ï¼ |
| | | * <ul> |
| | | * <li>æ¥å£å®ä¹å¨ <b>ruoyi-common</b> ââ è¿æ¯å¯ä¸è½åæ¶æ»¡è¶³ |
| | | * ã{@code ruoyi-inhospvisit} ä¸ä¾èµ smartorã+ãsmartor ä¾èµ {@code ruoyi-inhospvisit}ã |
| | | * +ã两è
äºç¸è¦è°ç¨ãçä½ç½®ãè¥ææ¥å£æ¾ inhospvisitãå®ç°æ¾ smartorï¼ |
| | | * å°±ä¼å½¢æ {@code smartor -> inhospvisit -> smartor} ç循ç¯ä¾èµï¼Maven ç´æ¥æå»ºå¤±è´¥ã</li> |
| | | * <li>æ¬æ¬¡ï¼ç¬¬ä¸æ¹ï¼ç± <b>smartor æä¾ä¸ä¸ªè¿æ¸¡å®ç°</b>ï¼éè¡æ¬è¿ç°æååºè½åï¼é¶é»è¾æ¹å¨ï¼ã</li> |
| | | * <li>å°æ¥ãé访任å¡å建模åã建好æ¶ï¼<b>åªéæè¯¥æ¨¡åçå®ç°æ³¨åè¿æ¥</b> |
| | | * ï¼å®ç°æ¹ä» smartor æ¢ææ°æ¨¡åï¼ï¼{@code ruoyi-inhospvisit} <b>ä¸è¡é½ä¸ç¨æ¹</b>ã</li> |
| | | * </ul> |
| | | * è¿ä¸æ»¡æåº¦ç {@link ISatisfactionCategoryService} æ¯å䏿æ³ï¼æ¥å£å¨ ruoyi-commonï¼ |
| | | * è°ç¨æ¹ç¨ {@code SpringUtils.getBean(...)} æç±»åæ¥æ¾ + try/catch é级ã |
| | | * |
| | | * <h3>è°ç¨æ¹å¡å¿
é级</h3> |
| | | * åä¸å°å®ç°ï¼æ¨¡å没æè¿åºç¨ / æªå¯ç¨ / 容å¨å¼å¸¸ï¼æ¶ï¼è°ç¨æ¹<b>å¿
é¡»æ"ä¸çæåä»»å¡"å¤çå¹¶æ WARN</b>ï¼ |
| | | * ç»ä¸è½è®©å®æ¶ä»»å¡æå¼å¸¸ ââ åºå
¥é¢é访æäºå°±æ¯å½å¤©å
¨é¢é访åæã |
| | | * |
| | | * @see ISatisfactionCategoryService å䏿æ³çå
ä¾ |
| | | */ |
| | | public interface VisitTaskCreateApi { |
| | | |
| | | /** |
| | | * æ taskid åãå·²åå¸çé¿æä»»å¡ãï¼å {@code ServiceTaskMapper.selectServiceTaskList} |
| | | * é
{@code sendState=2}ï¼ãåä¸å°æ¶<b>è¿å {@code null}</b>ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#writeInSubTask} L686-728ï¼åä»»å¡ + ä»»å¡ä¸å卿¶ç忝ï¼ã |
| | | * |
| | | * @param taskid ä»»å¡ID |
| | | * @return ä»»å¡å¿«ç
§ï¼ä¸å卿æªåå¸è¿å {@code null} |
| | | */ |
| | | VisitLongTaskDto findPublishedLongTask(Long taskid); |
| | | |
| | | /** |
| | | * è½åºä¸æ¡é访åä»»å¡ï¼å {@code ServiceSubtaskMapper.insertServiceSubtask}ï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#writeInSubTask} éç |
| | | * {@code insertServiceSubtask} è°ç¨ï¼L823 / L838 / L854 / L862 / L873ï¼ã |
| | | * <p> |
| | | * â ï¸ å®ç°å¿
é¡»ä¿æåæ ·ï¼å
¥åè稿æä¹å¡«å°±æä¹è½åºï¼ |
| | | * <b>ä¸å¾å¨è¿é"顺æè¡¥é»è®¤å¼"æ"é¡ºææ¹ç¶æ"</b>ï¼å¦å线ä¸åä»»å¡å
容ä¼åã |
| | | * <p> |
| | | * â ï¸ <b>æ¹æ³å廿ä¸å« createSubtask</b>ï¼å®ä¸æ¯"æ°å»ºä¸ä¸ªä¸å¡å¯¹è±¡"ï¼ |
| | | * èæ¯"æä¸ä»½å·²ç»ç»è£
好çèç¨¿åæ ·è½åº"ã |
| | | * å°æ¥ãé访任å¡å建模åãæ¥ç®¡æ¶ï¼<b>æ¹æ³æå¾å¿
é¡»ä»ç¶æ¯"åæ ·è½åº"</b>ï¼ |
| | | * ä¸è®¸å¨è¿ä¸å±å å
¥å»é/åå¹¶/ç¶ææº ââ é£äºè¯ä¹å¨ {@code ruoyi-inhospvisit} éã |
| | | * |
| | | * @param draft åä»»å¡è稿 |
| | | * @return true = è½åºæåï¼åå®ç°å¤æ {@code insertServiceSubtask(...) == 1}ï¼ |
| | | */ |
| | | boolean insertSubtask(VisitSubtaskDraft draft); |
| | | |
| | | /** |
| | | * æä¸æ¡ {@link #findPendingSubtasks} æ¥åºæ¥çå¾
æ§è¡åä»»å¡<b>åæ ·åå</b>ï¼æ´ä½ååï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#writeInSubTask} éç |
| | | * {@code serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1)} |
| | | * ï¼L812 / L836ï¼ä¸ {@code #dealInHospInfo} éç L1349ã |
| | | * <p> |
| | | * åå®ç°çåæ³æ¯ï¼å
æ¥å®æ´å¯¹è±¡ â å¨å
åéæ¹å ä¸ªåæ®µ |
| | | * ï¼{@code sendstate=4L}ã{@code result="error"}ã{@code remark=...}ã{@code updateBy}ã{@code updateTime}ï¼ |
| | | * â æ<b>æ´ä¸ªå¯¹è±¡</b>ä¼ ç» {@code updateServiceSubtask}ã |
| | | * å 为 {@code ServiceSubtaskMapper.xml} ç {@code updateServiceSubtask}ï¼L1060-1162ï¼ |
| | | * æ¯"æ¯ä¸ªå段åèª {@code <if test="xxx != null">}"ã{@code where id = #{id}}ï¼ |
| | | * æä»¥<b>åªæé null åæ®µçæ</b>ã |
| | | * <p> |
| | | * å æ¤æ¬æ¹æ³å»ææ¥æ¶<b>åä¸ä¸ª DTO</b>ï¼è°ç¨æ¹å·²ç»å¨ä¸é¢æ¹è¿è¦æ¹çåæ®µï¼ï¼ |
| | | * ç±å®ç°æå®æ å°åå®ä½åæ´ä½åå ââ è¿æ ·"带äºåªäºå段è¿å»"è¿ä»¶äºä¸åå®ç°éåæ®µä¸è´ï¼ |
| | | * ä¸ä¼å 为"åªä¼ 个 id + å ä¸ªåæ®µ"è丢æåå®ç°ä¼å¸¦è¿å»çå
¶å®å段ã |
| | | * |
| | | * @param pending ä» {@link #findPendingSubtasks} æ¿å°å¹¶å·²æ¹å¥½å段ç DTOï¼{@code id} å¿
é¡»éç©ºï¼ |
| | | * @return true = æ´æ°æå |
| | | */ |
| | | boolean updatePendingSubtask(VisitPendingSubtaskDto pending); |
| | | |
| | | /** |
| | | * æ¥"ææ£è
+ æ taskid"䏿æ {@code sendstate=2}ï¼å¾
æ§è¡ï¼çåä»»å¡ï¼ç¨äºåå
¥é¢å»éå¤å®ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#writeInSubTask} L760-764 ä¸ |
| | | * {@code #dealInHospInfo} L1325-1328 ç |
| | | * {@code selectServiceSubtaskList(new ServiceSubtaskEntity(patid, sendstate=2, taskid))}ã |
| | | * |
| | | * @param patid æ£è
æ¡£æ¡ID |
| | | * @param taskid ä»»å¡IDï¼{@code dealInHospInfo} 飿¡é¾è·¯ä¼ {@code null}ï¼ææ£è
å
¨éæ¥ï¼ |
| | | * @return å¾
æ§è¡å任塿è¦åè¡¨ï¼æ æ°æ®è¿å空å表ï¼<b>ä¸è¿å null</b> |
| | | */ |
| | | List<VisitPendingSubtaskDto> findPendingSubtasks(Long patid, Long taskid); |
| | | |
| | | /** |
| | | * åä»»å¡çãæ§è¡æ¹å¼æç»ãJSON 串ï¼å {@code serviceTask.preachformDesc}ï¼ã |
| | | * <p> |
| | | * è¿ç§»å¯¹åºï¼{@code PatMedInhospServiceImpl#addServiceSubtaskPreachform} L1063-1068 ââ |
| | | * å®å
{@code selectServiceTaskByTaskid(taskid)} åå°ä»»å¡ï¼å读 {@code getPreachformDesc()}ã |
| | | * <p> |
| | | * <b>为ä»ä¹ä¸å¤ç¨ {@link #findPublishedLongTask(Long)}</b>ï¼åè
带 {@code sendState=2} æ¡ä»¶ |
| | | * ï¼åªè¦"å·²åå¸"çä»»å¡ï¼ï¼èè¿éåå®ç°ç¨çæ¯ {@code selectServiceTaskByTaskid} |
| | | * ï¼<b>ä¸å¸¦ sendState æ¡ä»¶</b>ï¼ââ æ¢æåè
伿¹å"任塿¥å¾å°/æ¥ä¸å°"ç夿ã |
| | | * æä»¥å»æåå¼æä¸¤ä¸ªæ¹æ³ã |
| | | * |
| | | * @param taskid ä»»å¡ID |
| | | * @return {@code preachformDesc}ï¼ä»»å¡ä¸åå¨æè¯¥åæ®µä¸ºç©ºæ¶è¿å {@code null} |
| | | */ |
| | | String findPreachformDesc(Long taskid); |
| | | |
| | | /** |
| | | * å¤æææ£è
æ¯å¦åå¨ãæå®ç¶æ + æå®æå¡ç±»åãçé访åä»»å¡ã |
| | | * <p> |
| | | * åªè¿å"ææ²¡æ"ï¼ä¸è¿åå表 ââ è°ç¨æ¹ï¼é¨è¯å表å¯åï¼åªç¨å®æ¥ç½® |
| | | * {@code serverState="1"}ï¼ä¸éè¦å任塿ç»ã |
| | | * |
| | | * <h3>åå®ç°å¯¹åº</h3> |
| | | * é¨è¯ {@code PatMedOuthospServiceImpl#selectPatMedOuthospList} L108-117ï¼ |
| | | * <pre> |
| | | * ServiceSubtaskEntity v = new ServiceSubtaskEntity(); |
| | | * v.setPatid(patMedOuthosp1.getPatid()); |
| | | * v.setSendstates(Arrays.asList(1L, 2L, 3L)); |
| | | * v.setServiceType("3"); |
| | | * List<ServiceSubtask> list = serviceSubtaskMapper.selectServiceSubtaskBySendstate(v); |
| | | * if (!CollectionUtils.isEmpty(list)) patMedOuthosp1.setServerState("1"); |
| | | * </pre> |
| | | * |
| | | * <h3>â ï¸ ä¸ {@link #findPendingSubtasks(Long, Long)} çåºå«ï¼å«æ··ç¨ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th></th><th>æ¬æ¹æ³</th><th>findPendingSubtasks</th></tr> |
| | | * <tr><td>è¿æ»¤æ¡ä»¶</td><td>{@code sendstate IN (...)} + {@code service_type}</td> |
| | | * <td>åºå® {@code sendstate = 2}</td></tr> |
| | | * <tr><td>æ¯å¦æ taskid</td><td><b>å¦</b>ï¼è·¨è¯¥æ£è
ææä»»å¡ï¼</td><td>æ¯ï¼å¯éï¼</td></tr> |
| | | * <tr><td>åºå± Mapper æ¹æ³</td><td>{@code selectServiceSubtaskBySendstate}</td> |
| | | * <td>{@code selectServiceSubtaskList}</td></tr> |
| | | * </table> |
| | | * 两è
æ¥çæ¯<b>ä¸åå£å¾</b>ï¼ä¸è½äºç¸æ¿ä»£ã |
| | | * |
| | | * @param patid æ£è
æ¡£æ¡ID |
| | | * @param sendstates åä»»å¡ç¶æéåï¼é¨è¯ä¼ 1/2/3ï¼ï¼ä¸ºç©ºåéåä¸ºä¸æç¶æè¿æ»¤ |
| | | * @param serviceType æå¡ç±»åï¼é¨è¯ä¼ {@code "3"}ï¼ï¼ä¸º null åä¸è¿æ»¤ |
| | | * @return true = è³å°åå¨ä¸æ¡ |
| | | */ |
| | | boolean existsSubtaskWithStates(Long patid, java.util.List<Long> sendstates, String serviceType); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * å®£ææ¨¡åéè¦çãå¨é¢æ£è
+ å®£ææ å¿ä½ãåªè¯»è¡ã |
| | | * |
| | | * <h3>æ¥æº</h3> |
| | | * è¿ç§»å {@code PatMedInhospServiceImpl#dealOutHospInfo} ç¨ |
| | | * {@code patMedInhospMapper.selectPatMedInhospList(pmks)} åè¿æ¹æ£è
ï¼ |
| | | * å
¶ä¸ {@code pmks} åå«è®¾äºï¼ |
| | | * <ul> |
| | | * <li>ç§å®¤ç»´åº¦ï¼{@code deptcheck_flag="0"} + {@code inhospstate="1"} + {@code fuflag="1"}ï¼</li> |
| | | * <li>ç
åºç»´åº¦ï¼{@code in_wardcheck_flag="0"} + {@code inhospstate="1"} + {@code fuflag="1"} |
| | | * ï¼å¹¶ä¸æ {@code inDeptcheckFlag}/{@code deptcheckFlag} ç½® nullï¼ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>â ï¸ patid æ¯ Long</h3> |
| | | * {@code pat_med_inhosp.patid} ä¸ {@code PatMedInhosp.patid}ï¼{@code PatMedInhosp.java:186}ï¼ |
| | | * 齿¯ {@code Long}ï¼{@code PatArchive.id}ï¼{@code PatArchive.java:31}ï¼ä¹æ¯ {@code Long}ã |
| | | * è¿ç§»å {@code patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid())} |
| | | * ä¼ çå°±æ¯è¿ä¸ª Longã |
| | | * |
| | | * @see com.ruoyi.common.core.service.PublicityDataPort#findInHospForPublicity(String) |
| | | */ |
| | | public class InHospPublicityRowDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** åºå
¥é¢è®°å½IDï¼å inhospidï¼ */ |
| | | private Long inhospid; |
| | | |
| | | /** æ£è
æ¡£æ¡IDï¼å patidï¼Longï¼ */ |
| | | private Long patid; |
| | | |
| | | /** æºæIDï¼å orgidï¼æ¥å®£æä»»å¡æ¶è¦ç¨ï¼ */ |
| | | private String orgid; |
| | | |
| | | /** å
¥é¢ç§å®¤ç¼ç ï¼å deptcodeï¼ç§å®¤ç»´åº¦ç¨ type=4 æ¥å®£æä»»å¡ï¼ */ |
| | | private String deptcode; |
| | | |
| | | /** å
¥é¢ç
åºç¼ç ï¼å hospitaldistrictcodeï¼ç
åºç»´åº¦ç¨ type=5 æ¥å®£æä»»å¡ï¼ */ |
| | | private String hospitaldistrictcode; |
| | | |
| | | /** |
| | | * å½åè®°å½ç {@code long_task_reason}ã |
| | | * <p> |
| | | * ãç§å®¤/ç
åºæªé
置宣æä»»å¡ãæ¶ï¼åå®ç°çåæ³æ¯ |
| | | * <b>éæ°æ inhospid æ¥ä¸æ¬¡è®°å½</b>åæå·²æ reason æ¼ä¸æ°ææ¡åå |
| | | * ï¼L356-359 / L399-402ï¼ãæ¬è¿åç± {@link com.ruoyi.common.core.service.PublicityDataPort#appendFlagReason} |
| | | * 䏿¬¡å®æ"读æ§å¼ + æ¼æ¥ + åå"ï¼æä»¥è¿ä¸ªå段ç±<b>端å£å®ç°</b>å
³å¿ï¼ |
| | | * å®£ææ¨¡ååªä¼ "è¦è¿½å ä»ä¹"ã |
| | | */ |
| | | private String longTaskReason; |
| | | |
| | | /** è¯åç¼ç 串ï¼éå·åéï¼å medicalCodeï¼ââ ä»
è¯å宣æç¨ */ |
| | | private String medicalCode; |
| | | |
| | | /** è¯åå称串ï¼éå·åéï¼å medicalNameï¼ââ ä»
è¯å宣æç¨ */ |
| | | private String medicalName; |
| | | |
| | | /** è¯åå
¬å¸ä¸²ï¼éå·åéï¼å medicalCompanyï¼ââ ä»
è¯å宣æç¨ */ |
| | | private String medicalCompany; |
| | | |
| | | public Long getInhospid() { |
| | | return inhospid; |
| | | } |
| | | |
| | | public void setInhospid(Long inhospid) { |
| | | this.inhospid = inhospid; |
| | | } |
| | | |
| | | public Long getPatid() { |
| | | return patid; |
| | | } |
| | | |
| | | public void setPatid(Long patid) { |
| | | this.patid = patid; |
| | | } |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getDeptcode() { |
| | | return deptcode; |
| | | } |
| | | |
| | | public void setDeptcode(String deptcode) { |
| | | this.deptcode = deptcode; |
| | | } |
| | | |
| | | public String getHospitaldistrictcode() { |
| | | return hospitaldistrictcode; |
| | | } |
| | | |
| | | public void setHospitaldistrictcode(String hospitaldistrictcode) { |
| | | this.hospitaldistrictcode = hospitaldistrictcode; |
| | | } |
| | | |
| | | public String getLongTaskReason() { |
| | | return longTaskReason; |
| | | } |
| | | |
| | | public void setLongTaskReason(String longTaskReason) { |
| | | this.longTaskReason = longTaskReason; |
| | | } |
| | | |
| | | public String getMedicalCode() { |
| | | return medicalCode; |
| | | } |
| | | |
| | | public void setMedicalCode(String medicalCode) { |
| | | this.medicalCode = medicalCode; |
| | | } |
| | | |
| | | public String getMedicalName() { |
| | | return medicalName; |
| | | } |
| | | |
| | | public void setMedicalName(String medicalName) { |
| | | this.medicalName = medicalName; |
| | | } |
| | | |
| | | public String getMedicalCompany() { |
| | | return medicalCompany; |
| | | } |
| | | |
| | | public void setMedicalCompany(String medicalCompany) { |
| | | this.medicalCompany = medicalCompany; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 鍿¥è¯é访ä¸ç¨è稿ï¼{@link VisitSubtaskDraft} çæ©å±ï¼ã |
| | | * |
| | | * <h3>åªæ¾"ç¶ç±»ççæ²¡æ"çåæ®µ</h3> |
| | | * é¨è¯ç {@code boxedServiceSubtask}ï¼å {@code PatMedOuthospServiceImpl} L525-581ï¼ |
| | | * å¾åä»»å¡ä¸è®¾ 35 个å¼ï¼å
¶ä¸<b>ç»å¤§å¤æ°ç¶ç±»å·²æçä»·åæ®µ</b>ï¼ |
| | | * <table border="1"> |
| | | * <tr><th>é¨è¯åæ³</th><th>ç¶ç±»å段</th></tr> |
| | | * <tr><td>{@code patArchive.name}</td><td>{@code sendname}</td></tr> |
| | | * <tr><td>{@code patArchive.idcardno}</td><td>{@code sfzh}</td></tr> |
| | | * <tr><td>{@code patArchive.telcode}ï¼ç©ºå {@code relativetelcode}ï¼</td><td>{@code phone}</td></tr> |
| | | * <tr><td>{@code patArchive.sex} / {@code age}</td><td>{@code sex} / {@code age}</td></tr> |
| | | * <tr><td>{@code patMedOuthosp.id}</td><td>{@code inhospid}</td></tr> |
| | | * </table> |
| | | * æä»¥æ¬ç±»<b>åª</b>è¡¥ä¸ä¸ªç¶ç±»ç¡®å®æ²¡æçåæ®µï¼ä¸åéå¤å®ä¹ ââ |
| | | * éå¤å®ä¹ä¼è®©"åªä¸ªåæ®µææ¯çæ£è½åºç"åå¾ä¸æ¸
æ¥ã |
| | | * |
| | | * <h3>为ä»ä¹è¦åç¬ä¸ä¸ªç±»ï¼è䏿¯å¾ VisitSubtaskDraft éå åæ®µï¼</h3> |
| | | * {@code insertServiceSubtask} æ 39 个æ¡ä»¶åï¼{@code <if test="xxx != null">}ï¼ã |
| | | * ç»å
±äº«ç {@code VisitSubtaskDraft} å åæ®µï¼å°±å¿
须忶å³å®"è¦ä¸è¦å¨ |
| | | * {@code VisitTaskCreateApiBridge#toSubtaskEntity} éè¡¥æ å°"ââ |
| | | * è¡¥äºæ å°ä¼è®©<b>åºå
¥é¢é£æ¡å·²éªæ¶çåå
¥è·¯å¾å¤åå</b>ã |
| | | * æä»¥æ"å¦å»ºé¨è¯ä¸ç¨è稿"å¤çï¼{@code VisitSubtaskDraft} ä¸åºå
¥é¢é¾è·¯<b>ä¸è¡ä¸å¨</b>ï¼ |
| | | * æ¡¥éç¨ {@code instanceof} åæµæ å°ã |
| | | * |
| | | * @see VisitSubtaskDraft |
| | | * @see com.ruoyi.common.core.service.VisitTaskCreateApi#insertSubtask(VisitSubtaskDraft) |
| | | */ |
| | | public class OuthospSubtaskDraft extends VisitSubtaskDraft { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * é¨è¯å·ï¼å {@code patMedOuthosp.outhospno} â è½åºå° {@code service_subtask.hospno}ï¼ã |
| | | * <p> |
| | | * â ï¸ ç¶ç±» {@link VisitSubtaskDraft} <b>没æ</b> {@code hospno} åæ®µ |
| | | * ï¼{@code ServiceSubtask} å®ä½æï¼ç¶ç±»æ¼äºï¼ï¼æä»¥è¿éæ¯å¿
éçè¡¥å
ã |
| | | */ |
| | | private String hospno; |
| | | |
| | | /** |
| | | * é¨è¯å°±è¯æ¥æï¼å {@code patMedOuthosp.admitdate}ï¼ã |
| | | * <p> |
| | | * ç¶ç±»æ²¡æå¯¹åºå段ï¼ä½å®æä¸¤å¤ç¨éï¼ |
| | | * <ol> |
| | | * <li>è½åºå° {@code admindate} åï¼</li> |
| | | * <li>ä½ä¸º {@code longSendTime} ç计ç®åºå |
| | | * ï¼{@code addDays(admitdate, sendDay)}ï¼ã</li> |
| | | * </ol> |
| | | * ç¨é 2 ç±è°ç¨æ¹èªå·±ç®å®åè¿ç¶ç±»ç {@code longSendTime}/{@code visitTime}ï¼ |
| | | * æ¬å段åªä¸ºç¨é 1ï¼è½åºï¼ã |
| | | */ |
| | | private Date admitdate; |
| | | |
| | | /** |
| | | * é¨è¯æå®çé访æ¶é´ï¼å {@code patMedOuthosp.fudate}ï¼ã |
| | | * <p> |
| | | * é空æ¶ç±<b>è°ç¨æ¹</b>ç¨å®è¦çæ {@code sendDay} ç®åºçæ¶é´å¹¶åè¿ç¶ç±»ç |
| | | * {@code longSendTime}/{@code visitTime} ââ æ¬å段ä¸è½åºï¼åªä½ä¸º"è°ç¨æ¹ç®è¿å®"çççè½½ä½ã |
| | | * <p> |
| | | * â ï¸ è¥æå¤©è¦è®©æ¡¥èªå·±åä¸è¿ä¸ªè¦ç计ç®ï¼å¿
é¡»åæ¶æ¹ |
| | | * {@code toSubtaskEntity} ä¸åºå
¥é¢ä¾§ç对åºç¨æ³ï¼ä¸å¯åªæ¹ä¸è¾¹ã |
| | | */ |
| | | private Date fudate; |
| | | |
| | | /** |
| | | * 宿æ¶é´ï¼åå®ç°ç {@code setFinishtime}ï¼ã |
| | | * <p> |
| | | * é¨è¯ {@code boxedServiceSubtask} éæ²¡æè®¾å®ï¼å®é
设置å®çæ¯<b>åæ§åä»»å¡</b>飿¡è·¯å¾ |
| | | * ï¼èµ° {@code VisitPendingSubtaskDto#finishtime}ï¼ã |
| | | * æ¬å段ä¿çæ¯ä¸ºäºè®©"è稿ä¹è½æ¿è½½ finishtime"è¿ä¸è½åå¯ç¨ï¼ |
| | | * æ¡¥ä¾§å¯¹åºæ å° {@code e.setFinishtime(...)}ã |
| | | */ |
| | | private Date finishtime; |
| | | |
| | | /** |
| | | * å
¥é¢/é¨è¯æ è¯ï¼å {@code serviceSubtask.setHospType("1")}ï¼ã |
| | | * <p> |
| | | * â ï¸ åå®ç°æ¯<b>硬ç¼ç "1"</b>ï¼å¹¶ä¸è¯» {@code serviceTask.getHospType()}ï¼ |
| | | * åºå
¥é¢ä¾§åç±»ä½ç½®ç¡¬ç¼ç "2"ã宣æä¾§ "6"ã |
| | | * <p> |
| | | * â ï¸ æ³¨æ {@code VisitLongTaskDto} éé£ä¸ª {@code hosType}ï¼å°ä¸ª pï¼æ¯åå²ç¬è¯¯ï¼ |
| | | * ä¸å
¨ä»æ 人读åå® ââ ä¸è¦æå®ä¸è¿éç {@code hospType} 混为ä¸è°ã |
| | | */ |
| | | private String hospType; |
| | | |
| | | public String getHospno() { |
| | | return hospno; |
| | | } |
| | | |
| | | public void setHospno(String hospno) { |
| | | this.hospno = hospno; |
| | | } |
| | | |
| | | public Date getAdmitdate() { |
| | | return admitdate; |
| | | } |
| | | public void setAdmitdate(Date admitdate) { |
| | | this.admitdate = admitdate; |
| | | } |
| | | |
| | | public Date getFudate() { |
| | | return fudate; |
| | | } |
| | | |
| | | public void setFudate(Date fudate) { |
| | | this.fudate = fudate; |
| | | } |
| | | |
| | | public Date getFinishtime() { |
| | | return finishtime; |
| | | } |
| | | |
| | | public void setFinishtime(Date finishtime) { |
| | | this.finishtime = finishtime; |
| | | } |
| | | |
| | | public String getHospType() { |
| | | return hospType; |
| | | } |
| | | |
| | | public void setHospType(String hospType) { |
| | | this.hospType = hospType; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä½é¢ãé¨è¯ãåºé¢ 请æ±å
¥å |
| | | * |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @ApiModel(value = "PatMedReq", description = "ä½é¢ãé¨è¯ãåºé¢è¯·æ±å
¥å对象") |
| | | @Data |
| | | public class PatMedReq extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * é¨è¯(为空å䏿¥) |
| | | */ |
| | | @ApiModelProperty(value = "é¨è¯(为空å䏿¥)") |
| | | private Integer mz; |
| | | |
| | | /** |
| | | * ä½é¢(为空å䏿¥) |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢(为空å䏿¥)") |
| | | private Integer zy; |
| | | |
| | | /** |
| | | * åºé¢(为空å䏿¥) |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢(为空å䏿¥)") |
| | | private Integer cy; |
| | | |
| | | /** |
| | | * å¼å§æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å¼å§æ¶é´") |
| | | private Date startDate; |
| | | |
| | | /** |
| | | * ç»ææ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "ç»ææ¶é´") |
| | | private Date endDate; |
| | | |
| | | /** |
| | | * æ¯æå¤ä¸ªç§å®¤ |
| | | */ |
| | | @ApiModelProperty(value = "ç§å®¤") |
| | | private List<String> deptcodeList; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * ä½é¢ãé¨è¯ãåºé¢ 请æ±å
¥å |
| | | * |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @ApiModel(value = "PatMedRes", description = "ä½é¢ãé¨è¯ãåºé¢è¯·æ±è¿å对象") |
| | | @Data |
| | | public class PatMedRes { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * ç§å®¤ |
| | | */ |
| | | @ApiModelProperty(value = "ç§å®¤") |
| | | private String deptname; |
| | | |
| | | |
| | | /** |
| | | * 人次 |
| | | */ |
| | | @ApiModelProperty(value = "人次") |
| | | private Integer rc; |
| | | |
| | | /** |
| | | * äººæ° |
| | | */ |
| | | @ApiModelProperty(value = "人æ°") |
| | | private Integer rs; |
| | | |
| | | /** |
| | | * 馿¬¡éè®¿äººæ° |
| | | */ |
| | | @ApiModelProperty(value = "馿¬¡é访人æ°") |
| | | private Integer scsf; |
| | | |
| | | /** |
| | | * 忬¡éè®¿äººæ° |
| | | */ |
| | | @ApiModelProperty(value = "忬¡é访人æ°") |
| | | private Integer zcsf; |
| | | |
| | | /** |
| | | * ä¸ç
éè®¿äººæ° |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ç
é访人æ°") |
| | | private Integer zbsf; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 䏿¡å½ä¸ç宣æä»»å¡å¹é
ï¼{@link com.ruoyi.common.core.service.PublicityDataPort} çè¿åå
ç´ ï¼ã |
| | | * |
| | | * <p>åªå¸¦ä¸¤ä¸ªå段ï¼å ä¸ºå®£ææ¨¡åæ¿å°"åªä¸ªæ£è
å½ä¸åªä¸ªä»»å¡"ä¹åï¼ |
| | | * 建åä»»å¡è¿ä»¶äº<b>æ´ä¸ªåè°</b> {@code ruoyi-inhospvisit} |
| | | * ï¼èµ° {@link com.ruoyi.common.core.service.PublicitySubtaskApi#generatePublicitySubtask}ï¼ï¼ |
| | | * ç±é£è¾¹ç»ä¸å®æ {@code boxedServiceSubtask} ç type=0/4/5 åæ¯ä¸ check_flag ååã |
| | | * è¿æ · {@code boxedServiceSubtask} å
¨ä»åªæä¸ä»½å®ç°ï¼ä¸ä¼åºç°ä¸¤ä»½é»è¾æ¼ç§»ã |
| | | * |
| | | * @see com.ruoyi.common.core.service.PublicityDataPort#findDeptPublicityTaskIds |
| | | * @see com.ruoyi.common.core.service.PublicityDataPort#findMedicalPublicityTaskIds |
| | | */ |
| | | public class PublicityTaskMatchDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** å½ä¸çé¿æå®£æä»»å¡IDï¼å {@code ServiceTaskdept.taskId} / {@code ServiceTaskmedical.taskId}ï¼ */ |
| | | private Long taskId; |
| | | |
| | | /** 该æ¡è®°å½å¯¹åºçåºå
¥é¢è®°å½IDï¼å {@code PatMedInhosp.inhospid}ï¼ */ |
| | | private Long inhospid; |
| | | |
| | | public Long getTaskId() { |
| | | return taskId; |
| | | } |
| | | |
| | | public void setTaskId(Long taskId) { |
| | | this.taskId = taskId; |
| | | } |
| | | |
| | | public Long getInhospid() { |
| | | return inhospid; |
| | | } |
| | | |
| | | public void setInhospid(Long inhospid) { |
| | | this.inhospid = inhospid; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 䏿¡ãå·²åå¸çé¿æé访任å¡ãçå¹é
ç»æã |
| | | * |
| | | * <h3>为ä»ä¹åªæè¿ä¹å ä¸ªåæ®µ</h3> |
| | | * 宿¿ä»£çæ¯ smartor ç {@code ServiceTaskdept} / {@code ServiceTaskdiag} / |
| | | * {@code ServiceTaskoper} / {@code ServiceTaskmedical} å个å®ä½å¨"ä»»å¡å¹é
"è¿ä¸ç¨éä¸çè¿åã |
| | | * 宿µè°ç¨æ¹ï¼é¨è¯ / ææ¯é访çç¼æé»è¾ï¼**åªè¯» {@code taskId}**ï¼ |
| | | * å
¶ä½åæ®µåªæ¯"å¹é
å°äºåªä¸è¡"çåæ¾ï¼ç¨äºæ¥å¿ä¸ææ¥ã |
| | | * |
| | | * <p>å æ¤æ¬ DTO 廿<b>ä¸</b>æææå®ä½çåæ®µé½å è¿æ¥ï¼é£æ ·ä¼äº§ç大éæä¸º null çåæ®µï¼ |
| | | * è®©åæ¥è
以为"è¿éçåæ®µé½è¯¥è¢«å¡«"ãå°æ¥è¥æä¸ªè°ç¨æ¹ççéè¦é¢å¤çå¹é
åï¼ |
| | | * åºæéæ°å¢æç¡®è¯ä¹çåæ®µï¼è䏿¯æå®ä½æ´ä¸ªæ¬è¿æ¥ã |
| | | * |
| | | * <h3>â ï¸ ååä¾èµçº¢çº¿</h3> |
| | | * æ¬ç±»<b>ä¸å¾</b>å¼ç¨ {@code com.smartor.*}ãå¥çº¦æ¾å¨ ruoyi-common çå
¨é¨æä¹å°±æ¯ |
| | | * 让 ruoyi-outpatientvisit / ruoyi-othervisit åªä¾èµ common å°±è½å·¥ä½ï¼ |
| | | * 䏿¦å¼å
¥ smartor ç±»åï¼å个é访模åé½ä¼ååä¾èµ smartorï¼Maven ç´æ¥æä¸æã |
| | | * |
| | | * @see ServiceTaskMatchApi |
| | | */ |
| | | public class ServiceTaskMatchDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** å¹é
å°çä»»å¡IDï¼{@code service_task*.task_id}ï¼ââ è°ç¨æ¹å¯ä¸çæ£ä½¿ç¨çåæ®µ */ |
| | | private Long taskId; |
| | | |
| | | /** |
| | | * å¹é
è¡ç主é®ï¼{@code service_task*.id}ï¼ã |
| | | * <p>ä»
ç¨äºæ¥å¿/ææ¥ï¼ä¸åä¸ä¸å¡å¤æã |
| | | */ |
| | | private Long id; |
| | | |
| | | /** ä»»å¡åï¼{@code task_name}ï¼ï¼ä»
ç¨äºæ¥å¿ */ |
| | | private String taskName; |
| | | |
| | | /** æ¯å¦é¿æä»»å¡ï¼{@code longtask}ï¼ï¼åæ¥è¯¢åºå®ä¼ 1 */ |
| | | private Long longtask; |
| | | |
| | | /** æå¡ç±»åï¼{@code service_type}ï¼ï¼åæ¥è¯¢æç»´åº¦ä¼ ä¸åå¼ */ |
| | | private String serviceType; |
| | | |
| | | /** |
| | | * å®é
åä¸å¹é
çé£ä¸ªç¼ç å¼ï¼åæ¾ç¨ï¼ã |
| | | * <p>æç»´åº¦å嫿¯ï¼{@code dept_code} / {@code icd10code} / {@code opcode} / |
| | | * {@code medical_code}ãè°ç¨æ¹ä¸è¬ä¸è¯»å®ï¼ä»
ä¾¿äºæ¥å¿ä¸æ¢éæ¯å¯¹ã |
| | | */ |
| | | private String matchCode; |
| | | |
| | | public Long getTaskId() { |
| | | return taskId; |
| | | } |
| | | |
| | | public void setTaskId(Long taskId) { |
| | | this.taskId = taskId; |
| | | } |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getTaskName() { |
| | | return taskName; |
| | | } |
| | | |
| | | public void setTaskName(String taskName) { |
| | | this.taskName = taskName; |
| | | } |
| | | |
| | | public Long getLongtask() { |
| | | return longtask; |
| | | } |
| | | |
| | | public void setLongtask(Long longtask) { |
| | | this.longtask = longtask; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public String getMatchCode() { |
| | | return matchCode; |
| | | } |
| | | |
| | | public void setMatchCode(String matchCode) { |
| | | this.matchCode = matchCode; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "ServiceTaskMatchDto{taskId=" + taskId + ", id=" + id |
| | | + ", taskName='" + taskName + "', longtask=" + longtask |
| | | + ", serviceType='" + serviceType + "', matchCode='" + matchCode + "'}"; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import com.ruoyi.common.core.service.VisitTaskCreateApi; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模å对å¤è¿åçã忬¡é访åä»»å¡è稿ãã |
| | | * <p> |
| | | * ç¨äº {@code RyTask#dealSubtaskDeadline}ï¼é访è¶
æ¶åçæ"忬¡é访"ï¼ï¼ |
| | | * åå®ç°å
{@code selectPatMedInhospList} æ {@code inhospid} 忥åºå
¥é¢è®°å½ã |
| | | * åè° {@code boxedServiceSubtask(...)} ç»è£
åä»»å¡ï¼ç¶åç± {@code RyTask} èªå·±è¡¥ |
| | | * {@code upid / visitCount / visitType / visitDeptCode} çåæ®µåè½åºã |
| | | * <p> |
| | | * æ¬è¿ååºå
¥é¢è®°å½ä¸ç»è£
é»è¾é½å¨ {@code ruoyi-inhospvisit} éï¼ |
| | | * æä»¥æ"ç»è£
ç»æ"ä»¥æ¬ DTO è¿åç»è°ç¨æ¹ï¼ç±è°ç¨æ¹ç»§ç»è¡¥èªå·±çåæ®µå¹¶è½åº |
| | | * ï¼è½åºæ¬èº«èµ° {@link VisitTaskCreateApi#createSubtask}ï¼ã |
| | | * |
| | | * @see com.ruoyi.inhospvisit.api.InhospVisitApi#buildAgainVisitDraft(Long, Long, String, Integer) |
| | | */ |
| | | public class VisitAgainSubtaskDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** ç»è£
好çåä»»å¡è稿ï¼åºå
¥é¢è®°å½æ¥ä¸å°æ¶ä¸º {@code null} */ |
| | | private VisitSubtaskDraft draft; |
| | | |
| | | /** |
| | | * æ¯å¦æ¾å°äºå¯¹åºçåºå
¥é¢è®°å½ã |
| | | * <p> |
| | | * â ï¸ åå®ç°å¨æ¥ä¸å°æ¶æ¯ {@code continue} è·³è¿è¯¥æ¡åä»»å¡ |
| | | * ï¼{@code RyTask.java:2061-2066}ï¼ï¼è°ç¨æ¹å¿
é¡»ä¿æåæ ·çè¯ä¹ã |
| | | */ |
| | | private boolean inhospFound; |
| | | |
| | | /** æªæ¾å°åºå
¥é¢è®°å½çåå ï¼ä»
ç¨äºæ¥å¿ï¼ä¸è½åºï¼ */ |
| | | private String missReason; |
| | | |
| | | public VisitSubtaskDraft getDraft() { |
| | | return draft; |
| | | } |
| | | |
| | | public void setDraft(VisitSubtaskDraft draft) { |
| | | this.draft = draft; |
| | | } |
| | | |
| | | public boolean isInhospFound() { |
| | | return inhospFound; |
| | | } |
| | | |
| | | public void setInhospFound(boolean inhospFound) { |
| | | this.inhospFound = inhospFound; |
| | | } |
| | | |
| | | public String getMissReason() { |
| | | return missReason; |
| | | } |
| | | |
| | | public void setMissReason(String missReason) { |
| | | this.missReason = missReason; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * æ£è
æ¡£æ¡çé访侧åªè¯»è¡ï¼{@code pat_archive}ï¼ã |
| | | * |
| | | * <h3>åæ®µæ¥æºï¼@ b25c3b51ï¼</h3> |
| | | * 精确çäº {@code boxedServiceSubtask} / {@code boxedServiceSubtaskForOp} 对 |
| | | * {@code patArchive} ç getter 访é®éåï¼9 个ï¼ï¼ |
| | | * <pre> |
| | | * age id idcardno name notrequiredFlag notrequiredreason relativetelcode sex telcode |
| | | * </pre> |
| | | * å
¶ä½ {@code patArchive} éçåæ®µï¼ç
åãè¯æãå°åâ¦ï¼å¨é访ç»è£
é<b>ä¸ä¸ªé½æ²¡ç¨å°</b>ï¼ |
| | | * æä»¥å»æä¸æ¬ ââ æ¬è¡åªæå¡é访ï¼ä¸æ¯"PatArchive ç坿¬"ã |
| | | * |
| | | * <h3>â ï¸ age çåæ³è¦å°å¿</h3> |
| | | * smartor ç {@code selectPatMedInhospList} é {@code age} æ¯ |
| | | * {@code a.age}ï¼æ {@code CONCAT(a.age, a.age_unit)}ï¼ï¼è {@code PatArchive.age} æ¯ {@code Long}ã |
| | | * æ¬è¿æ¶å¿
é¡»<b>éåç
§æåå表达å¼</b>ï¼å¦åå¹´é¾ä¼ä»"38"åæ"38å²"è¿ç±»ä¸å¯è§å·®å¼ã |
| | | * æ¬è¡æ"æ¥è¯¢éæä¹åå°±æä¹æ å°"å¤çï¼å¹¶å¨ |
| | | * {@code verify_inhospvisit_sql_expansion.py} ééæ¡æ¯å¯¹ SELECT 忏
åã |
| | | */ |
| | | public class VisitArchiveRow implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** æ£è
æ¡£æ¡IDï¼å patArchive.idï¼Longï¼ */ |
| | | private Long id; |
| | | |
| | | /** å§å */ |
| | | private String name; |
| | | |
| | | /** 身份è¯å· */ |
| | | private String idcardno; |
| | | |
| | | /** ææºå· */ |
| | | private String telcode; |
| | | |
| | | /** äº²å±ææºå·ï¼telcode 为空æ¶å
åºï¼ */ |
| | | private String relativetelcode; |
| | | |
| | | /** æ§å« */ |
| | | private Long sex; |
| | | |
| | | /** å¹´é¾ */ |
| | | private Long age; |
| | | |
| | | /** |
| | | * åºçæ¥æã |
| | | * <p> |
| | | * â ï¸ é¨è¯å表å¯åéè¦å®ï¼åå®ç°ç¨ {@code patArchive.getBirthdate()} <b>ç°ç®</b>ç²¾ç¡®å¹´é¾ |
| | | * ï¼å¹´/æ/æ¥ä¸æ®µï¼ï¼è䏿¯ç´æ¥è¯» {@code age} åãåºå
¥é¢ä¾§ä¸ç¨è¿ä¸ªåæ®µï¼ |
| | | * ä½ä¸¤ä¸ªæ¨¡åå
±ç¨æ¬è¡ç±»åï¼æ
ä¸å¹¶å¸¦ä¸ ââ åªè¯»æ¥è¯¢å¤åä¸åï¼ä¸å½±åå·²æåæ¯ã |
| | | */ |
| | | private Date birthdate; |
| | | |
| | | /** |
| | | * å¹´é¾åä½ï¼"å²"/"æ"/"天"ï¼ã |
| | | * <p> |
| | | * â ï¸ è¿ä¸ä¸ª {@code age*} åæ®µï¼å« {@link #age2} / {@link #ageUnit2}ï¼å¨å |
| | | * {@code PatArchive} 鿝<b>å¯åçä¸é´åé</b>ï¼é¨è¯å表å¯åè° {@code calculateAge(...)} |
| | | * ç®åºå䏿®µåæå卿¡£æ¡å¯¹è±¡ä¸ï¼ç´§æ¥çæ¼æé¨è¯è®°å½ç {@code age} å符串ã |
| | | * <b>å®ä»¬ä¸è½åºãä¹ä¸åä¸ä»»ä½æä¹
å</b>ï¼æ¤å¤ä»
ä¸ºå¿ å®ä¿çåé»è¾èåå¨ã |
| | | */ |
| | | private String ageUnit; |
| | | |
| | | /** å¹´é¾ç¬¬äºæ®µï¼ä¸ {@link #age} åæ®µè¯ä¹ï¼è§ {@link #ageUnit} ç说æï¼ */ |
| | | private Long age2; |
| | | |
| | | /** å¹´é¾ç¬¬äºæ®µçåä½ï¼è§ {@link #ageUnit} ç说æï¼ */ |
| | | private String ageUnit2; |
| | | |
| | | /** å
é访æ è®°ï¼"1" = ä¸éè¦é访ï¼å notrequired_flagï¼ */ |
| | | private String notrequiredFlag; |
| | | |
| | | /** å
é访åå ï¼å notrequired_reasonï¼ */ |
| | | private String notrequiredreason; |
| | | |
| | | /** 建档æ¶é´ï¼ä»
æ¥å¿/ææ¥ç¨ï¼ */ |
| | | private Date createTime; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public String getIdcardno() { |
| | | return idcardno; |
| | | } |
| | | |
| | | public void setIdcardno(String idcardno) { |
| | | this.idcardno = idcardno; |
| | | } |
| | | |
| | | public String getTelcode() { |
| | | return telcode; |
| | | } |
| | | |
| | | public void setTelcode(String telcode) { |
| | | this.telcode = telcode; |
| | | } |
| | | |
| | | public String getRelativetelcode() { |
| | | return relativetelcode; |
| | | } |
| | | |
| | | public void setRelativetelcode(String relativetelcode) { |
| | | this.relativetelcode = relativetelcode; |
| | | } |
| | | |
| | | public Long getSex() { |
| | | return sex; |
| | | } |
| | | |
| | | public void setSex(Long sex) { |
| | | this.sex = sex; |
| | | } |
| | | |
| | | public Long getAge() { |
| | | return age; |
| | | } |
| | | |
| | | public void setAge(Long age) { |
| | | this.age = age; |
| | | } |
| | | |
| | | public Date getBirthdate() { |
| | | return birthdate; |
| | | } |
| | | |
| | | public void setBirthdate(Date birthdate) { |
| | | this.birthdate = birthdate; |
| | | } |
| | | |
| | | public String getAgeUnit() { |
| | | return ageUnit; |
| | | } |
| | | |
| | | public void setAgeUnit(String ageUnit) { |
| | | this.ageUnit = ageUnit; |
| | | } |
| | | |
| | | public Long getAge2() { |
| | | return age2; |
| | | } |
| | | |
| | | public void setAge2(Long age2) { |
| | | this.age2 = age2; |
| | | } |
| | | |
| | | public String getAgeUnit2() { |
| | | return ageUnit2; |
| | | } |
| | | |
| | | public void setAgeUnit2(String ageUnit2) { |
| | | this.ageUnit2 = ageUnit2; |
| | | } |
| | | |
| | | public String getNotrequiredFlag() { |
| | | return notrequiredFlag; |
| | | } |
| | | |
| | | public void setNotrequiredFlag(String notrequiredFlag) { |
| | | this.notrequiredFlag = notrequiredFlag; |
| | | } |
| | | |
| | | public String getNotrequiredreason() { |
| | | return notrequiredreason; |
| | | } |
| | | |
| | | public void setNotrequiredreason(String notrequiredreason) { |
| | | this.notrequiredreason = notrequiredreason; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * åºå
¥é¢è®°å½çãæåæ®µæ´æ°ãè稿ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼è䏿¯ç»§ç»ç¨"å个 flag + reason"ççªæ¥å£ï¼</h3> |
| | | * 第 8 æ¥ç 3 个 {@code *ForPatient} æ¹æ³å¨å失败æ å¿ä½æ¶æ<b>ç»å¾®ä½çå®</b>çå·®å¼ï¼ |
| | | * å¿
é¡»éä¸ä¿çï¼ |
| | | * <table border="1"> |
| | | * <tr><th>æ¹æ³</th><th>ååæ³</th><th>å®é
åå
¥çå</th></tr> |
| | | * <tr><td>{@code addDeptSubTaskForPatient} æ æ¨¡æ¿åæ¯ï¼L1866-1872ï¼</td> |
| | | * <td>å¨<b>é读对象</b>ä¸ {@code setDeptcheckFlag("2")} å¹¶è¦å reasonï¼ |
| | | * æå¦ä¸¤ä¸ª flag ä»éè¯»å¯¹è±¡åæ ·å¸¦å</td> |
| | | * <td>deptcheck_flag + wardcheck_flag + diagcheck_flag + long_task_reason</td></tr> |
| | | * <tr><td>{@code addDeptSubTaskForPatient} catchï¼L1879-1885ï¼</td> |
| | | * <td>å¨<b>æ°é²å¯¹è±¡ patMedInhosp1</b> ä¸ç´æ¥ set</td> |
| | | * <td>deptcheck_flag + long_task_reason</td></tr> |
| | | * <tr><td>{@code addWardSubTaskForPatient} å¤±è´¥åæ¯ï¼L1914-1920ï¼</td> |
| | | * <td>é读对象 {@code setWardcheckFlag("2")}ï¼å¦ä¸¤ä¸ª flag åæ ·å¸¦å</td> |
| | | * <td>wardcheck_flag + deptcheck_flag + diagcheck_flag + long_task_reason</td></tr> |
| | | * <tr><td>{@code addIcd10SubTaskForPatient} 两å¤ï¼L1967-1971 / L1985-1991ï¼</td> |
| | | * <td>é读对象 {@code setDiagcheckFlag("2")} å¹¶è¦å reason</td> |
| | | * <td>diagcheck_flag + long_task_reason</td></tr> |
| | | * </table> |
| | | * çªæ¥å£ï¼{@code updateFlags(inhospid, column, value, reason)}ï¼è¡¨è¾¾ä¸äº"䏿¬¡åå¤ä¸ª flag"ï¼ |
| | | * æä»¥å è¿ä¸ªééã<b>åªæé null åæ®µä¼è¢«å</b>ï¼å¯¹åºå {@code updatePatMedInhosp} |
| | | * éæ¯ä¸ªåæ®µåèªç {@code <if test="xxx != null">}ï¼ã |
| | | * |
| | | * <h3>â ï¸ ä¸æ§æ¥å£çå
³ç³»</h3> |
| | | * è¿æ¯ {@code com.ruoyi.common.core.service.PublicityDataPort#updatePublicityFlag} çæ©å±ç |
| | | * ï¼åè
åªæå¡å®£æï¼ä¸åªç¢°ä¸ä¸ª flagï¼ã两è
å¹¶åï¼å®£æç»§ç»ç¨çªçé£ä¸ªï¼éè®¿ç¼æç¨è¿ä¸ªã |
| | | */ |
| | | public class VisitInhospUpdateDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** åºå
¥é¢è®°å½IDï¼å¿
å¡«ï¼ */ |
| | | private Long inhospid; |
| | | |
| | | /** 离é¢ç§å®¤æ å¿ä½ï¼null = 䏿¹ */ |
| | | private String deptcheckFlag; |
| | | /** 离é¢ç
åºæ å¿ä½ï¼null = 䏿¹ */ |
| | | private String wardcheckFlag; |
| | | /** ç¾ç
æ å¿ä½ï¼null = 䏿¹ */ |
| | | private String diagcheckFlag; |
| | | /** å
¥é¢ç§å®¤å®£ææ å¿ä½ï¼null = 䏿¹ */ |
| | | private String inDeptcheckFlag; |
| | | /** å
¥é¢ç
åºå®£ææ å¿ä½ï¼null = 䏿¹ */ |
| | | private String inWardcheckFlag; |
| | | /** ä»»å¡ç»æ å¿ä½ï¼null = 䏿¹ */ |
| | | private String scheduleCheckFlag; |
| | | /** è¯åå®£ææ å¿ä½ï¼null = 䏿¹ */ |
| | | private String medcheckFlag; |
| | | |
| | | /** long_task_reasonï¼null = 䏿¹ï¼å XML ç <if test="longTaskReason != null">ï¼ */ |
| | | private String longTaskReason; |
| | | |
| | | /** remarkï¼null = 䏿¹ */ |
| | | private String remark; |
| | | |
| | | public Long getInhospid() { |
| | | return inhospid; |
| | | } |
| | | |
| | | public void setInhospid(Long inhospid) { |
| | | this.inhospid = inhospid; |
| | | } |
| | | |
| | | public String getDeptcheckFlag() { |
| | | return deptcheckFlag; |
| | | } |
| | | |
| | | public void setDeptcheckFlag(String deptcheckFlag) { |
| | | this.deptcheckFlag = deptcheckFlag; |
| | | } |
| | | |
| | | public String getWardcheckFlag() { |
| | | return wardcheckFlag; |
| | | } |
| | | |
| | | public void setWardcheckFlag(String wardcheckFlag) { |
| | | this.wardcheckFlag = wardcheckFlag; |
| | | } |
| | | |
| | | public String getDiagcheckFlag() { |
| | | return diagcheckFlag; |
| | | } |
| | | |
| | | public void setDiagcheckFlag(String diagcheckFlag) { |
| | | this.diagcheckFlag = diagcheckFlag; |
| | | } |
| | | |
| | | public String getInDeptcheckFlag() { |
| | | return inDeptcheckFlag; |
| | | } |
| | | |
| | | public void setInDeptcheckFlag(String inDeptcheckFlag) { |
| | | this.inDeptcheckFlag = inDeptcheckFlag; |
| | | } |
| | | |
| | | public String getInWardcheckFlag() { |
| | | return inWardcheckFlag; |
| | | } |
| | | |
| | | public void setInWardcheckFlag(String inWardcheckFlag) { |
| | | this.inWardcheckFlag = inWardcheckFlag; |
| | | } |
| | | |
| | | public String getScheduleCheckFlag() { |
| | | return scheduleCheckFlag; |
| | | } |
| | | |
| | | public void setScheduleCheckFlag(String scheduleCheckFlag) { |
| | | this.scheduleCheckFlag = scheduleCheckFlag; |
| | | } |
| | | |
| | | public String getMedcheckFlag() { |
| | | return medcheckFlag; |
| | | } |
| | | |
| | | public void setMedcheckFlag(String medcheckFlag) { |
| | | this.medcheckFlag = medcheckFlag; |
| | | } |
| | | |
| | | public String getLongTaskReason() { |
| | | return longTaskReason; |
| | | } |
| | | |
| | | public void setLongTaskReason(String longTaskReason) { |
| | | this.longTaskReason = longTaskReason; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * å·²åå¸çãé¿æé访任å¡ãå¿«ç
§ï¼{@link com.ruoyi.common.core.service.VisitTaskCreateApi} çè¿åå¼ï¼ã |
| | | * <p> |
| | | * æ¥æºï¼å {@code ServiceTaskMapper.selectServiceTaskList(new ServiceTask(taskid, sendState=2))} |
| | | * åå°çç¬¬ä¸æ¡è®°å½ï¼è§è¿ç§»å {@code PatMedInhospServiceImpl#writeInSubTask} L686-728ï¼ã |
| | | * <p> |
| | | * â ï¸ åæ®µæ¯<b>æé访ç»è£
å®é
ç¨å°ç</b>åæ¨åºæ¥çï¼ä¸æ¯ {@code ServiceTask} çå
¨é 62 ä¸ªåæ®µã |
| | | * è¿ç§»æ¶è¥åç°æ¼å段ï¼å¿
须补å¨è¿é并忥æ¹è¿æ¸¡å®ç° ââ æ¼å段ä¼å¯¼è´ |
| | | * {@code boxedServiceSubtask} é对åºç setter éé»ä¸çæï¼ä¸æ¥éï¼ä½çº¿ä¸è¡ä¸ºåäºï¼ã |
| | | * |
| | | * @see com.ruoyi.common.core.service.VisitTaskCreateApi#findPublishedLongTask(Long) |
| | | */ |
| | | public class VisitLongTaskDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** ä»»å¡ID */ |
| | | private Long taskid; |
| | | |
| | | /** ä»»å¡åç§° */ |
| | | private String taskName; |
| | | |
| | | /** ä»»å¡ç±»åï¼"3" = éç¥ç±»ï¼å³å® visitTime æ¯å¦æå N 天ï¼è§è¿ç§»å L1188-1203ï¼ */ |
| | | private String type; |
| | | |
| | | /** æå¡ç±»åï¼"2" åºé¢é访 / "13" ä¸ç
é访 / "17" 宣æå
³æ(å
¥é¢) / "18" å
¥é¢é访 çï¼ */ |
| | | private String serviceType; |
| | | |
| | | /** é®å·æ¨¡æ¿ID */ |
| | | private Long templateid; |
| | | |
| | | /** é®å·æ¨¡æ¿åç§° */ |
| | | private String templatename; |
| | | |
| | | /** è¯é³æ¨¡æ¿IDï¼ååæ®µæ¯ Stringï¼è¿ç§»åç¨ Long.valueOf() 转æ¢ï¼ */ |
| | | private String libtemplateid; |
| | | |
| | | /** æ¨é/å鿥å移天æ°ï¼å sendDayï¼ç¼ºçæ 1 å¤çï¼ */ |
| | | private Long sendDay; |
| | | |
| | | /** æ§è¡æ¹å¼ï¼å preachformï¼ */ |
| | | private String preachform; |
| | | |
| | | /** æ§è¡æ¹å¼æç» JSONï¼å preachformDescï¼ç± addServiceSubtaskPreachform è§£æï¼ */ |
| | | private String preachformDesc; |
| | | |
| | | /** æºæID */ |
| | | private String orgid; |
| | | |
| | | /** é¢åºID */ |
| | | private String campusid; |
| | | |
| | | /** å®£ææ¨¡æ¿ï¼å preachform çåä¹å段ï¼ç»è£
æ¶ä¹å¨ç¨ï¼ */ |
| | | private String hosType; |
| | | |
| | | /** æ´æ°äººï¼å updateByï¼è¿ç§»åå¤å¤ setUpdateBy(serviceTask.getUpdateBy())ï¼ */ |
| | | private String updateBy; |
| | | |
| | | /** å建人ï¼å createByï¼ */ |
| | | private String createBy; |
| | | |
| | | public Long getTaskid() { |
| | | return taskid; |
| | | } |
| | | |
| | | public void setTaskid(Long taskid) { |
| | | this.taskid = taskid; |
| | | } |
| | | |
| | | public String getTaskName() { |
| | | return taskName; |
| | | } |
| | | |
| | | public void setTaskName(String taskName) { |
| | | this.taskName = taskName; |
| | | } |
| | | |
| | | public String getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(String type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public Long getTemplateid() { |
| | | return templateid; |
| | | } |
| | | |
| | | public void setTemplateid(Long templateid) { |
| | | this.templateid = templateid; |
| | | } |
| | | |
| | | public String getTemplatename() { |
| | | return templatename; |
| | | } |
| | | |
| | | public void setTemplatename(String templatename) { |
| | | this.templatename = templatename; |
| | | } |
| | | |
| | | public String getLibtemplateid() { |
| | | return libtemplateid; |
| | | } |
| | | |
| | | public void setLibtemplateid(String libtemplateid) { |
| | | this.libtemplateid = libtemplateid; |
| | | } |
| | | |
| | | public Long getSendDay() { |
| | | return sendDay; |
| | | } |
| | | |
| | | public void setSendDay(Long sendDay) { |
| | | this.sendDay = sendDay; |
| | | } |
| | | |
| | | public String getPreachform() { |
| | | return preachform; |
| | | } |
| | | |
| | | public void setPreachform(String preachform) { |
| | | this.preachform = preachform; |
| | | } |
| | | |
| | | public String getPreachformDesc() { |
| | | return preachformDesc; |
| | | } |
| | | |
| | | public void setPreachformDesc(String preachformDesc) { |
| | | this.preachformDesc = preachformDesc; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getCampusid() { |
| | | return campusid; |
| | | } |
| | | |
| | | public void setCampusid(String campusid) { |
| | | this.campusid = campusid; |
| | | } |
| | | |
| | | public String getHosType() { |
| | | return hosType; |
| | | } |
| | | |
| | | public void setHosType(String hosType) { |
| | | this.hosType = hosType; |
| | | } |
| | | |
| | | public String getUpdateBy() { |
| | | return updateBy; |
| | | } |
| | | |
| | | public void setUpdateBy(String updateBy) { |
| | | this.updateBy = updateBy; |
| | | } |
| | | |
| | | public String getCreateBy() { |
| | | return createBy; |
| | | } |
| | | |
| | | public void setCreateBy(String createBy) { |
| | | this.createBy = createBy; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 䏿¡å¾
æ§è¡é访åä»»å¡çæè¦ï¼{@link VisitTaskCreateApi#findPendingSubtasks} çè¿åå
ç´ ï¼ã |
| | | * <p> |
| | | * åªå
å«ãåå
¥é¢å¤å®ãçæ£ç¨å°çåæ®µï¼è§è¿ç§»å |
| | | * {@code PatMedInhospServiceImpl#writeInSubTask} L758-843 ä¸ {@code #dealInHospInfo} L1321-1359ï¼ï¼ |
| | | * <ul> |
| | | * <li>{@code longSendTime == null} â 䏿¯é¿æä»»å¡ï¼<b>ç´æ¥è·³è¿ä¸å¤ç</b>ï¼</li> |
| | | * <li>{@code endtime} ç¨äºå"å夿°å¢çåä»»å¡"çåºé¢æ¶é´æ¯è¾ï¼å³å®ååªä¸è¾¹ï¼</li> |
| | | * <li>{@code serviceType == "2"} æ¯"ç§å®¤/ç
åºåå
¥é¢åæº"忝çå¿
è¦æ¡ä»¶ï¼</li> |
| | | * <li>{@code orgid} ç¨äºæ¯å®ç½åå {@code 47255004333112711A1001} 夿ã</li> |
| | | * </ul> |
| | | * |
| | | * @see com.ruoyi.common.core.service.VisitTaskCreateApi#findPendingSubtasks(Long, Long) |
| | | */ |
| | | public class VisitPendingSubtaskDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** åä»»å¡ID */ |
| | | private Long id; |
| | | |
| | | /** |
| | | * 宿æ¶é´ï¼å {@code finishtime}ï¼ã |
| | | * <p> |
| | | * â ï¸ <b>为ä»ä¹éè¦å®</b>ï¼åºå
¥é¢ä¾§ç {@code writeInSubTask} åæ§å任塿¶ |
| | | * <b>ä¸</b>设置 finishtimeï¼åºçº¿éé£è¡æ¬æ¥å°±è¢«æ³¨éæäºï¼åæ ·ä¿çï¼ï¼ |
| | | * æä»¥åºå
¥é¢è·¯å¾ä»ä¸å¡«å® ââ è¡ä¸ºä¸åï¼ |
| | | * ä½<b>鍿¥è¯ä¾§</b>åæ§å任塿¶è®¾äº |
| | | * {@code serviceSubtask1.setFinishtime(new Date())}ï¼å |
| | | * {@code PatMedOuthospServiceImpl#writeInSubTask} L477ï¼æ¯æ´»ä»£ç ï¼ï¼ |
| | | * å æ¤å¥çº¦å¿
é¡»è½æ¿è½½å®ï¼å¦åé¨è¯ç§»æ¤ä¼éé»ä¸¢æè¿ä¸åçåå
¥ã |
| | | */ |
| | | private Date finishtime; |
| | | |
| | | /** åºé¢æ¶é´ï¼å endtimeï¼ */ |
| | | private Date endtime; |
| | | |
| | | /** é¿æä»»å¡åéæ¶é´ï¼ä¸º null è¡¨ç¤ºä¸æ¯é¿æä»»å¡ */ |
| | | private Date longSendTime; |
| | | |
| | | /** æå¡ç±»åï¼"2" åºé¢é访 / "13" ä¸ç
é访 â¦ï¼ */ |
| | | private String serviceType; |
| | | |
| | | /** æºæIDï¼ç¨äºæ¯å®ç½ååå¤æï¼ */ |
| | | private String orgid; |
| | | |
| | | /** åéç¶æï¼è¿éçè®°å½ä¸å¾æ¯ 2 = å¾
åéï¼ */ |
| | | private Long sendstate; |
| | | |
| | | /** |
| | | * ä»»å¡IDã |
| | | * <p> |
| | | * â ï¸ {@code updateServiceSubtask} ç SQL éæä¸æ¡ {@code <if test="taskid != null">taskid = #{taskid}</if>} |
| | | * ââ è¥ååæ¶è¿ä¸ªå段为 nullï¼ä»»å¡å½å±å°±ä¸ä¼è¢«ååï¼ä¸æ¹å¨ï¼ï¼ |
| | | * ä½ä¸ºäºä¸åå®ç°<b>éåæ®µä¸è´</b>ï¼åå®ç°ä¼ çæ¯æ¥è¯¢åºæ¥ç宿´å¯¹è±¡ï¼ï¼è¿éå¿
须带ä¸ã |
| | | */ |
| | | private Long taskid; |
| | | |
| | | /** |
| | | * è¦ååçãç»æãå¼ã |
| | | * <p> |
| | | * â ï¸ <b>è¿æ¯è°ç¨æ¹å¨"ç§»åº"䏿¡å¾
æ§è¡å任塿¶æ¹çåæ®µ</b>ï¼ |
| | | * åå®ç°æ¯ææ¥è¯¢åºæ¥ç对象 {@code setResult("error")} ååä¼ ç» updateã |
| | | * è¿æ¸¡å®ç°ç´æ¥æå® {@code setResult(...)} 忬 DTOï¼ä»èä¿è¯ |
| | | * "å
æ¥å®æ´å¯¹è±¡ãæ¹å ä¸ªåæ®µãåæ´ä½åå"è¿æ¡è¯ä¹<b>éåæ®µä¸å</b>ã |
| | | */ |
| | | private String result; |
| | | |
| | | /** |
| | | * è¦ååç夿³¨ï¼åå®ç°ä¼ææ°ææ¡æ¼å¨å·²æ remark åé¢ï¼ã |
| | | */ |
| | | private String remark; |
| | | |
| | | /** æ´æ°äººï¼åå®ç° {@code setUpdateBy(serviceTask.getUpdateBy())}ï¼ */ |
| | | private String updateBy; |
| | | |
| | | /** æ´æ°æ¶é´ï¼åå®ç° {@code setUpdateTime(new Date())}ï¼ */ |
| | | private Date updateTime; |
| | | |
| | | /** |
| | | * æ¯å¦å次é访ï¼å {@code isVisitAgain}ï¼ã |
| | | * <p> |
| | | * â ï¸ è¿æ¯ {@code dealInHospInfo}ãåå
¥é¢åæºãè¦åçåæ®µï¼å L1346 {@code setIsVisitAgain(2)}ï¼ã |
| | | * ä¸å å®ï¼åæºæ¶è¿ä¸ªæ è®°å°±ä¼ä¸¢ã |
| | | */ |
| | | private Integer isVisitAgain; |
| | | |
| | | public Date getFinishtime() { |
| | | return finishtime; |
| | | } |
| | | |
| | | public void setFinishtime(Date finishtime) { |
| | | this.finishtime = finishtime; |
| | | } |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Date getEndtime() { |
| | | return endtime; |
| | | } |
| | | |
| | | public void setEndtime(Date endtime) { |
| | | this.endtime = endtime; |
| | | } |
| | | |
| | | public Date getLongSendTime() { |
| | | return longSendTime; |
| | | } |
| | | |
| | | public void setLongSendTime(Date longSendTime) { |
| | | this.longSendTime = longSendTime; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public Long getSendstate() { |
| | | return sendstate; |
| | | } |
| | | |
| | | public void setSendstate(Long sendstate) { |
| | | this.sendstate = sendstate; |
| | | } |
| | | |
| | | public Long getTaskid() { |
| | | return taskid; |
| | | } |
| | | |
| | | public void setTaskid(Long taskid) { |
| | | this.taskid = taskid; |
| | | } |
| | | |
| | | public String getResult() { |
| | | return result; |
| | | } |
| | | |
| | | public void setResult(String result) { |
| | | this.result = result; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getUpdateBy() { |
| | | return updateBy; |
| | | } |
| | | |
| | | public void setUpdateBy(String updateBy) { |
| | | this.updateBy = updateBy; |
| | | } |
| | | |
| | | public Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | |
| | | public Integer getIsVisitAgain() { |
| | | return isVisitAgain; |
| | | } |
| | | |
| | | public void setIsVisitAgain(Integer isVisitAgain) { |
| | | this.isVisitAgain = isVisitAgain; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * é访åä»»å¡ãæ§è¡æ¹å¼æç»ãï¼{@code service_subtask_preachform}ï¼çé访侧è¡ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * å¯¹åº {@code ServiceSubtaskPreachform}ï¼{@code extends BaseEntity}ï¼10 ä¸ªèªæåæ®µ + ç»§æ¿å段ï¼ã |
| | | * æ¬è¡<b>ä¸ç»§æ¿ BaseEntity</b>ï¼æ°æ¨¡ååªä¾èµ ruoyi-commonï¼å¯ä»¥ç»§æ¿ï¼ä½å»æå¹³éº ââ è§ä¸ï¼ï¼ |
| | | * åæ®µä¸ {@code ServiceSubtaskPreachformMapper.xml} ç |
| | | * {@code selectServiceSubtaskPreachformVo}ï¼L25-42ï¼ä¸ {@code insertServiceSubtaskPreachform}ï¼L81-151ï¼ |
| | | * ç¨å°çå<b>éä¸å¯¹åº</b>ã |
| | | * |
| | | * <h3>â ï¸ åæ®µåå¿
é¡»ä¸åå®ä½ä¸è´</h3> |
| | | * åå®ç°ç¨ Jackson æ {@code serviceTask.preachformDesc}ï¼JSON 串ï¼ç´æ¥ååºååæ |
| | | * {@code List<ServiceSubtaskPreachform>}ãJSON éçé®å = åå®ä½ç屿§åã |
| | | * æ¬è¡ä½ä¸ºæ¿ä»£ç®æ ç±»ï¼<b>屿§åå¿
é¡»éåç¸å</b>ï¼å¦å Jackson ä¼éé»ä¸¢å¼å段 |
| | | * ï¼ä¸æ¥éï¼åªæ¯å¼ä¸º null â è½åºå°åï¼ã |
| | | * |
| | | * <h3>â ï¸ å»æä¸ç»§æ¿ ruoyi-common ç BaseEntity</h3> |
| | | * ç»§æ¿è½å°å 6 ä¸ªåæ®µï¼ä½ä¼å¸¦å
¥ {@code searchValue/orgnam e/campusid/pageNum/pageSize/params} |
| | | * ç䏿¬è¡¨æ å
³ç屿§ ââ è Jackson ååºååæ¶å¤åºæ¥ç屿§åªå¨ {@code FAIL_ON_UNKNOWN_PROPERTIES} |
| | | * å¼å¯æ¶ææ¥éï¼é»è®¤æ¯éé»å¿½ç¥ãå¹³éºåå
¨ï¼å¯ä»¥è®©"è¿ä¸ªç±»å°åºæåªäºå段"ä¸ç¼å¯æ°ã |
| | | */ |
| | | public class VisitPreachformRow { |
| | | |
| | | /** ä¸»é® */ |
| | | private Long id; |
| | | |
| | | /** åä»»å¡IDï¼å {@code subid}ï¼ */ |
| | | private Long subid; |
| | | |
| | | /** ä»»å¡ID */ |
| | | private Long taskid; |
| | | |
| | | /** æ§è¡æ¹å¼ï¼çä¿¡/微信/çµè¯â¦ï¼ */ |
| | | private String preachform; |
| | | |
| | | /** æ§è¡ç¶æï¼åå®ç°é»è®¤ "1"ï¼å¯ç±è°ç¨æ¹è¦åï¼ */ |
| | | private String sendstate; |
| | | |
| | | /** æ¬æ¬¡åéæ¶é´ï¼å {@code currentSendTime}ï¼ */ |
| | | private Date currentSendTime; |
| | | |
| | | /** æºæID */ |
| | | private String orgid; |
| | | |
| | | /** å 餿 è®° */ |
| | | private String delFlag; |
| | | |
| | | /** æåº */ |
| | | private Long sort; |
| | | |
| | | /** è¡¥å¿æ¶é´ï¼å符串ï¼ååæ®µå³ä¸º Stringï¼ */ |
| | | private String compensateTime; |
| | | |
| | | /** 夿³¨ï¼ç»§æ¿èª BaseEntityï¼ */ |
| | | private String remark; |
| | | |
| | | /** å建人ï¼ç»§æ¿èª BaseEntityï¼ */ |
| | | private String createBy; |
| | | |
| | | /** å建æ¶é´ï¼ç»§æ¿èª BaseEntityï¼ */ |
| | | private Date createTime; |
| | | |
| | | /** æ´æ°äººï¼ç»§æ¿èª BaseEntityï¼ */ |
| | | private String updateBy; |
| | | |
| | | /** æ´æ°æ¶é´ï¼ç»§æ¿èª BaseEntityï¼ */ |
| | | private Date updateTime; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Long getSubid() { |
| | | return subid; |
| | | } |
| | | |
| | | public void setSubid(Long subid) { |
| | | this.subid = subid; |
| | | } |
| | | |
| | | public Long getTaskid() { |
| | | return taskid; |
| | | } |
| | | |
| | | public void setTaskid(Long taskid) { |
| | | this.taskid = taskid; |
| | | } |
| | | |
| | | public String getPreachform() { |
| | | return preachform; |
| | | } |
| | | |
| | | public void setPreachform(String preachform) { |
| | | this.preachform = preachform; |
| | | } |
| | | |
| | | public String getSendstate() { |
| | | return sendstate; |
| | | } |
| | | |
| | | public void setSendstate(String sendstate) { |
| | | this.sendstate = sendstate; |
| | | } |
| | | |
| | | public Date getCurrentSendTime() { |
| | | return currentSendTime; |
| | | } |
| | | |
| | | public void setCurrentSendTime(Date currentSendTime) { |
| | | this.currentSendTime = currentSendTime; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getDelFlag() { |
| | | return delFlag; |
| | | } |
| | | |
| | | public void setDelFlag(String delFlag) { |
| | | this.delFlag = delFlag; |
| | | } |
| | | |
| | | public Long getSort() { |
| | | return sort; |
| | | } |
| | | |
| | | public void setSort(Long sort) { |
| | | this.sort = sort; |
| | | } |
| | | |
| | | public String getCompensateTime() { |
| | | return compensateTime; |
| | | } |
| | | |
| | | public void setCompensateTime(String compensateTime) { |
| | | this.compensateTime = compensateTime; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getCreateBy() { |
| | | return createBy; |
| | | } |
| | | |
| | | public void setCreateBy(String createBy) { |
| | | this.createBy = createBy; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public String getUpdateBy() { |
| | | return updateBy; |
| | | } |
| | | |
| | | public void setUpdateBy(String updateBy) { |
| | | this.updateBy = updateBy; |
| | | } |
| | | |
| | | public Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * 䏿¡ã循ç¯ä»»å¡ç»è®¡åãçæ»å¨ç»æï¼{@link com.ruoyi.common.core.service.ScheduleRollPort#rollOneSchedule} çè¿åï¼ã |
| | | * |
| | | * <h3>为ä»ä¹éè¦å®ï¼ç¬¬ 9 æ¥çå
³é®è®¾è®¡è¯´æï¼</h3> |
| | | * ä»»å¡ç»è½®æ¬¡æ»å¨çæ ¸å¿ {@code rollOneSchedule} è¦å䏿¬¡ |
| | | * <b>ServiceSubtask çå
¨å段深æ·è´</b>ï¼ |
| | | * <pre> |
| | | * ServiceSubtask copy = JSON.parseObject(JSON.toJSONString(src), ServiceSubtask.class); |
| | | * copy.setId(null); copy.setSenduuid(null); ... // æ¸
6 ä¸ªåæ®µ |
| | | * </pre> |
| | | * è {@code ServiceSubtask} æ <b>116 ä¸ªåæ®µ</b>ã |
| | | * 妿å¨ä¸¤ä¸ªæ¨¡åä¹é´ä¼ "116 åæ®µç DTO"æ¥åè¿ä»¶äºï¼å段æ å°æ¬èº«å°±æ¯å·¨å¤§é£é©é¢ ââ |
| | | * èä¸è¿ä¸ªé£é©<b>æ¢ä¸æ¥ä»»ä½æ¶ç</b>ï¼å
¨å段æ·è´çè¯ä¹ç± JSON åºååä¿è¯ï¼ä¸éè¦æä»¬éåæ®µæ¬è¿ï¼ã |
| | | * |
| | | * <p>æä»¥ç¬¬ 9 æ¥çå忹弿¯ï¼ |
| | | * <ul> |
| | | * <li><b>䏿²å°æ¥å£</b>ï¼{@link com.ruoyi.common.core.service.ScheduleRollPort}ï¼ï¼ |
| | | * "æ¥ä¸æ¹å¾
è¯ä¼°ç循ç¯è®¡å" + "æ»å¨å个计å"ã<b>æ´ä¸ª roll å¨ä½æ¯ååç</b>ï¼ |
| | | * æ·±æ·è´çå¨å®ç°ä¾§ï¼smartor çè¿æ¸¡ Bridgeï¼ï¼ä¸è·¨è¶æ¨¡åè¾¹çï¼</li> |
| | | * <li><b>ç卿¬æ¨¡å</b>ï¼{@code ruoyi-inhospvisit}ï¼ï¼æ¹æ¬¡ä¸éãéæ¡ try/catchã |
| | | * 计æ°ä¸æ¥å¿ ââ ä¹å°±æ¯"ç¼æ"ã</li> |
| | | * </ul> |
| | | * |
| | | * <p>æ¬ DTO åªæ¿è½½"ç¨äºæ¥å¿ä¸è®¡æ°"çä¿¡æ¯ï¼åå®ç°å¨æ»å¨æååæå° |
| | | * <pre> |
| | | * log.info("[ä»»å¡ç»-æ»å¨] scheduleId={} æ¨è¿å°ç¬¬ {} è½®, æ°å»º {} æ¡ subtask", scheduleId, nextLoop, produced); |
| | | * </pre> |
| | | * ä½é£ä¸ªæ¹æ³è¿åçæ¯ {@code boolean}ï¼è°åº¦ä¾§æ¿ä¸å° nextLoop / producedã |
| | | * æ¬è¿åç¨æ¬ DTO æè¿ä¸¤ä¸ªå¼å¸¦åºæ¥ï¼è®© inhospvisit è½æåº<b>ä¸åå®ç°å®å
¨ç¸åçæ¥å¿</b>ã |
| | | */ |
| | | public class VisitScheduleRollResultDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** 计åID */ |
| | | private Long scheduleId; |
| | | |
| | | /** æ»å¨åæ¨è¿å°ç轮次å·ï¼åå®ç°éç {@code nextLoop = currentLoop + 1}ï¼ */ |
| | | private Long nextLoop; |
| | | |
| | | /** æ¬è½®æ°å»ºç subtask æ¡æ°ï¼åå®ç°éç {@code produced}ï¼ */ |
| | | private Integer produced; |
| | | |
| | | /** æ¯å¦ççæ¨è¿äºï¼åæ¹æ³è¿åç booleanï¼ */ |
| | | private boolean rolled; |
| | | |
| | | /** æªæ¨è¿çåå ï¼ä»
ç¨äºæ¥å¿ææ¥ï¼æ¨è¿æåæ¶ä¸º nullï¼ */ |
| | | private String skipReason; |
| | | |
| | | public static VisitScheduleRollResultDto skipped(Long scheduleId, String reason) { |
| | | VisitScheduleRollResultDto d = new VisitScheduleRollResultDto(); |
| | | d.setScheduleId(scheduleId); |
| | | d.setRolled(false); |
| | | d.setSkipReason(reason); |
| | | return d; |
| | | } |
| | | |
| | | public static VisitScheduleRollResultDto rolled(Long scheduleId, long nextLoop, int produced) { |
| | | VisitScheduleRollResultDto d = new VisitScheduleRollResultDto(); |
| | | d.setScheduleId(scheduleId); |
| | | d.setNextLoop(nextLoop); |
| | | d.setProduced(produced); |
| | | d.setRolled(true); |
| | | return d; |
| | | } |
| | | |
| | | public Long getScheduleId() { |
| | | return scheduleId; |
| | | } |
| | | |
| | | public void setScheduleId(Long scheduleId) { |
| | | this.scheduleId = scheduleId; |
| | | } |
| | | |
| | | public Long getNextLoop() { |
| | | return nextLoop; |
| | | } |
| | | |
| | | public void setNextLoop(Long nextLoop) { |
| | | this.nextLoop = nextLoop; |
| | | } |
| | | |
| | | public Integer getProduced() { |
| | | return produced; |
| | | } |
| | | |
| | | public void setProduced(Integer produced) { |
| | | this.produced = produced; |
| | | } |
| | | |
| | | public boolean isRolled() { |
| | | return rolled; |
| | | } |
| | | |
| | | public void setRolled(boolean rolled) { |
| | | this.rolled = rolled; |
| | | } |
| | | |
| | | public String getSkipReason() { |
| | | return skipReason; |
| | | } |
| | | |
| | | public void setSkipReason(String skipReason) { |
| | | this.skipReason = skipReason; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 䏿¡å¾
è½åºé访åä»»å¡çè稿ï¼{@link VisitTaskCreateApi#createSubtask} çå
¥åï¼ã |
| | | * <p> |
| | | * åæ®µæ¯<b>é个对ç
§è¿ç§»å {@code PatMedInhospServiceImpl#boxedServiceSubtask}ï¼L1108-1222ï¼ |
| | | * ä¸ {@code #boxedServiceSubtaskForOp}ï¼L1225-1300ï¼ç setter è°ç¨</b>åæ¨åºæ¥çã |
| | | * è¯¥æ¹æ³æ¯åºå
¥é¢é访å¯ä¸å¯è½æ¹å线ä¸è¡ä¸ºçå°æ¹ï¼æä»¥è¿é廿<b>ä¸ååæ®µç²¾ç®</b>ï¼ |
| | | * å°ä¸ä¸ªå段 â å¯¹åº setter éé»å¤±æ â 线ä¸åä»»å¡å
容ååï¼ä¸ä¸æ¥éã |
| | | * |
| | | * <h3>è¿ç§»æ¶ç对åºå
³ç³»ï¼éæ¡æ ¸å¯¹ç¨ï¼</h3> |
| | | * <pre> |
| | | * å patMedInhosp1/patArchive/serviceTask getter â æ¬ DTO åæ®µ |
| | | * </pre> |
| | | * |
| | | * @see com.ruoyi.common.core.service.VisitTaskCreateApi#createSubtask(VisitSubtaskDraft) |
| | | */ |
| | | public class VisitSubtaskDraft implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | // ==================== 任塿¥æºï¼å serviceTaskï¼ ==================== |
| | | /** |
| | | * åä»»å¡IDã |
| | | * <p> |
| | | * åªæ"å
insertãåè¡¥åæ®µåå"飿¡é¾è·¯ï¼å L776-793ï¼æéè¦ï¼ |
| | | * æ°å¢æ¶ç空ã{@code insertServiceSubtask} ç¨çæ¯ {@code useGeneratedKeys}ï¼ |
| | | * è½åºåè¿ä¸ªå段ä¼è¢«åå¡«å°å®ä½ä¸ï¼è°ç¨æ¹æ®æ¤å updateã |
| | | */ |
| | | private Long id; |
| | | |
| | | /** ä»»å¡IDï¼å taskidï¼ */ |
| | | private Long taskid; |
| | | /** æºæIDï¼å serviceTask.orgidï¼ */ |
| | | private String orgid; |
| | | /** é¢åºIDï¼å serviceTask.campusidï¼å被 patMedInhosp.campusid è¦çï¼ */ |
| | | private String campusid; |
| | | |
| | | // ==================== æ£è
ï¼å patArchiveï¼ ==================== |
| | | /** æ£è
æ¡£æ¡IDï¼å patArchive.idï¼ */ |
| | | private Long patid; |
| | | /** æ¥æ¶äººå§åï¼å patArchive.nameï¼ */ |
| | | private String sendname; |
| | | /** 身份è¯å·ï¼å patArchive.idcardnoï¼ */ |
| | | private String sfzh; |
| | | /** ææºå·ï¼å patArchive.telcodeï¼ç©ºåå relativetelcodeï¼ */ |
| | | private String phone; |
| | | /** æ§å«ï¼å patArchive.sexï¼ */ |
| | | private Long sex; |
| | | /** å¹´é¾ï¼å patArchive.ageï¼ */ |
| | | private Long age; |
| | | |
| | | // ==================== åºå
¥é¢å
³èï¼å patMedInhospï¼ ==================== |
| | | /** åºå
¥é¢è®°å½IDï¼å inhospidï¼ */ |
| | | private Long inhospid; |
| | | /** ä½é¢æµæ°´å· */ |
| | | private String serialnum; |
| | | |
| | | // ==================== 廿¤ï¼å patMedInhospï¼ ==================== |
| | | /** 责任æ¤å£«ID */ |
| | | private String nurseId; |
| | | /** 责任æ¤å£«å§å */ |
| | | private String nurseName; |
| | | /** å»çç¼ç */ |
| | | private String drcode; |
| | | /** å»çå§å */ |
| | | private String drname; |
| | | /** 管çå»çå§å */ |
| | | private String managementDoctor; |
| | | /** 管çå»çç¼ç */ |
| | | private String managementDoctorCode; |
| | | |
| | | // ==================== ç§å®¤/ç
åºï¼å patMedInhospï¼type 4/5 伿¹åï¼ ==================== |
| | | /** ç§å®¤ç¼ç ï¼type 1/2/3 å leave 维度ï¼type 4/5 åå
¥é¢ç»´åº¦ï¼ */ |
| | | private String deptcode; |
| | | /** ç§å®¤åç§° */ |
| | | private String deptname; |
| | | /** 离é¢ç
åºç¼ç ï¼type 4/5 åå
¥é¢ç
åºï¼ */ |
| | | private String leavehospitaldistrictcode; |
| | | /** 离é¢ç
åºåç§° */ |
| | | private String leavehospitaldistrictname; |
| | | |
| | | // ==================== è¯æï¼å patMedInhospï¼ ==================== |
| | | /** ç¦»é¢ ICD10 ç¼ç */ |
| | | private String leaveicd10code; |
| | | /** 离é¢è¯æåç§° */ |
| | | private String leavediagname; |
| | | /** è¯æåç§° */ |
| | | private String diagname; |
| | | |
| | | // ==================== 模æ¿ï¼å serviceTaskï¼ ==================== |
| | | /** é®å·æ¨¡æ¿ID */ |
| | | private Long templateid; |
| | | /** é®å·æ¨¡æ¿åç§° */ |
| | | private String templatename; |
| | | /** è¯é³æ¨¡æ¿ID */ |
| | | private Long libtemplateid; |
| | | |
| | | // ==================== æ¶é´ ==================== |
| | | /** å
¥é¢æ¶é´ï¼å patMedInhosp.starttimeï¼ */ |
| | | private Date starttime; |
| | | /** åºé¢æ¶é´ï¼å patMedInhosp.endtimeï¼ */ |
| | | private Date endtime; |
| | | /** é¿æä»»å¡åéæ¶é´ï¼å longSendTimeï¼ */ |
| | | private Date longSendTime; |
| | | /** é访æ¶é´ï¼å visitTimeï¼ */ |
| | | private Date visitTime; |
| | | |
| | | // ==================== ç¶æ/ç±»å ==================== |
| | | /** åéç¶æï¼å sendstateï¼ */ |
| | | private Long sendstate; |
| | | /** |
| | | * æäº¤æ è®°ï¼å {@code submit}ï¼å®ä½éæ¯ {@code Long}ï¼ã |
| | | * <p> |
| | | * â ï¸ è¿ç§»å {@code writeInSubTask} é对å®çåæ³æ¯ {@code serviceSubtask.setSubmit(1)} ââ |
| | | * ä¸ä¸ª int åé¢é被èªå¨è£
ç®±/å 宽æ {@code Long}ï¼åå²ä¸ç¼è¯è½è¿ã |
| | | * æ¬è¿æ¶è¥æå®åæ {@code Integer} å°±ä¼éé»ä¸¢åæ®µï¼æ
æ¤å¤ä¿æ {@code Long}ã |
| | | */ |
| | | private Long submit; |
| | | /** æå¡ç±»åï¼å serviceTypeï¼ */ |
| | | private String serviceType; |
| | | /** ç¾ç
ç±»åï¼å diagTypeï¼ */ |
| | | private String diagType; |
| | | /** ä½é¢ç±»åï¼å hospTypeï¼"2" æ®é / "6" å
¥é¢ï¼ */ |
| | | private String hospType; |
| | | /** æ§è¡æ¹å¼ï¼å preachformï¼ */ |
| | | private String preachform; |
| | | |
| | | // ==================== é访æ è®°ï¼å writeInSubTask å¨å
¥åºå设置çå ä¸ªï¼ ==================== |
| | | /** å°±è¯æ¬¡æ°ï¼å visitCountï¼ */ |
| | | private Integer visitCount; |
| | | /** æ¯å¦å次é访ï¼å isVisitAgainï¼ */ |
| | | private Integer isVisitAgain; |
| | | /** å°±è¯ç§å®¤ç¼ç ï¼å visitDeptCodeï¼ç± type åæ´¾å³å®ï¼ */ |
| | | private String visitDeptCode; |
| | | /** å°±è¯ç§å®¤åç§°ï¼å visitDeptNameï¼ */ |
| | | private String visitDeptName; |
| | | |
| | | /** ä»»å¡ç¶æï¼å taskSituationï¼å®£æ=7ï¼è¢«è¿æ»¤æ£è
=6ï¼ */ |
| | | private Integer taskSituation; |
| | | /** ç»æï¼å resultï¼"error" è¡¨ç¤ºä¸æ§è¡ï¼ */ |
| | | private String result; |
| | | /** 夿³¨ï¼å remarkï¼ */ |
| | | private String remark; |
| | | |
| | | // ==================== ææ¯ï¼å patMedOperationItemï¼ä»
ææ¯é访ç¨ï¼ ==================== |
| | | /** ææ¯æç»IDï¼å operationItemIdï¼ */ |
| | | private Long operationItemId; |
| | | |
| | | // ==================== 审计 ==================== |
| | | /** å建人ï¼å createByï¼ */ |
| | | private String createBy; |
| | | /** æ´æ°äººï¼å updateByï¼ */ |
| | | private String updateBy; |
| | | |
| | | // ==================== å
åº ==================== |
| | | /** |
| | | * é¿æä»»å¡å¤±è´¥åå ï¼å {@code patMedInhosp.longTaskReason}ï¼ã |
| | | * <p> |
| | | * ãæ³¨æãè¿ä¸æ¯åä»»å¡çåæ®µãå®å¨è¿ç§»åæ¯ {@code writeInSubTask} ä»å
¥åå®ä½ä¸è¯»åºæ¥ã |
| | | * æ¼ä¸éè¯¯ææ¡åååå {@code pat_med_inhosp} çãæ¾å¨è¿éæ¯ä¸ºäºè®© |
| | | * {@code VisitTaskCreateApi} çå®ç°è½æ¿å°å®å»å B7 æ è®°ï¼ |
| | | * <b>è¿æ¸¡å®ç°ä¸ä¼æå®åå
¥ service_subtask</b>ã |
| | | */ |
| | | private String longTaskReason; |
| | | |
| | | // ========================================================================== |
| | | // DtoConversionUtils æ·å
¥ã使ªè¢«æ¾å¼è¦çç 18 ä¸ªåæ®µ |
| | | // ========================================================================== |
| | | /** |
| | | * â ï¸ <b>è¿ä¸æ¹åæ®µçæ¥æºå¿
须说æ¸
æ¥ï¼è¸©è¿çåï¼</b> |
| | | * <p> |
| | | * è¿ç§»å {@code boxedServiceSubtask} / {@code boxedServiceSubtaskForOp} ç第ä¸è¡æ¯ï¼ |
| | | * <pre> |
| | | * ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); |
| | | * </pre> |
| | | * 宿 {@code ServiceTask} ä¸ {@code ServiceSubtask} <b>åå</b>ç 33 ä¸ªåæ®µæ´æ¹æ·äºè¿æ¥ï¼ |
| | | * å
¶ä¸ <b>18 个ä¹åå乿²¡è¢«æ¾å¼ set è¦ç</b> ââ ä¹å°±æ¯è¯´ï¼è¿ 18 ä¸ªå¼æ¯ |
| | | * <b>é "æ·è´"带è¿åä»»å¡å¹¶è½åºç</b>ã |
| | | * <p> |
| | | * éåæ®µæ ¸å¯¹è¿ï¼è¿ 18 个éè¿æ<b>ç±»åä¸ä¸è´</b>çï¼ |
| | | * {@code pid}ï¼{@code Integer â Long}ï¼ã{@code sendType}ï¼{@code Long â String}ï¼ï¼ |
| | | * 说æ {@code sourceToTarget} å
é¨åäºç±»å转æ¢ï¼ä¸æ¯ç®åçååèµå¼ã |
| | | * <p> |
| | | * <b>妿䏿å®ä»¬æ¾å¼å¸¦è¿å»ï¼è¿äºå¼å°±ä¼ä¸¢ â è½åºçåä»»å¡å
容ä¸è¿ç§»åä¸ä¸è´ï¼èä¸ä¸ä¼æ¥éã</b> |
| | | * æä»¥è¿éå
¨é¨æ¾å¼ååºï¼è®©"æ¯ä¸ªåæ®µæ¯æä¹è¿åä»»å¡ç"å®å
¨å¯è§ï¼ |
| | | * å¹¶ç± {@code sql/_probe/verify_inhospvisit_semantics.py} éæ¡æè¨ã |
| | | * <p> |
| | | * 对åºçåå®ç°ä½ç½®ï¼{@code PatMedInhospServiceImpl} L1113ï¼boxedï¼ä¸ L1226ï¼boxedForOpï¼ã |
| | | */ |
| | | |
| | | /** å 餿 è®°ï¼å serviceTask.delFlagï¼ */ |
| | | private String delFlag; |
| | | |
| | | /* |
| | | * 注æï¼diagType å·²ç»å¨ä¸é¢"ç¶æ/ç±»å"é£ä¸ç»é声æè¿äºï¼åååæ®µä¸è½éå¤å£°æï¼ï¼ |
| | | * è¿é廿ä¸åéå¤ãå®åæ ·å±äº"DtoConversionUtils æ·å
¥ä½æªè¢«æ¾å¼è¦ç"çé£ä¸æ¹ï¼ |
| | | * çæèæ¬å½æ¶æ²¡æ¥éï¼å¯¼è´è¿ä¸æ¬¡ç¼è¯å¤±è´¥ ââ å·²ç± sql/_probe/_check_draft_duplicates.py å
ä½ã |
| | | */ |
| | | |
| | | /** åºé¢æ¶é´åºé´ç»ç¹ï¼å serviceTask.endOutHospTimeï¼ */ |
| | | private java.util.Date endOutHospTime; |
| | | |
| | | /** GUIDï¼å serviceTask.guidï¼ */ |
| | | private String guid; |
| | | |
| | | /** æ¯å¦å·²ä¸ä¼ ï¼å serviceTask.isuploadï¼ */ |
| | | private Long isupload; |
| | | |
| | | /** 离é¢ç
åºç¼ç å表ï¼å serviceTask.leavehospitaldistrictcodesï¼ */ |
| | | private java.util.List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** 离é¢ç§å®¤ç¼ç å表ï¼å serviceTask.leaveldeptcodesï¼ */ |
| | | private java.util.List<String> leaveldeptcodes; |
| | | |
| | | /** è¯é³æ¨¡æ¿åç§°ï¼å serviceTask.libtemplatenameï¼ */ |
| | | private String libtemplatename; |
| | | |
| | | /** å页页ç ï¼å serviceTask.pageNumï¼ */ |
| | | private Integer pageNum; |
| | | |
| | | /** å页页é¿ï¼å serviceTask.pageSizeï¼ */ |
| | | private Integer pageSize; |
| | | |
| | | /** pidï¼å serviceTask.pid æ¯ Integerï¼ç®æ æ¯ Long ââ sourceToTarget åäºè½¬æ¢ï¼ */ |
| | | private Long pid; |
| | | |
| | | /** åéç±»åï¼å serviceTask.sendType æ¯ Longï¼ç®æ æ¯ String ââ åæ ·åäºè½¬æ¢ï¼ */ |
| | | private String sendType; |
| | | |
| | | /** åºé¢æ¶é´åºé´èµ·ç¹ï¼å serviceTask.startOutHospTimeï¼ */ |
| | | private java.util.Date startOutHospTime; |
| | | |
| | | /** ä»»å¡æè¿°ï¼å serviceTask.taskDescï¼ */ |
| | | private String taskDesc; |
| | | |
| | | /** ä»»å¡åç§°ï¼å serviceTask.taskNameï¼ */ |
| | | private String taskName; |
| | | |
| | | /** ææ¬åæ°ï¼å serviceTask.textParamï¼ */ |
| | | private String textParam; |
| | | |
| | | /** ä»»å¡ç±»åï¼å serviceTask.typeï¼ */ |
| | | private String type; |
| | | |
| | | /** ä¸ä¼ æ¶é´ï¼å serviceTask.uploadTimeï¼ */ |
| | | private java.util.Date uploadTime; |
| | | |
| | | // ---------- è¡¥é½çåæ®µ ---------- |
| | | |
| | | /** å建æ¶é´ï¼å L1157 setCreateTime(new Date())ï¼ */ |
| | | private java.util.Date createTime; |
| | | |
| | | /** æ´æ°æ¶é´ï¼å L1158/L1163 setUpdateTime(new Date())ï¼ */ |
| | | private java.util.Date updateTime; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Long getTaskid() { |
| | | return taskid; |
| | | } |
| | | public void setTaskid(Long taskid) { |
| | | this.taskid = taskid; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getCampusid() { |
| | | return campusid; |
| | | } |
| | | |
| | | public void setCampusid(String campusid) { |
| | | this.campusid = campusid; |
| | | } |
| | | |
| | | public Long getPatid() { |
| | | return patid; |
| | | } |
| | | |
| | | public void setPatid(Long patid) { |
| | | this.patid = patid; |
| | | } |
| | | |
| | | public String getSendname() { |
| | | return sendname; |
| | | } |
| | | |
| | | public void setSendname(String sendname) { |
| | | this.sendname = sendname; |
| | | } |
| | | |
| | | public String getSfzh() { |
| | | return sfzh; |
| | | } |
| | | |
| | | public void setSfzh(String sfzh) { |
| | | this.sfzh = sfzh; |
| | | } |
| | | |
| | | public String getPhone() { |
| | | return phone; |
| | | } |
| | | |
| | | public void setPhone(String phone) { |
| | | this.phone = phone; |
| | | } |
| | | |
| | | public Long getSex() { |
| | | return sex; |
| | | } |
| | | |
| | | public void setSex(Long sex) { |
| | | this.sex = sex; |
| | | } |
| | | |
| | | public Long getAge() { |
| | | return age; |
| | | } |
| | | |
| | | public void setAge(Long age) { |
| | | this.age = age; |
| | | } |
| | | |
| | | public Long getInhospid() { |
| | | return inhospid; |
| | | } |
| | | |
| | | public void setInhospid(Long inhospid) { |
| | | this.inhospid = inhospid; |
| | | } |
| | | |
| | | public String getSerialnum() { |
| | | return serialnum; |
| | | } |
| | | |
| | | public void setSerialnum(String serialnum) { |
| | | this.serialnum = serialnum; |
| | | } |
| | | |
| | | public String getNurseId() { |
| | | return nurseId; |
| | | } |
| | | |
| | | public void setNurseId(String nurseId) { |
| | | this.nurseId = nurseId; |
| | | } |
| | | |
| | | public String getNurseName() { |
| | | return nurseName; |
| | | } |
| | | |
| | | public void setNurseName(String nurseName) { |
| | | this.nurseName = nurseName; |
| | | } |
| | | |
| | | public String getDrcode() { |
| | | return drcode; |
| | | } |
| | | |
| | | public void setDrcode(String drcode) { |
| | | this.drcode = drcode; |
| | | } |
| | | |
| | | public String getDrname() { |
| | | return drname; |
| | | } |
| | | |
| | | public void setDrname(String drname) { |
| | | this.drname = drname; |
| | | } |
| | | |
| | | public String getManagementDoctor() { |
| | | return managementDoctor; |
| | | } |
| | | |
| | | public void setManagementDoctor(String managementDoctor) { |
| | | this.managementDoctor = managementDoctor; |
| | | } |
| | | |
| | | public String getManagementDoctorCode() { |
| | | return managementDoctorCode; |
| | | } |
| | | |
| | | public void setManagementDoctorCode(String managementDoctorCode) { |
| | | this.managementDoctorCode = managementDoctorCode; |
| | | } |
| | | |
| | | public String getDeptcode() { |
| | | return deptcode; |
| | | } |
| | | |
| | | public void setDeptcode(String deptcode) { |
| | | this.deptcode = deptcode; |
| | | } |
| | | |
| | | public String getDeptname() { |
| | | return deptname; |
| | | } |
| | | |
| | | public void setDeptname(String deptname) { |
| | | this.deptname = deptname; |
| | | } |
| | | |
| | | public String getLeavehospitaldistrictcode() { |
| | | return leavehospitaldistrictcode; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictcode(String leavehospitaldistrictcode) { |
| | | this.leavehospitaldistrictcode = leavehospitaldistrictcode; |
| | | } |
| | | |
| | | public String getLeavehospitaldistrictname() { |
| | | return leavehospitaldistrictname; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictname(String leavehospitaldistrictname) { |
| | | this.leavehospitaldistrictname = leavehospitaldistrictname; |
| | | } |
| | | |
| | | public String getLeaveicd10code() { |
| | | return leaveicd10code; |
| | | } |
| | | |
| | | public void setLeaveicd10code(String leaveicd10code) { |
| | | this.leaveicd10code = leaveicd10code; |
| | | } |
| | | |
| | | public String getLeavediagname() { |
| | | return leavediagname; |
| | | } |
| | | |
| | | public void setLeavediagname(String leavediagname) { |
| | | this.leavediagname = leavediagname; |
| | | } |
| | | |
| | | public String getDiagname() { |
| | | return diagname; |
| | | } |
| | | |
| | | public void setDiagname(String diagname) { |
| | | this.diagname = diagname; |
| | | } |
| | | |
| | | public Long getTemplateid() { |
| | | return templateid; |
| | | } |
| | | |
| | | public void setTemplateid(Long templateid) { |
| | | this.templateid = templateid; |
| | | } |
| | | |
| | | public String getTemplatename() { |
| | | return templatename; |
| | | } |
| | | |
| | | public void setTemplatename(String templatename) { |
| | | this.templatename = templatename; |
| | | } |
| | | |
| | | public Long getLibtemplateid() { |
| | | return libtemplateid; |
| | | } |
| | | |
| | | public void setLibtemplateid(Long libtemplateid) { |
| | | this.libtemplateid = libtemplateid; |
| | | } |
| | | |
| | | public Date getStarttime() { |
| | | return starttime; |
| | | } |
| | | |
| | | public void setStarttime(Date starttime) { |
| | | this.starttime = starttime; |
| | | } |
| | | |
| | | public Date getEndtime() { |
| | | return endtime; |
| | | } |
| | | |
| | | public void setEndtime(Date endtime) { |
| | | this.endtime = endtime; |
| | | } |
| | | |
| | | public Date getLongSendTime() { |
| | | return longSendTime; |
| | | } |
| | | |
| | | public void setLongSendTime(Date longSendTime) { |
| | | this.longSendTime = longSendTime; |
| | | } |
| | | |
| | | public Date getVisitTime() { |
| | | return visitTime; |
| | | } |
| | | |
| | | public void setVisitTime(Date visitTime) { |
| | | this.visitTime = visitTime; |
| | | } |
| | | |
| | | public Long getSendstate() { |
| | | return sendstate; |
| | | } |
| | | |
| | | public void setSendstate(Long sendstate) { |
| | | this.sendstate = sendstate; |
| | | } |
| | | |
| | | public Long getSubmit() { |
| | | return submit; |
| | | } |
| | | |
| | | public void setSubmit(Long submit) { |
| | | this.submit = submit; |
| | | } |
| | | |
| | | public String getDiagType() { |
| | | return diagType; |
| | | } |
| | | |
| | | public void setDiagType(String diagType) { |
| | | this.diagType = diagType; |
| | | } |
| | | |
| | | public Integer getVisitCount() { |
| | | return visitCount; |
| | | } |
| | | |
| | | public void setVisitCount(Integer visitCount) { |
| | | this.visitCount = visitCount; |
| | | } |
| | | |
| | | public Integer getIsVisitAgain() { |
| | | return isVisitAgain; |
| | | } |
| | | |
| | | public void setIsVisitAgain(Integer isVisitAgain) { |
| | | this.isVisitAgain = isVisitAgain; |
| | | } |
| | | |
| | | public String getVisitDeptCode() { |
| | | return visitDeptCode; |
| | | } |
| | | |
| | | public void setVisitDeptCode(String visitDeptCode) { |
| | | this.visitDeptCode = visitDeptCode; |
| | | } |
| | | |
| | | public String getVisitDeptName() { |
| | | return visitDeptName; |
| | | } |
| | | |
| | | public void setVisitDeptName(String visitDeptName) { |
| | | this.visitDeptName = visitDeptName; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public String getHospType() { |
| | | return hospType; |
| | | } |
| | | |
| | | public void setHospType(String hospType) { |
| | | this.hospType = hospType; |
| | | } |
| | | |
| | | public String getPreachform() { |
| | | return preachform; |
| | | } |
| | | |
| | | public void setPreachform(String preachform) { |
| | | this.preachform = preachform; |
| | | } |
| | | |
| | | public Integer getTaskSituation() { |
| | | return taskSituation; |
| | | } |
| | | |
| | | public void setTaskSituation(Integer taskSituation) { |
| | | this.taskSituation = taskSituation; |
| | | } |
| | | |
| | | public String getResult() { |
| | | return result; |
| | | } |
| | | |
| | | public void setResult(String result) { |
| | | this.result = result; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public Long getOperationItemId() { |
| | | return operationItemId; |
| | | } |
| | | |
| | | public void setOperationItemId(Long operationItemId) { |
| | | this.operationItemId = operationItemId; |
| | | } |
| | | |
| | | public String getCreateBy() { |
| | | return createBy; |
| | | } |
| | | |
| | | public void setCreateBy(String createBy) { |
| | | this.createBy = createBy; |
| | | } |
| | | |
| | | public String getUpdateBy() { |
| | | return updateBy; |
| | | } |
| | | |
| | | public void setUpdateBy(String updateBy) { |
| | | this.updateBy = updateBy; |
| | | } |
| | | |
| | | public String getLongTaskReason() { |
| | | return longTaskReason; |
| | | } |
| | | |
| | | public void setLongTaskReason(String longTaskReason) { |
| | | this.longTaskReason = longTaskReason; |
| | | } |
| | | |
| | | // ---------- ä¸è¿° 18 个æ¿è½½å段ç访é®å¨ ---------- |
| | | |
| | | public String getDelFlag() { |
| | | return delFlag; |
| | | } |
| | | |
| | | public void setDelFlag(String delFlag) { |
| | | this.delFlag = delFlag; |
| | | } |
| | | |
| | | public java.util.Date getEndOutHospTime() { |
| | | return endOutHospTime; |
| | | } |
| | | |
| | | public void setEndOutHospTime(java.util.Date endOutHospTime) { |
| | | this.endOutHospTime = endOutHospTime; |
| | | } |
| | | |
| | | public String getGuid() { |
| | | return guid; |
| | | } |
| | | |
| | | public void setGuid(String guid) { |
| | | this.guid = guid; |
| | | } |
| | | |
| | | public Long getIsupload() { |
| | | return isupload; |
| | | } |
| | | |
| | | public void setIsupload(Long isupload) { |
| | | this.isupload = isupload; |
| | | } |
| | | |
| | | public java.util.List<String> getLeavehospitaldistrictcodes() { |
| | | return leavehospitaldistrictcodes; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictcodes(java.util.List<String> leavehospitaldistrictcodes) { |
| | | this.leavehospitaldistrictcodes = leavehospitaldistrictcodes; |
| | | } |
| | | |
| | | public java.util.List<String> getLeaveldeptcodes() { |
| | | return leaveldeptcodes; |
| | | } |
| | | |
| | | public void setLeaveldeptcodes(java.util.List<String> leaveldeptcodes) { |
| | | this.leaveldeptcodes = leaveldeptcodes; |
| | | } |
| | | |
| | | public String getLibtemplatename() { |
| | | return libtemplatename; |
| | | } |
| | | |
| | | public void setLibtemplatename(String libtemplatename) { |
| | | this.libtemplatename = libtemplatename; |
| | | } |
| | | |
| | | public Integer getPageNum() { |
| | | return pageNum; |
| | | } |
| | | |
| | | public void setPageNum(Integer pageNum) { |
| | | this.pageNum = pageNum; |
| | | } |
| | | |
| | | public Integer getPageSize() { |
| | | return pageSize; |
| | | } |
| | | |
| | | public void setPageSize(Integer pageSize) { |
| | | this.pageSize = pageSize; |
| | | } |
| | | |
| | | public Long getPid() { |
| | | return pid; |
| | | } |
| | | |
| | | public void setPid(Long pid) { |
| | | this.pid = pid; |
| | | } |
| | | |
| | | public String getSendType() { |
| | | return sendType; |
| | | } |
| | | |
| | | public void setSendType(String sendType) { |
| | | this.sendType = sendType; |
| | | } |
| | | |
| | | public java.util.Date getStartOutHospTime() { |
| | | return startOutHospTime; |
| | | } |
| | | |
| | | public void setStartOutHospTime(java.util.Date startOutHospTime) { |
| | | this.startOutHospTime = startOutHospTime; |
| | | } |
| | | |
| | | public String getTaskDesc() { |
| | | return taskDesc; |
| | | } |
| | | |
| | | public void setTaskDesc(String taskDesc) { |
| | | this.taskDesc = taskDesc; |
| | | } |
| | | |
| | | public String getTaskName() { |
| | | return taskName; |
| | | } |
| | | |
| | | public void setTaskName(String taskName) { |
| | | this.taskName = taskName; |
| | | } |
| | | |
| | | public String getTextParam() { |
| | | return textParam; |
| | | } |
| | | |
| | | public void setTextParam(String textParam) { |
| | | this.textParam = textParam; |
| | | } |
| | | |
| | | public String getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(String type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public java.util.Date getUploadTime() { |
| | | return uploadTime; |
| | | } |
| | | |
| | | public void setUploadTime(java.util.Date uploadTime) { |
| | | this.uploadTime = uploadTime; |
| | | } |
| | | |
| | | |
| | | // ---------- è¡¥é½å段ç访é®å¨ ---------- |
| | | |
| | | public java.util.Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(java.util.Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public java.util.Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(java.util.Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.service.dto; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * éè®¿ä»»å¡æ§è¡è§åï¼{@code service_task_rule}ï¼çé访侧è§å¾ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * å¯¹åº {@code ServiceTaskRule}ï¼ç± {@code PatMedInhospServiceImpl#addSubTaskByRule} |
| | | * éè¿ {@code selectServiceTaskRuleByDeptOrWard} æ¥è¯¢ã该æ¥è¯¢<b>æå¤è¿å䏿¡</b>ã |
| | | * |
| | | * <h3>â ï¸ åæ®µå {@code wradRule} æ¯åå®ä½çæ¼åé误ï¼å»æä¿æåå</h3> |
| | | * å {@code ServiceTaskRule} éç
åºè§ååæ®µå°±å« {@code wradRule}ï¼ç¼ºäº dï¼ï¼ |
| | | * ä¸ {@code addSubTaskByRule} éè¯»çæ¯ {@code rule.getWradRule()}ã |
| | | * è¿éä¿æååï¼é¿å
"çèµ·æ¥åæ°å段"è读éã |
| | | * |
| | | * <h3>ä¸ä¸ªè§åå¼çè¯ä¹ï¼åå®ç° L1721-1726ï¼</h3> |
| | | * <pre> |
| | | * "1" = é¦è¦è§åï¼å
æ§è¡ï¼æå忬¡è¦è§åè·³è¿ï¼ |
| | | * "2" = 次è¦è§åï¼é¦è¦å
¨å¤±è´¥æ¶ææ§è¡ï¼ |
| | | * å
¶å®/null = ä¸åä¸ |
| | | * </pre> |
| | | */ |
| | | public class VisitTaskRuleDto implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** è§åID */ |
| | | private Long id; |
| | | |
| | | /** ç§å®¤è§åï¼"1"=é¦è¦ "2"=æ¬¡è¦ */ |
| | | private String deptRule; |
| | | |
| | | /** ç
åºè§åï¼â ï¸ åå®ä½æ¼åå³ä¸º {@code wradRule}ï¼ */ |
| | | private String wradRule; |
| | | |
| | | /** ç¾ç
è§å */ |
| | | private String diagRule; |
| | | |
| | | /** 离é¢ç§å®¤ç¼ç */ |
| | | private String deptcode; |
| | | |
| | | /** 离é¢ç
åºç¼ç */ |
| | | private String wardcode; |
| | | |
| | | /** æºæID */ |
| | | private String orgid; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getDeptRule() { |
| | | return deptRule; |
| | | } |
| | | |
| | | public void setDeptRule(String deptRule) { |
| | | this.deptRule = deptRule; |
| | | } |
| | | |
| | | public String getWradRule() { |
| | | return wradRule; |
| | | } |
| | | |
| | | public void setWradRule(String wradRule) { |
| | | this.wradRule = wradRule; |
| | | } |
| | | |
| | | public String getDiagRule() { |
| | | return diagRule; |
| | | } |
| | | |
| | | public void setDiagRule(String diagRule) { |
| | | this.diagRule = diagRule; |
| | | } |
| | | |
| | | public String getDeptcode() { |
| | | return deptcode; |
| | | } |
| | | |
| | | public void setDeptcode(String deptcode) { |
| | | this.deptcode = deptcode; |
| | | } |
| | | |
| | | public String getWardcode() { |
| | | return wardcode; |
| | | } |
| | | |
| | | public void setWardcode(String wardcode) { |
| | | this.wardcode = wardcode; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.utils; |
| | | |
| | | import com.ruoyi.common.utils.HttpUtil; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.http.HttpEntity; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.mail.Multipart; |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | @Component |
| | | public class PhoneUtils { |
| | | |
| | | @Value("${phoneIP}") |
| | | private String phoneIP; |
| | | |
| | | @Value("${phonePort}") |
| | | private String phonePort; |
| | | |
| | | /** |
| | | * æ·»å åæºadd_user |
| | | */ |
| | | public String addUser(String user, String pwd) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("user", user); |
| | | map.put("password", pwd); |
| | | return sendReq(map, "/tel/ai_api/add_user"); |
| | | } |
| | | |
| | | /** |
| | | * å é¤åæºdelete_user |
| | | * |
| | | * @return |
| | | */ |
| | | public String delUser(String user) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("user", user); |
| | | return sendReq(map, "/tel/ai_api/delete_user"); |
| | | } |
| | | |
| | | /** |
| | | * 3ãæ£æ¥åæºæ¯å¦åå¨check_user |
| | | * |
| | | * @return |
| | | */ |
| | | public String checkUser(String user) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("user", user); |
| | | return sendReq(map, "/tel/ai_api/check_user"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ååºå
¨é¨å叿è
æå®åå¸ list_agent |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public String listAgent(String name) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | return sendReq(map, "/tel/ai_api/list_agent"); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å åå¸add_agent |
| | | * åç³»ç»ä¸æ·»å ä¸ä¸ªåå¸ï¼åç»éè¦set_agent_state,set_agent_status,set_agent_contact, tier_add 设置åå¸ç¶ä½,sip_uriåæåå¸å å
¥/ç»å®ä¸ä¸ªå¼å«éå |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public String addAgent(String name, String type) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | if (StringUtils.isEmpty(type)) map.put("type", "callback"); |
| | | |
| | | return sendReq(map, "/tel/ai_api/add_agent"); |
| | | } |
| | | |
| | | /** |
| | | * å é¤åå¸del_agent |
| | | * ä»å¼å«éåå é¤åå¸ |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public String delAgent(String name) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | return sendReq(map, "/tel/ai_api/del_agent"); |
| | | } |
| | | |
| | | /** |
| | | * è·ååå¸å½åæå¨éè¯çuuid |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public String getAgentUUID(String name) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | return sendReq(map, "/tel/ai_api/get_agent_uuid"); |
| | | } |
| | | |
| | | /** |
| | | * æ·»å åå¸å(add_agent)ï¼éè¦è®¾ç½®åå¸å°å(sip uri)ï¼å叿å¯ä»¥è¢«è®¿é®å° |
| | | * |
| | | * @param name |
| | | * @param contact |
| | | * @return |
| | | */ |
| | | public String setAgentUUID(String name, String contact) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | map.put("contact", contact); |
| | | return sendReq(map, "/tel/ai_api/set_agent_contact"); |
| | | } |
| | | |
| | | /** |
| | | * 设置åå¸çstatusï¼æåºå®å ä¸ªç¶æ |
| | | * |
| | | * @param name |
| | | * @param status |
| | | * @return |
| | | */ |
| | | public String setAgentStatus(String name, String status) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | map.put("status", status); |
| | | return sendReq(map, "/tel/ai_api/set_agent_status"); |
| | | } |
| | | |
| | | /** |
| | | * è·ååå¸ç¶æ |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public String getAgentStatus(String name) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | return sendReq(map, "/tel/ai_api/get_agent_status"); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设设置åå¸ |
| | | * |
| | | * @param name |
| | | * @param state |
| | | * @return |
| | | */ |
| | | public String setAgentState(String name, String state) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | map.put("state", state); |
| | | return sendReq(map, "/tel/ai_api/set_agent_state"); |
| | | } |
| | | |
| | | /** |
| | | * è·ååå¸ç¶æ |
| | | * |
| | | * @param name |
| | | * @return |
| | | */ |
| | | public String getAgentState(String name) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("name", name); |
| | | return sendReq(map, "/tel/ai_api/get_agent_state"); |
| | | } |
| | | |
| | | /** |
| | | * æå¨å¤å¼ |
| | | * |
| | | * @return |
| | | */ |
| | | public String manualOutbound(String kg_uuid, String kg_file, String data, String app_id, String ani, String special_ch, String sign, String extension, String dnis, Boolean force_call) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("kg_uuid", kg_uuid); |
| | | map.put("kg_file", kg_file); |
| | | map.put("data", data); |
| | | map.put("app_id", app_id); |
| | | map.put("ani", ani); |
| | | map.put("special_ch", special_ch); |
| | | map.put("sign", sign); |
| | | map.put("extension", extension); |
| | | map.put("dnis", dnis); |
| | | map.put("force_call", force_call); |
| | | if (force_call == null) map.put("force_call", true); |
| | | return sendReq(map, "/tel/ai_api/manual_outbound"); |
| | | } |
| | | |
| | | /** |
| | | * ttsåæåææ¾ |
| | | * |
| | | * @param fileText |
| | | * @param uuid |
| | | * @return |
| | | */ |
| | | public String ttsPlayback(String fileText, String uuid) { |
| | | System.out.println("=====================é®é¢å
容ï¼" + fileText + "UUID ; " + uuid); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("text", fileText); |
| | | map.put("uuid", uuid); |
| | | |
| | | return sendReq(map, "/tel/ai_api/tts_playback"); |
| | | } |
| | | |
| | | /** |
| | | * wavæä»¶ææ¾æ¥å£ |
| | | * |
| | | * @param wav_file |
| | | * @param uuid |
| | | * @return |
| | | */ |
| | | public String manualOutbound(Multipart wav_file, String uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("wav_file", wav_file); |
| | | map.put("uuid", uuid); |
| | | |
| | | return sendReq(map, "/tel/ai_api/playback"); |
| | | } |
| | | |
| | | /** |
| | | * æºå¨äººå¤å¼ ob |
| | | * |
| | | * @return |
| | | */ |
| | | public String ob(String kg_uuid, String kg_file, String data, String app_id, String ani, String special_ch, String sign, String dnis, String call_uuid, Boolean force_call) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("kg_uuid", kg_uuid); |
| | | map.put("kg_file", kg_file); |
| | | map.put("data", data); |
| | | map.put("app_id", app_id); |
| | | map.put("ani", ani); |
| | | map.put("special_ch", special_ch); |
| | | map.put("sign", sign); |
| | | map.put("dnis", dnis); |
| | | map.put("call_uuid", call_uuid); |
| | | map.put("force_call", force_call); |
| | | map.put("fs_node_id", 8021); |
| | | if (force_call == null) map.put("force_call", true); |
| | | return sendReq(map, "/tel/ai_api/outbound"); |
| | | } |
| | | |
| | | /** |
| | | * ææéè¯ |
| | | * |
| | | * @return |
| | | */ |
| | | public String hangup(String kg_uuid, String dnis, String data, String app_id, String ani, String special_ch, String sign, String call_uuid) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("kg_uuid", kg_uuid); |
| | | map.put("kg_file", kg_uuid); |
| | | map.put("dnis", dnis); |
| | | map.put("data", data); |
| | | map.put("app_id", app_id); |
| | | map.put("ani", ani); |
| | | map.put("special_ch", special_ch); |
| | | map.put("sign", sign); |
| | | map.put("call_uuid", call_uuid); |
| | | map.put("fs_node_id", ""); |
| | | |
| | | |
| | | // map.put("app_id", app_id); |
| | | // map.put("kg_uuid", kg_uuid); |
| | | // map.put("ani", ani); |
| | | // map.put("dnis", dnis); |
| | | // map.put("call_direction", call_direction_str); |
| | | // map.put("hangup_cause", hangup_cause); |
| | | // map.put("endpoint_disposition", endpoint_disposition); |
| | | // map.put("wait_msec", wait_msec); |
| | | // map.put("duration_msec", duration_msec); |
| | | // map.put("answer_msec", answer_msec); |
| | | // map.put("bill_msec", bill_msec); |
| | | // map.put("start_stamp", start_stamp); |
| | | // map.put("answered_stamp", answered_stamp); |
| | | // map.put("end_stamp", end_stamp); |
| | | // map.put("vad_total_talk_time_msec", vad_total_talk_time_msec); |
| | | // map.put("time_stamp", time_stamp); |
| | | return sendReq(map, "/tel/ai_api/hangup"); |
| | | } |
| | | |
| | | private String sendReq(Map<String, Object> map, String path) { |
| | | HttpEntity<Map<String, Object>> req = new HttpEntity<>(getHead(), map); |
| | | if (StringUtils.isEmpty(phoneIP)) { |
| | | phoneIP = "http://124.220.50.51"; |
| | | phonePort = "8001"; |
| | | } |
| | | HttpEntity<String> stringHttpEntity = HttpUtil.postJsonRequestV2(phoneIP + ":" + phonePort + path, req, String.class); |
| | | String responseBody = null; |
| | | try { |
| | | responseBody = new String(stringHttpEntity.getBody().getBytes("ISO-8859-1"), "UTF-8"); |
| | | System.out.println("çµè¯ä¿¡æ¯è¿å : " + responseBody); |
| | | } catch (UnsupportedEncodingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return new String(stringHttpEntity.getBody().getBytes(StandardCharsets.UTF_8)); |
| | | } |
| | | |
| | | private Map<String, String> getHead() { |
| | | HashMap<String, String> header = new HashMap<>(); |
| | | header.put("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko"); |
| | | header.put("Content-Type", "application/json"); |
| | | return header; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ruoyi</artifactId> |
| | | <groupId>com.ruoyi</groupId> |
| | | <version>3.8.5</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | |
| | | <artifactId>ruoyi-inhospvisit</artifactId> |
| | | |
| | | <description> |
| | | åºå
¥é¢é访模åï¼åºé¢é访ï¼ç§å®¤/ç
åº/ç¾ç
ï¼+ å
¥é¢é访 + åå
¥é¢åæº + ä»»å¡ç»é¦è½®çº³å
¥/轮次æ»å¨çå¯ä¸å®ç°å¤ã |
| | | æ¬æ¨¡åèªå¸¦ Mapper ä¸ SQLï¼åªè¯» pat_med_inhosp çéè®¿åæ®µ + åéè®¿ç¶ææ å¿ä½ï¼ï¼ |
| | | å
¶å®æ¨¡åéè¦åºå
¥é¢é访è½ååªè½éè¿ com.ruoyi.inhospvisit.api è°ç¨ã |
| | | æ¯æéè¿ sys_config åæ°è¡¨éç inhospvisit.enabled æ´ä½å
³éï¼è¿è¡æ¶è¯»åï¼æ¹å®æå¤ 10 ç§çæï¼ã |
| | | |
| | | ä¾èµæ¹åï¼å¡å¿
ä¿æï¼ï¼ |
| | | æ¬æ¨¡åãåªä¾èµ ruoyi-commonãï¼ç»ä¸ä¾èµ smartor ââ å¦åä¼å½¢æ |
| | | smartor -> ruoyi-inhospvisit -> smartor ç循ç¯ä¾èµï¼Maven ç´æ¥æå»ºå¤±è´¥ã |
| | | éè¦"建éè®¿ä»»å¡ / 宣æ / ææ¯é访"æ¶ï¼ä¸å¾èµ° ruoyi-common é䏿²çæ¥å£ |
| | | ï¼VisitTaskCreateApi / PublicityApi / OtherVisitApiï¼ï¼è¿è¡æ¶æç±»åæ¥æ¾å®ç°ï¼åä¸å°å°±é级ã |
| | | </description> |
| | | |
| | | <dependencies> |
| | | <!-- 宿¶ä»»å¡ï¼ä»»å¡ç»ã轮次æ»å¨ãåæ¬æ³¨åå¨ ruoyi-quartz ç RyTask éï¼ |
| | | æ¬æ¨¡ååªåå®ç°ï¼ä¸æ³¨å Jobï¼ï¼ä¿ç quartz ä¾èµä»¥ä¾¿å°æ¥æè°åº¦ä¹æ¶è¿æ¥ --> |
| | | <dependency> |
| | | <groupId>org.quartz-scheduler</groupId> |
| | | <artifactId>quartz</artifactId> |
| | | <exclusions> |
| | | <exclusion> |
| | | <groupId>com.mchange</groupId> |
| | | <artifactId>c3p0</artifactId> |
| | | </exclusion> |
| | | </exclusions> |
| | | </dependency> |
| | | |
| | | <!-- éç¨å·¥å
·ï¼BaseController / ExcelUtil / PageUtils / Arith / SecurityUtils / DtoConversionUtils |
| | | åæ¶ä¼ é带å
¥ pagehelper(å« mybatis)ãswagger-annotationsãcommons-lang3ãjackson ç --> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-common</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- lombokï¼ruoyi-common éæ¯ç´æ¥ä¾èµï¼æ¤å¤æ¾å¼å£°æçæ¬ï¼é¿å
注解å¤çå¨ç¼ºå¤± --> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.34</version> |
| | | </dependency> |
| | | |
| | | <!-- MyBatisï¼Mapper æ¥å£ä¸ XMLï¼pagehelper å·²ä¼ é带å
¥ï¼è¿éåªæ¯æ¾å¼åæå¾ï¼ --> |
| | | <dependency> |
| | | <groupId>org.mybatis.spring.boot</groupId> |
| | | <artifactId>mybatis-spring-boot-starter</artifactId> |
| | | <version>2.2.2</version> |
| | | </dependency> |
| | | |
| | | <!-- Servlet APIï¼HttpServletResponseï¼Controller 导åºç¨ï¼ --> |
| | | <dependency> |
| | | <groupId>javax.servlet</groupId> |
| | | <artifactId>javax.servlet-api</artifactId> |
| | | <version>4.0.1</version> |
| | | <scope>provided</scope> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模åå
æ ¹ã |
| | | * <p> |
| | | * ç®å½çº¦å®ï¼ |
| | | * <ul> |
| | | * <li>{@code com.ruoyi.inhospvisit.api} ââ <b>å¯ä¸å¯¹å¤å
</b>ï¼å
¶å®æ¨¡ååªè½ä¾èµè¿ä¸ªå
ï¼</li> |
| | | * <li>{@code controller} / {@code service} / {@code mapper} / {@code domain} ââ æ¨¡åå
é¨å®ç°ï¼ |
| | | * å
¶å®æ¨¡åä¸åºç´æ¥å¼ç¨ã</li> |
| | | * </ul> |
| | | * 模åå¯éè¿ {@code sys_config} åæ°è¡¨ç {@code inhospvisit.enabled=false} æ´ä½å
³é |
| | | * ï¼è¿è¡æ¶è¯»åï¼æ¹å®æå¤ 10 ç§çæï¼ï¼å
³éåé¨é¢è¿åå®å
¨å¼å¹¶æ WARNï¼ |
| | | * ç´æ¥è®¿é®åºå
¥é¢é访端ç¹ç请æ±ä¼è¢«æ¦æªå¨æ¦ä¸å¹¶è¿åæç¡®ç"æªå¯ç¨"ä¸å¡é误ã |
| | | * <p> |
| | | * <b>â ï¸ å¼å
³çä½ç¨èå´ï¼2025 æ´æ£ï¼</b>ï¼ |
| | | * <ul> |
| | | * <li><b>HTTP 触å端ç¹</b>ï¼ç± {@code InhospVisitAvailabilityInterceptor} æ¦ä¸ï¼æ¥æç¡®ä¸å¡é误ï¼</li> |
| | | * <li><b>宿¶ä»»å¡</b>ï¼<b>忬å¼å
³æ§å¶</b>ï¼{@code RyTask} ç 5 个å
¥å£ï¼ |
| | | * dealOutHospInfo / dealOutHospInfoBySchedule / dealTaskGroupOutHosp / |
| | | * rollTaskGroupCycle èµ°é¨é¢ï¼dealSubtaskDeadline èµ°å
¥å£å®å«ï¼ï¼</li> |
| | | * <li><b>跨模åè°ç¨</b>ï¼é¨é¢ç»ä¸å¤å¼å
³ï¼</li> |
| | | * <li><b>åºç¡åºå
¥é¢ä¿¡æ¯è¯»å</b>ï¼{@code InhospVisitDataService}ï¼ï¼<b>廿ä¸åå¼å
³ç®¡</b> ââ |
| | | * å¦åå
³æé访ä¼è¿å¸¦è®© HIS ééä¸è®°å½ç®¡çç«çªã</li> |
| | | * </ul> |
| | | * <p> |
| | | * â ï¸ <b>æ¬æ³¨éæ¤ååçæ¯"å¼å
³ä¸ä½ç¨äºå®æ¶ä»»å¡"</b>ï¼çç±æ¯"å
³æ = å½å¤©å
¨é¢é访åæï¼ |
| | | * è sys_config æ¯ç读çã䏿¬¡è¯¯æä½æ²¡æå馿¸ é"ã该说æ³<b>ä¸äºå®ä¸ç¬¦ä¸å·²æ´æ£</b>ï¼ |
| | | * 彿¶å®æ¶ä»»å¡èµ°çæ¯ smartor éçéçå®ç° {@code PatMedInhospServiceImpl}ï¼ |
| | | * å®<b>ä»ä¸è°ç¨é¨é¢çç¼ææ¹æ³</b>ï¼åªç¨é¨é¢åæ°æ®ï¼ï¼æä»¥çå®ç¶ææ¯ |
| | | * "å¼å
³å¯¹å®æ¶ä»»å¡æ æã䏿²¡æä»»ä½æç¤º" ââ æ¯"åæ§"æ´ç³ï¼å 为å®è®©äººä»¥ä¸ºå·²ç»å
³æäºã |
| | | * ç°å¨å®æ¶ä»»å¡æ¹èµ°é¨é¢ï¼å
³éæ¶æ¥å¿ä¼æç¡®æåºãæ¨¡åæªå¯ç¨â¦è·³è¿ãï¼ |
| | | * åæ°å¨ãç³»ç»ç®¡ç â åæ°è®¾ç½®ãéå¯è§å¯æ¹ï¼å馿¸ 鿝éç
çã |
| | | * è¯¦è§ {@code doc/模åå¼å
³æææ§æ ¸æ¥ä¸ä¿®å¤.md}ã |
| | | */ |
| | | public final class InhospVisitModule { |
| | | |
| | | /** |
| | | * 模åé
ç½®åç¼ï¼ä»
ä½ä¸º yml å
åºé
ç½®çé®åç¼ï¼ä¸»å¼å
³å¨ sys_config åæ°è¡¨éï¼ |
| | | */ |
| | | public static final String PROPERTIES_PREFIX = "inhospvisit"; |
| | | |
| | | /** |
| | | * sys_config åæ°è¡¨éçå¼å
³é®å |
| | | */ |
| | | public static final String SWITCH_KEY = "inhospvisit.enabled"; |
| | | |
| | | private InhospVisitModule() { |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.ArchiveReadApi; |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import com.ruoyi.inhospvisit.mapper.VisitArchiveMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * {@link ArchiveReadApi} çå®ç°ï¼<b>常驻 Bean</b>ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹å®ç°å¨æ¬æ¨¡å</h3> |
| | | * åºå
¥é¢é访模åèªç¬¬ 6 æ¥èµ·å°±èªå¸¦ {@link VisitArchiveMapper} |
| | | * ï¼åªè¯» {@code pat_archive} ç 10 åï¼ä¸ smartor ç |
| | | * {@code PatArchiveMapper.selectPatArchiveByPatid} çä»·ï¼ã |
| | | * æ¬ç±»åªæ¯æå®å
æ ruoyi-common çå¥çº¦ï¼ä¾å
¶å®é访模åç»å¥çº¦è°ç¨ï¼ |
| | | * é¿å
æ¯ä¸ªæ¨¡åååä¸ä»½å表åªè¯» SQLã |
| | | * |
| | | * <h3>â ï¸ çº¯è½¬å</h3> |
| | | * ä¸å å·¥æ¡ä»¶ãä¸è¡¥é»è®¤å¼ãæ¥è¯¢æ¡ä»¶å°±æ¯åå®ç°ç |
| | | * {@code where id = #{patid} and del_flag = 0}ã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class DefaultArchiveReadApi implements ArchiveReadApi { |
| | | |
| | | @Autowired |
| | | private VisitArchiveMapper visitArchiveMapper; |
| | | |
| | | @Override |
| | | public VisitArchiveRow findByPatid(Long patid) { |
| | | if (patid == null) { |
| | | return null; |
| | | } |
| | | return visitArchiveMapper.selectByPatid(patid); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto; |
| | | import com.ruoyi.inhospvisit.service.InhospVisitTaskService; |
| | | import com.ruoyi.inhospvisit.service.TaskGroupCycleRoller; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * {@link InhospVisitApi} çå¯ä¸å
é¨å®ç°ï¼<b>常驻 Bean</b>ï¼ã |
| | | * |
| | | * <p>â ï¸ <b>è°ç¨æ¹ä¸è¦ç´æ¥æ³¨å
¥æ¬ç±»</b>ï¼åºæ³¨å
¥å¸¸é©»é¨é¢ {@link InhospVisitFacade} |
| | | * ââ é¨é¢è´è´£å¼å
³å¤æä¸éçº§ï¼æ¬ç±»åªå转åã |
| | | * |
| | | * <p>â ï¸ <b>廿ä¸å {@code @ConditionalOnProperty}</b>ï¼è¯¥æ³¨è§£åªå¨å¯å¨æ¶æ±å¼ä¸æ¬¡ï¼ |
| | | * æ æ³æ¯æ"æ¹å® {@code sys_config} 忰峿¶çæ"ï¼å¼å
³å¤æç»ä¸ç±é¨é¢å¨è¿è¡æ¶åã |
| | | * |
| | | * <h3>å½åæ¥å
¥ç¶æï¼ç¬¬ 10 æ¥ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¹æ³</th><th>ç¶æ</th></tr> |
| | | * <tr><td>{@link #dealOutHospInfo(String)}</td> |
| | | * <td>â
å·²æ¥å
¥ {@link InhospVisitTaskService}ï¼ç¬¬ 10 æ¥åæ¢ï¼</td></tr> |
| | | * <tr><td>{@link #rollTaskGroupCycle()}</td> |
| | | * <td>â
å·²æ¥å
¥ {@link TaskGroupCycleRoller}ï¼ç¬¬ 9 æ¥æ¬è¿ï¼</td></tr> |
| | | * <tr><td>{@link #dealOutHospInfoBySchedule(String)}</td> |
| | | * <td>â¸ æªæ¥å
¥ï¼è¯¥æ¹æ³æ¬æ¬¡ä¸æ¬ï¼å«ææ¯åæ¯ä¸ä»»å¡ç» builderï¼å±ç¬¬äºæ¹ |
| | | * {@code ruoyi-othervisit} èå´ï¼ï¼ä»ç± smartor çå®ç°æ¿æ¥ã |
| | | * {@code RyTask} 卿¬æ¥<b>䏿¹è¿ä¸å¤</b>ã</td></tr> |
| | | * <tr><td>{@link #buildAgainVisitDraft}</td> |
| | | * <td>â¸ æªæ¥å
¥ï¼ãé访è¶
æ¶â忬¡é访ãé¾è·¯ï¼åå®ç°è° |
| | | * {@code boxedServiceSubtask}ï¼éæ {@code pat_med_operation_item} 维度ä¹èèè¿æ¥ã |
| | | * æ¬æ¬¡ä¿æç°ç¶ï¼è¿åç©ºç»æ = ä¸çæï¼ï¼å¹¶å¨ {@code RyTask} ä¾§æä¸æ¹è¿ä¸å¤ã</td></tr> |
| | | * <tr><td>{@link #generatePublicitySubtask}</td> |
| | | * <td>â
å·²æ¥å
¥ï¼å®£ææ¨¡ååè°æ¬æ¨¡å建åä»»å¡ï¼</td></tr> |
| | | * </table> |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class DefaultInhospVisitApi implements InhospVisitApi { |
| | | |
| | | @Autowired |
| | | private InhospVisitTaskService inhospVisitTaskService; |
| | | |
| | | @Autowired |
| | | private TaskGroupCycleRoller taskGroupCycleRoller; |
| | | |
| | | @Autowired |
| | | private com.ruoyi.inhospvisit.service.InhospSubtaskWriter inhospSubtaskWriter; |
| | | |
| | | @Autowired |
| | | private com.ruoyi.inhospvisit.mapper.VisitInhospMapper inhospMapper; |
| | | |
| | | @Autowired |
| | | private com.ruoyi.inhospvisit.mapper.VisitArchiveMapper archiveMapper; |
| | | |
| | | @Autowired |
| | | private org.springframework.beans.factory.ObjectProvider<com.ruoyi.common.core.service.OtherVisitApi> otherVisitApiProvider; |
| | | |
| | | @Autowired |
| | | private org.springframework.beans.factory.ObjectProvider<com.ruoyi.common.core.service.OuthospVisitApi> outhospVisitApiProvider; |
| | | |
| | | private com.ruoyi.common.core.service.OtherVisitApi otherVisitApi() { |
| | | if (otherVisitApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return otherVisitApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å OtherVisitApi 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | private com.ruoyi.common.core.service.OuthospVisitApi outhospVisitApi() { |
| | | if (outhospVisitApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return outhospVisitApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å OuthospVisitApi 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public boolean isEnabled() { |
| | | // é¨é¢å·²ç»å¤è¿å¼å
³ï¼è¿é表示"å®ç°åå¨" |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public int dealOutHospInfo(String config) { |
| | | return inhospVisitTaskService.dealOutHospInfo(config); |
| | | } |
| | | |
| | | /** |
| | | * â
å·²æ¥å
¥ï¼è½¬åå° {@code com.ruoyi.common.core.service.OtherVisitApi}ï¼smartor è¿æ¸¡å®ç°ï¼ã |
| | | * <p> |
| | | * è¯¥æ¹æ³<b>æ¬èº«æªæ¬è¿</b>ï¼å«ææ¯åæ¯ä¸ä»»å¡ç» builderï¼å±ç¬¬äºæ¹ {@code ruoyi-othervisit}ï¼ï¼ |
| | | * ä½ç«¯ç¹å·²è¿è¿æ¬æ¨¡åï¼æä»¥è¿éåªå转å ââ è¡ä¸ºä¸å Controller ç´æ¥è° |
| | | * {@code iPatMedInhospService.dealOutHospInfoBySchedule(config)} å®å
¨ä¸è´ã |
| | | */ |
| | | @Override |
| | | public int dealOutHospInfoBySchedule(String config) { |
| | | com.ruoyi.common.core.service.OtherVisitApi api = otherVisitApi(); |
| | | if (api == null) { |
| | | log.warn("ãåºå
¥é¢é访ãOtherVisitApi ä¸å¯ç¨ï¼dealOutHospInfoBySchedule è·³è¿ãconfig={}", config); |
| | | return 0; |
| | | } |
| | | return api.dealOutHospInfoBySchedule(config); |
| | | } |
| | | |
| | | /** |
| | | * â
å·²æ¥å
¥ï¼è½¬åå° {@code com.ruoyi.common.core.service.OtherVisitApi}ï¼smartor è¿æ¸¡å®ç°ï¼ã |
| | | * <p> |
| | | * ææ¯éè®¿æ¬æ¬¡æªæ¬ï¼å±ç¬¬äºæ¹ {@code ruoyi-othervisit}ï¼ï¼ç«¯ç¹å·²è¿è¿æ¬æ¨¡åï¼æ
æ¤å¤åªè½¬åã |
| | | */ |
| | | @Override |
| | | public int addOperationSubTask(String config) { |
| | | com.ruoyi.common.core.service.OtherVisitApi api = otherVisitApi(); |
| | | if (api == null) { |
| | | log.warn("ãåºå
¥é¢é访ãOtherVisitApi ä¸å¯ç¨ï¼addOperationSubTask è·³è¿ãconfig={}", config); |
| | | return 0; |
| | | } |
| | | return api.addOperationSubTask(config); |
| | | } |
| | | |
| | | /** |
| | | * â
å·²æ¥å
¥ï¼è½¬åå° {@code com.ruoyi.common.core.service.OuthospVisitApi}ï¼smartor è¿æ¸¡å®ç°ï¼ã |
| | | * <p> |
| | | * é¨è¯é访å±ç¬¬äºæ¹ {@code ruoyi-outpatientvisit}ï¼æ¬æ¬¡åªæ¥è½¬åã |
| | | * ç«ç¹å¤æï¼{@code active != "xh"}ï¼å¨ Controller éï¼ä¸åå®ç°ä½ç½®ä¸è´ã |
| | | */ |
| | | @Override |
| | | public int dealOutpatientInfo() { |
| | | com.ruoyi.common.core.service.OuthospVisitApi api = outhospVisitApi(); |
| | | if (api == null) { |
| | | log.warn("ãåºå
¥é¢é访ãOuthospVisitApi ä¸å¯ç¨ï¼é¨è¯éè®¿æ¨¡åæªè£
é
ï¼ï¼dealOutpatientInfo è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | return api.dealOutpatientInfo(); |
| | | } |
| | | |
| | | @Override |
| | | public int rollTaskGroupCycle() { |
| | | return taskGroupCycleRoller.rollCycleTasks(); |
| | | } |
| | | |
| | | /** |
| | | * â¸ æªæ¥å
¥ï¼è§ç±»æ³¨éï¼ï¼è¿å"æªæ¾å°åºå
¥é¢è®°å½"ï¼è°ç¨æ¹ä¼è·³è¿è¯¥æ¡ï¼ä¸åå®ç°ç continue è¯ä¹ä¸è´ï¼ |
| | | * ä½ä¸ä¼å 为"æ¨¡åæªæ¥å
¥"è误çæåä»»å¡ï¼ã |
| | | */ |
| | | @Override |
| | | public VisitAgainSubtaskDto buildAgainVisitDraft(String orgid, Long inhospid, Long newTaskId, Long sendstate) { |
| | | log.warn("ãåºå
¥é¢é访ãbuildAgainVisitDraft æ¬æ¬¡æªæ¥å
¥ï¼é访è¶
æ¶â忬¡é访é¾è·¯å±åç»èå´ï¼ï¼" |
| | | + "è¿åç©ºç»æãorgid={}, inhospid={}", orgid, inhospid); |
| | | return InhospVisitFacade.emptyAgainDraft("æ¬æ¬¡æªæ¥å
¥ï¼åç»èå´ï¼"); |
| | | } |
| | | |
| | | /** |
| | | * å®£ææ¨¡ååè°ï¼ä¸ºææ£è
çæä¸æ¡å®£æç±»åä»»å¡ï¼type=0/4/5ï¼ã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code dealOutHospInfo} éé£ä¸¤æ®µå®£æçæç»å¨ä½ |
| | | * ââ å³ {@code writeInSubTask(taskId, true, patMedInhosp, patArchive, type, config)}ã |
| | | * è¿éæ inhospid éæ°å è½½åºå
¥é¢è®°å½ä¸æ£è
æ¡£æ¡ï¼ç¶åå§æç» |
| | | * {@link com.ruoyi.inhospvisit.service.InhospSubtaskWriter}ï¼<b>boxed ç type=0/4/5 忝å
¨ä»åªæä¸ä»½</b>ï¼ã |
| | | */ |
| | | @Override |
| | | public boolean generatePublicitySubtask(Long taskid, Long patid, Long inhospid, int type, String config) { |
| | | if (inhospid == null) { |
| | | log.warn("ãåºå
¥é¢é访ãgeneratePublicitySubtask ç¼ºå° inhospidï¼è·³è¿ãtaskid={}, patid={}, type={}", |
| | | taskid, patid, type); |
| | | return false; |
| | | } |
| | | com.ruoyi.inhospvisit.domain.row.VisitInhospRow inhosp = inhospMapper.selectByInhospid(inhospid); |
| | | if (inhosp == null) { |
| | | log.warn("ãåºå
¥é¢é访ãgeneratePublicitySubtask æ¥ä¸å°åºå
¥é¢è®°å½ï¼è·³è¿ãinhospid={}", inhospid); |
| | | return false; |
| | | } |
| | | // æ£è
æ¡£æ¡ï¼åå®ç°ä¼ patMedInhosp.patidï¼ä¸æ¯å®£ææ¨¡åä¼ æ¥ç patidï¼ï¼è¿éä¿æä¸è´ |
| | | com.ruoyi.common.core.service.dto.VisitArchiveRow archive = archiveMapper.selectByPatid(inhosp.getPatid()); |
| | | if (archive == null) { |
| | | log.warn("ãåºå
¥é¢é访ãgeneratePublicitySubtask æ¥ä¸å°æ£è
æ¡£æ¡ï¼è·³è¿ãpatid={}", inhosp.getPatid()); |
| | | return false; |
| | | } |
| | | // check=trueï¼è®© writeInSubTask å
é¨åå»é/åå
¥é¢æ ¡éªï¼åå®ç°ä¸¤æ®µå®£æé½æ¯ trueï¼ |
| | | inhospSubtaskWriter.writeInSubTask(taskid, true, inhosp, archive, type, config); |
| | | return true; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.dto.PatMedReq; |
| | | import com.ruoyi.common.core.service.dto.PatMedRes; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhosp; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospDTO; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospVO; |
| | | import com.ruoyi.inhospvisit.mapper.PatMedInhospMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * {@link InhospVisitDataService} çå¯ä¸å®ç°ï¼<b>常驻 Bean</b>ï¼ã |
| | | * |
| | | * <p>æ¬ç±»æ¯å¯¹ {@link PatMedInhospMapper} ç<b>éæ¹æ³çº¯è½¬å</b>ï¼ä¸å«ä»»ä½ä¸å¡å¤æï¼ |
| | | * <ul> |
| | | * <li><b>ä¸åå¼å
³å¤æ</b> ââ è§ {@link InhospVisitDataService} 类注éï¼ |
| | | * åºç¡æ°æ®è¯»åä¸å {@code inhospvisit.enabled} 管è¾ï¼</li> |
| | | * <li><b>ä¸è¡¥é»è®¤å¼/䏿¹æ¶é´æ³</b> ââ è°ç¨æ¹åæ¬å°±èªè¡è®¾ç½®ï¼ä¿æè¯ä¹é¶ååï¼</li> |
| | | * <li><b>ä¸å {@code @ConditionalOnProperty}</b> ââ 该注解åªå¨å¯å¨æ¶æ±å¼ä¸æ¬¡ï¼ |
| | | * ä¸"æ¹å® {@code sys_config} 峿¶çæ"å²çªï¼å {@code ruoyi-satisfaction} çæè®ï¼ã</li> |
| | | * </ul> |
| | | * |
| | | * <p>â ï¸ è°ç¨æ¹è¯·æ³¨å
¥å¸¸é©»é¨é¢ {@link InhospVisitFacade} ææ¬æ¥å£ï¼ |
| | | * <b>ä¸è¦</b>ç´æ¥æ³¨å
¥ {@link PatMedInhospMapper} ââ 飿 ·ä¼ç»è¿æ¨¡åè¾¹çã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class DefaultInhospVisitDataService implements InhospVisitDataService { |
| | | |
| | | @Autowired |
| | | private PatMedInhospMapper patMedInhospMapper; |
| | | |
| | | @Override |
| | | public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid) { |
| | | return patMedInhospMapper.selectPatMedInhospByInhospid(inhospid); |
| | | } |
| | | |
| | | @Override |
| | | public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp) { |
| | | return patMedInhospMapper.selectPatMedInhosp(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public List<PatMedInhosp> selectOutInhospByPatnoAndOutDate(String patno, Date dayStart, Date dayEnd) { |
| | | return patMedInhospMapper.selectOutInhospByPatnoAndOutDate(patno, dayStart, dayEnd); |
| | | } |
| | | |
| | | @Override |
| | | public String getTagnameBypatid(Long patid) { |
| | | return patMedInhospMapper.getTagnameBypatid(patid); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getTagnameByPatids(List<Long> patids) { |
| | | return patMedInhospMapper.getTagnameByPatids(patids); |
| | | } |
| | | |
| | | @Override |
| | | public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) { |
| | | return patMedInhospMapper.selectPatMedInhospList(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public List<PatMedInhosp> selectPatMedInhospListBySerialnum(PatMedInhosp patMedInhosp) { |
| | | return patMedInhospMapper.selectPatMedInhospListBySerialnum(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO) { |
| | | return patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | } |
| | | |
| | | @Override |
| | | public PatMedRes selectPatMedInhospCount(PatMedReq patMedReq) { |
| | | return patMedInhospMapper.selectPatMedInhospCount(patMedReq); |
| | | } |
| | | |
| | | @Override |
| | | public List<PatMedInhosp> selectNeedProcessList() { |
| | | return patMedInhospMapper.selectNeedProcessList(); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½ï¼éè¿å
¥é¢ç³è¯·åä¿¡æ¯ï¼ã |
| | | * |
| | | * <p>â ï¸ <b>éè¡ä¿çåå®ç°ç缺é·</b>ï¼{@code PatMedInhospServiceImpl#selectPatMedInhospByApplication} |
| | | * å L196-211ï¼ï¼ç¬¬ä¸ä¸ªå¤ææ¯ {@code if (!CollectionUtils.isEmpty(rows)) return null;} ââ |
| | | * æ¡ä»¶ååäºï¼æ¥å°è®°å½åèè¿å {@code null}ã |
| | | * <p> |
| | | * åæï¼<b>åå®ç°é"è¡¥ finishFlag"çå¾ªç¯æ°¸è¿æ§è¡ä¸å°</b>ï¼æä»¥é£ä¸ªå¾ªç¯ä½ä¾èµç |
| | | * {@code serviceSubtaskMapper.selectServiceSubtaskList(...)}ï¼{@code service_subtask} è¡¨ï¼ |
| | | * 卿¬æ¨¡åé<b>ä¸éè¦</b>åå¨ ââ è¿ä¹æ¯æ¬æ¹æ³è½å¹²åæ¬è¿æ¨¡åçåå ã |
| | | * <p> |
| | | * è¿ç§»å·®å¼ç»è®°ï¼å¯ä¸ä¸å¤ï¼ï¼åå®ç°é飿®µ<b>ä¸å¯è¾¾</b>ç循ç¯ä»£ç æªéè¿ï¼ |
| | | * æ¹ä¸ºä¸é¢ç注é说æã<b>å¯è§å¯è¡ä¸ºå®å
¨ä¸è´</b>ï¼å 为å®å¨åå®ç°éä¹ä»ä¸æ§è¡ï¼ã |
| | | * è¿æ ·æ¢é¿å
äº"ææ»ä»£ç æ¬è¿æ°æ¨¡å"ï¼åä¸ä¼è®©åæ¥è
以为è¿éæ¬æ¥å°±è¯¥æ²¡æ finishFlag é»è¾ã |
| | | */ |
| | | @Override |
| | | public List<PatMedInhospDTO> selectPatMedInhospByApplication(PatMedInhosp patMedInhosp) { |
| | | List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); |
| | | if (!org.springframework.util.CollectionUtils.isEmpty(patMedInhosps)) { |
| | | // â ï¸ åæ ·ä¿ççååå¤æï¼æ¥å°è®°å½æ¶ç´æ¥è¿å nullï¼åå®ç° L198-200 䏿¨¡ä¸æ ·ï¼ |
| | | return null; |
| | | } |
| | | // åå®ç°å¨æ¤å¤è¿æä¸æ®µå¾ªç¯ï¼ä¸ºæ¯æ¡è®°å½æ¥ service_type="4" çåä»»å¡ä»¥è¡¥ finishFlagã |
| | | // ç±äºä¸é¢é£ä¸ªåå夿ï¼å®ãæ°¸è¿ä¸å¯è¾¾ãï¼æ
æªéè¿ã |
| | | // ä¿®ç¼ºé·æ¶è¦è¿åå®ä¸èµ·æ¢å¤ï¼è§ InhospVisitDataService#selectPatMedInhospByApplication ç说æã |
| | | return DtoConversionUtils.sourceToTarget(patMedInhosps, PatMedInhospDTO.class); |
| | | } |
| | | |
| | | @Override |
| | | public int insertPatMedInhosp(PatMedInhosp patMedInhosp) { |
| | | return patMedInhospMapper.insertPatMedInhosp(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public int insertPatMedInhospBatch(List<PatMedInhosp> list) { |
| | | return patMedInhospMapper.insertPatMedInhospBatch(list); |
| | | } |
| | | |
| | | @Override |
| | | public int updatePatMedInhosp(PatMedInhosp patMedInhosp) { |
| | | return patMedInhospMapper.updatePatMedInhosp(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public int deletePatMedInhospByInhospid(Long inhospid) { |
| | | return patMedInhospMapper.deletePatMedInhospByInhospid(inhospid); |
| | | } |
| | | |
| | | @Override |
| | | public int deletePatMedInhospByInhospno(String inhospno) { |
| | | return patMedInhospMapper.deletePatMedInhospByInhospno(inhospno); |
| | | } |
| | | |
| | | @Override |
| | | public int deletePatMedInhospByInhospids(Long[] inhospids) { |
| | | return patMedInhospMapper.deletePatMedInhospByInhospids(inhospids); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.PreachformApi; |
| | | import com.ruoyi.common.core.service.dto.VisitPreachformRow; |
| | | import com.ruoyi.inhospvisit.mapper.VisitPreachformMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * {@link PreachformApi} çå¯ä¸å®ç°ï¼<b>常驻 Bean</b>ï¼ã |
| | | * |
| | | * <h3>å®åä»ä¹</h3> |
| | | * æ {@code service_subtask_preachform} çè¯»åæ¶æå°æ¬æ¨¡åç |
| | | * {@link VisitPreachformMapper}ï¼å¯¹ {@link PreachformApi} éæ¹æ³çº¯è½¬åã |
| | | * <p> |
| | | * æ¬ç±»åå¨çæä¹æ¯"跨模å SQL æ¶å£"ï¼æ¶å£å smartor é妿䏿´ä»½å表ç |
| | | * {@code ServiceSubtaskPreachformMapper} + XMLï¼ä¸æ 15 个æä»¶ç´è¿å® ââ |
| | | * åä¸ä¸ªè¡¨ä¸¤å¥ CRUDï¼æ¹ä¸è¾¹å°±å¯è½ä¸å¦ä¸è¾¹æ¼ç§»ãæ¶å£åå¤é¨åªç»æ¬æ¨¡å访é®ã |
| | | * |
| | | * <h3>â ï¸ ä¸å«ä»»ä½ä¸å¡å¤æï¼ä¹ä¸å¤å¼å
³</h3> |
| | | * éæ¹æ³ä¸å Mapper 对åºï¼æ¡ä»¶/å/顺åºç
§æã |
| | | * "ä»ä¹æ¶å该æä¸æ¡ãç½®ä»ä¹ç¶æ"å±äºè°ç¨æ¹çä¸å¡ã |
| | | * å¼å
³ï¼{@code inhospvisit.enabled}ï¼åªç®¡"è¦ä¸è¦çæé访"ï¼ä¸è¯¥è®©æ°æ®è®¿é®æ´ä½ä¸å¯ç¨ã |
| | | * |
| | | * <h3>â ï¸ ä¸ä¸ª softDelete* æ¯è½¯å </h3> |
| | | * åå®ç°éé£ä¸ä¸ª {@code deleteServiceSubtaskPreachform* } çè¯å¥é½æ¯ |
| | | * {@code update ... set del_flag = 1}ï¼æ¬ç±»æå®é
è¡ä¸ºå½åä¸è½¬åã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class DefaultPreachformApi implements PreachformApi { |
| | | |
| | | @Autowired |
| | | private VisitPreachformMapper mapper; |
| | | |
| | | @Override |
| | | public VisitPreachformRow findById(Long id) { |
| | | return mapper.selectById(id); |
| | | } |
| | | |
| | | @Override |
| | | public List<VisitPreachformRow> findList(VisitPreachformRow query) { |
| | | List<VisitPreachformRow> rows = mapper.selectList(query); |
| | | return rows == null ? Collections.<VisitPreachformRow>emptyList() : rows; |
| | | } |
| | | |
| | | @Override |
| | | public List<VisitPreachformRow> findByTaskidAndOrgid(Long taskid, String orgid) { |
| | | List<VisitPreachformRow> rows = mapper.selectByTaskidAndOrgid(taskid, orgid); |
| | | return rows == null ? Collections.<VisitPreachformRow>emptyList() : rows; |
| | | } |
| | | |
| | | @Override |
| | | public boolean insert(VisitPreachformRow row) { |
| | | return mapper.insert(row) == 1; |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateById(VisitPreachformRow row) { |
| | | return mapper.updateById(row) == 1; |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateByCondition(VisitPreachformRow row) { |
| | | return mapper.updateByCondition(row) == 1; |
| | | } |
| | | |
| | | @Override |
| | | public boolean softDeleteById(Long id) { |
| | | return mapper.softDeleteById(id) == 1; |
| | | } |
| | | |
| | | @Override |
| | | public boolean softDeleteByIds(Long[] ids) { |
| | | return mapper.softDeleteByIds(ids) == 1; |
| | | } |
| | | |
| | | @Override |
| | | public boolean softDeleteBySubid(Long subid) { |
| | | return mapper.softDeleteBySubid(subid) == 1; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模åç对å¤å¥çº¦ï¼<b>å
¶å®æ¨¡åå¯ä¸å
许ä¾èµçç±»å</b>ï¼ã |
| | | * <p> |
| | | * å®ç°æ¯æ¬æ¨¡åç常驻é¨é¢ {@link InhospVisitFacade}ã |
| | | * |
| | | * <h3>约å®ï¼ç
§ææ»¡æåº¦æ¨¡åç api å¥çº¦çºªå¾ï¼</h3> |
| | | * <ul> |
| | | * <li><b>åªæ´é² DTO ä¸åºæ¬ç±»å</b>ï¼ä¸æ´é²æ¬æ¨¡åå
é¨ Service/Mapper/domainï¼</li> |
| | | * <li>é¨é¢<b>æ°¸è¿åå¨</b>ï¼æä»¥è°ç¨æ¹ç {@code @Autowired} ä¸ä¼å å¼å
³ç¶æèå¯å¨å¤±è´¥ï¼</li> |
| | | * <li>模åå
³é / å®ç°ç¼ºå¤± / 容å¨å¼å¸¸æ¶ï¼åæ¹æ³è¿åå®å
¨ç©ºå¼å¹¶æ WARNï¼<b>䏿å¼å¸¸</b> |
| | | * ââ åºå
¥é¢é访æäºå°±æ¯å½å¤©å
¨é¢é访åæï¼ç»ä¸è½è®©è°ç¨æ¹ä¸»æµç¨è¢«æå®ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>ä¸ ruoyi-common éé£ä¸ªæ¥å£çå
³ç³»</h3> |
| | | * {@code com.ruoyi.common.core.service.PublicitySubtaskApi} æ¯<b>䏿²ç» ruoyi-publicity ç¨çæå°æ¥å£</b> |
| | | * ï¼åªæ {@code generatePublicitySubtask} ä¸ä¸ªæ¹æ³ï¼ã |
| | | * æ¬æ¥å£æ¯<b>宿´å¥çº¦</b>ï¼ä¾ç´æ¥ä¾èµæ¬æ¨¡åç smartor / ruoyi-quartz 使ç¨ã |
| | | * <p> |
| | | * 两è
<b>廿ä¸åç»§æ¿</b>ï¼é¿å
"åç»§æ¿"ï¼ï¼ç±é¨é¢ {@link InhospVisitFacade} åæ¶å®ç°äºè
ï¼ |
| | | * äºæ¯æä»»ä¸ç§ç±»åæ¥æ¾é½è½æ¿å°åä¸ä¸ªå¸¸é©» Bean ââ è¿ä¸æ»¡æåº¦æ |
| | | * {@code ISatisfactionCategoryService} ä¸å¹¶å®ç°å° {@code SatisfactionFacade} æ¯å䏿æ³ã |
| | | */ |
| | | public interface InhospVisitApi { |
| | | |
| | | /** |
| | | * æ¨¡åæ¯å¦å¯ç¨ï¼å¼å
³æå¼ <b>ä¸</b> å
é¨å®ç°åå¨ï¼ |
| | | */ |
| | | boolean isEnabled(); |
| | | |
| | | /** |
| | | * åºé¢éè®¿ä¸»æ«æï¼å {@code PatMedInhospServiceImpl#dealOutHospInfo}ï¼è¿ç§»å L324-463ï¼ã |
| | | * <p> |
| | | * 顺åºï¼è¿ç§»æ¶å¿
é¡»ä¿æï¼ï¼ |
| | | * <ol> |
| | | * <li>å
¥é¢å®£æ ââ æ¹ä¸ºåè° {@code com.ruoyi.common.core.service.PublicityApi#dealInHospPublicity(String)}ï¼</li> |
| | | * <li>è¯å宣æï¼ä»
sltdï¼ââ æ¹ä¸ºåè° {@code PublicityApi#dealMedicalPublicity(String)}ï¼</li> |
| | | * <li>åºäºè§åçåºé¢é访 ââ {@code addSubTaskByRule}ï¼</li> |
| | | * <li>ææ¯é访 ââ æ¹ä¸ºåè° {@code com.ruoyi.common.core.service.OtherVisitApi#addOperationSubTask(String)}ï¼</li> |
| | | * <li>åå
¥é¢å¤ç ââ {@code dealInHospInfo}ã</li> |
| | | * </ol> |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return åå®ç°åºå®è¿å 1 |
| | | */ |
| | | int dealOutHospInfo(String config); |
| | | |
| | | /** |
| | | * ä»»å¡ç»ï¼appltype=5ï¼é¦è½®çº³å
¥ï¼å {@code PatMedInhospServiceImpl#dealOutHospInfoBySchedule}ï¼ |
| | | * è¿ç§»å L471-614ï¼ã嫿æ¯åæ¯ï¼åè° {@code OtherVisitApi}ï¼ã |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return åå®ç°åºå®è¿å 1 |
| | | */ |
| | | int dealOutHospInfoBySchedule(String config); |
| | | |
| | | /** |
| | | * ææ¯é访æå¨è§¦åï¼å {@code PatMedInhospController#addOperationSubTask}ï¼ã |
| | | * <p> |
| | | * â ï¸ <b>æ¬æ¬¡æªæ¬ï¼ä»ç± smartor çå®ç°æ¿æ¥</b>ï¼å±ç¬¬äºæ¹ {@code ruoyi-othervisit}ï¼ã |
| | | * æ¬æ¹æ³å卿¯ä¸ºäºè®©ç«¯ç¹è½è¿è¿æ¬æ¨¡åï¼URL ä¸åï¼ï¼å®ç°è½¬åå° |
| | | * {@code com.ruoyi.common.core.service.OtherVisitApi}ã |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} |
| | | * @return 转åç»æï¼è°ç¨æ¹ä¸ä¾èµè¯¥å¼ï¼ |
| | | */ |
| | | int addOperationSubTask(String config); |
| | | |
| | | /** |
| | | * é¨è¯éè®¿æ«æï¼å {@code IPatMedOuthospService#dealOutpatientInfo}ï¼ã |
| | | * <p> |
| | | * ä¹æä»¥ç±æ¬æ¨¡åçå
¥å£ä¸å¹¶è§¦åï¼å {@code /smartor/patinhosp/dealOutHospInfo} ç«¯ç¹ |
| | | * å¨å䏿¬¡è¯·æ±éåäº"åºé¢é访 + é¨è¯é访"两件äºï¼L263-265ï¼ï¼ |
| | | * 端ç¹è¿è¿æ¬æ¨¡ååå¿
é¡»ä¿æè¿ä¸ªè¡ä¸ºã |
| | | * <p> |
| | | * â ï¸ ç«ç¹å¤æï¼{@code active != "xh"}ï¼ç±è°ç¨æ¹è´è´£ï¼æ¬æ¹æ³åªç®¡è½¬åã |
| | | * |
| | | * @return å¤ççé¨è¯è®°å½æ° |
| | | */ |
| | | int dealOutpatientInfo(); |
| | | |
| | | /** |
| | | * ä»»å¡ç»å¾ªç¯è½®æ¬¡æ»å¨ï¼å {@code ServiceTaskScheduleServiceImpl#rollCycleTasks}ï¼L170 èµ· 7 ä¸ªæ¹æ³ 362 è¡ï¼ã |
| | | * |
| | | * @return æ¬æ¬¡æ¨è¿çè®¡åæ° |
| | | */ |
| | | int rollTaskGroupCycle(); |
| | | |
| | | /** |
| | | * 为ãé访è¶
æ¶ â 忬¡é访ãç»è£
åä»»å¡èç¨¿ï¼æ¿ä»£å {@code RyTask#dealSubtaskDeadline} éç |
| | | * {@code selectPatMedInhospList} + {@code boxedServiceSubtask} 两æ¥ï¼ã |
| | | * <p> |
| | | * åºå
¥é¢è®°å½ä¸ç»è£
é»è¾æ¬è¿åé½å¨æ¬æ¨¡åå
ï¼æä»¥ç±æ¬æ¹æ³ä¸æ¬¡å®æï¼ |
| | | * è°ç¨æ¹æ¿å°è稿åèªå·±è¡¥ {@code upid / visitCount / visitType / visitDeptCode / visitDeptName} |
| | | * åè½åºï¼è½åºèµ° {@code com.ruoyi.common.core.service.VisitTaskCreateApi#createSubtask}ï¼ã |
| | | * <p> |
| | | * â ï¸ åå®ç°å¨æ¥ä¸å°åºå
¥é¢è®°å½æ¶æ¯ {@code continue} è·³è¿ï¼ |
| | | * è°ç¨æ¹å¿
é¡»æ£æ¥ {@code isInhospFound()}ã |
| | | * |
| | | * @param orgid æºæID |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param newTaskId ä¸ä¸ä¸ªé¿æä»»å¡IDï¼å {@code serviceTask.getNexttaskid()}ï¼ |
| | | * @param sendstate è°ç¨æ¹è¦æ±çåéç¶æï¼åå®ç°ä¼ 2Lï¼ |
| | | * @return èç¨¿ï¼æ¨¡åä¸å¯ç¨æç»è£
失败æ¶è¿å {@code isInhospFound()==false} çç©ºç»æ |
| | | */ |
| | | VisitAgainSubtaskDto buildAgainVisitDraft(String orgid, Long inhospid, Long newTaskId, Long sendstate); |
| | | |
| | | /** |
| | | * ç»å®£ææ¨¡åç¨çæå°è½åï¼çæä¸æ¡å®£æç±»åä»»å¡ï¼type=0 è¯å宣æ / 4 å
¥é¢ç§å®¤ / 5 å
¥é¢ç
åºï¼ã |
| | | * <p> |
| | | * ä¸ {@code com.ruoyi.common.core.service.PublicitySubtaskApi#generatePublicitySubtask} æ¯åä¸è½åï¼ |
| | | * {@link InhospVisitFacade} åæ¶å®ç°ä¸¤ä¸ªæ¥å£ï¼å æ¤æä»»ä¸ç§ç±»åæ¥æ¾é½è½æ¿å°åä¸ä¸ª Beanã |
| | | * |
| | | * @return true = å·²å¤ç |
| | | */ |
| | | boolean generatePublicitySubtask(Long taskid, Long patid, Long inhospid, int type, String config); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.dto.PatMedReq; |
| | | import com.ruoyi.common.core.service.dto.PatMedRes; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhosp; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospDTO; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospVO; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * åºå
¥é¢æ¨¡å对å¤<b>åºç¡åºå
¥é¢ä¿¡æ¯</b>æ°æ®è®¿é®å¥çº¦ã |
| | | * |
| | | * <h3>为ä»ä¹åç¬ä¸ä¸ªå¥çº¦ï¼è䏿¯å¡è¿ {@link InhospVisitApi}</h3> |
| | | * 两è
管è¾èå´ä¸åï¼ |
| | | * <ul> |
| | | * <li>{@link InhospVisitApi} ââ <b>é访ä¸å¡è½å</b>ï¼çæä»»å¡/åä»»å¡ãæ»å¨ä»»å¡ç»å¨æã |
| | | * 宣æåè°ï¼ãå {@code sys_config} ç {@code inhospvisit.enabled} å¼å
³ç®¡è¾ï¼ |
| | | * å
³éååæ¹æ³è¿åå®å
¨ç©ºå¼ã</li> |
| | | * <li>{@link InhospVisitDataService}ï¼æ¬æ¥å£ï¼ââ <b>åºç¡åºå
¥é¢ä¿¡æ¯ç读å</b>ï¼ |
| | | * å³ {@code pat_med_inhosp} è¿ä¸å¼ 表çå¢å æ¹æ¥ã |
| | | * <b>廿ä¸åé访å¼å
³ç®¡è¾</b>ï¼HIS ééï¼{@code CollectHISServiceImpl}ï¼ä¸ |
| | | * æ¡£æ¡æ±èï¼{@code HNGatherPatArchiveServiceImpl}ï¼é½ä¾èµå®åå
¥é¢è®°å½ï¼ |
| | | * è¥æå¼å
³ä¸å¹¶å¥ä¸ï¼å
³éé访çæä¼è¿å¸¦è®©æ°æ®ééç«çª ââ 飿¯ä¸¤ä»¶äºã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>ç¬å è¾¹çï¼æ¬æ¬¡æ¹é çç®æ ï¼</h3> |
| | | * {@code PatMedInhospMapper} ä¸å
¶ 1181 è¡ XML å·²æ¬å
¥æ¬æ¨¡åï¼ |
| | | * å
¶å®æ¨¡å<b>ä¸å¾</b>åç´æ¥æ³¨å
¥è¯¥ Mapperï¼ä¸å¾ç»ç±æ¬å¥çº¦è®¿é®ã |
| | | * è¿æ ·"åºå
¥é¢ä¿¡æ¯åªæä¸å¤å®ç°"æä¸ºç¼è¯æå¯éªè¯çäºå®ã |
| | | * |
| | | * <h3>â ï¸ ä¸å Mapper çè¯ä¹ä¸è´æ§</h3> |
| | | * æ¬å¥çº¦çæ¯ä¸ªæ¹æ³é½æ¯ {@code PatMedInhospMapper} å¯¹åºæ¹æ³ç<b>纯转å</b>ï¼ |
| | | * ä¸å 工忰ãä¸è¡¥é»è®¤å¼ã䏿¹æ¶é´æ³ï¼è°ç¨æ¹åæ¬å°±èªè¡ {@code setCreateTime} çï¼ï¼ |
| | | * å æ¤éæ¹æ³è¯ä¹ä¸æ¬è¿åå®å
¨ä¸è´ã |
| | | */ |
| | | public interface InhospVisitDataService { |
| | | |
| | | // ==================== æ¥è¯¢ ==================== |
| | | |
| | | /** |
| | | * æä¸»é®æ¥è¯¢åºå
¥é¢è®°å½ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ä¸»é® |
| | | * @return è®°å½ï¼ä¸åå¨è¿å {@code null} |
| | | */ |
| | | PatMedInhosp selectPatMedInhospByInhospid(Long inhospid); |
| | | |
| | | /** |
| | | * æå®ä½å段åç弿¡ä»¶æ¥è¯¢ã |
| | | * |
| | | * @param patMedInhosp æ¥è¯¢æ¡ä»¶ï¼é null åæ®µåä¸è¿æ»¤ï¼ |
| | | * @return è®°å½éåï¼æ å¹é
è¿å空éå |
| | | */ |
| | | List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * ææ£è
ç¼å· + åºé¢æ¥ææ¥è¯¢åºé¢è®°å½ï¼åºé¢æ¶é´åªæ¯è¾å°å¤©ï¼ã |
| | | * |
| | | * @param patno æ£è
ç¼å· |
| | | * @param dayStart æ¥è¯¢æ¥æå½å¤© 00:00:00 |
| | | * @param dayEnd æ¥è¯¢æ¥æçæ¬¡æ¥ 00:00:00 |
| | | * @return åºé¢è®°å½éåï¼æ inhospid ååº |
| | | */ |
| | | List<PatMedInhosp> selectOutInhospByPatnoAndOutDate(String patno, Date dayStart, Date dayEnd); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ ç¾ï¼åæ£è
ï¼GROUP_CONCAT æ¼æ¥ï¼ã |
| | | * |
| | | * @param patid æ£è
æ¡£æ¡id |
| | | * @return æ ç¾ä¸²ï¼æ æ ç¾è¿å {@code null} |
| | | */ |
| | | String getTagnameBypatid(Long patid); |
| | | |
| | | /** |
| | | * æ¹éæ¥è¯¢æ£è
æ ç¾ã |
| | | * |
| | | * @param patids æ£è
æ¡£æ¡idéåï¼è°ç¨æ¹é¡»ä¿è¯é空ä¸å·²å»é |
| | | * @return æ¯è¡å« {@code patid}ã{@code tagname} 两个 key |
| | | */ |
| | | List<Map<String, Object>> getTagnameByPatids(List<Long> patids); |
| | | |
| | | /** |
| | | * éç¨å表æ¥è¯¢ï¼æå¸¸ç¨å
¥å£ï¼ã |
| | | * |
| | | * @param patMedInhosp æ¥è¯¢æ¡ä»¶ |
| | | * @return è®°å½éå |
| | | */ |
| | | List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * æä½é¢æµæ°´å·æ¥è¯¢ã |
| | | * |
| | | * @param patMedInhosp æ¥è¯¢æ¡ä»¶ï¼å« serialnumï¼ |
| | | * @return è®°å½éå |
| | | */ |
| | | List<PatMedInhosp> selectPatMedInhospListBySerialnum(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * æ VO æ¡ä»¶æ¥è¯¢ï¼æ¯æå¤ç§å®¤/å¤ç
åºé忡件ï¼ã |
| | | * |
| | | * @param patMedInhospVO æ¥è¯¢æ¡ä»¶ |
| | | * @return è®°å½éå |
| | | */ |
| | | List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO); |
| | | |
| | | /** |
| | | * åºé¢/å
¥é¢äººæ°ä¸é访人次ç»è®¡ï¼é¦é¡µ ECharts ç¨ï¼ã |
| | | * |
| | | * @param patMedReq ç»è®¡æ¡ä»¶ |
| | | * @return ç»è®¡ç»æ |
| | | */ |
| | | PatMedRes selectPatMedInhospCount(PatMedReq patMedReq); |
| | | |
| | | /** |
| | | * æ¥è¯¢ä¸ä¸ªç»´åº¦éä»»æä¸ä¸ªä»æªå¤ççåºé¢æ£è
ã |
| | | * |
| | | * @return å¾
å¤çè®°å½éå |
| | | */ |
| | | List<PatMedInhosp> selectNeedProcessList(); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½ï¼éè¿å
¥é¢ç³è¯·åä¿¡æ¯ï¼ï¼è¿å DTO å表ã |
| | | * <p> |
| | | * â ï¸ <b>æ¬æ¹æ³åæ ·ä¿çäºä¸ä¸ªå代ç 缺é·</b>ï¼æªåä¿®æ£ï¼ |
| | | * <pre> |
| | | * List<PatMedInhosp> rows = selectPatMedInhospList(query); |
| | | * if (!CollectionUtils.isEmpty(rows)) { |
| | | * return null; // â æ¥å°è®°å½åèè¿å nullï¼æ¡ä»¶ååäº |
| | | * } |
| | | * </pre> |
| | | * åæï¼æ¥å°è®°å½æ¶æè¿å {@code null}ï¼æ¥ä¸å°è®°å½æ¶è¿å空å表ã |
| | | * ä¹å°±æ¯è¯´<b>åå®ç°é飿®µ"ç»æ¯æ¡è®°å½è¡¥ finishFlagï¼æ¯å¦å®£æè¿ï¼"çå¾ªç¯æ°¸è¿ä¸ä¼æ§è¡</b>ï¼ |
| | | * å æ¤æ¬æ¹æ³ä¸ä¾èµ {@code service_subtask}ï¼é访åä»»å¡è¡¨ï¼ã |
| | | * <p> |
| | | * è¥å°æ¥è¦ä¿®è¿ä¸ªç¼ºé·ï¼é¤äºææ¡ä»¶æ¹æ {@code isEmpty}ï¼è¿éè¦æ¢å¤é£æ®µè¡¥ |
| | | * {@code finishFlag} çé»è¾ï¼å¤æ®ï¼è¯¥æ£è
æ¯å¦åå¨ {@code service_type="4"} çåä»»å¡ï¼ï¼ |
| | | * 屿¶éè¦ç»æ¬æ¨¡åè¡¥ä¸ä¸ªæ¥è¯¢åä»»å¡çè½åã |
| | | * <p> |
| | | * å端å½å<b>没æ</b>è°ç¨è¯¥ç«¯ç¹ï¼å·²æ ¸å¯¹ {@code smartor-web/src}ï¼ã |
| | | * |
| | | * @param patMedInhosp æ¥è¯¢æ¡ä»¶ |
| | | * @return è§ä¸ï¼ç¼ºé·ä¿çï¼æ
æ¥å°è®°å½æ¶ä¸º {@code null} |
| | | */ |
| | | List<PatMedInhospDTO> selectPatMedInhospByApplication(PatMedInhosp patMedInhosp); |
| | | |
| | | // ==================== åå
¥ ==================== |
| | | |
| | | /** |
| | | * æ°å¢åºå
¥é¢è®°å½ã |
| | | * |
| | | * @param patMedInhosp è®°å½ï¼{@code createTime}/{@code updateTime} ç±è°ç¨æ¹è®¾ç½®ï¼ |
| | | * æ¬æ¹æ³ä¸ä»£å¡« ââ 䏿¬è¿åä¸è´ï¼ |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int insertPatMedInhosp(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * æ¹éæ°å¢åºå
¥é¢è®°å½ã |
| | | * |
| | | * @param list è®°å½éå |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int insertPatMedInhospBatch(List<PatMedInhosp> list); |
| | | |
| | | /** |
| | | * ä¿®æ¹åºå
¥é¢è®°å½ï¼"ä¼ ä»ä¹æ´æ°ä»ä¹"ï¼ã |
| | | * |
| | | * @param patMedInhosp è®°å½ï¼é¡»å«ä¸»é®ï¼ |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int updatePatMedInhosp(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * æä¸»é®å é¤ã |
| | | * |
| | | * @param inhospid ä¸»é® |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int deletePatMedInhospByInhospid(Long inhospid); |
| | | |
| | | /** |
| | | * æä½é¢ç¼ç å é¤ã |
| | | * |
| | | * @param inhospno ä½é¢ç¼ç |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int deletePatMedInhospByInhospno(String inhospno); |
| | | |
| | | /** |
| | | * æä¸»é®éåæ¹éå é¤ã |
| | | * |
| | | * @param inhospids 主é®éå |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int deletePatMedInhospByInhospids(Long[] inhospids); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.api; |
| | | |
| | | import com.ruoyi.inhospvisit.config.InhospVisitProperties; |
| | | import com.ruoyi.inhospvisit.config.InhospVisitSwitch; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模å对å¤é¨é¢ï¼<b>常驻 Bean</b>ï¼ã |
| | | * <p> |
| | | * è¿æ¯å
¶å®æ¨¡å访é®åºå
¥é¢é访è½åç<b>å¯ä¸å
¥å£</b>ã |
| | | * |
| | | * <h3>ä¸å
é¨å®ç°çå
³ç³»ï¼ç
§ææ»¡æåº¦æ¨¡åï¼5 个åå
¨é¨è§é¿ï¼</h3> |
| | | * <ul> |
| | | * <li>å®ç°ç±» {@link DefaultInhospVisitApi} <b>常驻</b>ï¼ä¸ç¨ {@code @ConditionalOnProperty} |
| | | * ââ é£ä¸ªåªå¨å¯å¨æ¶æ±å¼ä¸æ¬¡ï¼ä¸"æ¹å®åæ°å³æ¶çæ"å²çªï¼ï¼</li> |
| | | * <li>å¼å
³å¨ {@code sys_config} ç {@code inhospvisit.enabled}ï¼ç± |
| | | * {@link InhospVisitSwitch} <b>è¿è¡æ¶</b>读åï¼10 ç§è¿ç¨å
ç¼åï¼ï¼æ¹å®æ ééå¯ï¼</li> |
| | | * <li>æ¬é¨é¢<b>æ°¸è¿</b>æ¯ Spring Beanï¼å æ¤è°ç¨æ¹ï¼{@code RyTask} 宿¶ä»»å¡ã |
| | | * {@code PatMedInhospController}ï¼ç {@code @Autowired} å¨ä»»ä½å¼å
³ç¶æä¸é½<b>ä¸ä¼å¯å¨å¤±è´¥</b>ï¼</li> |
| | | * <li>å
³éæ¶åæ¹æ³è¿åå®å
¨ç©ºå¼å¹¶æ WARNï¼<b>䏿å¼å¸¸</b>ï¼ä¿è¯è°ç¨æ¹ä¸»æµç¨ç
§å¸¸å®æã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>â ï¸ æ¬é¨é¢åæ¶å®ç°ä¸ä¸ªæ¥å£</h3> |
| | | * <ul> |
| | | * <li>{@link InhospVisitApi} ââ æ¬æ¨¡åç<b>é访ä¸å¡è½åå¥çº¦</b>ï¼smartor / ruoyi-quartz ç¨ï¼ï¼ |
| | | * å {@code inhospvisit.enabled} å¼å
³ç®¡è¾ï¼</li> |
| | | * <li>{@link InhospVisitDataService} ââ <b>åºç¡åºå
¥é¢ä¿¡æ¯è¯»åå¥çº¦</b>ï¼æ¬æ¬¡æ°å¢ï¼ã |
| | | * {@code PatMedInhospMapper} å·²ç¬å æ¬å
¥æ¬æ¨¡åï¼å
¶å®æ¨¡åä¸å¾ç»æ¤è®¿é®ï¼ |
| | | * <b>廿ä¸åå¼å
³ç®¡è¾</b>ï¼å¦åå
³éé访ä¼è¿å¸¦è®© HIS ééç«çªï¼</li> |
| | | * <li>{@code com.ruoyi.common.core.service.PublicitySubtaskApi} ââ <b>䏿²ç»å®£ææ¨¡åçæå°é¢</b>ã |
| | | * å 为 ruoyi-publicity ä¸è½ä¾èµæ¬æ¨¡åï¼å¦åååä¾èµï¼ï¼åªè½æ ruoyi-common éçæ¥å£æ¥æ¾ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>使ç¨ç¤ºä¾</h3> |
| | | * <pre> |
| | | * @Autowired |
| | | * private InhospVisitFacade inhospVisitFacade; |
| | | * |
| | | * if (inhospVisitFacade.isEnabled()) { |
| | | * inhospVisitFacade.dealOutHospInfo(config); |
| | | * } |
| | | * |
| | | * // åºç¡åºå
¥é¢ä¿¡æ¯ï¼ä¸éè¦å¤å¼å
³ |
| | | * List<PatMedInhosp> rows = inhospVisitFacade.selectPatMedInhospList(query); |
| | | * </pre> |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InhospVisitFacade implements InhospVisitApi, |
| | | InhospVisitDataService, |
| | | com.ruoyi.common.core.service.PreachformApi, |
| | | com.ruoyi.common.core.service.PublicitySubtaskApi { |
| | | |
| | | private final InhospVisitProperties properties; |
| | | |
| | | /** |
| | | * 宣æåï¼{@code service_subtask_preachform}ï¼æ°æ®è®¿é®ã |
| | | * <p> |
| | | * â ï¸ ç¨ {@code ObjectProvider} æ°æ§åï¼è䏿¯ç´æ¥æ³¨å
¥æ¥å£ ââ çç±å {@code dataService}ï¼ |
| | | * æ¬ç±»èªèº«ä¹å®ç°äº {@code PreachformApi}ï¼ææ¥å£ç±»åç´æ¥æ³¨å
¥ä¼å½ä¸"æ£å¨å建çèªå·±" |
| | | * ï¼{@code BeanCurrentlyInCreationException}ï¼ã |
| | | * <p> |
| | | * 该表çå½å±æ¨¡åæ¯æ¬æ¨¡åï¼è·¨æ¨¡å SQL æ¶å£åï¼å¤é¨åªç» {@code PreachformApi} 访é®å® |
| | | * ï¼æ¤å smartor é妿䏿´ä»½å表 Mapper ä¸ XMLï¼å·²å é¤ï¼ã |
| | | */ |
| | | private final ObjectProvider<com.ruoyi.common.core.service.PreachformApi> preachformApiProvider; |
| | | |
| | | /** |
| | | * è¿è¡æ¶å¼å
³ï¼{@code sys_config} ä¼å
ï¼{@link InhospVisitProperties} å
åºï¼ |
| | | */ |
| | | private final InhospVisitSwitch inhospVisitSwitch; |
| | | |
| | | /** |
| | | * å
é¨å®ç°ï¼æ¨¡åå
³éæ¶ä¸º {@code null}ã |
| | | * <p> |
| | | * ç¨ {@code ObjectProvider} æ°æ§è·åï¼å³ä½¿å®ç° Bean ä¸åå¨ä¹ä¸ä¼å¯¼è´æ³¨å
¥å¤±è´¥ã |
| | | */ |
| | | private final ObjectProvider<InhospVisitApi> apiProvider; |
| | | |
| | | /** |
| | | * åºç¡åºå
¥é¢ä¿¡æ¯æ°æ®è®¿é®ï¼<b>å¿
åå¨</b>ï¼ä¸åå¼å
³ç®¡è¾ï¼ã |
| | | * <p> |
| | | * â ï¸ <b>ç¨ {@link ObjectProvider} æ°æ§è·åï¼å¹¶å¨è§£ææ¶è¿æ»¤æ"èªå·±"</b>ï¼ |
| | | * æ¬ç±»èªèº«ä¹å®ç°äº {@link InhospVisitDataService}ï¼è¥ç´æ¥æ³¨å
¥æ¥å£ç±»åï¼ |
| | | * Spring è§£æåéæ¶ä¼å½ä¸<b>æ£å¨å建çèªå·±</b>ï¼æ |
| | | * {@code BeanCurrentlyInCreationException}ï¼å®æµç¡®è®¤ï¼ã |
| | | * è¯¦è§ {@link #firstDataServiceOrNull(ObjectProvider)}ã |
| | | * <p> |
| | | * ç¨ {@code ObjectProvider} èéç´æ¥æ³¨å
¥è¿å¸¦æ¥è£
é
å¥å£®æ§ï¼å®¹å¨é没æè¯¥å®ç° |
| | | * ï¼ä¾å¦ä¸èµ·æ°æ®åºçæµè¯ä¸ä¸æï¼æ¶ï¼é¨é¢ä¾ç¶è½è£
é
ï¼æ°æ®æ¹æ³èµ°éçº§åæ¯ï¼ |
| | | * èä¸ä¼è®©æ´ä¸ªåºç¨å¯å¨å¤±è´¥ã |
| | | */ |
| | | private final InhospVisitDataService dataService; |
| | | |
| | | /** |
| | | * Spring 使ç¨çæé å¨ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»æ¾å¼æ 注 {@code @Autowired}</b>ï¼æ¬ç±»æä¸¤ä¸ªå
¬å¼æé å¨ |
| | | * ï¼å¦ä¸ä¸ªæ¯ç»æµè¯/é Spring ç¯å¢ç¨çï¼ï¼è¥ä¸æ 注ï¼Spring ä¼å 为"æé å¨ä¸å¯ä¸" |
| | | * èéåæ¥æ¾æ åæé å¨ï¼ä»èå¨å¯å¨æ¶æ¥ {@code No default constructor found}ã |
| | | * ââ è¿æ¯æ»¡æåº¦æ¨¡å<b>宿ºè¸©å°</b>ç缺é·ï¼æ¤å¤å»æä¿çåæ ·ç忳䏿³¨éã |
| | | */ |
| | | @Autowired |
| | | public InhospVisitFacade(InhospVisitProperties properties, |
| | | InhospVisitSwitch inhospVisitSwitch, |
| | | ObjectProvider<InhospVisitApi> apiProvider, |
| | | ObjectProvider<InhospVisitDataService> dataServiceProvider, |
| | | ObjectProvider<com.ruoyi.common.core.service.PreachformApi> preachformApiProvider) { |
| | | this.properties = properties; |
| | | this.inhospVisitSwitch = inhospVisitSwitch; |
| | | this.apiProvider = apiProvider; |
| | | this.dataService = firstDataServiceOrNull(dataServiceProvider); |
| | | this.preachformApiProvider = preachformApiProvider; |
| | | } |
| | | |
| | | /** |
| | | * å宣æåæ°æ®è®¿é®å®ç°ï¼å®¹å¨é没æãç¶æå¼å¸¸ãæ<b>åªæ¾å°èªå·±</b>æ¶è¿å {@code null}ã |
| | | * <p> |
| | | * â ï¸ ä¸ {@link #firstDataServiceOrNull} å䏿æ³ä¸çç±ï¼èªå¼ç¨ / 循ç¯ä¾èµï¼ã |
| | | */ |
| | | private com.ruoyi.common.core.service.PreachformApi preachformOrNull() { |
| | | if (preachformApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return preachformApiProvider.stream() |
| | | .filter(svc -> svc != this) |
| | | .findFirst() |
| | | .orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å宣æåæ°æ®æå¡å¤±è´¥ï¼ç¸å
³è®¿é®å°é级ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ°æ®æå¡æ¯å¦ä¸å¯ç¨ï¼ä¸å¯ç¨æ¶æ WARN å¹¶è¿å trueï¼ |
| | | */ |
| | | private boolean preachformUnavailable(String method) { |
| | | if (preachformOrNull() == null) { |
| | | log.warn("ãåºå
¥é¢é访ã宣æåæ°æ®æå¡ä¸å¯ç¨ï¼{} è·³è¿ã", method); |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | // ================================================================== |
| | | // 宣æå service_subtask_preachformï¼PreachformApiï¼ |
| | | // |
| | | // â ï¸ ä¸ä¸é¢ 6 个éè®¿æ¹æ³çå
³é®åºå«ï¼ä»¥ä¸æ¹æ³ãä¸åå¼å
³å¤æãã |
| | | // 宿¯è·¨æ¨¡å SQL æ¶å£åçæ°æ®è®¿é®å
¥å£ï¼æ¿ä»£ smartor éé£ä»½å表 Mapperï¼ï¼ |
| | | // 屿°æ®åºç¡è®¾æ½ï¼å¼å
³åªè¯¥æ§å¶"è¦ä¸è¦çæé访"ã |
| | | // ================================================================== |
| | | |
| | | @Override |
| | | public com.ruoyi.common.core.service.dto.VisitPreachformRow findById(Long id) { |
| | | return preachformUnavailable("findById") ? null : preachformOrNull().findById(id); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.common.core.service.dto.VisitPreachformRow> findList( |
| | | com.ruoyi.common.core.service.dto.VisitPreachformRow query) { |
| | | return preachformUnavailable("findList") |
| | | ? java.util.Collections.<com.ruoyi.common.core.service.dto.VisitPreachformRow>emptyList() |
| | | : preachformOrNull().findList(query); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.common.core.service.dto.VisitPreachformRow> findByTaskidAndOrgid( |
| | | Long taskid, String orgid) { |
| | | return preachformUnavailable("findByTaskidAndOrgid") |
| | | ? java.util.Collections.<com.ruoyi.common.core.service.dto.VisitPreachformRow>emptyList() |
| | | : preachformOrNull().findByTaskidAndOrgid(taskid, orgid); |
| | | } |
| | | |
| | | @Override |
| | | public boolean insert(com.ruoyi.common.core.service.dto.VisitPreachformRow row) { |
| | | return !preachformUnavailable("insert") && preachformOrNull().insert(row); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateById(com.ruoyi.common.core.service.dto.VisitPreachformRow row) { |
| | | return !preachformUnavailable("updateById") && preachformOrNull().updateById(row); |
| | | } |
| | | |
| | | @Override |
| | | public boolean updateByCondition(com.ruoyi.common.core.service.dto.VisitPreachformRow row) { |
| | | return !preachformUnavailable("updateByCondition") && preachformOrNull().updateByCondition(row); |
| | | } |
| | | |
| | | @Override |
| | | public boolean softDeleteById(Long id) { |
| | | return !preachformUnavailable("softDeleteById") && preachformOrNull().softDeleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public boolean softDeleteByIds(Long[] ids) { |
| | | return !preachformUnavailable("softDeleteByIds") && preachformOrNull().softDeleteByIds(ids); |
| | | } |
| | | |
| | | @Override |
| | | public boolean softDeleteBySubid(Long subid) { |
| | | return !preachformUnavailable("softDeleteBySubid") && preachformOrNull().softDeleteBySubid(subid); |
| | | } |
| | | |
| | | /** |
| | | * åæ°æ®æå¡å®ç°ï¼å®¹å¨é没æãç¶æå¼å¸¸ãæ<b>åªæ¾å°èªå·±</b>æ¶è¿å {@code null}ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»è¿æ»¤æ"èªå·±"</b>ï¼ä¸¤ä¸ªçç±ï¼ |
| | | * <ol> |
| | | * <li><b>èªå¼ç¨</b>ï¼æ¬ç±»èªèº«ä¹å®ç°äº {@link InhospVisitDataService}ãè¥ä¸è¿æ»¤ï¼ |
| | | * 容å¨å¨ç¬¬ä¸è½®æ¾ä¸å°å«çå®ç°æ¶ä¼æé¨é¢èªå·±å½åéè¿åï¼éå |
| | | * {@code dataService.selectPatMedInhospList(...)} åææ ééå½ |
| | | * ï¼{@code StackOverflowError}ï¼ãè¿æ¯æ»¡æåº¦æ¨¡å<b>宿ºè¸©å°</b>çå类缺é·ã</li> |
| | | * <li><b>循ç¯ä¾èµ</b>ï¼ä¸è¿æ»¤æ¶ Spring ä¼å¨æé æ¬ Bean çè¿ç¨ä¸è§£æå°"æ£å¨å建çèªå·±"ï¼ |
| | | * ç´æ¥æ {@code BeanCurrentlyInCreationException}ã宿µç¡®è®¤è¿è¿ä¸ç¹ã</li> |
| | | * </ol> |
| | | * <p> |
| | | * ç¨ {@code stream()} è䏿¯ {@code getIfAvailable()}ï¼åè
å¨åéå¤äºä¸ä¸ªæ¶æ |
| | | * {@code NoUniqueBeanDefinitionException}ï¼ä¼è¢«åæ null å¹¶æ©ç"æäººåå äºä¸ä¸ªå®ç°"ã |
| | | */ |
| | | private InhospVisitDataService firstDataServiceOrNull( |
| | | ObjectProvider<InhospVisitDataService> provider) { |
| | | if (provider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return provider.stream() |
| | | .filter(svc -> svc != this) |
| | | .findFirst() |
| | | .orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·åæ°æ®æå¡å¤±è´¥ï¼åºç¡åºå
¥é¢ä¿¡æ¯è®¿é®å°é级ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ä¾<b>æµè¯/é Spring ç¯å¢</b>ç´æ¥æé ï¼ç´æ¥ç»åºå
é¨å®ç°ï¼å¯ä¸º nullï¼ã |
| | | * <p> |
| | | * å¼å
³åèª {@code sys_config} çæ¨¡æé®å¼ï¼ä»èä¿è¯"å¼å
³æ ¡éª"èæ¬æ é Spring/æ°æ®åºå³å¯è¿è¡ã |
| | | * <p> |
| | | * æ°æ®æå¡ä¸ä¼ ï¼æµè¯æé ä¸ä¸æä¾åºç¡åºå
¥é¢ä¿¡æ¯è®¿é®ä¸å®£æåè®¿é® |
| | | * ï¼è°ç¨ä¼å¾å° null / 空éå / falseï¼ï¼ä¿è¯"å¼å
³æ ¡éª"ç±»æµè¯ä¸å¿
æèµ·æ°æ®åºã |
| | | */ |
| | | public InhospVisitFacade(InhospVisitProperties properties, InhospVisitApi delegate, String sysConfigValue) { |
| | | this(properties, new InhospVisitSwitch(properties, sysConfigValue), new FixedProvider(delegate), |
| | | null, null); |
| | | } |
| | | |
| | | /** |
| | | * åè¿è¡æ¶å¼å
³ï¼ä¾æ¦æªå¨å¤ç¨åä¸ä¸ªå®ä¾ãä¹ä¾æµè¯æè¨ï¼ |
| | | */ |
| | | public InhospVisitSwitch getInhospVisitSwitch() { |
| | | return inhospVisitSwitch; |
| | | } |
| | | |
| | | /** |
| | | * åå
é¨å®ç°ï¼æ¨¡åå
³éãå®ç°ç¼ºå¤±ãæåªæ¾å°èªå·±æ¶è¿å {@code null}ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»æé¤"èªå·±"</b>ï¼æ¬ç±»èªèº«ä¹å®ç°äº {@link InhospVisitApi}ï¼è Spring å¨ |
| | | * æç±»åæ¥æ¾åé Bean æ¶ï¼è¥ç¬¬ä¸è½®æ²¡æ¾å°å«çå®ç°ï¼ä¾å¦ ruoyi-inhospvisit |
| | | * 没æè¢«æè¿åºç¨ï¼æå°æ¥åæäººç¨æ¡ä»¶è£
é
æå®ææï¼ï¼ä¼<b>æèªå¼ç¨å½ä½å
åºåé</b>è¿åã |
| | | * 飿 · {@code delegateOrNull()} 伿¿å° {@code this}ï¼éå |
| | | * {@code delegate.dealOutHospInfo(...)} 就忿 ééå½ï¼{@code StackOverflowError}ï¼ã |
| | | * è¿éæ¾å¼è¿æ»¤æèªå·±ï¼æ"没æå®ç°"å¦å®è§ä¸ºä¸å¯ç¨ã |
| | | * ââ è¿æ¯æ»¡æåº¦æ¨¡å<b>宿ºè¸©å°</b>ç缺é·ã |
| | | * <p> |
| | | * â ï¸ <b>æ¬æ¹æ³ä¸è½æ¿ä»£å¼å
³å¤æ</b>ï¼å¼å
³å
³éæ¶ {@link DefaultInhospVisitApi} ä¾ç¶åå¨ï¼ |
| | | * æä»¥è°ç¨ç¹ä¸å¾å
å¤ {@link #isEnabled()}ã |
| | | * <p> |
| | | * ç¨ {@code stream()} è䏿¯ {@code getIfAvailable()}ï¼åè
å¨åéå¤äºä¸ä¸ªæ¶æ |
| | | * {@code NoUniqueBeanDefinitionException}ï¼å®ç»§æ¿èª {@code NoSuchBeanDefinitionException}ï¼ï¼ |
| | | * æç»ä¼è¢«åæ nullï¼æ©ç"æäººåå äºä¸ä¸ªå®ç°"è¿ç§é
ç½®é®é¢ã |
| | | */ |
| | | private InhospVisitApi delegateOrNull() { |
| | | if (apiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return apiProvider.stream() |
| | | .filter(api -> api != this) |
| | | .findFirst() |
| | | .orElse(null); |
| | | } catch (Exception e) { |
| | | // 容å¨ç¶æå¼å¸¸æ¶æ"æªå¯ç¨"å¤çï¼ç»ä¸è®©è°ç¨æ¹ï¼å®æ¶ä»»å¡ãControllerï¼å 为é访模åè失败 |
| | | log.warn("ãåºå
¥é¢é访ãè·åå
é¨å®ç°å¤±è´¥ï¼ææªå¯ç¨å¤çï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public boolean isEnabled() { |
| | | return inhospVisitSwitch.isEnabled() && delegateOrNull() != null; |
| | | } |
| | | |
| | | @Override |
| | | public int dealOutHospInfo(String config) { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼dealOutHospInfo è·³è¿ãconfig={}", config); |
| | | return 0; |
| | | } |
| | | return delegateOrNull().dealOutHospInfo(config); |
| | | } |
| | | |
| | | @Override |
| | | public int dealOutHospInfoBySchedule(String config) { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼dealOutHospInfoBySchedule è·³è¿ãconfig={}", config); |
| | | return 0; |
| | | } |
| | | return delegateOrNull().dealOutHospInfoBySchedule(config); |
| | | } |
| | | |
| | | @Override |
| | | public int addOperationSubTask(String config) { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼addOperationSubTask è·³è¿ãconfig={}", config); |
| | | return 0; |
| | | } |
| | | return delegateOrNull().addOperationSubTask(config); |
| | | } |
| | | |
| | | @Override |
| | | public int dealOutpatientInfo() { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼dealOutpatientInfo è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | return delegateOrNull().dealOutpatientInfo(); |
| | | } |
| | | |
| | | @Override |
| | | public int rollTaskGroupCycle() { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼rollTaskGroupCycle è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | return delegateOrNull().rollTaskGroupCycle(); |
| | | } |
| | | |
| | | @Override |
| | | public com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto buildAgainVisitDraft(String orgid, Long inhospid, |
| | | Long newTaskId, Long sendstate) { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼buildAgainVisitDraft è¿åç©ºç»æã" |
| | | + "orgid={}, inhospid={}", orgid, inhospid); |
| | | return emptyAgainDraft("æ¨¡åæªå¯ç¨"); |
| | | } |
| | | return delegateOrNull().buildAgainVisitDraft(orgid, inhospid, newTaskId, sendstate); |
| | | } |
| | | |
| | | @Override |
| | | public boolean generatePublicitySubtask(Long taskid, Long patid, Long inhospid, int type, String config) { |
| | | if (!isEnabled()) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼generatePublicitySubtask è·³è¿ã" |
| | | + "taskid={}, patid={}, type={}", taskid, patid, type); |
| | | return false; |
| | | } |
| | | return delegateOrNull().generatePublicitySubtask(taskid, patid, inhospid, type, config); |
| | | } |
| | | |
| | | // ================================================================== |
| | | // åºç¡åºå
¥é¢ä¿¡æ¯è¯»åï¼InhospVisitDataServiceï¼ |
| | | // |
| | | // â ï¸ ä¸ä¸é¢ 6 个éè®¿æ¹æ³çå
³é®åºå«ï¼ä»¥ä¸æ¹æ³ãä¸åå¼å
³å¤æãã |
| | | // çç±è§ InhospVisitDataService 类注é ââ å
³éé访çæä¸è¯¥è®© |
| | | // HIS éé/æ¡£æ¡æ±èæ æ³åå
¥é¢è®°å½ã |
| | | // |
| | | // â ï¸ æ¯ä¸ªæ¹æ³é½å¯¹ dataService å¤ç©ºï¼åªæå¨"æµè¯æé å¨"ä¸å®ææ¯ nullï¼ |
| | | // Spring ç¯å¢ä¸ç± @Autowired ä¿è¯é nullã |
| | | // è¿éè¿å空å¼èéæå¼å¸¸ï¼ä¿è¯è°ç¨æ¹ä¸»æµç¨ä¸å æ¬æ¨¡åè失败ã |
| | | // ================================================================== |
| | | |
| | | private boolean dataUnavailable(String method) { |
| | | if (dataService == null) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ°æ®æå¡ä¸å¯ç¨ï¼é Spring æé æè£
é
缺失ï¼ï¼{} è·³è¿ã", method); |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public com.ruoyi.inhospvisit.domain.PatMedInhosp selectPatMedInhospByInhospid(Long inhospid) { |
| | | return dataUnavailable("selectPatMedInhospByInhospid") ? null |
| | | : dataService.selectPatMedInhospByInhospid(inhospid); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhosp( |
| | | com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | return dataUnavailable("selectPatMedInhosp") ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhosp>emptyList() |
| | | : dataService.selectPatMedInhosp(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectOutInhospByPatnoAndOutDate( |
| | | String patno, java.util.Date dayStart, java.util.Date dayEnd) { |
| | | return dataUnavailable("selectOutInhospByPatnoAndOutDate") |
| | | ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhosp>emptyList() |
| | | : dataService.selectOutInhospByPatnoAndOutDate(patno, dayStart, dayEnd); |
| | | } |
| | | |
| | | @Override |
| | | public String getTagnameBypatid(Long patid) { |
| | | return dataUnavailable("getTagnameBypatid") ? null : dataService.getTagnameBypatid(patid); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<java.util.Map<String, Object>> getTagnameByPatids(java.util.List<Long> patids) { |
| | | return dataUnavailable("getTagnameByPatids") |
| | | ? java.util.Collections.<java.util.Map<String, Object>>emptyList() |
| | | : dataService.getTagnameByPatids(patids); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhospList( |
| | | com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | return dataUnavailable("selectPatMedInhospList") |
| | | ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhosp>emptyList() |
| | | : dataService.selectPatMedInhospList(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhospListBySerialnum( |
| | | com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | return dataUnavailable("selectPatMedInhospListBySerialnum") |
| | | ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhosp>emptyList() |
| | | : dataService.selectPatMedInhospListBySerialnum(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhospListByCondition( |
| | | com.ruoyi.inhospvisit.domain.PatMedInhospVO patMedInhospVO) { |
| | | return dataUnavailable("selectPatMedInhospListByCondition") |
| | | ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhosp>emptyList() |
| | | : dataService.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | } |
| | | |
| | | @Override |
| | | public com.ruoyi.common.core.service.dto.PatMedRes selectPatMedInhospCount( |
| | | com.ruoyi.common.core.service.dto.PatMedReq patMedReq) { |
| | | return dataUnavailable("selectPatMedInhospCount") ? null : dataService.selectPatMedInhospCount(patMedReq); |
| | | } |
| | | |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectNeedProcessList() { |
| | | return dataUnavailable("selectNeedProcessList") |
| | | ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhosp>emptyList() |
| | | : dataService.selectNeedProcessList(); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½ï¼éè¿å
¥é¢ç³è¯·åä¿¡æ¯ï¼ã |
| | | * <p> |
| | | * â ï¸ é级æ¶è¿å<b>空å表</b>ï¼ä¸æ¯ nullï¼ââ è°ç¨æ¹çå页é»è¾å¯¹ null ä¸ç©ºå表å¤çç¸åï¼ |
| | | * ä½ç©ºå表è½é¿å
è°ç¨æ¹é¢å¤å¤ç©ºãæ³¨ææ¬æ¹æ³å¨<b>æ£å¸¸</b>è·¯å¾ä¸ä¹å¯è½è¿å {@code null} |
| | | * ï¼åå®ç°çååå¤æç¼ºé·ï¼è§ {@code InhospVisitDataService} ç说æï¼ï¼é£æ¯ä¸å¡è¡ä¸ºï¼ä¸æ¯é级ã |
| | | */ |
| | | @Override |
| | | public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhospDTO> selectPatMedInhospByApplication( |
| | | com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | return dataUnavailable("selectPatMedInhospByApplication") |
| | | ? java.util.Collections.<com.ruoyi.inhospvisit.domain.PatMedInhospDTO>emptyList() |
| | | : dataService.selectPatMedInhospByApplication(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public int insertPatMedInhosp(com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | return dataUnavailable("insertPatMedInhosp") ? 0 : dataService.insertPatMedInhosp(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public int insertPatMedInhospBatch(java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> list) { |
| | | return dataUnavailable("insertPatMedInhospBatch") ? 0 : dataService.insertPatMedInhospBatch(list); |
| | | } |
| | | |
| | | @Override |
| | | public int updatePatMedInhosp(com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | return dataUnavailable("updatePatMedInhosp") ? 0 : dataService.updatePatMedInhosp(patMedInhosp); |
| | | } |
| | | |
| | | @Override |
| | | public int deletePatMedInhospByInhospid(Long inhospid) { |
| | | return dataUnavailable("deletePatMedInhospByInhospid") ? 0 : dataService.deletePatMedInhospByInhospid(inhospid); |
| | | } |
| | | |
| | | @Override |
| | | public int deletePatMedInhospByInhospno(String inhospno) { |
| | | return dataUnavailable("deletePatMedInhospByInhospno") ? 0 : dataService.deletePatMedInhospByInhospno(inhospno); |
| | | } |
| | | |
| | | @Override |
| | | public int deletePatMedInhospByInhospids(Long[] inhospids) { |
| | | return dataUnavailable("deletePatMedInhospByInhospids") ? 0 |
| | | : dataService.deletePatMedInhospByInhospids(inhospids); |
| | | } |
| | | |
| | | /** |
| | | * ç©ºç»æï¼é®ä¸"å¯ç¨ä½ç»è£
失败"æ¶ä¸è´ï¼ä¿è¯è°ç¨æ¹ä¸ä¼ NPEï¼ |
| | | */ |
| | | public static com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto emptyAgainDraft(String reason) { |
| | | com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto dto = |
| | | new com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto(); |
| | | dto.setDraft(null); |
| | | dto.setInhospFound(false); |
| | | dto.setMissReason(reason); |
| | | return dto; |
| | | } |
| | | |
| | | /** |
| | | * åºå®ç {@code ObjectProvider} å®ç°ï¼ä»
ç¨äºé Spring ç¯å¢/æµè¯ã |
| | | */ |
| | | private static final class FixedProvider implements ObjectProvider<InhospVisitApi> { |
| | | |
| | | private final InhospVisitApi api; |
| | | |
| | | private FixedProvider(InhospVisitApi api) { |
| | | this.api = api; |
| | | } |
| | | |
| | | @Override |
| | | public InhospVisitApi getObject(Object... args) { |
| | | return api; |
| | | } |
| | | |
| | | @Override |
| | | public InhospVisitApi getIfAvailable() { |
| | | return api; |
| | | } |
| | | |
| | | @Override |
| | | public InhospVisitApi getIfUnique() { |
| | | return api; |
| | | } |
| | | |
| | | @Override |
| | | public InhospVisitApi getObject() { |
| | | return api; |
| | | } |
| | | |
| | | @Override |
| | | public java.util.stream.Stream<InhospVisitApi> stream() { |
| | | return api == null ? java.util.stream.Stream.empty() : java.util.stream.Stream.of(api); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.config; |
| | | |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.servlet.HandlerInterceptor; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模åå¼å
³æ¦æªå¨ã |
| | | * <p> |
| | | * <b>ä½ç¨</b>ï¼å½å¼å
³å
³éï¼{@code sys_config} ä¸ {@code inhospvisit.enabled=false}ï¼æ¶ï¼ |
| | | * å½ä¸åºå
¥é¢é访端ç¹ç请æ±ä¼è¢«ç«å³æ¦ä¸å¹¶æåº {@link ServiceException}ï¼ |
| | | * ç± RuoYi çå
¨å±å¼å¸¸å¤çå¨è¿å<b>æç¡®çä¸å¡é误æç¤º</b>ï¼è䏿¯ 404 æéé»è¿åç©ºæ°æ®ï¼ã |
| | | * <p> |
| | | * å¼å
³å¼ç± {@link InhospVisitSwitch} å¨è¿è¡æ¶è¯»åï¼{@code sys_config}ï¼10 ç§è¿ç¨å
ç¼åï¼ï¼ |
| | | * å æ¤æ¹å®åæ°è®¾ç½®<b>ä¸éè¦éå¯</b>ï¼æå¤ 10 ç§å³çæã |
| | | * |
| | | * <h3>â ï¸ æ¬æ¦æªå¨<b>ä¸è¦ç宿¶ä»»å¡</b></h3> |
| | | * {@code RyTask.dealOutHospInfo} ç宿¶å
¥å£ä¸èµ° MVCï¼å æ¤ä¸åæ¬å¼å
³å½±å ââ è¿æ¯å»æçï¼ |
| | | * å
³æå®æ¶ä»»å¡ = å½å¤©å
¨é¢é访åæï¼èå¼å
³æ¯ç读çï¼ä¸æ¬¡è¯¯æä½æ¯«æ å馿¸ éã |
| | | * è¦å宿¶ä»»å¡è¯·å°ãç³»ç»ç®¡ç â 宿¶ä»»å¡ãæå对åºç {@code sys_job}ã |
| | | * |
| | | * <h3>为ä»ä¹ä¸ç¨ {@code @ConditionalOnProperty} 让 Controller ç´æ¥ä¸æ³¨å</h3> |
| | | * <ul> |
| | | * <li>飿 ·è°ç¨æ¹åªä¼æ¿å° HTTP 404 ââ å端/è¿ç»´æ æ³åºå"模å被å
³é"å"å°ååéäº"ï¼</li> |
| | | * <li>èä¸ {@code @ConditionalOnProperty} åªå¨<b>å¯å¨æ¶</b>æ±å¼ä¸æ¬¡ï¼ |
| | | * åä¸å°"æ¹å®åæ°é
置就çæ"ï¼ä¸åæ°è¡¨å¼å
³çè¯æ±å²çªã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>为ä»ä¹ä¸ä¼å½±åå
¶å®ä¸å¡ä¸å¯å¨</h3> |
| | | * <ul> |
| | | * <li>æ¬æ¦æªå¨åªç»è®°å¨<b>æ¬æ¨¡åç端ç¹</b>ç精确路å¾ä¸ï¼è§ {@link InhospVisitWebConfig}ï¼ï¼ |
| | | * ç»ä¸ç¨ {@code /smartor/patinhosp/**} è¿ç§åç¼ ââ é£ä¸ªåç¼ä¸è¿æå¤§éåºå
¥é¢è®°å½ CRUD ç«¯ç¹ |
| | | * ï¼{@code selectPatMedInhospList} / {@code add} / {@code edit} / {@code remove} / {@code export} â¦ï¼ï¼ |
| | | * å®ä»¬å±äºè®°å½ç®¡çä¸å¡ï¼æ¨¡åå
³éæ¶å¿
须继ç»å¯ç¨ï¼</li> |
| | | * <li>模åå
³éæ¶ï¼Controller ä¸ Service 便§æ¯æ®é Beanï¼å¯å¨ä¸åå½±åï¼ï¼ |
| | | * å
¶å®æ¨¡åéè¿ {@code InhospVisitFacade} è°ç¨æ¶æ¿å°çæ¯å®å
¨ç©ºå¼ï¼ |
| | | * åªæ"ä¸é¨è°é访触å端ç¹"çè¯·æ±æä¼æ¶å°é误ã</li> |
| | | * </ul> |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InhospVisitAvailabilityInterceptor implements HandlerInterceptor { |
| | | |
| | | /** |
| | | * 模å被å
³éæ¶è¿åç»è°ç¨æ¹çé误æç¤ºï¼å端å¯ç´æ¥å±ç¤ºï¼ |
| | | * <p> |
| | | * â ï¸ <b>2025 æ´æ£</b>ï¼æ¬å¸¸éåå
卿«å°¾è¡¥äºä¸å¥ |
| | | * ã宿¶ä»»å¡ä¸åæ¤å¼å
³æ§å¶ï¼å¦éåæ¢è¯·å¨ãç³»ç»ç®¡ç â 宿¶ä»»å¡ãæå对åºçä»»å¡ãââ |
| | | * é£å¥è¯<b>已䏿ç«</b>ï¼å®æ¶ä»»å¡ç 5 个å
¥å£ç°å·²å
¨é¨æ¥å¼å
³ |
| | | * ï¼4 个走é¨é¢ã{@code dealSubtaskDeadline} èµ°å
¥å£å®å«ï¼ã |
| | | * æç¤ºè¯æ¯è¿ç»´ç´æ¥çå°çææ¬ï¼çç宿¯ä¸åæ´ç³ï¼ä¼è®©äººå»å sys_jobï¼ã |
| | | */ |
| | | public static final String DISABLED_MESSAGE = |
| | | "åºå
¥é¢é访åè½æªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼è¯¥æ¥å£ä¸å¯ç¨"; |
| | | |
| | | private final InhospVisitSwitch inhospVisitSwitch; |
| | | |
| | | public InhospVisitAvailabilityInterceptor(InhospVisitSwitch inhospVisitSwitch) { |
| | | this.inhospVisitSwitch = inhospVisitSwitch; |
| | | } |
| | | |
| | | @Override |
| | | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { |
| | | if (!inhospVisitSwitch.isEnabled()) { |
| | | // request å
许为 nullï¼åå
æµè¯ç´æ¥è° preHandle æ¶ä¸æé 请æ±å¯¹è±¡ï¼ |
| | | String method = request == null ? "-" : request.getMethod(); |
| | | String uri = request == null ? "-" : request.getRequestURI(); |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¨¡åå·²å
³éï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼æç»è®¿é® {} {}", method, uri); |
| | | throw new ServiceException(DISABLED_MESSAGE); |
| | | } |
| | | return true; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.config; |
| | | |
| | | import lombok.Data; |
| | | import org.springframework.boot.context.properties.ConfigurationProperties; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模åç yml é
ç½®ï¼<b>ä»
ä½å
åºï¼ä¸æ¯ä¸»å¼å
³</b>ï¼ã |
| | | * |
| | | * <h3>â ï¸ ä¸»å¼å
³ä¸å¨è¿é</h3> |
| | | * 主å¼å
³æ¯ {@code sys_config} åæ°é
置表éç {@code inhospvisit.enabled}ï¼ |
| | | * ç± {@link InhospVisitSwitch} <b>è¿è¡æ¶ç读</b>ï¼è¿ç¨å
10 ç§ç¼åï¼æ¹å®æå¤ 10 ç§çæï¼ã |
| | | * æ¬ç±»åªå¨ãsys_config éæ²¡æé£ä¸è¡ãæãé Spring ç¯å¢åä¸å°é
ç½®æå¡ãæ¶å
åºã |
| | | * |
| | | * <h3>为ä»ä¹ä¸æ¾å¨ application.yml å主å¼å
³</h3> |
| | | * {@code @ConfigurationProperties} åªå¨å¯å¨æ¶ç»å®ä¸æ¬¡ï¼æ¹ yml å¿
é¡»éå¯ï¼ |
| | | * èåºå
¥é¢é访æ¯éè¦"åºé®é¢è½ç«å»å
³æ"çä¸å¡ã |
| | | * ï¼è¿æ¯æ»¡æåº¦æ¨¡å<b>å®é
踩è¿çå</b>ï¼æåå¼å
³æ¾ ymlï¼åæ¥è¢«è¿«æ¹æ sys_configãï¼ |
| | | */ |
| | | @Data |
| | | @Component |
| | | @ConfigurationProperties(prefix = "inhospvisit") |
| | | public class InhospVisitProperties { |
| | | |
| | | /** |
| | | * yml å
åºå¼å
³ï¼é»è®¤ trueï¼ã |
| | | * <p> |
| | | * åºå
¥é¢é访æ¯ä¸»åä¸å¡ï¼å
³æ = å½å¤©å
¨é¢é访åæï¼æä»¥é»è®¤å¿
é¡»æ¯ trueï¼ |
| | | * è¦å
³é请å°ãç³»ç»ç®¡ç â åæ°è®¾ç½®ãæ¾å¼æ {@code inhospvisit.enabled} 设为 falseã |
| | | */ |
| | | private boolean enabled = true; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.config; |
| | | |
| | | import com.ruoyi.common.core.service.IConfigService; |
| | | import com.ruoyi.inhospvisit.InhospVisitModule; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模å<b>æ»å¼å
³</b>ï¼å¼åæ¾å¨ {@code sys_config} åæ°é
置表ä¸ï¼<b>è¿è¡æ¶è¯»åãå¯ç忢</b>ã |
| | | * |
| | | * <h3>åæ°é
ç½®</h3> |
| | | * <pre> |
| | | * åæ°é®åï¼inhospvisit.enabled |
| | | * åæ°é®å¼ï¼true = å¯ç¨ï¼é»è®¤ï¼ |
| | | * false = å
³é |
| | | * </pre> |
| | | * å»ºåæ°çå¹ç SQL è§ {@code sql/åºå
¥é¢é访å¼å
³_sys_config.sql}ã |
| | | * |
| | | * <h3>â ï¸ æ¬å¼å
³çä½ç¨èå´ï¼2025 æ´æ£ï¼</h3> |
| | | * <ul> |
| | | * <li><b>HTTP 触å端ç¹</b>ï¼ç± {@code InhospVisitAvailabilityInterceptor} æ¦ä¸ï¼æ¥æç¡®ä¸å¡é误ï¼</li> |
| | | * <li><b>宿¶ä»»å¡</b>ï¼<b>忬å¼å
³æ§å¶</b>ã{@code RyTask} ç 5 个å
¥å£å·²æ¥å¼å
³ ââ |
| | | * {@code dealOutHospInfo} / {@code dealOutHospInfoBySchedule} / |
| | | * {@code dealTaskGroupOutHosp} / {@code rollTaskGroupCycle} èµ°é¨é¢ï¼ |
| | | * {@code dealSubtaskDeadline} èµ°å
¥å£å®å«ï¼å
³éæ¶æ |
| | | * ããåºå
¥é¢éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼â¦ è·³è¿ãï¼</li> |
| | | * <li><b>åºç¡åºå
¥é¢ä¿¡æ¯è¯»å</b>ï¼{@code InhospVisitDataService}ï¼ï¼<b>廿ä¸åæ¬å¼å
³ç®¡</b> ââ |
| | | * å
³æé访ä¸è¯¥è®© HIS ééä¸åºå
¥é¢è®°å½ç®¡çç«çªã</li> |
| | | * </ul> |
| | | * <p> |
| | | * â ï¸ <b>æ¬æ³¨éæ¤ååçæ¯"æ¬å¼å
³ä¸ä½ç¨äºå®æ¶ä»»å¡"</b>ï¼çç±æ¯"䏿¬¡è¯¯æä½å°±è½è®©å½å¤©å
¨é¢é访åæï¼ |
| | | * è宿¶ä»»å¡æ²¡æå馿¸ é"ã该说æ³<b>ä¸äºå®ä¸ç¬¦ä¸å·²æ´æ£</b>ï¼ |
| | | * 彿¶å®æ¶ä»»å¡èµ° smartor çéçå®ç° {@code PatMedInhospServiceImpl}ï¼ |
| | | * å®<b>ä»ä¸è°ç¨é¨é¢çç¼ææ¹æ³</b>ï¼åªç¨é¨é¢åæ°æ®ï¼èæ°æ®æ¹æ³æè®¾è®¡ä¸åå¼å
³ç®¡ï¼ï¼ |
| | | * æä»¥çå®ç¶ææ¯"å¼å
³å¯¹å®æ¶ä»»å¡æ æã䏿 ä»»ä½æç¤º"ââ |
| | | * è¿æ¯"åæ§"æ´ç³ï¼å®è®©è¿ç»´ä»¥ä¸ºå·²ç»å
³æäºï¼å®é
è¿å¨çæé访ã |
| | | * ç°å¨å®æ¶ä»»å¡èµ°é¨é¢ï¼å
³éææç¡®æ¥å¿ï¼åæ°å¨ãç³»ç»ç®¡ç â åæ°è®¾ç½®ãéå¯è§å¯æ¹ã |
| | | * è¦æå宿¶ä»»å¡ä»å¯å»ãç³»ç»ç®¡ç â 宿¶ä»»å¡ãæå {@code sys_job}ï¼ä¸¤æ¡è·¯é½ææã |
| | | * è¯¦è§ {@code doc/模åå¼å
³æææ§æ ¸æ¥ä¸ä¿®å¤.md}ã |
| | | * |
| | | * <h3>åå¼ä¼å
级</h3> |
| | | * <ol> |
| | | * <li>{@code sys_config} é {@code inhospvisit.enabled}ï¼<b>主ç¨</b>ï¼ï¼</li> |
| | | * <li>{@link InhospVisitProperties#isEnabled()}ï¼<b>å
åº</b>ï¼é»è®¤ trueï¼ã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>为ä»ä¹è¯»ä¸å°é
ç½®ä¹æ trueï¼fail-openï¼</h3> |
| | | * 读 {@code sys_config} è¦èµ°æ°æ®åºï¼æ°æ®åºæå¨æ¶ fail-closed 伿åºå
¥é¢é访æ´ä½ææ» ââ |
| | | * 飿¯æ"åæ°è¯»å"åæ"ä¸å¡åææ¾å¤§å¨"ãæä»¥è¯»å¤±è´¥åªæ WARN å¹¶æ¾è¡ã |
| | | * <p> |
| | | * â ï¸ æ³¨ææ¬æ¨¡å妿ä¸ä¸ª"类似ä½ä¸è¯¥åå¹¶"çå£å¾ï¼yml éç {@code noLongTask} |
| | | * ï¼{@code ServiceExternalServiceImpl.java:83-84}ï¼æ orgid ç´æ¥è·³è¿é¿æä»»å¡çæã |
| | | * è¯ä¹ç¸è¿ä½é¾è·¯ä¸åï¼å®å¨ {@code ServiceExternalServiceImpl}ï¼ä¸å¨éè®¿æ«æé¾ä¸ï¼ï¼ |
| | | * <b>æ¬æ¬¡ä¸åå¹¶</b>ï¼é¿å
è¡ä¸ºåæ´ã |
| | | * |
| | | * <h3>为ä»ä¹æ 10 ç§ç¼å</h3> |
| | | * {@code SysConfigServiceImpl#selectConfigByKey} å½å<b>æ¯æ¬¡é½æ¥åº</b> |
| | | * ï¼Redis ç¼å飿®µè¢«æ³¨éæäºï¼ï¼èæ¬å¼å
³æ¯æ¬¡é访请æ±é½ä¼è¢«è¯»å°ã |
| | | * è¿ç¨å
TTL ç¼åææ¥åºéå°"æ¯å®ä¾æ¯ 10 ç§æå¤ä¸æ¬¡"ï¼ä»£ä»·æ¯æ¹å¨æå¤ 10 ç§çæã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InhospVisitSwitch { |
| | | |
| | | /** |
| | | * sys_config éçåæ°é®åï¼ä¸ {@link InhospVisitModule#SWITCH_KEY} ä¿æä¸è´ï¼ |
| | | */ |
| | | public static final String CONFIG_KEY = InhospVisitModule.SWITCH_KEY; |
| | | |
| | | /** |
| | | * è¿ç¨å
ç¼åæææï¼æ¯«ç§ï¼ |
| | | */ |
| | | private static final long CACHE_TTL_MILLIS = 10_000L; |
| | | |
| | | private final InhospVisitProperties properties; |
| | | |
| | | /** |
| | | * åæ°é
ç½®æå¡ï¼ruoyi-common çæ¥å£ï¼å®ç°å¨ ruoyi-systemï¼ã |
| | | * <p> |
| | | * ç¨ {@code ObjectProvider} æ°æ§åï¼æ¬æ¨¡ååªä¾èµ ruoyi-commonï¼ |
| | | * 卿µè¯/ç¬ç«é¨ç½²ç"容å¨é没æå®ç°"çåºæ¯ä¸ä¸è½å æ¤å¯å¨å¤±è´¥ã |
| | | */ |
| | | private final ObjectProvider<IConfigService> configServiceProvider; |
| | | |
| | | private volatile Boolean cachedEnabled; |
| | | |
| | | private volatile long cachedAt; |
| | | |
| | | /** |
| | | * Spring 使ç¨çæé å¨ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»æ¾å¼æ 注 {@code @Autowired}</b>ï¼æ¬ç±»æä¸¤ä¸ªå
¬å¼æé å¨ |
| | | * ï¼å¦ä¸ä¸ªç»æµè¯/é Spring ç¯å¢ç¨ï¼ï¼ä¸æ 注çè¯ Spring ä¼å "æé å¨ä¸å¯ä¸" |
| | | * éåæ¥æ¾æ åæé å¨ï¼å¯å¨å³æ¥ {@code No default constructor found}ã |
| | | * ââ è¿æ¯æ»¡æåº¦æ¨¡åå®é
踩å°çåï¼æ¤å¤å»æä¿çåæ ·ç忳䏿³¨éã |
| | | */ |
| | | @Autowired |
| | | public InhospVisitSwitch(InhospVisitProperties properties, |
| | | ObjectProvider<IConfigService> configServiceProvider) { |
| | | this.properties = properties; |
| | | this.configServiceProvider = configServiceProvider; |
| | | } |
| | | |
| | | /** |
| | | * ä¾<b>æµè¯/é Spring ç¯å¢</b>ç´æ¥æé ï¼{@code configValue} å°±æ¯ sys_config éçé®å¼ï¼ |
| | | * ä¼ {@code null} 表示"åæ°è¡ä¸åå¨"ï¼æ¤æ¶åè½å° {@link InhospVisitProperties}ï¼ã |
| | | */ |
| | | public InhospVisitSwitch(InhospVisitProperties properties, final String configValue) { |
| | | this(properties, new FixedProvider(configValue)); |
| | | // é Spring ç¯å¢æ²¡æ"æ¹é
ç½®åç 10 ç§"çæ¦å¿µï¼ç´æ¥ç¦ç¨ç¼åï¼ä¿è¯æè¨å³æ¶å¯è§ |
| | | this.cachedEnabled = resolve(); |
| | | this.cachedAt = System.currentTimeMillis() + CACHE_TTL_MILLIS * 1000L; |
| | | } |
| | | |
| | | /** |
| | | * åºå
¥é¢é访åè½æ¯å¦å¯ç¨ï¼è¿è¡æ¶çè¯»ï¼æå¤ 10 ç§å»¶è¿ï¼ |
| | | */ |
| | | public boolean isEnabled() { |
| | | long now = System.currentTimeMillis(); |
| | | Boolean cached = this.cachedEnabled; |
| | | if (cached != null && now - this.cachedAt < CACHE_TTL_MILLIS) { |
| | | return cached; |
| | | } |
| | | boolean resolved = resolve(); |
| | | this.cachedEnabled = resolved; |
| | | this.cachedAt = now; |
| | | return resolved; |
| | | } |
| | | |
| | | /** |
| | | * æ¸
æè¿ç¨å
ç¼åï¼ä¸æ¬¡è°ç¨ç«å³éæ°è¯» sys_configï¼ä¾æµè¯/éè¦ç«å³çæçåºæ¯ï¼ |
| | | */ |
| | | public void invalidateCache() { |
| | | this.cachedEnabled = null; |
| | | } |
| | | |
| | | /** |
| | | * è§£æå½åå¼å
³å¼ï¼sys_config ä¼å
ï¼å
¶æ¬¡ yml å
åº |
| | | */ |
| | | private boolean resolve() { |
| | | String value = readFromSysConfig(); |
| | | if (value != null) { |
| | | if (!"true".equalsIgnoreCase(value) && !"false".equalsIgnoreCase(value)) { |
| | | log.warn("ãåºå
¥é¢é访ãsys_config ä¸ {} çå¼ä¸æ¯ true/falseï¼å®é
=ã{}ãï¼ï¼å°æã䏿¯ false å³å¯ç¨ãå¤ç", |
| | | CONFIG_KEY, value); |
| | | } |
| | | boolean enabled = !"false".equalsIgnoreCase(value); |
| | | log.debug("ãåºå
¥é¢é访ãå¼å
³åèª sys_configï¼{}={} -> enabled={}", CONFIG_KEY, value, enabled); |
| | | return enabled; |
| | | } |
| | | boolean enabled = properties.isEnabled(); |
| | | log.debug("ãåºå
¥é¢é访ãsys_config 䏿ªé
ç½® {}ï¼åè½ inhospvisit.enabled={}", CONFIG_KEY, enabled); |
| | | return enabled; |
| | | } |
| | | |
| | | /** |
| | | * 读 sys_config çåå§é®å¼ï¼æ²¡æå®ç°ã没æè¿ä¸è¡ãæè¯»åºå¤±è´¥é½è¿å {@code null} |
| | | */ |
| | | private String readFromSysConfig() { |
| | | if (configServiceProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | IConfigService configService = configServiceProvider.stream().findFirst().orElse(null); |
| | | if (configService == null) { |
| | | return null; |
| | | } |
| | | String value = configService.selectConfigByKey(CONFIG_KEY); |
| | | if (value == null || value.trim().isEmpty()) { |
| | | return null; |
| | | } |
| | | return value.trim(); |
| | | } catch (Exception e) { |
| | | // 容卿²¡æå®ç°ãæ°æ®æºå¼å¸¸ãSQL æ¥éâ¦â¦ä¸å¾æ"åæ°ç¼ºå¤±"å¤çï¼fail-openï¼ï¼ç»ä¸å½±å主æµç¨ |
| | | log.warn("ãåºå
¥é¢é访ã读å sys_config ç {} å¤±è´¥ï¼æ¬æ¬¡ææªé
ç½®å¤çï¼fail-openï¼ï¼{}", |
| | | CONFIG_KEY, e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åºå®å¼ç {@code ObjectProvider}ï¼åªç¨äºé Spring ç¯å¢/æµè¯ |
| | | */ |
| | | private static final class FixedProvider implements ObjectProvider<IConfigService> { |
| | | |
| | | private final IConfigService configService; |
| | | |
| | | private FixedProvider(final String configValue) { |
| | | this.configService = configValue == null ? null : configKey -> configValue; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getObject(Object... args) { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getIfAvailable() { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getIfUnique() { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getObject() { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public java.util.stream.Stream<IConfigService> stream() { |
| | | return configService == null ? java.util.stream.Stream.empty() : java.util.stream.Stream.of(configService); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.config; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模åç MVC é
ç½®ï¼æ {@link InhospVisitAvailabilityInterceptor} æå° |
| | | * <b>æ¬æ¨¡å URL åç¼ä¸çå
¨é¨ç«¯ç¹</b>ä¸ã |
| | | * |
| | | * <h3>â ï¸ ç¨åç¼éé
ï¼ä¸é个æä¸¾è·¯å¾ï¼2025 äºæ¬¡è°æ´ï¼</h3> |
| | | * æ¬ç±»æ¾é个æä¸¾ 15 æ¡è·¯å¾ï¼çç±æ¯"å¯è¢«éææè¨"ãä½é£ä¸ªè®¾è®¡æä¸ªå®é
ä»£ä»·ï¼ |
| | | * <b>以å徿¬æ¨¡åå æ¥å£æ¶ï¼å¿
须记å¾åæ¥æ¹è¿ä¸ªæ¸
å</b> ââ å¿äºå°±éé»ä¸åå¼å
³ç®¡ï¼ |
| | | * è"å¿äº"è¿ä»¶äºæ¬èº«ä¸ä¼æä»»ä½æ¥éã |
| | | * <p> |
| | | * ç°å¨æ¹ä¸ºéé
{@link #GUARDED_PREFIX}ï¼è¯ä¹æ¯ï¼ |
| | | * <b>æ¬æ¨¡å URL åç¼ä¸çææç«¯ç¹é½åå¼å
³ç®¡ï¼æ°å æ¥å£èªå¨çæï¼æ éæ¹é
ç½®</b>ã |
| | | * <p> |
| | | * <b>丢æçéæå¯æè¨æ§ç¨æ¢éè¡¥åæ¥äºï¼èä¸è¡¥å¾æ´å¼º</b>ï¼ |
| | | * {@code sql/_probe/verify_inhospvisit_switch.py} ä¸åæ¯å¯¹"æ¸
ååé¢é"ï¼ |
| | | * èæ¯åä¸¤ä»¶æ´æ¬è´¨çäºï¼ |
| | | * <ol> |
| | | * <li><b>仿§å¶å¨æºç 宿µ</b>端ç¹å
¨éï¼æè¨å®ä»¬**å
¨é¨**被 {@link #GUARDED_PREFIX} è¦ç |
| | | * ââ è¦çä¸å°ç端ç¹ä¼ FAILï¼çä»·äº"æ°å æ¥å£å¿äºé
ç½®"çé²çº¿ï¼ï¼</li> |
| | | * <li>åå°è°ç¨ {@link #addInterceptors}ï¼è¯» Spring å®é
注åçæ¨¡å¼ |
| | | * ï¼{@code InterceptorRegistration.getPatterns()}ï¼ï¼æè¨å°±æ¯ {@link #GUARDED_PREFIX} |
| | | * ââ é²"代ç åçéé
ãå®é
注åçæ¯å«ç"ã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>å£å¾ï¼å
³å°±æ´ä¸ªæ¨¡åç HTTP é¢ä¸å¯ç¨</h3> |
| | | * ç¨æ·å®æºæ {@code inhospvisit.enabled} 设为 false åï¼ |
| | | * {@code POST /smartor/patinhosp/selectPatMedInhospList} ä»è½æ¥å°æ°æ®ã |
| | | * å设计æ¯"åªæ¦ä¼çæé访ç触å端ç¹"ï¼ç¨æ·å³å®æ¹ä¸º"å
³å°±æ´ä¸ªæ¨¡åä¸å¯ç¨"ï¼ |
| | | * äºæ¯æ¬åç¼ä¸ 15 个端ç¹å
¨é¨å管ã |
| | | * <p> |
| | | * <b>ä½åªæ¦ HTTPï¼<u>ä¸</u>å¨è·¨æ¨¡åæ°æ®å¥çº¦</b>ï¼ |
| | | * <ul> |
| | | * <li>â
HTTPï¼æ¬åç¼ä¸å
¨é¨ç«¯ç¹ï¼â å
³éæ¶æ¥ |
| | | * ãåºå
¥é¢é访åè½æªå¯ç¨ï¼åæ°é
ç½® inhospvisit.enabled=falseï¼ï¼è¯¥æ¥å£ä¸å¯ç¨ãï¼</li> |
| | | * <li>â {@code InhospVisitDataService}ï¼HIS ééãæ¡£æ¡æ±èãç»è®¡ç<b>模åå
é¨/跨模å</b>访é®ï¼ |
| | | * â <b>ç
§å¸¸å¯ç¨</b>ãå
³æé访ä¸è¯¥è®© HIS åä¸è¿åºå
¥é¢è®°å½ |
| | | * ï¼æ°æ®ææµæ¯"页é¢çä¸å°"严éå¾å¤ï¼ä¸é¾æ¢å¤ï¼ï¼ |
| | | * <li>æä»¥"æ´ä¸ªæ¨¡åä¸å¯ç¨"çåç¡®å«ä¹æ¯<b>ã该模åç HTTP é¢ä¸å¯ç¨ã</b>ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>åç¼çè¦çèå´ï¼å®æµï¼éç
§ææ³¨éï¼</h3> |
| | | * 该åç¼ä¸å®é
æ <b>15 个端ç¹</b>ï¼æ¥èªä¸ä¸ªæ§å¶å¨ï¼ |
| | | * {@code InhospVisitController}ï¼3 个é访触åï¼ã |
| | | * {@code InhospVisitDataController}ï¼9 个åºç¡æ¥è¯¢/CRUDï¼ã |
| | | * {@code com.ruoyi.web.controller.smartor.PatMedInhospController}ï¼3 个å¤å端ç¹ï¼ |
| | | * å®ç°ä»çå¨ smartor ä½ URL 屿¬åç¼ï¼ã |
| | | * <p> |
| | | * â ï¸ æ§æ³¨éå"14 ä¸ªç«¯ç¹ / å¤åç«¯ç¹ 4 个"ï¼å®æµæ¯ 15 / 3 ââ è¿ç±»"注ééçæ°å" |
| | | * æ£æ¯å£å¾æ··ä¹±çæ¥æºï¼æä»¥æ¢éæ¹ä¸ºä»æºç 宿µã |
| | | */ |
| | | @Configuration |
| | | public class InhospVisitWebConfig implements WebMvcConfigurer { |
| | | |
| | | /** |
| | | * æ¬æ¨¡åç URL åç¼ã模åå
æææ§å¶å¨é½æå¨å®ä¸é¢ |
| | | * ï¼{@code InhospVisitController} ä¸ {@code InhospVisitDataController} 宿µå为 |
| | | * {@code @RequestMapping("/smartor/patinhosp")}ï¼ã |
| | | * <p> |
| | | * â ï¸ å æ°æ§å¶å¨æ¶<b>å¿
é¡»</b>ä¹ç¨è¿ä¸ªåç¼ ââ å¦åå®ä¸ä¼åå¼å
³ç®¡ã |
| | | * æ¢éä¼ä»æºç 宿µæææ§å¶å¨ç {@code @RequestMapping} ä¸ç«¯ç¹ï¼ |
| | | * å¡è¦çä¸å°æ¬åç¼çé½ä¼ FAILã |
| | | */ |
| | | public static final String MODULE_URL_PREFIX = "/smartor/patinhosp"; |
| | | |
| | | /** |
| | | * æ¦æªå¨å®é
注åçæ¨¡å¼ï¼éé
æ´ä¸ªåç¼ï¼ã |
| | | */ |
| | | public static final String GUARDED_PREFIX = MODULE_URL_PREFIX + "/**"; |
| | | |
| | | @Autowired |
| | | private InhospVisitAvailabilityInterceptor inhospVisitAvailabilityInterceptor; |
| | | |
| | | /** |
| | | * 便µè¯/é Spring ç¯å¢ç´æ¥æé |
| | | */ |
| | | public InhospVisitWebConfig() { |
| | | } |
| | | |
| | | public InhospVisitWebConfig(InhospVisitAvailabilityInterceptor interceptor) { |
| | | this.inhospVisitAvailabilityInterceptor = interceptor; |
| | | } |
| | | |
| | | /** |
| | | * æ¬æ¨¡åéè¦"å
³éå³æç¡®æ¥é"çè·¯å¾æ¨¡å¼ã |
| | | * <p> |
| | | * â ï¸ åªæä¸æ¡éé
ï¼è§ç±»æ³¨éçåè说æï¼ã |
| | | * <b>ä¸è¦</b>æå®å½æ"åç®¡ç«¯ç¹æ¸
å"ç¨ ââ |
| | | * çå®ç«¯ç¹æ¸
åè¯·ç¨ {@code sql/_probe/verify_inhospvisit_switch.py} 仿§å¶å¨æºç 宿µã |
| | | */ |
| | | public static List<String> guardedPathPatterns() { |
| | | return new ArrayList<>(Arrays.asList(GUARDED_PREFIX)); |
| | | } |
| | | |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | registry.addInterceptor(inhospVisitAvailabilityInterceptor) |
| | | .addPathPatterns(guardedPathPatterns()) |
| | | // æ¦æªå¨æ¬èº«å¾è½»ï¼åªè¯»ä¸ä¸ª booleanï¼ï¼order ç»ä¸ªå°å¼è®©å®å¨ä¸å¡æ¦æªå¨ä¹åæ§è¡ |
| | | .order(-100); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.controller; |
| | | |
| | | import com.ruoyi.common.core.service.IConfigService; |
| | | import com.ruoyi.inhospvisit.api.InhospVisitFacade; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访<b>触å端ç¹</b> ââ ä» {@code ruoyi-admin} ç {@code PatMedInhospController} è¿å
¥ã |
| | | * |
| | | * <h3>â ï¸ URL ä¸ä¸ªé½ä¸è½å</h3> |
| | | * 类级路å¾ä»æ¯ {@code /smartor/patinhosp}ï¼ä¸ä¸ªæ¹æ³çº§è·¯å¾éåç
§æï¼ |
| | | * <ul> |
| | | * <li>{@code POST /smartor/patinhosp/dealOutHospInfo}</li> |
| | | * <li>{@code POST /smartor/patinhosp/dealOutHospInfoBySchedule}</li> |
| | | * <li>{@code POST /smartor/patinhosp/addOperationSubTask}</li> |
| | | * </ul> |
| | | * çå®å端å¨ä»åºå¤ï¼{@code D:\daima\smartor\smartor-web}ï¼ä»£ç {@code localhost:8095}ï¼ï¼ |
| | | * æ¹äºå°åå°±æ æ³åå½ãç± {@code sql/_probe/verify_inhospvisit_url_equivalence.py} æå
³ã |
| | | * |
| | | * <h3>è¿å
¥æ¶åæ¥å é¤</h3> |
| | | * {@code PatMedInhospController} é对åºè¿ 3 ä¸ªæ¹æ³ç |
| | | * {@code @PostMapping} ä¸ {@code @ApiOperation} å¿
é¡»<b>åæ¶å æ</b> ââ |
| | | * å¦åä¸¤ä¸ªç±»é½æ å°åä¸è·¯å¾ï¼Spring ä¼å {@code Ambiguous mapping} <b>ç´æ¥å¯å¨å¤±è´¥</b>ã |
| | | * |
| | | * <h3>ä¸å Controller ç两å¤å·®å¼ï¼çä»·æ¹åï¼å·²ç»è®°ï¼</h3> |
| | | * <ol> |
| | | * <li><b>ä¸å注å
¥ {@code ISysConfigService}</b>ï¼{@code visit.early.day} æ¹ç± |
| | | * {@link InhospVisitTaskService} å
é¨è¯»ï¼å®æ¬æ¥å°±è¦ç¨è¿ä¸ªå¼ï¼ã |
| | | * åå®ç°æ¯å¨ Controller é读好åä¼ è¿å»çï¼ææä¸è´ã</li> |
| | | * <li><b>{@code active} åªç¨äº"æ¯å¦åé¨è¯é访"çç«ç¹å¤æ</b>ï¼å L263 ç |
| | | * {@code if (!active.equals("xh"))}ï¼ï¼ä¸åå®ç°åä¸ä½ç½®ãåä¸åæ³ã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>å¼å
³å¦ä½çæ</h3> |
| | | * æ¬æ¨¡åç {@code InhospVisitAvailabilityInterceptor} éè¿ |
| | | * {@code InhospVisitWebConfig} æå¨è¿ä¸¤æ¡ç²¾ç¡®è·¯å¾ä¸ï¼ |
| | | * <pre> |
| | | * /smartor/patinhosp/dealOutHospInfo |
| | | * /smartor/patinhosp/dealOutHospInfoBySchedule |
| | | * </pre> |
| | | * è¿å
¥å"模åèªå·±çç«¯ç¹ + 模åèªå·±çæ¦æªå¨"ç»äºåå¤ä¸ä¸ªæ¨¡åï¼ |
| | | * ä¸åæ¯è·¨æ¨¡å注åï¼é£æ¯æ¬æ¬¡æ¹é æé´çä¸ä¸ªä¸´æ¶ç¶æï¼ã |
| | | * <p> |
| | | * â ï¸ {@code /addOperationSubTask} <b>å»æä¸ææ¦æªå¨</b>ï¼å®çå®ç°æ¬æ¬¡æªæ¬ |
| | | * ï¼å±ç¬¬äºæ¹ {@code ruoyi-othervisit}ï¼ï¼æä¸ä¼è®©"è¿æ²¡æ¬èµ°ç端ç¹"ä¹åæ¬å¼å
³å½±åã |
| | | */ |
| | | @Slf4j |
| | | @Api(description = "åºå
¥é¢é访触å") |
| | | @RestController |
| | | @RequestMapping("/smartor/patinhosp") |
| | | public class InhospVisitController { |
| | | |
| | | /** ç«ç¹ï¼æ°åï¼ææ¶ä¸åé¨è¯éè®¿ï¼ */ |
| | | private static final String SITE_XH = "xh"; |
| | | |
| | | /** åºé¢é访ãéç¥ç±»ä»»å¡ãæåå 天åï¼å Controller ä» sys_config 读çå°±æ¯è¿ä¸ªé®ï¼ */ |
| | | private static final String VISIT_EARLY_DAY_KEY = "visit.early.day"; |
| | | |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | @Autowired |
| | | private InhospVisitFacade inhospVisitFacade; |
| | | |
| | | /** |
| | | * åæ°é
ç½®æå¡ï¼ruoyi-common çæ¥å£ï¼å®ç°å¨ ruoyi-systemï¼ã |
| | | * <p> |
| | | * â ï¸ ç¨ {@code ObjectProvider} æ°æ§åï¼æ¬æ¨¡ååªä¾èµ ruoyi-commonï¼ |
| | | * å¨ç¬ç«é¨ç½²/æµè¯ç"容å¨é没æå®ç°"çåºæ¯ä¸ä¸è½å æ¤å¯å¨å¤±è´¥ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»ç± Controller 读ãä¸è½ä¼ ç» Service å»è¯»</b>ï¼ |
| | | * åå®ç°å°±æ¯"Controller 读好åä¼ è¿å»"ï¼å L259/L274/L285ï¼ï¼ |
| | | * Service 屿¶çæ¯<b>å¼</b>ãä¿æè¿ä¸ªå½¢ç¶ï¼è¡ä¸ºæä¸è´ã |
| | | */ |
| | | @Autowired |
| | | private ObjectProvider<IConfigService> configServiceProvider; |
| | | |
| | | /** |
| | | * åºé¢éè®¿ä¸»æ«æ + é¨è¯é访ï¼å {@code PatMedInhospController#dealOutHospInfo} L256-266ï¼ã |
| | | * <p> |
| | | * éè¡å¯¹åºï¼ |
| | | * <pre> |
| | | * String config = configService.selectConfigByKey("visit.early.day"); |
| | | * //åºé¢è¡¨ |
| | | * iPatMedInhospService.dealOutHospInfo(config); |
| | | * //é¨è¯è¡¨(æ°åçææ¶ä¸åé¨è¯é访) |
| | | * if (!active.equals("xh")) { |
| | | * iPatMedOuthospService.dealOutpatientInfo(); |
| | | * } |
| | | * </pre> |
| | | * æ¬è¿å {@code config} ç± {@link InhospVisitTaskService} å
é¨è¯»åã |
| | | * è¿åç±»åä¿æ {@code void}ï¼ä¸å端å¥çº¦ä¸è´ï¼ï¼<b>䏿¹åºå</b>ã |
| | | */ |
| | | @ApiOperation("dealOutHospInfo") |
| | | @PostMapping("/dealOutHospInfo") |
| | | public void dealOutHospInfo() { |
| | | // å L259ï¼String config = configService.selectConfigByKey("visit.early.day"); |
| | | String config = readVisitEarlyDay(); |
| | | //åºé¢è¡¨ï¼å«å
¥é¢å®£æ / è¯å宣æ / è§åç¼æ / ææ¯é访 / åå
¥é¢å¤çï¼ |
| | | inhospVisitFacade.dealOutHospInfo(config); |
| | | //é¨è¯è¡¨(æ°åçææ¶ä¸åé¨è¯é访) |
| | | if (!SITE_XH.equals(active)) { |
| | | inhospVisitFacade.dealOutpatientInfo(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ä»»å¡ç»é¦è½®çº³å
¥ï¼å {@code PatMedInhospController#dealOutHospInfoBySchedule} L271-277ï¼ã |
| | | * <p> |
| | | * â ï¸ å®ç°æ¬æ¬¡<b>æªæ¬è¿</b>ï¼å«ææ¯åæ¯ä¸ä»»å¡ç» builderï¼å±ç¬¬äºæ¹èå´ï¼ï¼ |
| | | * ç±é¨é¢è½¬åå° smartor çå®ç° ââ è¡ä¸ºä¸å Controller ç´æ¥è°ç¨å®å
¨ä¸è´ã |
| | | */ |
| | | @ApiOperation("dealOutHospInfoBySchedule") |
| | | @PostMapping("/dealOutHospInfoBySchedule") |
| | | public void dealOutHospInfoBySchedule() { |
| | | // å L274ï¼String config = configService.selectConfigByKey("visit.early.day"); |
| | | inhospVisitFacade.dealOutHospInfoBySchedule(readVisitEarlyDay()); |
| | | } |
| | | |
| | | /** |
| | | * ææ¯é访æå¨è§¦åï¼å {@code PatMedInhospController#addOperationSubTask} L282-287ï¼ã |
| | | * <p> |
| | | * â ï¸ å®ç°æ¬æ¬¡<b>æªæ¬è¿</b>ï¼å±ç¬¬äºæ¹ {@code ruoyi-othervisit}ï¼ï¼ |
| | | * ç±é¨é¢è½¬åå° smartor çå®ç°ã |
| | | */ |
| | | @ApiOperation("addOperationSubTask") |
| | | @PostMapping("/addOperationSubTask") |
| | | public void addOperationSubTask() { |
| | | // å L285ï¼String config = configService.selectConfigByKey("visit.early.day"); |
| | | inhospVisitFacade.addOperationSubTask(readVisitEarlyDay()); |
| | | } |
| | | |
| | | /** |
| | | * 读 {@code sys_config: visit.early.day}ã |
| | | * <p> |
| | | * 对åºå Controller ä¸å¤ {@code configService.selectConfigByKey("visit.early.day")}ã |
| | | * åä¸å°ï¼æ²¡æå®ç° / 读åºå¼å¸¸ï¼æ¶è¿å {@code null} å¹¶æ WARN ââ |
| | | * åå®ç°å¨è¿ç§æ
åµä¸æ¿å°ç乿¯ {@code null}ï¼{@code selectConfigByKey} æ¥ä¸å°å³è¿å nullï¼ï¼ |
| | | * æä»¥è¯ä¹ä¸è´ã |
| | | */ |
| | | private String readVisitEarlyDay() { |
| | | if (configServiceProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | IConfigService svc = configServiceProvider.stream().findFirst().orElse(null); |
| | | if (svc == null) { |
| | | log.warn("ãåºå
¥é¢é访ã容å¨é没æ IConfigService å®ç°ï¼{} ææªé
ç½®ï¼nullï¼å¤çã", |
| | | VISIT_EARLY_DAY_KEY); |
| | | return null; |
| | | } |
| | | return svc.selectConfigByKey(VISIT_EARLY_DAY_KEY); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ã读å {} å¤±è´¥ï¼ææªé
ç½®ï¼nullï¼å¤çï¼{}", |
| | | VISIT_EARLY_DAY_KEY, e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.controller; |
| | | |
| | | import com.github.pagehelper.ISelect; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.ruoyi.common.annotation.AddOrgId; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.common.core.service.dto.PatMedReq; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.inhospvisit.api.InhospVisitFacade; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhosp; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospDTO; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åºç¡åºå
¥é¢ä¿¡æ¯<b>æ¥è¯¢ / CRUD 端ç¹</b> ââ ä» {@code ruoyi-admin} ç |
| | | * {@code PatMedInhospController} è¿å
¥ï¼"å
¶å®æ¨¡ååªè½ä»æ¬æ¨¡åè°ç¨åºå
¥é¢ä¿¡æ¯"çè½å°ç¹ä¹ä¸ï¼ã |
| | | * |
| | | * <h3>â ï¸ URL ä¸ä¸ªé½ä¸è½å</h3> |
| | | * ç±»çº§è·¯å¾ {@code /smartor/patinhosp} ä¸å Controller éåä¸è´ï¼æ¬ç±»ä¸ |
| | | * {@link InhospVisitController} å
±ç¨è¯¥åç¼ï¼ä½<b>æ¹æ³çº§è·¯å¾å®å
¨ä¸éå </b>ï¼ |
| | | * å æ¤ä¸ä¼ {@code Ambiguous mapping}ï¼ï¼11 ä¸ªæ¹æ³çº§è·¯å¾ä¹éåç
§æã |
| | | * çå®å端å¨ä»åºå¤ï¼{@code D:\daima\smartor\smartor-web}ï¼ï¼æ¹äºå°åå°±æ æ³åå½ã |
| | | * ç± {@code sql/_probe/verify_inhospvisit_url_equivalence.py} æå
³ã |
| | | * |
| | | * <h3>æ°æ®è®¿é®è·¯å¾</h3> |
| | | * æ¬ç±»<b>䏿³¨å
¥ä»»ä½ smartor ç Service</b>ï¼ä¸å¾èµ°æ¬æ¨¡åé¨é¢ |
| | | * {@link InhospVisitFacade}ï¼å®å®ç°äº {@code InhospVisitDataService}ï¼ã |
| | | * è¿ä¹æ£æ¯æ¬æ¬¡æ¹é è¦è¾¾æçäºå®ï¼åºå
¥é¢ä¿¡æ¯åªææ¬æ¨¡åä¸å¤å®ç°ã |
| | | * |
| | | * <h3>åª 4 个端ç¹<b>没æ</b>è¿è¿æ¥ï¼åå
¶åå ï¼</h3> |
| | | * <ul> |
| | | * <li>{@code /getDeptRanking} ââ SQL å¨ {@code ServiceSubtaskMapper.getDeptRanking}ï¼ |
| | | * å±åä»»å¡åèéåºå
¥é¢ä¿¡æ¯ï¼</li> |
| | | * <li>{@code /selectPatMedInhospByApplication} ââ ä¾èµ {@code ServiceSubtaskMapper} |
| | | * ä¸ {@code PatMedInhospDTO} 转æ¢ï¼<b>ä¸åå®ç°æååé»è¾ç¼ºé·</b>ï¼è§ 10.4.10 注éï¼ï¼</li> |
| | | * <li>{@code /getDocAndPat} ââ è¦åå¹¶ {@code PatArchiveImport}ï¼æ¡£æ¡å¯¼å
¥åï¼çæ°æ®ï¼</li> |
| | | * <li>{@code /getDeptCodeByPatId} ââ ä¾èµ {@code PatMedInhospDTO} 转æ¢é¾ã</li> |
| | | * </ul> |
| | | * è¿ 4 个ä»ç± {@code com.ruoyi.web.controller.smartor.PatMedInhospController} æ¿è½½ï¼URL ä¸åã |
| | | * |
| | | * <h3>å¼å
³å¦ä½çæ</h3> |
| | | * æ¬æ¨¡åç {@code InhospVisitAvailabilityInterceptor} åªæå¨<b>é访触åç精确路å¾</b>ä¸ |
| | | * ï¼{@code /dealOutHospInfo}ã{@code /dealOutHospInfoBySchedule}ï¼ï¼ |
| | | * <b>ä¸å«æ¬ç±»ç任使°æ®ç«¯ç¹</b> ââ ä¸è¿å
¥åçè¡ä¸ºå®å
¨ä¸è´ï¼ |
| | | * å
³é {@code inhospvisit.enabled} åªå"é访çæ"ï¼ä¸ä¼è®©åºå
¥é¢è®°å½çæ¥è¯¢/CRUD ä¸å¯ç¨ã |
| | | * 便®æ¯ {@code sys_config: inhospvisit.enabled} çæ¬æï¼å
³é = å½å¤©ä¸åçæé访ï¼ï¼ |
| | | * è䏿¯"å
³éæ´ä¸ªæ¨¡å"ãè¿ä¸ç¹å¨ {@code InhospVisitWebConfig} éæå¯¹åºæ³¨éã |
| | | */ |
| | | @Slf4j |
| | | @Api(description = "åºç¡åºå
¥é¢ä¿¡æ¯") |
| | | @RestController |
| | | @RequestMapping("/smartor/patinhosp") |
| | | public class InhospVisitDataController extends BaseController { |
| | | |
| | | /** |
| | | * æ¬æ¨¡å常驻é¨é¢ï¼åæ¶å®ç°é访å¥çº¦ä¸æ°æ®å¥çº¦ï¼ã |
| | | * <p> |
| | | * â ï¸ æ³¨å
¥é¨é¢è䏿¯ {@code PatMedInhospMapper}ï¼é¨é¢æ°¸è¿åå¨ï¼ |
| | | * ä¸ä¼å å¼å
³ç¶ææè£
é
å·®å¼å¯¼è´æ¬ Controller å¯å¨å¤±è´¥ã |
| | | */ |
| | | @Autowired |
| | | private InhospVisitFacade inhospVisitFacade; |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½å表ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#selectPatMedInhosplist}ï¼L77-87ï¼éè¡å¯¹åºã |
| | | */ |
| | | @ApiOperation("æ¥è¯¢æ£è
ä½é¢è®°å½å表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:list')") |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/selectPatMedInhospList") |
| | | public TableDataInfo selectPatMedInhosplist(@RequestBody PatMedInhosp patMedInhosp) { |
| | | PageUtils.startPageByPost(patMedInhosp.getPageNum(), patMedInhosp.getPageSize()); |
| | | SysUser user = getLoginUser().getUser(); |
| | | patMedInhosp.setOrgid(user.getOrgid()); |
| | | List<PatMedInhosp> list = inhospVisitFacade.selectPatMedInhospList(patMedInhosp); |
| | | // startPage ä¹å PageHelper å·²ç»èªå¨æ§è¡è¿ä¸æ¬¡ count æ¥è¯¢ï¼ç´æ¥å¤ç¨ Page éç totalï¼ |
| | | // é¿å
ç¨ PageUtils.count æå¸¦ JOIN çç»è®¡è¯å¥åè·ä¸é |
| | | long count = new PageInfo<>(list).getTotal(); |
| | | return getDataTable2(count, list); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å½åç»é人èªå·±ï¼ç
åºãé¨é¨ï¼çæ£è
ä½é¢è®°å½å表ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#selectPatMedInhospListByCondition}ï¼L126-142ï¼éè¡å¯¹åºã |
| | | * <p> |
| | | * â ï¸ åå®ç°éä¸¤ä¸ªåæ¯è°ç¨çæ¯<b>åä¸ä¸ªæ¹æ³</b>ï¼åªæ¯æ¡ä»¶ä¸åï¼ï¼æ¤å¤åæ ·ä¿ç ââ |
| | | * å并忝伿¹å"两个æ¡ä»¶é½ä¸ºç©ºæ¶ list ä¿æ null"è¿ä¸æ¢æè¡ä¸ºã |
| | | */ |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @ApiOperation("æ¥è¯¢å½åç»é人èªå·±ï¼ç
åºãé¨é¨ï¼çæ£è
ä½é¢è®°å½å表") |
| | | @PostMapping("/selectPatMedInhospListByCondition") |
| | | public TableDataInfo selectPatMedInhospListByCondition(@RequestBody PatMedInhospVO patMedInhospVO) { |
| | | PageUtils.startPageByPost(patMedInhospVO.getPageNum(), patMedInhospVO.getPageSize()); |
| | | List<PatMedInhosp> list = null; |
| | | if (!CollectionUtils.isEmpty(patMedInhospVO.getLeavehospitaldistrictcodes())) { |
| | | list = inhospVisitFacade.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | } else if (!CollectionUtils.isEmpty(patMedInhospVO.getLeaveldeptcodes())) { |
| | | list = inhospVisitFacade.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | } |
| | | long count = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | inhospVisitFacade.selectPatMedInhospListByCondition(patMedInhospVO); |
| | | } |
| | | }); |
| | | return getDataTable2(count, list); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½éè¿å
¥é¢ç³è¯·åä¿¡æ¯ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#selectPatMedInhospByApplication} éè¡å¯¹åº |
| | | * ï¼å«å页ã{@code @AddOrgId}ã以å count ç¨ç {@code ISelect}ï¼ã |
| | | * <p> |
| | | * â ï¸ <b>æ¬ç«¯ç¹åæçååå¤æç¼ºé·è¢«åæ ·ä¿ç</b>ï¼è§ {@code InhospVisitDataService} |
| | | * å¯¹è¯¥æ¹æ³ç说æï¼ï¼æ¥å°è®°å½æ¶æå¡å±è¿å {@code null}ï¼æä»¥æ¬ç«¯ç¹å®é
æè¿åç©ºæ°æ®ã |
| | | * å端å½å没æè°ç¨å®ï¼å·²æ ¸å¯¹ {@code smartor-web/src}ï¼ã |
| | | * æ"åå®ç°æªçä¸å¾åæ ·ä¿çãåªå¨æ³¨éæ æ³¨"ç纪å¾ï¼æ¬æ¥<b>ä¸ä¿®</b>å®ã |
| | | */ |
| | | @ApiOperation("æ¥è¯¢æ£è
ä½é¢è®°å½éè¿å
¥é¢ç³è¯·åä¿¡æ¯") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:list')") |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/selectPatMedInhospByApplication") |
| | | public TableDataInfo selectPatMedInhospByApplication(@RequestBody PatMedInhosp patMedInhosp) { |
| | | PageUtils.startPageByPost(patMedInhosp.getPageNum(), patMedInhosp.getPageSize()); |
| | | SysUser user = getLoginUser().getUser(); |
| | | patMedInhosp.setOrgid(user.getOrgid()); |
| | | List<PatMedInhospDTO> list = inhospVisitFacade.selectPatMedInhospByApplication(patMedInhosp); |
| | | long count = PageUtils.count(new ISelect() { |
| | | @Override |
| | | public void doSelect() { |
| | | inhospVisitFacade.selectPatMedInhospByApplication(patMedInhosp); |
| | | } |
| | | }); |
| | | return getDataTable2(count, list); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢åºãå
¥é¢çç
人次å人æ°ï¼äººæ°åä¸ºé¦æ¬¡æå¡ã忬¡æå¡ãä¸ç
æå¡ï¼ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#selectPatMedInhospListCount}ï¼L153-160ï¼éè¡å¯¹åºã |
| | | * å端é¦é¡µ ECharts å¨ç¨ï¼{@code src/api/AiCentre/EChartsdata.js}ï¼ï¼å°åä¸å¯åã |
| | | */ |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/selectPatMedInhospListCount") |
| | | @ApiOperation("æ¥è¯¢åºãå
¥é¢çç
人次å人æ°") |
| | | public AjaxResult selectPatMedInhospListCount(@RequestBody PatMedReq patMedReq) { |
| | | SysUser user = getLoginUser().getUser(); |
| | | patMedReq.setOrgid(user.getOrgid()); |
| | | return success(inhospVisitFacade.selectPatMedInhospCount(patMedReq)); |
| | | } |
| | | |
| | | /** |
| | | * å¯¼åºæ£è
ä½é¢è®°å½å表ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#export}ï¼L165-173ï¼éè¡å¯¹åºã |
| | | */ |
| | | @ApiOperation("å¯¼åºæ£è
ä½é¢è®°å½å表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:export')") |
| | | @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, PatMedInhosp patMedInhosp) { |
| | | List<PatMedInhosp> list = inhospVisitFacade.selectPatMedInhospList(patMedInhosp); |
| | | ExcelUtil<PatMedInhosp> util = new ExcelUtil<PatMedInhosp>(PatMedInhosp.class); |
| | | util.exportExcel(response, list, "æ£è
ä½é¢è®°å½æ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·åæ£è
ä½é¢è®°å½è¯¦ç»ä¿¡æ¯ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#getInfo}ï¼L178-183ï¼éè¡å¯¹åºã |
| | | */ |
| | | @ApiOperation("è·åæ£è
ä½é¢è®°å½è¯¦ç»ä¿¡æ¯") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:query')") |
| | | @GetMapping(value = "/getInfo/{inhospid}") |
| | | public AjaxResult getInfo(@PathVariable("inhospid") Long inhospid) { |
| | | return success(inhospVisitFacade.selectPatMedInhospByInhospid(inhospid)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢æ£è
ä½é¢è®°å½ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#add}ï¼L188-197ï¼éè¡å¯¹åºã |
| | | */ |
| | | @ApiOperation("æ°å¢æ£è
ä½é¢è®°å½") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:add')") |
| | | @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.INSERT) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody PatMedInhosp patMedInhosp) { |
| | | SysUser user = getLoginUser().getUser(); |
| | | patMedInhosp.setOrgid(user.getOrgid()); |
| | | return toAjax(inhospVisitFacade.insertPatMedInhosp(patMedInhosp)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
ä½é¢è®°å½ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#edit}ï¼L202-209ï¼éè¡å¯¹åºã |
| | | */ |
| | | @ApiOperation("ä¿®æ¹æ£è
ä½é¢è®°å½") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:edit')") |
| | | @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.UPDATE) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody PatMedInhosp patMedInhosp) { |
| | | return toAjax(inhospVisitFacade.updatePatMedInhosp(patMedInhosp)); |
| | | } |
| | | |
| | | /** |
| | | * å 餿£è
ä½é¢è®°å½ã |
| | | * <p> |
| | | * å {@code PatMedInhospController#remove}ï¼L214-220ï¼éè¡å¯¹åºã |
| | | */ |
| | | @ApiOperation("å 餿£è
ä½é¢è®°å½") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:patinhosp:remove')") |
| | | @Log(title = "æ£è
ä½é¢è®°å½", businessType = BusinessType.DELETE) |
| | | @GetMapping("/remove/{inhospids}") |
| | | public AjaxResult remove(@PathVariable Long[] inhospids) { |
| | | return toAjax(inhospVisitFacade.deletePatMedInhospByInhospids(inhospids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import org.apache.commons.lang3.builder.ToStringBuilder; |
| | | import org.apache.commons.lang3.builder.ToStringStyle; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | |
| | | /** |
| | | * æ£è
ä½é¢è®°å½å¯¹è±¡ pat_med_inhosp |
| | | * |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @ApiModel(value = "PatMedInhosp", description = "æ£è
ä½é¢è®°å½å¯¹è±¡") |
| | | @Data |
| | | public class PatMedInhosp extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty(value = "èªå¢ID") |
| | | private Long inhospid; |
| | | |
| | | /** |
| | | * æ§å« |
| | | */ |
| | | @ApiModelProperty(value = "æ§å« 1ç· 2女") |
| | | private Long sex; |
| | | |
| | | /** |
| | | * ä½é¢å· |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢å·") |
| | | private String inhospno; |
| | | |
| | | /** |
| | | * æµæ°´å· |
| | | */ |
| | | @ApiModelProperty(value = "æµæ°´å·") |
| | | private String serialnum; |
| | | |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«ID") |
| | | private String nurseId; |
| | | |
| | | /** |
| | | * æ¤å£«å§å |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«å§å") |
| | | private String nurseName; |
| | | |
| | | /** |
| | | * å»é¢åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å»é¢åç§°") |
| | | @Excel(name = " å»é¢åç§° ") |
| | | private String hospitalname; |
| | | |
| | | /** |
| | | * å»é¢ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "å»é¢ç¼å·") |
| | | private String hospitalcode; |
| | | |
| | | /** |
| | | * é¢åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "é¢åºç¼å·") |
| | | private String hospitaldistrictcode; |
| | | |
| | | /** |
| | | * ç
åºç¼å·éå |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºç¼å·éå") |
| | | private List<String> hospitaldistrictcodeList; |
| | | |
| | | /** |
| | | * é¢åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºåç§°") |
| | | @Excel(name = " ç
åºåç§° ") |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * å
¥é¢è¯æICDå¼ |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æICDå¼") |
| | | private String icd10code; |
| | | |
| | | /** |
| | | * å
¥é¢è¯æICDå¼ç¼å·éå |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æICDå¼ç¼å·éå") |
| | | private List<String> icd10codeList; |
| | | /** |
| | | * å
¥é¢è¯æåç§° |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æåç§°") |
| | | private String diagname; |
| | | |
| | | /** |
| | | * å
¥é¢æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " å
¥é¢æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date starttime; |
| | | |
| | | /** |
| | | * åºé¢æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " åºé¢æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date endtime; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ä»£ç ") |
| | | private String deptcode; |
| | | /** |
| | | * å
¥é¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ä»£ç éå") |
| | | private List<String> deptcodeList; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * æ¿é´å· |
| | | */ |
| | | @ApiModelProperty(value = "æ¿é´å·") |
| | | private String roomno; |
| | | |
| | | /** |
| | | * åºä½å· |
| | | */ |
| | | @ApiModelProperty(value = "åºä½å·") |
| | | @Excel(name = " åºä½å· ") |
| | | private String bedNo; |
| | | |
| | | /** |
| | | * æºæID |
| | | */ |
| | | @ApiModelProperty(value = "æºæID") |
| | | @Excel(name = " æºæID ") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * å 餿 è®° |
| | | */ |
| | | @ApiModelProperty(value = "å 餿 è®°") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ è®° |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ä¼ æ è®°") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ä¼ æ¶é´") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * æ¡£æ¡ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¡£æ¡ID") |
| | | private Long patid; |
| | | |
| | | /** |
| | | * åºé¢è¯æ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢è¯æ") |
| | | @Excel(name = " åºé¢è¯æ ") |
| | | private String leavediagname; |
| | | |
| | | /** |
| | | * åºé¢è¯æICDå¼ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢è¯æICDå¼") |
| | | private String leaveicd10code; |
| | | |
| | | /** |
| | | * å»çå·¥å· |
| | | */ |
| | | @ApiModelProperty(value = "å»çå·¥å·") |
| | | private String drcode; |
| | | |
| | | /** |
| | | * å»çåç§° |
| | | */ |
| | | @ApiModelProperty(value = "å»çåç§°") |
| | | @Excel(name = " å»çåç§° ") |
| | | private String drname; |
| | | |
| | | /** |
| | | * æ¯å¦çææ¹æ¡ç¶æ;0é¢å
¥é¢ 1çæå
¥é¢ 2çæåºé¢ 9æ å¹é
æ¹æ¡ 3çæå
¥é¢æ¤é 4çæåºé¢æ¤é |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦çææ¹æ¡ç¶æ;0é¢å
¥é¢ 1çæå
¥é¢ 2çæåºé¢ 9æ å¹é
æ¹æ¡ 3çæå
¥é¢æ¤é 4çæåºé¢æ¤é") |
| | | private Long schemestatus; |
| | | |
| | | /** |
| | | * æ¯å¦çæéç¨æ¹æ¡ç¶æ;0æªçæ 1çæ 9æ å¹é
æ¹æ¡ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦çæéç¨æ¹æ¡ç¶æ;0æªçæ 1çæ 9æ å¹é
æ¹æ¡") |
| | | private Long generalschemestatus; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ä»£ç ") |
| | | private String leaveldeptcode; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤åç§°") |
| | | @Excel(name = " åºé¢ç§å®¤åç§° ") |
| | | private String leaveldeptname; |
| | | |
| | | /** |
| | | * ç
åºID |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºID") |
| | | private String hospitaldistrictid; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·") |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | @Excel(name = " åºé¢ç
åºåç§° ") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºID |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºID") |
| | | private String leavehospitaldistrictid; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ID") |
| | | private String deptid; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ID") |
| | | private String leaveldeptid; |
| | | |
| | | /** |
| | | * æ¹æ¡ç¶ææä½æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "æ¹æ¡ç¶ææä½æ¶é´") |
| | | private Date schemetime; |
| | | |
| | | /** |
| | | * æ£è
å§å |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
å§å") |
| | | private String patname; |
| | | |
| | | /** |
| | | * æ£è
ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
ç¼å·") |
| | | private String patno; |
| | | |
| | | /** |
| | | * ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ 3å¾
å
¥é¢") |
| | | private String inhospstate; |
| | | |
| | | /** |
| | | * ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String deptcheckFlag; |
| | | /** |
| | | * ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String wardcheckFlag; |
| | | /** |
| | | * ç¾ç
é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "ç¾ç
é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String diagcheckFlag; |
| | | |
| | | /** |
| | | * ä»»å¡ç»ï¼appltype=5ï¼é¦è½®çº³å
¥æ è®°ï¼0æªå¤ç 1å·²çæé¦è½® 2æ å¹é
/失败 |
| | | * ç¬ç«äº dept/ward/diag check_flagï¼ä¸ä¾ä»»å¡ç»ç¬ç«æ«æä½¿ç¨ï¼åç»è½®æ¬¡ç± rollTaskGroupCycle è´è´£ã |
| | | */ |
| | | @ApiModelProperty(value = "ä»»å¡ç»(appltype=5)é¦è½®çº³å
¥æ è®°ï¼0æªå¤ç 1å·²çæé¦è½® 2æ å¹é
/失败") |
| | | private String scheduleCheckFlag; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String inDeptcheckFlag; |
| | | |
| | | /** |
| | | * å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0 æªå¤ç 1 å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0 æªå¤ç 1 å¤çæå 2 å¤ç失败 ") |
| | | private String inWardcheckFlag; |
| | | |
| | | /** |
| | | * è¯å宣æé¿æä»»å¡ï¼æ¯å¦å¤çï¼0 æªå¤ç 1 å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "è¯å宣æé¿æä»»å¡ï¼æ¯å¦å¤çï¼0 æªå¤ç 1 å¤çæå 2 å¤ç失败 ") |
| | | private String medcheckFlag; |
| | | |
| | | /** |
| | | * å¹´é¾ |
| | | */ |
| | | @ApiModelProperty(value = "å¹´é¾") |
| | | private String age; |
| | | |
| | | /** |
| | | * ææºå· |
| | | */ |
| | | @ApiModelProperty(value = "ææºå·") |
| | | private String telcode; |
| | | |
| | | /** |
| | | * é¿æä»»å¡åå |
| | | */ |
| | | @ApiModelProperty(value = "é¿æä»»å¡åå ") |
| | | private String longTaskReason; |
| | | |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pageNum") |
| | | private Integer pageNum; |
| | | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("pageSize") |
| | | private Integer pageSize; |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pn") |
| | | private Integer pn; |
| | | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("ps") |
| | | private Integer ps; |
| | | /** |
| | | * åºé¢æ¹å¼åºå· |
| | | */ |
| | | @ApiModelProperty("åºé¢æ¹å¼åºå·") |
| | | @Excel(name = "åºé¢æ¹å¼åºå·") |
| | | private String outWayId; |
| | | |
| | | /** |
| | | * åºé¢æ¹å¼åç§° |
| | | */ |
| | | @ApiModelProperty("åºé¢æ¹å¼åç§°") |
| | | @Excel(name = "åºé¢æ¹å¼åç§°") |
| | | private String outWayName; |
| | | /** |
| | | * åºå
¥é¢æ è¯ |
| | | */ |
| | | @ApiModelProperty("åºå
¥é¢æ è¯ï¼0å
¥é¢ 1åºé¢ 2 è½¬ç§ 3 é¢å
¥é¢ 4.满æåº¦") |
| | | private Integer cry; |
| | | |
| | | /** |
| | | * å
¥é¢åºä½æåºï¼ascï¼æ 1ï¼=æ£åºï¼descï¼æ 2ï¼=ååºï¼ä¸ä¼ =ä¸æåº |
| | | * <p> |
| | | * åªå¯¹ãå¨é¢ãæ£è
æ¥è¯¢ï¼cry=0ï¼çæï¼å
¶å®æ¥è¯¢å¿½ç¥è¯¥åæ°ã |
| | | */ |
| | | @ApiModelProperty("å
¥é¢åºä½æåºï¼asc/1=æ£åºï¼desc/2=ååºï¼ä¸ä¼ =䏿åºï¼ä»
cry=0 å¨é¢æ£è
çæï¼") |
| | | private String bedSort; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·éå") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ä»£ç éå |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ä»£ç éå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | /** |
| | | * å¼å§åºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§åºé¢æ¥æ") |
| | | private Date startOutHospTime; |
| | | |
| | | /** |
| | | * ç»æåºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æåºé¢æ¥æ") |
| | | private Date endOutHospTime; |
| | | |
| | | /** |
| | | * å¼å§å
¥é¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§å
¥é¢æ¥æ") |
| | | private Date startInHospTime; |
| | | |
| | | /** |
| | | * ç»æå
¥é¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æå
¥é¢æ¥æ") |
| | | private Date endInHospTime; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å¤é¨å¯¼å
¥ï¼0䏿¯ 1æ¯") |
| | | private Integer outImport = 0; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢ç±»åï¼1å
¨é¨ 2åºé¢ 3å
¥é¢ 4é¨è¯ 5å¤é¨æ£è
") |
| | | private Integer queryType = 1; |
| | | |
| | | @ApiModelProperty(value = "æºæID") |
| | | private String guid; |
| | | |
| | | @ApiModelProperty(value = "æä½äºº") |
| | | private String operator; |
| | | |
| | | @ApiModelProperty(value = "æä½äººID") |
| | | private String operatorId; |
| | | |
| | | @ApiModelProperty(value = "æ ç¾å") |
| | | private String tagname; |
| | | |
| | | @ApiModelProperty(value = "é访æ è¯ï¼0ä¸éè¦ï¼1è¦") |
| | | private String fuflag; |
| | | |
| | | @ApiModelProperty(value = "éè®¿æ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date fudate; |
| | | |
| | | @ApiModelProperty(value = "éè®¿å¨æå»ºè®®") |
| | | private String fuperiod; |
| | | |
| | | @ApiModelProperty(value = "é访类åç¼ç ") |
| | | private String futypecode; |
| | | |
| | | @ApiModelProperty(value = "é访类ååç§°") |
| | | private String futypedesc; |
| | | |
| | | @ApiModelProperty(value = "é访å¤è¯æå¯¼") |
| | | private String fuadvice; |
| | | |
| | | @ApiModelProperty(value = "ä¸ç
é访建议") |
| | | private String fuspecialadvice; |
| | | |
| | | /** |
| | | * è¯ä»¶å·ç |
| | | */ |
| | | @ApiModelProperty("è¯ä»¶å·ç ") |
| | | @Excel(name = " è¯ä»¶å·ç ") |
| | | private String idcardno; |
| | | |
| | | /** |
| | | * ç»ç®¡å»ç |
| | | */ |
| | | @ApiModelProperty("ç»ç®¡å»ç") |
| | | @Excel(name = " ç»ç®¡å»ç ") |
| | | private String managementDoctor; |
| | | |
| | | /** |
| | | * ç»ç®¡å»ç |
| | | */ |
| | | @ApiModelProperty("ç»ç®¡å»ç") |
| | | @Excel(name = " ç»ç®¡å»ç ") |
| | | private String managementDoctorCode; |
| | | |
| | | @ApiModelProperty(value = "æåå¼å§æ¶é´") |
| | | private String lastStartTime; |
| | | |
| | | @ApiModelProperty(value = "æåç»ææ¶é´") |
| | | private String lastEndTime; |
| | | |
| | | /** |
| | | * æºæID |
| | | */ |
| | | @ApiModelProperty("é¢åº") |
| | | @Excel(name = " é¢åº ") |
| | | private String campusid; |
| | | |
| | | /** |
| | | * å°±è¯æ¥æºID |
| | | */ |
| | | @ApiModelProperty("å°±è¯æ¥æºID") |
| | | @Excel(name = " å°±è¯æ¥æºID ") |
| | | private String encounterSourceId; |
| | | |
| | | /** |
| | | * éè¦æ§æ è®°ç¼ç |
| | | * æä¸¾ç±»åï¼ImportFlagEnum |
| | | * FH0165.98 - ç¹çº¦äººå |
| | | * FH0165.99 - 离ä¼äººå |
| | | * FH0165.03 - æ |
| | | * FH0165.02 - æ¥é´è¯ç |
| | | * FH0165.01 - æ¥é´ææ¯ |
| | | */ |
| | | @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç ", example = "FH0165.01") |
| | | @Excel(name = " éè¦æ§æ è®°ç¼ç ") |
| | | private String importanceFlagCode; |
| | | |
| | | /** |
| | | * ç´§æ¥ç¨åº¦ç¼ç |
| | | * æä¸¾ç±»åï¼EmergencyLevelEnum |
| | | * FH0164.01 - ç®æ |
| | | * FH0164.02 - æ¥å±é |
| | | * FH0164.03 - æ©æ |
| | | * FH0164.04 - åºç¡ |
| | | */ |
| | | @ApiModelProperty(value = "ç´§æ¥ç¨åº¦ç¼ç ", example = "FH0164.01") |
| | | @Excel(name = " ç´§æ¥ç¨åº¦ç¼ç ") |
| | | private String emergencyLevelCode; |
| | | |
| | | /** |
| | | * '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ |
| | | */ |
| | | @ApiModelProperty("'满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼") |
| | | @Excel(name = " '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ ") |
| | | private String inhospMydFlag; |
| | | |
| | | /** |
| | | * è¯åç¼ç ,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§°,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯åå
¬å¸,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | private String medicalCompany; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ£è
ä½é¢è®°å½å¯¹è±¡è¿å pat_med_inhosp |
| | | * |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @ApiModel(value = "PatMedInhospDTO", description = "æ£è
ä½é¢è®°å½å¯¹è±¡è¿å") |
| | | @Data |
| | | public class PatMedInhospDTO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty(value = "èªå¢ID") |
| | | private Long inhospid; |
| | | |
| | | /** |
| | | * æ§å« |
| | | */ |
| | | @ApiModelProperty(value = "æ§å« 1ç· 2女") |
| | | private Long sex; |
| | | |
| | | /** |
| | | * ä½é¢å· |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢å·") |
| | | private String inhospno; |
| | | |
| | | /** |
| | | * æµæ°´å· |
| | | */ |
| | | @ApiModelProperty(value = "æµæ°´å·") |
| | | private String serialnum; |
| | | |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«ID") |
| | | private String nurseId; |
| | | |
| | | /** |
| | | * æ¤å£«å§å |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«å§å") |
| | | private String nurseName; |
| | | |
| | | /** |
| | | * å»é¢åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å»é¢åç§°") |
| | | @Excel(name = " å»é¢åç§° ") |
| | | private String hospitalname; |
| | | |
| | | /** |
| | | * å»é¢ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "å»é¢ç¼å·") |
| | | private String hospitalcode; |
| | | |
| | | /** |
| | | * é¢åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "é¢åºç¼å·") |
| | | private String hospitaldistrictcode; |
| | | |
| | | /** |
| | | * é¢åºç¼å·éå |
| | | */ |
| | | @ApiModelProperty(value = "é¢åºç¼å·éå") |
| | | private List<String> hospitaldistrictcodeList; |
| | | |
| | | /** |
| | | * é¢åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "é¢åºåç§°") |
| | | @Excel(name = " é¢åºåç§° ") |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * å
¥é¢è¯æICDå¼ |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æICDå¼") |
| | | private String icd10code; |
| | | |
| | | /** |
| | | * å
¥é¢è¯æåç§° |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æåç§°") |
| | | private String diagname; |
| | | |
| | | /** |
| | | * å
¥é¢æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " å
¥é¢æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date starttime; |
| | | |
| | | /** |
| | | * åºé¢æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " åºé¢æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date endtime; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ä»£ç ") |
| | | private String deptcode; |
| | | /** |
| | | * å
¥é¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ä»£ç éå") |
| | | private List<String> deptcodeList; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * æ¿é´å· |
| | | */ |
| | | @ApiModelProperty(value = "æ¿é´å·") |
| | | private String roomno; |
| | | |
| | | /** |
| | | * åºä½å· |
| | | */ |
| | | @ApiModelProperty(value = "åºä½å·") |
| | | @Excel(name = " åºä½å· ") |
| | | private String bedNo; |
| | | |
| | | /** |
| | | * æºæID |
| | | */ |
| | | @ApiModelProperty(value = "æºæID") |
| | | @Excel(name = " æºæID ") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * å 餿 è®° |
| | | */ |
| | | @ApiModelProperty(value = "å 餿 è®°") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ è®° |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ä¼ æ è®°") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ä¼ æ¶é´") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * æ¡£æ¡ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¡£æ¡ID") |
| | | private Long patid; |
| | | |
| | | /** |
| | | * åºé¢è¯æ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢è¯æ") |
| | | @Excel(name = " åºé¢è¯æ ") |
| | | private String leavediagname; |
| | | |
| | | /** |
| | | * åºé¢è¯æICDå¼ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢è¯æICDå¼") |
| | | private String leaveicd10code; |
| | | |
| | | /** |
| | | * å»çå·¥å· |
| | | */ |
| | | @ApiModelProperty(value = "å»çå·¥å·") |
| | | private String drcode; |
| | | |
| | | /** |
| | | * å»çåç§° |
| | | */ |
| | | @ApiModelProperty(value = "å»çåç§°") |
| | | @Excel(name = " å»çåç§° ") |
| | | private String drname; |
| | | |
| | | /** |
| | | * æ¯å¦çææ¹æ¡ç¶æ;0é¢å
¥é¢ 1çæå
¥é¢ 2çæåºé¢ 9æ å¹é
æ¹æ¡ 3çæå
¥é¢æ¤é 4çæåºé¢æ¤é |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦çææ¹æ¡ç¶æ;0é¢å
¥é¢ 1çæå
¥é¢ 2çæåºé¢ 9æ å¹é
æ¹æ¡ 3çæå
¥é¢æ¤é 4çæåºé¢æ¤é") |
| | | private Long schemestatus; |
| | | |
| | | /** |
| | | * æ¯å¦çæéç¨æ¹æ¡ç¶æ;0æªçæ 1çæ 9æ å¹é
æ¹æ¡ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦çæéç¨æ¹æ¡ç¶æ;0æªçæ 1çæ 9æ å¹é
æ¹æ¡") |
| | | private Long generalschemestatus; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ä»£ç ") |
| | | private String leaveldeptcode; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤åç§°") |
| | | @Excel(name = " åºé¢ç§å®¤åç§° ") |
| | | private String leaveldeptname; |
| | | |
| | | /** |
| | | * ç
åºID |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºID") |
| | | private String hospitaldistrictid; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·") |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | @Excel(name = " åºé¢ç
åºåç§° ") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºID |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºID") |
| | | private String leavehospitaldistrictid; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ID") |
| | | private String deptid; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ID") |
| | | private String leaveldeptid; |
| | | |
| | | /** |
| | | * æ¹æ¡ç¶ææä½æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "æ¹æ¡ç¶ææä½æ¶é´") |
| | | private Date schemetime; |
| | | |
| | | /** |
| | | * æ£è
å§å |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
å§å") |
| | | private String patname; |
| | | |
| | | /** |
| | | * æ£è
ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
ç¼å·") |
| | | private String patno; |
| | | |
| | | /** |
| | | * ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ 3å¾
å
¥é¢") |
| | | private String inhospstate; |
| | | |
| | | /** |
| | | * ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String deptcheckFlag; |
| | | /** |
| | | * ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String wardcheckFlag; |
| | | /** |
| | | * ç¾ç
é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "ç¾ç
é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String diagcheckFlag; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String inDeptcheckFlag; |
| | | |
| | | /** |
| | | * å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String inWardcheckFlag; |
| | | |
| | | /** |
| | | * å¹´é¾ |
| | | */ |
| | | @ApiModelProperty(value = "å¹´é¾") |
| | | private String age; |
| | | |
| | | /** |
| | | * ææºå· |
| | | */ |
| | | @ApiModelProperty(value = "ææºå·") |
| | | private String telcode; |
| | | |
| | | /** |
| | | * é¿æä»»å¡åå |
| | | */ |
| | | @ApiModelProperty(value = "é¿æä»»å¡åå ") |
| | | private String longTaskReason; |
| | | |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pageNum") |
| | | private Integer pageNum; |
| | | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("pageSize") |
| | | private Integer pageSize; |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pn") |
| | | private Integer pn; |
| | | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("ps") |
| | | private Integer ps; |
| | | /** |
| | | * åºé¢æ¹å¼åºå· |
| | | */ |
| | | @ApiModelProperty("åºé¢æ¹å¼åºå·") |
| | | @Excel(name = "åºé¢æ¹å¼åºå·") |
| | | private String outWayId; |
| | | |
| | | /** |
| | | * åºé¢æ¹å¼åç§° |
| | | */ |
| | | @ApiModelProperty("åºé¢æ¹å¼åç§°") |
| | | @Excel(name = "åºé¢æ¹å¼åç§°") |
| | | private String outWayName; |
| | | /** |
| | | * åºå
¥é¢æ è¯ |
| | | */ |
| | | @ApiModelProperty("åºå
¥é¢æ è¯ï¼0å
¥é¢ 1åºé¢ 2 è½¬ç§ 3 é¢å
¥é¢") |
| | | private Integer cry; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·éå") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ä»£ç éå |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ä»£ç éå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | /** |
| | | * å¼å§åºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§åºé¢æ¥æ") |
| | | private Date startOutHospTime; |
| | | |
| | | /** |
| | | * ç»æåºé¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æåºé¢æ¥æ") |
| | | private Date endOutHospTime; |
| | | |
| | | /** |
| | | * å¼å§å
¥é¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§å
¥é¢æ¥æ") |
| | | private Date startInHospTime; |
| | | |
| | | /** |
| | | * ç»æå
¥é¢æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æå
¥é¢æ¥æ") |
| | | private Date endInHospTime; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å¤é¨å¯¼å
¥ï¼0䏿¯ 1æ¯") |
| | | private Integer outImport = 0; |
| | | |
| | | |
| | | @ApiModelProperty(value = "æ¥è¯¢ç±»åï¼1å
¨é¨ 2åºé¢ 3å
¥é¢ 4é¨è¯ 5å¤é¨æ£è
") |
| | | private Integer queryType = 1; |
| | | |
| | | @ApiModelProperty(value = "æºæID") |
| | | private String guid; |
| | | |
| | | @ApiModelProperty(value = "æä½äºº") |
| | | private String operator; |
| | | |
| | | @ApiModelProperty(value = "æä½äººID") |
| | | private String operatorId; |
| | | |
| | | @ApiModelProperty(value = "æ ç¾å") |
| | | private String tagname; |
| | | |
| | | @ApiModelProperty(value = "é访æ è¯ï¼0ä¸éè¦ï¼1è¦") |
| | | private String fuflag; |
| | | |
| | | @ApiModelProperty(value = "éè®¿æ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date fudate; |
| | | |
| | | @ApiModelProperty(value = "éè®¿å¨æå»ºè®®") |
| | | private String fuperiod; |
| | | |
| | | @ApiModelProperty(value = "é访类åç¼ç ") |
| | | private String futypecode; |
| | | |
| | | @ApiModelProperty(value = "é访类ååç§°") |
| | | private String futypedesc; |
| | | |
| | | @ApiModelProperty(value = "é访å¤è¯æå¯¼") |
| | | private String fuadvice; |
| | | |
| | | @ApiModelProperty(value = "ä¸ç
é访建议") |
| | | private String fuspecialadvice; |
| | | |
| | | /** |
| | | * è¯ä»¶å·ç |
| | | */ |
| | | @ApiModelProperty("è¯ä»¶å·ç ") |
| | | @Excel(name = " è¯ä»¶å·ç ") |
| | | private String idcardno; |
| | | |
| | | /** |
| | | * ç»ç®¡å»ç |
| | | */ |
| | | @ApiModelProperty("ç»ç®¡å»ç") |
| | | @Excel(name = " ç»ç®¡å»ç ") |
| | | private String managementDoctor; |
| | | |
| | | /** |
| | | * ç»ç®¡å»ç |
| | | */ |
| | | @ApiModelProperty("ç»ç®¡å»ç") |
| | | @Excel(name = " ç»ç®¡å»ç ") |
| | | private String managementDoctorCode; |
| | | |
| | | @ApiModelProperty(value = "æåå¼å§æ¶é´") |
| | | private String lastStartTime; |
| | | |
| | | @ApiModelProperty(value = "æåç»ææ¶é´") |
| | | private String lastEndTime; |
| | | |
| | | /** |
| | | * æºæID |
| | | */ |
| | | @ApiModelProperty("é¢åº") |
| | | @Excel(name = " é¢åº ") |
| | | private String campusid; |
| | | |
| | | /** |
| | | * å°±è¯æ¥æºID |
| | | */ |
| | | @ApiModelProperty("å°±è¯æ¥æºID") |
| | | @Excel(name = " å°±è¯æ¥æºID ") |
| | | private String encounterSourceId; |
| | | |
| | | /** |
| | | * éè¦æ§æ è®°ç¼ç |
| | | * æä¸¾ç±»åï¼ImportFlagEnum |
| | | * FH0165.98 - ç¹çº¦äººå |
| | | * FH0165.99 - 离ä¼äººå |
| | | * FH0165.03 - æ |
| | | * FH0165.02 - æ¥é´è¯ç |
| | | * FH0165.01 - æ¥é´ææ¯ |
| | | */ |
| | | @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç ", example = "FH0165.01") |
| | | @Excel(name = " éè¦æ§æ è®°ç¼ç ") |
| | | private String importanceFlagCode; |
| | | |
| | | /** |
| | | * ç´§æ¥ç¨åº¦ç¼ç |
| | | * æä¸¾ç±»åï¼EmergencyLevelEnum |
| | | * FH0164.01 - ç®æ |
| | | * FH0164.02 - æ¥å±é |
| | | * FH0164.03 - æ©æ |
| | | * FH0164.04 - åºç¡ |
| | | */ |
| | | @ApiModelProperty(value = "ç´§æ¥ç¨åº¦ç¼ç ", example = "FH0164.01") |
| | | @Excel(name = " ç´§æ¥ç¨åº¦ç¼ç ") |
| | | private String emergencyLevelCode; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å®£æè¿") |
| | | @Excel(name = " æ¯å¦å®£æå®æ:0 æªå®£æ 1 已宣æ ") |
| | | private String finishFlag = "0"; |
| | | |
| | | /** |
| | | * '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ |
| | | */ |
| | | @ApiModelProperty("'满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼") |
| | | @Excel(name = " '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ ") |
| | | private String inhospMydFlag; |
| | | |
| | | /** |
| | | * è¯åç¼ç ,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§°,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯åå
¬å¸,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | private String medicalCompany; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ£è
ä½é¢è®°å½å¯¹è±¡ pat_med_inhosp |
| | | * |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @ApiModel(value = "PatMedInhosp", description = "æ£è
ä½é¢è®°å½å¯¹è±¡") |
| | | @Data |
| | | public class PatMedInhospVO extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty(value = "èªå¢ID") |
| | | private Long inhospid; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty(value = "èªå¢ID") |
| | | private String inhospno; |
| | | |
| | | /** |
| | | * é访æ è¯ï¼0ä¸éè¦ï¼1éè¦ |
| | | */ |
| | | @ApiModelProperty(value = "é访æ è¯ï¼0ä¸éè¦ï¼1éè¦") |
| | | private String fuflag; |
| | | /** |
| | | * ç¾ç
å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty(value = "ç¾ç
å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String diagcheckFlag; |
| | | |
| | | /** |
| | | *ç
åºå¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºå¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String wardcheckFlag; |
| | | |
| | | /** |
| | | * é¨é¨å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty(value = "é¨é¨å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String deptcheckFlag; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String inDeptcheckFlag; |
| | | |
| | | /** |
| | | * å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç
åºé¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String inWardcheckFlag; |
| | | |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«ID") |
| | | private String nurseId; |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty(value = "æä½äººID") |
| | | private String operatorId; |
| | | |
| | | @ApiModelProperty(value = "æä½äºº") |
| | | private String operator; |
| | | |
| | | @ApiModelProperty(value = "æºæID") |
| | | private String guid; |
| | | |
| | | /** |
| | | * æ¤å£«å§å |
| | | */ |
| | | @ApiModelProperty(value = "æ¤å£«å§å") |
| | | private String nurseName; |
| | | |
| | | /** |
| | | * æµæ°´å· |
| | | */ |
| | | @ApiModelProperty(value = "æµæ°´å·") |
| | | private String serialnum; |
| | | |
| | | /** |
| | | * å»é¢åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å»é¢åç§°") |
| | | @Excel(name = " å»é¢åç§° ") |
| | | private String hospitalname; |
| | | |
| | | /** |
| | | * å»é¢ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "å»é¢ç¼å·") |
| | | private String hospitalcode; |
| | | |
| | | /** |
| | | * é¢åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "é¢åºç¼å·") |
| | | private String hospitaldistrictcode; |
| | | |
| | | /** |
| | | * é¢åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "é¢åºåç§°") |
| | | @Excel(name = " é¢åºåç§° ") |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * å
¥é¢è¯æICDå¼ |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æICDå¼") |
| | | private String icd10code; |
| | | |
| | | /** |
| | | * å
¥é¢è¯æåç§° |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢è¯æåç§°") |
| | | private String diagname; |
| | | |
| | | /** |
| | | * å
¥é¢æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " å
¥é¢æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date starttime; |
| | | |
| | | /** |
| | | * åºé¢æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " åºé¢æ¶é´ ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date endtime; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ä»£ç ") |
| | | private String deptcode; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * æ¿é´å· |
| | | */ |
| | | @ApiModelProperty(value = "æ¿é´å·") |
| | | private String roomno; |
| | | |
| | | /** |
| | | * åºä½å· |
| | | */ |
| | | @ApiModelProperty(value = "åºä½å·") |
| | | @Excel(name = " åºä½å· ") |
| | | private String bedNo; |
| | | |
| | | /** |
| | | * æºæID |
| | | */ |
| | | @ApiModelProperty(value = "æºæID") |
| | | @Excel(name = " æºæID ") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * å 餿 è®° |
| | | */ |
| | | @ApiModelProperty(value = "å 餿 è®°") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ è®° |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ä¼ æ è®°") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "ä¸ä¼ æ¶é´") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * æ¡£æ¡ID |
| | | */ |
| | | @ApiModelProperty(value = "æ¡£æ¡ID") |
| | | private Long patid; |
| | | |
| | | /** |
| | | * åºé¢è¯æ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢è¯æ") |
| | | @Excel(name = " åºé¢è¯æ ") |
| | | private String leavediagname; |
| | | |
| | | /** |
| | | * åºé¢è¯æICDå¼ |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢è¯æICDå¼") |
| | | private String leaveicd10code; |
| | | |
| | | /** |
| | | * å»çå·¥å· |
| | | */ |
| | | @ApiModelProperty(value = "å»çå·¥å·") |
| | | private String drcode; |
| | | |
| | | /** |
| | | * å»çåç§° |
| | | */ |
| | | @ApiModelProperty(value = "å»çåç§°") |
| | | @Excel(name = " å»çåç§° ") |
| | | private String drname; |
| | | |
| | | /** |
| | | * æ¯å¦çææ¹æ¡ç¶æ;0æªçæ 1çæå
¥é¢ 2çæåºé¢ 9æ å¹é
æ¹æ¡ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦çææ¹æ¡ç¶æ;0æªçæ 1çæå
¥é¢ 2çæåºé¢ 9æ å¹é
æ¹æ¡") |
| | | private Long schemestatus; |
| | | |
| | | /** |
| | | * æ¯å¦çæéç¨æ¹æ¡ç¶æ;0æªçæ 1çæ 9æ å¹é
æ¹æ¡ |
| | | */ |
| | | @ApiModelProperty(value = "æ¯å¦çæéç¨æ¹æ¡ç¶æ;0æªçæ 1çæ 9æ å¹é
æ¹æ¡") |
| | | private Long generalschemestatus; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ä»£ç éå |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ä»£ç éå") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤åç§°") |
| | | @Excel(name = " åºé¢ç§å®¤åç§° ") |
| | | private String leaveldeptname; |
| | | |
| | | /** |
| | | * ç
åºID |
| | | */ |
| | | @ApiModelProperty(value = "ç
åºID") |
| | | private String hospitaldistrictid; |
| | | |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼å·éå") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | @Excel(name = " åºé¢ç
åºåç§° ") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºID |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºID") |
| | | private String leavehospitaldistrictid; |
| | | |
| | | /** |
| | | * å
¥é¢ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty(value = "å
¥é¢ç§å®¤ID") |
| | | private String deptid; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ID") |
| | | private String leaveldeptid; |
| | | |
| | | /** |
| | | * æ¹æ¡ç¶ææä½æ¶é´ |
| | | */ |
| | | @ApiModelProperty(value = "æ¹æ¡ç¶ææä½æ¶é´") |
| | | private Date schemetime; |
| | | |
| | | /** |
| | | * æ£è
å§å |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
å§å") |
| | | private String patname; |
| | | |
| | | /** |
| | | * æ£è
ç¼å· |
| | | */ |
| | | @ApiModelProperty(value = "æ£è
ç¼å·") |
| | | private String patno; |
| | | |
| | | /** |
| | | * ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§") |
| | | private String inhospstate; |
| | | |
| | | /** |
| | | * é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç") |
| | | private String checkFlag; |
| | | |
| | | /** |
| | | * å¹´é¾ |
| | | */ |
| | | @ApiModelProperty(value = "å¹´é¾") |
| | | private String age; |
| | | |
| | | /** |
| | | * ææºå· |
| | | */ |
| | | @ApiModelProperty(value = "ææºå·") |
| | | private String telcode; |
| | | |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pageNum") |
| | | private Integer pageNum; |
| | | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("pageSize") |
| | | private Integer pageSize; |
| | | |
| | | /** |
| | | * å¼å§åºé¢æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "å¼å§åºé¢æ¥æ") |
| | | private Date startOutHospTime; |
| | | |
| | | /** |
| | | * ç»æåºé¢æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "ç»æåºé¢æ¥æ") |
| | | private Date endOutHospTime; |
| | | |
| | | |
| | | /** |
| | | * å¼å§å
¥é¢æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "å¼å§å
¥é¢æ¥æ") |
| | | private Date startInHospTime; |
| | | |
| | | /** |
| | | * ç»æå
¥é¢æ¥æ |
| | | */ |
| | | @ApiModelProperty(value = "ç»æå
¥é¢æ¥æ") |
| | | private Date endInHospTime; |
| | | |
| | | /** |
| | | * ç»ç®¡å»ç |
| | | */ |
| | | @ApiModelProperty("ç»ç®¡å»ç") |
| | | @Excel(name = " ç»ç®¡å»ç ") |
| | | private String managementDoctor; |
| | | |
| | | /** |
| | | * ç»ç®¡å»ç |
| | | */ |
| | | @ApiModelProperty("ç»ç®¡å»ç") |
| | | @Excel(name = " ç»ç®¡å»ç ") |
| | | private String managementDoctorCode; |
| | | |
| | | /** |
| | | * æºæID |
| | | */ |
| | | @ApiModelProperty("é¢åº") |
| | | @Excel(name = " é¢åº ") |
| | | private String campusid; |
| | | |
| | | /** |
| | | * å°±è¯æ¥æºID |
| | | */ |
| | | @ApiModelProperty("å°±è¯æ¥æºID") |
| | | @Excel(name = " å°±è¯æ¥æºID ") |
| | | private String encounterSourceId; |
| | | |
| | | /** |
| | | * éè¦æ§æ è®°ç¼ç |
| | | * æä¸¾ç±»åï¼ImportFlagEnum |
| | | * FH0165.98 - ç¹çº¦äººå |
| | | * FH0165.99 - 离ä¼äººå |
| | | * FH0165.03 - æ |
| | | * FH0165.02 - æ¥é´è¯ç |
| | | * FH0165.01 - æ¥é´ææ¯ |
| | | */ |
| | | @ApiModelProperty(value = "éè¦æ§æ è®°ç¼ç ", example = "FH0165.01") |
| | | @Excel(name = " éè¦æ§æ è®°ç¼ç ") |
| | | private String importanceFlagCode; |
| | | |
| | | /** |
| | | * ç´§æ¥ç¨åº¦ç¼ç |
| | | * æä¸¾ç±»åï¼EmergencyLevelEnum |
| | | * FH0164.01 - ç®æ |
| | | * FH0164.02 - æ¥å±é |
| | | * FH0164.03 - æ©æ |
| | | * FH0164.04 - åºç¡ |
| | | */ |
| | | @ApiModelProperty(value = "ç´§æ¥ç¨åº¦ç¼ç ", example = "FH0164.01") |
| | | @Excel(name = " ç´§æ¥ç¨åº¦ç¼ç ") |
| | | private String emergencyLevelCode; |
| | | |
| | | /** |
| | | * '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ |
| | | */ |
| | | @ApiModelProperty("'满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼") |
| | | @Excel(name = " '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ ") |
| | | private String inhospMydFlag; |
| | | |
| | | /** |
| | | * è¯åç¼ç ,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§°,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯åå
¬å¸,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | private String medicalCompany; |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain.row; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * {@code pat_med_inhosp} çé访侧åªè¯»è¡ã |
| | | * |
| | | * <h3>â ï¸ ä¸æ¬æ¨¡åç SQL éå¤é®é¢ï¼å¿
读ï¼</h3> |
| | | * åä¸å¼ è¡¨å¨ smartor ç {@code PatMedInhospMapper} 乿ä¸ä»½æ¥è¯¢ãè¿é<b>廿åèªææä¸ä»½</b>ï¼ |
| | | * çç±ï¼ |
| | | * <ul> |
| | | * <li>æ¬æ¨¡åç {@code pom.xml} åªä¾èµ ruoyi-commonï¼ä¸ä¾èµ smartorï¼å¦å循ç¯ä¾èµï¼ï¼ |
| | | * è smartor åè¿æ¥è¦ä¾èµæ¬æ¨¡åï¼æä»¥åªè½èªå·±æ¥ï¼</li> |
| | | * <li>纪å¾ï¼<b>两边ç SQL å¿
须鿡çä»·</b>ãç± |
| | | * {@code sql/_probe/verify_inhospvisit_mapper.py}ï¼æ¥å£âXML ä¸è´æ§ï¼ä¸ |
| | | * {@code sql/_probe/verify_inhospvisit_sql_expansion.py}ï¼å±å¼åéæ¡æ¯å¯¹ï¼AND é¡ºåºæ å
³ï¼ |
| | | * ååæå
³ãæ¹ä»»ä¸è¾¹é½å¿
须忥æ¹å¦ä¸è¾¹å¹¶éè·è¿ä¸¤ä¸ªæ¢éã</li> |
| | | * <li>å¦ä¸ç§åæ³æ¯ææ¥è¯¢"å
ä¸å±ç«¯å£"å§æå smartorï¼ä½é£æ ·æ¬æ¨¡åå°±åªå©ç¼æé»è¾ã |
| | | * CRUD å
¨é åè°ï¼åèæ´ç¢ãè¿ééæ©äº"éå¤ä½å¯éªè¯"ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>åæ®µæ¥æºï¼@ b25c3b51ï¼</h3> |
| | | * åæ®µéæ¯æ <b>{@code boxedServiceSubtask} ä¸ç¼æå±ççå® getter 访é®</b>åæ¨åºæ¥çï¼ |
| | | * <ul> |
| | | * <li>çåç»è£
ç¨ 24 个ï¼{@code Campusid Deptcode Deptname Diagname Drcode Drname Endtime Fudate |
| | | * Hospitaldistrictcode Hospitaldistrictname Inhospid Leavediagname Leavehospitaldistrictcode |
| | | * Leavehospitaldistrictname Leaveicd10code Leaveldeptcode Leaveldeptname ManagementDoctor |
| | | * ManagementDoctorCode NurseId NurseName Orgid Remark Starttime}ï¼</li> |
| | | * <li>æ«æ/åæºç¨ï¼{@code deptcheck_flag wardcheck_flag diagcheck_flag schedulecheck_flag |
| | | * in_deptcheck_flag in_wardcheck_flag inhospstate fuflag patid long_task_reason}ï¼</li> |
| | | * <li>æ¥å¿ç¨ï¼{@code patname patno serialnum medical_code}ã</li> |
| | | * </ul> |
| | | * <b>å°ä¸ä¸ªå段 = 对åºç setter éé»ä¸çæ</b>ï¼XML 鿝 {@code <if test="xxx != null">}ï¼ï¼ |
| | | * æä»¥è¿éä¸å"ç²¾ç®"ï¼å®å¯å¤å¸¦å 个ã |
| | | */ |
| | | public class VisitInhospRow implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | // ==================== 主é®ä¸å½å± ==================== |
| | | /** åºå
¥é¢è®°å½ID */ |
| | | private Long inhospid; |
| | | /** æ£è
æ¡£æ¡IDï¼Longï¼ä¸ PatArchive.id ä¸è´ï¼ */ |
| | | private Long patid; |
| | | /** æºæID */ |
| | | private String orgid; |
| | | /** é¢åºID */ |
| | | private String campusid; |
| | | /** æ£è
ç¼å· */ |
| | | private String patno; |
| | | /** ä½é¢æµæ°´å· */ |
| | | private String serialnum; |
| | | /** æ£è
å§åï¼ä»
æ¥å¿ç¨ï¼ */ |
| | | private String patname; |
| | | /** ä½é¢å·ï¼å inhospnoï¼ââ ä»
æ¥å¿/ææ¥ç¨ */ |
| | | private String inhospno; |
| | | /** |
| | | * æ£è
å¹´é¾ã |
| | | * <p> |
| | | * â ï¸ æ¥æºæ¯ JOIN åºæ¥ç {@code pat_archive.age}ï¼å SQL åç {@code a.age AS age}ï¼ï¼ |
| | | * ç±»å {@code Long}ï¼{@code selectByInhospid} 飿¡å表æ¥è¯¢<b>ä¸å¸¦</b> ageï¼ä¸åå®ç°ä¸è´ï¼ï¼ |
| | | * æä»¥æä¸»é®æ¥åºæ¥çè¡éè¿ä¸ªåæ®µæ¯ nullã |
| | | */ |
| | | private Long age; |
| | | /** æ£è
æ§å«ï¼æ¥æº {@code pat_archive.sex}ï¼å SQL æ¯ {@code a.sex}ï¼ */ |
| | | private Long sex; |
| | | /** æ£è
ææºå·ï¼æ¥æº {@code pat_archive.telcode}ï¼å SQL æ¯ {@code a.telcode as telcode}ï¼ */ |
| | | private String telcode; |
| | | |
| | | // ==================== æ¶é´ ==================== |
| | | /** å
¥é¢æ¶é´ */ |
| | | private Date starttime; |
| | | /** åºé¢æ¶é´ */ |
| | | private Date endtime; |
| | | /** HIS ç»çé访æ¶é´ */ |
| | | private Date fudate; |
| | | |
| | | // ==================== å
¥é¢ç»´åº¦ ==================== |
| | | /** å
¥é¢ç§å®¤ç¼ç */ |
| | | private String deptcode; |
| | | /** å
¥é¢ç§å®¤åç§° */ |
| | | private String deptname; |
| | | /** å
¥é¢ç
åºç¼ç */ |
| | | private String hospitaldistrictcode; |
| | | /** å
¥é¢ç
åºåç§° */ |
| | | private String hospitaldistrictname; |
| | | |
| | | // ==================== 离é¢ç»´åº¦ ==================== |
| | | /** 离é¢ç§å®¤ç¼ç */ |
| | | private String leaveldeptcode; |
| | | /** 离é¢ç§å®¤åç§° */ |
| | | private String leaveldeptname; |
| | | /** 离é¢ç
åºç¼ç */ |
| | | private String leavehospitaldistrictcode; |
| | | /** 离é¢ç
åºåç§° */ |
| | | private String leavehospitaldistrictname; |
| | | |
| | | // ==================== è¯æ ==================== |
| | | /** ç¦»é¢ ICD10 ç¼ç */ |
| | | private String leaveicd10code; |
| | | /** 离é¢è¯æåç§° */ |
| | | private String leavediagname; |
| | | /** è¯æåç§° */ |
| | | private String diagname; |
| | | |
| | | // ==================== 廿¤ ==================== |
| | | /** 责任æ¤å£«ID */ |
| | | private String nurseId; |
| | | /** 责任æ¤å£«å§å */ |
| | | private String nurseName; |
| | | /** å»çç¼ç */ |
| | | private String drcode; |
| | | /** å»çå§å */ |
| | | private String drname; |
| | | /** 管çå»ç */ |
| | | private String managementDoctor; |
| | | /** 管çå»çç¼ç */ |
| | | private String managementDoctorCode; |
| | | |
| | | // ==================== éè®¿ç¶ææ å¿ï¼éè®¿ç¶ææºæ¬ä½ï¼ ==================== |
| | | /** 离é¢ç§å®¤ç»´åº¦æ¯å¦å·²å¤çï¼0=æªå¤ç 1=å·²å¤ç 2=è·³è¿/失败 */ |
| | | private String deptcheckFlag; |
| | | /** 离é¢ç
åºç»´åº¦æ¯å¦å·²å¤ç */ |
| | | private String wardcheckFlag; |
| | | /** ç¾ç
维度æ¯å¦å·²å¤ç */ |
| | | private String diagcheckFlag; |
| | | /** ä»»å¡ç»æ¯å¦å·²çº³å
¥ï¼ç¬ç«äºä¸é¢ä¸ä¸ªç»´åº¦ï¼ */ |
| | | private String scheduleCheckFlag; |
| | | /** å
¥é¢ç§å®¤å®£æç»´åº¦æ¯å¦å·²å¤ç */ |
| | | private String inDeptcheckFlag; |
| | | /** å
¥é¢ç
åºå®£æç»´åº¦æ¯å¦å·²å¤ç */ |
| | | private String inWardcheckFlag; |
| | | /** å¨é¢ç¶æï¼0=å¨é¢ 1=å·²åºé¢ 2=è½¬ç§ 3=é¢å
¥é¢ */ |
| | | private String inhospstate; |
| | | /** æ¯å¦éè¦é访ï¼1=éè¦ */ |
| | | private String fuflag; |
| | | /** æªçæä»»å¡çåå 累积 */ |
| | | private String longTaskReason; |
| | | |
| | | // ==================== å
¶å® ==================== |
| | | /** 夿³¨ */ |
| | | private String remark; |
| | | /** è¯åç¼ç 串ï¼ä»
sltd è¯å宣æç¨ï¼ */ |
| | | private String medicalCode; |
| | | |
| | | public Long getInhospid() { |
| | | return inhospid; |
| | | } |
| | | |
| | | public void setInhospid(Long inhospid) { |
| | | this.inhospid = inhospid; |
| | | } |
| | | |
| | | public Long getPatid() { |
| | | return patid; |
| | | } |
| | | |
| | | public void setPatid(Long patid) { |
| | | this.patid = patid; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getCampusid() { |
| | | return campusid; |
| | | } |
| | | |
| | | public void setCampusid(String campusid) { |
| | | this.campusid = campusid; |
| | | } |
| | | |
| | | public String getPatno() { |
| | | return patno; |
| | | } |
| | | |
| | | public void setPatno(String patno) { |
| | | this.patno = patno; |
| | | } |
| | | |
| | | public String getSerialnum() { |
| | | return serialnum; |
| | | } |
| | | |
| | | public void setSerialnum(String serialnum) { |
| | | this.serialnum = serialnum; |
| | | } |
| | | |
| | | public String getPatname() { |
| | | return patname; |
| | | } |
| | | |
| | | public void setPatname(String patname) { |
| | | this.patname = patname; |
| | | } |
| | | |
| | | public String getInhospno() { |
| | | return inhospno; |
| | | } |
| | | |
| | | public void setInhospno(String inhospno) { |
| | | this.inhospno = inhospno; |
| | | } |
| | | |
| | | public Long getAge() { |
| | | return age; |
| | | } |
| | | |
| | | public void setAge(Long age) { |
| | | this.age = age; |
| | | } |
| | | |
| | | public Long getSex() { |
| | | return sex; |
| | | } |
| | | |
| | | public void setSex(Long sex) { |
| | | this.sex = sex; |
| | | } |
| | | |
| | | public String getTelcode() { |
| | | return telcode; |
| | | } |
| | | |
| | | public void setTelcode(String telcode) { |
| | | this.telcode = telcode; |
| | | } |
| | | |
| | | public Date getStarttime() { |
| | | return starttime; |
| | | } |
| | | |
| | | public void setStarttime(Date starttime) { |
| | | this.starttime = starttime; |
| | | } |
| | | |
| | | public Date getEndtime() { |
| | | return endtime; |
| | | } |
| | | |
| | | public void setEndtime(Date endtime) { |
| | | this.endtime = endtime; |
| | | } |
| | | |
| | | public Date getFudate() { |
| | | return fudate; |
| | | } |
| | | |
| | | public void setFudate(Date fudate) { |
| | | this.fudate = fudate; |
| | | } |
| | | |
| | | public String getDeptcode() { |
| | | return deptcode; |
| | | } |
| | | |
| | | public void setDeptcode(String deptcode) { |
| | | this.deptcode = deptcode; |
| | | } |
| | | |
| | | public String getDeptname() { |
| | | return deptname; |
| | | } |
| | | |
| | | public void setDeptname(String deptname) { |
| | | this.deptname = deptname; |
| | | } |
| | | |
| | | public String getHospitaldistrictcode() { |
| | | return hospitaldistrictcode; |
| | | } |
| | | |
| | | public void setHospitaldistrictcode(String hospitaldistrictcode) { |
| | | this.hospitaldistrictcode = hospitaldistrictcode; |
| | | } |
| | | |
| | | public String getHospitaldistrictname() { |
| | | return hospitaldistrictname; |
| | | } |
| | | |
| | | public void setHospitaldistrictname(String hospitaldistrictname) { |
| | | this.hospitaldistrictname = hospitaldistrictname; |
| | | } |
| | | |
| | | public String getLeaveldeptcode() { |
| | | return leaveldeptcode; |
| | | } |
| | | |
| | | public void setLeaveldeptcode(String leaveldeptcode) { |
| | | this.leaveldeptcode = leaveldeptcode; |
| | | } |
| | | |
| | | public String getLeaveldeptname() { |
| | | return leaveldeptname; |
| | | } |
| | | |
| | | public void setLeaveldeptname(String leaveldeptname) { |
| | | this.leaveldeptname = leaveldeptname; |
| | | } |
| | | |
| | | public String getLeavehospitaldistrictcode() { |
| | | return leavehospitaldistrictcode; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictcode(String leavehospitaldistrictcode) { |
| | | this.leavehospitaldistrictcode = leavehospitaldistrictcode; |
| | | } |
| | | |
| | | public String getLeavehospitaldistrictname() { |
| | | return leavehospitaldistrictname; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictname(String leavehospitaldistrictname) { |
| | | this.leavehospitaldistrictname = leavehospitaldistrictname; |
| | | } |
| | | |
| | | public String getLeaveicd10code() { |
| | | return leaveicd10code; |
| | | } |
| | | |
| | | public void setLeaveicd10code(String leaveicd10code) { |
| | | this.leaveicd10code = leaveicd10code; |
| | | } |
| | | |
| | | public String getLeavediagname() { |
| | | return leavediagname; |
| | | } |
| | | |
| | | public void setLeavediagname(String leavediagname) { |
| | | this.leavediagname = leavediagname; |
| | | } |
| | | |
| | | public String getDiagname() { |
| | | return diagname; |
| | | } |
| | | |
| | | public void setDiagname(String diagname) { |
| | | this.diagname = diagname; |
| | | } |
| | | |
| | | public String getNurseId() { |
| | | return nurseId; |
| | | } |
| | | |
| | | public void setNurseId(String nurseId) { |
| | | this.nurseId = nurseId; |
| | | } |
| | | |
| | | public String getNurseName() { |
| | | return nurseName; |
| | | } |
| | | |
| | | public void setNurseName(String nurseName) { |
| | | this.nurseName = nurseName; |
| | | } |
| | | |
| | | public String getDrcode() { |
| | | return drcode; |
| | | } |
| | | |
| | | public void setDrcode(String drcode) { |
| | | this.drcode = drcode; |
| | | } |
| | | |
| | | public String getDrname() { |
| | | return drname; |
| | | } |
| | | |
| | | public void setDrname(String drname) { |
| | | this.drname = drname; |
| | | } |
| | | |
| | | public String getManagementDoctor() { |
| | | return managementDoctor; |
| | | } |
| | | |
| | | public void setManagementDoctor(String managementDoctor) { |
| | | this.managementDoctor = managementDoctor; |
| | | } |
| | | |
| | | public String getManagementDoctorCode() { |
| | | return managementDoctorCode; |
| | | } |
| | | |
| | | public void setManagementDoctorCode(String managementDoctorCode) { |
| | | this.managementDoctorCode = managementDoctorCode; |
| | | } |
| | | |
| | | public String getDeptcheckFlag() { |
| | | return deptcheckFlag; |
| | | } |
| | | |
| | | public void setDeptcheckFlag(String deptcheckFlag) { |
| | | this.deptcheckFlag = deptcheckFlag; |
| | | } |
| | | |
| | | public String getWardcheckFlag() { |
| | | return wardcheckFlag; |
| | | } |
| | | |
| | | public void setWardcheckFlag(String wardcheckFlag) { |
| | | this.wardcheckFlag = wardcheckFlag; |
| | | } |
| | | |
| | | public String getDiagcheckFlag() { |
| | | return diagcheckFlag; |
| | | } |
| | | |
| | | public void setDiagcheckFlag(String diagcheckFlag) { |
| | | this.diagcheckFlag = diagcheckFlag; |
| | | } |
| | | |
| | | public String getScheduleCheckFlag() { |
| | | return scheduleCheckFlag; |
| | | } |
| | | |
| | | public void setScheduleCheckFlag(String scheduleCheckFlag) { |
| | | this.scheduleCheckFlag = scheduleCheckFlag; |
| | | } |
| | | |
| | | public String getInDeptcheckFlag() { |
| | | return inDeptcheckFlag; |
| | | } |
| | | |
| | | public void setInDeptcheckFlag(String inDeptcheckFlag) { |
| | | this.inDeptcheckFlag = inDeptcheckFlag; |
| | | } |
| | | |
| | | public String getInWardcheckFlag() { |
| | | return inWardcheckFlag; |
| | | } |
| | | |
| | | public void setInWardcheckFlag(String inWardcheckFlag) { |
| | | this.inWardcheckFlag = inWardcheckFlag; |
| | | } |
| | | |
| | | public String getInhospstate() { |
| | | return inhospstate; |
| | | } |
| | | |
| | | public void setInhospstate(String inhospstate) { |
| | | this.inhospstate = inhospstate; |
| | | } |
| | | |
| | | public String getFuflag() { |
| | | return fuflag; |
| | | } |
| | | |
| | | public void setFuflag(String fuflag) { |
| | | this.fuflag = fuflag; |
| | | } |
| | | |
| | | public String getLongTaskReason() { |
| | | return longTaskReason; |
| | | } |
| | | |
| | | public void setLongTaskReason(String longTaskReason) { |
| | | this.longTaskReason = longTaskReason; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getMedicalCode() { |
| | | return medicalCode; |
| | | } |
| | | |
| | | public void setMedicalCode(String medicalCode) { |
| | | this.medicalCode = medicalCode; |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // 以ä¸å段ã䏿¯ pat_med_inhosp çåãï¼åªä½ä¸º selectForScan çè¿æ»¤æ¡ä»¶/æåºå¼å
³ã |
| | | // æ¾å¨åä¸ä¸ªè¡å¯¹è±¡éï¼æ¯ä¸ºäºè®©"æ¥è¯¢æ¡ä»¶"ä¸"ç»æè¡"å
±ç¨ä¸å¥å±æ§å ââ |
| | | // ä¸åå®ç°"ç¨ PatMedInhosp 彿¥è¯¢å
¥å"çåæ³ä¿æä¸è´ï¼é¿å
两å¥ç±»æ¥åæ å°åºéã |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * åºé¢/å¨é¢ç»´åº¦å¼å
³ï¼å {@code PatMedInhosp.cry}ï¼ï¼ |
| | | * 0=å¨é¢ï¼{@code endtime is null}ï¼ã1=å·²åºé¢ã2=转ç§ã3=é¢å
¥é¢ã |
| | | * <p> |
| | | * â ï¸ å®åæ¶å³å®æåºï¼{@code cry=1/2/3} â {@code order by endtime desc}ï¼ |
| | | * {@code cry=0} â æ {@link #bedSort} ä¸éä¸ã |
| | | */ |
| | | private String cry; |
| | | |
| | | /** |
| | | * å¨é¢æ£è
ï¼{@code cry=0}ï¼çåºä½æåºæ¹åï¼"asc" / "desc"ï¼å
¶å®å¼èµ°é»è®¤æåºã |
| | | * <p> |
| | | * å {@code PatMedInhospMapper.xml} L382-405 ç {@code <choose>} ç¨å®ä¸éä¸ï¼ |
| | | * åºä½æèªç¶åºæï¼ç©ºåºä½æå â 纯æ°åææ°å¼ â 另忝æé¿åº¦+å符串 â inhospid å
åºï¼ã |
| | | */ |
| | | private String bedSort; |
| | | |
| | | /** è¿æ»¤ï¼ç¦»é¢ç§å®¤ç¼ç å表ï¼å {@code leaveldeptcodes}ï¼ */ |
| | | private java.util.List<String> leaveldeptcodes; |
| | | /** è¿æ»¤ï¼ç¦»é¢ç
åºç¼ç å表ï¼å {@code leavehospitaldistrictcodes}ï¼ */ |
| | | private java.util.List<String> leavehospitaldistrictcodes; |
| | | /** è¿æ»¤ï¼å
¥é¢ç
åºç¼ç å表ï¼å {@code hospitaldistrictcodeList}ï¼ */ |
| | | private java.util.List<String> hospitaldistrictcodeList; |
| | | /** è¿æ»¤ï¼å
¥é¢ç§å®¤ç¼ç å表ï¼å {@code deptcodeList}ï¼ */ |
| | | private java.util.List<String> deptcodeList; |
| | | /** è¿æ»¤ï¼ç¦»é¢ ICD10 ç¼ç å表ï¼å {@code icd10codeList}ï¼ */ |
| | | private java.util.List<String> icd10codeList; |
| | | |
| | | public String getCry() { |
| | | return cry; |
| | | } |
| | | |
| | | public void setCry(String cry) { |
| | | this.cry = cry; |
| | | } |
| | | |
| | | public String getBedSort() { |
| | | return bedSort; |
| | | } |
| | | |
| | | public void setBedSort(String bedSort) { |
| | | this.bedSort = bedSort; |
| | | } |
| | | |
| | | public java.util.List<String> getLeaveldeptcodes() { |
| | | return leaveldeptcodes; |
| | | } |
| | | |
| | | public void setLeaveldeptcodes(java.util.List<String> leaveldeptcodes) { |
| | | this.leaveldeptcodes = leaveldeptcodes; |
| | | } |
| | | |
| | | public java.util.List<String> getLeavehospitaldistrictcodes() { |
| | | return leavehospitaldistrictcodes; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictcodes(java.util.List<String> leavehospitaldistrictcodes) { |
| | | this.leavehospitaldistrictcodes = leavehospitaldistrictcodes; |
| | | } |
| | | |
| | | public java.util.List<String> getHospitaldistrictcodeList() { |
| | | return hospitaldistrictcodeList; |
| | | } |
| | | |
| | | public void setHospitaldistrictcodeList(java.util.List<String> hospitaldistrictcodeList) { |
| | | this.hospitaldistrictcodeList = hospitaldistrictcodeList; |
| | | } |
| | | |
| | | public java.util.List<String> getDeptcodeList() { |
| | | return deptcodeList; |
| | | } |
| | | |
| | | public void setDeptcodeList(java.util.List<String> deptcodeList) { |
| | | this.deptcodeList = deptcodeList; |
| | | } |
| | | |
| | | public java.util.List<String> getIcd10codeList() { |
| | | return icd10codeList; |
| | | } |
| | | |
| | | public void setIcd10codeList(java.util.List<String> icd10codeList) { |
| | | this.icd10codeList = icd10codeList; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain.row; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * é¿æé访任å¡ï¼{@code service_task}ï¼çé访侧åªè¯»è¡ã |
| | | * |
| | | * <h3>åæ®µæ¥æºï¼@ b25c3b51ï¼</h3> |
| | | * 精确çäº {@code boxedServiceSubtask} ä¸ {@code dealOutHospInfoBySchedule} 对 |
| | | * {@code serviceTask} ç getter 访é®éåï¼å¤å {@code addOperationSubTask} ç¨å°çå ä¸ªï¼ |
| | | * <pre> |
| | | * taskid type serviceType templateid templatename libtemplateid sendDay |
| | | * preachform preachformDesc orgid campusid updateBy createBy longTask appltype |
| | | * leavehospitaldistrictcode leavehospitaldistrictcodes leaveldeptcodes |
| | | * icd10codeList opLevelCodesï¼å 4 个æ¯ä»»å¡ç»çè¿æ»¤ç»´åº¦ï¼ |
| | | * </pre> |
| | | * |
| | | * <h3>â ï¸ ä¸ºä»ä¹èªå·±æ¿èä¸å¤ç¨ VisitLongTaskDto</h3> |
| | | * {@code VisitLongTaskDto} æ¯ {@code VisitTaskCreateApi} çåºåï¼"å·²åå¸çä»»å¡"ï¼ï¼ |
| | | * è¯ä¹æ¯"ä»»å¡å建å"çä¸è¥¿ï¼èæ¬è¡æ¯ {@code service_task} 表ç读模åï¼ |
| | | * è¿è¦æ¿è½½ä»»å¡ç»æ«æç¨çè¿æ»¤ç»´åº¦ï¼{@code leavehospitaldistrictcodes} çï¼ã |
| | | * 两è
èè´£ä¸åï¼ç¡¬åæä¸ä¸ªç±»ä¼è®©"ä»»å¡å建模å"å°æ¥é¾ä»¥ç¬ç«æ¼è¿ã |
| | | * 代价ï¼å段æé¨åéå ï¼ç± {@code verify_inhospvisit_equivalence.py} éåæ®µè¦çã |
| | | */ |
| | | public class VisitTaskRow implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** ä»»å¡IDï¼å taskidï¼ */ |
| | | private Long taskid; |
| | | |
| | | /** ä»»å¡åç§° */ |
| | | private String taskName; |
| | | |
| | | /** ä»»å¡ç±»åï¼"3" = éç¥ç±»ï¼å³å® visitTime æå N å¤©ï¼ */ |
| | | private String type; |
| | | |
| | | /** æå¡ç±»åï¼"2" åºé¢é访 / "13" ä¸ç
é访 / "17" 宣æå
³æ(å
¥é¢) â¦ï¼ */ |
| | | private String serviceType; |
| | | |
| | | /** é®å·æ¨¡æ¿ID */ |
| | | private Long templateid; |
| | | |
| | | /** é®å·æ¨¡æ¿åç§° */ |
| | | private String templatename; |
| | | |
| | | /** è¯é³æ¨¡æ¿IDï¼ååæ®µæ¯ Stringï¼ç¨ Long.valueOf 转æ¢ï¼ */ |
| | | private String libtemplateid; |
| | | |
| | | /** æ¨é/å鿥å移天æ°ï¼ç¼ºçæ 1 å¤çï¼ */ |
| | | private Long sendDay; |
| | | |
| | | /** æ§è¡æ¹å¼ */ |
| | | private String preachform; |
| | | |
| | | /** æ§è¡æ¹å¼æç» JSONï¼ç± addServiceSubtaskPreachform è§£æï¼ */ |
| | | private String preachformDesc; |
| | | |
| | | /** æºæID */ |
| | | private String orgid; |
| | | |
| | | /** é¢åºID */ |
| | | private String campusid; |
| | | |
| | | /** æ´æ°äºº */ |
| | | private String updateBy; |
| | | |
| | | /** å建人 */ |
| | | private String createBy; |
| | | |
| | | /** æ¯å¦é¿æä»»å¡ï¼1 = æ¯ */ |
| | | private Long longTask; |
| | | |
| | | /** ç³è¯·ç±»åï¼"5" = ä»»å¡ç» */ |
| | | private String appltype; |
| | | |
| | | // ---------- ä»»å¡ç»ï¼appltype=5ï¼çè¿æ»¤ç»´åº¦ ---------- |
| | | |
| | | /** ä»»å¡ç»ï¼ç¦»é¢ç§å®¤ç¼ç 串ï¼éå·åéï¼ */ |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** ä»»å¡ç»ï¼ç¦»é¢ç§å®¤ç¼ç å表 */ |
| | | private java.util.List<String> leaveldeptcodes; |
| | | |
| | | /** ä»»å¡ç»ï¼ç¦»é¢ç
åºç¼ç å表 */ |
| | | private java.util.List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** ä»»å¡ç»ï¼ç¾ç
ICD10 ç¼ç å表 */ |
| | | private java.util.List<String> icd10codeList; |
| | | |
| | | /** ä»»å¡ç»ï¼ææ¯ç级ç¼ç å表 */ |
| | | private java.util.List<String> opLevelCodes; |
| | | |
| | | /** ä»»å¡ç»ï¼ä¸ä¸ä¸ªä»»å¡IDï¼é访è¶
æ¶è½¬å次é访ç¨ï¼ */ |
| | | private Long nexttaskid; |
| | | |
| | | // ========================================================================== |
| | | // boxed ç»è£
éè¦çå¦å¤ 13 ä¸ªåæ®µï¼é
åå·²æç diagTypeï¼æ£å¥½è¦ç |
| | | // DtoConversionUtils æ·å
¥ä½æªè¢«æ¾å¼è¦ççé£ 18 ä¸ªï¼ |
| | | // ========================================================================== |
| | | // 为ä»ä¹è¿äº"çèµ·æ¥æ²¡ç¨"çåæ®µä¹è¦å¸¦ï¼å boxedServiceSubtask 第ä¸è¡ç¨ |
| | | // DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class) |
| | | // æ ServiceTask ä¸ ServiceSubtask çåååæ®µæ´æ¹æ·è¿å»ï¼å
¶ä¸ 18 个ä¹å |
| | | // å乿²¡è¢«æ¾å¼ set è¦ç ââ å®ä»¬æ¯ãéå¼ãè¿åä»»å¡çãå°ä¸ä¸ªå°±éé»ä¸¢å¼ã |
| | | // è¯¦è§ VisitSubtaskFactory#applyCarriedOverFieldsFromTask çæ³¨éã |
| | | |
| | | /** å 餿 è®°ï¼å serviceTask.delFlagï¼ */ |
| | | private String delFlag; |
| | | |
| | | /** åºé¢æ¶é´åºé´ç»ç¹ï¼å serviceTask.endOutHospTimeï¼ */ |
| | | private java.util.Date endOutHospTime; |
| | | |
| | | /** GUIDï¼å serviceTask.guidï¼ */ |
| | | private String guid; |
| | | |
| | | /** æ¯å¦å·²ä¸ä¼ ï¼å serviceTask.isuploadï¼ */ |
| | | private Long isupload; |
| | | |
| | | /** è¯é³æ¨¡æ¿åç§°ï¼å serviceTask.libtemplatenameï¼ */ |
| | | private String libtemplatename; |
| | | |
| | | /** å页页ç ï¼å serviceTask.pageNumï¼ */ |
| | | private Integer pageNum; |
| | | |
| | | /** å页页é¿ï¼å serviceTask.pageSizeï¼ */ |
| | | private Integer pageSize; |
| | | |
| | | /** pidï¼å serviceTask.pid æ¯ Integerï¼ç®æ ServiceSubtask.pid æ¯ Longï¼ */ |
| | | private Integer pid; |
| | | |
| | | /** åéç±»åï¼å serviceTask.sendType æ¯ Longï¼ç®æ ServiceSubtask.sendType æ¯ Stringï¼ */ |
| | | private Long sendType; |
| | | |
| | | /** åºé¢æ¶é´åºé´èµ·ç¹ï¼å serviceTask.startOutHospTimeï¼ */ |
| | | private java.util.Date startOutHospTime; |
| | | |
| | | /** ä»»å¡æè¿°ï¼å serviceTask.taskDescï¼ */ |
| | | private String taskDesc; |
| | | |
| | | /** ææ¬åæ°ï¼å serviceTask.textParamï¼ */ |
| | | private String textParam; |
| | | |
| | | /** ä¸ä¼ æ¶é´ï¼å serviceTask.uploadTimeï¼ */ |
| | | private java.util.Date uploadTime; |
| | | |
| | | // ---------- è¡¥é½çåæ®µ ---------- |
| | | |
| | | /** ç¾ç
ç±»åï¼å serviceTask.diagTypeï¼å± DtoConversionUtils æ·å
¥ç 18 ä¸ªåæ®µä¹ä¸ï¼ */ |
| | | private String diagType; |
| | | |
| | | public Long getTaskid() { |
| | | return taskid; |
| | | } |
| | | |
| | | public void setTaskid(Long taskid) { |
| | | this.taskid = taskid; |
| | | } |
| | | |
| | | public String getTaskName() { |
| | | return taskName; |
| | | } |
| | | |
| | | public void setTaskName(String taskName) { |
| | | this.taskName = taskName; |
| | | } |
| | | |
| | | public String getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(String type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public Long getTemplateid() { |
| | | return templateid; |
| | | } |
| | | |
| | | public void setTemplateid(Long templateid) { |
| | | this.templateid = templateid; |
| | | } |
| | | |
| | | public String getTemplatename() { |
| | | return templatename; |
| | | } |
| | | |
| | | public void setTemplatename(String templatename) { |
| | | this.templatename = templatename; |
| | | } |
| | | |
| | | public String getLibtemplateid() { |
| | | return libtemplateid; |
| | | } |
| | | |
| | | public void setLibtemplateid(String libtemplateid) { |
| | | this.libtemplateid = libtemplateid; |
| | | } |
| | | |
| | | public Long getSendDay() { |
| | | return sendDay; |
| | | } |
| | | |
| | | public void setSendDay(Long sendDay) { |
| | | this.sendDay = sendDay; |
| | | } |
| | | |
| | | public String getPreachform() { |
| | | return preachform; |
| | | } |
| | | |
| | | public void setPreachform(String preachform) { |
| | | this.preachform = preachform; |
| | | } |
| | | |
| | | public String getPreachformDesc() { |
| | | return preachformDesc; |
| | | } |
| | | |
| | | public void setPreachformDesc(String preachformDesc) { |
| | | this.preachformDesc = preachformDesc; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getCampusid() { |
| | | return campusid; |
| | | } |
| | | |
| | | public void setCampusid(String campusid) { |
| | | this.campusid = campusid; |
| | | } |
| | | |
| | | public String getUpdateBy() { |
| | | return updateBy; |
| | | } |
| | | |
| | | public void setUpdateBy(String updateBy) { |
| | | this.updateBy = updateBy; |
| | | } |
| | | |
| | | public String getCreateBy() { |
| | | return createBy; |
| | | } |
| | | |
| | | public void setCreateBy(String createBy) { |
| | | this.createBy = createBy; |
| | | } |
| | | |
| | | public Long getLongTask() { |
| | | return longTask; |
| | | } |
| | | |
| | | public void setLongTask(Long longTask) { |
| | | this.longTask = longTask; |
| | | } |
| | | |
| | | public String getAppltype() { |
| | | return appltype; |
| | | } |
| | | |
| | | public void setAppltype(String appltype) { |
| | | this.appltype = appltype; |
| | | } |
| | | |
| | | public String getLeavehospitaldistrictcode() { |
| | | return leavehospitaldistrictcode; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictcode(String leavehospitaldistrictcode) { |
| | | this.leavehospitaldistrictcode = leavehospitaldistrictcode; |
| | | } |
| | | |
| | | public java.util.List<String> getLeaveldeptcodes() { |
| | | return leaveldeptcodes; |
| | | } |
| | | |
| | | public void setLeaveldeptcodes(java.util.List<String> leaveldeptcodes) { |
| | | this.leaveldeptcodes = leaveldeptcodes; |
| | | } |
| | | |
| | | public java.util.List<String> getLeavehospitaldistrictcodes() { |
| | | return leavehospitaldistrictcodes; |
| | | } |
| | | |
| | | public void setLeavehospitaldistrictcodes(java.util.List<String> leavehospitaldistrictcodes) { |
| | | this.leavehospitaldistrictcodes = leavehospitaldistrictcodes; |
| | | } |
| | | |
| | | public java.util.List<String> getIcd10codeList() { |
| | | return icd10codeList; |
| | | } |
| | | |
| | | public void setIcd10codeList(java.util.List<String> icd10codeList) { |
| | | this.icd10codeList = icd10codeList; |
| | | } |
| | | |
| | | public java.util.List<String> getOpLevelCodes() { |
| | | return opLevelCodes; |
| | | } |
| | | |
| | | public void setOpLevelCodes(java.util.List<String> opLevelCodes) { |
| | | this.opLevelCodes = opLevelCodes; |
| | | } |
| | | |
| | | public Long getNexttaskid() { |
| | | return nexttaskid; |
| | | } |
| | | |
| | | public void setNexttaskid(Long nexttaskid) { |
| | | this.nexttaskid = nexttaskid; |
| | | } |
| | | |
| | | // ---------- ä¸è¿° 13 个æ¿è½½å段ç访é®å¨ ---------- |
| | | |
| | | public String getDelFlag() { |
| | | return delFlag; |
| | | } |
| | | |
| | | public void setDelFlag(String delFlag) { |
| | | this.delFlag = delFlag; |
| | | } |
| | | |
| | | public java.util.Date getEndOutHospTime() { |
| | | return endOutHospTime; |
| | | } |
| | | |
| | | public void setEndOutHospTime(java.util.Date endOutHospTime) { |
| | | this.endOutHospTime = endOutHospTime; |
| | | } |
| | | |
| | | public String getGuid() { |
| | | return guid; |
| | | } |
| | | |
| | | public void setGuid(String guid) { |
| | | this.guid = guid; |
| | | } |
| | | |
| | | public Long getIsupload() { |
| | | return isupload; |
| | | } |
| | | |
| | | public void setIsupload(Long isupload) { |
| | | this.isupload = isupload; |
| | | } |
| | | |
| | | public String getLibtemplatename() { |
| | | return libtemplatename; |
| | | } |
| | | |
| | | public void setLibtemplatename(String libtemplatename) { |
| | | this.libtemplatename = libtemplatename; |
| | | } |
| | | |
| | | public Integer getPageNum() { |
| | | return pageNum; |
| | | } |
| | | |
| | | public void setPageNum(Integer pageNum) { |
| | | this.pageNum = pageNum; |
| | | } |
| | | |
| | | public Integer getPageSize() { |
| | | return pageSize; |
| | | } |
| | | |
| | | public void setPageSize(Integer pageSize) { |
| | | this.pageSize = pageSize; |
| | | } |
| | | |
| | | public Integer getPid() { |
| | | return pid; |
| | | } |
| | | |
| | | public void setPid(Integer pid) { |
| | | this.pid = pid; |
| | | } |
| | | |
| | | public Long getSendType() { |
| | | return sendType; |
| | | } |
| | | |
| | | public void setSendType(Long sendType) { |
| | | this.sendType = sendType; |
| | | } |
| | | |
| | | public java.util.Date getStartOutHospTime() { |
| | | return startOutHospTime; |
| | | } |
| | | |
| | | public void setStartOutHospTime(java.util.Date startOutHospTime) { |
| | | this.startOutHospTime = startOutHospTime; |
| | | } |
| | | |
| | | public String getTaskDesc() { |
| | | return taskDesc; |
| | | } |
| | | |
| | | public void setTaskDesc(String taskDesc) { |
| | | this.taskDesc = taskDesc; |
| | | } |
| | | |
| | | public String getTextParam() { |
| | | return textParam; |
| | | } |
| | | |
| | | public void setTextParam(String textParam) { |
| | | this.textParam = textParam; |
| | | } |
| | | |
| | | public java.util.Date getUploadTime() { |
| | | return uploadTime; |
| | | } |
| | | |
| | | public void setUploadTime(java.util.Date uploadTime) { |
| | | this.uploadTime = uploadTime; |
| | | } |
| | | |
| | | |
| | | // ---------- è¡¥é½å段ç访é®å¨ ---------- |
| | | |
| | | public String getDiagType() { |
| | | return diagType; |
| | | } |
| | | |
| | | public void setDiagType(String diagType) { |
| | | this.diagType = diagType; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain.row; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * é¿æé访任å¡Â·ç§å®¤/ç
åºç»´åº¦ï¼{@code service_taskdept}ï¼çé访侧åªè¯»è¡ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * å¯¹åº {@code ServiceTaskdept}ï¼10 ä¸ªèªæåæ®µ + {@code createTime/updateTime/orgid}ï¼ï¼ |
| | | * 忏
åéæ¡å¯¹é½ {@code ServiceTaskdeptMapper.xml} ç |
| | | * {@code selectServiceTaskdeptVo}ï¼L23-38ï¼ä¸ {@code ServiceTaskdeptResult}ï¼L7-21ï¼ã |
| | | * |
| | | * <h3>æ¬è¡æå¡åªäºé访é»è¾</h3> |
| | | * <ul> |
| | | * <li>{@code addDeptSubTaskForPatient}ï¼L1854-1887ï¼ï¼{@code deptType="1"} + {@code serviceType="2"}</li> |
| | | * <li>{@code addWardSubTaskForPatient}ï¼L1894-1935ï¼ï¼{@code deptType="2"} + {@code serviceType="2"}</li> |
| | | * <li>{@code dealOutHospInfo} çå
¥é¢å®£æï¼{@code deptType="1"/"2"} + {@code serviceType="17"} |
| | | * ââ 飿®µå·²å½ {@code ruoyi-publicity}ï¼èµ° {@code PublicityDataPort}</li> |
| | | * </ul> |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç {@code ServiceTaskdeptMapper} æ¯ä¸¤å¥çä»·ç SQL</h3> |
| | | * è¿æ¯ä½ 已确认ç"æ°æ¨¡åèªæº SQL"æ¹æ¡ã纪å¾å {@code VisitInhospRow}ï¼ |
| | | * æ¹ä»»ä¸è¾¹å¿
须忥å¦ä¸è¾¹ï¼å¹¶éè· |
| | | * {@code verify_inhospvisit_mapper.py} ä¸ {@code verify_inhospvisit_sql_expansion.py}ã |
| | | */ |
| | | public class VisitTaskdeptRow { |
| | | |
| | | /** ä¸»é® */ |
| | | private Long id; |
| | | |
| | | /** ä»»å¡IDï¼å {@code taskId}ï¼ */ |
| | | private Long taskId; |
| | | |
| | | /** ä»»å¡åç§° */ |
| | | private String taskName; |
| | | |
| | | /** æ¯å¦é¿æä»»å¡ï¼1 = æ¯ */ |
| | | private Long longtask; |
| | | |
| | | /** æå¡ç±»åï¼"2" åºé¢é访 / "17" 宣æå
³æ(å
¥é¢) â¦ï¼ */ |
| | | private String serviceType; |
| | | |
| | | /** 维度类åï¼"1" = ç§å®¤ï¼"2" = ç
åº */ |
| | | private String deptType; |
| | | |
| | | /** ç§å®¤ID */ |
| | | private Long deptId; |
| | | |
| | | /** ç§å®¤/ç
åºç¼ç */ |
| | | private String deptCode; |
| | | |
| | | /** ç§å®¤/ç
åºåç§° */ |
| | | private String deptName; |
| | | |
| | | /** å 餿 è®° */ |
| | | private String delFlag; |
| | | |
| | | /** æºæID */ |
| | | private String orgid; |
| | | |
| | | /** å建æ¶é´ */ |
| | | private Date createTime; |
| | | |
| | | /** æ´æ°æ¶é´ */ |
| | | private Date updateTime; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Long getTaskId() { |
| | | return taskId; |
| | | } |
| | | |
| | | public void setTaskId(Long taskId) { |
| | | this.taskId = taskId; |
| | | } |
| | | |
| | | public String getTaskName() { |
| | | return taskName; |
| | | } |
| | | |
| | | public void setTaskName(String taskName) { |
| | | this.taskName = taskName; |
| | | } |
| | | |
| | | public Long getLongtask() { |
| | | return longtask; |
| | | } |
| | | |
| | | public void setLongtask(Long longtask) { |
| | | this.longtask = longtask; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public String getDeptType() { |
| | | return deptType; |
| | | } |
| | | |
| | | public void setDeptType(String deptType) { |
| | | this.deptType = deptType; |
| | | } |
| | | |
| | | public Long getDeptId() { |
| | | return deptId; |
| | | } |
| | | |
| | | public void setDeptId(Long deptId) { |
| | | this.deptId = deptId; |
| | | } |
| | | |
| | | public String getDeptCode() { |
| | | return deptCode; |
| | | } |
| | | |
| | | public void setDeptCode(String deptCode) { |
| | | this.deptCode = deptCode; |
| | | } |
| | | |
| | | public String getDeptName() { |
| | | return deptName; |
| | | } |
| | | |
| | | public void setDeptName(String deptName) { |
| | | this.deptName = deptName; |
| | | } |
| | | |
| | | public String getDelFlag() { |
| | | return delFlag; |
| | | } |
| | | |
| | | public void setDelFlag(String delFlag) { |
| | | this.delFlag = delFlag; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.domain.row; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * é¿æé访任å¡Â·ç¾ç
维度ï¼{@code service_taskdiag}ï¼çé访侧åªè¯»è¡ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * å¯¹åº {@code ServiceTaskdiag}ï¼17 ä¸ªåæ®µï¼ï¼åæ¸
åéæ¡å¯¹é½ |
| | | * {@code ServiceTaskdiagMapper.xml} ç {@code selectServiceTaskdiagVo}ï¼L29-50ï¼ |
| | | * ä¸ {@code ServiceTaskdiagResult}ï¼L7-27ï¼ã |
| | | * |
| | | * <h3>æ¬è¡æå¡åªäºé访é»è¾</h3> |
| | | * {@code addIcd10SubTaskForPatient}ï¼L1942-2001ï¼ç¨ |
| | | * {@code selectServiceTaskdiagListByIcdName} æ¥é¿æä»»å¡ï¼ç¶åè¦æ± |
| | | * <b>{@code deptCode} æ {@code wardCode} 䏿£è
ç离é¢ç§å®¤/ç
åºå¹é
</b>æå»ºåä»»å¡ |
| | | * ï¼å L1975-1983ï¼ââ æä»¥ {@code deptCode/wardCode} æ¯è¿ä¸ç»´åº¦æå
³é®çåæ®µã |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç {@code ServiceTaskdiagMapper} æ¯ä¸¤å¥çä»·ç SQL</h3> |
| | | * 纪å¾å {@code VisitInhospRow}ã |
| | | */ |
| | | public class VisitTaskdiagRow { |
| | | |
| | | /** ä¸»é® */ |
| | | private Long id; |
| | | |
| | | /** ä»»å¡IDï¼å {@code taskId}ï¼ */ |
| | | private Long taskId; |
| | | |
| | | /** æ¯å¦é¿æä»»å¡ï¼1 = æ¯ */ |
| | | private Long longtask; |
| | | |
| | | /** ä»»å¡åç§° */ |
| | | private String taskName; |
| | | |
| | | /** æå¡ç±»å */ |
| | | private String serviceType; |
| | | |
| | | /** ICD10 ä¸»é® */ |
| | | private Long icd10id; |
| | | |
| | | /** ICD10 ç¼ç */ |
| | | private String icd10code; |
| | | |
| | | /** ICD10 åç§°ï¼è¯æåï¼ */ |
| | | private String icd10name; |
| | | |
| | | /** å 餿 è®°ï¼æ³¨æï¼åå®ä½éæ¯ {@code Integer} ç±»åï¼ */ |
| | | private Integer delFlag; |
| | | |
| | | /** æºæID */ |
| | | private String orgid; |
| | | |
| | | /** GUID */ |
| | | private String guid; |
| | | |
| | | /** ç¶ GUID */ |
| | | private String pguid; |
| | | |
| | | /** pid */ |
| | | private Long pid; |
| | | |
| | | /** ç§å®¤ç¼ç ï¼å
³é®ï¼å¿
须䏿£è
离é¢ç§å®¤å¹é
ï¼ */ |
| | | private String deptCode; |
| | | |
| | | /** ç§å®¤åç§° */ |
| | | private String deptName; |
| | | |
| | | /** ç
åºç¼ç ï¼å
³é®ï¼å¿
须䏿£è
离é¢ç
åºå¹é
ï¼ */ |
| | | private String wardCode; |
| | | |
| | | /** ç
åºåç§° */ |
| | | private String wardName; |
| | | |
| | | /** å建æ¶é´ */ |
| | | private Date createTime; |
| | | |
| | | /** æ´æ°æ¶é´ */ |
| | | private Date updateTime; |
| | | |
| | | public Long getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Long id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Long getTaskId() { |
| | | return taskId; |
| | | } |
| | | |
| | | public void setTaskId(Long taskId) { |
| | | this.taskId = taskId; |
| | | } |
| | | |
| | | public Long getLongtask() { |
| | | return longtask; |
| | | } |
| | | |
| | | public void setLongtask(Long longtask) { |
| | | this.longtask = longtask; |
| | | } |
| | | |
| | | public String getTaskName() { |
| | | return taskName; |
| | | } |
| | | |
| | | public void setTaskName(String taskName) { |
| | | this.taskName = taskName; |
| | | } |
| | | |
| | | public String getServiceType() { |
| | | return serviceType; |
| | | } |
| | | |
| | | public void setServiceType(String serviceType) { |
| | | this.serviceType = serviceType; |
| | | } |
| | | |
| | | public Long getIcd10id() { |
| | | return icd10id; |
| | | } |
| | | |
| | | public void setIcd10id(Long icd10id) { |
| | | this.icd10id = icd10id; |
| | | } |
| | | |
| | | public String getIcd10code() { |
| | | return icd10code; |
| | | } |
| | | |
| | | public void setIcd10code(String icd10code) { |
| | | this.icd10code = icd10code; |
| | | } |
| | | |
| | | public String getIcd10name() { |
| | | return icd10name; |
| | | } |
| | | |
| | | public void setIcd10name(String icd10name) { |
| | | this.icd10name = icd10name; |
| | | } |
| | | |
| | | public Integer getDelFlag() { |
| | | return delFlag; |
| | | } |
| | | |
| | | public void setDelFlag(Integer delFlag) { |
| | | this.delFlag = delFlag; |
| | | } |
| | | |
| | | public String getOrgid() { |
| | | return orgid; |
| | | } |
| | | |
| | | public void setOrgid(String orgid) { |
| | | this.orgid = orgid; |
| | | } |
| | | |
| | | public String getGuid() { |
| | | return guid; |
| | | } |
| | | |
| | | public void setGuid(String guid) { |
| | | this.guid = guid; |
| | | } |
| | | |
| | | public String getPguid() { |
| | | return pguid; |
| | | } |
| | | |
| | | public void setPguid(String pguid) { |
| | | this.pguid = pguid; |
| | | } |
| | | |
| | | public Long getPid() { |
| | | return pid; |
| | | } |
| | | |
| | | public void setPid(Long pid) { |
| | | this.pid = pid; |
| | | } |
| | | |
| | | public String getDeptCode() { |
| | | return deptCode; |
| | | } |
| | | |
| | | public void setDeptCode(String deptCode) { |
| | | this.deptCode = deptCode; |
| | | } |
| | | |
| | | public String getDeptName() { |
| | | return deptName; |
| | | } |
| | | |
| | | public void setDeptName(String deptName) { |
| | | this.deptName = deptName; |
| | | } |
| | | |
| | | public String getWardCode() { |
| | | return wardCode; |
| | | } |
| | | |
| | | public void setWardCode(String wardCode) { |
| | | this.wardCode = wardCode; |
| | | } |
| | | |
| | | public String getWardName() { |
| | | return wardName; |
| | | } |
| | | |
| | | public void setWardName(String wardName) { |
| | | this.wardName = wardName; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public Date getUpdateTime() { |
| | | return updateTime; |
| | | } |
| | | |
| | | public void setUpdateTime(Date updateTime) { |
| | | this.updateTime = updateTime; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.mapper; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhosp; |
| | | import com.ruoyi.inhospvisit.domain.PatMedInhospVO; |
| | | import com.ruoyi.common.core.service.dto.PatMedReq; |
| | | import com.ruoyi.common.core.service.dto.PatMedRes; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * æ£è
ä½é¢è®°å½Mapperæ¥å£ |
| | | * |
| | | * @author smartor |
| | | * @date 2023-03-04 |
| | | */ |
| | | @Mapper |
| | | public interface PatMedInhospMapper { |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½ |
| | | * |
| | | * @param inhospid æ£è
ä½é¢è®°å½ä¸»é® |
| | | * @return æ£è
ä½é¢è®°å½ |
| | | */ |
| | | public PatMedInhosp selectPatMedInhospByInhospid(Long inhospid); |
| | | |
| | | public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * ææ£è
ç¼å· + åºé¢æ¥ææ¥è¯¢åºé¢è®°å½ï¼åºé¢æ¶é´åªæ¯è¾å°å¤©ï¼ä¸æ¯è¾æ¶åç§ï¼ |
| | | * |
| | | * @param patno æ£è
ç¼å· |
| | | * @param dayStart æ¥è¯¢æ¥æï¼å½å¤© 00:00:00ï¼ |
| | | * @param dayEnd æ¥è¯¢æ¥æçæ¬¡æ¥ 00:00:00 |
| | | * @return åºé¢è®°å½éåï¼æ inhospid ååº |
| | | */ |
| | | public List<PatMedInhosp> selectOutInhospByPatnoAndOutDate(@Param("patno") String patno, |
| | | @Param("dayStart") Date dayStart, |
| | | @Param("dayEnd") Date dayEnd); |
| | | |
| | | public String getTagnameBypatid(Long patid); |
| | | |
| | | /** |
| | | * æ¹éæ¥è¯¢æ£è
æ ç¾ï¼GROUP_CONCAT æ¼æ¥åçæ ç¾ä¸²ï¼ |
| | | * |
| | | * @param patids æ£è
æ¡£æ¡idéåï¼è°ç¨æ¹é¡»ä¿è¯é空ä¸å·²å»é |
| | | * @return æ¯è¡å« patidãtagname 两个 key |
| | | */ |
| | | public List<Map<String, Object>> getTagnameByPatids(@Param("patids") List<Long> patids); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ä½é¢è®°å½å表 |
| | | * |
| | | * @param patMedInhosp æ£è
ä½é¢è®°å½ |
| | | * @return æ£è
ä½é¢è®°å½éå |
| | | */ |
| | | public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp); |
| | | |
| | | public List<PatMedInhosp> selectPatMedInhospListBySerialnum(PatMedInhosp patMedInhosp); |
| | | |
| | | public List<PatMedInhosp> selectPatMedInhospListByCondition(PatMedInhospVO patMedInhospVO); |
| | | |
| | | /** |
| | | * æ°å¢æ£è
ä½é¢è®°å½ |
| | | * |
| | | * @param patMedInhosp æ£è
ä½é¢è®°å½ |
| | | * @return ç»æ |
| | | */ |
| | | public int insertPatMedInhosp(PatMedInhosp patMedInhosp); |
| | | |
| | | public int insertPatMedInhospBatch(@Param("list") List<PatMedInhosp> list); |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
ä½é¢è®°å½ |
| | | * |
| | | * @param patMedInhosp æ£è
ä½é¢è®°å½ |
| | | * @return ç»æ |
| | | */ |
| | | public int updatePatMedInhosp(PatMedInhosp patMedInhosp); |
| | | |
| | | /** |
| | | * å 餿£è
ä½é¢è®°å½ |
| | | * |
| | | * @param inhospid æ£è
ä½é¢è®°å½ä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedInhospByInhospid(Long inhospid); |
| | | |
| | | /** |
| | | * å 餿£è
ä½é¢è®°å½ |
| | | * |
| | | * @param inhospno æ£è
ä½é¢ç¼ç |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedInhospByInhospno(String inhospno); |
| | | |
| | | /** |
| | | * æ¹éå 餿£è
ä½é¢è®°å½ |
| | | * |
| | | * @param inhospids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedInhospByInhospids(Long[] inhospids); |
| | | |
| | | /** |
| | | * åºé¢ãå
¥é¢äººæ° |
| | | * |
| | | * @param patMedReq |
| | | * @return |
| | | */ |
| | | public PatMedRes selectPatMedInhospCount(PatMedReq patMedReq); |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ä¸ä¸ªç»´åº¦ä»»æä¸ä¸ªæªå¤ççåºé¢æ£è
|
| | | * |
| | | * @return |
| | | */ |
| | | public List<PatMedInhosp> selectNeedProcessList(); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.mapper; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * æ£è
æ¡£æ¡åªè¯» Mapperï¼{@code pat_archive}ï¼ââ åºå
¥é¢é访模åèªå¸¦ã |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç {@code PatArchiveMapper} æ¯ä¸¤å¥æ¥è¯¢</h3> |
| | | * æ¬æ¨¡ååªä¾èµ ruoyi-commonï¼ä¸ä¾èµ smartorï¼å¦å循ç¯ä¾èµï¼ï¼æä»¥èªå·±æ¥ã |
| | | * <b>纪å¾</b>ï¼æ¬æ¥å£ç SQL åªéè¦ç"é访ç»è£
çæ£è¯»å°çå"ï¼ |
| | | * å¹¶ç± {@code sql/_probe/verify_inhospvisit_mapper.py} ä¸ |
| | | * {@code verify_inhospvisit_sql_expansion.py} æå
³ï¼æ¹ä»»ä¸è¾¹å¿
须忥å¦ä¸è¾¹ã |
| | | * |
| | | * <h3>对åºçåå®ç°ï¼@ b25c3b51ï¼</h3> |
| | | * {@code PatMedInhospServiceImpl} é 10 å¤ |
| | | * {@code patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid())} |
| | | * ï¼L338/382/436/536/573/948/1447/1546/1614/1694ï¼ã |
| | | */ |
| | | @Mapper |
| | | public interface VisitArchiveMapper { |
| | | |
| | | /** |
| | | * ææ£è
æ¡£æ¡IDæ¥ï¼å {@code PatArchiveMapper#selectPatArchiveByPatid}ï¼ã |
| | | * <p> |
| | | * â ï¸ åå®ç°æ¯ {@code select ... from pat_archive where id = #{patid}}ï¼åè¡¨ãæ del_flag æ¡ä»¶ï¼ï¼ |
| | | * è¿é<b>éåç
§æ¬</b>ï¼ä¸å è¿æ»¤æ¡ä»¶ ââ å äºå°±ä¼æ¹å"æ¥å¾å°/æ¥ä¸å°"çå¤æï¼ |
| | | * è¿èæ¹å {@code "æ£è
åºæ¬ä¿¡æ¯ä¸ºç©º"} 忝çèµ°åã |
| | | * |
| | | * @param patid æ£è
æ¡£æ¡ID |
| | | * @return æ¡£æ¡è¡ï¼ä¸åå¨è¿å {@code null} |
| | | */ |
| | | VisitArchiveRow selectByPatid(@Param("patid") Long patid); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.mapper; |
| | | |
| | | import com.ruoyi.inhospvisit.domain.row.VisitInhospRow; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åºå
¥é¢è®°å½ï¼{@code pat_med_inhosp}ï¼é访侧 Mapper ââ åºå
¥é¢é访模åèªå¸¦ã |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç {@code PatMedInhospMapper} æ¯ä¸¤å¥æ¥è¯¢ï¼æ¬æ¨¡åå¯ä¸çæ£ç SQL éå¤ï¼</h3> |
| | | * åä¸å¼ 表ãä¸¤å¥ SQLï¼çç±è§ {@link VisitInhospRow} ç类注éã纪å¾ï¼ |
| | | * <ul> |
| | | * <li>两边ç SQL å¿
é¡»<b>éæ¡çä»·</b>ï¼</li> |
| | | * <li>ç± {@code sql/_probe/verify_inhospvisit_sql_expansion.py} æä¸¤è¾¹ç WHERE/GROUP BY/ORDER BY |
| | | * 卿å±å¼åéæ¡æ¯å¯¹ï¼AND é¡ºåºæ å
³ã{@code #{}}â{@code ?}ã忏
åæå ï¼ï¼</li> |
| | | * <li>ç± {@code sql/_probe/verify_inhospvisit_mapper.py} æ ¡éªæ¥å£æ¹æ³âXML statement ä¸ä¸å¯¹åºï¼</li> |
| | | * <li><b>æ¹ä»»ä¸è¾¹å¿
须忥æ¹å¦ä¸è¾¹</b>ï¼å¹¶éè·è¿ä¸¤ä¸ªæ¢éã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>æ¹æ³å¯¹åºçåå®ç°ï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬æ¹æ³</th><th>åè°ç¨ç¹</th></tr> |
| | | * <tr><td>{@link #selectForScan}</td><td>{@code PatMedInhospServiceImpl} L329/458/527/1195/1328/1438/1529/1598 |
| | | * ï¼é½æ¯ {@code selectPatMedInhospList}ï¼</td></tr> |
| | | * <tr><td>{@link #selectByInhospid}</td><td>L356/399/480/632/1409/1480/1505/1572/1632/1867/1915/1955/1968 |
| | | * ï¼é½æ¯ {@code selectPatMedInhospByInhospid}ï¼</td></tr> |
| | | * <tr><td>{@link #updateFlags}</td><td>{@code updatePatMedInhosp}ï¼å¤å¤ï¼åªååæ å¿ä½ä¸ reasonï¼</td></tr> |
| | | * </table> |
| | | */ |
| | | @Mapper |
| | | public interface VisitInhospMapper { |
| | | |
| | | /** |
| | | * éè®¿æ«æ/ææ å¿ä½è¿æ»¤ï¼å {@code PatMedInhospMapper#selectPatMedInhospList}ï¼ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»éåçä»·å°ä¿çå SQL çä¸å¤å
³é®è¯ä¹</b>ï¼ |
| | | * <ol> |
| | | * <li>JOIN {@code pat_archive} ä¸è¦æ± {@code a.del_flag = 0}ã{@code b.del_flag = 0}ã |
| | | * {@code a.idcardno IS NOT NULL} ââ è¿ä¸ä¸ªæ¡ä»¶å³å®"è°ä¼è¢«æ«å°"ï¼</li> |
| | | * <li>{@code GROUP BY b.inhospid, a.age, a.age_unit, a.telcode, a.id, a.sex} ââ å»éè¯ä¹ï¼</li> |
| | | * <li>æåºï¼{@code cry=1/2/3} æ¶ {@code order by b.endtime desc}ï¼ |
| | | * {@code cry=0} æ¶æ {@code bedSort} ä¸éä¸ï¼å«åºä½èªç¶åºçå¤æè¡¨è¾¾å¼ï¼ï¼ |
| | | * é»è®¤ {@code order by b.starttime desc, b.bed_no asc}ã |
| | | * <b>顺åºä¼å½±åå¤ç次åºä¸æç»ç»æ</b>ï¼å°¤å
¶åå
¥é¢åæºé»è¾ï¼ï¼ä¸è½ç®åã</li> |
| | | * </ol> |
| | | * |
| | | * @param query è¿æ»¤æ¡ä»¶ï¼é访侧åªç¨å° flag / inhospstate / fuflag / orgid / cry / bedSort / patid çï¼ |
| | | * @return å¹é
è¡ |
| | | */ |
| | | List<VisitInhospRow> selectForScan(VisitInhospRow query); |
| | | |
| | | /** |
| | | * æä¸»é®æ¥ï¼å {@code PatMedInhospMapper#selectPatMedInhospByInhospid}ï¼ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @return è®°å½è¡ï¼ä¸åå¨è¿å {@code null} |
| | | */ |
| | | VisitInhospRow selectByInhospid(@Param("inhospid") Long inhospid); |
| | | |
| | | /** |
| | | * åªååé访æ å¿ä½ä¸ {@code long_task_reason}ï¼å {@code updatePatMedInhosp} çé访ç¨éåéï¼ã |
| | | * <p> |
| | | * â ï¸ <b>廿ä¸åæ"å
¨åæ®µå¨ææ´æ°"</b>ï¼å {@code updatePatMedInhosp} æè¿ç¾ä¸ª |
| | | * {@code <if test="xxx != null">}ï¼è°ç¨æ¹ä¼ ä»ä¹å°±æ´æ°ä»ä¹ãé访侧åªåè¿å åï¼ |
| | | * æä»¥è¿éæ¾å¼ååºï¼é¿å
"ä¼ äºä¸ªå满çå®ä½å¯¼è´æäºå被æå¤å空/æ¼å"ã |
| | | * <p> |
| | | * ä¼ å
¥ç {@code reason} 为 null æ¶<b>䏿¹å¨</b> {@code long_task_reason}ï¼ä¸å {@code <if>} ä¸è´ï¼ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param flagColumn æ å¿ä½ååï¼åªå
许 |
| | | * {@code deptcheck_flag} / {@code wardcheck_flag} / {@code diagcheck_flag} / |
| | | * {@code medcheck_flag} / {@code in_deptcheck_flag} / {@code in_wardcheck_flag} / |
| | | * {@code schedulecheck_flag} |
| | | * ï¼ç½ååå¨ Service 屿 ¡éªï¼SQL éç¨ {@code <choose>} å±å¼æå¸¸éååï¼ä¸ååç¬¦ä¸²æ¼æ¥ï¼ |
| | | * @param flagValue æ å¿ä½å¼ï¼"0" / "1" / "2" â¦ï¼ |
| | | * @param reason {@code long_task_reason} çæ°å¼ï¼null = 䏿¹å¨ |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int updateFlags(@Param("inhospid") Long inhospid, |
| | | @Param("flagColumn") String flagColumn, |
| | | @Param("flagValue") String flagValue, |
| | | @Param("reason") String reason); |
| | | |
| | | /** |
| | | * åªåå {@code remark}ï¼å {@code updateCheckFlag} çé带å¨ä½ï¼L1680-1683ï¼ã |
| | | * <p> |
| | | * åå®ç°æ¯å¨åä¸ä¸ª"æ´å®ä½å¨ææ´æ°"é顺æå remark çï¼ |
| | | * <pre> |
| | | * if (StringUtils.isNotEmpty(remark)) { |
| | | * updateObj.setRemark(remark + " (type=" + type + ")"); |
| | | * } |
| | | * patMedInhospMapper.updatePatMedInhosp(updateObj); |
| | | * </pre> |
| | | * å 为 {@code updatePatMedInhosp} æ¯"æ¯ä¸ªå段åèª {@code <if test="xxx != null">}"ï¼ |
| | | * æä»¥ææä¸¤æ¬¡ updateï¼flag 䏿¬¡ãremark 䏿¬¡ï¼ä¸åæ¥ç"䏿¬¡æ´å®ä½æ´æ°"å¨ç»æä¸çä»·ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param remark æ°ç夿³¨ï¼è¦çå¼ï¼ |
| | | * @return å½±åè¡æ° |
| | | */ |
| | | int updateRemark(@Param("inhospid") Long inhospid, @Param("remark") String remark); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.mapper; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitPreachformRow; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é访åä»»å¡ãæ§è¡æ¹å¼æç»ãï¼{@code service_subtask_preachform}ï¼Mapper ââ åºå
¥é¢é访模åèªå¸¦ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬æ¹æ³</th><th>åæ¹æ³</th><th>å XML</th></tr> |
| | | * <tr><td>{@link #selectList}</td><td>{@code selectServiceSubtaskPreachformList}</td> |
| | | * <td>L44-73ï¼{@code del_flag = 0} + 8 个å¯éæ¡ä»¶ï¼</td></tr> |
| | | * <tr><td>{@link #insert}</td><td>{@code insertServiceSubtaskPreachform}</td> |
| | | * <td>L81-151ï¼{@code useGeneratedKeys}ï¼15 个å¯éåï¼</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç Mapper æ¯ä¸¤å¥çä»·ç SQL</h3> |
| | | * å {@code VisitInhospMapper} ç纪å¾ï¼æ¹ä»»ä¸è¾¹å¿
须忥å¦ä¸è¾¹ï¼å¹¶éè· |
| | | * {@code verify_inhospvisit_mapper.py} ä¸ {@code verify_inhospvisit_sql_expansion.py}ã |
| | | */ |
| | | @Mapper |
| | | public interface VisitPreachformMapper { |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ¥ï¼å {@code selectServiceSubtaskPreachformList}ï¼ã |
| | | * <p> |
| | | * å XML çåºå®æ¡ä»¶æ¯ {@code del_flag = 0}ï¼å
¶ä½ 8 ä¸ªåæ®µä¸ºå¯éæ¡ä»¶ï¼ |
| | | * {@code subid / taskid / current_send_time / preachform / sendstate / orgid / sort / compensate_time}ã |
| | | * <b>å
¨é¨ç
§æ</b>ââè½ç¶è°ç¨ç¹åªç¨å° {@code subid + taskid + preachform}ï¼ |
| | | * ä½å®æ´ç
§æå"çä»·"å°±æ¯å¯æºæ¢°éªè¯çäºå®ï¼è¿æ¯ç¬¬ 6d æ¥è¿å·¥å¦å°çï¼ã |
| | | */ |
| | | List<VisitPreachformRow> selectList(VisitPreachformRow query); |
| | | |
| | | /** |
| | | * æ°å¢ï¼å {@code insertServiceSubtaskPreachform}ï¼èªå¢ä¸»é®åå¡«å° {@code id}ï¼ã |
| | | */ |
| | | int insert(VisitPreachformRow row); |
| | | |
| | | // ========================================================================== |
| | | // ä»¥ä¸ 7 ä¸ªæ¹æ³ä¸ºã跨模å SQL æ¶å£ãè¡¥é½ ââ å smartor ç |
| | | // ServiceSubtaskPreachformMapper å
± 9 ä¸ªæ¹æ³ï¼æ¬æ¨¡ååå
åªæ 2 个ã |
| | | // éæ¹æ³ä¸å XML 对åºï¼æ¡ä»¶/å/顺åºç
§æï¼ä¸åç²¾ç®ã |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * æä¸»é®æ¥ï¼å {@code selectServiceSubtaskPreachformById}ï¼ã |
| | | */ |
| | | VisitPreachformRow selectById(Long id); |
| | | |
| | | /** |
| | | * æ {@code taskid + orgid} æ¥ï¼å {@code selectBySubtask}ï¼ã |
| | | * <p> |
| | | * â ï¸ åæ¹æ³å容æè¯¯è§£ï¼å®<b>䏿 subtask 䏻鮿¥</b>ï¼èæ¯ä»¥ |
| | | * {@code del_flag = 0} å å¯éç {@code taskid}ã{@code orgid} 为æ¡ä»¶ã |
| | | * åæ°ç±»åå为 {@code ServiceSubtask}ï¼å®é
åªç¨å°è¿ä¸¤ä¸ªå段ã |
| | | */ |
| | | List<VisitPreachformRow> selectByTaskidAndOrgid(@Param("taskid") Long taskid, |
| | | @Param("orgid") String orgid); |
| | | |
| | | /** |
| | | * æä¸»é®æ´æ°ï¼å {@code updateServiceSubtaskPreachform}ï¼ã |
| | | * <p>å XML ç WHERE æ¯ {@code where id = #{id}}ï¼SET ååå为 {@code <if test="xxx != null">}ã |
| | | */ |
| | | int updateById(VisitPreachformRow row); |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ´æ°ï¼å {@code updateSSPByCondition}ï¼ã |
| | | * <p> |
| | | * SET åå¥ä¸ {@link #updateById} <b>å®å
¨ç¸å</b>ï¼åºå«åªå¨ WHEREï¼ |
| | | * è¿éæ {@code subid / taskid / preachform / remark / orgid} é项å¯éï¼ |
| | | * ä¸<b>没æ id æ¡ä»¶</b>ã两å¤å»æåå¼ä¿çï¼ä¸åå¹¶ ââ å并伿¹å"æä»ä¹å®ä½è¡"çè¯ä¹ã |
| | | */ |
| | | int updateByCondition(VisitPreachformRow row); |
| | | |
| | | /** |
| | | * æä¸»é®è½¯å ï¼å {@code deleteServiceSubtaskPreachformById}ï¼ã |
| | | * <p>â ï¸ åæ ç¾æ¯ {@code <update>} 䏿¯ {@code delete}ï¼å®é
æ§è¡ {@code set del_flag = 1}ã |
| | | */ |
| | | int softDeleteById(Long id); |
| | | |
| | | /** |
| | | * æä¸»é®éå软å ï¼å {@code deleteServiceSubtaskPreachformByIds}ï¼ã |
| | | * <p>â ï¸ åæ ·æ¯ {@code <update>}ï¼ä¸èµ° {@code array} éåï¼{@code where id in (...)}ã |
| | | */ |
| | | int softDeleteByIds(Long[] ids); |
| | | |
| | | /** |
| | | * æ {@code subid} 软å ï¼å {@code deleteServiceSubtaskPreachformBySubid}ï¼ã |
| | | * <p>â ï¸ åæ ç¾æ¯ {@code <delete>} ä½è¯å¥æ¯ {@code update ... set del_flag = 1}ï¼åæ ·ä¿çï¼ã |
| | | */ |
| | | int softDeleteBySubid(Long subid); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.mapper; |
| | | |
| | | import com.ruoyi.inhospvisit.domain.row.VisitTaskdeptRow; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¿æé访任å¡Â·ç§å®¤/ç
åºç»´åº¦ï¼{@code service_taskdept}ï¼Mapper ââ åºå
¥é¢é访模åèªå¸¦ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * åªæ¬é访侧ç¨å°çé£ä¸ä¸ªæ¥è¯¢ï¼{@code ServiceTaskdeptMapper#selectServiceTaskdeptList} |
| | | * ï¼å XML L40-72ï¼ãå
¶ä½ CRUD å±ä»»å¡é
置端ï¼<b>䏿¬</b>ã |
| | | * |
| | | * <h3>â ï¸ å XML çä¸å¤ bug å¿
é¡»åæ ·ä¿ç</h3> |
| | | * {@code dept_name} é£ä¸ªæ¡ä»¶åçæ¯ï¼ |
| | | * <pre> |
| | | * <if test="deptName != null and <b>deptCode</b> != ''"> â å¤çæ¯ deptCodeï¼ä¸æ¯ deptName |
| | | * and dept_name = #{deptName} |
| | | * </if> |
| | | * </pre> |
| | | * å³"æ¯å¦æ¼ dept_name æ¡ä»¶"ç± {@code deptCode} æ¯å¦ä¸ºç©ºå³å®ã |
| | | * é访è°ç¨ç¹<b>ä»ä¸è®¾ deptName</b>ï¼åªè®¾ deptCodeï¼ï¼æä»¥è¿ä¸ª bug å¨é访é¾ä¸ä¸å¯è¾¾ ââ |
| | | * ä½æç¬¬ 6d æ¥å¦å°çååï¼ä¸é "ä¸å¯è¾¾"æ¥å æ¡ä»¶ï¼ï¼è¿é<b>ç
§æåæ ·</b>ã |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç Mapper æ¯ä¸¤å¥çä»· SQL</h3> |
| | | * 纪å¾å {@code VisitInhospMapper}ï¼æ¹ä»»ä¸è¾¹å¿
须忥å¦ä¸è¾¹å¹¶éè·ä¸¤ä¸ªæ¢éã |
| | | */ |
| | | @Mapper |
| | | public interface VisitTaskdeptMapper { |
| | | |
| | | /** |
| | | * æç»´åº¦æ¥é¿æä»»å¡ï¼å {@code selectServiceTaskdeptList}ï¼ã |
| | | * <p> |
| | | * åºå®æ¡ä»¶ {@code del_flag = 0}ï¼å¯éæ¡ä»¶ï¼<b>顺åºä¸å
容鿡ç
§æ</b>ï¼ï¼ |
| | | * {@code task_id / task_name(=) / longtask / service_type / dept_type / |
| | | * dept_id / dept_code / dept_name(bug è§ç±»æ³¨é) / orgid}ã |
| | | */ |
| | | List<VisitTaskdeptRow> selectList(VisitTaskdeptRow query); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.mapper; |
| | | |
| | | import com.ruoyi.inhospvisit.domain.row.VisitTaskdiagRow; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¿æé访任å¡Â·ç¾ç
维度ï¼{@code service_taskdiag}ï¼Mapper ââ åºå
¥é¢é访模åèªå¸¦ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * åªæ¬é访侧ç¨å°çé£ä¸ä¸ªæ¥è¯¢ï¼{@code ServiceTaskdiagMapper#selectServiceTaskdiagListByIcdName} |
| | | * ï¼å XML L104-154ï¼ãå
¶ä½ CRUD å±ä»»å¡é
置端ï¼<b>䏿¬</b>ã |
| | | * |
| | | * <h3>â ï¸ ä¸ºä»ä¹æ¯ "ByIcdName" è䏿¯æ®é list</h3> |
| | | * è¿ä¸ªæ¹æ³åéç IcdName æåå²åå ï¼å®çæ¡ä»¶éæ¢æ¯æ {@code icd10code} 乿¯æ |
| | | * {@code icd10name}ï¼ä¸ {@code dept_code / ward_code / dept_name / ward_name} 齿¯å¯éæ¡ä»¶ã |
| | | * ååéä¸ï¼{@code active == "nhfy"}ï¼å 为 ICD10 ç¼ç æéå¤ï¼æ¹ç¨<b>ä¸»è¯æåç§°</b> |
| | | * {@code icd10name} æ¥è¯¢ï¼å
¶å®ç«ç¹ç¨ {@code icd10code}ãè¿ä¸ªç«ç¹å·®å¼å¨ |
| | | * {@code InhospTaskOrchestrator} éæåé»è¾ä¿çã |
| | | * |
| | | * <h3>â ï¸ ä¸ smartor ç Mapper æ¯ä¸¤å¥çä»· SQL</h3> |
| | | * 纪å¾å {@code VisitInhospMapper}ã |
| | | */ |
| | | @Mapper |
| | | public interface VisitTaskdiagMapper { |
| | | |
| | | /** |
| | | * æç¾ç
维度æ¥é¿æä»»å¡ï¼å {@code selectServiceTaskdiagListByIcdName}ï¼ã |
| | | * <p> |
| | | * åºå®æ¡ä»¶ {@code del_flag = 0}ï¼å¯éæ¡ä»¶ï¼<b>顺åºä¸å
容鿡ç
§æ</b>ï¼ï¼ |
| | | * {@code task_id / longtask / task_name(like) / service_type / icd10id / icd10code / |
| | | * icd10name / orgid / guid / pguid / pid / dept_code / dept_name / ward_code / ward_name}ã |
| | | */ |
| | | List<VisitTaskdiagRow> selectListByIcdName(VisitTaskdiagRow query); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.service; |
| | | |
| | | import com.ruoyi.common.core.service.VisitTaskCreateApi; |
| | | import com.ruoyi.common.core.service.dto.VisitLongTaskDto; |
| | | import com.ruoyi.common.core.service.dto.VisitPendingSubtaskDto; |
| | | import com.ruoyi.common.core.service.dto.VisitSubtaskDraft; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitInhospRow; |
| | | import com.ruoyi.inhospvisit.support.InhospFlagWriter; |
| | | import com.ruoyi.inhospvisit.support.VisitSubtaskFactory; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é访åä»»å¡ãåå
¥å£ãââ éè¡æ¬èª {@code PatMedInhospServiceImpl#writeInSubTask}ï¼L682-913ï¼232 è¡ï¼ã |
| | | * |
| | | * <h3>è¿æ¬¡æ¬è¿çå½¢æï¼<b>ç»ææ§æ¹å</b>ï¼ä¸æ¯çº¯æ¬è¿ï¼</h3> |
| | | * åå®ç°ç´æ¥ç¨ {@code serviceSubtaskMapper} / {@code patMedInhospMapper} ååºã |
| | | * æä½ çè¦æ±ãä»»å¡åå»ºå°æ¥åç¬æä¸ä¸ªæ¨¡åãï¼æ¬æ¬¡æä¸å¤ååºè½åæ¢æ |
| | | * {@link VisitTaskCreateApi} çä¸ä¸ªæ¹æ³ï¼ |
| | | * <table border="1"> |
| | | * <tr><th>åè°ç¨</th><th>ç°å¨</th></tr> |
| | | * <tr><td>{@code serviceTaskMapper.selectServiceTaskList(st)}ï¼L689ï¼</td> |
| | | * <td>{@link VisitTaskCreateApi#findPublishedLongTask(Long)}</td></tr> |
| | | * <tr><td>{@code serviceSubtaskMapper.insertServiceSubtask(...)}ï¼L823/838/854/862/873ï¼</td> |
| | | * <td>{@link VisitTaskCreateApi#insertSubtask(VisitSubtaskDraft)}</td></tr> |
| | | * <tr><td>{@code serviceSubtaskMapper.updateServiceSubtask(...)}ï¼L782/791/812/836ï¼</td> |
| | | * <td>{@link VisitTaskCreateApi#updatePendingSubtask(VisitPendingSubtaskDto)}</td></tr> |
| | | * <tr><td>{@code serviceSubtaskMapper.selectServiceSubtaskList(subtask)}ï¼L764ï¼</td> |
| | | * <td>{@link VisitTaskCreateApi#findPendingSubtasks(Long, Long)}</td></tr> |
| | | * </table> |
| | | * å 为å±äºç»ææ§æ¹åï¼<b>éè¡æ¯å¯¹çä¸ä½</b>ï¼æä»¥æ¬æ¹æ³é
çæ¯ |
| | | * <b>B æ¡£ãå£å¾ååæè¨ã</b>ï¼{@code sql/_probe/verify_inhospvisit_writein_semantics.py}ï¼ï¼ |
| | | * éæ¡æè¨åå®ç°çå£å¾å¨æ°å®ç°éä»ç¶åå¨ã |
| | | * |
| | | * <h3>â ï¸ åå®ç°ç 3 夿ªçï¼å
¨é¨åæ ·ä¿çï¼åéå°±æ¯è¡ä¸ºåæ´ï¼</h3> |
| | | * <ol> |
| | | * <li><b>{@code type == 0}ï¼è¯å宣æï¼ç¨çæ¯ {@code medcheck_flag}</b>ï¼ |
| | | * è catch åéåªæ {@code type==1/2/3/0} åä¸ªåæ¯ ââ |
| | | * <b>type=4/5 æå¼å¸¸æ¶ä¸ä¼åå任使 å¿ä½</b>ï¼å L900-912ï¼ã</li> |
| | | * <li><b>{@code type == 3} 忝ç {@code updateServiceSubtask} è¿åå¼è¢«ä¸¢å¼</b> |
| | | * ï¼å L836 没æ {@code Boolean aBoolean = ...}ï¼ï¼è {@code i} æ¥èªåé¢ç |
| | | * {@code insertServiceSubtask} ââ æä»¥ type=3 åªç insert ç»æï¼ä¸çåæ§ç»æã</li> |
| | | * <li><b>{@code serviceSubtask1.getServiceType().equals("2")} æªå¤ null</b>ï¼å L803ï¼ |
| | | * ââ å¾
æ§è¡åä»»å¡ç serviceType 为 null æ¶ä¼ NPEãåæ ·ä¿çã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>â ï¸ é级çç¥</h3> |
| | | * {@link VisitTaskCreateApi} æ¯"ä»»å¡å建模å"çé¢çæ¥å£ï¼æ¬æ¬¡ç± smartor æä¾è¿æ¸¡å®ç°ã |
| | | * åä¸å°å®ç°æ¶ï¼æ¨¡å没æè¿åºç¨ / 容å¨å¼å¸¸ï¼æ¬ç±»<b>æ"ä¸çæåä»»å¡"å¤çå¹¶æ WARN</b>ï¼ |
| | | * ç»ä¸æå¼å¸¸ ââ åºå
¥é¢é访æäºå°±æ¯å½å¤©å
¨é¢é访åæã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class InhospSubtaskWriter { |
| | | |
| | | /** æ¯å®æºæIDï¼å L798 硬ç¼ç ï¼å·²éåæ ¸å¯¹åå®ç° 4 å¤ï¼ */ |
| | | private static final String ORG_JINGNING = "47255004333112711A1001"; |
| | | |
| | | /** åºé¢é访çæå¡ç±»åï¼åå
¥é¢åæºåæ¯çå¿
è¦æ¡ä»¶ï¼å L803ï¼ */ |
| | | private static final String SERVICE_TYPE_DISCHARGE = "2"; |
| | | |
| | | /** å¾
æ§è¡ç¶æ */ |
| | | private static final long SENDSTATE_PENDING = 2L; |
| | | |
| | | /** åæºç¶æï¼åå®ç°æ sendstate ç½® 4 表示ä¸åæ§è¡ï¼ */ |
| | | private static final long SENDSTATE_STOPPED = 4L; |
| | | |
| | | /** ç¾ç
维度ï¼type=3ï¼ä¸ç¨ï¼åæ§ä»»å¡åææ§è¡æ¹å¼å
¨ç½®å¤±è´¥ */ |
| | | private static final String PREACHFORM_STATE_FAIL = "5"; |
| | | |
| | | @Autowired |
| | | private VisitSubtaskFactory subtaskFactory; |
| | | |
| | | @Autowired |
| | | private InhospFlagWriter flagWriter; |
| | | |
| | | /** |
| | | * {@code addServiceSubtaskPreachform} çå§æç®æ ï¼å service_subtask_preachformï¼ã |
| | | * <p> |
| | | * è¯¥æ¹æ³ï¼å L1061-1103ï¼43 è¡ï¼å¨<b>第 8 æ¥</b>ææ¬è¿æ¬æ¨¡åï¼ |
| | | * ä½ {@code writeInSubTask} ç°å¨å°±ç¨å°å®ï¼L840/855/874ï¼ã |
| | | * æä»¥è¿éå
ç¨ä¸ä¸ª {@code ObjectProvider} æ°æ§æ¿ï¼åä¸å°å°±è·³è¿å¹¶æ WARNã |
| | | */ |
| | | @Autowired |
| | | private ObjectProvider<SubtaskPreachformWriter> preachformWriterProvider; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<VisitTaskCreateApi> taskCreateApiProvider; |
| | | |
| | | /** |
| | | * ææ£è
åè¿é访åä»»å¡è¡¨ ââ å {@code writeInSubTask(Long taskid, Boolean check, PatMedInhosp, |
| | | * PatArchive, Integer type, String config)}ã |
| | | * |
| | | * @param taskid å½ä¸çé¿æä»»å¡ID |
| | | * @param check æ¯å¦éè¦å"åå
¥é¢"å»éæ ¡éª |
| | | * @param inhosp åºå
¥é¢è®°å½ |
| | | * @param archive æ£è
æ¡£æ¡ |
| | | * @param type 0=è¯å宣æ / 1=离é¢ç§å®¤ / 2=离é¢ç
åº / 3=ç¾ç
/ 4=å
¥é¢ç§å®¤ / 5=å
¥é¢ç
åº |
| | | * @param config {@code sys_config: visit.early.day} |
| | | */ |
| | | public void writeInSubTask(Long taskid, Boolean check, VisitInhospRow inhosp, |
| | | VisitArchiveRow archive, Integer type, String config) { |
| | | // å L683-685 |
| | | String longTaskReason = inhosp.getLongTaskReason(); |
| | | String orgId = inhosp.getOrgid(); |
| | | if (StringUtils.isEmpty(longTaskReason)) { |
| | | longTaskReason = ""; |
| | | } |
| | | |
| | | // å L686-728ï¼æ¥"å·²åå¸çé¿æä»»å¡"ï¼æ¥ä¸å°æ¶æ type åä¸åçæ å¿ä½å return |
| | | VisitTaskCreateApi taskApi = taskCreateApi(); |
| | | if (taskApi == null) { |
| | | log.warn("ãåºå
¥é¢é访ãVisitTaskCreateApi ä¸å¯ç¨ï¼ä»»å¡åå»ºæ¨¡åæªè£
é
ï¼ï¼æ¬æ£è
ä¸çæåä»»å¡ã" |
| | | + "inhospid={}, taskid={}", inhosp.getInhospid(), taskid); |
| | | return; |
| | | } |
| | | VisitLongTaskDto serviceTask = taskApi.findPublishedLongTask(taskid); |
| | | if (serviceTask == null) { |
| | | writeMissingTaskFlag(inhosp, type, longTaskReason, taskid); |
| | | return; |
| | | } |
| | | |
| | | // å L729-731 |
| | | if ("1".equals(inhosp.getInhospstate()) && inhosp.getEndtime() == null) { |
| | | return; |
| | | } |
| | | |
| | | // å L732-736ï¼ç»è£
ï¼å¯ä½ç¨ç±æ¬ç±»å®ç°ï¼è§ missingOutHospTimeï¼ |
| | | VisitSubtaskDraft serviceSubtask = subtaskFactory.boxedServiceSubtask( |
| | | toTaskSource(serviceTask, inhosp), inhosp, archive, config, type, |
| | | row -> onMissingOutHospTime(row)); |
| | | if (ObjectUtils.isEmpty(serviceSubtask)) { |
| | | return; |
| | | } |
| | | |
| | | // å L737-753ï¼å°±è¯ç§å®¤/ç
åºå¡«å
|
| | | if (type != null && type != 2) { |
| | | // ç§å®¤åç¾ç
é½ç¨ ç§å®¤å¡«å
|
| | | if ("1".equals(inhosp.getInhospstate())) { |
| | | serviceSubtask.setVisitDeptCode(inhosp.getLeaveldeptcode()); |
| | | serviceSubtask.setVisitDeptName(inhosp.getLeaveldeptname()); |
| | | } else if ("0".equals(inhosp.getInhospstate())) { |
| | | serviceSubtask.setVisitDeptCode(inhosp.getDeptcode()); |
| | | serviceSubtask.setVisitDeptName(inhosp.getDeptname()); |
| | | if (type == 5) { |
| | | serviceSubtask.setVisitDeptCode(inhosp.getHospitaldistrictcode()); |
| | | serviceSubtask.setVisitDeptName(inhosp.getHospitaldistrictname()); |
| | | } |
| | | } |
| | | } else if (type != null && type == 2) { |
| | | serviceSubtask.setVisitDeptCode(inhosp.getLeavehospitaldistrictcode()); |
| | | serviceSubtask.setVisitDeptName(inhosp.getLeavehospitaldistrictname()); |
| | | } |
| | | |
| | | // å L754-755ï¼è®°å½ insertServiceSubtask çè¿åç¶æ |
| | | int i = 0; |
| | | try { |
| | | // å L757-758 |
| | | if (Boolean.TRUE.equals(check) |
| | | && (serviceSubtask.getTaskSituation() == null || serviceSubtask.getTaskSituation() != 6)) { |
| | | // å L759-764ï¼æ¥è¯¥æ£è
+ 该 taskid 䏿æå¾
æ§è¡åä»»å¡ |
| | | List<VisitPendingSubtaskDto> pendingList = |
| | | taskApi.findPendingSubtasks(archive.getId(), taskid); |
| | | if (pendingList != null && !pendingList.isEmpty()) { |
| | | for (VisitPendingSubtaskDto pending : pendingList) { |
| | | // å L768-771ï¼ä¸æ¯é¿æä»»å¡ï¼ä¸å¤ç |
| | | if (pending.getLongSendTime() == null) { |
| | | continue; |
| | | } |
| | | // å L772-773ï¼type = 1æ2 表示 "ç§å®¤ãç
åº" |
| | | if (type != null && (type == 1 || type == 2)) { |
| | | Date endTime = serviceSubtask.getEndtime(); |
| | | Date endTime1 = pending.getEndtime(); |
| | | // å L776-785ï¼åºé¢æ¶é´å¤ç©º |
| | | if (ObjectUtils.isEmpty(endTime)) { |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setRemark("åºé¢æ¶é´ä¸ºç©ºï¼serviceSubtaskçId为" + serviceSubtask.getId()); |
| | | serviceSubtask.setUpdateBy(serviceTask.getUpdateBy()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | // â ï¸ è¿éåå®ç°æ¯ update ä¸ä¸ªãå°æª insertãçè稿ï¼id 为 nullï¼ã |
| | | // ä¿ç该è¡ä¸ºï¼é id 为 null 让 update å½±å 0 è¡ã |
| | | if (writeBackDraft(taskApi, serviceSubtask)) { |
| | | i = 1; |
| | | } |
| | | continue; |
| | | } |
| | | if (ObjectUtils.isEmpty(endTime1)) { |
| | | pending.setResult("error"); |
| | | pending.setRemark("åºé¢æ¶é´ä¸ºç©ºï¼serviceSubtaskçId为" + pending.getId()); |
| | | pending.setUpdateBy(serviceTask.getUpdateBy()); |
| | | pending.setUpdateTime(new Date()); |
| | | if (taskApi.updatePendingSubtask(pending)) { |
| | | i = 1; |
| | | } |
| | | continue; |
| | | } |
| | | // å L795-800ï¼æ¯å® åºé¢é¦æ¬¡ï¼7天ï¼é访ä¸å®è¦å |
| | | boolean firstVisit = ORG_JINGNING.equals(orgId); |
| | | if (!firstVisit) { |
| | | // å L802-803 |
| | | // â ï¸ åå®ç°ä¸å¤ serviceType æ¯å¦ä¸º nullï¼ä¼ NPEï¼ï¼åæ ·ä¿ç |
| | | if (endTime1.before(endTime) |
| | | && SERVICE_TYPE_DISCHARGE.equals(pending.getServiceType())) { |
| | | // å L804-813ï¼æå¾ªç¯å°çæ§åä»»å¡åæ |
| | | pending.setSendstate(SENDSTATE_STOPPED); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) { |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ",ç§å®¤/ç
åºæ£è
åå
¥é¢"); |
| | | } else { |
| | | serviceSubtask.setRemark("ç§å®¤/ç
åºæ£è
åå
¥é¢"); |
| | | } |
| | | pending.setResult("error"); |
| | | pending.setUpdateBy(serviceTask.getUpdateBy()); |
| | | pending.setUpdateTime(new Date()); |
| | | if (taskApi.updatePendingSubtask(pending)) { |
| | | i = 1; |
| | | } |
| | | } else { |
| | | // å L814-824ï¼ç¸åï¼åæ"å½åç"æ°æ®åæï¼ç½® error + sendstate=4 å insertï¼ |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setSendstate(SENDSTATE_STOPPED); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) { |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() |
| | | + ",å½åæ£è
åºé¢æ¶é´åæå¾
æ§è¡çåºé¢éè®¿é¿æä»»å¡"); |
| | | } else { |
| | | serviceSubtask.setRemark("å½åæ£è
åºé¢æ¶é´åæå¾
æ§è¡çåºé¢éè®¿é¿æä»»å¡"); |
| | | } |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = insert(taskApi, serviceSubtask) ? 1 : 0; |
| | | } |
| | | } |
| | | } else if (type != null && type == 3) { |
| | | // å L826-841ï¼type=3 ç¾ç
ââ æ æ¡ä»¶åæ§ + éæ°æ°å¢ |
| | | pending.setSendstate(SENDSTATE_STOPPED); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) { |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ",ç¾ç
æ£è
åå
¥é¢"); |
| | | } else { |
| | | serviceSubtask.setRemark("ç¾ç
æ£è
åå
¥é¢"); |
| | | } |
| | | pending.setResult("error"); |
| | | pending.setUpdateBy(serviceTask.getUpdateBy()); |
| | | // â ï¸ åå®ç°ã丢å¼ãäºè¿éçè¿åå¼ï¼å¼å¸¸è§ç±»æ³¨é第 2 æ¡ï¼ |
| | | taskApi.updatePendingSubtask(pending); |
| | | // éæ°æ°å¢åä»»å¡ |
| | | i = insert(taskApi, serviceSubtask) ? 1 : 0; |
| | | // è¿ééè¦å
¨å¤±è´¥ |
| | | addServiceSubtaskPreachform(serviceSubtask, PREACHFORM_STATE_FAIL); |
| | | } |
| | | } |
| | | } else { |
| | | // å L844-856ï¼æ²¡æå¾
æ§è¡ä»»å¡ |
| | | markPhoneEmptyIfNeeded(serviceSubtask); |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = insert(taskApi, serviceSubtask) ? 1 : 0; |
| | | addServiceSubtaskPreachform(serviceSubtask, null); |
| | | } |
| | | } else if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) { |
| | | // å L857-862ï¼è¯¥æ£è
è¢«è¿æ»¤ï¼ä¸ç¨æ§è¡ |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | serviceSubtask.setSendstate(SENDSTATE_STOPPED); |
| | | i = insert(taskApi, serviceSubtask) ? 1 : 0; |
| | | } else { |
| | | // å L863-875ï¼ä¸éè¦æ ¡éªï¼check=falseï¼ |
| | | markPhoneEmptyIfNeeded(serviceSubtask); |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = insert(taskApi, serviceSubtask) ? 1 : 0; |
| | | addServiceSubtaskPreachform(serviceSubtask, null); |
| | | } |
| | | |
| | | // å L877-899ï¼æ check_flag æ¹æ 1ï¼å·²å¤çï¼/ çæå¤±è´¥ç½® 2 |
| | | if (i == 1) { |
| | | writeFlagByType(inhosp.getInhospid(), type, "1", null); |
| | | } else { |
| | | log.info("çæåä»»å¡å¤±è´¥serviceSubtaskçtaskid为ï¼{},patid为ï¼{}", |
| | | serviceSubtask.getTaskid(), serviceSubtask.getPatid()); |
| | | writeFlagByType(inhosp.getInhospid(), type, "2", "çæåä»»å¡å¤±è´¥ " + type); |
| | | } |
| | | } catch (Exception e) { |
| | | // å L900-912ï¼åºéåæ»äºå¡ |
| | | log.info("çæå任塿¥éåæ»serviceSubtaskçtaskid为ï¼{},patid为ï¼{}", |
| | | serviceSubtask.getTaskid(), serviceSubtask.getPatid()); |
| | | // â ï¸ åå®ç°ç catch åªå¤ç type 1/2/3/0 ââ type=4/5 æå¼å¸¸æ¶ä¸åå任使 å¿ä½ã |
| | | // åæ ·ä¿çï¼è§ç±»æ³¨é第 1 æ¡ï¼ã |
| | | writeFlagByTypeForRollback(inhosp.getInhospid(), type, "2", "çæå任塿¥éåæ» " + type); |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // å L691-725ï¼ä»»å¡ä¸å卿¶æ type åæ å¿ä½ |
| | | // ========================================================================== |
| | | |
| | | private void writeMissingTaskFlag(VisitInhospRow inhosp, Integer type, String longTaskReason, Long taskid) { |
| | | if (type == null) { |
| | | return; |
| | | } |
| | | // åå®ç°å¯¹ type ç¨çæ¯ if / else-if é¾ï¼è¯ä¹çä»·äº switchï¼è¿éä¿æåæ ·çåæ¯ä¸ææ¡ |
| | | switch (type) { |
| | | case 0: |
| | | log.info("该æ£è
è¯å宣æé¿æä»»å¡ä¸åå¨,ä»»å¡ID为ï¼{}", taskid); |
| | | flagWriter.setFlagWithReason(inhosp.getInhospid(), "medcheck_flag", "2", |
| | | longTaskReason + " & 该æ£è
è¯å宣æé¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | return; |
| | | case 1: |
| | | log.info("该æ£è
åºé¢éè®¿é¿æä»»å¡ä¸åå¨,ä»»å¡ID为ï¼{}", taskid); |
| | | flagWriter.setFlagWithReason(inhosp.getInhospid(), "deptcheck_flag", "2", |
| | | longTaskReason + " & 该æ£è
离é¢ç§å®¤é¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | return; |
| | | case 2: |
| | | flagWriter.setFlagWithReason(inhosp.getInhospid(), "wardcheck_flag", "2", |
| | | longTaskReason + " & 该æ£è
离é¢ç
åºé¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | return; |
| | | case 3: |
| | | flagWriter.setFlagWithReason(inhosp.getInhospid(), "diagcheck_flag", "2", |
| | | longTaskReason + " & 该æ£è
ç¾ç
é¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | return; |
| | | case 4: |
| | | flagWriter.setFlagWithReason(inhosp.getInhospid(), "in_deptcheck_flag", "2", |
| | | longTaskReason + " & 该æ£è
å
¥é¢ç§å®¤é¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | return; |
| | | case 5: |
| | | flagWriter.setFlagWithReason(inhosp.getInhospid(), "in_wardcheck_flag", "2", |
| | | longTaskReason + " & 该æ£è
å
¥é¢ç
åºé¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | return; |
| | | default: |
| | | // åå®ç°ï¼type ä¸å±äº 0-5 æ¶ï¼if/else-if é¾å
¨é¨ä¸å½ä¸ â ä»ä¹é½ä¸åãä¹ä¸ return |
| | | // â ç»§ç»å¾ä¸èµ°ï¼æ¤æ¶ serviceTask 仿¯ nullï¼å° L729 ä¹åä¼ NPEã |
| | | // è¿éãä¸å¤å¶ãé£ä¸ª NPEï¼å®åªä¼æ©çé®é¢ï¼ï¼æ¹ä¸ºè®°å½å¹¶è¿åã |
| | | log.warn("ãåºå
¥é¢é访ãä»»å¡ä¸åå¨ä¸ type={} ä¸å±äº 0-5ï¼æ æ³å¤å®åååªä¸ªæ å¿ä½ã" |
| | | + "inhospid={}, taskid={}", type, inhosp.getInhospid(), taskid); |
| | | } |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // å L877-912ï¼æ å¿ä½ååï¼æå / 失败 / å¼å¸¸åæ»ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * type â æ å¿ä½ååã<b>ç
§æå L881-885 ä¸ L892-896 ç忝</b>ã |
| | | * <p> |
| | | * â ï¸ æ³¨æ type=0 å¨"æå/失败"忝éãæ²¡æãå¯¹åº ifï¼åå®ç°ä¹æ²¡åï¼ï¼ |
| | | * æä»¥ type=0 çææååä¸ä¼æ {@code medcheck_flag} ç½® 1 ââ åæ ·ä¿çã |
| | | * <p> |
| | | * remark åªæ"失败"忝ä¼åï¼å L897ï¼ã |
| | | */ |
| | | private void writeFlagByType(Long inhospid, Integer type, String flagValue, String remark) { |
| | | if (type == null) { |
| | | return; |
| | | } |
| | | String column = flagColumnOfSuccessOrFail(type); |
| | | if (column == null) { |
| | | // type=0ï¼è¯å宣æï¼å¨æå/å¤±è´¥åæ¯éæ²¡æå¯¹åº flagï¼åå®ç°åæ ·ä»ä¹é½ä¸å |
| | | return; |
| | | } |
| | | if (remark == null) { |
| | | flagWriter.setFlag(inhospid, column, flagValue); |
| | | } else { |
| | | flagWriter.setFlagWithRemark(inhospid, column, flagValue, remark); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * type â æ å¿ä½åï¼æå/å¤±è´¥åæ¯ï¼ãç
§æå L881-885 / L892-896ï¼ |
| | | * <pre> |
| | | * 1 -> deptcheck_flag 2 -> wardcheck_flag 3 -> diagcheck_flag |
| | | * 4 -> in_deptcheck_flag 5 -> in_wardcheck_flag ï¼0 æ 对åºï¼ |
| | | * </pre> |
| | | */ |
| | | private String flagColumnOfSuccessOrFail(Integer type) { |
| | | switch (type) { |
| | | case 1: |
| | | return "deptcheck_flag"; |
| | | case 2: |
| | | return "wardcheck_flag"; |
| | | case 3: |
| | | return "diagcheck_flag"; |
| | | case 4: |
| | | return "in_deptcheck_flag"; |
| | | case 5: |
| | | return "in_wardcheck_flag"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å¼å¸¸åæ»æ¶çæ å¿ä½ååãç
§æå L905-908 ââ |
| | | * â ï¸ <b>è¿éç忝ä¸å"æå/失败"忝ä¸å</b>ï¼ |
| | | * <ul> |
| | | * <li>æ {@code type==0 â medcheck_flag}ï¼</li> |
| | | * <li><b>没æ</b> {@code type==4/5} ç忝ï¼å³å
¥é¢å®£ææå¼å¸¸æ¶æ å¿ä½ä¸å¨ï¼ã</li> |
| | | * </ul> |
| | | * 两å¤ä¸ä¸è´æ¯åä»£ç æ¬èº«çä¸ä¸è´ï¼<b>åæ ·ä¿ç</b>ã |
| | | */ |
| | | private void writeFlagByTypeForRollback(Long inhospid, Integer type, String flagValue, String remark) { |
| | | if (type == null) { |
| | | return; |
| | | } |
| | | String column; |
| | | switch (type) { |
| | | case 1: |
| | | column = "deptcheck_flag"; |
| | | break; |
| | | case 2: |
| | | column = "wardcheck_flag"; |
| | | break; |
| | | case 3: |
| | | column = "diagcheck_flag"; |
| | | break; |
| | | case 0: |
| | | column = "medcheck_flag"; |
| | | break; |
| | | default: |
| | | // type=4/5 è½è¿éï¼åå®ç°ä¸åå任使 å¿ä½ |
| | | return; |
| | | } |
| | | flagWriter.setFlagWithRemark(inhospid, column, flagValue, remark); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // è¾
å© |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * å L845-851 / L864-870ï¼ææºå·ä¸ºç©ºæ¶è¿½å 夿³¨ãç½® sendstate=4ãresult=errorã |
| | | */ |
| | | private void markPhoneEmptyIfNeeded(VisitSubtaskDraft d) { |
| | | if (StringUtils.isEmpty(d.getPhone())) { |
| | | if (StringUtils.isNotEmpty(d.getRemark())) { |
| | | d.setRemark(d.getRemark() + ",ææºå·ä¸ºç©º"); |
| | | } else { |
| | | d.setRemark("ææºå·ä¸ºç©º"); |
| | | } |
| | | d.setSendstate(SENDSTATE_STOPPED); |
| | | d.setResult("error"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å {@code boxedServiceSubtask} åºé¢æ¶é´ä¸ºç©ºæ¶çå¯ä½ç¨ï¼L1174-1176ï¼ï¼ |
| | | * <pre> |
| | | * patMedInhosp1.setDeptcheckFlag("2"); |
| | | * patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该æ£è
ç¾ç
åºé¢æ¶é´ä¸ºç©º,åºé¢è®°å½ID为:" + patMedInhosp1.getInhospid()); |
| | | * patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | * </pre> |
| | | * â ï¸ åå®ç°è¿æ¬¡è°ç¨ãåæ¶ãåäº flag ä¸ remarkï¼æä»¥è¿é两æ¥é½è¦åã |
| | | */ |
| | | private void onMissingOutHospTime(VisitInhospRow row) { |
| | | flagWriter.setFlag(row.getInhospid(), "deptcheck_flag", "2"); |
| | | flagWriter.setFlagWithRemark(row.getInhospid(), "deptcheck_flag", "2", |
| | | (row.getRemark() == null ? "" : row.getRemark()) |
| | | + "& 该æ£è
ç¾ç
åºé¢æ¶é´ä¸ºç©º,åºé¢è®°å½ID为:" + row.getInhospid()); |
| | | } |
| | | |
| | | /** |
| | | * æ {@link VisitLongTaskDto} éé
æ {@link com.ruoyi.inhospvisit.domain.row.VisitTaskRow}ï¼ |
| | | * ä¾ç»è£
å¨ä½¿ç¨ã |
| | | * <p> |
| | | * ç»è£
å¨åªè¯» task çå°éåæ®µï¼è¿ééåæ®µæ å°ï¼<b>ä¸çä»»ä½"çèµ·æ¥æ²¡ç¨"çåæ®µä¸æ å°</b> |
| | | * ââ å°æ å°ä¸ä¸ªå°±ä¼éé»ä¸¢å¼ï¼è§ VisitSubtaskFactory ç类注éï¼ã |
| | | * <p> |
| | | * â ï¸ {@code type / sendDay / updateBy / createBy / serviceType / preachform} ç |
| | | * é½å¨ {@link VisitLongTaskDto} éæå¯¹åºå段ï¼ç´æ¥æ¬ã |
| | | */ |
| | | private com.ruoyi.inhospvisit.domain.row.VisitTaskRow toTaskSource(VisitLongTaskDto dto, |
| | | VisitInhospRow inhosp) { |
| | | com.ruoyi.inhospvisit.domain.row.VisitTaskRow t = new com.ruoyi.inhospvisit.domain.row.VisitTaskRow(); |
| | | t.setTaskid(dto.getTaskid()); |
| | | t.setTaskName(dto.getTaskName()); |
| | | t.setType(dto.getType()); |
| | | t.setServiceType(dto.getServiceType()); |
| | | t.setTemplateid(dto.getTemplateid()); |
| | | t.setTemplatename(dto.getTemplatename()); |
| | | t.setLibtemplateid(dto.getLibtemplateid()); |
| | | t.setSendDay(dto.getSendDay()); |
| | | t.setPreachform(dto.getPreachform()); |
| | | t.setPreachformDesc(dto.getPreachformDesc()); |
| | | t.setOrgid(dto.getOrgid()); |
| | | t.setCampusid(dto.getCampusid()); |
| | | t.setUpdateBy(dto.getUpdateBy()); |
| | | t.setCreateBy(dto.getCreateBy()); |
| | | return t; |
| | | } |
| | | |
| | | /** |
| | | * insert è稿并æçæçèªå¢ä¸»é®åå¡«ï¼åå®ç° insert åå¯ç»§ç»ç¨åä¸ä¸ªå¯¹è±¡ï¼ã |
| | | */ |
| | | private boolean insert(VisitTaskCreateApi api, VisitSubtaskDraft d) { |
| | | return api.insertSubtask(d); |
| | | } |
| | | |
| | | /** |
| | | * å L782ï¼å¯¹<b>å°æª insert çè稿</b>è° {@code updateServiceSubtask}ã |
| | | * <p> |
| | | * 该èç¨¿æ¤æ¶ {@code id} 为 nullï¼æä»¥ {@code where id = null} å½±å 0 è¡ã |
| | | * ä¸ºä¿æè¿ä¸"æ æåå
¥"çåè¯ä¹ï¼è¿éç¨ä¸ä¸ª id 为 null ç pending 对象走å䏿¡è·¯å¾ã |
| | | */ |
| | | private boolean writeBackDraft(VisitTaskCreateApi api, VisitSubtaskDraft d) { |
| | | VisitPendingSubtaskDto p = new VisitPendingSubtaskDto(); |
| | | p.setId(d.getId()); |
| | | p.setTaskid(d.getTaskid()); |
| | | p.setSendstate(d.getSendstate()); |
| | | p.setResult(d.getResult()); |
| | | p.setRemark(d.getRemark()); |
| | | p.setUpdateBy(d.getUpdateBy()); |
| | | p.setUpdateTime(d.getUpdateTime()); |
| | | return api.updatePendingSubtask(p); |
| | | } |
| | | |
| | | /** |
| | | * å L840/855/874 ç {@code addServiceSubtaskPreachform}ãè¯¥æ¹æ³çå®ç°<b>第 8 æ¥</b>ææ¬è¿æ¥ï¼ |
| | | * æä»¥è¿éæ°æ§è·åï¼åä¸å°å°±è·³è¿ï¼ä¸æå¼å¸¸ï¼ã |
| | | */ |
| | | private void addServiceSubtaskPreachform(VisitSubtaskDraft subtask, String sendstate) { |
| | | if (preachformWriterProvider == null) { |
| | | return; |
| | | } |
| | | try { |
| | | SubtaskPreachformWriter writer = preachformWriterProvider.stream().findFirst().orElse(null); |
| | | if (writer == null) { |
| | | log.warn("ãåºå
¥é¢é访ãSubtaskPreachformWriter æªè£
é
ï¼è·³è¿æ§è¡æ¹å¼æç»åå
¥ãsubtaskId={}", |
| | | subtask.getId()); |
| | | return; |
| | | } |
| | | writer.addServiceSubtaskPreachform(subtask, sendstate); |
| | | } catch (Exception e) { |
| | | // è¿ä¸æ¥å¤±è´¥ä¸åºå½±å主æµç¨ï¼åå®ç°å¨åä¸ä¸ª try éï¼å¤±è´¥ä¼èµ° catch åæ»æ å¿ä½ï¼ |
| | | // ä½é£æ¯å 为å®ä¸ insert åå±ä¸æ¬¡äºå¡ãè¿éæå¼åæ"å°½åè为"å¤çå¹¶è®°å½ï¼ |
| | | log.warn("ãåºå
¥é¢é访ãåæ§è¡æ¹å¼æç»å¤±è´¥ï¼å·²å¿½ç¥ãsubtaskId={}ï¼åå ={}", |
| | | subtask.getId(), e.toString()); |
| | | } |
| | | } |
| | | |
| | | private VisitTaskCreateApi taskCreateApi() { |
| | | if (taskCreateApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return taskCreateApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å VisitTaskCreateApi å¤±è´¥ï¼æä¸å¯ç¨å¤çï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åæ§è¡æ¹å¼æç»çè½åï¼å {@code addServiceSubtaskPreachform}ï¼L1061-1103ï¼43 è¡ï¼ã |
| | | * <p> |
| | | * è¯¥æ¹æ³çå®ç°<b>第 8 æ¥</b>ææ¬è¿æ¬æ¨¡åï¼æä»¥å
å®ä¹æ¥å£ãç¨ {@code ObjectProvider} æ°æ§è·åã |
| | | * è¿æ ·ç¬¬ 7 æ¥å°±è½ç¼è¯å¹¶è·æè¨ï¼ä¸å¿
ç第 8 æ¥ã |
| | | */ |
| | | public interface SubtaskPreachformWriter { |
| | | |
| | | /** |
| | | * @param subtask åä»»å¡è稿ï¼{@code id} 为è½åºåç主é®ï¼ |
| | | * @param sendstate æå®çæ§è¡æ¹å¼ç¶æï¼{@code null} 表示æåé»è¾å¤ç |
| | | */ |
| | | void addServiceSubtaskPreachform(VisitSubtaskDraft subtask, String sendstate); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.service; |
| | | |
| | | import com.ruoyi.common.core.service.PublicityDataPort; |
| | | import com.ruoyi.common.core.service.VisitTaskCreateApi; |
| | | import com.ruoyi.common.core.service.dto.VisitInhospUpdateDto; |
| | | import com.ruoyi.common.core.service.dto.VisitPendingSubtaskDto; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitInhospRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitTaskdeptRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitTaskdiagRow; |
| | | import com.ruoyi.inhospvisit.mapper.VisitArchiveMapper; |
| | | import com.ruoyi.inhospvisit.mapper.VisitInhospMapper; |
| | | import com.ruoyi.inhospvisit.mapper.VisitTaskdeptMapper; |
| | | import com.ruoyi.inhospvisit.mapper.VisitTaskdiagMapper; |
| | | import com.ruoyi.inhospvisit.support.InhospFlagWriter; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åºé¢é访ãç¼æå¨ãââ éè¡æ¬èª {@code PatMedInhospServiceImpl} |
| | | * çç¼æå±ï¼{@code addSubTaskByRule} + 3 个 {@code *ForPatient} + {@code dealInHospInfo}ï¼ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th><th>è¡æ°</th></tr> |
| | | * <tr><td>{@link #addSubTaskByRule}</td><td>{@code addSubTaskByRule} L1691-1847</td><td>157</td></tr> |
| | | * <tr><td>{@link #addDeptSubTaskForPatient}</td><td>L1854-1887</td><td>34</td></tr> |
| | | * <tr><td>{@link #addWardSubTaskForPatient}</td><td>L1894-1935</td><td>42</td></tr> |
| | | * <tr><td>{@link #addIcd10SubTaskForPatient}</td><td>L1942-2001</td><td>60</td></tr> |
| | | * <tr><td>{@link #dealInHospInfo}</td><td>L1321-1359</td><td>39</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ ä¸ä¸ª {@code *ForPatient} ç失败åå<b>åè¿å»çåéåä¸å</b>ï¼å·²éä¸ä¿ç</h3> |
| | | * <table border="1"> |
| | | * <tr><th>ä½ç½®</th><th>ååæ³</th><th>å®é
åå
¥çå</th></tr> |
| | | * <tr><td>ç§å®¤Â·æ 模æ¿ï¼L1866-1872ï¼</td> |
| | | * <td>é读对象 {@code setDeptcheckFlag("2")}ï¼å¦ä¸¤ä¸ª flag ç±éè¯»å¯¹è±¡åæ ·å¸¦å</td> |
| | | * <td>deptcheck + wardcheck + diagcheck + reason</td></tr> |
| | | * <tr><td>ç§å®¤Â·catchï¼L1879-1885ï¼</td> |
| | | * <td>å¨<b>æ°é²å¯¹è±¡</b>ä¸ set</td> |
| | | * <td>deptcheck + reason</td></tr> |
| | | * <tr><td>ç
åºÂ·å¤±è´¥ï¼L1914-1920ï¼</td> |
| | | * <td>é读对象 {@code setWardcheckFlag("2")}ï¼å¦ä¸¤ä¸ª flag åæ ·å¸¦å</td> |
| | | * <td>wardcheck + deptcheck + diagcheck + reason</td></tr> |
| | | * <tr><td>ç
åºÂ·catchï¼L1927-1933ï¼</td> |
| | | * <td>卿°é²å¯¹è±¡ä¸ set</td> |
| | | * <td>wardcheck + reason</td></tr> |
| | | * <tr><td>ç¾ç
·两å¤ï¼L1967-1971 / L1985-1991ï¼</td> |
| | | * <td>é读对象 {@code setDiagcheckFlag("2")} å¹¶è¦å reason</td> |
| | | * <td>diagcheck + reasonï¼æ³¨æï¼<b>没æ</b>带åå
¶å®ä¸¤ä¸ª flagï¼</td></tr> |
| | | * <tr><td>ç¾ç
·catchï¼L1993-1998ï¼</td> |
| | | * <td>卿°é²å¯¹è±¡ä¸ set</td> |
| | | * <td>diagcheck + reason</td></tr> |
| | | * </table> |
| | | * å æ¤æ¬ç±»ç¨ {@link PublicityDataPort#updateVisitInhosp(VisitInhospUpdateDto)}ï¼å¯ä¸æ¬¡åå¤ä¸ª flagï¼ï¼ |
| | | * è䏿¯çªç"å flag"æ¥å£ ââ åè
表达ä¸äºè¿äºå·®å¼ã |
| | | * |
| | | * <h3>â ï¸ ç«ç¹å·®å¼ï¼åæ ·ä¿çï¼</h3> |
| | | * <ul> |
| | | * <li>{@code nhfy}ï¼ç¾ç
维度æ¹ç¨<b>ä¸»è¯æåç§°</b> {@code leavediagname} æ¥è¯¢ï¼è䏿¯ ICD10 ç¼ç |
| | | * ï¼å 为ååéä¸ç icd10code æéå¤ï¼ï¼</li> |
| | | * <li>{@code xh}ï¼{@code addSubTaskByRule} é<b>æ´åè·³è¿</b>ç
åº + ç¾ç
两个维度ï¼å¤å¤ {@code !xh} 夿ï¼ã</li> |
| | | * </ul> |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class InhospTaskOrchestrator { |
| | | |
| | | /** åºé¢é访çæå¡ç±»å */ |
| | | private static final String SERVICE_TYPE_DISCHARGE = "2"; |
| | | |
| | | /** 维度ï¼ç§å®¤ */ |
| | | private static final String DEPT_TYPE_DEPT = "1"; |
| | | |
| | | /** 维度ï¼ç
åº */ |
| | | private static final String DEPT_TYPE_WARD = "2"; |
| | | |
| | | /** ç«ç¹ï¼æ°åï¼è·³è¿ç
åº+ç¾ç
ç»´åº¦ï¼ */ |
| | | private static final String SITE_XH = "xh"; |
| | | |
| | | /** ç«ç¹ï¼ååéä¸ï¼ç¾ç
维度ç¨è¯æåï¼ */ |
| | | private static final String SITE_NHFY = "nhfy"; |
| | | |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | @Autowired |
| | | private VisitInhospMapper inhospMapper; |
| | | |
| | | @Autowired |
| | | private VisitArchiveMapper archiveMapper; |
| | | |
| | | @Autowired |
| | | private VisitTaskdeptMapper taskdeptMapper; |
| | | |
| | | @Autowired |
| | | private VisitTaskdiagMapper taskdiagMapper; |
| | | |
| | | @Autowired |
| | | private InhospSubtaskWriter subtaskWriter; |
| | | |
| | | @Autowired |
| | | private InhospFlagWriter flagWriter; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<PublicityDataPort> dataPortProvider; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<VisitTaskCreateApi> taskCreateApiProvider; |
| | | |
| | | // ========================================================================== |
| | | // 1. åºäºè§åçä»»å¡çæï¼å L1691-1847ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * æ {@code service_task_rule} çãé¦è¦(1)/次è¦(2)ãè§åç¼æç§å®¤/ç
åº/ç¾ç
ä¸ä¸ªç»´åº¦ã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code addSubTaskByRule(String config, List<PatMedInhosp> patMedInhosps)}ã |
| | | * <p> |
| | | * â ï¸ è§åæ¥è¯¢ {@code serviceTaskRuleMapper.selectServiceTaskRuleByDeptOrWard} ä»å¨ smartorï¼ |
| | | * æä»¥æ¬æ¹æ³æ¥æ¶<b>å·²æ¥å¥½çè§å</b>ï¼ç±è°ç¨æ¹ {@code InhospVisitTaskService} éè¿ |
| | | * {@code PublicityDataPort} åââ该端å£å·²å«"æç§å®¤/ç
åºæ¥è§å"çè½åï¼è§ä¸ï¼ã |
| | | * è¿æ ·åæ¯ä¸ºäºé¿å
为"è§å表"åå ä¸ä¸ª Mapper æç«¯å£ã |
| | | * |
| | | * @param inhosp å¾
å¤ççåºé¢æ£è
|
| | | * @param archive æ£è
æ¡£æ¡ |
| | | * @param rule å·²æ¥å¥½çè§åï¼{@code null} = æªé
ç½®è§åï¼å
¨é¨çæï¼ |
| | | * @param config {@code sys_config: visit.early.day} |
| | | */ |
| | | public void addSubTaskByRule(VisitInhospRow inhosp, VisitArchiveRow archive, |
| | | VisitTaskRule rule, String config) { |
| | | try { |
| | | if (rule == null) { |
| | | // å L1709-1716ï¼è§å为空ï¼å
¨é¨çæ |
| | | log.info("ãåºäºè§åãæ£è
{}æªé
ç½®è§åï¼æ§è¡å
¨é¨çæé»è¾", inhosp.getInhospid()); |
| | | addDeptSubTaskForPatient(inhosp, archive, config); |
| | | if (!SITE_XH.equals(active)) { |
| | | addWardSubTaskForPatient(inhosp, archive, config); |
| | | addIcd10SubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | return; |
| | | } |
| | | // å L1717-1726ï¼æè§åï¼æè§åæ§è¡ |
| | | log.info("ãåºäºè§åãæ£è
{}æ¥è¯¢å°è§åï¼deptRule={}, wradRule={}, diagRule={}", |
| | | inhosp.getInhospid(), rule.getDeptRule(), rule.getWradRule(), rule.getDiagRule()); |
| | | |
| | | boolean deptIsPrimary = "1".equals(rule.getDeptRule()); |
| | | boolean wardIsPrimary = "1".equals(rule.getWradRule()); |
| | | boolean diagIsPrimary = "1".equals(rule.getDiagRule()); |
| | | boolean deptIsSecondary = "2".equals(rule.getDeptRule()); |
| | | boolean wardIsSecondary = "2".equals(rule.getWradRule()); |
| | | boolean diagIsSecondary = "2".equals(rule.getDiagRule()); |
| | | |
| | | boolean hasPrimaryRule = deptIsPrimary || wardIsPrimary || diagIsPrimary; |
| | | |
| | | if (!hasPrimaryRule) { |
| | | // å L1829-1837ï¼æ²¡æé¦è¦è§åï¼å
¨é¨çæ |
| | | log.info("ãåºäºè§åãæ é¦è¦è§åï¼æ§è¡å
¨é¨çæé»è¾"); |
| | | addDeptSubTaskForPatient(inhosp, archive, config); |
| | | if (!SITE_XH.equals(active)) { |
| | | addWardSubTaskForPatient(inhosp, archive, config); |
| | | addIcd10SubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | return; |
| | | } |
| | | |
| | | // å L1730-1754ï¼å
æ§è¡ææè§å=1 çæ¹æ³ |
| | | int deptGenCount = 0; |
| | | int wardGenCount = 0; |
| | | int diagGenCount = 0; |
| | | |
| | | if (deptIsPrimary) { |
| | | log.info("ãåºäºè§åãæ§è¡ç§å®¤é¦è¦è§å"); |
| | | deptGenCount = addDeptSubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | if (!SITE_XH.equals(active)) { |
| | | if (wardIsPrimary) { |
| | | log.info("ãåºäºè§åãæ§è¡ç
åºé¦è¦è§å"); |
| | | wardGenCount = addWardSubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | if (diagIsPrimary) { |
| | | log.info("ãåºäºè§åãæ§è¡ç¾ç
é¦è¦è§å"); |
| | | diagGenCount = addIcd10SubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | } |
| | | |
| | | int primaryGeneratedCount = deptGenCount + wardGenCount + diagGenCount; |
| | | log.info("ãåºäºè§åãé¦è¦è§åæ§è¡ç»æ: deptGen={}, wardGen={}, diagGen={}, total={}", |
| | | deptGenCount, wardGenCount, diagGenCount, primaryGeneratedCount); |
| | | |
| | | String remark = inhosp.getRemark(); |
| | | |
| | | if (primaryGeneratedCount > 0) { |
| | | // å L1758-1796ï¼è³å°ä¸ä¸ªé¦è¦è§åæå |
| | | log.info("ãåºäºè§åãé¦è¦è§åææå(count={})ï¼å°æ¬¡è¦è§å对åºflag设为2", primaryGeneratedCount); |
| | | if (deptIsSecondary) { |
| | | updateCheckFlag(inhosp, 1, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";é¦è¦è§åå·²çæï¼æ¬¡è¦è§åè·³è¿" : "é¦è¦è§åå·²çæï¼æ¬¡è¦è§åè·³è¿"); |
| | | } |
| | | if (!SITE_XH.equals(active)) { |
| | | if (wardIsSecondary) { |
| | | updateCheckFlag(inhosp, 2, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";é¦è¦è§åå·²çæï¼æ¬¡è¦è§åè·³è¿" : "é¦è¦è§åå·²çæï¼æ¬¡è¦è§åè·³è¿"); |
| | | } |
| | | if (diagIsSecondary) { |
| | | updateCheckFlag(inhosp, 3, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";é¦è¦è§åå·²çæï¼æ¬¡è¦è§åè·³è¿" : "é¦è¦è§åå·²çæï¼æ¬¡è¦è§åè·³è¿"); |
| | | } |
| | | } |
| | | if (deptIsPrimary && deptGenCount > 0) { |
| | | updateCheckFlag(inhosp, 1, "1", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç§å®¤é¦è¦è§åçææå" : "ç§å®¤é¦è¦è§åçææå"); |
| | | } |
| | | if (!SITE_XH.equals(active)) { |
| | | if (wardIsPrimary && wardGenCount > 0) { |
| | | updateCheckFlag(inhosp, 2, "1", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç
åºé¦è¦è§åçææå" : "ç
åºé¦è¦è§åçææå"); |
| | | } |
| | | if (diagIsPrimary && diagGenCount > 0) { |
| | | updateCheckFlag(inhosp, 3, "1", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç¾ç
é¦è¦è§åçææå" : "ç¾ç
é¦è¦è§åçææå"); |
| | | } |
| | | } |
| | | if (deptIsPrimary && deptGenCount == 0) { |
| | | updateCheckFlag(inhosp, 1, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç§å®¤é¦è¦è§åçæå¤±è´¥" : "ç§å®¤é¦è¦è§åçæå¤±è´¥"); |
| | | } |
| | | if (!SITE_XH.equals(active)) { |
| | | if (wardIsPrimary && wardGenCount == 0) { |
| | | updateCheckFlag(inhosp, 2, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç
åºé¦è¦è§åçæå¤±è´¥" : "ç
åºé¦è¦è§åçæå¤±è´¥"); |
| | | } |
| | | if (diagIsPrimary && diagGenCount == 0) { |
| | | updateCheckFlag(inhosp, 3, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç¾ç
é¦è¦è§åçæå¤±è´¥" : "ç¾ç
é¦è¦è§åçæå¤±è´¥"); |
| | | } |
| | | } |
| | | } else { |
| | | // å L1797-1828ï¼ææé¦è¦è§åå
¨é¨å¤±è´¥ â æ =1 çç½® 2ï¼ç¶åæ§è¡æ¬¡è¦è§å |
| | | log.info("ãåºäºè§åãé¦è¦è§åå
¨é¨å¤±è´¥ï¼å°=1çflag设为2ï¼å¼å§æ§è¡æ¬¡è¦è§å"); |
| | | if (deptIsPrimary) { |
| | | updateCheckFlag(inhosp, 1, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç§å®¤é¦è¦è§åå
¨é¨å¤±è´¥" : "ç§å®¤é¦è¦è§åå
¨é¨å¤±è´¥"); |
| | | } |
| | | if (!SITE_XH.equals(active)) { |
| | | if (wardIsPrimary) { |
| | | updateCheckFlag(inhosp, 2, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç
åºé¦è¦è§åå
¨é¨å¤±è´¥" : "ç
åºé¦è¦è§åå
¨é¨å¤±è´¥"); |
| | | } |
| | | if (diagIsPrimary) { |
| | | updateCheckFlag(inhosp, 3, "2", StringUtils.isNotEmpty(remark) |
| | | ? remark + ";ç¾ç
é¦è¦è§åå
¨é¨å¤±è´¥" : "ç¾ç
é¦è¦è§åå
¨é¨å¤±è´¥"); |
| | | } |
| | | } |
| | | if (deptIsSecondary) { |
| | | log.info("ãåºäºè§åãæ§è¡ç§å®¤æ¬¡è¦è§å"); |
| | | addDeptSubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | if (!SITE_XH.equals(active)) { |
| | | if (wardIsSecondary) { |
| | | log.info("ãåºäºè§åãæ§è¡ç
åºæ¬¡è¦è§å"); |
| | | addWardSubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | if (diagIsSecondary) { |
| | | log.info("ãåºäºè§åãæ§è¡ç¾ç
次è¦è§å"); |
| | | addIcd10SubTaskForPatient(inhosp, archive, config); |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // å L1839-1845 |
| | | e.printStackTrace(); |
| | | log.error("ãåºäºè§åãæ£è
{}å¤çå¼å¸¸ï¼{}", inhosp.getInhospid(), e.getMessage()); |
| | | updateCheckFlag(inhosp, 1, "2", "åºäºè§åå¤çå¼å¸¸"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ç»ä¸ååæ å¿ä½ ââ å§æ {@link InhospFlagWriter}ï¼å {@code updateCheckFlag}ï¼ã |
| | | */ |
| | | private void updateCheckFlag(VisitInhospRow inhosp, Integer type, String flagValue, String remark) { |
| | | flagWriter.updateCheckFlag(inhosp, type, flagValue, remark); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // 2. ç§å®¤ç»´åº¦ï¼å L1854-1887ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * 为å个æ£è
çæç§å®¤ç»´åº¦çåä»»å¡ã |
| | | * |
| | | * @return çæçå任塿°é |
| | | */ |
| | | public int addDeptSubTaskForPatient(VisitInhospRow inhosp, VisitArchiveRow archive, String config) { |
| | | int generatedCount = 0; |
| | | try { |
| | | // å L1857-1864ï¼ææ£è
æå¨ç§å®¤æ¥è¯¥ç§å®¤çé¿æä»»å¡ï¼dept_type=1 + service_type=2ï¼ |
| | | VisitTaskdeptRow query = new VisitTaskdeptRow(); |
| | | query.setLongtask(1L); |
| | | query.setDeptCode(inhosp.getLeaveldeptcode()); |
| | | query.setDeptType(DEPT_TYPE_DEPT); |
| | | query.setServiceType(SERVICE_TYPE_DISCHARGE); |
| | | query.setOrgid(inhosp.getOrgid()); |
| | | List<VisitTaskdeptRow> taskdepts = taskdeptMapper.selectList(query); |
| | | |
| | | if (CollectionUtils.isEmpty(taskdepts)) { |
| | | // å L1866-1872ï¼â ï¸ å¨ãé读对象ã䏿¹ deptcheckï¼å¹¶æå¦ä¸¤ä¸ª flag åæ ·å¸¦å |
| | | VisitInhospRow fresh = inhospMapper.selectByInhospid(inhosp.getInhospid()); |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setDeptcheckFlag("2"); |
| | | u.setWardcheckFlag(fresh == null ? null : fresh.getWardcheckFlag()); |
| | | u.setDiagcheckFlag(fresh == null ? null : fresh.getDiagcheckFlag()); |
| | | // åå®ç°ä¸å¤ nullï¼fresh.getLongTaskReason() + "..."ï¼ï¼åæ ·ä¿ç |
| | | u.setLongTaskReason((fresh == null ? null : fresh.getLongTaskReason()) |
| | | + "该æ£è
æå¨ç§å®¤æªé
置离é¢é¿æä»»å¡;"); |
| | | updateInhosp(u); |
| | | } else { |
| | | for (VisitTaskdeptRow t : taskdepts) { |
| | | subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 1, config); |
| | | generatedCount++; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // å L1879-1885ï¼â ï¸ å¨ãæ°é²å¯¹è±¡ãä¸ set ââ åªå deptcheck + reason |
| | | e.printStackTrace(); |
| | | log.error("ãç§å®¤ä»»å¡ãæ£è
{}å¤çå¼å¸¸ï¼{}", inhosp.getInhospid(), e.getMessage()); |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setDeptcheckFlag("2"); |
| | | u.setLongTaskReason("ç§å®¤ä»»å¡å¤çå¼å¸¸"); |
| | | updateInhosp(u); |
| | | } |
| | | return generatedCount; |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // 3. ç
åºç»´åº¦ï¼å L1894-1935ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * 为å个æ£è
çæç
åºç»´åº¦çåä»»å¡ã |
| | | * |
| | | * @return çæçå任塿°é |
| | | */ |
| | | public int addWardSubTaskForPatient(VisitInhospRow inhosp, VisitArchiveRow archive, String config) { |
| | | int generatedCount = 0; |
| | | try { |
| | | String errorreason = null; |
| | | List<VisitTaskdeptRow> taskdeptList = null; |
| | | // å L1899-1912 |
| | | if (!StringUtils.isEmpty(inhosp.getLeavehospitaldistrictcode())) { |
| | | VisitTaskdeptRow query = new VisitTaskdeptRow(); |
| | | query.setLongtask(1L); |
| | | query.setDeptCode(inhosp.getLeavehospitaldistrictcode()); |
| | | query.setDeptType(DEPT_TYPE_WARD); |
| | | query.setServiceType(SERVICE_TYPE_DISCHARGE); |
| | | query.setOrgid(inhosp.getOrgid()); |
| | | taskdeptList = taskdeptMapper.selectList(query); |
| | | if (CollectionUtils.isEmpty(taskdeptList)) { |
| | | errorreason = "该æ£è
æå¨ç
åºæªé
ç½®é¿æä»»å¡;"; |
| | | } |
| | | } else { |
| | | errorreason = "离é¢ç
åºä¸ºç©º;"; |
| | | } |
| | | |
| | | if (StringUtils.isNotEmpty(errorreason)) { |
| | | // å L1914-1920ï¼â ï¸ é读对象 setWardcheckï¼å¦ä¸¤ä¸ª flag åæ ·å¸¦å |
| | | VisitInhospRow fresh = inhospMapper.selectByInhospid(inhosp.getInhospid()); |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setWardcheckFlag("2"); |
| | | u.setDeptcheckFlag(fresh == null ? null : fresh.getDeptcheckFlag()); |
| | | u.setDiagcheckFlag(fresh == null ? null : fresh.getDiagcheckFlag()); |
| | | // åæå¤ç©ºï¼ä¸ç§å®¤ç»´åº¦é£å¤ä¸åï¼ï¼åæ ·ä¿ç |
| | | u.setLongTaskReason(StringUtils.isNotEmpty(fresh == null ? null : fresh.getLongTaskReason()) |
| | | ? fresh.getLongTaskReason() + errorreason : errorreason); |
| | | updateInhosp(u); |
| | | } else { |
| | | for (VisitTaskdeptRow t : taskdeptList) { |
| | | subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 2, config); |
| | | generatedCount++; |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // å L1927-1933ï¼æ°é²å¯¹è±¡ ââ åªå wardcheck + reason |
| | | e.printStackTrace(); |
| | | log.error("ãç
åºä»»å¡ãæ£è
{}å¤çå¼å¸¸ï¼{}", inhosp.getInhospid(), e.getMessage()); |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setWardcheckFlag("2"); |
| | | u.setLongTaskReason("ç
åºä»»å¡å¤çå¼å¸¸"); |
| | | updateInhosp(u); |
| | | } |
| | | return generatedCount; |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // 4. ç¾ç
维度ï¼å L1942-2001ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * 为å个æ£è
çæç¾ç
维度çåä»»å¡ã |
| | | * |
| | | * @return çæçå任塿°é |
| | | */ |
| | | public int addIcd10SubTaskForPatient(VisitInhospRow inhosp, VisitArchiveRow archive, String config) { |
| | | int generatedCount = 0; |
| | | try { |
| | | // å L1945-1947 |
| | | if (StringUtils.isEmpty(inhosp.getLeaveicd10code())) { |
| | | return 0; |
| | | } |
| | | |
| | | // å L1949-1963ï¼ç«ç¹å·®å¼ ââ nhfy ç¨è¯æåï¼å
¶å®ç¨ ICD10 ç¼ç |
| | | VisitTaskdiagRow query = new VisitTaskdiagRow(); |
| | | query.setLongtask(1L); |
| | | if (SITE_NHFY.equals(active)) { |
| | | query.setIcd10name(inhosp.getLeavediagname()); |
| | | if (StringUtils.isEmpty(inhosp.getLeavediagname())) { |
| | | // å L1954-1959ï¼â ï¸ æ°é²å¯¹è±¡ ââ åªå diagcheck + reasonï¼è¦çå¼ï¼ |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setDiagcheckFlag("2"); |
| | | u.setLongTaskReason("该æ£è
ä¸»è¯æå称为空;"); |
| | | updateInhosp(u); |
| | | return 0; |
| | | } |
| | | } else { |
| | | query.setIcd10code(inhosp.getLeaveicd10code()); |
| | | } |
| | | query.setOrgid(inhosp.getOrgid()); |
| | | List<VisitTaskdiagRow> taskdiags = taskdiagMapper.selectListByIcdName(query); |
| | | |
| | | if (CollectionUtils.isEmpty(taskdiags)) { |
| | | // å L1967-1971ï¼â ï¸ é读对象ï¼ä½ãåªãsetDiagcheckFlag + è¦å reason |
| | | // ï¼ä¸ç§å®¤/ç
åºé£ä¸¤å¤ä¸åï¼è¿éä¸å¸¦åå
¶å® flagï¼ |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setDiagcheckFlag("2"); |
| | | u.setLongTaskReason("该æ£è
ææ£ç¾ç
æªé
ç½®é¿æä»»å¡;"); |
| | | updateInhosp(u); |
| | | } else { |
| | | int flag = 0; |
| | | for (VisitTaskdiagRow t : taskdiags) { |
| | | // å L1975-1983ï¼å¿
é¡»ç§å®¤æç
åºè½å¹é
ä¸æå»º |
| | | if (StringUtils.isNotEmpty(t.getDeptCode()) |
| | | && t.getDeptCode().equals(inhosp.getLeaveldeptcode())) { |
| | | subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 3, config); |
| | | generatedCount++; |
| | | flag = 1; |
| | | } else if (StringUtils.isNotEmpty(t.getWardCode()) |
| | | && t.getWardCode().equals(inhosp.getLeavehospitaldistrictcode())) { |
| | | subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 3, config); |
| | | generatedCount++; |
| | | flag = 1; |
| | | } |
| | | } |
| | | if (flag == 0) { |
| | | // å L1985-1991 |
| | | log.error("该ç§å®¤æç
åºå¯¹äºæ£è
ææ£ç¾ç
æªé
ç½®é¿æä»»å¡,æ£è
ï¼{}", inhosp.getInhospid()); |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setDiagcheckFlag("2"); |
| | | u.setLongTaskReason("该ç§å®¤æç
åºå¯¹äºæ£è
ææ£ç¾ç
æªé
ç½®é¿æä»»å¡;"); |
| | | updateInhosp(u); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // å L1993-1998ï¼æ°é²å¯¹è±¡ ââ åªå diagcheck + reason |
| | | e.printStackTrace(); |
| | | log.error("ãç¾ç
ä»»å¡ãæ£è
{}å¤çå¼å¸¸ï¼{}", inhosp.getInhospid(), e.getMessage()); |
| | | VisitInhospUpdateDto u = new VisitInhospUpdateDto(); |
| | | u.setInhospid(inhosp.getInhospid()); |
| | | u.setDiagcheckFlag("2"); |
| | | u.setLongTaskReason("ç¾ç
ä»»å¡å¤çå¼å¸¸"); |
| | | updateInhosp(u); |
| | | } |
| | | return generatedCount; |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // 5. åå
¥é¢å¤çï¼å L1321-1359ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * åå
¥é¢å¤çï¼æ°å
¥é¢è®°å½åºç°æ¶ï¼æè¯¥æ£è
<b>æ§çå¾
æ§è¡é访</b>åæã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code dealInHospInfo(List<PatMedInhosp> patMedInhospList)}ã |
| | | * <p> |
| | | * â ï¸ åå®ç°ç两个è¦ç¹ï¼ |
| | | * <ol> |
| | | * <li>æ¥è¯¢æ¡ä»¶æ¯ {@code patid + sendstate=2}ï¼<b>ä¸è®¾ taskid</b>ï¼ææ£è
å
¨éæ¥ï¼ï¼ |
| | | * è¿éä¼ {@code null} è¡¨ç¤ºä¸æ taskid è¿æ»¤ï¼</li> |
| | | * <li>æ¯å®ï¼{@code 47255004333112711A1001}ï¼è·³è¿åæº ââ ä¸è¿è¿æ¬¡å¤çæ¯ |
| | | * <b>{@code serviceSubtask1.getOrgid()}</b>ï¼åä»»å¡ç orgidï¼ï¼ä¸æ¯å
¥åæ£è
ç orgidã</li> |
| | | * </ol> |
| | | * |
| | | * @param newInHosp æ°å
¥é¢çåºå
¥é¢è®°å½ï¼ç¨å®åæ§åä»»å¡ç endtime 忝è¾ï¼ |
| | | */ |
| | | public void dealInHospInfo(VisitInhospRow newInHosp) { |
| | | try { |
| | | VisitTaskCreateApi api = taskApi(); |
| | | if (api == null) { |
| | | log.warn("ãåºå
¥é¢é访ãVisitTaskCreateApi ä¸å¯ç¨ï¼è·³è¿åå
¥é¢å¤çãinhospid={}", |
| | | newInHosp.getInhospid()); |
| | | return; |
| | | } |
| | | // å L1324-1328ï¼patid + sendstate=2ï¼ä¸è®¾ taskidï¼ |
| | | List<VisitPendingSubtaskDto> pendingList = |
| | | api.findPendingSubtasks(newInHosp.getPatid(), null); |
| | | if (CollectionUtils.isEmpty(pendingList)) { |
| | | return; |
| | | } |
| | | for (VisitPendingSubtaskDto pending : pendingList) { |
| | | // å L1332-1335ï¼ä¸æ¯é¿æä»»å¡ï¼ä¸å¤ç |
| | | if (pending.getLongSendTime() == null) { |
| | | continue; |
| | | } |
| | | // å L1336-1340ï¼â ï¸ å¤çæ¯ãåä»»å¡ç orgidã |
| | | boolean firstVisit = ORG_JINGNING.equals(pending.getOrgid()); |
| | | if (firstVisit) { |
| | | continue; |
| | | } |
| | | // å L1342-1350ï¼æ§åä»»å¡çåºé¢æ¶é´å¨æ°å
¥é¢æ¶é´ä¹å â åæ |
| | | if (pending.getEndtime() != null && newInHosp.getStarttime() != null |
| | | && pending.getEndtime().before(newInHosp.getStarttime())) { |
| | | pending.setSendstate(4L); |
| | | pending.setIsVisitAgain(2); |
| | | pending.setRemark("æ£è
åå
¥é¢"); |
| | | pending.setResult("error"); |
| | | api.updatePendingSubtask(pending); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | // å L1355-1357 |
| | | log.error("å
¥é¢æ°æ®ä¿¡æ¯åºå¼å¸¸äºï¼{},{}", newInHosp, e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** æ¯å®æºæIDï¼å L1338ï¼ä¸ InhospSubtaskWriter éé£ä»½æ¯åä¸å¸¸éï¼å·²éåæ ¸å¯¹ï¼ */ |
| | | private static final String ORG_JINGNING = "47255004333112711A1001"; |
| | | |
| | | // ========================================================================== |
| | | // è¾
å© |
| | | // ========================================================================== |
| | | |
| | | private void updateInhosp(VisitInhospUpdateDto u) { |
| | | PublicityDataPort port = dataPort(); |
| | | if (port == null) { |
| | | log.warn("ãåºå
¥é¢é访ãPublicityDataPort ä¸å¯ç¨ï¼æ æ³ååæ å¿ä½ãinhospid={}", u.getInhospid()); |
| | | return; |
| | | } |
| | | port.updateVisitInhosp(u); |
| | | } |
| | | |
| | | private PublicityDataPort dataPort() { |
| | | if (dataPortProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return dataPortProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å PublicityDataPort 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | private VisitTaskCreateApi taskApi() { |
| | | if (taskCreateApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return taskCreateApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å VisitTaskCreateApi 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * {@code service_task_rule} çè§åå¿«ç
§ï¼å {@code ServiceTaskRule} çé访侧è§å¾ï¼ã |
| | | * <p> |
| | | * è§åæ¥è¯¢æ¬èº«ä»ç± {@code PublicityDataPort} æä¾ï¼å®å·²ç»å¨æå¡å®£æé¾è·¯ï¼ï¼ |
| | | * æ¬ç±»åªæ¶è´¹ç»æï¼é¿å
为è§å表åå ä¸ä¸ª Mapperã |
| | | */ |
| | | public static class VisitTaskRule { |
| | | |
| | | /** ç§å®¤è§åï¼"1"=é¦è¦ "2"=次è¦ï¼å
¶å®=ä¸åä¸ */ |
| | | private String deptRule; |
| | | |
| | | /** ç
åºè§åï¼ååæ®µåå°±æ¯æ¼éç {@code wradRule}ï¼ä¿æåå以å
读éï¼ */ |
| | | private String wradRule; |
| | | |
| | | /** ç¾ç
è§å */ |
| | | private String diagRule; |
| | | |
| | | public String getDeptRule() { |
| | | return deptRule; |
| | | } |
| | | |
| | | public void setDeptRule(String deptRule) { |
| | | this.deptRule = deptRule; |
| | | } |
| | | |
| | | public String getWradRule() { |
| | | return wradRule; |
| | | } |
| | | |
| | | public void setWradRule(String wradRule) { |
| | | this.wradRule = wradRule; |
| | | } |
| | | |
| | | public String getDiagRule() { |
| | | return diagRule; |
| | | } |
| | | |
| | | public void setDiagRule(String diagRule) { |
| | | this.diagRule = diagRule; |
| | | } |
| | | } |
| | | |
| | | /** 便µè¯/æ¥å¿ï¼æ¬ç±»æ¯å¦æ¿å°äºå¿
éç Mapper */ |
| | | boolean hasMappers() { |
| | | return inhospMapper != null && archiveMapper != null |
| | | && taskdeptMapper != null && taskdiagMapper != null; |
| | | } |
| | | |
| | | /** é¢çï¼ä¾æ¥å¿ä½¿ç¨çæ¶é´æ³ï¼é¿å
IDE æ¥æªä½¿ç¨ import Dateï¼ */ |
| | | @SuppressWarnings("unused") |
| | | private Date now() { |
| | | return new Date(); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.service; |
| | | |
| | | import com.ruoyi.common.core.service.OtherVisitApi; |
| | | import com.ruoyi.common.core.service.PublicityApi; |
| | | import com.ruoyi.common.core.service.PublicityDataPort; |
| | | import com.ruoyi.common.core.service.dto.InHospPublicityRowDto; |
| | | import com.ruoyi.common.core.service.dto.VisitTaskRuleDto; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitInhospRow; |
| | | import com.ruoyi.inhospvisit.mapper.VisitArchiveMapper; |
| | | import com.ruoyi.inhospvisit.mapper.VisitInhospMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访ç<b>两个å
¥å£</b> ââ éè¡æ¬èª {@code PatMedInhospServiceImpl} ç |
| | | * {@code dealOutHospInfo}ï¼L324-463ï¼140 è¡ï¼ä¸ {@code dealOutHospInfoBySchedule}ï¼L471-614ï¼144 è¡ï¼ã |
| | | * |
| | | * <h3>â ï¸ è¿ä¸æ¥æ¯"忢è°ç¨ç¹"ï¼å¿
é¡»å¨å䏿¥å®æä¸ä»¶äº</h3> |
| | | * <ol> |
| | | * <li><b>å®£ææ¹èµ° {@link PublicityApi}</b>ï¼å L331-409ï¼å
¥é¢å®£æï¼ä¸ L411-444ï¼è¯å宣æï¼ |
| | | * æ¬æ¬¡<b>ä¸åå
è</b>ï¼æ¹ä¸ºåè°å®£ææ¨¡åãè¥ä¸åæ¶å ææ§çå
èåï¼ |
| | | * <b>宣æä¼å两é</b>ï¼ç¬¬ 5 æ¥å°±çä¸çå·²ç¥ä¸é´ç¶æï¼ï¼</li> |
| | | * <li><b>ææ¯é访æ¹èµ° {@link OtherVisitApi}</b>ï¼å L449-451 ä¸ L559-608 é£ä¸¤å¤ï¼</li> |
| | | * <li><b>ç¼æå±æ¹èµ°æ¬æ¨¡åç {@link InhospTaskOrchestrator}</b>ï¼å {@code addSubTaskByRule} / |
| | | * {@code dealInHospInfo}ã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>ä¸åå®ç°ç两å¤ç»æå·®å¼ï¼é½å·²ç»è®°ï¼</h3> |
| | | * <ol> |
| | | * <li><b>æ£è
å表çåæ°æ¹å¼åäº</b>ï¼åå®ç°ç´æ¥æ¥ {@code pat_med_inhosp}ï¼ |
| | | * æ¬è¿åèµ°æ¬æ¨¡åèªå¸¦ç {@link VisitInhospMapper}ï¼SQL ä¸ smartor é£ä»½éæ¡çä»·ï¼ |
| | | * ç± {@code verify_inhospvisit_sql_expansion.py} æå
³ï¼ã |
| | | * 注æåå®ç°ç¬¬ä¸æ®µæ¥çæ¯ {@code deptcheckFlag="0" + inhospstate="1" + fuflag="1"}ï¼ |
| | | * è¿æ®µæ¢ç¨äºå®£æä¹ç¨äº `addSubTaskByRule`ã</li> |
| | | * <li><b>宣æçæ£è
å表ç±å®£ææ¨¡åèªå·±æ¥</b>ï¼åå®ç°å¤ç¨åä¸ä¸ª {@code patMedInhosps} åè¡¨ï¼ |
| | | * æ¬è¿å {@link PublicityApi#dealInHospPublicity} å
é¨èªå·±æ¥ä¸ä»½ï¼æ¡ä»¶ç¸åï¼ã |
| | | * è¿æ¯<b>æ
æç</b>ï¼å®£ææ¨¡åä¸è¯¥ä¾èµé访模åçå
åå表ã |
| | | * 代价æ¯å¤ä¸æ¬¡è½»éæ¥è¯¢ï¼å·²å¨ {@code PublicityServiceImpl} çæ³¨éé说æã</li> |
| | | * </ol> |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class InhospVisitTaskService { |
| | | |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | @Autowired |
| | | private VisitInhospMapper inhospMapper; |
| | | |
| | | @Autowired |
| | | private VisitArchiveMapper archiveMapper; |
| | | |
| | | @Autowired |
| | | private InhospTaskOrchestrator orchestrator; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<PublicityApi> publicityApiProvider; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<OtherVisitApi> otherVisitApiProvider; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<PublicityDataPort> dataPortProvider; |
| | | |
| | | // ========================================================================== |
| | | // å
¥å£ 1ï¼åºé¢éè®¿ä¸»æ«æï¼å L324-463ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * åºé¢éè®¿ä¸»æ«æã顺åº<b>鿡坹åº</b>åå®ç°ï¼ |
| | | * <ol> |
| | | * <li>å"ç§å®¤ç»´åº¦æªå¤ç"çå¨é¢æ£è
ï¼å L325-329ï¼ï¼</li> |
| | | * <li>å
¥é¢å®£æ â åè° {@link PublicityApi#dealInHospPublicity}ï¼å L331-409ï¼ï¼</li> |
| | | * <li>è¯å宣æï¼ä»
sltdï¼â åè° {@link PublicityApi#dealMedicalPublicity}ï¼å L411-444ï¼ï¼</li> |
| | | * <li>åºäºè§åçåºé¢é访 â {@link #addSubTaskByRule}ï¼å L448ï¼ï¼</li> |
| | | * <li>ææ¯é访ï¼é xhï¼â åè° {@link OtherVisitApi#addOperationSubTask}ï¼å L449-451ï¼ï¼</li> |
| | | * <li>åå
¥é¢å¤ç â {@link #dealInHospInfo}ï¼å L454-461ï¼ã</li> |
| | | * </ol> |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} |
| | | * @return åå®ç°åºå®è¿å 1 |
| | | */ |
| | | public int dealOutHospInfo(String config) { |
| | | // å L325-329ï¼ç§å®¤ç»´åº¦æªå¤ççå¨é¢æ£è
|
| | | VisitInhospRow pmks = new VisitInhospRow(); |
| | | pmks.setDeptcheckFlag("0"); |
| | | pmks.setInhospstate("1"); |
| | | pmks.setFuflag("1"); |
| | | List<VisitInhospRow> patMedInhosps = inhospMapper.selectForScan(pmks); |
| | | |
| | | // å L331-409 + L411-444ï¼ä¸¤æ®µå®£ææ¹ä¸ºåè°å®£ææ¨¡å |
| | | // â ï¸ è¿éä¸åå
èå®ç° ââ å¦åä¼ä¸ ruoyi-publicity éçå®ç°"å两é" |
| | | dealInHospPublicityAndMedical(config); |
| | | |
| | | // å L445-451ï¼åºäºè§åçåºé¢é访 + ææ¯é访 |
| | | addSubTaskByRule(config, patMedInhosps); |
| | | if (!"xh".equals(active)) { |
| | | // å L450ï¼addOperationSubTask(config) |
| | | callOperationVisit(config); |
| | | } |
| | | |
| | | // å L454-461ï¼åå
¥é¢å¤ç |
| | | VisitInhospRow inHospQuery = new VisitInhospRow(); |
| | | inHospQuery.setDeptcheckFlag("0"); |
| | | inHospQuery.setInhospstate("0"); |
| | | List<VisitInhospRow> inHospList = inhospMapper.selectForScan(inHospQuery); |
| | | if (CollectionUtils.isNotEmpty(inHospList)) { |
| | | dealInHospInfo(inHospList); |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | /** |
| | | * 两段宣æåè°ï¼å L331-409 å
¥é¢å®£æ + L411-444 è¯å宣æï¼ã |
| | | * <p> |
| | | * 顺åºä¸åå®ç°ä¸è´ï¼<b>å
å
¥é¢å®£æï¼åè¯å宣æ</b>ã |
| | | * åä¸å°å®£ææ¨¡åæ¶æ"没æå®£æè¦å"å¤çå¹¶æ WARNï¼fail-openï¼ã |
| | | */ |
| | | private void dealInHospPublicityAndMedical(String config) { |
| | | PublicityApi api = publicityApi(); |
| | | if (api == null) { |
| | | log.warn("ãåºå
¥é¢é访ãPublicityApi ä¸å¯ç¨ï¼å®£ææ¨¡åæªè£
é
ï¼ï¼è·³è¿å
¥é¢å®£æä¸è¯å宣æã"); |
| | | return; |
| | | } |
| | | try { |
| | | // å L331-409 |
| | | api.dealInHospPublicity(config); |
| | | } catch (Exception e) { |
| | | // 宣æå¤±è´¥ä¸è½æå®é访主æµç¨ |
| | | log.warn("ãåºå
¥é¢é访ãå
¥é¢å®£æåè°å¤±è´¥ï¼å·²å¿½ç¥ï¼{}", e.toString()); |
| | | } |
| | | try { |
| | | // å L411-444 |
| | | api.dealMedicalPublicity(config); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè¯å宣æåè°å¤±è´¥ï¼å·²å¿½ç¥ï¼{}", e.toString()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ææ¯é访åè°ï¼å L449-451 ä¸ L559-608 ç {@code addOperationSubTask}ï¼ã |
| | | */ |
| | | private void callOperationVisit(String config) { |
| | | OtherVisitApi api = otherVisitApi(); |
| | | if (api == null) { |
| | | log.warn("ãåºå
¥é¢é访ãOtherVisitApi ä¸å¯ç¨ï¼ææ¯éè®¿æ¨¡åæªè£
é
ï¼ï¼è·³è¿ææ¯é访ã"); |
| | | return; |
| | | } |
| | | try { |
| | | api.addOperationSubTask(config); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãææ¯é访åè°å¤±è´¥ï¼å·²å¿½ç¥ï¼{}", e.toString()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 鿣è
åè§åç¼æï¼å L448 ç {@code addSubTaskByRule(config, patMedInhosps)}ï¼ã |
| | | * <p> |
| | | * å {@code addSubTaskByRule}(L1691) æ¯ä¸ª"é忣è
"çå¤å±æ¹æ³ï¼ |
| | | * æ¬æ¬¡æ"éå"æ¾å¨è¿éï¼æ"忣è
è§åå¤å®"æ¾è¿ |
| | | * {@link InhospTaskOrchestrator#addSubTaskByRule}ã |
| | | * è¿æ ·ååä¹åï¼ä¸¤è¾¹çæ¹æ³åç¸åä½èè´£ä¸åï¼å·²å¨åèªæ³¨ééåæã |
| | | */ |
| | | private void addSubTaskByRule(String config, List<VisitInhospRow> patMedInhosps) { |
| | | if (CollectionUtils.isEmpty(patMedInhosps)) { |
| | | return; |
| | | } |
| | | for (VisitInhospRow row : patMedInhosps) { |
| | | // å L1692-1700ï¼è·åæ£è
åºæ¬ä¿¡æ¯ï¼ä¸ºç©ºåå deptcheck=2 + reason |
| | | VisitArchiveRow archive = archiveMapper.selectByPatid(row.getPatid()); |
| | | if (archive == null) { |
| | | com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u = |
| | | new com.ruoyi.common.core.service.dto.VisitInhospUpdateDto(); |
| | | u.setInhospid(row.getInhospid()); |
| | | u.setDeptcheckFlag("2"); |
| | | u.setLongTaskReason("æ£è
åºæ¬ä¿¡æ¯ä¸ºç©º"); |
| | | updateInhosp(u); |
| | | continue; |
| | | } |
| | | |
| | | try { |
| | | // å L1703-1707ï¼æç¦»é¢ç§å®¤/ç
åºæ¥è§å |
| | | VisitTaskRuleDto rule = findTaskRule(row); |
| | | // å L1709 èµ·ï¼äº¤ç»ç¼æå¨æè§åæ§è¡ |
| | | orchestrator.addSubTaskByRule(row, archive, toOrchestratorRule(rule), config); |
| | | } catch (Exception e) { |
| | | // å L1839-1845ï¼å¨ç¼æå¨é乿ï¼ä½å¤å±éåè¿ä¸å±åå®ç°æ²¡æ try/catchï¼ |
| | | // è¿éå ä¸å±æ¯ä¸ºäº"忣è
失败ä¸å½±åå
¶å®æ£è
"ï¼å±å¥å£®æ§æ¹è¿ï¼å·²ç»è®°ï¼ |
| | | log.error("ãåºäºè§åãæ£è
{}å¤å±å¤çå¼å¸¸ï¼{}", row.getInhospid(), e.getMessage()); |
| | | com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u = |
| | | new com.ruoyi.common.core.service.dto.VisitInhospUpdateDto(); |
| | | u.setInhospid(row.getInhospid()); |
| | | u.setDeptcheckFlag("2"); |
| | | u.setLongTaskReason("åºäºè§åå¤çå¼å¸¸"); |
| | | updateInhosp(u); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åå
¥é¢å¤çï¼å L454-461 ç {@code dealInHospInfo(patMedInhospList)}ï¼ã |
| | | */ |
| | | private void dealInHospInfo(List<VisitInhospRow> inHospList) { |
| | | for (VisitInhospRow row : inHospList) { |
| | | orchestrator.dealInHospInfo(row); |
| | | } |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // å
¥å£ 2ï¼ä»»å¡ç»é¦è½®çº³å
¥ï¼å L471-614ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * ä»»å¡ç»ï¼appltype=5ï¼é¦è½®çº³å
¥ ââ <b>æ¬æ¬¡ä¸æ¬ï¼ä»çå¨ smartor</b>ã |
| | | * |
| | | * <h3>为ä»ä¹ä¸æ¬ï¼ä¸ä¸ªå¿
须说æçèå´å³å®ï¼</h3> |
| | | * å {@code dealOutHospInfoBySchedule}(L471-614) ç±ä¸¤æ®µææï¼ |
| | | * <ul> |
| | | * <li><b>éææ¯åæ¯</b>ï¼L518-558ï¼ï¼æç»´åº¦è¿æ»¤æ«æ£è
â {@code boxedServiceSubtask} â |
| | | * {@code scheduleSubtaskBuilder.buildSubtasksForPatient}ï¼ä¸æ¬¡çæ N æ¡ï¼â ç½® flagï¼</li> |
| | | * <li><b>ææ¯åæ¯</b>ï¼L559-608ï¼ï¼{@code selectOperationItemListMaxLevel} + |
| | | * {@code boxedServiceSubtaskForOp} â åä¸ builderã</li> |
| | | * </ul> |
| | | * 两段é½ä¾èµ {@code ScheduleSubtaskBuilder} ââ å®åæ¶æå¡"HIS èªå¨çº³å
¥"ä¸ |
| | | * "å端æå¨å¾éæ£è
"两æ¡è·¯å¾ï¼è§å
¶ç±»æ³¨éï¼ï¼**ä¸å±äºæ¬æ¬¡èå´**ã |
| | | * èææ¯åæ¯æçå¾å±ç¬¬äºæ¹ç {@code ruoyi-othervisit}ã |
| | | * <p> |
| | | * æä»¥æ¬æ¬¡æ<b>æ´ä¸ªæ¹æ³çå¨ smartor</b>ï¼è¡ä¸ºä¸è¡ä¸åï¼ï¼ |
| | | * çç¬¬äºæ¹å {@code ruoyi-othervisit} æ¶è¿åä»»å¡ç»é¾è·¯ä¸èµ·æ¶èµ°ã |
| | | * <p> |
| | | * è¿æ ·åç好å¤ï¼æ¬è½®ä¸éè¦ä¸º {@code ScheduleSubtaskBuilder} åé ä¸ä¸ªç«¯å£ï¼ |
| | | * ä¹ä¸ä¼å 为"æ¬ä¸åçä¸å"èå¨ä¸¤å¤çæä»»å¡ç»çåä»»å¡ã |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} |
| | | * @return åå®ç°åºå®è¿å 1 |
| | | */ |
| | | public int dealOutHospInfoBySchedule(String config) { |
| | | log.warn("ãåºå
¥é¢é访ãdealOutHospInfoBySchedule æ¬æ¬¡æªæ¬è¿ï¼å«ææ¯åæ¯ä¸ä»»å¡ç» builderï¼" |
| | | + "å±ç¬¬äºæ¹ ruoyi-othervisit èå´ï¼ï¼ä»ç± smartor çå®ç°æ¿æ¥ãconfig={}", config); |
| | | return 1; |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // è¾
å© |
| | | // ========================================================================== |
| | | |
| | | /** å L1703-1707ï¼æç¦»é¢ç§å®¤/ç
åºæ¥è§åï¼åä¸å°ç«¯å£æ¶è¿å null = æªé
ç½®è§å â å
¨é¨çæï¼ */ |
| | | private VisitTaskRuleDto findTaskRule(VisitInhospRow row) { |
| | | PublicityDataPort port = dataPort(); |
| | | if (port == null) { |
| | | log.warn("ãåºå
¥é¢é访ãPublicityDataPort ä¸å¯ç¨ï¼è§åæãæªé
ç½®ãå¤çï¼å
¨é¨çæï¼ãinhospid={}", |
| | | row.getInhospid()); |
| | | return null; |
| | | } |
| | | try { |
| | | return port.findTaskRule(row.getLeaveldeptcode(), row.getLeavehospitaldistrictcode()); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢éè®¿ãæ¥ä»»å¡è§åå¤±è´¥ï¼æãæªé
ç½®ãå¤çï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** æç«¯å£çè§å DTO éé
æç¼æå¨å
åµçè§åè§å¾ï¼å段ä¸ä¸å¯¹åºï¼å«æ¼éç {@code wradRule}ï¼ */ |
| | | private InhospTaskOrchestrator.VisitTaskRule toOrchestratorRule(VisitTaskRuleDto dto) { |
| | | if (dto == null) { |
| | | return null; |
| | | } |
| | | InhospTaskOrchestrator.VisitTaskRule r = new InhospTaskOrchestrator.VisitTaskRule(); |
| | | r.setDeptRule(dto.getDeptRule()); |
| | | r.setWradRule(dto.getWradRule()); |
| | | r.setDiagRule(dto.getDiagRule()); |
| | | return r; |
| | | } |
| | | |
| | | private void updateInhosp(com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u) { |
| | | PublicityDataPort port = dataPort(); |
| | | if (port == null) { |
| | | log.warn("ãåºå
¥é¢é访ãPublicityDataPort ä¸å¯ç¨ï¼æ æ³ååæ å¿ä½ãinhospid={}", u.getInhospid()); |
| | | return; |
| | | } |
| | | port.updateVisitInhosp(u); |
| | | } |
| | | |
| | | private PublicityDataPort dataPort() { |
| | | if (dataPortProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return dataPortProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å PublicityDataPort 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | private PublicityApi publicityApi() { |
| | | if (publicityApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return publicityApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å PublicityApi 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | private OtherVisitApi otherVisitApi() { |
| | | if (otherVisitApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return otherVisitApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å OtherVisitApi 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.service; |
| | | |
| | | import com.ruoyi.common.core.service.ScheduleRollPort; |
| | | import com.ruoyi.common.core.service.dto.VisitScheduleRollResultDto; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä»»å¡ç»ã轮次æ»å¨ãç¼æå¨ ââ éè¡æ¬èª |
| | | * {@code ServiceTaskScheduleServiceImpl#rollCycleTasks}ï¼L170-190ï¼21 è¡ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹è¿éåªæ"ç¼æ"ï¼ç¬¬ 9 æ¥ç设计ï¼</h3> |
| | | * çæ£æ»å¨å个计åè¦å䏿¬¡ {@code ServiceSubtask} ç <b>116 åæ®µå
¨å段深æ·è´</b>ï¼ |
| | | * é£é¨å<b>廿çå¨å®ç°ä¾§</b>ï¼smartor ç {@code ScheduleRollPortBridge}ï¼ï¼ |
| | | * ä¸è·¨è¶æ¨¡åè¾¹çä¼ 116 åæ®µç DTO ââ çç±è§ {@link ScheduleRollPort} ç类注éã |
| | | * <p> |
| | | * æ¬ç±»è´è´£çé¨åï¼ä¸åæéè¡å¯¹åºï¼ï¼ |
| | | * <ol> |
| | | * <li>æ¹æ¬¡ä¸é {@code ROLL_BATCH_LIMIT = 200}ï¼å L50 / L171ï¼ï¼</li> |
| | | * <li>æ«ææ¥å¿ {@code [ä»»å¡ç»-æ»å¨] æ«æå° {} 个å¾
è¯ä¼°ç循ç¯è®¡å}ï¼å L175ï¼ï¼</li> |
| | | * <li>éæ¡ {@code try/catch}ï¼åæ¡å¤±è´¥ä¸å½±åå
¶å®è®¡åï¼å L178-186ï¼ï¼</li> |
| | | * <li>计æ°ä¸æ¶å°¾æ¥å¿ {@code æ¬æ¬¡æ¨è¿ {} 个计å}ï¼å L188ï¼ã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>â ï¸ ä¸åå®ç°ç两å¤å·²ç¥å·®å¼ï¼é½å·²ç»è®°ï¼</h3> |
| | | * <ol> |
| | | * <li><b>äºå¡è¾¹ç</b>ï¼åå®ç°å¨ {@code rollOneSchedule} 䏿 {@code @Transactional} |
| | | * ï¼æ¹æ³å¨åä¸ä¸ªç±»éï¼éè¿ {@code SpringUtils.getAopProxy(this)} èªè°ä»¥è®©æ³¨è§£çæï¼è§å L180ï¼ã |
| | | * æ¬è¿å {@code @Transactional} è½å¨æ¡¥å®ç° {@code ScheduleRollPortBridge#rollOneSchedule} ä¸ |
| | | * ââ <b>è·¨ Bean è°ç¨ï¼äºå¡ç
§å¸¸çæ</b>ï¼æä»¥ä¸åéè¦ AOP èªè°é£ä¸æ¥ã |
| | | * è¿æ¯çä»·æ¹åï¼ä¸æ¯è¡ä¸ºåæ´ã</li> |
| | | * <li><b>计å对象æ¯éæ¥ç</b>ï¼åå®ç°æ"æ¥è¯¢ç»æéç计å对象"ç´æ¥ä¼ ç» {@code rollOneSchedule}ï¼ |
| | | * 端å£åªç» idï¼æä»¥æ¡¥éæ id 鿥䏿¬¡ãå·®å¼åªå¨"两次读åä¹é´è®¡åæ¯å¦è¢«æ¹è¿"è¿ä¸ªæ¯«ç§çº§çªå£ï¼ |
| | | * ä¸ roll å
é¨ä»ä¼å"æ¬è½®æ¯å¦ç»æ"çæ ¡éªã已卿¡¥ç注éé说æã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>â ï¸ è¿æ¸¡æç¦æ¢åè·</h3> |
| | | * æ¬ç±»å¨ç¬¬ 10 æ¥ï¼æ {@code RyTask.rollTaskGroupCycle} çæ¹æ³ä½åè¿æ¥ï¼ä¹åï¼ |
| | | * <b>ä¸è½è¢«æå°ä»»ä½è°åº¦ä¸</b>ï¼èç {@code rollCycleTasks} è¿å¨è·ï¼ |
| | | * 两边é½ä¼"æ¨è¿è½®æ¬¡ + æ°å»º subtask"ï¼åè·ä¼é æéå¤è½®æ¬¡ã |
| | | * ç®åæ¬ç±»åªè¢«èªæ£ç¨åºè°ç¨ã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class TaskGroupCycleRoller { |
| | | |
| | | /** 忬¡æ«æçæå¤§è®¡åæ°ï¼é¿å
é¿äºå¡ï¼å {@code ServiceTaskScheduleServiceImpl} L50ï¼ã */ |
| | | private static final int ROLL_BATCH_LIMIT = 200; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<ScheduleRollPort> rollPortProvider; |
| | | |
| | | /** |
| | | * æ«æå¾ªç¯ä»»å¡ç»è®¡åå¹¶æ¨è¿å·²å®æç轮次ã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code rollCycleTasks()}ï¼L170-190ï¼ã |
| | | * |
| | | * @return æ¬æ¬¡æ¨è¿çè®¡åæ° |
| | | */ |
| | | public int rollCycleTasks() { |
| | | ScheduleRollPort port = rollPort(); |
| | | if (port == null) { |
| | | log.warn("ãåºå
¥é¢é访ãScheduleRollPort ä¸å¯ç¨ï¼ä»»å¡ç»ç«¯å£æªè£
é
ï¼ï¼æ¬æ¬¡ä¸æ¨è¿ä»»ä½è½®æ¬¡ã"); |
| | | return 0; |
| | | } |
| | | |
| | | // å L171-174 |
| | | List<Long> scheduleIds = port.selectActiveCycleSchedules(ROLL_BATCH_LIMIT); |
| | | if (CollectionUtils.isEmpty(scheduleIds)) { |
| | | return 0; |
| | | } |
| | | // å L175 |
| | | log.info("[ä»»å¡ç»-æ»å¨] æ«æå° {} 个å¾
è¯ä¼°ç循ç¯è®¡å", scheduleIds.size()); |
| | | |
| | | int rolled = 0; |
| | | for (Long scheduleId : scheduleIds) { |
| | | try { |
| | | // å L180ï¼if (SpringUtils.getAopProxy(this).rollOneSchedule(schedule)) rolled++; |
| | | // æ¬è¿å @Transactional 卿¡¥å®ç°ä¸ï¼è·¨ Bean è°ç¨å³çæï¼æ é AOP èªè°ã |
| | | VisitScheduleRollResultDto result = port.rollOneSchedule(scheduleId); |
| | | if (result != null && result.isRolled()) { |
| | | rolled++; |
| | | } |
| | | } catch (Exception e) { |
| | | // å L183-186ï¼åæ¡å¤±è´¥ä¸å½±åå
¶å®è®¡åï¼è®°æ¥å¿ç»§ç» |
| | | log.error("[ä»»å¡ç»-æ»å¨] scheduleId={} æ»å¨å¤±è´¥ï¼{}", scheduleId, e.getMessage(), e); |
| | | } |
| | | } |
| | | // å L188-189 |
| | | log.info("[ä»»å¡ç»-æ»å¨] æ¬æ¬¡æ¨è¿ {} 个计å", rolled); |
| | | return rolled; |
| | | } |
| | | |
| | | private ScheduleRollPort rollPort() { |
| | | if (rollPortProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return rollPortProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å ScheduleRollPort 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.service; |
| | | |
| | | import com.fasterxml.jackson.core.type.TypeReference; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.core.service.VisitTaskCreateApi; |
| | | import com.ruoyi.common.core.service.dto.VisitSubtaskDraft; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.core.service.dto.VisitPreachformRow; |
| | | import com.ruoyi.inhospvisit.mapper.VisitPreachformMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * ãæ§è¡æ¹å¼æç»ãåå
¥å¨ ââ éè¡æ¬èª {@code PatMedInhospServiceImpl#addServiceSubtaskPreachform} |
| | | * ï¼L1061-1103ï¼43 è¡ï¼ï¼å¹¶å®ç°ç¬¬ 7 æ¥é¢çç |
| | | * {@link InhospSubtaskWriter.SubtaskPreachformWriter} æ¥å£ã |
| | | * |
| | | * <h3>è¡ä¸ºéæ¡å¯¹ç
§</h3> |
| | | * <ol> |
| | | * <li>æ taskid æ¥ä»»å¡ï¼æ¥ä¸å° â æ ERROR å¹¶ return 0ï¼<b>䏿å¼å¸¸</b>ï¼ï¼</li> |
| | | * <li>å {@code serviceTask.preachformDesc}ï¼ä¸ºç©ºåæ´åè·³è¿ï¼è¿å 0ï¼ï¼</li> |
| | | * <li>ç¨ Jackson æ JSON ååºååæ {@code List<VisitPreachformRow>}ï¼ |
| | | * <b>è§£æå¤±è´¥åªæ ERRORï¼ä¸ä¸æ</b>ï¼éå list 为 null â èµ°"è§£æå为空"忝ï¼ï¼</li> |
| | | * <li>è§£æç»æä¸ºç©º â æ ERROR å¹¶ return 0ï¼</li> |
| | | * <li>éæ¡ï¼è®¾ {@code taskid} â {@code subid}ï¼ |
| | | * <b>å
æ¥é</b>ï¼å·²åå¨å continueï¼ä¸æ°å¢ï¼ï¼ |
| | | * {@code sendstate} é»è®¤ "1"ï¼è°ç¨æ¹ä¼ äºé空å¼åè¦åï¼ |
| | | * 设 {@code orgid}ï¼insertã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>â ï¸ åå®ç°ç 3 个è¦ç¹ï¼åæ ·ä¿ç</h3> |
| | | * <ul> |
| | | * <li>è¿åå¼ãæ°¸è¿æ¯ 0ãï¼å L1102 {@code return 0;}ï¼ï¼è°ç¨æ¹ä¹æ²¡æç¨å®çè¿åå¼ |
| | | * ââ æä»¥æ¬ç±»ä¹è¿å 0ï¼ä¸å"é¡ºææ¹ææåæ¡æ°"ï¼</li> |
| | | * <li>æ¥éç¨çæ¡ä»¶æ¯ {@code ServiceSubtaskPreachform(subid, taskid, preachform)} |
| | | * ââ <b>æ³¨ææ²¡æè®¾ orgid</b>ï¼è½ç¶ XML æ¯æè¯¥æ¡ä»¶ï¼ãåæ ·ä¿çï¼</li> |
| | | * <li>è§£æå¤±è´¥æ¶ {@code serviceSubtaskPreachformList} ä¿æ nullï¼ |
| | | * ç± {@code CollectionUtils.isEmpty(null) == true} èµ°è¿"è§£æå为空"忝 ââ åæ ·ä¿çè¿ä¸ªæ§å¶æµã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>â ï¸ ä¸è°ç¨æ¹çäºå¡å
³ç³»ï¼ä¸å¤å·²ç»è®°çå·®å¼ï¼</h3> |
| | | * åå®ç°é {@code addServiceSubtaskPreachform} ä¸ {@code insertServiceSubtask} å¨<b>åä¸ä¸ª try</b> å
ï¼ |
| | | * 宿å¼å¸¸ä¼è¢« {@code writeInSubTask} ç catch æè·å¹¶ææ å¿ä½ç½® "2"ã |
| | | * æ¬è¿å {@link InhospSubtaskWriter} æå®æ¾å¨èªå·±ç try éæ"å°½åè为"å¤ç |
| | | * ï¼è§è¯¥æ¹æ³æ³¨éï¼ãè¿æ¯<b>ææçå¥å£®æ§æ¹è¿</b>ï¼åæ§è¡æ¹å¼æç»å¤±è´¥ä¸è¯¥ |
| | | * è®©æ´æ¡é访åä»»å¡è¢«å¤ä¸ºçæå¤±è´¥ãå·²ç»è®°å¨ {@code verify_inhospvisit_writein_semantics.py} ç说æéã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class VisitPreachformWriter implements InhospSubtaskWriter.SubtaskPreachformWriter { |
| | | |
| | | /** åå®ç°é注éåæãè¿ä¸ª sendstate éè¦å¨æ°æ®åºè®¾ç½®ä¸ä¸ªé»è®¤å¼ä¸º"1"ã */ |
| | | private static final String DEFAULT_SENDSTATE = "1"; |
| | | |
| | | @Autowired |
| | | private VisitPreachformMapper preachformMapper; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<VisitTaskCreateApi> taskCreateApiProvider; |
| | | |
| | | private final ObjectMapper objectMapper = new ObjectMapper(); |
| | | |
| | | @Override |
| | | public void addServiceSubtaskPreachform(VisitSubtaskDraft serviceSubtask, String sendstate) { |
| | | // å L1063-1067ï¼æ taskid æ¥ä»»å¡ï¼è¿éèµ°ä»»å¡å建åçæ¥å£ï¼è䏿¯ç´æ¥æ¥ service_taskï¼ |
| | | VisitTaskCreateApi api = taskApi(); |
| | | String preachformDesc = api == null ? null : api.findPreachformDesc(serviceSubtask.getTaskid()); |
| | | if (api == null) { |
| | | log.error("addServiceSubtaskPreachform taskid={} æ¥ä¸å°ä»»å¡ï¼è·³è¿preachformå表çæ", |
| | | serviceSubtask.getTaskid()); |
| | | return; |
| | | } |
| | | |
| | | // å L1070-1071 |
| | | if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachformDesc)) { |
| | | // å L1072-1078ï¼ååºååï¼å¤±è´¥åªæ ERRORï¼list ä¿æ null |
| | | List<VisitPreachformRow> list = null; |
| | | try { |
| | | list = objectMapper.readValue(preachformDesc, new TypeReference<List<VisitPreachformRow>>() { |
| | | }); |
| | | } catch (Exception e) { |
| | | log.error("preachform转List<ServiceSubtaskPreachform>æ¥éäºï¼{}", e.getMessage()); |
| | | } |
| | | // å L1079-1083 |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | log.error("preachformDescè§£æå为空ï¼è·³è¿preachformå表çæï¼taskid为ï¼{}ï¼preachformDesc为ï¼{}", |
| | | serviceSubtask.getTaskid(), preachformDesc); |
| | | return; |
| | | } |
| | | // å L1084-1098 |
| | | for (VisitPreachformRow row : list) { |
| | | row.setTaskid(serviceSubtask.getTaskid()); |
| | | row.setSubid(serviceSubtask.getId()); |
| | | |
| | | // å L1088-1090ï¼å
æ¥éï¼å·²åå¨å°±ä¸æ°å¢ |
| | | VisitPreachformRow query = new VisitPreachformRow(); |
| | | query.setSubid(row.getSubid()); |
| | | query.setTaskid(row.getTaskid()); |
| | | query.setPreachform(row.getPreachform()); |
| | | List<VisitPreachformRow> exists = preachformMapper.selectList(query); |
| | | if (CollectionUtils.isNotEmpty(exists)) { |
| | | continue; |
| | | } |
| | | |
| | | // å L1092-1094ï¼é»è®¤ "1"ï¼è°ç¨æ¹ç»äºé空å¼åè¦å |
| | | row.setSendstate(DEFAULT_SENDSTATE); |
| | | if (StringUtils.isNotEmpty(sendstate)) { |
| | | row.setSendstate(sendstate); |
| | | } |
| | | |
| | | // å L1096-1097 |
| | | row.setOrgid(serviceSubtask.getOrgid()); |
| | | preachformMapper.insert(row); |
| | | } |
| | | } |
| | | |
| | | // å L1102ï¼è¿åå¼åºå®ä¸º 0ï¼è§ç±»æ³¨éï¼ |
| | | } |
| | | |
| | | private VisitTaskCreateApi taskApi() { |
| | | if (taskCreateApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return taskCreateApiProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãåºå
¥é¢é访ãè·å VisitTaskCreateApi 失败ï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** 便µè¯æè¨ï¼ç¡®è®¤æ¬ç±»æ¿å°ç ObjectMapper é空ï¼åå®ç°æ¯æ¹æ³å
newï¼è¿éæä¸ºåæ®µï¼ */ |
| | | boolean hasObjectMapper() { |
| | | return Objects.nonNull(objectMapper); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.support; |
| | | |
| | | import com.ruoyi.inhospvisit.domain.row.VisitInhospRow; |
| | | import com.ruoyi.inhospvisit.mapper.VisitInhospMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.HashSet; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * é访æ å¿ä½ååå¨ ââ ç»ä¸å°è£
"æ¹ {@code pat_med_inhosp} çåªä¸ª check_flag"è¿ä»¶äºã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th><th>è¡æ°</th></tr> |
| | | * <tr><td>{@link #updateCheckFlag(VisitInhospRow, Integer, String, String)}</td> |
| | | * <td>{@code updateCheckFlag}(L1660-1684)</td><td>25</td></tr> |
| | | * <tr><td>{@link #setFlag}</td><td>{@code writeInSubTask} ééå¤ |
| | | * {@code patMedInhosp2.setXxxcheckFlag(...)} + {@code updatePatMedInhosp}</td><td>â</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ type â åçæ å°å¿
é¡»åæ ·ä¿çï¼å«åå²äº¤ååï¼</h3> |
| | | * å {@code updateCheckFlag} ç switchï¼L1663-1679ï¼ï¼ |
| | | * <pre> |
| | | * 1 -> deptcheck_flag 2 -> wardcheck_flag 3 -> diagcheck_flag |
| | | * 4 -> in_deptcheck_flag 5 -> in_wardcheck_flag |
| | | * </pre> |
| | | * è {@code writeInSubTask} éå忶伿 ¹æ® type åç¬ setï¼ä¸åå¨<b>åå²äº¤åå</b>ï¼ |
| | | * <ul> |
| | | * <li>type=5 ç"ä»»å¡ä¸åå¨"忝ï¼L721-722ï¼åçæ¯ {@code inWardcheckFlag}ï¼</li> |
| | | * <li>type=5 ç"æå/失败åå"ï¼L885/L896ï¼åç乿¯ {@code inWardcheckFlag}ï¼</li> |
| | | * <li>ä½ {@code dealOutHospInfo} çç
åºå®£æåæ¯åçæ¯ {@code in_deptcheck_flag}ï¼è§ ruoyi-publicityï¼ã</li> |
| | | * </ul> |
| | | * æä»¥è¿é<b>ä¸ç»ä¸</b>ï¼{@link #updateCheckFlag} ç
§æå switchï¼ |
| | | * åè°ç¨ç¹è¦ååªä¸åç±å®èªå·±ç¨ {@link #setFlag} æ¾å¼æå®ãä»»ä½"顺æç»ä¸"齿¯è¡ä¸ºåæ´ã |
| | | * |
| | | * <h3>为ä»ä¹åç¬æç±»è䏿¯å¡è¿ VisitSubtaskFactory</h3> |
| | | * 工忝"纯ç»è£
"ï¼å¯è¢« A æ¡£éè¡æ¯å¯¹ï¼ï¼æ¬ç±»æ¯"ååº"ã |
| | | * æ··å¨ä¸èµ·ä¼è®©"ç»è£
å¨ä¸ä¸ªå¯ä½ç¨é½æ²¡æ"è¿ä¸ªåæå¤±æï¼æ¢éä¹å°±å¤±å»æä¹ã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InhospFlagWriter { |
| | | |
| | | /** å
许ååçæ å¿ä½åç½ååï¼ä¸ {@code VisitInhospMapper.updateFlags} ç {@code <choose>} ä¸è´ï¼ */ |
| | | private static final Set<String> ALLOWED_FLAG_COLUMNS = Collections.unmodifiableSet( |
| | | new HashSet<>(Arrays.asList( |
| | | "deptcheck_flag", "wardcheck_flag", "diagcheck_flag", "medcheck_flag", |
| | | "in_deptcheck_flag", "in_wardcheck_flag", "schedulecheck_flag"))); |
| | | |
| | | @Autowired |
| | | private VisitInhospMapper inhospMapper; |
| | | |
| | | /** |
| | | * ç»ä¸ååæ å¿ä½ ââ ç
§æå {@code updateCheckFlag(PatMedInhosp, Integer type, String flagValue, String remark)}ã |
| | | * <p> |
| | | * åå®ç°ï¼L1660-1684ï¼ï¼ |
| | | * <pre> |
| | | * PatMedInhosp updateObj = new PatMedInhosp(); |
| | | * updateObj.setInhospid(patMedInhosp.getInhospid()); |
| | | * switch (type) { case 1: updateObj.setDeptcheckFlag(flagValue); break; ... } |
| | | * if (StringUtils.isNotEmpty(remark)) { |
| | | * updateObj.setRemark(remark + " (type=" + type + ")"); |
| | | * } |
| | | * patMedInhospMapper.updatePatMedInhosp(updateObj); |
| | | * </pre> |
| | | * â ï¸ æ³¨æä¸¤ç¹ï¼ |
| | | * <ol> |
| | | * <li>å®åçæ¯ {@code remark}ï¼ä¸æ¯ {@code long_task_reason}ï¼ââåæ ·ä¿çï¼</li> |
| | | * <li>remark é空æ¶ä¼æ¼ä¸ {@code " (type=N)"} åç¼ ââ åæ ·ä¿çè¿ä¸ªæ ¼å¼ã</li> |
| | | * </ol> |
| | | * |
| | | * @param row åºå
¥é¢è®°å½ï¼åªç¨ inhospidï¼ |
| | | * @param type 1=离é¢ç§å®¤ 2=离é¢ç
åº 3=ç¾ç
4=å
¥é¢ç§å®¤ 5=å
¥é¢ç
åº |
| | | * @param flagValue è¦åå
¥çæ å¿ä½å¼ |
| | | * @param remark 夿³¨ï¼é空æ¶ä¼æ¼ {@code " (type=N)"} åç¼ååå
¥ remark å |
| | | */ |
| | | public void updateCheckFlag(VisitInhospRow row, Integer type, String flagValue, String remark) { |
| | | String column = columnOfType(type); |
| | | if (column == null) { |
| | | log.warn("ãåºå
¥é¢é访ãupdateCheckFlag æ¶å°æªç¥ type={}ï¼å¿½ç¥ãinhospid={}", |
| | | type, row == null ? null : row.getInhospid()); |
| | | return; |
| | | } |
| | | String finalRemark = remark; |
| | | if (com.ruoyi.common.utils.StringUtils.isNotEmpty(remark)) { |
| | | finalRemark = remark + " (type=" + type + ")"; |
| | | } |
| | | // åå®ç°èµ°çæ¯"æ´å®ä½å¨ææ´æ°"ï¼ä¼é¡ºå¸¦æ remark åè¿å»ï¼ã |
| | | // è¿é updateFlags åªè¦ç flag + long_task_reasonï¼æä»¥ remark éè¦åç¬åã |
| | | setFlagWithRemark(row, column, flagValue, finalRemark); |
| | | } |
| | | |
| | | /** |
| | | * åªååä¸ä¸ªæ å¿ä½ï¼å¯¹åº {@code writeInSubTask} ééå¤ set å个 flag çåæ³ï¼ã |
| | | * <p> |
| | | * åå®ç°çåæ³æ¯ï¼æ°å»ºä¸ä¸ª"åªæ inhospid + è¦æ¹ç flag"ç {@code PatMedInhosp}ï¼ |
| | | * åè° {@code updatePatMedInhosp}ï¼XML éæ¯ä¸ªåæ®µåèª {@code <if test="xxx != null">}ï¼ |
| | | * æä»¥åªæé null åæ®µçæï¼ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param column æ å¿ä½ååï¼ç½ååæ ¡éªï¼ |
| | | * @param value æ å¿ä½å¼ |
| | | * @return true = å½±åè¡æ° > 0 |
| | | */ |
| | | public boolean setFlag(Long inhospid, String column, String value) { |
| | | if (!ALLOWED_FLAG_COLUMNS.contains(column)) { |
| | | log.warn("ãåºå
¥é¢é访ãsetFlag æ¶å°éæ³ååã{}ãï¼å¿½ç¥ãinhospid={}", column, inhospid); |
| | | return false; |
| | | } |
| | | return inhospMapper.updateFlags(inhospid, column, value, null) > 0; |
| | | } |
| | | |
| | | /** |
| | | * ååæ å¿ä½ + è¦çå¼å {@code long_task_reason}ã |
| | | * <p> |
| | | * å¯¹åº {@code writeInSubTask} é"ä»»å¡ä¸åå¨"/"å¼å¸¸"忝çåæ³ï¼ |
| | | * å
{@code setLongTaskReason(æ§å¼ + ææ¡)} å updateã |
| | | * 注æï¼é£äºåæ¯å¨ Java ä¾§æ¯ {@code longTaskReason + "..."} çåç¬¦ä¸²æ¼æ¥ |
| | | * ï¼å¤æ°ä¸å¤ nullï¼ï¼æä»¥è¿éç±è°ç¨æ¹ä¼ å
¥æ¼å¥½ç宿´å¼ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param column æ å¿ä½åå |
| | | * @param value æ å¿ä½å¼ |
| | | * @param reason {@code long_task_reason} çæ°å¼ï¼null = 䏿¹å¨ |
| | | */ |
| | | public boolean setFlagWithReason(Long inhospid, String column, String value, String reason) { |
| | | if (!ALLOWED_FLAG_COLUMNS.contains(column)) { |
| | | log.warn("ãåºå
¥é¢é访ãsetFlagWithReason æ¶å°éæ³ååã{}ãï¼å¿½ç¥ãinhospid={}", column, inhospid); |
| | | return false; |
| | | } |
| | | return inhospMapper.updateFlags(inhospid, column, value, reason) > 0; |
| | | } |
| | | |
| | | /** |
| | | * æ å¿ä½å + remark ä¸èµ·åï¼å {@code updateCheckFlag} çå®é
ææï¼ã |
| | | * <p> |
| | | * {@code VisitInhospMapper.updateFlags} ä¸è¦ç remarkï¼æä»¥è¿éå¤ç¨å®å flagï¼ |
| | | * å¦å¤åç¬æ´æ° remark ââ 两个 update ä¸åå®ç°ç"䏿¬¡æ´å®ä½ update"å¨ç»æä¸çä»· |
| | | * ï¼åå®ç°ä¹åªä¼æ flag ä¸ remark ä¸¤ä¸ªåæ®µé nullï¼ã |
| | | */ |
| | | /** |
| | | * ååæ å¿ä½ + è¦çå¼å {@code remark}ï¼å {@code updateCheckFlag} çå®é
ææï¼ã |
| | | * <p> |
| | | * {@code VisitInhospMapper.updateFlags} ä¸è¦ç remarkï¼æä»¥è¿éå¤ç¨å®å flagï¼ |
| | | * å¦å¤åç¬æ´æ° remark ââ 两个 update ä¸åå®ç°ç"䏿¬¡æ´å®ä½ update"å¨ç»æä¸çä»· |
| | | * ï¼åå®ç°é£æ¬¡è°ç¨ä¹åªæ flag ä¸ remark ä¸¤ä¸ªåæ®µé nullï¼ã |
| | | * |
| | | * @param inhospid åºå
¥é¢è®°å½ID |
| | | * @param column æ å¿ä½ååï¼ç½ååæ ¡éªï¼ |
| | | * @param flagValue æ å¿ä½å¼ |
| | | * @param remark æ°ç remarkï¼null 表示åªå flag |
| | | */ |
| | | public void setFlagWithRemark(Long inhospid, String column, String flagValue, String remark) { |
| | | if (!ALLOWED_FLAG_COLUMNS.contains(column)) { |
| | | log.warn("ãåºå
¥é¢é访ãsetFlagWithRemark æ¶å°éæ³ååã{}ãï¼å¿½ç¥ãinhospid={}", column, inhospid); |
| | | return; |
| | | } |
| | | if (inhospid == null) { |
| | | log.warn("ãåºå
¥é¢é访ãsetFlagWithRemark ç¼ºå° inhospidï¼å¿½ç¥ãcolumn={}", column); |
| | | return; |
| | | } |
| | | inhospMapper.updateFlags(inhospid, column, flagValue, null); |
| | | if (remark != null) { |
| | | inhospMapper.updateRemark(inhospid, remark); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ å¿ä½å + remark ä¸èµ·åï¼{@link #updateCheckFlag} ç¨ï¼å
¥åæ¯è¡å¯¹è±¡ï¼ã |
| | | */ |
| | | private void setFlagWithRemark(VisitInhospRow row, String column, String flagValue, String remark) { |
| | | if (row == null || row.getInhospid() == null) { |
| | | log.warn("ãåºå
¥é¢é访ãsetFlagWithRemark ç¼ºå° inhospidï¼å¿½ç¥ãcolumn={}", column); |
| | | return; |
| | | } |
| | | setFlagWithRemark(row.getInhospid(), column, flagValue, remark); |
| | | } |
| | | |
| | | /** |
| | | * type â æ å¿ä½åãç
§æå {@code updateCheckFlag} ç switchã |
| | | * |
| | | * @return ååï¼æªç¥ type è¿å {@code null} |
| | | */ |
| | | private String columnOfType(Integer type) { |
| | | if (type == null) { |
| | | return null; |
| | | } |
| | | switch (type) { |
| | | case 1: |
| | | return "deptcheck_flag"; |
| | | case 2: |
| | | return "wardcheck_flag"; |
| | | case 3: |
| | | return "diagcheck_flag"; |
| | | case 4: |
| | | return "in_deptcheck_flag"; |
| | | case 5: |
| | | return "in_wardcheck_flag"; |
| | | default: |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.support; |
| | | |
| | | import com.ruoyi.common.core.service.dto.VisitSubtaskDraft; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitInhospRow; |
| | | import com.ruoyi.inhospvisit.domain.row.VisitTaskRow; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * é访åä»»å¡ãç»è£
å¨ãââ éè¡æ¬èª {@code PatMedInhospServiceImpl} ç两个 boxed æ¹æ³ã |
| | | * |
| | | * <h3>æ¥æºå¯¹ç
§ï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th><th>è¡æ°</th></tr> |
| | | * <tr><td>{@link #boxedServiceSubtask}</td><td>{@code boxedServiceSubtask}(L1108-1222)</td><td>115</td></tr> |
| | | * <tr><td>{@link #boxedServiceSubtaskForOp}</td><td>{@code boxedServiceSubtaskForOp}(L1225-1300)</td><td>76</td></tr> |
| | | * <tr><td>{@link #addDays}</td><td>{@code addDays}(L663-671)</td><td>9</td></tr> |
| | | * <tr><td>{@link #minusDay}</td><td>{@code minusDay}(L1309-1318)</td><td>10</td></tr> |
| | | * <tr><td>{@link #updateCheckFlag}</td><td>{@code updateCheckFlag}(L1660-1684)</td><td>25</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ ä¸ä¸ªæå®¹æè¢«æ¼æçè¯ä¹ï¼æ¬ç±»å·²é个æ¾å¼å¤çï¼</h3> |
| | | * <ol> |
| | | * <li><b>{@code DtoConversionUtils.sourceToTarget} çéæ§åæ®µæ¬è¿</b>ï¼ |
| | | * åå®ç°ç¬¬ä¸è¡æ {@code ServiceTask}â{@code ServiceSubtask} ç 33 个åååæ®µæ´æ¹æ·è¿æ¥ï¼ |
| | | * å
¶ä¸ <b>18 个ä¹åå乿²¡è¢«æ¾å¼è¦ç</b>ï¼{@code delFlag diagType endOutHospTime guid isupload |
| | | * leavehospitaldistrictcodes leaveldeptcodes libtemplatename pageNum pageSize pid sendType |
| | | * startOutHospTime taskDesc taskName textParam type uploadTime}ï¼ã |
| | | * æ¬ç±»æè¿ 18 个<b>é个æ¾å¼</b>æ¬è¿ {@link VisitSubtaskDraft}ï¼è§ |
| | | * {@link #applyCarriedOverFieldsFromTask}ãå°ä¸ä¸ªå°±ä¼éé»ä¸¢å¼ã</li> |
| | | * <li><b>ä¸¤ä¸ªæ¹æ³å¤±è´¥æ¶çè¿åè¯ä¹ä¸å</b>ï¼ |
| | | * {@code boxedServiceSubtask} åºé¢æ¶é´ä¸ºç©ºæ¶è¿å <b>{@code new ServiceSubtask()} 空对象</b>ï¼ |
| | | * {@code boxedServiceSubtaskForOp} è¿å <b>{@code null}</b>ã |
| | | * æä»¥æ¬ç±»ç¬¬ä¸ä¸ªè¿å"空è稿"ï¼ç¬¬äºä¸ªè¿å {@code null}ã</li> |
| | | * <li><b>第ä¸ä¸ªæ¹æ³ä¼<b>顺æååº</b></b>ï¼åºé¢æ¶é´ä¸ºç©ºæ¶å®æ |
| | | * {@code deptcheckFlag="2"} ä¸ {@code remark} åå {@code pat_med_inhosp}ã |
| | | * è¿å±äº"å¯ä½ç¨"ï¼æ¬ç±»éè¿ {@link BoxedSideEffect} åè°äº¤åè°ç¨æ¹æ§è¡ï¼ |
| | | * é¿å
ç»è£
å¨ç´æ¥ä¾èµ Mapperã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>â ï¸ ä¸æ¹æ¡çå·®å¼ï¼å·²ç»è®°ï¼</h3> |
| | | * æ¹æ¡å计åå« {@code VisitSubtaskFactory} å¹¶åæ¶æ¿è½½ {@code writeInSubTask}ã |
| | | * å®é
å®ç°æ¶æå®æ¶çªä¸º"纯ç»è£
+ 纯工å
·"ï¼å 为 {@code writeInSubTask}ï¼232 è¡ï¼éæå¤§é |
| | | * ååºä¸å»éç¼æï¼æ··å¨ä¸èµ·ä¼è®©æ¬ç±»ç A æ¡£éè¡çä»·æ¢é失廿ä¹ã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class VisitSubtaskFactory { |
| | | |
| | | /** åºé¢é访ï¼åä¸ç
é访ï¼çä»»å¡ç±»åå¼ï¼éç¥ç±»ï¼éè¦æå N 天å */ |
| | | private static final String TASK_TYPE_NOTICE = "3"; |
| | | |
| | | /** å
¥é¢å®£æçæå¡ç±»å */ |
| | | private static final String SERVICE_TYPE_IN_HOSP_PUBLICITY = "17"; |
| | | |
| | | /** |
| | | * æ¯å®æºæIDï¼åå®ç°é硬ç¼ç çç½ååï¼åæ ·ä¿çï¼ã |
| | | * <p> |
| | | * â ï¸ è¿ä¸ªå¼æç¬¬ä¸çå°±æéäºä¸ä½ï¼åæäº {@code ...1271011A1001}ï¼ã |
| | | * å·²éåæ ¸å¯¹åå®ç°åºç°è¿ç 4 å¤ï¼ |
| | | * {@code PatMedInhospServiceImpl} L798 / L1186(注é) / L1195 / L1338ï¼å为 |
| | | * {@code 47255004333112711A1001}ãæéä¼å¯¼è´"æ¯å®çç½åååæ¯æ°¸è¿ä¸çæ"ã |
| | | */ |
| | | private static final String ORG_JINGNING = "47255004333112711A1001"; |
| | | |
| | | @Value("${spring.profiles.active}") |
| | | private String active; |
| | | |
| | | /** |
| | | * ç»è£
é¢å¤é访ï¼ç§å®¤/ç
åº/ç¾ç
/宣æ/è¯åï¼çåä»»å¡è稿ã |
| | | * <p> |
| | | * éè¡å¯¹åº {@code boxedServiceSubtask(ServiceTask, PatMedInhosp, PatArchive, String, Integer)} L1108-1222ã |
| | | * |
| | | * @param serviceTask é¿æä»»å¡ |
| | | * @param inhosp åºå
¥é¢è®°å½ |
| | | * @param archive æ£è
æ¡£æ¡ |
| | | * @param config {@code sys_config: visit.early.day} |
| | | * @param type 0=è¯å宣æ / 1=离é¢ç§å®¤ / 2=离é¢ç
åº / 3=ç¾ç
/ 4=å
¥é¢ç§å®¤ / 5=å
¥é¢ç
åº |
| | | * @param sideEffect å¯ä½ç¨åè°ï¼åºé¢æ¶é´ä¸ºç©ºæ¶è¦ææ å¿ä½ä¸å¤æ³¨åååºï¼ï¼å¯ä¸º {@code null}ï¼æµè¯ç¨ï¼ |
| | | * @return ç»è£
好çè稿ï¼<b>åºé¢æ¶é´ä¸ºç©ºä¸ typeâ{4,5} æ¶è¿å"空è稿"</b>ï¼å¯¹åºåå®ç° {@code new ServiceSubtask()}ï¼ |
| | | */ |
| | | public VisitSubtaskDraft boxedServiceSubtask(VisitTaskRow serviceTask, VisitInhospRow inhosp, |
| | | VisitArchiveRow archive, String config, Integer type, |
| | | BoxedSideEffect sideEffect) { |
| | | VisitSubtaskDraft d = new VisitSubtaskDraft(); |
| | | |
| | | // ---- å L1113ï¼DtoConversionUtils çæ´æ¹æ·è´ï¼18 ä¸ªåæ®µé å®å¸¦è¿æ¥ï¼---- |
| | | applyCarriedOverFieldsFromTask(d, serviceTask); |
| | | |
| | | // ---- å L1114-1118 ---- |
| | | d.setTaskid(serviceTask.getTaskid()); |
| | | d.setOrgid(serviceTask.getOrgid()); |
| | | d.setCampusid(serviceTask.getCampusid()); |
| | | if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid())) { |
| | | d.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | } |
| | | // ---- å L1119-1127 ---- |
| | | d.setNurseId(inhosp.getNurseId()); |
| | | d.setNurseName(inhosp.getNurseName()); |
| | | d.setInhospid(inhosp.getInhospid()); |
| | | d.setDrcode(inhosp.getDrcode()); |
| | | d.setDrname(inhosp.getDrname()); |
| | | d.setDeptcode(inhosp.getLeaveldeptcode()); |
| | | d.setDeptname(inhosp.getLeaveldeptname()); |
| | | d.setLeavehospitaldistrictcode(inhosp.getLeavehospitaldistrictcode()); |
| | | d.setLeavehospitaldistrictname(inhosp.getLeavehospitaldistrictname()); |
| | | // ---- å L1128-1134ï¼type 4/5 æ¹ç¨å
¥é¢ç»´åº¦ ---- |
| | | if (type != null && (type == 4 || type == 5)) { |
| | | d.setDeptcode(inhosp.getDeptcode()); |
| | | d.setDeptname(inhosp.getDeptname()); |
| | | d.setLeavehospitaldistrictcode(inhosp.getHospitaldistrictcode()); |
| | | d.setLeavehospitaldistrictname(inhosp.getHospitaldistrictname()); |
| | | } |
| | | // ---- å L1135-1146 ---- |
| | | d.setLeaveicd10code(inhosp.getLeaveicd10code()); |
| | | d.setLeavediagname(inhosp.getLeavediagname()); |
| | | d.setDiagname(inhosp.getDiagname()); |
| | | d.setTemplateid(serviceTask.getTemplateid()); |
| | | d.setTemplatename(serviceTask.getTemplatename()); |
| | | d.setPatid(archive.getId()); |
| | | d.setSendname(archive.getName()); |
| | | d.setSfzh(archive.getIdcardno()); |
| | | d.setPhone(archive.getTelcode()); |
| | | if (StringUtils.isBlank(archive.getTelcode())) { |
| | | d.setPhone(archive.getRelativetelcode()); |
| | | } |
| | | d.setSex(archive.getSex()); |
| | | d.setAge(archive.getAge()); |
| | | // ---- å L1147-1163 ---- |
| | | d.setSendstate(2L); |
| | | d.setCampusid(inhosp.getCampusid()); |
| | | d.setManagementDoctor(inhosp.getManagementDoctor()); |
| | | d.setManagementDoctorCode(inhosp.getManagementDoctorCode()); |
| | | d.setStarttime(inhosp.getStarttime()); |
| | | d.setEndtime(inhosp.getEndtime()); |
| | | d.setServiceType(serviceTask.getServiceType()); |
| | | d.setPreachform(serviceTask.getPreachform()); |
| | | d.setHospType("2"); |
| | | if (type != null && (type == 4 || type == 5)) { |
| | | d.setHospType("6"); |
| | | } |
| | | d.setCreateTime(new Date()); |
| | | d.setUpdateTime(new Date()); |
| | | d.setCreateBy(inhosp.getNurseName()); |
| | | d.setLeavehospitaldistrictcode(inhosp.getLeavehospitaldistrictcode()); |
| | | d.setLeavehospitaldistrictname(inhosp.getLeavehospitaldistrictname()); |
| | | d.setUpdateBy(serviceTask.getUpdateBy()); |
| | | d.setUpdateTime(new Date()); |
| | | // å L1164-1165ï¼å¦ææ¯å®£æå°±è®¾ç½®ä¸º7 |
| | | // â ï¸ åå®ç°ç´æ¥ getServiceType().equals("17")ï¼serviceType 为 null ä¼ NPE ââ åæ ·ä¿ç该é£é© |
| | | if (serviceTask.getServiceType() != null |
| | | && SERVICE_TYPE_IN_HOSP_PUBLICITY.equals(serviceTask.getServiceType())) { |
| | | d.setTaskSituation(7); |
| | | } |
| | | // ---- å L1166-1182ï¼åéæ¶é´ ---- |
| | | if (serviceTask.getSendDay() == null) { |
| | | serviceTask.setSendDay(1L); |
| | | } |
| | | Date newDate; |
| | | if (inhosp.getEndtime() != null) { |
| | | newDate = addDays(inhosp.getEndtime(), serviceTask.getSendDay().intValue()); |
| | | } else { |
| | | // 妿çäº4/5è¯´ææ¯å
¥é¢å®£æï¼å
¥é¢ä¸å¯è½æ endTime |
| | | if (type == null || (type != 4 && type != 5)) { |
| | | // å L1174-1178ï¼â
å¯ä½ç¨ï¼åå deptcheckFlag="2" + remarkï¼ç¶åè¿åã空è稿ã |
| | | if (sideEffect != null) { |
| | | sideEffect.onMissingOutHospTime(inhosp); |
| | | } |
| | | return new VisitSubtaskDraft(); |
| | | } |
| | | // å
¥é¢å®£æï¼åºæ¬å½å¤©æé天就è¦ååº |
| | | newDate = addDays(new Date(), serviceTask.getSendDay().intValue()); |
| | | } |
| | | d.setLongSendTime(newDate); |
| | | d.setVisitTime(newDate); |
| | | |
| | | // ---- å L1187-1203ï¼éç¥ç±»æå N 天 ---- |
| | | if (TASK_TYPE_NOTICE.equals(serviceTask.getType())) { |
| | | d.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0)); |
| | | if (inhosp.getFudate() != null) { |
| | | d.setVisitTime(minusDay(inhosp.getFudate(), StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0)); |
| | | } else { |
| | | // 夿æ¯ä¸æ¯æ¯å® |
| | | if (ORG_JINGNING.equals(inhosp.getOrgid())) { |
| | | d.setVisitTime(null); |
| | | // 䏿§è¡ |
| | | d.setSendstate(4L); |
| | | d.setRemark("æ¯å®æ²¡æç»é访æ¶é´ï¼ä¸åééç¥çä¿¡"); |
| | | } |
| | | } |
| | | } |
| | | // ---- å L1204-1210ï¼ååéä¸ï¼å
¥é¢åºé¢åä¸å¤©ä¸é访 ---- |
| | | if ("nhfy".equals(active) && inhosp.getStarttime() != null && inhosp.getEndtime() != null |
| | | && daysBetweenByMillisecond(inhosp.getStarttime(), inhosp.getEndtime()) == 0) { |
| | | d.setRemark("æ£è
å½å¤©åºé¢ï¼ä¸ç¨é访"); |
| | | d.setResult("error"); |
| | | // 䏿§è¡ |
| | | d.setSendstate(4L); |
| | | } |
| | | // ---- å L1212-1220ï¼æ£è
维度ç"å
é访"æ è®° ---- |
| | | if (StringUtils.isNotEmpty(archive.getNotrequiredFlag()) && "1".equals(archive.getNotrequiredFlag())) { |
| | | d.setRemark(archive.getNotrequiredreason()); |
| | | d.setResult("error"); |
| | | d.setTaskSituation(6); |
| | | // 䏿§è¡ |
| | | d.setSendstate(4L); |
| | | } |
| | | return d; |
| | | } |
| | | |
| | | /** |
| | | * ç»è£
ææ¯é访çåä»»å¡è稿ã |
| | | * <p> |
| | | * éè¡å¯¹åº {@code boxedServiceSubtaskForOp(ServiceTask, PatMedInhosp, PatMedOperationItem, PatArchive, String)} |
| | | * L1225-1300ã |
| | | * <p> |
| | | * â ï¸ ä¸ {@link #boxedServiceSubtask} ç两å¤å
³é®å·®å¼ï¼ |
| | | * <ol> |
| | | * <li>åºé¢æ¶é´ä¸ºç©ºæ¶è¿å <b>{@code null}</b>ï¼ä¸æ¯ç©ºè稿ï¼ï¼å¹¶ä¸åçæ¯ |
| | | * {@code pat_med_operation_item.opercheck_flag="2"} è<b>䏿¯</b> inhosp çæ å¿ä½ï¼</li> |
| | | * <li>ä¸ä½¿ç¨ type åæ°ï¼ä¹ä¸è®¾ {@code taskSituation}/{@code hospType="6"}ã</li> |
| | | * </ol> |
| | | * |
| | | * @param operationItemId ææ¯æç»IDï¼å {@code patMedOperationItem.getId()}ï¼ |
| | | * @param onMissingOutHospTime åºé¢æ¶é´ä¸ºç©ºæ¶çå¯ä½ç¨åè°ï¼å¯ä¸º {@code null} |
| | | * @return è稿ï¼åºé¢æ¶é´ä¸ºç©ºæ¶è¿å {@code null} |
| | | */ |
| | | public VisitSubtaskDraft boxedServiceSubtaskForOp(VisitTaskRow serviceTask, VisitInhospRow inhosp, |
| | | Long operationItemId, VisitArchiveRow archive, |
| | | String config, |
| | | java.util.function.Consumer<VisitInhospRow> onMissingOutHospTime) { |
| | | VisitSubtaskDraft d = new VisitSubtaskDraft(); |
| | | |
| | | // ---- å L1226ï¼æ·è´ ---- |
| | | applyCarriedOverFieldsFromTask(d, serviceTask); |
| | | |
| | | // ---- å L1227-1231 ---- |
| | | d.setTaskid(serviceTask.getTaskid()); |
| | | d.setOrgid(serviceTask.getOrgid()); |
| | | d.setCampusid(serviceTask.getCampusid()); |
| | | if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid())) { |
| | | d.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | } |
| | | // ---- å L1232-1240 ---- |
| | | d.setNurseId(inhosp.getNurseId()); |
| | | d.setNurseName(inhosp.getNurseName()); |
| | | d.setInhospid(inhosp.getInhospid()); |
| | | d.setDrcode(inhosp.getDrcode()); |
| | | d.setDrname(inhosp.getDrname()); |
| | | d.setDeptcode(inhosp.getLeaveldeptcode()); |
| | | d.setDeptname(inhosp.getLeaveldeptname()); |
| | | d.setLeavehospitaldistrictcode(inhosp.getLeavehospitaldistrictcode()); |
| | | d.setLeavehospitaldistrictname(inhosp.getLeavehospitaldistrictname()); |
| | | // ---- å L1242-1251 ---- |
| | | d.setTemplateid(serviceTask.getTemplateid()); |
| | | d.setTemplatename(serviceTask.getTemplatename()); |
| | | d.setPatid(archive.getId()); |
| | | d.setSendname(archive.getName()); |
| | | d.setSfzh(archive.getIdcardno()); |
| | | d.setPhone(archive.getTelcode()); |
| | | if (StringUtils.isBlank(archive.getTelcode())) { |
| | | d.setPhone(archive.getRelativetelcode()); |
| | | } |
| | | d.setSex(archive.getSex()); |
| | | d.setAge(archive.getAge()); |
| | | d.setSendstate(2L); |
| | | d.setManagementDoctor(inhosp.getDrname()); |
| | | d.setManagementDoctorCode(inhosp.getDrcode()); |
| | | // ---- å L1255-1266 ---- |
| | | d.setStarttime(inhosp.getStarttime()); |
| | | d.setEndtime(inhosp.getEndtime()); |
| | | d.setServiceType(serviceTask.getServiceType()); |
| | | d.setPreachform(serviceTask.getPreachform()); |
| | | d.setHospType("2"); |
| | | d.setCreateTime(new Date()); |
| | | d.setUpdateTime(new Date()); |
| | | d.setCreateBy(inhosp.getNurseName()); |
| | | d.setOperationItemId(operationItemId); |
| | | d.setUpdateBy(serviceTask.getUpdateBy()); |
| | | d.setUpdateTime(new Date()); |
| | | // ---- å L1268-1282ï¼åéæ¶é´ ---- |
| | | if (serviceTask.getSendDay() == null) { |
| | | serviceTask.setSendDay(1L); |
| | | } |
| | | Date newDate; |
| | | if (inhosp.getEndtime() != null) { |
| | | newDate = addDays(inhosp.getEndtime(), serviceTask.getSendDay().intValue()); |
| | | } else { |
| | | // å L1274-1281ï¼â
å¯ä½ç¨è½å¨ pat_med_operation_item ä¸ï¼ç±è°ç¨æ¹æ§è¡ |
| | | if (onMissingOutHospTime != null) { |
| | | onMissingOutHospTime.accept(inhosp); |
| | | } |
| | | // 妿åºé¢æ¶é´ä¸ºç©ºï¼åè¿å nullï¼æ³¨æï¼ä¸æ¯ç©ºèç¨¿ï¼ |
| | | return null; |
| | | } |
| | | d.setLongSendTime(newDate); |
| | | d.setVisitTime(newDate); |
| | | // ---- å L1286-1289ï¼éç¥ç±»æå N 天 ---- |
| | | if (TASK_TYPE_NOTICE.equals(serviceTask.getType())) { |
| | | d.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0)); |
| | | } |
| | | // ---- å L1290-1298ï¼å
é访æ è®° ---- |
| | | if (StringUtils.isNotEmpty(archive.getNotrequiredFlag()) && "1".equals(archive.getNotrequiredFlag())) { |
| | | d.setRemark(archive.getNotrequiredreason()); |
| | | d.setResult("error"); |
| | | d.setTaskSituation(6); |
| | | d.setSendstate(4L); |
| | | } |
| | | return d; |
| | | } |
| | | |
| | | /** |
| | | * æ {@code DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class)} é |
| | | * <b>æ·å
¥ä½ä¹ååæªè¢«æ¾å¼è¦ç</b>ç 18 ä¸ªåæ®µæ¾å¼æ¬è¿æ¥ã |
| | | * <p> |
| | | * â ï¸ è¿ 18 ä¸ªåæ®µæ¯"éå¼"è¿åä»»å¡çï¼åå®ç°æ²¡æä¸è¡ set å®ä»¬ï¼ |
| | | * å
¨é DtoConversionUtils çååæ·è´ãæ¬è¿åå¿
é¡»æ¾å¼ååºï¼å¦åå¼ä¼ä¸¢ã |
| | | * æ¸
åç±èæ¬ä» {@code ServiceTask â© ServiceSubtask} åå»"被æ¾å¼ set è¿ç"ç®åºï¼ |
| | | * å¹¶ç± {@code sql/_probe/verify_inhospvisit_semantics.py} æè¨ã |
| | | */ |
| | | private void applyCarriedOverFieldsFromTask(VisitSubtaskDraft d, VisitTaskRow t) { |
| | | d.setDelFlag(t.getDelFlag()); |
| | | d.setDiagType(t.getDiagType()); |
| | | d.setEndOutHospTime(t.getEndOutHospTime()); |
| | | d.setGuid(t.getGuid()); |
| | | d.setIsupload(t.getIsupload()); |
| | | d.setLeavehospitaldistrictcodes(t.getLeavehospitaldistrictcodes()); |
| | | d.setLeaveldeptcodes(t.getLeaveldeptcodes()); |
| | | d.setLibtemplatename(t.getLibtemplatename()); |
| | | d.setPageNum(t.getPageNum()); |
| | | d.setPageSize(t.getPageSize()); |
| | | d.setPid(t.getPid() == null ? null : t.getPid().longValue()); |
| | | d.setSendType(t.getSendType() == null ? null : String.valueOf(t.getSendType())); |
| | | d.setStartOutHospTime(t.getStartOutHospTime()); |
| | | d.setTaskDesc(t.getTaskDesc()); |
| | | d.setTaskName(t.getTaskName()); |
| | | d.setTextParam(t.getTextParam()); |
| | | d.setType(t.getType()); |
| | | d.setUploadTime(t.getUploadTime()); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // å·¥å
·æ¹æ³ï¼åæ ·ç
§æï¼å«å·²ç¥ç¼ºé·ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * æ¥æå 天æ°ï¼å {@code addDays}ï¼L663-671ï¼ã{@code days} 为 null æ¶æ 1 å¤çã |
| | | */ |
| | | public Date addDays(Date date, Integer days) { |
| | | if (days == null) { |
| | | days = 1; |
| | | } |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | calendar.add(Calendar.DAY_OF_MONTH, days); |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | /** |
| | | * åå»ç¸åºå¤©æ°ï¼å {@code minusDay}ï¼L1309-1318ï¼ã |
| | | * <p> |
| | | * â ï¸ <b>å·²ç¥ç¼ºé·ï¼åæ ·ä¿ç</b>ï¼åå®ç°åæ» {@code instant.minus(2, ChronoUnit.DAYS)}ï¼ |
| | | * <b>å®å
¨å¿½ç¥ {@code day} å
¥å</b>ãè°ç¨ç¹ä¼ çæ¯ {@code sys_config: visit.early.day}ï¼ |
| | | * ä½å®é
æææ°¸è¿æ¯"å 2 天"ã |
| | | * <p> |
| | | * <b>ä¸ä¿®</b>ï¼ä¿®äºä¼æ¹å线ä¸éç¥çä¿¡çåéæ¶é´ï¼å±å¯è§è¡ä¸ºåæ´ã |
| | | */ |
| | | public Date minusDay(Date originalDate, Integer day) { |
| | | // åæ ·ç
§æï¼å
¥å day 被忽ç¥ï¼åºå®å 2 天 |
| | | java.time.Instant instant = originalDate.toInstant(); |
| | | java.time.Instant twoDaysAgoInstant = instant.minus(2, java.time.temporal.ChronoUnit.DAYS); |
| | | return Date.from(twoDaysAgoInstant); |
| | | } |
| | | |
| | | /** |
| | | * 两个 {@code Date} ç¸å·®å¤å°å¤©ï¼å {@code DateUtils.differentDaysByMillisecond}ï¼ã |
| | | * <p> |
| | | * åå®ç° {@code boxedServiceSubtask} L1205 ç´æ¥è° {@code DateUtils.differentDaysByMillisecond}ï¼ |
| | | * 该工å
·å¨ ruoyi-commonï¼æ°æ¨¡åå¯ä»¥ç´æ¥ç¨ ââ è¿éåªæ¯æè°ç¨ç¹æ¶æå°ä¸å¤ï¼ |
| | | * ä¾¿äºæ¢éæè¨"ç¨çæ¯åä¸ä¸ªå·¥å
·"ã |
| | | */ |
| | | private int daysBetweenByMillisecond(Date start, Date end) { |
| | | return com.ruoyi.common.utils.DateUtils.differentDaysByMillisecond(start, end); |
| | | } |
| | | |
| | | /** |
| | | * ç»è£
å¨çå¯ä½ç¨åè°ï¼å {@code boxedServiceSubtask} åºé¢æ¶é´ä¸ºç©ºæ¶ä¼é¡ºæååºï¼ã |
| | | * <p> |
| | | * æ½æåè°æ¯ä¸ºäºè®©ç»è£
å¨<b>ä¸ç´æ¥ä¾èµ Mapper</b>ï¼ä¿æ"纯ç»è£
"å¯è¢«éè¡æ¯å¯¹ã |
| | | * çæ£çååºç± {@code InhospVisitTaskService} å®ç°ã |
| | | */ |
| | | public interface BoxedSideEffect { |
| | | |
| | | /** |
| | | * åºé¢æ¶é´ä¸ºç©ºæ¶çååï¼å L1174-1176 |
| | | * <pre> |
| | | * patMedInhosp1.setDeptcheckFlag("2"); |
| | | * patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该æ£è
ç¾ç
åºé¢æ¶é´ä¸ºç©º,åºé¢è®°å½ID为:" + patMedInhosp1.getInhospid()); |
| | | * patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | * </pre> |
| | | */ |
| | | void onMissingOutHospTime(VisitInhospRow inhosp); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.inhospvisit.mapper.PatMedInhospMapper"> |
| | | |
| | | <resultMap type="com.ruoyi.inhospvisit.domain.PatMedInhosp" id="PatMedInhospResult"> |
| | | <result property="inhospid" column="inhospid"/> |
| | | <result property="inhospno" column="inhospno"/> |
| | | <result property="serialnum" column="serialnum"/> |
| | | <result property="hospitalname" column="hospitalname"/> |
| | | <result property="hospitalcode" column="hospitalcode"/> |
| | | <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> |
| | | <result property="hospitaldistrictname" column="hospitaldistrictname"/> |
| | | <result property="icd10code" column="icd10code"/> |
| | | <result property="diagname" column="diagname"/> |
| | | <result property="starttime" column="starttime"/> |
| | | <result property="endtime" column="endtime"/> |
| | | <result property="deptcode" column="deptcode"/> |
| | | <result property="deptname" column="deptname"/> |
| | | <result property="roomno" column="roomno"/> |
| | | <result property="bedNo" column="bed_no"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="isupload" column="isupload"/> |
| | | <result property="uploadTime" column="upload_time"/> |
| | | <result property="patid" column="patid"/> |
| | | <result property="leavediagname" column="leavediagname"/> |
| | | <result property="leaveicd10code" column="leaveicd10code"/> |
| | | <result property="drcode" column="drcode"/> |
| | | <result property="drname" column="drname"/> |
| | | <result property="schemestatus" column="schemestatus"/> |
| | | <result property="generalschemestatus" column="generalschemestatus"/> |
| | | <result property="leaveldeptcode" column="leaveldeptcode"/> |
| | | <result property="leaveldeptname" column="leaveldeptname"/> |
| | | <result property="hospitaldistrictid" column="hospitaldistrictid"/> |
| | | <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> |
| | | <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> |
| | | <result property="leavehospitaldistrictid" column="leavehospitaldistrictid"/> |
| | | <result property="deptid" column="deptid"/> |
| | | <result property="leaveldeptid" column="leaveldeptid"/> |
| | | <result property="schemetime" column="schemetime"/> |
| | | <result property="patname" column="patname"/> |
| | | <result property="patno" column="patno"/> |
| | | <result property="inhospstate" column="inhospstate"/> |
| | | <result property="deptcheckFlag" column="deptcheck_flag"/> |
| | | <result property="inWardcheckFlag" column="in_wardcheck_flag"/> |
| | | <result property="inDeptcheckFlag" column="in_deptcheck_flag"/> |
| | | <result property="wardcheckFlag" column="wardcheck_flag"/> |
| | | <result property="diagcheckFlag" column="diagcheck_flag"/> |
| | | <result property="scheduleCheckFlag" column="schedulecheck_flag"/> |
| | | <result property="age" column="age"/> |
| | | <result property="sex" column="sex"/> |
| | | <result property="telcode" column="telcode"/> |
| | | <result property="longTaskReason" column="long_task_reason"/> |
| | | <result property="nurseId" column="nurse_id"/> |
| | | <result property="nurseName" column="nurse_name"/> |
| | | <result property="outWayId" column="out_way_id"/> |
| | | <result property="outWayName" column="out_way_name"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="operator" column="operator"/> |
| | | <result property="operatorId" column="operator_id"/> |
| | | <result property="remark" column="remark"/> |
| | | <result property="tagname" column="tagname"/> |
| | | <result property="fuflag" column="fuflag"/> |
| | | <result property="fudate" column="fudate"/> |
| | | <result property="fuperiod" column="fuperiod"/> |
| | | <result property="futypecode" column="futypecode"/> |
| | | <result property="futypedesc" column="futypedesc"/> |
| | | <result property="fuadvice" column="fuadvice"/> |
| | | <result property="fuspecialadvice" column="fuspecialadvice"/> |
| | | <result property="managementDoctor" column="management_doctor"/> |
| | | <result property="managementDoctorCode" column="management_doctor_code"/> |
| | | <result property="campusid" column="campusid"/> |
| | | <result property="inhospMydFlag" column="inhosp_myd_flag"/> |
| | | <result property="encounterSourceId" column="encounter_source_id"/> |
| | | <result property="importanceFlagCode" column="importance_flag_code"/> |
| | | <result property="emergencyLevelCode" column="emergency_level_code"/> |
| | | <result property="medicalCode" column="medical_code"/> |
| | | <result property="medicalName" column="medical_name"/> |
| | | <result property="medicalCompany" column="medical_company"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectPatMedInhospVo"> |
| | | select inhospid, |
| | | medical_code, |
| | | medical_name, |
| | | medical_company, |
| | | encounter_source_id, |
| | | importance_flag_code, |
| | | emergency_level_code, |
| | | patname, |
| | | inhosp_myd_flag, |
| | | campusid, |
| | | fuflag, |
| | | management_doctor, |
| | | management_doctor_code, |
| | | fudate, |
| | | fuperiod, |
| | | futypecode, |
| | | futypedesc, |
| | | fuadvice, |
| | | fuspecialadvice, |
| | | remark, |
| | | guid, |
| | | operator, |
| | | operator_id, |
| | | out_way_id, |
| | | out_way_name, |
| | | nurse_id, |
| | | nurse_name, |
| | | deptcheck_flag, |
| | | wardcheck_flag, |
| | | in_deptcheck_flag, |
| | | in_wardcheck_flag, |
| | | diagcheck_flag, |
| | | schedulecheck_flag, |
| | | inhospstate, |
| | | patno, |
| | | long_task_reason, |
| | | inhospno, |
| | | serialnum, |
| | | hospitalname, |
| | | hospitalcode, |
| | | hospitaldistrictcode, |
| | | hospitaldistrictname, |
| | | icd10code, |
| | | diagname, |
| | | starttime, |
| | | endtime, |
| | | deptcode, |
| | | deptname, |
| | | roomno, |
| | | bed_no, |
| | | orgid, |
| | | del_flag, |
| | | update_by, |
| | | update_time, |
| | | create_by, |
| | | create_time, |
| | | isupload, |
| | | upload_time, |
| | | patid, |
| | | leavediagname, |
| | | leaveicd10code, |
| | | drcode, |
| | | drname, |
| | | schemestatus, |
| | | generalschemestatus, |
| | | leaveldeptcode, |
| | | leaveldeptname, |
| | | hospitaldistrictid, |
| | | leavehospitaldistrictcode, |
| | | leavehospitaldistrictname, |
| | | leavehospitaldistrictid, |
| | | deptid, |
| | | leaveldeptid, |
| | | schemetime |
| | | from pat_med_inhosp |
| | | </sql> |
| | | |
| | | <select id="selectPatMedInhospList" parameterType="com.ruoyi.inhospvisit.domain.PatMedInhosp" resultMap="PatMedInhospResult"> |
| | | select a.age AS age, |
| | | a.telcode as telcode, |
| | | a.sex, |
| | | b.inhospid, |
| | | b.nurse_id, |
| | | b.nurse_name, |
| | | b.patname, |
| | | b.management_doctor, |
| | | b.management_doctor_code, |
| | | b.out_way_id, |
| | | b.out_way_name, |
| | | b.deptcheck_flag, |
| | | b.wardcheck_flag, |
| | | b.in_deptcheck_flag, |
| | | b.in_wardcheck_flag, |
| | | b.diagcheck_flag, |
| | | b.schedulecheck_flag, |
| | | b.inhospstate, |
| | | b.patno, |
| | | b.inhospno, |
| | | b.serialnum, |
| | | b.hospitalname, |
| | | b.hospitalcode, |
| | | b.hospitaldistrictcode, |
| | | b.hospitaldistrictname, |
| | | b.icd10code, |
| | | b.diagname, |
| | | b.starttime, |
| | | b.endtime, |
| | | b.deptcode, |
| | | b.campusid, |
| | | b.deptname, |
| | | b.roomno, |
| | | b.bed_no, |
| | | b.orgid, |
| | | b.del_flag, |
| | | b.update_by, |
| | | b.update_time, |
| | | b.create_by, |
| | | b.create_time, |
| | | b.isupload, |
| | | b.upload_time, |
| | | b.patid, |
| | | b.leavediagname, |
| | | b.leaveicd10code, |
| | | b.drcode, |
| | | b.drname, |
| | | b.schemestatus, |
| | | b.generalschemestatus, |
| | | b.leaveldeptcode, |
| | | b.leaveldeptname, |
| | | b.hospitaldistrictid, |
| | | b.leavehospitaldistrictcode, |
| | | b.leavehospitaldistrictname, |
| | | b.leavehospitaldistrictid, |
| | | b.deptid, |
| | | b.leaveldeptid, |
| | | b.long_task_reason, |
| | | b.schemetime, |
| | | b.fuflag, |
| | | b.fudate, |
| | | b.fuperiod, |
| | | b.futypecode, |
| | | b.futypedesc, |
| | | b.fuadvice, |
| | | b.fuspecialadvice, |
| | | b.inhosp_myd_flag, |
| | | b.encounter_source_id, |
| | | b.importance_flag_code, |
| | | b.emergency_level_code, |
| | | b.medical_code, |
| | | b.medical_name, |
| | | b.medical_company, |
| | | a.idcardno |
| | | FROM |
| | | pat_med_inhosp b |
| | | JOIN |
| | | pat_archive a ON a.id = b.patid |
| | | where 1=1 |
| | | AND a.del_flag = 0 |
| | | AND b.del_flag = 0 |
| | | AND a.idcardno IS NOT NULL |
| | | <if test="inhospid != null">and b.inhospid = #{inhospid}</if> |
| | | <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') >= |
| | | date_format(#{startOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') <= |
| | | date_format(#{endOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="startInHospTime != null ">and date_format(b.starttime,'%y%m%d') >= |
| | | date_format(#{startInHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') <= |
| | | date_format(#{endInHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="hospitalname != null and hospitalname != ''">and hospitalname like concat('%', #{hospitalname}, |
| | | '%') |
| | | </if> |
| | | <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like |
| | | concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="bedNo != null ">and b.bed_no = #{bedNo}</if> |
| | | <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if> |
| | | <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if> |
| | | <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="inhospno != null ">and b.inhospno = #{inhospno}</if> |
| | | <if test="fuflag != null ">and b.fuflag = #{fuflag}</if> |
| | | <if test="orgid != null ">and b.orgid = #{orgid}</if> |
| | | <if test="campusid != null ">and b.campusid = #{campusid}</if> |
| | | <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="patno != null ">and b.patno = #{patno}</if> |
| | | <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> |
| | | <if test="nurseName != null and nurseName != ''">and b.nurse_name = #{nurseName}</if> |
| | | <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if> |
| | | <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if> |
| | | <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if> |
| | | <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if> |
| | | <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if> |
| | | <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if> |
| | | <if test="encounterSourceId != null ">and b.encounter_source_id = #{encounterSourceId}</if> |
| | | <if test="importanceFlagCode != null ">and b.importance_flag_code = #{importanceFlagCode}</if> |
| | | <if test="emergencyLevelCode != null ">and b.emergency_level_code = #{emergencyLevelCode}</if> |
| | | <if test="cry != null and cry == 0 ">and b.endtime is null</if> |
| | | <if test="cry != null and cry == 1 ">and b.inhospstate=1</if> |
| | | <if test="cry != null and cry == 2 ">and b.inhospstate=2</if> |
| | | <if test="cry != null and cry == 3 ">and b.inhospstate=3</if> |
| | | <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if> |
| | | <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if> |
| | | <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if> |
| | | <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if> |
| | | <if test="leaveldeptcode != null ">and b.leaveldeptcode = #{leaveldeptcode}</if> |
| | | <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%', |
| | | #{leavediagname}, '%') |
| | | </if> |
| | | <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if> |
| | | <if test="leaveldeptname != null and leaveldeptname != ''">and b.leaveldeptname like concat('%', |
| | | #{leaveldeptname}, '%') |
| | | </if> |
| | | <if test="deptname != null and deptname != ''">and b.deptname like concat('%', |
| | | #{deptname}, '%') |
| | | </if> |
| | | <if test="patid != null and patid != ''">and a.id =#{patid} |
| | | </if> |
| | | <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and |
| | | b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') |
| | | </if> |
| | | |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> |
| | | AND b.leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | |
| | | <if test="hospitaldistrictcodeList != null and hospitaldistrictcodeList.size()>0"> |
| | | AND b.hospitaldistrictcode IN |
| | | <foreach collection="hospitaldistrictcodeList" item="hospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{hospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND b.leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="deptcodeList != null and deptcodeList.size()>0"> |
| | | AND b.deptcode IN |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," |
| | | close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="icd10codeList != null and icd10codeList.size()>0"> |
| | | AND b.leaveicd10code IN |
| | | <foreach collection="icd10codeList" item="icd10code" open="(" separator="," |
| | | close=")"> |
| | | #{icd10code} |
| | | </foreach> |
| | | </if> |
| | | <if test="medicalCode != null and medicalCode != ''">and b.medical_code = #{medicalCode}</if> |
| | | <if test="medicalName != null and medicalName != ''">and b.medical_name = #{medicalName}</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">and b.medical_company = #{medicalCompany}</if> |
| | | GROUP BY |
| | | b.inhospid, |
| | | a.age, |
| | | a.age_unit, |
| | | a.telcode, |
| | | a.id, |
| | | a.sex |
| | | <if test="cry != null and cry==1"> |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==2"> |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==3"> |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==0"> |
| | | <!-- |
| | | å¨é¢æ£è
ï¼å¯æå
¥é¢åºä½æ£/ååºï¼bedSort=asc æ descï¼ï¼ä¸ä¼ æ¶ä¿æé»è®¤æåºï¼å
¥é¢æ¶é´ååº + åºä½æ£åºï¼ã |
| | | åºä½æèªç¶åºæï¼åªç¨ 5.7 乿¯æç REGEXP/CAST/TRIM/LENGTHï¼ä¸ä¾èµ 8.0 ç REGEXP_REPLACEï¼ï¼ |
| | | 1) åºä½ä¸ºç©º/ç©ºä¸²çææå |
| | | 2) 纯æ°ååºä½æåé¢ï¼ææ°å¼å¤§å°ï¼2 å¨ 10 åï¼ |
| | | 3) 另忝/æ±åçåºä½æé¿åº¦ + å符串ï¼A2 å¨ A12 åï¼ |
| | | 4) inhospid å
åºï¼ä¿è¯ç¿»é¡µé¡ºåºç¨³å® |
| | | ååºåªå转 2)ã3) 两ç»å
é¨é¡ºåºï¼ç©ºåºä½ä»ææåï¼çº¯æ°åä»å¨åã |
| | | --> |
| | | <choose> |
| | | <when test='"asc".equals(bedSort)'> |
| | | order by |
| | | coalesce(trim(b.bed_no), '') = '' , |
| | | (trim(b.bed_no) regexp '^[0-9]+$') = 0 , |
| | | cast(trim(b.bed_no) as unsigned) asc , |
| | | length(trim(b.bed_no)) asc , |
| | | trim(b.bed_no) asc , |
| | | b.inhospid asc |
| | | </when> |
| | | <when test='"desc".equals(bedSort)'> |
| | | order by |
| | | coalesce(trim(b.bed_no), '') = '' , |
| | | (trim(b.bed_no) regexp '^[0-9]+$') = 0 , |
| | | cast(trim(b.bed_no) as unsigned) desc , |
| | | length(trim(b.bed_no)) desc , |
| | | trim(b.bed_no) desc , |
| | | b.inhospid asc |
| | | </when> |
| | | <otherwise> |
| | | order by b.starttime desc , b.bed_no asc |
| | | </otherwise> |
| | | </choose> |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectPatMedInhospListBySerialnum" parameterType="com.ruoyi.inhospvisit.domain.PatMedInhosp" |
| | | resultMap="PatMedInhospResult"> |
| | | select |
| | | b.inhospid, |
| | | b.nurse_id, |
| | | b.medical_code, |
| | | b.medical_name, |
| | | b.medical_company, |
| | | b.encounter_source_id, |
| | | b.importance_flag_code, |
| | | b.emergency_level_code, |
| | | b.nurse_name, |
| | | b.patname, |
| | | b.management_doctor, |
| | | b.management_doctor_code, |
| | | b.out_way_id, |
| | | b.campusid, |
| | | b.out_way_name, |
| | | b.deptcheck_flag, |
| | | b.wardcheck_flag, |
| | | b.in_deptcheck_flag, |
| | | b.in_wardcheck_flag, |
| | | b.diagcheck_flag, |
| | | b.schedulecheck_flag, |
| | | b.inhospstate, |
| | | b.patno, |
| | | b.inhospno, |
| | | b.serialnum, |
| | | b.hospitalname, |
| | | b.hospitalcode, |
| | | b.hospitaldistrictcode, |
| | | b.hospitaldistrictname, |
| | | b.icd10code, |
| | | b.diagname, |
| | | b.starttime, |
| | | b.endtime, |
| | | b.deptcode, |
| | | b.deptname, |
| | | b.roomno, |
| | | b.bed_no, |
| | | b.orgid, |
| | | b.del_flag, |
| | | b.update_by, |
| | | b.update_time, |
| | | b.create_by, |
| | | b.create_time, |
| | | b.isupload, |
| | | b.upload_time, |
| | | b.patid, |
| | | b.leavediagname, |
| | | b.leaveicd10code, |
| | | b.drcode, |
| | | b.drname, |
| | | b.schemestatus, |
| | | b.generalschemestatus, |
| | | b.leaveldeptcode, |
| | | b.leaveldeptname, |
| | | b.hospitaldistrictid, |
| | | b.leavehospitaldistrictcode, |
| | | b.leavehospitaldistrictname, |
| | | b.leavehospitaldistrictid, |
| | | b.deptid, |
| | | b.leaveldeptid, |
| | | b.long_task_reason, |
| | | b.schemetime, |
| | | b.fuflag, |
| | | b.fudate, |
| | | b.fuperiod, |
| | | b.futypecode, |
| | | b.futypedesc, |
| | | b.fuadvice, |
| | | b.inhosp_myd_flag, |
| | | b.fuspecialadvice |
| | | FROM |
| | | pat_med_inhosp b |
| | | where 1=1 |
| | | <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="campusid != null and campusid != ''"> |
| | | and campusid = #{campusid} |
| | | </if> |
| | | <if test="encounterSourceId != null and encounterSourceId != ''"> |
| | | and b.encounter_source_id = #{encounterSourceId} |
| | | </if> |
| | | <if test="importanceFlagCode != null and importanceFlagCode != ''"> |
| | | and b.importance_flag_code = #{importanceFlagCode} |
| | | </if> |
| | | <if test="emergencyLevelCode != null and emergencyLevelCode != ''"> |
| | | and b.emergency_level_code = #{emergencyLevelCode} |
| | | </if> |
| | | <if test="serialnum != null and serialnum != ''"> |
| | | and b.serialnum = #{serialnum} |
| | | </if> |
| | | order by b.inhospid desc |
| | | </select> |
| | | |
| | | <select id="selectPatMedInhospListByCondition" parameterType="com.ruoyi.inhospvisit.domain.PatMedInhospVO" |
| | | resultMap="PatMedInhospResult"> |
| | | select CONCAT( a.age, a.age_unit ) AS age, |
| | | a.telcode as telcode, |
| | | b.inhospid, |
| | | b.medical_code, |
| | | b.medical_name, |
| | | b.medical_company, |
| | | b.encounter_source_id, |
| | | b.importance_flag_code, |
| | | b.emergency_level_code, |
| | | b.management_doctor, |
| | | b.management_doctor_code, |
| | | b.patname, |
| | | b.operator_id, |
| | | b.operator, |
| | | b.campusid, |
| | | b.remark, |
| | | b.out_way_id, |
| | | b.out_way_name, |
| | | b.nurse_id, |
| | | b.nurse_name, |
| | | b.deptcheck_flag, |
| | | b.wardcheck_flag, |
| | | b.in_deptcheck_flag, |
| | | b.in_wardcheck_flag, |
| | | b.inhospstate, |
| | | b.patno, |
| | | b.inhospno, |
| | | b.serialnum, |
| | | b.hospitalname, |
| | | b.hospitalcode, |
| | | b.hospitaldistrictcode, |
| | | b.hospitaldistrictname, |
| | | b.icd10code, |
| | | b.diagname, |
| | | b.starttime, |
| | | b.endtime, |
| | | b.deptcode, |
| | | b.deptname, |
| | | b.roomno, |
| | | b.bed_no, |
| | | b.orgid, |
| | | b.del_flag, |
| | | b.update_by, |
| | | b.update_time, |
| | | b.create_by, |
| | | b.create_time, |
| | | b.isupload, |
| | | b.upload_time, |
| | | b.patid, |
| | | b.leavediagname, |
| | | b.leaveicd10code, |
| | | b.drcode, |
| | | b.drname, |
| | | b.schemestatus, |
| | | b.generalschemestatus, |
| | | b.leaveldeptcode, |
| | | b.leaveldeptname, |
| | | b.hospitaldistrictid, |
| | | b.leavehospitaldistrictcode, |
| | | b.leavehospitaldistrictname, |
| | | b.leavehospitaldistrictid, |
| | | b.deptid, |
| | | b.leaveldeptid, |
| | | b.long_task_reason, |
| | | b.fuflag, |
| | | b.fudate, |
| | | b.fuperiod, |
| | | b.futypecode, |
| | | b.futypedesc, |
| | | b.fuadvice, |
| | | b.fuspecialadvice, |
| | | b.inhosp_myd_flag, |
| | | b.schemetime |
| | | FROM |
| | | pat_med_inhosp b, |
| | | pat_archive a |
| | | where 1=1 |
| | | and a.del_flag=0 |
| | | and b.del_flag=0 |
| | | and a.id = b.patid |
| | | AND a.idcardno != '' |
| | | <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if> |
| | | <if test="encounterSourceId != null and encounterSourceId != ''"> |
| | | and b.encounter_source_id = #{encounterSourceId} |
| | | </if> |
| | | <if test="importanceFlagCode != null and importanceFlagCode != ''"> |
| | | and b.importance_flag_code = #{importanceFlagCode} |
| | | </if> |
| | | <if test="emergencyLevelCode != null and emergencyLevelCode != ''"> |
| | | and b.emergency_level_code = #{emergencyLevelCode} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and a.orgid = #{orgid} |
| | | </if> |
| | | <if test="campusid != null and campusid != ''"> |
| | | and a.campusid = #{campusid} |
| | | </if> |
| | | <if test="hospitalname != null and hospitalname != ''">and hospitalname like concat('%', #{hospitalname}, |
| | | '%') |
| | | </if> |
| | | <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if> |
| | | <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like |
| | | concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> |
| | | <if test="fuflag != null ">and b.fuflag = #{fuflag}</if> |
| | | <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> |
| | | <if test="nurseName != null ">and b.nurse_name = #{nurseName}</if> |
| | | <if test="patno != null ">and b.patno = #{patno}</if> |
| | | <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if> |
| | | <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if> |
| | | <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if> |
| | | <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if> |
| | | <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if> |
| | | <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if> |
| | | <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if> |
| | | <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if> |
| | | <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%', |
| | | #{leavediagname}, '%') |
| | | </if> |
| | | <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if> |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> |
| | | AND b.leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND b.leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," |
| | | close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="medicalCode != null and medicalCode != ''">and b.medical_code like concat('%'#{medicalCode}, '%') |
| | | </if> |
| | | <if test="medicalName != null and medicalName != ''">and b.medical_name like concat('%'#{medicalName}, '%') |
| | | </if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">and b.medical_company like |
| | | concat('%'#{medicalCompany}, '%') |
| | | </if> |
| | | order by b.inhospid desc |
| | | </select> |
| | | |
| | | |
| | | <select id="getTagnameBypatid" parameterType="Long" resultType="string"> |
| | | SELECT GROUP_CONCAT(d.tagname, ', ') |
| | | FROM pat_archivetag d |
| | | WHERE d.patid = #{patid} |
| | | AND d.del_flag = 0 |
| | | </select> |
| | | |
| | | <!-- æ¹é忣è
æ ç¾ï¼æ¿ä»£éè¡è°ç¨ getTagnameBypatidï¼æ¯è¡å« patidãtagname 两个 key --> |
| | | <select id="getTagnameByPatids" resultType="java.util.HashMap"> |
| | | SELECT d.patid AS patid, |
| | | GROUP_CONCAT(d.tagname, ', ') AS tagname |
| | | FROM pat_archivetag d |
| | | WHERE d.del_flag = 0 |
| | | AND d.patid IN |
| | | <foreach collection="patids" item="patid" open="(" separator="," close=")"> |
| | | #{patid} |
| | | </foreach> |
| | | GROUP BY d.patid |
| | | </select> |
| | | |
| | | |
| | | <select id="selectPatMedInhospByInhospid" parameterType="Long" resultMap="PatMedInhospResult"> |
| | | <include refid="selectPatMedInhospVo"/> |
| | | where inhospid = #{inhospid} |
| | | </select> |
| | | |
| | | <select id="selectPatMedInhosp" parameterType="Long" resultMap="PatMedInhospResult"> |
| | | <include refid="selectPatMedInhospVo"/> |
| | | where del_flag=0 |
| | | <if test="cry != null and cry == 0 ">and inhospstate=0</if> |
| | | <if test="cry != null and cry == 1 ">and inhospstate=1</if> |
| | | <if test="cry != null and cry == 3 ">and inhospstate=3</if> |
| | | <if test="inhospMydFlag != null ">and inhosp_myd_flag = #{inhospMydFlag}</if> |
| | | <if test="serialnum != null">and serialnum = #{serialnum}</if> |
| | | <if test="hospitalname != null">and hospitalname = #{hospitalname}</if> |
| | | <if test="hospitalcode != null">and hospitalcode = #{hospitalcode}</if> |
| | | <if test="hospitaldistrictcode != null">and hospitaldistrictcode = #{hospitaldistrictcode}</if> |
| | | <if test="hospitaldistrictname != null">and hospitaldistrictname = #{hospitaldistrictname}</if> |
| | | <if test="icd10code != null">and icd10code = #{icd10code}</if> |
| | | <if test="diagname != null">and diagname = #{diagname}</if> |
| | | <if test="starttime != null">and starttime = #{starttime}</if> |
| | | <if test="endtime != null">and endtime = #{endtime}</if> |
| | | <if test="deptcode != null">and deptcode = #{deptcode}</if> |
| | | <if test="deptname != null">and deptname = #{deptname}</if> |
| | | <if test="roomno != null">and roomno = #{roomno}</if> |
| | | <if test="bedNo != null">and bed_no = #{bedNo}</if> |
| | | <if test="orgid != null">and orgid = #{orgid}</if> |
| | | <if test="campusid != null ">and campusid = #{campusid}</if> |
| | | <if test="updateBy != null">and update_by = #{updateBy}</if> |
| | | <if test="updateTime != null">and update_time = #{updateTime}</if> |
| | | <if test="createBy != null">and create_by = #{createBy}</if> |
| | | <if test="createTime != null">and create_time = #{createTime}</if> |
| | | <if test="isupload != null">and isupload = #{isupload}</if> |
| | | <if test="uploadTime != null">and upload_time = #{uploadTime}</if> |
| | | <if test="patid != null">and patid = #{patid}</if> |
| | | <if test="leavediagname != null">and leavediagname = #{leavediagname}</if> |
| | | <if test="leaveicd10code != null">and leaveicd10code = #{leaveicd10code}</if> |
| | | <if test="drcode != null">and drcode = #{drcode}</if> |
| | | <if test="drname != null">and drname = #{drname}</if> |
| | | <if test="schemestatus != null">and schemestatus = #{schemestatus}</if> |
| | | <if test="generalschemestatus != null">and generalschemestatus = #{generalschemestatus}</if> |
| | | <if test="leaveldeptcode != null">and leaveldeptcode = #{leaveldeptcode}</if> |
| | | <if test="leaveldeptname != null">and leaveldeptname = #{leaveldeptname}</if> |
| | | <if test="hospitaldistrictid != null">and hospitaldistrictid = #{hospitaldistrictid}</if> |
| | | <if test="leavehospitaldistrictcode != null">and leavehospitaldistrictcode = #{leavehospitaldistrictcode}</if> |
| | | <if test="leavehospitaldistrictname != null">and leavehospitaldistrictname = #{leavehospitaldistrictname}</if> |
| | | <if test="leavehospitaldistrictid != null">and leavehospitaldistrictid = #{leavehospitaldistrictid}</if> |
| | | <if test="deptid != null">and deptid = #{deptid}</if> |
| | | <if test="leaveldeptid != null">and leaveldeptid = #{leaveldeptid}</if> |
| | | <if test="schemetime != null">and schemetime = #{schemetime}</if> |
| | | <if test="patname!= null">and patname = #{patname}</if> |
| | | <if test="patno != null">and patno = #{patno}</if> |
| | | <if test="inhospstate != null">and inhospstate = #{inhospstate}</if> |
| | | <if test="deptcheckFlag != null">and deptcheck_flag = #{deptcheckFlag}</if> |
| | | <if test="wardcheckFlag != null">and wardcheck_flag = #{wardcheckFlag}</if> |
| | | <if test="inDeptcheckFlag != null">and in_deptcheck_flag = #{inDeptcheckFlag}</if> |
| | | <if test="inWardcheckFlag != null">and in_wardcheck_flag = #{inWardcheckFlag}</if> |
| | | <if test="wardcheckFlag != null">and wardcheck_flag = #{wardcheckFlag}</if> |
| | | <if test="diagcheckFlag != null">and diagcheck_flag = #{diagcheckFlag}</if> |
| | | <if test="longTaskReason != null">and long_task_reason = #{longTaskReason}</if> |
| | | <if test="nurseId != null ">and nurse_id = #{nurseId}</if> |
| | | <if test="nurseName != null ">and nurse_name = #{nurseName}</if> |
| | | <if test="outWayId != null ">and out_way_id = #{outWayId}</if> |
| | | <if test="outWayName != null ">and out_way_name = #{outWayName}</if> |
| | | <if test="guid != null ">and guid = #{guid}</if> |
| | | <if test="operator != null ">and operator = #{operator}</if> |
| | | <if test="operatorId != null ">and operator_id = #{operatorId}</if> |
| | | <if test="remark != null ">and remark = #{remark}</if> |
| | | <if test="fuflag != null ">and fuflag = #{fuflag}</if> |
| | | <if test="fudate != null ">and fudate = #{fudate}</if> |
| | | <if test="fuperiod != null ">and fuperiod = #{fuperiod}</if> |
| | | <if test="futypecode != null ">and futypecode = #{futypecode}</if> |
| | | <if test="futypedesc != null ">and futypedesc = #{futypedesc}</if> |
| | | <if test="fuadvice != null ">and fuadvice = #{fuadvice}</if> |
| | | <if test="fuspecialadvice != null ">and fuspecialadvice = #{fuspecialadvice}</if> |
| | | <if test="managementDoctor != null ">and management_doctor = #{managementDoctor}</if> |
| | | <if test="managementDoctorCode != null ">and management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="importanceFlagCode != null ">and importance_flag_code = #{importanceFlagCode}</if> |
| | | <if test="emergencyLevelCode != null ">and emergency_level_code = #{emergencyLevelCode}</if> |
| | | <if test="encounterSourceId != null ">and encounter_source_id = #{encounterSourceId}</if> |
| | | <if test="medicalCode != null and medicalCode != ''">and medical_code like concat('%'#{medicalCode}, '%')</if> |
| | | <if test="medicalName != null and medicalName != ''">and medical_name like concat('%'#{medicalName}, '%')</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">and medical_company like |
| | | concat('%'#{medicalCompany}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <!-- ææ£è
ç¼å· + åºé¢æ¥ææ¥è¯¢åºé¢è®°å½ï¼åºé¢æ¶é´åªæ¯è¾å°å¤©ï¼ä¸æ¯è¾æ¶åç§ï¼ï¼ç¨äºå¤ææ£è
æ¯å¦åå
¥é¢ --> |
| | | <select id="selectOutInhospByPatnoAndOutDate" resultMap="PatMedInhospResult"> |
| | | <include refid="selectPatMedInhospVo"/> |
| | | where del_flag = 0 |
| | | and inhospstate = '1' |
| | | <if test="patno != null and patno != ''">and patno = #{patno}</if> |
| | | <if test="dayStart != null">and endtime >= #{dayStart}</if> |
| | | <if test="dayEnd != null">and endtime < #{dayEnd}</if> |
| | | order by inhospid desc |
| | | </select> |
| | | |
| | | |
| | | <insert id="insertPatMedInhosp" parameterType="com.ruoyi.inhospvisit.domain.PatMedInhosp" useGeneratedKeys="true" |
| | | keyProperty="inhospid"> |
| | | insert into pat_med_inhosp |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="serialnum != null">serialnum,</if> |
| | | <if test="hospitalname != null">hospitalname,</if> |
| | | <if test="hospitalcode != null">hospitalcode,</if> |
| | | <if test="hospitaldistrictcode != null">hospitaldistrictcode,</if> |
| | | <if test="hospitaldistrictname != null">hospitaldistrictname,</if> |
| | | <if test="icd10code != null">icd10code,</if> |
| | | <if test="diagname != null">diagname,</if> |
| | | <if test="starttime != null">starttime,</if> |
| | | <if test="endtime != null">endtime,</if> |
| | | <if test="deptcode != null">deptcode,</if> |
| | | <if test="deptname != null">deptname,</if> |
| | | <if test="roomno != null">roomno,</if> |
| | | <if test="bedNo != null">bed_no,</if> |
| | | <if test="orgid != null">orgid,</if> |
| | | <if test="campusid != null">campusid,</if> |
| | | <if test="delFlag != null and delFlag != ''">del_flag,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | | <if test="createBy != null">create_by,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | <if test="isupload != null">isupload,</if> |
| | | <if test="uploadTime != null">upload_time,</if> |
| | | <if test="patid != null">patid,</if> |
| | | <if test="leavediagname != null">leavediagname,</if> |
| | | <if test="leaveicd10code != null">leaveicd10code,</if> |
| | | <if test="drcode != null">drcode,</if> |
| | | <if test="drname != null">drname,</if> |
| | | <if test="schemestatus != null">schemestatus,</if> |
| | | <if test="generalschemestatus != null">generalschemestatus,</if> |
| | | <if test="leaveldeptcode != null">leaveldeptcode,</if> |
| | | <if test="leaveldeptname != null">leaveldeptname,</if> |
| | | <if test="hospitaldistrictid != null">hospitaldistrictid,</if> |
| | | <if test="leavehospitaldistrictcode != null">leavehospitaldistrictcode,</if> |
| | | <if test="leavehospitaldistrictname != null">leavehospitaldistrictname,</if> |
| | | <if test="leavehospitaldistrictid != null">leavehospitaldistrictid,</if> |
| | | <if test="deptid != null">deptid,</if> |
| | | <if test="leaveldeptid != null">leaveldeptid,</if> |
| | | <if test="schemetime != null">schemetime,</if> |
| | | <if test="patname!= null">patname,</if> |
| | | <if test="patno != null">patno,</if> |
| | | <if test="inhospstate != null">inhospstate,</if> |
| | | <if test="deptcheckFlag != null">deptcheck_flag,</if> |
| | | <if test="wardcheckFlag != null">wardcheck_flag,</if> |
| | | <if test="inDeptcheckFlag != null">in_deptcheck_flag,</if> |
| | | <if test="inWardcheckFlag != null">in_wardcheck_flag,</if> |
| | | <if test="diagcheckFlag != null">diagcheck_flag,</if> |
| | | <if test="longTaskReason != null">long_task_reason,</if> |
| | | <if test="nurseId != null ">nurse_id,</if> |
| | | <if test="nurseName != null ">nurse_name,</if> |
| | | <if test="outWayId != null ">out_way_id,</if> |
| | | <if test="outWayName != null ">out_way_name,</if> |
| | | <if test="guid != null ">guid,</if> |
| | | <if test="operator != null ">operator,</if> |
| | | <if test="operatorId != null ">operator_id,</if> |
| | | <if test="inhospno != null ">inhospno,</if> |
| | | <if test="remark != null ">remark,</if> |
| | | <if test="fuflag != null ">fuflag,</if> |
| | | <if test="fudate != null ">fudate,</if> |
| | | <if test="fuperiod != null ">fuperiod,</if> |
| | | <if test="futypecode != null ">futypecode,</if> |
| | | <if test="futypedesc != null ">futypedesc,</if> |
| | | <if test="fuadvice != null ">fuadvice,</if> |
| | | <if test="fuspecialadvice != null ">fuspecialadvice,</if> |
| | | <if test="managementDoctor != null ">management_doctor,</if> |
| | | <if test="managementDoctorCode != null ">management_doctor_code,</if> |
| | | <if test="inhospMydFlag != null ">inhosp_myd_flag,</if> |
| | | <if test="importanceFlagCode != null ">importance_flag_code,</if> |
| | | <if test="emergencyLevelCode != null ">emergency_level_code,</if> |
| | | <if test="encounterSourceId != null ">encounter_source_id,</if> |
| | | <if test="medicalCode != null and medicalCode != ''">medical_code,</if> |
| | | <if test="medicalName != null and medicalName != ''">medical_name,</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">medical_company,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="serialnum != null">#{serialnum},</if> |
| | | <if test="hospitalname != null">#{hospitalname},</if> |
| | | <if test="hospitalcode != null">#{hospitalcode},</if> |
| | | <if test="hospitaldistrictcode != null">#{hospitaldistrictcode},</if> |
| | | <if test="hospitaldistrictname != null">#{hospitaldistrictname},</if> |
| | | <if test="icd10code != null">#{icd10code},</if> |
| | | <if test="diagname != null">#{diagname},</if> |
| | | <if test="starttime != null">#{starttime},</if> |
| | | <if test="endtime != null">#{endtime},</if> |
| | | <if test="deptcode != null">#{deptcode},</if> |
| | | <if test="deptname != null">#{deptname},</if> |
| | | <if test="roomno != null">#{roomno},</if> |
| | | <!-- åºä½ç©ºä¸²ï¼HIS æ å½ååºä½ï¼è½åºä¸º nullï¼ä¿æ"æå¼ or null"两ç§ç¶æ --> |
| | | <if test="bedNo != null">nullif(#{bedNo}, ''),</if> |
| | | <if test="orgid != null">#{orgid},</if> |
| | | <if test="campusid != null">#{campusid},</if> |
| | | <if test="delFlag != null and delFlag != ''">#{delFlag},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | | <if test="createBy != null">#{createBy},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | <if test="isupload != null">#{isupload},</if> |
| | | <if test="uploadTime != null">#{uploadTime},</if> |
| | | <if test="patid != null">#{patid},</if> |
| | | <if test="leavediagname != null">#{leavediagname},</if> |
| | | <if test="leaveicd10code != null">#{leaveicd10code},</if> |
| | | <if test="drcode != null">#{drcode},</if> |
| | | <if test="drname != null">#{drname},</if> |
| | | <if test="schemestatus != null">#{schemestatus},</if> |
| | | <if test="generalschemestatus != null">#{generalschemestatus},</if> |
| | | <if test="leaveldeptcode != null">#{leaveldeptcode},</if> |
| | | <if test="leaveldeptname != null">#{leaveldeptname},</if> |
| | | <if test="hospitaldistrictid != null">#{hospitaldistrictid},</if> |
| | | <if test="leavehospitaldistrictcode != null">#{leavehospitaldistrictcode},</if> |
| | | <if test="leavehospitaldistrictname != null">#{leavehospitaldistrictname},</if> |
| | | <if test="leavehospitaldistrictid != null">#{leavehospitaldistrictid},</if> |
| | | <if test="deptid != null">#{deptid},</if> |
| | | <if test="leaveldeptid != null">#{leaveldeptid},</if> |
| | | <if test="schemetime != null">#{schemetime},</if> |
| | | <if test="patname!= null">#{patname},</if> |
| | | <if test="patno != null">#{patno},</if> |
| | | <if test="inhospstate != null">#{inhospstate},</if> |
| | | <if test="deptcheckFlag != null">#{deptcheckFlag},</if> |
| | | <if test="wardcheckFlag != null">#{wardcheckFlag},</if> |
| | | <if test="inDeptcheckFlag != null">#{inDeptcheckFlag},</if> |
| | | <if test="inWardcheckFlag != null">#{inWardcheckFlag},</if> |
| | | <if test="diagcheckFlag != null">#{diagcheckFlag},</if> |
| | | <if test="longTaskReason != null">#{longTaskReason},</if> |
| | | <if test="nurseId != null ">#{nurseId},</if> |
| | | <if test="nurseName != null ">#{nurseName},</if> |
| | | <if test="outWayId != null ">#{outWayId},</if> |
| | | <if test="outWayName != null ">#{outWayName},</if> |
| | | <if test="guid != null ">#{guid},</if> |
| | | <if test="operator != null ">#{operator},</if> |
| | | <if test="operatorId != null ">#{operatorId},</if> |
| | | <if test="inhospno != null ">#{inhospno},</if> |
| | | <if test="remark != null ">#{remark},</if> |
| | | <if test="fuflag != null ">#{fuflag},</if> |
| | | <if test="fudate != null ">#{fudate},</if> |
| | | <if test="fuperiod != null ">#{fuperiod},</if> |
| | | <if test="futypecode != null ">#{futypecode},</if> |
| | | <if test="futypedesc != null ">#{futypedesc},</if> |
| | | <if test="fuadvice != null ">#{fuadvice},</if> |
| | | <if test="fuspecialadvice != null ">#{fuspecialadvice},</if> |
| | | <if test="managementDoctor != null ">#{managementDoctor},</if> |
| | | <if test="managementDoctorCode != null ">#{managementDoctorCode},</if> |
| | | <if test="inhospMydFlag != null ">#{inhospMydFlag},</if> |
| | | <if test="importanceFlagCode != null ">#{importanceFlagCode},</if> |
| | | <if test="emergencyLevelCode != null ">#{emergencyLevelCode},</if> |
| | | <if test="encounterSourceId != null ">#{encounterSourceId},</if> |
| | | <if test="medicalCode != null and medicalCode != ''">#{medicalCode},</if> |
| | | <if test="medicalName != null and medicalName != ''">#{medicalName},</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">#{medicalCompany},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | |
| | | <insert id="insertPatMedInhospBatch" parameterType="java.util.List" useGeneratedKeys="true" |
| | | keyProperty="item.inhospid"> |
| | | insert into pat_med_inhosp ( |
| | | serialnum, hospitalname, hospitalcode, hospitaldistrictcode, hospitaldistrictname, |
| | | icd10code, diagname, starttime, endtime, deptcode, deptname, roomno, bed_no, |
| | | orgid, del_flag, update_by, update_time, create_by, create_time, isupload, |
| | | upload_time, patid, leavediagname, leaveicd10code, drcode, drname, |
| | | schemestatus, generalschemestatus, leaveldeptcode, leaveldeptname, hospitaldistrictid, |
| | | leavehospitaldistrictcode, leavehospitaldistrictname, leavehospitaldistrictid, |
| | | deptid, leaveldeptid, schemetime, patname, patno, inhospstate, |
| | | deptcheck_flag, wardcheck_flag,in_deptcheck_flag, in_wardcheck_flag, diagcheck_flag, long_task_reason, |
| | | nurse_id, nurse_name, out_way_id, out_way_name, guid, |
| | | operator, operator_id, inhospno, remark, |
| | | fuflag, fudate, fuperiod, futypecode, futypedesc, fuadvice, fuspecialadvice, management_doctor, |
| | | management_doctor_code,campusid, inhosp_myd_flag, importance_flag_code, emergency_level_code, encounter_source_id, |
| | | medical_code, medical_name, medical_company |
| | | ) |
| | | values |
| | | <foreach collection="list" item="item" separator=","> |
| | | ( |
| | | #{item.serialnum}, #{item.hospitalname}, #{item.hospitalcode}, #{item.hospitaldistrictcode}, |
| | | #{item.hospitaldistrictname}, |
| | | #{item.icd10code}, #{item.diagname}, #{item.starttime}, #{item.endtime}, #{item.deptcode}, #{item.deptname}, |
| | | #{item.roomno}, nullif(#{item.bedNo}, ''), |
| | | #{item.orgid}, #{item.delFlag}, #{item.updateBy}, #{item.updateTime}, #{item.createBy}, #{item.createTime}, |
| | | #{item.isupload}, |
| | | #{item.uploadTime}, #{item.patid}, #{item.leavediagname}, #{item.leaveicd10code}, #{item.drcode}, |
| | | #{item.drname}, |
| | | #{item.schemestatus}, #{item.generalschemestatus}, #{item.leaveldeptcode}, #{item.leaveldeptname}, |
| | | #{item.hospitaldistrictid}, |
| | | #{item.leavehospitaldistrictcode}, #{item.leavehospitaldistrictname}, #{item.leavehospitaldistrictid}, |
| | | #{item.deptid}, #{item.leaveldeptid}, #{item.schemetime}, #{item.patname}, #{item.patno}, |
| | | #{item.inhospstate}, |
| | | #{item.deptcheckFlag}, #{item.wardcheckFlag},#{item.inDeptcheckFlag}, #{item.inWardcheckFlag}, #{item.diagcheckFlag}, #{item.longTaskReason}, |
| | | #{item.nurseId}, #{item.nurseName}, #{item.outWayId}, #{item.outWayName}, #{item.guid}, |
| | | #{item.operator}, #{item.operatorId}, #{item.inhospno}, #{item.remark}, |
| | | #{item.fuflag}, #{item.fudate}, #{item.fuperiod}, #{item.futypecode}, #{item.futypedesc}, #{item.fuadvice}, |
| | | #{item.fuspecialadvice}, #{item.managementDoctor}, #{item.managementDoctorCode}, #{item.campusid}, #{item.inhospMydFlag}, |
| | | #{item.importanceFlagCode}, #{item.emergencyLevelCode}, #{item.encounterSourceId}, |
| | | #{item.medicalCode}, #{item.medicalName}, #{item.medicalCompany} |
| | | ) |
| | | </foreach> |
| | | </insert> |
| | | |
| | | |
| | | <update id="updatePatMedInhosp" parameterType="com.ruoyi.inhospvisit.domain.PatMedInhosp"> |
| | | update pat_med_inhosp |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <!-- |
| | | å
åºï¼ä¸é¢å段å
¨ä¸ºç©ºæ¶ï¼ä¾å¦è°ç¨æ¹åªä¼ äº inhospidï¼ï¼å¦ææ²¡æä»»ä½ SET 项ä¼çæ |
| | | "update pat_med_inhosp where inhospid = ?" è¿ç§éæ³ SQLãè¿éæ¾ä¸ä¸ªèªèµå¼ï¼ä¿è¯ SET ä¸ä¸ºç©ºä¸ä¸æ¹æ°æ®ã |
| | | --> |
| | | inhospid = inhospid, |
| | | <if test="serialnum != null">serialnum = #{serialnum},</if> |
| | | <if test="hospitalname != null">hospitalname = #{hospitalname},</if> |
| | | <if test="hospitalcode != null">hospitalcode = #{hospitalcode},</if> |
| | | <if test="hospitaldistrictcode != null">hospitaldistrictcode = #{hospitaldistrictcode},</if> |
| | | <if test="hospitaldistrictname != null">hospitaldistrictname = #{hospitaldistrictname},</if> |
| | | <if test="icd10code != null">icd10code = #{icd10code},</if> |
| | | <if test="diagname != null">diagname = #{diagname},</if> |
| | | <if test="starttime != null">starttime = #{starttime},</if> |
| | | <if test="endtime != null">endtime = #{endtime},</if> |
| | | <if test="deptcode != null">deptcode = #{deptcode},</if> |
| | | <if test="deptname != null">deptname = #{deptname},</if> |
| | | <if test="roomno != null">roomno = #{roomno},</if> |
| | | <!-- |
| | | åºä½ï¼HIS ä¼ ç©ºä¸²ä»£è¡¨"å½å没æåºä½"ï¼æ¢åºãæäººå·²ç¦»é¢è¿æ²¡ååºé¢æç»ï¼ï¼è½åºä¸º nullï¼ |
| | | å®å
¨ä¸ä¼ (null)å䏿¹å¨åºä½ãç©ºä¸²ä¸ null å¿
é¡»åå¼å¤æï¼ä¸è½é½è·³è¿ï¼å¦ååºä½ä¸ä¼è¢«æ¸
æã |
| | | --> |
| | | <if test='bedNo != null and !"".equals(bedNo)'>bed_no = #{bedNo},</if> |
| | | <if test='bedNo != null and "".equals(bedNo)'>bed_no = null,</if> |
| | | <if test="orgid != null">orgid = #{orgid},</if> |
| | | <if test="campusid != null">campusid = #{campusid},</if> |
| | | <if test="delFlag != null and delFlag != ''">del_flag = #{delFlag},</if> |
| | | <if test="updateBy != null">update_by = #{updateBy},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |
| | | <if test="createBy != null">create_by = #{createBy},</if> |
| | | <if test="createTime != null">create_time = #{createTime},</if> |
| | | <if test="isupload != null">isupload = #{isupload},</if> |
| | | <if test="uploadTime != null">upload_time = #{uploadTime},</if> |
| | | <if test="patid != null">patid = #{patid},</if> |
| | | <if test="leavediagname != null">leavediagname = #{leavediagname},</if> |
| | | <if test="leaveicd10code != null">leaveicd10code = #{leaveicd10code},</if> |
| | | <if test="drcode != null">drcode = #{drcode},</if> |
| | | <if test="drname != null">drname = #{drname},</if> |
| | | <if test="schemestatus != null">schemestatus = #{schemestatus},</if> |
| | | <if test="generalschemestatus != null">generalschemestatus = #{generalschemestatus},</if> |
| | | <if test="leaveldeptcode != null">leaveldeptcode = #{leaveldeptcode},</if> |
| | | <if test="leaveldeptname != null">leaveldeptname = #{leaveldeptname},</if> |
| | | <if test="hospitaldistrictid != null">hospitaldistrictid = #{hospitaldistrictid},</if> |
| | | <if test="leavehospitaldistrictcode != null">leavehospitaldistrictcode = #{leavehospitaldistrictcode},</if> |
| | | <if test="leavehospitaldistrictname != null">leavehospitaldistrictname = #{leavehospitaldistrictname},</if> |
| | | <if test="leavehospitaldistrictid != null">leavehospitaldistrictid = #{leavehospitaldistrictid},</if> |
| | | <if test="deptid != null">deptid = #{deptid},</if> |
| | | <if test="leaveldeptid != null">leaveldeptid = #{leaveldeptid},</if> |
| | | <if test="schemetime != null">schemetime = #{schemetime},</if> |
| | | <if test="patname!= null">patname = #{patname},</if> |
| | | <if test="patno != null">patno = #{patno},</if> |
| | | <if test="inhospstate != null">inhospstate = #{inhospstate},</if> |
| | | <if test="deptcheckFlag != null">deptcheck_flag = #{deptcheckFlag},</if> |
| | | <if test="scheduleCheckFlag != null">schedulecheck_flag = #{scheduleCheckFlag},</if> |
| | | <if test="wardcheckFlag != null">wardcheck_flag = #{wardcheckFlag},</if> |
| | | <if test="inDeptcheckFlag != null">in_deptcheck_flag = #{inDeptcheckFlag},</if> |
| | | <if test="inWardcheckFlag != null">in_wardcheck_flag = #{inWardcheckFlag},</if> |
| | | <if test="diagcheckFlag != null">diagcheck_flag = #{diagcheckFlag},</if> |
| | | <if test="longTaskReason != null">long_task_reason = #{longTaskReason},</if> |
| | | <if test="nurseId != null ">nurse_id = #{nurseId},</if> |
| | | <if test="nurseName != null ">nurse_name = #{nurseName},</if> |
| | | <if test="outWayId != null ">out_way_id = #{outWayId},</if> |
| | | <if test="outWayName != null ">out_way_name = #{outWayName},</if> |
| | | <if test="guid != null ">guid = #{guid},</if> |
| | | <if test="operator != null ">operator = #{operator},</if> |
| | | <if test="operatorId != null ">operator_id = #{operatorId},</if> |
| | | <if test="remark != null ">remark = #{remark},</if> |
| | | <if test="fuflag != null ">fuflag = #{fuflag},</if> |
| | | <if test="fudate != null ">fudate = #{fudate},</if> |
| | | <if test="fuperiod != null ">fuperiod = #{fuperiod},</if> |
| | | <if test="futypecode != null ">futypecode = #{futypecode},</if> |
| | | <if test="futypedesc != null ">futypedesc = #{futypedesc},</if> |
| | | <if test="fuadvice != null ">fuadvice = #{fuadvice},</if> |
| | | <if test="fuspecialadvice != null ">fuspecialadvice = #{fuspecialadvice},</if> |
| | | <if test="managementDoctor != null ">management_doctor = #{managementDoctor},</if> |
| | | <if test="managementDoctorCode != null ">management_doctor_code = #{managementDoctorCode},</if> |
| | | <if test="inhospMydFlag != null ">inhosp_myd_flag = #{inhospMydFlag},</if> |
| | | <if test="importanceFlagCode != null ">importance_flag_code = #{importanceFlagCode},</if> |
| | | <if test="emergencyLevelCode != null ">emergency_level_code = #{emergencyLevelCode},</if> |
| | | <if test="encounterSourceId != null ">encounter_source_id = #{encounterSourceId},</if> |
| | | <if test="medicalCode != null and medicalCode != ''">medical_code = #{medicalCode},</if> |
| | | <if test="medicalName != null and medicalName != ''">medical_name = #{medicalName},</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">medical_company = #{medicalCompany},</if> |
| | | </trim> |
| | | where inhospid = #{inhospid} |
| | | </update> |
| | | |
| | | <delete id="deletePatMedInhospByInhospid" parameterType="Long"> |
| | | update pat_med_inhosp |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where inhospid = #{inhospid} |
| | | </delete> |
| | | |
| | | <delete id="deletePatMedInhospByInhospno" parameterType="String"> |
| | | update pat_med_inhosp |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where inhospno = #{inhospno} |
| | | </delete> |
| | | |
| | | <delete id="deletePatMedInhospByInhospids" parameterType="String"> |
| | | delete from pat_med_inhosp where inhospid in |
| | | <foreach item="inhospid" collection="array" open="(" separator="," close=")"> |
| | | #{inhospid} |
| | | </foreach> |
| | | </delete> |
| | | |
| | | <select id="selectPatMedInhospCount" parameterType="com.ruoyi.common.core.service.dto.PatMedReq" |
| | | resultType="com.ruoyi.common.core.service.dto.PatMedRes"> |
| | | SELECT SUM(rc) AS rc, |
| | | SUM(rs) AS rs, |
| | | SUM(scsf) AS scsf, |
| | | SUM(zcsf) AS zcsf, |
| | | SUM(zbsf) AS zbsf |
| | | FROM ( |
| | | <!-- åºé¢äººæ¬¡ï¼å»æ date_format å
è£
ï¼ä½¿æ¥æå段索å¼çæ --> |
| | | SELECT |
| | | COUNT(1) AS rc, |
| | | 0 AS rs, |
| | | 0 AS scsf, |
| | | 0 AS zcsf, |
| | | 0 AS zbsf |
| | | FROM pat_med_inhosp |
| | | JOIN pat_archive ON pat_archive.id = pat_med_inhosp.patid |
| | | WHERE pat_med_inhosp.del_flag = 0 |
| | | <if test="orgid != null and orgid != ''"> |
| | | AND pat_med_inhosp.orgid = #{orgid} |
| | | </if> |
| | | <if test="campusid != null and campusid != ''"> |
| | | and pat_med_inhosp.campusid = #{campusid} |
| | | </if> |
| | | AND pat_archive.idcardno IS NOT NULL |
| | | <if test="zy != null"> |
| | | AND pat_med_inhosp.inhospstate = 0 |
| | | AND pat_med_inhosp.starttime >= #{startDate} |
| | | AND pat_med_inhosp.starttime < DATE_ADD(#{endDate}, INTERVAL 1 DAY) |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | AND pat_med_inhosp.deptcode IN |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </if> |
| | | <if test="cy != null"> |
| | | AND pat_med_inhosp.inhospstate = 1 |
| | | AND pat_med_inhosp.endtime >= #{startDate} |
| | | AND pat_med_inhosp.endtime < DATE_ADD(#{endDate}, INTERVAL 1 DAY) |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | AND pat_med_inhosp.leaveldeptcode IN |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | </if> |
| | | UNION ALL |
| | | <!-- é访æå¡/馿¬¡/忬¡/ä¸ç
é访ï¼åå¹¶ä¸ºåæ¬¡æ«æï¼ç¨æ¡ä»¶èå代æ¿4个 UNION ALL --> |
| | | SELECT |
| | | 0 AS rc, |
| | | COUNT(1) AS rs, |
| | | SUM(CASE WHEN service_type = 2 AND visit_count = 1 THEN 1 ELSE 0 END) AS scsf, |
| | | SUM(CASE WHEN service_type = 2 AND visit_count > 1 THEN 1 ELSE 0 END) AS zcsf, |
| | | SUM(CASE WHEN service_type = 13 THEN 1 ELSE 0 END) AS zbsf |
| | | FROM service_subtask |
| | | WHERE del_flag = 0 |
| | | AND service_type IN (2, 13) |
| | | <if test="orgid != null and orgid != ''"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | | <if test="campusid != null and campusid != ''"> |
| | | and campusid = #{campusid} |
| | | </if> |
| | | <if test="startDate != null"> |
| | | AND visit_time >= #{startDate} |
| | | </if> |
| | | <if test="endDate != null"> |
| | | AND visit_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY) |
| | | </if> |
| | | <if test="deptcodeList != null and deptcodeList.size() > 0"> |
| | | AND deptcode IN |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | ) AS combined_data |
| | | </select> |
| | | |
| | | <!-- æ¥è¯¢ä¸ä¸ªç»´åº¦ä»»æä¸ä¸ªæªå¤ççåºé¢æ£è
--> |
| | | <select id="selectNeedProcessList" resultMap="PatMedInhospResult"> |
| | | SELECT * |
| | | FROM pat_med_inhosp |
| | | WHERE inhospstate = '1' |
| | | AND fuflag = '1' |
| | | AND del_flag = '0' |
| | | AND ( |
| | | dept_check_flag = '0' |
| | | OR ward_check_flag = '0' |
| | | OR diag_check_flag = '0' |
| | | ) |
| | | </select> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.inhospvisit.mapper.VisitArchiveMapper"> |
| | | |
| | | <!-- |
| | | ============================================================================ |
| | | åºå
¥é¢é访模åèªå¸¦ç pat_archive åªè¯»æ¥è¯¢ã |
| | | ============================================================================ |
| | | ä¸ smartor ç mapper/smartor/PatArchiveMapper.xml ç selectPatArchiveByPatid çä»·ã |
| | | åå®ç°ï¼PatArchiveMapper.xml:272-275ï¼ï¼ |
| | | <include refid="selectPatArchiveVo"/> |
| | | where id = #{id} and del_flag=0 |
| | | |
| | | â ï¸ å¿
é¡»ä¿ççåè¯ä¹ï¼åéä¼ç´æ¥æ¹ååæ¯èµ°åï¼ï¼ |
| | | · where æ¡ä»¶æ¯ id = ? ãand del_flag = 0ãââ å·²å é¤çæ¡£æ¡ä¼è¢«å¤ä¸º"æ¥ä¸å°"ï¼ |
| | | ä»èèµ° {"æ£è
åºæ¬ä¿¡æ¯ä¸ºç©º"} åæ¯ãæ©æè稿æ¾ä»¥ä¸ºæ²¡æ del_flag è¿æ»¤ï¼å·²ä¿®æ£ã |
| | | |
| | | â ï¸ ä¸åå®ç°çãå¯ä¸å·®å¼ãï¼åª SELECT éè®¿ä¾§çæ£è¯»å°çåï¼åå®ç°æ¯æ´ä»½åæ¸
åï¼70+ åï¼ã |
| | | é访ç»è£
对 PatArchive ç getter 访é®é忰好æ¯è¿ 9 ä¸ªï¼ |
| | | age id idcardno name notrequiredFlag notrequiredreason relativetelcode sex telcode |
| | | è¿éå¤å¸¦ createTime ä»
ç¨äºææ¥ï¼ä¸å½±åä»»ä½åæ¯ã |
| | | ============================================================================ |
| | | --> |
| | | |
| | | <resultMap type="com.ruoyi.common.core.service.dto.VisitArchiveRow" id="VisitArchiveRowResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="name" column="name"/> |
| | | <result property="idcardno" column="idcardno"/> |
| | | <result property="telcode" column="telcode"/> |
| | | <result property="relativetelcode" column="relativetelcode"/> |
| | | <result property="sex" column="sex"/> |
| | | <result property="age" column="age"/> |
| | | <result property="birthdate" column="birthdate"/> |
| | | <result property="notrequiredFlag" column="notrequired_flag"/> |
| | | <result property="notrequiredreason" column="notrequiredreason"/> |
| | | <result property="createTime" column="create_time"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectByPatid" parameterType="Long" resultMap="VisitArchiveRowResult"> |
| | | select id, |
| | | name, |
| | | idcardno, |
| | | telcode, |
| | | relativetelcode, |
| | | sex, |
| | | age, |
| | | birthdate, |
| | | notrequired_flag, |
| | | notrequiredreason, |
| | | create_time |
| | | from pat_archive |
| | | where id = #{patid} and del_flag = 0 |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.inhospvisit.mapper.VisitInhospMapper"> |
| | | |
| | | <!-- |
| | | ============================================================================ |
| | | åºå
¥é¢é访模åèªå¸¦ç pat_med_inhosp æ¥è¯¢ã |
| | | ============================================================================ |
| | | ä¸ smartor ç mapper/smartor/PatMedInhospMapper.xml æ¯ã两å¥çä»·ç SQLãï¼ |
| | | · æ¬æ¨¡ååªä¾èµ ruoyi-commonï¼ä¸ä¾èµ smartorï¼å¦å循ç¯ä¾èµï¼ï¼æä»¥èªå·±æ¥ï¼ |
| | | · 纪å¾ï¼æ¹ä»»ä¸è¾¹å¿
须忥æ¹å¦ä¸è¾¹ï¼å¹¶éè· |
| | | sql/_probe/verify_inhospvisit_mapper.py ï¼æ¥å£ â XML ä¸ä¸å¯¹åºï¼ |
| | | sql/_probe/verify_inhospvisit_sql_expansion.py ï¼å±å¼åéæ¡æ¯å¯¹ WHERE/GROUP BY/ORDER BYï¼ |
| | | |
| | | ä¸å XML çãä¸å¤ææå·®å¼ãï¼é½å·²å¨æ¢ééç»è®°ï¼ï¼ |
| | | 1) ä¸å¼å
¥åæä»¶ç <sql id="selectPatMedInhospVo"> å
±äº«ç段 ââ æ¬æä»¶èªå¸¦åæ¸
åï¼ |
| | | èªå
å«ã便äºéæ¡æ¯å¯¹ï¼æ»¡æåº¦é£æ¬¡è¸©è¿"çæ®µä¸¤å¤ç»´æ¤"çåï¼è¿ééæ©ç¸ååæ³ï¼ï¼ |
| | | 2) selectForScan ç SELECT ååäºå åï¼åªä¿çéè®¿ä¾§çæ£ç¨å°çå |
| | | ï¼å XML æ 70+ åï¼æ¬æ¨¡ååªéè¦ 40 åï¼ãå åä¸å½±å WHERE/GROUP BY/ORDER BY è¯ä¹ï¼ |
| | | 3) ç»æåç¨ AS å«åç»ä¸æè¡å¯¹è±¡å±æ§åï¼å æ¤åªéè¦ä¸ä¸ª resultMapã |
| | | |
| | | å¿
é¡»ãéåä¿çãçåè¯ä¹ï¼åéå°±ç´æ¥æ¹å线ä¸éè®¿ç»æï¼ï¼ |
| | | 1) JOIN pat_archive ä¸ a.del_flag=0 / b.del_flag=0 / a.idcardno IS NOT NULL |
| | | ââ å³å®"è°ä¼è¢«æ«å°"ï¼ |
| | | 2) GROUP BY b.inhospid, a.age, a.age_unit, a.telcode, a.id, a.sex |
| | | ââ å»éè¯ä¹ï¼ |
| | | 3) ä¸ç§æåºï¼cry=1/2/3 æåºé¢æ¶é´ååºï¼cry=0 æåºä½èªç¶åºä¸éä¸ï¼ |
| | | ââ å³å®ãå¤ç次åºãï¼è次åºä¼å½±å"åå
¥é¢åæº"çæç»ç»æã |
| | | ============================================================================ |
| | | --> |
| | | |
| | | <resultMap type="com.ruoyi.inhospvisit.domain.row.VisitInhospRow" id="VisitInhospRowResult"> |
| | | <result property="inhospid" column="inhospid"/> |
| | | <result property="patid" column="patid"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="campusid" column="campusid"/> |
| | | <result property="patno" column="patno"/> |
| | | <result property="inhospno" column="inhospno"/> |
| | | <result property="serialnum" column="serialnum"/> |
| | | <result property="patname" column="patname"/> |
| | | <result property="age" column="age"/> |
| | | <result property="sex" column="sex"/> |
| | | <result property="telcode" column="telcode"/> |
| | | <result property="starttime" column="starttime"/> |
| | | <result property="endtime" column="endtime"/> |
| | | <result property="fudate" column="fudate"/> |
| | | <result property="deptcode" column="deptcode"/> |
| | | <result property="deptname" column="deptname"/> |
| | | <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> |
| | | <result property="hospitaldistrictname" column="hospitaldistrictname"/> |
| | | <result property="leaveldeptcode" column="leaveldeptcode"/> |
| | | <result property="leaveldeptname" column="leaveldeptname"/> |
| | | <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> |
| | | <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> |
| | | <result property="leaveicd10code" column="leaveicd10code"/> |
| | | <result property="leavediagname" column="leavediagname"/> |
| | | <result property="diagname" column="diagname"/> |
| | | <result property="nurseId" column="nurse_id"/> |
| | | <result property="nurseName" column="nurse_name"/> |
| | | <result property="drcode" column="drcode"/> |
| | | <result property="drname" column="drname"/> |
| | | <result property="managementDoctor" column="management_doctor"/> |
| | | <result property="managementDoctorCode" column="management_doctor_code"/> |
| | | <result property="deptcheckFlag" column="deptcheck_flag"/> |
| | | <result property="wardcheckFlag" column="wardcheck_flag"/> |
| | | <result property="diagcheckFlag" column="diagcheck_flag"/> |
| | | <result property="scheduleCheckFlag" column="schedulecheck_flag"/> |
| | | <result property="inDeptcheckFlag" column="in_deptcheck_flag"/> |
| | | <result property="inWardcheckFlag" column="in_wardcheck_flag"/> |
| | | <result property="inhospstate" column="inhospstate"/> |
| | | <result property="fuflag" column="fuflag"/> |
| | | <result property="longTaskReason" column="long_task_reason"/> |
| | | <result property="remark" column="remark"/> |
| | | <result property="medicalCode" column="medical_code"/> |
| | | </resultMap> |
| | | |
| | | <!-- |
| | | éè®¿æ«æ / ææ å¿ä½è¿æ»¤ï¼å¯¹åºå PatMedInhospMapper.xml ç selectPatMedInhospListï¼L166-406ï¼ã |
| | | æ¡ä»¶åç顺åºä¸å
容鿡坹é½å XMLï¼åªä¿çé访侧ä¼ç¨å°çæ¡ä»¶ï¼å æçº¯å±ç¤ºç±»æ¡ä»¶ |
| | | ï¼hospitalname / bedNo / outWayId / importanceFlagCode çï¼ï¼å·²ç»è®°ä¸ºææå·®å¼ã |
| | | --> |
| | | <select id="selectForScan" parameterType="com.ruoyi.inhospvisit.domain.row.VisitInhospRow" |
| | | resultMap="VisitInhospRowResult"> |
| | | select |
| | | a.age AS age, |
| | | a.telcode as telcode, |
| | | a.sex, |
| | | b.inhospid, |
| | | b.nurse_id, |
| | | b.nurse_name, |
| | | b.patname, |
| | | b.management_doctor, |
| | | b.management_doctor_code, |
| | | b.deptcheck_flag, |
| | | b.wardcheck_flag, |
| | | b.in_deptcheck_flag, |
| | | b.in_wardcheck_flag, |
| | | b.diagcheck_flag, |
| | | b.schedulecheck_flag, |
| | | b.inhospstate, |
| | | b.patno, |
| | | b.inhospno, |
| | | b.serialnum, |
| | | b.hospitaldistrictcode, |
| | | b.hospitaldistrictname, |
| | | b.diagname, |
| | | b.starttime, |
| | | b.endtime, |
| | | b.deptcode, |
| | | b.campusid, |
| | | b.deptname, |
| | | b.orgid, |
| | | b.patid, |
| | | b.leavediagname, |
| | | b.leaveicd10code, |
| | | b.drcode, |
| | | b.drname, |
| | | b.leaveldeptcode, |
| | | b.leaveldeptname, |
| | | b.leavehospitaldistrictcode, |
| | | b.leavehospitaldistrictname, |
| | | b.long_task_reason, |
| | | b.fuflag, |
| | | b.fudate, |
| | | b.remark, |
| | | b.medical_code |
| | | FROM |
| | | pat_med_inhosp b |
| | | JOIN |
| | | pat_archive a ON a.id = b.patid |
| | | where 1=1 |
| | | AND a.del_flag = 0 |
| | | AND b.del_flag = 0 |
| | | AND a.idcardno IS NOT NULL |
| | | <if test="inhospid != null">and b.inhospid = #{inhospid}</if> |
| | | <if test="startOutHospTime != null ">and date_format(b.endtime,'%y%m%d') >= |
| | | date_format(#{startOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endOutHospTime != null ">and date_format(b.endtime,'%y%m%d') <= |
| | | date_format(#{endOutHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="startInHospTime != null ">and date_format(b.starttime,'%y%m%d') >= |
| | | date_format(#{startInHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="endInHospTime != null ">and date_format(b.starttime,'%y%m%d') <= |
| | | date_format(#{endInHospTime},'%y%m%d') |
| | | </if> |
| | | <if test="patname != null and patname != ''">and patname like concat('%', #{patname}, '%')</if> |
| | | <if test="endtime != null ">and b.endtime = #{endtime}</if> |
| | | <if test="fuflag != null ">and b.fuflag = #{fuflag}</if> |
| | | <if test="orgid != null ">and b.orgid = #{orgid}</if> |
| | | <if test="campusid != null ">and b.campusid = #{campusid}</if> |
| | | <if test="serialnum != null ">and b.serialnum = #{serialnum}</if> |
| | | <if test="patno != null ">and b.patno = #{patno}</if> |
| | | <if test="nurseId != null ">and b.nurse_id = #{nurseId}</if> |
| | | <if test="nurseName != null and nurseName != ''">and b.nurse_name = #{nurseName}</if> |
| | | <if test="deptcheckFlag != null ">and b.deptcheck_flag = #{deptcheckFlag}</if> |
| | | <if test="scheduleCheckFlag != null ">and b.schedulecheck_flag = #{scheduleCheckFlag}</if> |
| | | <if test="wardcheckFlag != null ">and b.wardcheck_flag = #{wardcheckFlag}</if> |
| | | <if test="inDeptcheckFlag != null ">and b.in_deptcheck_flag = #{inDeptcheckFlag}</if> |
| | | <if test="inWardcheckFlag != null ">and b.in_wardcheck_flag = #{inWardcheckFlag}</if> |
| | | <if test="diagcheckFlag != null ">and b.diagcheck_flag = #{diagcheckFlag}</if> |
| | | <!-- |
| | | â ï¸ ä»¥ä¸è¿äºæ¡ä»¶å¨ãé访çæé¾ãä¸ç¡®å®ä¸å¯è¾¾ï¼13 个è°ç¨ç¹é没æä¸ä¸ªè®¾å®ä»¬ï¼ |
| | | è§ sql/_probe/verify_inhospvisit_sql_expansion.py ç REACHABILITY_EVIDENCEï¼ã |
| | | ä½ä»ç¶ãç
§æä¿çãï¼ä¿çå"ä¸å XML ç WHERE çä»·"å°±æ¯å¯æºæ¢°éªè¯çäºå®ï¼ |
| | | è䏿¯é ææ¡£è®ºè¯ãä»£ä»·åªæ¯å 个永ä¸è¿å
¥ç忝ã |
| | | --> |
| | | <if test="inhospMydFlag != null ">and b.inhosp_myd_flag = #{inhospMydFlag}</if> |
| | | <if test="managementDoctor != null ">and b.management_doctor = #{managementDoctor}</if> |
| | | <if test="managementDoctorCode != null ">and b.management_doctor_code = #{managementDoctorCode}</if> |
| | | <if test="inhospno != null ">and b.inhospno = #{inhospno}</if> |
| | | <if test="bedNo != null ">and b.bed_no = #{bedNo}</if> |
| | | <if test="outWayId != null ">and b.out_way_id = #{outWayId}</if> |
| | | <if test="outWayName != null ">and b.out_way_name = #{outWayName}</if> |
| | | <if test="encounterSourceId != null ">and b.encounter_source_id = #{encounterSourceId}</if> |
| | | <if test="importanceFlagCode != null ">and b.importance_flag_code = #{importanceFlagCode}</if> |
| | | <if test="emergencyLevelCode != null ">and b.emergency_level_code = #{emergencyLevelCode}</if> |
| | | <if test="hospitalname != null and hospitalname != ''">and hospitalname like concat('%', #{hospitalname}, |
| | | '%') |
| | | </if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname like |
| | | concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="cry != null and cry == 0 ">and b.endtime is null</if> |
| | | <if test="cry != null and cry == 1 ">and b.inhospstate=1</if> |
| | | <if test="cry != null and cry == 2 ">and b.inhospstate=2</if> |
| | | <if test="cry != null and cry == 3 ">and b.inhospstate=3</if> |
| | | <if test="inhospstate != null ">and b.inhospstate = #{inhospstate}</if> |
| | | <if test="schemestatus != null ">and b.schemestatus = #{schemestatus}</if> |
| | | <if test="leaveldeptcode != null ">and b.leaveldeptcode = #{leaveldeptcode}</if> |
| | | <if test="leavediagname != null and leavediagname != ''">and b.leavediagname like concat('%', |
| | | #{leavediagname}, '%') |
| | | </if> |
| | | <if test="drname != null and drname != ''">and b.drname like concat('%', #{drname}, '%')</if> |
| | | <if test="leaveldeptname != null and leaveldeptname != ''">and b.leaveldeptname like concat('%', |
| | | #{leaveldeptname}, '%') |
| | | </if> |
| | | <if test="deptname != null and deptname != ''">and b.deptname like concat('%', #{deptname}, '%')</if> |
| | | <if test="patid != null ">and a.id = #{patid}</if> |
| | | <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''">and |
| | | b.leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="medicalCode != null and medicalCode != ''">and b.medical_code = #{medicalCode}</if> |
| | | <if test="medicalName != null and medicalName != ''">and b.medical_name = #{medicalName}</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">and b.medical_company = #{medicalCompany}</if> |
| | | |
| | | <if test="leavehospitaldistrictcodes != null and leavehospitaldistrictcodes.size()>0"> |
| | | AND b.leavehospitaldistrictcode IN |
| | | <foreach collection="leavehospitaldistrictcodes" item="leavehospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{leavehospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="hospitaldistrictcodeList != null and hospitaldistrictcodeList.size()>0"> |
| | | AND b.hospitaldistrictcode IN |
| | | <foreach collection="hospitaldistrictcodeList" item="hospitaldistrictcode" open="(" separator="," |
| | | close=")"> |
| | | #{hospitaldistrictcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="leaveldeptcodes != null and leaveldeptcodes.size()>0"> |
| | | AND b.leaveldeptcode IN |
| | | <foreach collection="leaveldeptcodes" item="leaveldeptcode" open="(" separator="," close=")"> |
| | | #{leaveldeptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="deptcodeList != null and deptcodeList.size()>0"> |
| | | AND b.deptcode IN |
| | | <foreach collection="deptcodeList" item="deptcode" open="(" separator="," close=")"> |
| | | #{deptcode} |
| | | </foreach> |
| | | </if> |
| | | <if test="icd10codeList != null and icd10codeList.size()>0"> |
| | | AND b.leaveicd10code IN |
| | | <foreach collection="icd10codeList" item="icd10code" open="(" separator="," close=")"> |
| | | #{icd10code} |
| | | </foreach> |
| | | </if> |
| | | GROUP BY |
| | | b.inhospid, |
| | | a.age, |
| | | a.age_unit, |
| | | a.telcode, |
| | | a.id, |
| | | a.sex |
| | | <if test="cry != null and cry==1"> |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==2"> |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==3"> |
| | | order by b.endtime desc |
| | | </if> |
| | | <if test="cry != null and cry==0"> |
| | | <!-- |
| | | å¨é¢æ£è
ï¼å¯æå
¥é¢åºä½æ£/ååºï¼bedSort=asc æ descï¼ï¼ä¸ä¼ æ¶ä¿æé»è®¤æåºï¼å
¥é¢æ¶é´ååº + åºä½æ£åºï¼ã |
| | | åºä½æèªç¶åºæï¼åªç¨ 5.7 乿¯æç REGEXP/CAST/TRIM/LENGTHï¼ä¸ä¾èµ 8.0 ç REGEXP_REPLACEï¼ï¼ |
| | | 1) åºä½ä¸ºç©º/ç©ºä¸²çææå |
| | | 2) 纯æ°ååºä½æåé¢ï¼ææ°å¼å¤§å°ï¼2 å¨ 10 åï¼ |
| | | 3) 另忝/æ±åçåºä½æé¿åº¦ + å符串ï¼A2 å¨ A12 åï¼ |
| | | 4) inhospid å
åºï¼ä¿è¯ç¿»é¡µé¡ºåºç¨³å® |
| | | ååºåªå转 2)ã3) 两ç»å
é¨é¡ºåºï¼ç©ºåºä½ä»ææåï¼çº¯æ°åä»å¨åã |
| | | è¿æ®µãéåç
§æãå XMLï¼ä¸æ¹ã |
| | | --> |
| | | <choose> |
| | | <when test='"asc".equals(bedSort)'> |
| | | order by |
| | | coalesce(trim(b.bed_no), '') = '' , |
| | | (trim(b.bed_no) regexp '^[0-9]+$') = 0 , |
| | | cast(trim(b.bed_no) as unsigned) asc , |
| | | length(trim(b.bed_no)) asc , |
| | | trim(b.bed_no) asc , |
| | | b.inhospid asc |
| | | </when> |
| | | <when test='"desc".equals(bedSort)'> |
| | | order by |
| | | coalesce(trim(b.bed_no), '') = '' , |
| | | (trim(b.bed_no) regexp '^[0-9]+$') = 0 , |
| | | cast(trim(b.bed_no) as unsigned) desc , |
| | | length(trim(b.bed_no)) desc , |
| | | trim(b.bed_no) desc , |
| | | b.inhospid asc |
| | | </when> |
| | | <otherwise> |
| | | order by b.starttime desc , b.bed_no asc |
| | | </otherwise> |
| | | </choose> |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- |
| | | æä¸»é®æ¥ï¼å¯¹åºå PatMedInhospMapper.xml ç selectPatMedInhospByInhospidï¼L678-681ï¼ã |
| | | â ï¸ åå®ç°èµ° <sql id="selectPatMedInhospVo"/> å
±äº«ç段ï¼è¿éæ¾å¼ååºå䏿¹åï¼ä¸å¤å¶ç段ã |
| | | â ï¸ å表æ¥è¯¢ï¼ä¸å¸¦ age / telcode / sexï¼åå®ç°åæ ·ä¸å¸¦ï¼ï¼æä»¥æä¸»é®æ¥åºæ¥çè¡è¿å ä¸ªåæ®µä¸º nullã |
| | | è¿ä¸åå®ç°ä¸è´ï¼boxedServiceSubtask ç¨å°çæ£è
åæ®µä¸å¾æ¥èª patArchive æ¥è¯¢ï¼ä¸æ¥èªè¿éã |
| | | --> |
| | | <select id="selectByInhospid" parameterType="Long" resultMap="VisitInhospRowResult"> |
| | | select inhospid, |
| | | medical_code, |
| | | patname, |
| | | fuflag, |
| | | management_doctor, |
| | | management_doctor_code, |
| | | fudate, |
| | | remark, |
| | | nurse_id, |
| | | nurse_name, |
| | | deptcheck_flag, |
| | | wardcheck_flag, |
| | | in_deptcheck_flag, |
| | | in_wardcheck_flag, |
| | | diagcheck_flag, |
| | | schedulecheck_flag, |
| | | inhospstate, |
| | | patno, |
| | | long_task_reason, |
| | | inhospno, |
| | | serialnum, |
| | | hospitaldistrictcode, |
| | | hospitaldistrictname, |
| | | diagname, |
| | | starttime, |
| | | endtime, |
| | | deptcode, |
| | | deptname, |
| | | orgid, |
| | | patid, |
| | | leavediagname, |
| | | leaveicd10code, |
| | | drcode, |
| | | drname, |
| | | leaveldeptcode, |
| | | leaveldeptname, |
| | | leavehospitaldistrictcode, |
| | | leavehospitaldistrictname, |
| | | campusid |
| | | from pat_med_inhosp |
| | | where inhospid = #{inhospid} |
| | | </select> |
| | | |
| | | <!-- |
| | | åªååé访æ å¿ä½ä¸ long_task_reasonã |
| | | â ï¸ åå®ç°æ¯ updatePatMedInhosp ç"è¿ç¾ä¸ª <if>ï¼ä¼ ä»ä¹æ´æ°ä»ä¹"ãé访侧åªåè¿å åï¼ |
| | | æä»¥è¿éæ¾å¼ååº ââ é¿å
"ä¼ äºä¸ªå满å®ä½å¯¼è´æå被æå¤å空/æ¼å"è¿ç±»éé»é®é¢ã |
| | | â ï¸ æ å¿ä½ååèµ°ãç½åå <choose> å±å¼æå¸¸éååãï¼ä¸å ${} åç¬¦ä¸²æ¼æ¥ï¼æ¢é²æ³¨å
¥ï¼ |
| | | å让"åªäºåå¯å"å¨ä»£ç é坿䏾ã |
| | | â ï¸ reason 为 null æ¶ã䏿¹å¨ãlong_task_reasonï¼ä¸å <if test="longTaskReason != null"> ä¸è´ï¼ã |
| | | --> |
| | | <update id="updateFlags"> |
| | | update pat_med_inhosp |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <choose> |
| | | <when test='flagColumn == "deptcheck_flag"'>deptcheck_flag = #{flagValue},</when> |
| | | <when test='flagColumn == "wardcheck_flag"'>wardcheck_flag = #{flagValue},</when> |
| | | <when test='flagColumn == "diagcheck_flag"'>diagcheck_flag = #{flagValue},</when> |
| | | <when test='flagColumn == "medcheck_flag"'>medcheck_flag = #{flagValue},</when> |
| | | <when test='flagColumn == "in_deptcheck_flag"'>in_deptcheck_flag = #{flagValue},</when> |
| | | <when test='flagColumn == "in_wardcheck_flag"'>in_wardcheck_flag = #{flagValue},</when> |
| | | <when test='flagColumn == "schedulecheck_flag"'>schedulecheck_flag = #{flagValue},</when> |
| | | <otherwise> |
| | | <!-- éæ³ååï¼èªèµå¼ï¼ä¿è¯ SET ä¸ä¸ºç©ºä¸ä¸æ¹æ°æ®ï¼Service å±ä¼å
æ¦æï¼ --> |
| | | inhospid = inhospid, |
| | | </otherwise> |
| | | </choose> |
| | | <if test="reason != null">long_task_reason = #{reason},</if> |
| | | </trim> |
| | | where inhospid = #{inhospid} |
| | | </update> |
| | | |
| | | <!-- |
| | | åªåå remarkï¼å updateCheckFlag çé带å¨ä½ï¼PatMedInhospServiceImpl L1680-1683ï¼ã |
| | | ä¸åå®ç°"䏿¬¡æ´å®ä½æ´æ°"å¨ç»æä¸çä»·ï¼å updatePatMedInhosp æ¯ä¸ªå段åèª <if>ï¼ |
| | | updateCheckFlag 飿¬¡è°ç¨åªæ flag ä¸ remark ä¸¤ä¸ªåæ®µé nullã |
| | | --> |
| | | <update id="updateRemark"> |
| | | update pat_med_inhosp |
| | | set remark = #{remark} |
| | | where inhospid = #{inhospid} |
| | | </update> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.inhospvisit.mapper.VisitPreachformMapper"> |
| | | |
| | | <!-- |
| | | ============================================================================ |
| | | åºå
¥é¢é访模åèªå¸¦ç service_subtask_preachform 读åã |
| | | ============================================================================ |
| | | ä¸ smartor ç mapper/smartor/ServiceSubtaskPreachformMapper.xml çä»·ï¼ |
| | | · selectList â selectServiceSubtaskPreachformListï¼å XML L44-73ï¼ |
| | | · insert â insertServiceSubtaskPreachformï¼å XML L81-151ï¼useGeneratedKeysï¼ |
| | | å XML ç¨ <sql id="selectServiceSubtaskPreachformVo"> å
±äº«ç段ï¼è¿éãæ¾å¼ååºå䏿¹åãï¼ |
| | | ä¸å¤å¶ç段ï¼ä¸ VisitInhospMapper åä¸åæ³ï¼èªå
å«ã便äºéæ¡æ¯å¯¹ï¼ã |
| | | ============================================================================ |
| | | --> |
| | | |
| | | <resultMap type="com.ruoyi.common.core.service.dto.VisitPreachformRow" id="VisitPreachformRowResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="subid" column="subid"/> |
| | | <result property="taskid" column="taskid"/> |
| | | <result property="preachform" column="preachform"/> |
| | | <result property="sendstate" column="sendstate"/> |
| | | <result property="currentSendTime" column="current_send_time"/> |
| | | <result property="remark" column="remark"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="compensateTime" column="compensate_time"/> |
| | | <result property="sort" column="sort"/> |
| | | </resultMap> |
| | | |
| | | <!-- æ¡ä»¶ä¸é¡ºåºéæ¡å¯¹é½å XML L44-73 --> |
| | | <select id="selectList" parameterType="com.ruoyi.common.core.service.dto.VisitPreachformRow" |
| | | resultMap="VisitPreachformRowResult"> |
| | | select id, |
| | | subid, |
| | | taskid, |
| | | preachform, |
| | | sendstate, |
| | | current_send_time, |
| | | remark, |
| | | orgid, |
| | | del_flag, |
| | | create_time, |
| | | create_by, |
| | | update_time, |
| | | update_by, |
| | | compensate_time, |
| | | sort |
| | | from service_subtask_preachform |
| | | where 1=1 |
| | | and del_flag = 0 |
| | | <if test="subid != null "> |
| | | and subid = #{subid} |
| | | </if> |
| | | <if test="taskid != null "> |
| | | and taskid = #{taskid} |
| | | </if> |
| | | <if test="currentSendTime != null "> |
| | | and current_send_time = #{currentSendTime} |
| | | </if> |
| | | <if test="preachform != null and preachform != ''"> |
| | | and preachform = #{preachform} |
| | | </if> |
| | | <if test="sendstate != null and sendstate != ''"> |
| | | and sendstate = #{sendstate} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="sort != null "> |
| | | and sort = #{sort} |
| | | </if> |
| | | <if test="compensateTime != null "> |
| | | and compensate_time = #{compensateTime} |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- åä¸é¡ºåºéæ¡å¯¹é½å XML L81-151 --> |
| | | <insert id="insert" parameterType="com.ruoyi.common.core.service.dto.VisitPreachformRow" |
| | | useGeneratedKeys="true" keyProperty="id"> |
| | | insert into service_subtask_preachform |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">id,</if> |
| | | <if test="subid != null">subid,</if> |
| | | <if test="taskid != null">taskid,</if> |
| | | <if test="preachform != null">preachform,</if> |
| | | <if test="sendstate != null">sendstate,</if> |
| | | <if test="remark != null">remark,</if> |
| | | <if test="orgid != null">orgid,</if> |
| | | <if test="delFlag != null">del_flag,</if> |
| | | <if test="createTime != null">create_time,</if> |
| | | <if test="createBy != null">create_by,</if> |
| | | <if test="updateTime != null">update_time,</if> |
| | | <if test="updateBy != null">update_by,</if> |
| | | <if test="sort != null">sort,</if> |
| | | <if test="compensateTime != null">compensate_time,</if> |
| | | <if test="currentSendTime != null ">current_send_time,</if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id},</if> |
| | | <if test="subid != null">#{subid},</if> |
| | | <if test="taskid != null">#{taskid},</if> |
| | | <if test="preachform != null">#{preachform},</if> |
| | | <if test="sendstate != null">#{sendstate},</if> |
| | | <if test="remark != null">#{remark},</if> |
| | | <if test="orgid != null">#{orgid},</if> |
| | | <if test="delFlag != null">#{delFlag},</if> |
| | | <if test="createTime != null">#{createTime},</if> |
| | | <if test="createBy != null">#{createBy},</if> |
| | | <if test="updateTime != null">#{updateTime},</if> |
| | | <if test="updateBy != null">#{updateBy},</if> |
| | | <if test="sort != null">#{sort},</if> |
| | | <if test="compensateTime != null">#{compensateTime},</if> |
| | | <if test="currentSendTime != null ">#{currentSendTime},</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <!-- |
| | | ============================================================================ |
| | | 跨模å SQL æ¶å£è¡¥é½ç 7 个 statementï¼ç
§æ smartor å XMLï¼æ¡ä»¶/å/顺åºä¸åï¼ |
| | | · selectById â selectServiceSubtaskPreachformById |
| | | · selectByTaskidAndOrgid â selectBySubtaskï¼åæ taskid + orgidï¼é主é®ï¼ |
| | | · updateById â updateServiceSubtaskPreachformï¼where id = #{id}ï¼ |
| | | · updateByCondition â updateSSPByConditionï¼SET å updateByIdï¼WHERE ææ¡ä»¶ä¸æ idï¼ |
| | | · softDeleteById â deleteServiceSubtaskPreachformByIdï¼update ç½® del_flag=1ï¼ |
| | | · softDeleteByIds â deleteServiceSubtaskPreachformByIdsï¼åä¸ï¼in éåï¼ |
| | | · softDeleteBySubid â deleteServiceSubtaskPreachformBySubidï¼åä¸ï¼æ subidï¼ |
| | | 注æï¼ä¸ä¸ª delete* å¨å XML éå°±æ¯"软å "ï¼update set del_flag=1ï¼ï¼æ¤å¤åæ ·ä¿çï¼ |
| | | å
¶ä¸ BySubid 忬ç¨çå°±æ¯ <delete> æ ç¾ï¼ä¹ç
§æã |
| | | ============================================================================ |
| | | --> |
| | | |
| | | <select id="selectById" parameterType="Long" resultMap="VisitPreachformRowResult"> |
| | | select id, |
| | | subid, |
| | | taskid, |
| | | preachform, |
| | | sendstate, |
| | | current_send_time, |
| | | remark, |
| | | orgid, |
| | | del_flag, |
| | | create_time, |
| | | create_by, |
| | | update_time, |
| | | update_by, |
| | | compensate_time, |
| | | sort |
| | | from service_subtask_preachform |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <!-- å selectBySubtaskï¼del_flag=0 + å¯é taskid/orgidï¼ååæ°æ¯ ServiceSubtaskï¼å®é
åªç¨è¿ä¸¤ä¸ªåæ®µï¼ --> |
| | | <select id="selectByTaskidAndOrgid" resultMap="VisitPreachformRowResult"> |
| | | select id, |
| | | subid, |
| | | taskid, |
| | | preachform, |
| | | sendstate, |
| | | current_send_time, |
| | | remark, |
| | | orgid, |
| | | del_flag, |
| | | create_time, |
| | | create_by, |
| | | update_time, |
| | | update_by, |
| | | compensate_time, |
| | | sort |
| | | from service_subtask_preachform |
| | | WHERE del_flag = 0 |
| | | <if test="taskid != null"> |
| | | AND taskid = #{taskid} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | AND orgid = #{orgid} |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- å updateServiceSubtaskPreachformï¼where id = #{id} --> |
| | | <update id="updateById" parameterType="com.ruoyi.common.core.service.dto.VisitPreachformRow"> |
| | | update service_subtask_preachform |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="subid != null">subid = |
| | | #{subid}, |
| | | </if> |
| | | <if test="taskid != null">taskid = |
| | | #{taskid}, |
| | | </if> |
| | | <if test="preachform != null">preachform = |
| | | #{preachform}, |
| | | </if> |
| | | <if test="sendstate != null">sendstate = |
| | | #{sendstate}, |
| | | </if> |
| | | <if test="remark != null">remark = |
| | | #{remark}, |
| | | </if> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="sort != null">sort = |
| | | #{sort}, |
| | | </if> |
| | | <if test="compensateTime != null">compensate_time = |
| | | #{compensateTime}, |
| | | </if> |
| | | <if test="currentSendTime != null "> |
| | | current_send_time = #{currentSendTime}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <!-- å updateSSPByConditionï¼SET ä¸ updateById ç¸åï¼WHERE ææ¡ä»¶ä¸æ id --> |
| | | <update id="updateByCondition" parameterType="com.ruoyi.common.core.service.dto.VisitPreachformRow"> |
| | | update service_subtask_preachform |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="subid != null">subid = |
| | | #{subid}, |
| | | </if> |
| | | <if test="taskid != null">taskid = |
| | | #{taskid}, |
| | | </if> |
| | | <if test="preachform != null">preachform = |
| | | #{preachform}, |
| | | </if> |
| | | <if test="sendstate != null">sendstate = |
| | | #{sendstate}, |
| | | </if> |
| | | <if test="remark != null">remark = |
| | | #{remark}, |
| | | </if> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="sort != null">sort = |
| | | #{sort}, |
| | | </if> |
| | | <if test="compensateTime != null">compensate_time = |
| | | #{compensateTime}, |
| | | </if> |
| | | <if test="currentSendTime != null "> |
| | | current_send_time = #{currentSendTime}, |
| | | </if> |
| | | </trim> |
| | | where 1=1 |
| | | <if test="subid != null">and subid = |
| | | #{subid} |
| | | </if> |
| | | <if test="taskid != null">and taskid = |
| | | #{taskid} |
| | | </if> |
| | | <if test="preachform != null">and preachform = |
| | | #{preachform} |
| | | </if> |
| | | <if test="remark != null">and remark = |
| | | #{remark} |
| | | </if> |
| | | <if test="orgid != null">and orgid = |
| | | #{orgid} |
| | | </if> |
| | | </update> |
| | | |
| | | <!-- å deleteServiceSubtaskPreachformByIdï¼<update> ç½® del_flag=1 --> |
| | | <update id="softDeleteById" parameterType="Long"> |
| | | update service_subtask_preachform |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <!-- å deleteServiceSubtaskPreachformByIdsï¼<update> + in éå --> |
| | | <update id="softDeleteByIds" parameterType="String"> |
| | | update service_subtask_preachform |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </update> |
| | | |
| | | <!-- å deleteServiceSubtaskPreachformBySubidï¼<delete> æ ç¾ä½è¯å¥æ¯ update --> |
| | | <delete id="softDeleteBySubid" parameterType="Long"> |
| | | update service_subtask_preachform |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where subid = #{subid} |
| | | </delete> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.inhospvisit.mapper.VisitTaskdeptMapper"> |
| | | |
| | | <!-- |
| | | ============================================================================ |
| | | åºå
¥é¢é访模åèªå¸¦ç service_taskdept åªè¯»æ¥è¯¢ã |
| | | ============================================================================ |
| | | å¯¹åº smartor ç ServiceTaskdeptMapper.xml#selectServiceTaskdeptListï¼L40-72ï¼ã |
| | | å XML ç¨ <sql id="selectServiceTaskdeptVo"> å
±äº«ç段ï¼è¿éæ¾å¼ååºå䏿¹åï¼ä¸å¤å¶ç段ã |
| | | |
| | | â ï¸ å XML ç bugï¼dept_name æ¡ä»¶å¤çæ¯ deptCodeï¼å·²ãåæ ·ç
§æãââ |
| | | è§ VisitTaskdeptMapper ç类注éãé访è°ç¨ç¹ä»ä¸è®¾ deptNameï¼æä»¥ä¸å¯è¾¾ï¼ |
| | | ä½æç¬¬ 6d æ¥çååï¼ä¸é "ä¸å¯è¾¾"æ¥å æ¡ä»¶ã |
| | | ============================================================================ |
| | | --> |
| | | |
| | | <resultMap type="com.ruoyi.inhospvisit.domain.row.VisitTaskdeptRow" id="VisitTaskdeptRowResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="taskId" column="task_id"/> |
| | | <result property="taskName" column="task_name"/> |
| | | <result property="longtask" column="longtask"/> |
| | | <result property="serviceType" column="service_type"/> |
| | | <result property="deptType" column="dept_type"/> |
| | | <result property="deptId" column="dept_id"/> |
| | | <result property="deptCode" column="dept_code"/> |
| | | <result property="deptName" column="dept_name"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="orgid" column="orgid"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectList" parameterType="com.ruoyi.inhospvisit.domain.row.VisitTaskdeptRow" |
| | | resultMap="VisitTaskdeptRowResult"> |
| | | select id, |
| | | task_id, |
| | | dept_name, |
| | | task_name, |
| | | orgid, |
| | | longtask, |
| | | service_type, |
| | | dept_type, |
| | | dept_id, |
| | | dept_code, |
| | | del_flag, |
| | | create_time, |
| | | update_time |
| | | from service_taskdept |
| | | where 1=1 |
| | | and del_flag = 0 |
| | | <if test="taskId != null "> |
| | | and task_id = #{taskId} |
| | | </if> |
| | | <if test="taskName != null "> |
| | | and task_name = #{taskName} |
| | | </if> |
| | | <if test="longtask != null "> |
| | | and longtask = #{longtask} |
| | | </if> |
| | | <if test="serviceType != null and serviceType != ''"> |
| | | and service_type = #{serviceType} |
| | | </if> |
| | | <if test="deptType != null and deptType != ''"> |
| | | and dept_type = #{deptType} |
| | | </if> |
| | | <if test="deptId != null "> |
| | | and dept_id = #{deptId} |
| | | </if> |
| | | <if test="deptCode != null and deptCode != ''"> |
| | | and dept_code = #{deptCode} |
| | | </if> |
| | | <!-- â ï¸ å XML è¿éå¤çæ¯ deptCodeï¼ä¸æ¯ deptNameï¼ââ åæ ·ç
§æ --> |
| | | <if test="deptName != null and deptCode != ''"> |
| | | and dept_name = #{deptName} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.inhospvisit.mapper.VisitTaskdiagMapper"> |
| | | |
| | | <!-- |
| | | ============================================================================ |
| | | åºå
¥é¢é访模åèªå¸¦ç service_taskdiag åªè¯»æ¥è¯¢ã |
| | | ============================================================================ |
| | | å¯¹åº smartor ç ServiceTaskdiagMapper.xml#selectServiceTaskdiagListByIcdNameï¼L104-154ï¼ã |
| | | å XML ç¨ <sql id="selectServiceTaskdiagVo"> å
±äº«ç段ï¼è¿éæ¾å¼ååºå䏿¹åã |
| | | æ¡ä»¶é¡ºåºä¸å
容鿡ç
§æï¼å« guid/pguid/pid/dept_name/ward_name è¿äºé访侧ä¸ç¨çæ¡ä»¶ï¼ã |
| | | ============================================================================ |
| | | --> |
| | | |
| | | <resultMap type="com.ruoyi.inhospvisit.domain.row.VisitTaskdiagRow" id="VisitTaskdiagRowResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="taskId" column="task_id"/> |
| | | <result property="longtask" column="longtask"/> |
| | | <result property="taskName" column="task_name"/> |
| | | <result property="serviceType" column="service_type"/> |
| | | <result property="icd10id" column="icd10id"/> |
| | | <result property="icd10code" column="icd10code"/> |
| | | <result property="icd10name" column="icd10name"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="pguid" column="pguid"/> |
| | | <result property="pid" column="pid"/> |
| | | <result property="deptCode" column="dept_code"/> |
| | | <result property="deptName" column="dept_name"/> |
| | | <result property="wardCode" column="ward_code"/> |
| | | <result property="wardName" column="ward_name"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectListByIcdName" parameterType="com.ruoyi.inhospvisit.domain.row.VisitTaskdiagRow" |
| | | resultMap="VisitTaskdiagRowResult"> |
| | | select id, |
| | | task_id, |
| | | longtask, |
| | | task_name, |
| | | service_type, |
| | | icd10id, |
| | | icd10code, |
| | | icd10name, |
| | | del_flag, |
| | | create_time, |
| | | update_time, |
| | | orgid, |
| | | guid, |
| | | pguid, |
| | | pid, |
| | | dept_code, |
| | | dept_name, |
| | | ward_code, |
| | | ward_name |
| | | from service_taskdiag |
| | | where 1=1 |
| | | and del_flag = 0 |
| | | <if test="taskId != null "> |
| | | and task_id = #{taskId} |
| | | </if> |
| | | <if test="longtask != null "> |
| | | and longtask = #{longtask} |
| | | </if> |
| | | <if test="taskName != null and taskName != ''"> |
| | | and task_name like concat('%', #{taskName}, '%') |
| | | </if> |
| | | <if test="serviceType != null and serviceType != ''"> |
| | | and service_type = #{serviceType} |
| | | </if> |
| | | <if test="icd10id != null "> |
| | | and icd10id = #{icd10id} |
| | | </if> |
| | | <if test="icd10code != null and icd10code != ''"> |
| | | and icd10code = #{icd10code} |
| | | </if> |
| | | <if test="icd10name != null and icd10name != ''"> |
| | | and icd10name = #{icd10name} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="guid != null and guid != ''"> |
| | | and guid = #{guid} |
| | | </if> |
| | | <if test="pguid != null and pguid != ''"> |
| | | and pguid = #{pguid} |
| | | </if> |
| | | <if test="pid != null "> |
| | | and pid = #{pid} |
| | | </if> |
| | | <if test="deptCode != null and deptCode != ''"> |
| | | and dept_code = #{deptCode} |
| | | </if> |
| | | <if test="deptName != null and deptName != ''"> |
| | | and dept_name = #{deptName} |
| | | </if> |
| | | <if test="wardCode != null and wardCode != ''"> |
| | | and ward_code = #{wardCode} |
| | | </if> |
| | | <if test="wardName != null and wardName != ''"> |
| | | and ward_name = #{wardName} |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //package com.ruoyi.inhospvisit.api; |
| | | // |
| | | //import com.ruoyi.common.core.service.IConfigService; |
| | | //import com.ruoyi.common.core.service.dto.VisitAgainSubtaskDto; |
| | | //import com.ruoyi.inhospvisit.config.InhospVisitAvailabilityInterceptor; |
| | | //import com.ruoyi.inhospvisit.config.InhospVisitProperties; |
| | | //import com.ruoyi.inhospvisit.config.InhospVisitSwitch; |
| | | //import com.ruoyi.inhospvisit.config.InhospVisitWebConfig; |
| | | //import org.springframework.beans.factory.ObjectProvider; |
| | | //import org.springframework.context.annotation.AnnotationConfigApplicationContext; |
| | | // |
| | | //import java.util.concurrent.atomic.AtomicInteger; |
| | | // |
| | | ///** |
| | | // * åºå
¥é¢é访模åç <b>Spring 容å¨è£
é
æ ¡éª</b>ï¼ä¸ä¾èµ JUnitãä¸ä¾èµæ°æ®åºï¼ã |
| | | // * |
| | | // * <p>ç
§æ {@code SatisfactionContextCheck} çåæ³ï¼ç¨çå®çï¼ä½æç®çï¼ |
| | | // * {@link AnnotationConfigApplicationContext} éªè¯"Spring è½æ Bean è£
èµ·æ¥" ââ |
| | | // * éææ£æ¥è¯æä¸äºè£
é
ãæ»¡æåº¦æ¨¡å彿¶æ<b>两个çå®ç¼ºé·</b>åªæçèµ·å®¹å¨æè½åç°ï¼ |
| | | // * <ol> |
| | | // * <li>é¨é¢æä¸¤ä¸ªå
¬å¼æé å¨å´æ²¡æ {@code @Autowired} â å¯å¨æ¥ {@code No default constructor found}ï¼</li> |
| | | // * <li>é¨é¢æèªå·±å½å®ç° â è°ç¨æ¶æ ééå½ â {@code StackOverflowError}ã</li> |
| | | // * </ol> |
| | | // * æ¬ç±»æè¿ä¸¤æ¡é½åææè¨ã |
| | | // * |
| | | // * <h3>è¿è¡æ¹å¼ï¼ä»åºå
没æç°æèæ¬ï¼</h3> |
| | | // * <pre> |
| | | // * mvn -o -q -pl ruoyi-inhospvisit -am test-compile -DskipTests |
| | | // * # ç¶åç¨æ¨¡å classpath ç´æ¥è· mainï¼surefire 认ä¸åºå®ï¼å 为没æ @Testï¼ |
| | | // * </pre> |
| | | // * classpath å¯ç¨ {@code mvn dependency:build-classpath -Dmdep.outputFile=...} 导åºã |
| | | // */ |
| | | //public class InhospVisitContextCheck { |
| | | // |
| | | // private static int failed = 0; |
| | | // |
| | | // private static void check(String name, String expected, String actual) { |
| | | // if (expected.equals(actual)) { |
| | | // System.out.println(" [OK] " + name + " = " + actual); |
| | | // } else { |
| | | // System.out.println(" [FAIL] " + name + " ææ=[" + expected + "] å®é
=[" + actual + "]"); |
| | | // failed++; |
| | | // } |
| | | // } |
| | | // |
| | | // public static void main(String[] args) { |
| | | // System.out.println("=== åºæ¯ 1ï¼åæ°è¡¨ inhospvisit.enabled=trueï¼ä¸åå¨å
é¨å®ç° ==="); |
| | | // try (AnnotationConfigApplicationContext ctx = context(true, true, SYS_ON)) { |
| | | // InhospVisitFacade facade = ctx.getBean(InhospVisitFacade.class); |
| | | // check("é¨é¢è½è¢« Spring å®ä¾åï¼æé å¨ä¸åæ§ä¹ï¼", "true", String.valueOf(facade != null)); |
| | | // check("å¯ç¨æ¶ isEnabled()", "true", String.valueOf(facade.isEnabled())); |
| | | // check("åå°çæ¯ãå
é¨å®ç°ãè䏿¯é¨é¢èªå·±", "1", |
| | | // String.valueOf(facade.dealOutHospInfo("7"))); |
| | | // check("é¨é¢åæ¶æ¯ PublicitySubtaskApiï¼ä¸æ²ç»å®£ææ¨¡åçé£ä¸ä¸ªï¼", "true", |
| | | // String.valueOf(ctx.getBean(com.ruoyi.common.core.service.PublicitySubtaskApi.class) == facade)); |
| | | // // 容å¨éåºæ 2 个 InhospVisitApiï¼é¨é¢èªå·± + å
é¨å®ç°ï¼é¨é¢ä¹å®ç°è¯¥æ¥å£ï¼è¿æ¯è®¾è®¡ä½¿ç¶ï¼ |
| | | // check("容å¨å
InhospVisitApi å®ç°æ° = é¨é¢ 1 + å
é¨å®ç° 1", "2", |
| | | // String.valueOf(ctx.getBeansOfType(InhospVisitApi.class).size())); |
| | | // check("å¼å
³è¯»åçé®åæ¯ sys_config ç inhospvisit.enabled", "inhospvisit.enabled", |
| | | // InhospVisitSwitch.CONFIG_KEY); |
| | | // } |
| | | // |
| | | // System.out.println(); |
| | | // System.out.println("=== åºæ¯ 2ï¼åæ°è¡¨=trueï¼ä½ã没æãå
é¨å®ç°ï¼æ¨¡å没被æè¿åºç¨ï¼==="); |
| | | // try (AnnotationConfigApplicationContext ctx = context(true, false, SYS_ON)) { |
| | | // InhospVisitFacade facade = ctx.getBean(InhospVisitFacade.class); |
| | | // check("æ å®ç°æ¶ isEnabled() 为 false", "false", String.valueOf(facade.isEnabled())); |
| | | // // å
³é®ï¼ä¸è½æé¨é¢èªå·±å½å®ç°ï¼å¦åè¿éä¼ StackOverflowError |
| | | // String result; |
| | | // try { |
| | | // result = String.valueOf(facade.dealOutHospInfo("7")); |
| | | // } catch (StackOverflowError e) { |
| | | // result = "StackOverflowError"; |
| | | // } |
| | | // check("æ å®ç°æ¶ dealOutHospInfo å®å
¨è¿å 0ï¼ä¸ä¼èªå¼ç¨éå½ï¼", "0", result); |
| | | // |
| | | // String again; |
| | | // try { |
| | | // VisitAgainSubtaskDto dto = facade.buildAgainVisitDraft("ORG1", 1L, 2L, 2L); |
| | | // again = String.valueOf(dto.isInhospFound()); |
| | | // } catch (StackOverflowError e) { |
| | | // again = "StackOverflowError"; |
| | | // } |
| | | // check("æ å®ç°æ¶ buildAgainVisitDraft è¿åãæªæ¾å°åºå
¥é¢è®°å½ãè䏿¯éå½", "false", again); |
| | | // |
| | | // check("æ å®ç°æ¶ generatePublicitySubtask å®å
¨è¿å false", "false", |
| | | // String.valueOf(facade.generatePublicitySubtask(1L, 1L, 1L, 4, "7"))); |
| | | // |
| | | // // åè¯ï¼ç´æ¥é®å®¹å¨"æç±»åæåªäºåé"ï¼ç宿¯å¦æé¨é¢èªå·±ç®è¿å» |
| | | // ProviderProbe probe = ctx.getBean(ProviderProbe.class); |
| | | // check("æ å®ç°æ¶ï¼å®¹å¨æç±»ååªæ¾å°é¨é¢èªå·±ï¼è¯æèªå¼ç¨å
åºåå¨ï¼", "true", |
| | | // String.valueOf(probe.rawCandidate() == facade)); |
| | | // check("ä½é¨é¢ä¸ä¼æ'èªå·±'彿å®ç°ï¼self è¿æ»¤çæï¼", "false", |
| | | // String.valueOf(facade.isEnabled())); |
| | | // } |
| | | // |
| | | // System.out.println(); |
| | | // System.out.println("=== åºæ¯ 3ï¼åæ°è¡¨ inhospvisit.enabled=falseï¼å®ç° Bean ä¾ç¶åå¨ï¼ä½é¨é¢å¿
é¡»ä¸è½¬åï¼==="); |
| | | // StubApi.CALLS.set(0); |
| | | // try (AnnotationConfigApplicationContext ctx = context(true, true, SYS_OFF)) { |
| | | // InhospVisitFacade facade = ctx.getBean(InhospVisitFacade.class); |
| | | // check("å
³éæ¶ isEnabled() 为 false", "false", String.valueOf(facade.isEnabled())); |
| | | // String result; |
| | | // try { |
| | | // result = String.valueOf(facade.dealOutHospInfo("7")); |
| | | // } catch (StackOverflowError e) { |
| | | // result = "StackOverflowError"; |
| | | // } |
| | | // check("å
³éæ¶ dealOutHospInfo è¿å 0ï¼ä¸ä¼èªéå½ï¼", "0", result); |
| | | // check("å
³éæ¶ä¸åè°ç¨å
é¨å®ç°ï¼stub è°ç¨æ¬¡æ° = 0ï¼", "0", |
| | | // String.valueOf(StubApi.CALLS.get())); |
| | | // |
| | | // // ------------------------------------------------------------------ |
| | | // // å
³é®ï¼åºç¡åºå
¥é¢ä¿¡æ¯ç读åãä¸åæ¬å¼å
³ç®¡è¾ã |
| | | // // çç±è§ InhospVisitDataService 类注é ââ HIS éé䏿¡£æ¡æ±èé½ä¾èµå®åå
¥é¢è®°å½ï¼ |
| | | // // è¥æå¼å
³ä¸å¹¶å¥ä¸ï¼å
³éé访çæä¼è¿å¸¦è®©æ°æ®ééç«çªï¼é£æ¯ä¸¤ä»¶äºã |
| | | // // ------------------------------------------------------------------ |
| | | // StubDataService.CALLS.set(0); |
| | | // String dataResult; |
| | | // try { |
| | | // dataResult = String.valueOf(facade.selectPatMedInhospByInhospid(123L) != null); |
| | | // } catch (StackOverflowError e) { |
| | | // dataResult = "StackOverflowError"; |
| | | // } |
| | | // check("å
³éæ¶ãæ°æ®æ¥è¯¢ãä»å¯ç¨ï¼ä¸åå¼å
³ç®¡è¾ï¼", "true", dataResult); |
| | | // check("å
³éæ¶ãæ°æ®æ¥è¯¢ãç¡®å®è½¬åå°æ°æ®æå¡ï¼è°ç¨æ¬¡æ° = 1ï¼", "1", |
| | | // String.valueOf(StubDataService.CALLS.get())); |
| | | // |
| | | // StubDataService.CALLS.set(0); |
| | | // String updResult; |
| | | // try { |
| | | // updResult = String.valueOf(facade.updatePatMedInhosp( |
| | | // new com.ruoyi.inhospvisit.domain.PatMedInhosp())); |
| | | // } catch (StackOverflowError e) { |
| | | // updResult = "StackOverflowError"; |
| | | // } |
| | | // check("å
³éæ¶ãæ°æ®åå
¥ãä»å¯ç¨ä¸è¿åçå®è¡æ°ï¼ä¸åå¼å
³ç®¡è¾ï¼", "7", updResult); |
| | | // check("å
³éæ¶ãæ°æ®åå
¥ãç¡®å®è½¬åå°æ°æ®æå¡ï¼è°ç¨æ¬¡æ° = 1ï¼", "1", |
| | | // String.valueOf(StubDataService.CALLS.get())); |
| | | // |
| | | // InhospVisitAvailabilityInterceptor interceptor = ctx.getBean(InhospVisitAvailabilityInterceptor.class); |
| | | // String thrown = "(æªæå¼å¸¸)"; |
| | | // try { |
| | | // interceptor.preHandle(null, null, null); |
| | | // } catch (Exception e) { |
| | | // thrown = e.getClass().getSimpleName() + "|" + e.getMessage(); |
| | | // } |
| | | // check("å
³éæ¶æ¦æªå¨æ ServiceException", "true", String.valueOf(thrown.startsWith("ServiceException|"))); |
| | | // check("å
³éæ¶é误æç¤ºæç¡®ï¼å«é®åä¸ãæ¥å£ä¸å¯ç¨ãï¼", "true", |
| | | // String.valueOf(thrown.contains("inhospvisit.enabled=false") && thrown.contains("æ¥å£ä¸å¯ç¨"))); |
| | | // check("å
³éæ¶é误æç¤ºè¯´æå®æ¶ä»»å¡ä¸åå¼å
³æ§å¶", "true", |
| | | // String.valueOf(thrown.contains("宿¶ä»»å¡ä¸åæ¤å¼å
³æ§å¶"))); |
| | | // |
| | | // check("å
³éæ¶åä¿æ¤è·¯å¾ 2 æ¡ï¼é¶æ®µä¸ï¼ä¸å« addOperationSubTaskï¼", "2", |
| | | // String.valueOf(InhospVisitWebConfig.guardedPathPatterns().size())); |
| | | // check("åä¿æ¤è·¯å¾ä¸å«åºå
¥é¢è®°å½ CRUD 端ç¹", "false", |
| | | // String.valueOf(InhospVisitWebConfig.guardedPathPatterns().stream() |
| | | // .anyMatch(p -> p.contains("selectPatMedInhospList") || p.endsWith("/add") |
| | | // || p.endsWith("/edit") || p.endsWith("/export")))); |
| | | // } |
| | | // |
| | | // System.out.println(); |
| | | // System.out.println("=== åºæ¯ 4ï¼åæ°è¡¨ã没æãinhospvisit.enabled è¿ä¸è¡æ¶ï¼åè½ application.yml ==="); |
| | | // try (AnnotationConfigApplicationContext ctx = context(true, true, SYS_MISSING)) { |
| | | // InhospVisitFacade facade = ctx.getBean(InhospVisitFacade.class); |
| | | // check("åæ°è¡ç¼ºå¤±ãyml é»è®¤ true æ¶ isEnabled() 为 true", "true", String.valueOf(facade.isEnabled())); |
| | | // } |
| | | // try (AnnotationConfigApplicationContext ctx = context(false, true, SYS_MISSING)) { |
| | | // InhospVisitFacade facade = ctx.getBean(InhospVisitFacade.class); |
| | | // check("åæ°è¡ç¼ºå¤±ãyml=false æ¶ isEnabled() 为 false", "false", String.valueOf(facade.isEnabled())); |
| | | // } |
| | | // |
| | | // System.out.println(); |
| | | // System.out.println("=== åºæ¯ 5ï¼å®¹å¨éãæ²¡æãIConfigService æ¶ï¼ç¬ç«/æµè¯ç¯å¢ï¼å¿
é¡»è½å¯å¨ä¸æ yml å
åº ==="); |
| | | // try (AnnotationConfigApplicationContext ctx = context(true, true, null, false)) { |
| | | // InhospVisitFacade facade = ctx.getBean(InhospVisitFacade.class); |
| | | // check("æ é
ç½®æå¡æ¶é¨é¢ä»è½è£
é
å¹¶å¯å¨", "true", String.valueOf(facade != null)); |
| | | // check("æ é
ç½®æå¡æ¶æ yml å
åºï¼trueï¼", "true", String.valueOf(facade.isEnabled())); |
| | | // } |
| | | // |
| | | // System.out.println(); |
| | | // if (failed == 0) { |
| | | // System.out.println("===== åºå
¥é¢é访模å Spring è£
é
æ ¡éªå
¨é¨éè¿ ====="); |
| | | // } else { |
| | | // System.out.println("===== åºå
¥é¢é访模å Spring è£
é
æ ¡éªå¤±è´¥ " + failed + " 项 ====="); |
| | | // System.exit(1); |
| | | // } |
| | | // } |
| | | // |
| | | // /** |
| | | // * åæ°è¡¨çæ¨¡æåå¼ |
| | | // */ |
| | | // static final class Cfg { |
| | | // /** åæ°è¡åå¨ä¸ä¸º true */ |
| | | // static final String SYS_ON = "true"; |
| | | // /** åæ°è¡åå¨ä¸ä¸º false */ |
| | | // static final String SYS_OFF = "false"; |
| | | // /** åæ°è¡ä¸åå¨ */ |
| | | // static final String SYS_MISSING = null; |
| | | // } |
| | | // |
| | | // private static final String SYS_ON = Cfg.SYS_ON; |
| | | // private static final String SYS_OFF = Cfg.SYS_OFF; |
| | | // private static final String SYS_MISSING = Cfg.SYS_MISSING; |
| | | // |
| | | // private static AnnotationConfigApplicationContext context(boolean ymlEnabled, |
| | | // boolean withImpl, |
| | | // String sysConfigValue) { |
| | | // return context(ymlEnabled, withImpl, sysConfigValue, true); |
| | | // } |
| | | // |
| | | // private static AnnotationConfigApplicationContext context(boolean ymlEnabled, |
| | | // boolean withImpl, |
| | | // String sysConfigValue, |
| | | // boolean withConfigService) { |
| | | // AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); |
| | | // InhospVisitProperties properties = new InhospVisitProperties(); |
| | | // properties.setEnabled(ymlEnabled); |
| | | // ctx.registerBean(InhospVisitProperties.class, () -> properties); |
| | | // ctx.register(InhospVisitFacade.class, |
| | | // InhospVisitSwitch.class, |
| | | // InhospVisitAvailabilityInterceptor.class, |
| | | // InhospVisitWebConfig.class, |
| | | // ProviderProbe.class, |
| | | // StubDataService.class); |
| | | // if (withConfigService) { |
| | | // // åçåæ°é
ç½®æå¡ï¼åªè®¤ inhospvisit.enabled è¿ä¸ä¸ªé®ï¼å¼ç± sysConfigValue å³å® |
| | | // ctx.registerBean("stubConfigService", IConfigService.class, |
| | | // () -> (IConfigService) configKey -> |
| | | // InhospVisitSwitch.CONFIG_KEY.equals(configKey) ? sysConfigValue : ""); |
| | | // } |
| | | // if (withImpl) { |
| | | // ctx.registerBean("stubInhospVisitApi", InhospVisitApi.class, StubApi::new); |
| | | // } |
| | | // ctx.refresh(); |
| | | // return ctx; |
| | | // } |
| | | // |
| | | // /** |
| | | // * é¡¶æ¿ {@code DefaultInhospVisitApi} çæ¡©ï¼åªåå¡«è°ç¨æ¬¡æ°ä¸åºå®è¿åå¼ï¼ä¸ç¢°æ°æ®åºã |
| | | // * è¿æ ·æ¬æ ¡éªå¯ä»¥å¨æ²¡ææ°æ®æºçç¯å¢éè·ã |
| | | // */ |
| | | // public static class StubApi implements InhospVisitApi { |
| | | // |
| | | // /** |
| | | // * è°ç¨æ¬¡æ°ï¼ç¨æ¥è¯æ"å¼å
³å
³éæ¶é¨é¢ç¡®å®æ²¡æè½¬åç»å®ç°" |
| | | // */ |
| | | // static final AtomicInteger CALLS = new AtomicInteger(); |
| | | // |
| | | // @Override |
| | | // public boolean isEnabled() { |
| | | // return true; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int dealOutHospInfo(String config) { |
| | | // CALLS.incrementAndGet(); |
| | | // return 1; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int dealOutHospInfoBySchedule(String config) { |
| | | // CALLS.incrementAndGet(); |
| | | // return 1; |
| | | // } |
| | | // |
| | | // /** |
| | | // * è¡¥é½ {@link InhospVisitApi} çæ½è±¡æ¹æ³ã |
| | | // * <p> |
| | | // * â ï¸ è¿ä¸¤ä¸ªæ¹æ³æ¤å卿¬æ¡©é<b>缺失</b>ï¼å¯¼è´æ¬æµè¯ç±»ä»æªç¼è¯æå |
| | | // * ï¼{@code target/test-classes} ä¸ç´æ¯ç©ºçï¼ââå³"è£
é
æ ¡éª"å®é
ä¸ä¸æ¬¡é½æ²¡è·èµ·æ¥è¿ã |
| | | // * è¿æ¯è¢«åç°çæ¢æç¼ºé·ï¼æ¤å¤è¡¥ä¸ã |
| | | // */ |
| | | // @Override |
| | | // public int addOperationSubTask(String config) { |
| | | // CALLS.incrementAndGet(); |
| | | // return 1; |
| | | // } |
| | | // |
| | | // /** |
| | | // * è¡¥é½ {@link InhospVisitApi} çæ½è±¡æ¹æ³ï¼è§ {@link #addOperationSubTask}ï¼ã |
| | | // * <p> |
| | | // * é¨è¯é访å±ç¬¬äºæ¹ {@code ruoyi-outpatientvisit}ï¼æ¡©éåªè®°è°ç¨å¹¶è¿å 0ã |
| | | // */ |
| | | // @Override |
| | | // public int dealOutpatientInfo() { |
| | | // CALLS.incrementAndGet(); |
| | | // return 0; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int rollTaskGroupCycle() { |
| | | // CALLS.incrementAndGet(); |
| | | // return 0; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public VisitAgainSubtaskDto buildAgainVisitDraft(String orgid, Long inhospid, Long newTaskId, Long sendstate) { |
| | | // CALLS.incrementAndGet(); |
| | | // return InhospVisitFacade.emptyAgainDraft("stub"); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public boolean generatePublicitySubtask(Long taskid, Long patid, Long inhospid, int type, String config) { |
| | | // CALLS.incrementAndGet(); |
| | | // return true; |
| | | // } |
| | | // } |
| | | // |
| | | // /** |
| | | // * æ¢éï¼ä»¥"æè§è
"身份注å
¥ {@code ObjectProvider<InhospVisitApi>}ï¼çå®¹å¨æç±»åè½æ¾å°è°ã |
| | | // * <p> |
| | | // * å®ä¸æ¯ {@code InhospVisitApi} çå®ç°ï¼æä»¥ä¸åå¨"èªå¼ç¨è¢«æé¤"çæ
åµï¼ |
| | | // * å æ¤å®çå°çå°±æ¯å®æ´çåééå ââ ç¨æ¥è¯æ"没æå
é¨å®ç°æ¶å®¹å¨ä¼æé¨é¢èªå·±å½åé"ã |
| | | // */ |
| | | // public static class ProviderProbe { |
| | | // |
| | | // @org.springframework.beans.factory.annotation.Autowired |
| | | // private ObjectProvider<InhospVisitApi> provider; |
| | | // |
| | | // InhospVisitApi rawCandidate() { |
| | | // return provider.stream().findFirst().orElse(null); |
| | | // } |
| | | // } |
| | | // |
| | | // // ====================================================================== |
| | | // // åºç¡åºå
¥é¢ä¿¡æ¯æ°æ®éè·¯ï¼InhospVisitDataServiceï¼ |
| | | // // |
| | | // // 为ä»ä¹å¿
é¡»åç¬éªï¼ |
| | | // // é¨é¢åæ¶å®ç°äº InhospVisitDataServiceï¼è Spring çæé 注å
¥æ¯æç±»åæ¾åéã |
| | | // // æ©å
çåæ³ï¼ç´æ¥æ³¨å
¥æ¥å£ç±»åï¼å¨çå®å®¹å¨éä¼å½ä¸"æ£å¨å建çé¨é¢èªå·±"ï¼ |
| | | // // æ BeanCurrentlyInCreationException ââ è¿ä¸ªç¼ºé·ãåªæç起容å¨ãæè½åç°ï¼ |
| | | // // éææ£æ¥ä¸ç¼è¯é½åç°ä¸äºï¼æ»¡æåº¦æ¨¡å踩è¿åç±»åï¼ã |
| | | // // å æ¤è¿éç¨æ¡©æ°æ®æå¡æè¿æ¡éè·¯éä½ï¼ |
| | | // // · é¨é¢è½è£
é
ï¼ä¸èªå¼ç¨ï¼ï¼ |
| | | // // · æ°æ®æ¹æ³ç¡®å®è½¬åå°æ°æ®æå¡ï¼ä¸ãä¸å inhospvisit.enabled å¼å
³ç®¡è¾ãã |
| | | // // ====================================================================== |
| | | // |
| | | // /** |
| | | // * é¡¶æ¿ {@code DefaultInhospVisitDataService} çæ¡©ï¼åªè®°è°ç¨æ¬¡æ°ï¼ä¸ç¢°æ°æ®åºã |
| | | // * <p> |
| | | // * â ï¸ æ¬æ¡©åªå®ç°æ¥å£ï¼<b>ä¸ç»§æ¿</b> {@link DefaultInhospVisitDataService}ï¼ï¼ |
| | | // * çå®å®ç°ç±»å¸¦ä¸ä¸ª {@code @Autowired PatMedInhospMapper} åæ®µï¼ç»§æ¿å®å°±ä¼æ |
| | | // * "éè¦æ°æ®æº"è¿ä¸ªè¦åå¸¦è¿æ¬æ ¡éªï¼èæ¬æ ¡éªçæ´ä¸ªåæå°±æ¯<b>ä¸èµ·æ°æ®åº</b> |
| | | // * ï¼æç®ä¸ä¸æé没æ Mapper Beanï¼ç»§æ¿çä¼å¨ refresh æ¶æ NoSuchBeanDefinitionExceptionï¼ã |
| | | // * <p> |
| | | // * é¨é¢å æ¤æãæ¥å£ã{@code ObjectProvider<InhospVisitDataService>} ååéå¹¶è¿æ»¤èªå·±ï¼ |
| | | // * æ¢è½åå°æ¬æ¡©ï¼ä¹ä¸ä¼èªå¼ç¨/循ç¯ä¾èµã |
| | | // */ |
| | | // public static class StubDataService implements InhospVisitDataService { |
| | | // |
| | | // static final AtomicInteger CALLS = new AtomicInteger(); |
| | | // |
| | | // @Override |
| | | // public com.ruoyi.inhospvisit.domain.PatMedInhosp selectPatMedInhospByInhospid(Long inhospid) { |
| | | // CALLS.incrementAndGet(); |
| | | // com.ruoyi.inhospvisit.domain.PatMedInhosp row = new com.ruoyi.inhospvisit.domain.PatMedInhosp(); |
| | | // row.setInhospid(inhospid); |
| | | // return row; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int updatePatMedInhosp(com.ruoyi.inhospvisit.domain.PatMedInhosp patMedInhosp) { |
| | | // CALLS.incrementAndGet(); |
| | | // return 7; |
| | | // } |
| | | // |
| | | // // ---- å
¶ä½æ¹æ³ï¼æ¬æ ¡éªä¸æ¶åï¼è¿åå®å
¨ç©ºå¼ ---- |
| | | // |
| | | // @Override |
| | | // public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhosp( |
| | | // com.ruoyi.inhospvisit.domain.PatMedInhosp q) { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectOutInhospByPatnoAndOutDate( |
| | | // String patno, java.util.Date dayStart, java.util.Date dayEnd) { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public String getTagnameBypatid(Long patid) { |
| | | // return null; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public java.util.List<java.util.Map<String, Object>> getTagnameByPatids(java.util.List<Long> patids) { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhospList( |
| | | // com.ruoyi.inhospvisit.domain.PatMedInhosp q) { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhospListBySerialnum( |
| | | // com.ruoyi.inhospvisit.domain.PatMedInhosp q) { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectPatMedInhospListByCondition( |
| | | // com.ruoyi.inhospvisit.domain.PatMedInhospVO vo) { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public com.ruoyi.common.core.service.dto.PatMedRes selectPatMedInhospCount( |
| | | // com.ruoyi.common.core.service.dto.PatMedReq req) { |
| | | // return null; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> selectNeedProcessList() { |
| | | // return java.util.Collections.emptyList(); |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int insertPatMedInhosp(com.ruoyi.inhospvisit.domain.PatMedInhosp p) { |
| | | // return 0; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int insertPatMedInhospBatch(java.util.List<com.ruoyi.inhospvisit.domain.PatMedInhosp> list) { |
| | | // return 0; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int deletePatMedInhospByInhospid(Long inhospid) { |
| | | // return 0; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int deletePatMedInhospByInhospno(String inhospno) { |
| | | // return 0; |
| | | // } |
| | | // |
| | | // @Override |
| | | // public int deletePatMedInhospByInhospids(Long[] inhospids) { |
| | | // return 0; |
| | | // } |
| | | // } |
| | | //} |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.inhospvisit.config; |
| | | |
| | | import com.ruoyi.common.core.service.IConfigService; |
| | | import com.ruoyi.inhospvisit.api.InhospVisitFacade; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * åºå
¥é¢é访模åå¼å
³æ ¡éªï¼ä¸ä¾èµ JUnitï¼å¯ç´æ¥ç¨æ¨¡å classpath è¿è¡ï¼ã |
| | | * |
| | | * <h3>为ä»ä¹å¿
é¡»åè¿ä¸ª</h3> |
| | | * 模å忬æä¸ª {@code InhospVisitContextCheck}ï¼ä½é£ä»½æä»¶<b>æ´ä¸ªè¢«æ³¨éæäº</b>ï¼412 è¡å
¨æ¯ {@code //}ï¼ï¼ |
| | | * æä»¥æ¨¡åå®é
ä¸<b>没æä»»ä½å¯è¿è¡çå¼å
³æ ¡éª</b> ââ è¿æ¯æ¬è½®å®¡è®¡æç¡®ç¹åºç缺å£ã |
| | | * <p> |
| | | * ç
§ {@code TemplateSwitchCheck} çå½¢ç¶åï¼éªè¯çæ¯"**æ¥ä¸äºæ²¡æ**"ï¼ä¸åªæ¯"æ¹æ³è½ä¸è½è¿å boolean"ï¼ |
| | | * <ol> |
| | | * <li><b>åæ°è¡¨ä¼å
</b>ï¼{@code sys_config} æå¼æ¶ä»¥å®ä¸ºåï¼åä¸ä»½ yml é
ç½®ä¸å¯å¼å¯å
³ï¼</li> |
| | | * <li><b>yml å
åº</b>ï¼{@code sys_config} 没æè¿ä¸è¡æ¶åè½ {@code inhospvisit.enabled}ï¼é»è®¤ trueï¼ï¼</li> |
| | | * <li><b>çæ´æ°</b>ï¼æ¹ {@code sys_config} åç¼åè¿æå³çæï¼æ ééå¯ï¼ï¼</li> |
| | | * <li><b>æ¦æªå¨ççæ¦</b>ï¼å
³éæ¶ {@code preHandle} ææç¡®ä¸å¡é误ï¼å¯ç¨æ¶æ¾è¡ï¼</li> |
| | | * <li><b>å管端ç¹</b>ï¼æ°å¥½ 15 个ï¼ä¸ <b>å
å«</b>ç¨æ·å®æºæ¥è¿"å
³éåä»è½æ¥"ç |
| | | * {@code /smartor/patinhosp/selectPatMedInhospList}ã</li> |
| | | * </ol> |
| | | */ |
| | | public final class InhospVisitSwitchCheck { |
| | | |
| | | private static int failed = 0; |
| | | |
| | | private static final String SYS_ON = "true"; |
| | | private static final String SYS_OFF = "false"; |
| | | private static final String SYS_MISSING = null; |
| | | |
| | | private InhospVisitSwitchCheck() { |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println("=== 1) åæ°è¡¨ä¼å
/ yml å
åº ==="); |
| | | InhospVisitProperties ymlOn = new InhospVisitProperties(); // é»è®¤ true |
| | | |
| | | check("sys_config 缺失 + yml é»è®¤ -> å¯ç¨ï¼fail-openï¼", "true", |
| | | String.valueOf(new InhospVisitSwitch(ymlOn, SYS_MISSING).isEnabled())); |
| | | check("sys_config=false è¦ç yml é»è®¤ -> å
³é", "false", |
| | | String.valueOf(new InhospVisitSwitch(ymlOn, SYS_OFF).isEnabled())); |
| | | |
| | | InhospVisitProperties ymlOff = new InhospVisitProperties(); |
| | | ymlOff.setEnabled(false); |
| | | check("sys_config=true è¦ç yml=false -> å¯ç¨ï¼åæ°è¡¨ä¼å
ï¼", "true", |
| | | String.valueOf(new InhospVisitSwitch(ymlOff, SYS_ON).isEnabled())); |
| | | check("sys_config 缺失 + yml=false -> å
³éï¼å
åºçæï¼", "false", |
| | | String.valueOf(new InhospVisitSwitch(ymlOff, SYS_MISSING).isEnabled())); |
| | | |
| | | System.out.println(); |
| | | System.out.println("=== 2) é true/false çè弿ã䏿¯ false å³å¯ç¨ãå¤ç ==="); |
| | | check("å¼ = \"0\" -> å¯ç¨ï¼ä¸å èå¼è¯¯å
³æ¨¡åï¼", "true", |
| | | String.valueOf(new InhospVisitSwitch(ymlOn, "0").isEnabled())); |
| | | check("å¼ = \"FALSE\"ï¼å¤§åï¼-> å
³é", "false", |
| | | String.valueOf(new InhospVisitSwitch(ymlOn, "FALSE").isEnabled())); |
| | | |
| | | System.out.println(); |
| | | System.out.println("=== 3) çæ´æ°ï¼10 ç§ç¼å + invalidateCacheï¼==="); |
| | | final String[] value = {SYS_OFF}; |
| | | InhospVisitSwitch hot = hotSwitch(ymlOn, value); |
| | | check("æ¹ä¹åï¼åæ°è¡¨=falseï¼", "false", String.valueOf(hot.isEnabled())); |
| | | value[0] = SYS_ON; |
| | | check("ç¼åæªè¿ææ¶ä»è¿åæ§å¼ï¼è¿ç¨å
10 ç§ç¼åï¼", "false", String.valueOf(hot.isEnabled())); |
| | | hot.invalidateCache(); |
| | | check("ç¼å失æåè¯»å°æ°å¼ï¼æ¹æ true ç«å³çæï¼", "true", String.valueOf(hot.isEnabled())); |
| | | |
| | | System.out.println(); |
| | | System.out.println("=== 4) æ¦æªå¨ï¼å
³éæ¶æç¡®æ¥éï¼å¯ç¨æ¶æ¾è¡ ==="); |
| | | InhospVisitAvailabilityInterceptor offInterceptor = |
| | | new InhospVisitAvailabilityInterceptor(new InhospVisitSwitch(ymlOn, SYS_OFF)); |
| | | InhospVisitAvailabilityInterceptor onInterceptor = |
| | | new InhospVisitAvailabilityInterceptor(new InhospVisitSwitch(ymlOn, SYS_ON)); |
| | | |
| | | check("å¯ç¨æ¶ preHandle æ¾è¡ï¼request ä¼ null ä¹ä¸ NPEï¼", "true", |
| | | String.valueOf(onInterceptor.preHandle(null, null, null))); |
| | | |
| | | String thrown = "(æªæå¼å¸¸)"; |
| | | try { |
| | | offInterceptor.preHandle(null, null, null); |
| | | } catch (Exception e) { |
| | | thrown = e.getClass().getName() + "|" + e.getMessage(); |
| | | } |
| | | check("å
³éæ¶ preHandle æ ServiceException", "true", |
| | | String.valueOf(thrown.startsWith("com.ruoyi.common.exception.ServiceException|"))); |
| | | check("å
³éæ¶é误æç¤ºæç¡®ï¼å« inhospvisit.enabled=false ä¸ãæ¥å£ä¸å¯ç¨ãï¼", "true", |
| | | String.valueOf(thrown.contains("inhospvisit.enabled=false") && thrown.contains("æ¥å£ä¸å¯ç¨"))); |
| | | |
| | | System.out.println(); |
| | | System.out.println("=== 5) å管èå´ï¼åç¼éé
ï¼æ°å æ¥å£èªå¨çæï¼==="); |
| | | List<String> guarded = InhospVisitWebConfig.guardedPathPatterns(); |
| | | check("å管模å¼åªæ 1 æ¡ï¼åç¼éé
ï¼ä¸åé个æä¸¾ï¼", "1", String.valueOf(guarded.size())); |
| | | check("åç®¡æ¨¡å¼ = /smartor/patinhosp/**", "true", |
| | | String.valueOf(guarded.contains("/smartor/patinhosp/**"))); |
| | | // åç¼éé
çè¯ä¹ï¼æ¬æ¨¡ååç¼ä¸**ææ**端ç¹é½å管 ââ å
æ¬ç¨æ·å®æºæ¥è¿"å
³äºè¿è½æ¥"çé£ä¸ª |
| | | String prefix = InhospVisitWebConfig.MODULE_URL_PREFIX; |
| | | for (String ep : new String[]{ |
| | | "/smartor/patinhosp/selectPatMedInhospList", |
| | | "/smartor/patinhosp/selectPatMedInhospListCount", |
| | | "/smartor/patinhosp/export", |
| | | "/smartor/patinhosp/add", |
| | | "/smartor/patinhosp/dealOutHospInfo", |
| | | "/smartor/patinhosp/addOperationSubTask"}) { |
| | | check("被åç¼è¦çï¼" + ep, "true", String.valueOf(ep.startsWith(prefix + "/"))); |
| | | } |
| | | // â ï¸ éé
ç代价å¿
须被æ¾å¼æ¿è®¤ï¼å®ä¸åè½"鿿䏾åºç®¡äºåªäºç«¯ç¹"ã |
| | | // çå®ç«¯ç¹æ¸
åç± sql/_probe/verify_inhospvisit_switch.py 仿§å¶å¨æºç 宿µæ ¸å¯¹ã |
| | | check("åç¼å¸¸éä¸éé
模å¼ä¸è´ï¼é²æ¢ä¸¤è
æ¼ç§»ï¼", "true", |
| | | String.valueOf((prefix + "/**").equals(guarded.get(0)))); |
| | | |
| | | System.out.println(); |
| | | System.out.println("=== 6) é¨é¢ï¼isEnabled() èªèº«ä¸å¸¦å®å«ï¼å¦åé®ä¸åºå¼å
³ç¶æï¼==="); |
| | | // â ï¸ InhospVisitFacade 没æ 2 åæé å¨ï¼æµè¯æé æ¯ |
| | | // (properties, InhospVisitApi delegate, String sysConfigValue)ã |
| | | // delegate ä¼ null 表示"æ¨¡åæ²¡è¢«æè¿åºç¨"ï¼æ¤æ¶ isEnabled() 为 false |
| | | // ï¼å®å¤çæ¯"å¼å
³æå¼ **ä¸** å
é¨å®ç°å¨ä½"ï¼ââ è¿ç¹ä¸æ¨¡æ¿é¨é¢ä¸åï¼æ
å嫿è¨ã |
| | | InhospVisitFacade facadeOff = new InhospVisitFacade(ymlOn, null, SYS_OFF); |
| | | check("å
³é + æ å
é¨å®ç°æ¶ isEnabled() = false", "false", |
| | | String.valueOf(facadeOff.isEnabled())); |
| | | InhospVisitFacade facadeOnNoImpl = new InhospVisitFacade(ymlOn, null, SYS_ON); |
| | | check("å¼å¯ä½æ å
é¨å®ç°æ¶ isEnabled() = falseï¼å¤çæ¯å¼å
³+å®ç°å¨ä½ï¼", "false", |
| | | String.valueOf(facadeOnNoImpl.isEnabled())); |
| | | |
| | | System.out.println(); |
| | | if (failed == 0) { |
| | | System.out.println("===== åºå
¥é¢é访å¼å
³æ ¡éªå
¨é¨éè¿ ====="); |
| | | } else { |
| | | System.out.println("===== åºå
¥é¢é访å¼å
³æ ¡éªå¤±è´¥ " + failed + " 项 ====="); |
| | | System.exit(1); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * é ä¸ä¸ªã{@code sys_config} çå¼å¯ä»¥è¢«ä¸éæ¹æãçå¼å
³ï¼ç¨äºéªè¯ç¼åä¸çæ´æ°ã |
| | | */ |
| | | private static InhospVisitSwitch hotSwitch(InhospVisitProperties properties, final String[] configValue) { |
| | | return new InhospVisitSwitch(properties, |
| | | new org.springframework.beans.factory.ObjectProvider<IConfigService>() { |
| | | private final IConfigService service = configKey -> configValue[0]; |
| | | |
| | | @Override |
| | | public IConfigService getObject(Object... args) { |
| | | return service; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getIfAvailable() { |
| | | return service; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getIfUnique() { |
| | | return service; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getObject() { |
| | | return service; |
| | | } |
| | | |
| | | @Override |
| | | public java.util.stream.Stream<IConfigService> stream() { |
| | | return java.util.stream.Stream.of(service); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private static void check(String key, String expected, String actual) { |
| | | boolean ok = expected.equals(actual); |
| | | if (!ok) { |
| | | failed++; |
| | | } |
| | | System.out.println((ok ? "[OK] " : "[FAIL] ") + key + " ææ=" + expected + " å®é
=" + actual); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!-- |
| | | ä»
ç¨äº ruoyi-inhospvisit 模åç main() èªæ£ç¨åºï¼InhospVisitContextCheckï¼ï¼ |
| | | æ Spring ç DEBUG å·å±åæï¼åªä¿ç WARN 以ä¸ä¸èªæ£è¾åºï¼ä¾¿äºäººå·¥æ ¸å¯¹æè¨ç»æã |
| | | ç产è¿è¡ä¸èµ°è¿éï¼ç产ç¨çæ¯ ruoyi-admin/src/main/resources/logback*.xmlï¼ã |
| | | --> |
| | | <configuration> |
| | | <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
| | | <encoder> |
| | | <pattern>%-5level %logger{0} - %msg%n</pattern> |
| | | <charset>UTF-8</charset> |
| | | </encoder> |
| | | </appender> |
| | | |
| | | <logger name="org.springframework" level="WARN"/> |
| | | <logger name="com.ruoyi.inhospvisit" level="WARN"/> |
| | | |
| | | <root level="WARN"> |
| | | <appender-ref ref="STDOUT"/> |
| | | </root> |
| | | </configuration> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ruoyi</artifactId> |
| | | <groupId>com.ruoyi</groupId> |
| | | <version>3.8.5</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | |
| | | <artifactId>ruoyi-othervisit</artifactId> |
| | | |
| | | <description> |
| | | å
¶ä»é访模åï¼ææ¯éè®¿ç¼æï¼æ«ææªå¤çææ¯è®°å½ â æææ¯ç¼ç å¹é
é¿æéè®¿ä»»å¡ â 建åä»»å¡ï¼çå¯ä¸å®ç°å¤ã |
| | | è¿ç§»å¯¹åº PatMedOperationServiceImpl#dealOperationInfoï¼@ b25c3b51ï¼ã |
| | | |
| | | ä¾èµæ¹åï¼å¡å¿
ä¿æï¼ï¼ |
| | | æ¬æ¨¡åãåªä¾èµ ruoyi-commonãï¼ç»ä¸ä¾èµ smartorã |
| | | ââ å¦å smartor å·²ä¾èµæ¬æ¨¡åï¼ä¼å½¢æå¾ªç¯ä¾èµï¼Maven ç´æ¥æå»ºå¤±è´¥ã |
| | | 跨模åè½åä¸å¾èµ° ruoyi-common é䏿²çæ¥å£ï¼ |
| | | · ServiceTaskMatchApi ââ é¿æé访任å¡"å¹é
"ï¼ææ¯ç¼ç ç»´åº¦ï¼ |
| | | · VisitTaskCreateApi ââ åä»»å¡çæ¥/å/å¢ |
| | | · ArchiveReadApi ââ æ£è
æ¡£æ¡åªè¯» |
| | | è¿äºæ¥å£å¨ smartor ä¾§é½æè¿æ¸¡å®ç°ï¼å°æ¥ãé访任å¡å建模åãæ¥ç®¡æ¶æ¢å®ç°æ¹å³å¯ã |
| | | |
| | | æ¯æéè¿ sys_config åæ°è¡¨éç othervisit.enabled æ´ä½å
³éï¼è¿è¡æ¶è¯»åï¼æ¹å®æå¤ 10 ç§çæï¼ã |
| | | </description> |
| | | |
| | | <dependencies> |
| | | <!-- éç¨å·¥å
·ï¼åæ¶ä¼ é带å
¥ mybatis / swagger-annotations / commons-lang3 / jackson çï¼ --> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-common</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- |
| | | â ï¸ å»æãä¸ãä¾èµ ruoyi-quartzï¼ |
| | | ruoyi-quartz ä¾èµ smartorï¼è smartor ä¾èµæ¬æ¨¡å ââ å¼å
¥å®çäºé´æ¥ä¾èµ smartorã |
| | | æ¬æ¨¡åä¸å宿¶ä»»å¡ï¼å®æ¶å
¥å£å¨ RyTaskï¼å±è°ç¨æ¹ï¼ã |
| | | --> |
| | | |
| | | <!-- lombokï¼æ¾å¼å£°æçæ¬ï¼é¿å
注解å¤çå¨ç¼ºå¤± --> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.34</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit; |
| | | |
| | | /** |
| | | * å
¶ä»é访模åå
æ ¹ã |
| | | * <p> |
| | | * ç®å½çº¦å®ï¼ä¸ {@code ruoyi-inhospvisit} / {@code ruoyi-publicity} / |
| | | * {@code ruoyi-outpatientvisit} å®å
¨ä¸è´ï¼ï¼ |
| | | * <ul> |
| | | * <li>{@code com.ruoyi.othervisit.api} ââ <b>å¯ä¸å¯¹å¤å
</b>ï¼</li> |
| | | * <li>{@code service} / {@code domain} / {@code mapper} / {@code config} / {@code controller} |
| | | * ââ æ¨¡åå
é¨å®ç°ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>æ¬æ¨¡åè´è´£ä»ä¹</h3> |
| | | * <b>ææ¯é访</b>ç¼æï¼æ«ææªå¤ççææ¯è®°å½ï¼{@code pat_med_operation}ï¼â æ<b>ææ¯ç¼ç </b> |
| | | * ï¼{@code opcode}ï¼å¹é
é¿æéè®¿ä»»å¡ â å¹é
ä¸å°å°±ç½®æ å¿ä½å¹¶ååå ï¼å¹é
å°å°±æ |
| | | * {@code writeInSubTask} 建åä»»å¡ãè¿ç§»å¯¹åº |
| | | * {@code PatMedOperationServiceImpl#dealOperationInfo}ï¼@ b25c3b51ï¼ã |
| | | * |
| | | * <p> |
| | | * ååå«"å
¶ä»é访"è䏿¯"ææ¯é访"ï¼æ¯ä¸ºäºç»é¤åºå
¥é¢/鍿¥è¯/宣æä¹å¤ç**å
¶å®é访类å** |
| | | * çä½ç½®ï¼å½åå®ç°ä¸»ä½å°±æ¯ææ¯é访ã |
| | | * |
| | | * <p> |
| | | * 模åå¯éè¿ {@code sys_config} åæ°è¡¨ç {@code othervisit.enabled=false} æ´ä½å
³é |
| | | * ï¼è¿è¡æ¶è¯»åï¼æ¹å®æå¤ 10 ç§çæï¼ã |
| | | */ |
| | | public final class OtherVisitModule { |
| | | |
| | | /** |
| | | * 模åé
ç½®åç¼ï¼ä»
ä½ä¸º yml å
åºé
ç½®çé®åç¼ï¼ä¸»å¼å
³å¨ sys_config åæ°è¡¨éï¼ |
| | | */ |
| | | public static final String PROPERTIES_PREFIX = "othervisit"; |
| | | |
| | | /** |
| | | * sys_config åæ°è¡¨éçå¼å
³é®å |
| | | */ |
| | | public static final String SWITCH_KEY = "othervisit.enabled"; |
| | | |
| | | private OtherVisitModule() { |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.api; |
| | | |
| | | import com.ruoyi.common.core.service.OtherVisitApi; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * {@link OtherVisitApi} ç<b>æ¬æ¨¡åå®ç°</b>ã |
| | | * |
| | | * <h3>å®å代äºä»ä¹</h3> |
| | | * å¨ {@code ruoyi-othervisit} 建好ä¹åï¼{@link OtherVisitApi} åªæ smartor ä¾§ç |
| | | * è¿æ¸¡æ¡¥æ¥ {@code OtherVisitApiBridge}ãææ¯é访çå®ç°æ¬è¿æ¬æ¨¡ååï¼ |
| | | * ç±æ¬ç±»æ¥ç®¡ ââ è¿æ£æ¯é£ä¸ª Bridge ç类注ééé¢åç"å°æ¥å¨ä½"ã |
| | | * |
| | | * <h3>â ï¸ æ¬ç±»ä¸¤ä¸ªæ¹æ³<b>æ¬æ¬¡é½è¿å§æ smartor</b>ï¼å»æï¼ä¸æ¯æ¼åï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¥å£æ¹æ³</th><th>åå®ç°ä½ç½®</th><th>为ä»ä¹æ¬æ¬¡ä¸æ¬</th></tr> |
| | | * <tr><td>{@link #addOperationSubTask(String)}</td> |
| | | * <td>{@code PatMedInhospServiceImpl#addOperationSubTask} L1247-1316</td> |
| | | * <td>宿¯<b>ææ¯ç级ï¼{@code oplevelcode}ï¼+ 离é¢ç§å®¤/ç
åºç»´åº¦</b>çæ«æï¼ |
| | | * å±"åºé¢éè®¿éæ··ççææ¯åæ¯"ï¼ä¸ä¾èµ |
| | | * {@code ServiceTaskoperMapper}ï¼ä»å¨ smartorï¼ä¸ |
| | | * {@code writeInSubTaskForOp}ï¼ä¾èµ {@code ScheduleSubtaskBuilder}ï¼ã</td></tr> |
| | | * <tr><td>{@link #dealOutHospInfoBySchedule(String)}</td> |
| | | * <td>åæä»¶ L380-614</td> |
| | | * <td>å®ç<b>éææ¯åæ¯</b>ä¸"HIS èªå¨çº³å
¥"ã"å端æå¨å¾é"å
±ç¨ |
| | | * {@code ScheduleSubtaskBuilder}ãæ¬å®å¾è¿ builder ä¸èµ·æ¬ ââ |
| | | * 飿¯ç¬ç«ç䏿¬¡æ¹é ã</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>飿¬æ¨¡åæ¬äºä»ä¹ï¼</h3> |
| | | * <b>ææ¯ç¼ç ï¼{@code opcode}ï¼ç»´åº¦</b>ç飿¡æ«æï¼ |
| | | * {@code PatMedOperationServiceImpl#dealOperationInfo}ï¼å L107-149ï¼ã |
| | | * å®çå
¥å£<b>ä¸èµ°</b>æ¬æ¥å£ï¼èæ¯ {@link OtherVisitFacade#dealOperationInfo()} ââ |
| | | * è°ç¨æ¹æ¯ {@code RyTask#dealOperationInfo}ï¼å®æ¶ä»»å¡ï¼ï¼å·²ç´æ¥æ¹èµ°é¨é¢ã |
| | | * 乿以ä¸å¡è¿æ¬æ¥å£ï¼æ¯å 为两è
è¯ä¹ä¸åï¼ |
| | | * æ¥å£ä¸é£ä¸¤ä¸ªæ¯"åºé¢/ä»»å¡ç»æµç¨éçææ¯åæ¯"ï¼èè¿æ¡æ¯"ææ¯è®°å½èªèº«çæ«æ"ã |
| | | * |
| | | * <h3>â ï¸ ä¸ºä»ä¹ç¼è¯æçä¸å° smartor</h3> |
| | | * ä¾èµæ¹åæ¯ smartor â ruoyi-othervisitï¼åè¿æ¥ä¼å½¢æ Maven 循ç¯ä¾èµï¼ç´æ¥æå»ºå¤±è´¥ã |
| | | * æä»¥è¿éç¨ {@code ObjectProvider<OtherVisitApi>} å¨<b>è¿è¡æ¶</b>æç±»åæ°æ§æ¥æ¾ |
| | | * smartor ä¾§é£ä¸ªæ¿æ¥å®ç°ï¼å¹¶<b>æé¤æ¬ç±»èªå·±</b>ï¼å¦åä¼èªå·±è°èªå·± â {@code StackOverflowError}ï¼ã |
| | | * åä¸å°å°±æ WARN å¹¶è¿åå®å
¨å¼ï¼ç»ä¸è®©å®æ¶ä»»å¡æå¼å¸¸ã |
| | | * |
| | | * @see OtherVisitApi |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class OtherVisitApiImpl implements OtherVisitApi { |
| | | |
| | | /** |
| | | * smartor ä¾§çè¿æ¸¡æ¿æ¥ï¼{@code com.smartor.service.impl.bridge.OtherVisitApiBridge}ï¼ã |
| | | * <p> |
| | | * â ï¸ ç±»ååæ°å»æåæ {@link OtherVisitApi} è<b>䏿¯</b>é£ä¸ªå
·ä½ç±»ï¼ |
| | | * æ¬æ¨¡åç¼è¯æçä¸å° smartor çç±»åï¼ä¹ä¸å
许çå°ï¼ã |
| | | */ |
| | | @Autowired |
| | | private ObjectProvider<OtherVisitApi> otherVisitApiProvider; |
| | | |
| | | /** |
| | | * ææ¯éè®¿æ«æï¼ææ¯ç级 + 离é¢ç§å®¤/ç
åºç»´åº¦ï¼ââ æ¬æ¬¡ä»å§æ smartorã |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} çå¼ï¼å¯è½ä¸º null |
| | | * @return å¤ççææ¯è®°å½æ°ï¼æ¿æ¥å®ç°ä¸å¯ç¨æ¶è¿å 0 |
| | | */ |
| | | @Override |
| | | public int addOperationSubTask(String config) { |
| | | OtherVisitApi delegate = findExternalDelegate(); |
| | | if (delegate == null) { |
| | | log.warn("ãææ¯é访ãaddOperationSubTask ç smartor ä¾§æ¿æ¥å®ç°ä¸å¯ç¨ï¼æªæè¿åºç¨ææªè£
é
ï¼ï¼æ¬æ¬¡è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | return delegate.addOperationSubTask(config); |
| | | } |
| | | |
| | | /** |
| | | * ä»»å¡ç»ï¼appltype=5ï¼é¦è½®çº³å
¥ ââ æ¬æ¬¡ä»å§æ smartorã |
| | | * |
| | | * @param config {@code sys_config: visit.early.day} |
| | | * @return åå®ç°åºå®è¿å 1ï¼æ¿æ¥å®ç°ä¸å¯ç¨æ¶è¿å 0 |
| | | */ |
| | | @Override |
| | | public int dealOutHospInfoBySchedule(String config) { |
| | | OtherVisitApi delegate = findExternalDelegate(); |
| | | if (delegate == null) { |
| | | log.warn("ãææ¯é访ãdealOutHospInfoBySchedule ç smartor ä¾§æ¿æ¥å®ç°ä¸å¯ç¨ï¼æªæè¿åºç¨ææªè£
é
ï¼ï¼æ¬æ¬¡è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | return delegate.dealOutHospInfoBySchedule(config); |
| | | } |
| | | |
| | | /** |
| | | * æ¾ smartor ä¾§é£ä¸ªæ¿æ¥å®ç°ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»æé¤æ¬ç±»</b>ï¼æ¬ç±»ä¹å®ç°äº {@link OtherVisitApi}ï¼ |
| | | * è¥ä¸è¿æ»¤å°±ä¼åå°èªå·±ï¼å½¢ææ ééå½ã |
| | | * â ï¸ ç¨ {@code stream()} è䏿¯ {@code getIfAvailable()}ï¼ |
| | | * åè
å¨åå¨å¤ä¸ªåéæ¶è¡ä¸ºä¸ç¡®å®ï¼èè¿éå¤©ç¶æ<b>两个</b>åéå®ç°ï¼æ¬ç±» + smartor æ¡¥æ¥ï¼ã |
| | | */ |
| | | private OtherVisitApi findExternalDelegate() { |
| | | if (otherVisitApiProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return otherVisitApiProvider.stream() |
| | | .filter(api -> api != this) |
| | | .findFirst() |
| | | .orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãææ¯é访ãè·åå
¶å®éè®¿æ¿æ¥å®ç°å¤±è´¥ï¼æä¸å¯ç¨å¤çï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.api; |
| | | |
| | | import com.ruoyi.othervisit.config.OtherVisitProperties; |
| | | import com.ruoyi.othervisit.config.OtherVisitSwitch; |
| | | import com.ruoyi.othervisit.domain.BaseDictOperation; |
| | | import com.ruoyi.othervisit.domain.PatMedOperation; |
| | | import com.ruoyi.othervisit.domain.PatMedOperationItem; |
| | | import com.ruoyi.othervisit.service.BaseDictOperationService; |
| | | import com.ruoyi.othervisit.service.OperationItemService; |
| | | import com.ruoyi.othervisit.service.OperationService; |
| | | import com.ruoyi.othervisit.service.OperationVisitTaskService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å
¶ä»éè®¿ï¼ææ¯éè®¿ï¼æ¨¡å对å¤é¨é¢ï¼<b>常驻 Bean</b>ï¼ã |
| | | * |
| | | * <h3>è¿æ¯å
¶å®æ¨¡åè®¿é®ææ¯æ°æ®ç<b>å¯ä¸å
¥å£</b></h3> |
| | | * æä½ å®çè·¨æ¨¡åæ°æ®è®¿é®ååï¼<b>å«ç模åè¦ç¨ææ¯æ°æ®ï¼åªè½ä»è¿ä¸ªæ¨¡åè°ç¨ï¼ |
| | | * è䏿¯å¨èªå·±æ¨¡åéå SQL</b>ãæä»¥æ¬é¨é¢å
äºä¸¤ç±»è½åï¼ |
| | | * <ol> |
| | | * <li><b>éè®¿ç¼æ</b>ï¼{@link #dealOperationInfo()}ï¼</li> |
| | | * <li><b>åºç¡æ°æ®è¯»å</b>ï¼{@code pat_med_operation} / {@code pat_med_operation_item} / |
| | | * {@code base_dict_operation} çå¢å æ¹æ¥ã</li> |
| | | * </ol> |
| | | * ç¸åºå°ï¼ä¸é¢çè°ç¨æ¹é½å¿
é¡»æ¹èµ°æ¬é¨é¢ï¼æ¬æ¬¡ä¸å¹¶æ¹å®ï¼ï¼ |
| | | * <ul> |
| | | * <li>{@code ruoyi-quartz} ç {@code RyTask#dealOperationInfo} ä¸ {@code CollectHISServiceImpl}ï¼</li> |
| | | * <li>smartor ç {@code ServiceExternalServiceImpl}ï¼HIS å¤é¨ææ¯åä¼ ï¼ã |
| | | * {@code PatMedInhospServiceImpl}ï¼åºå
¥é¢éè®¿çææ¯åæ¯ï¼ã |
| | | * {@code ServiceSubtaskServiceImpl}ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>为ä»ä¹ç¨å¸¸é©» Beanï¼ä¸ç¨ {@code @ConditionalOnProperty}ï¼</h3> |
| | | * ä¸ {@code InhospVisitFacade} / {@code PublicityFacade} / {@code OuthospVisitFacade} åä¸å¥è®¾è®¡ï¼ |
| | | * <ul> |
| | | * <li><b>æ°¸è¿åå¨</b> ââ è°ç¨æ¹ï¼{@code RyTask} 宿¶ä»»å¡ã{@code @Autowired}ï¼å¨ä»»ä½å¼å
³ç¶æä¸ |
| | | * é½<b>ä¸ä¼å¯å¨å¤±è´¥</b>ï¼</li> |
| | | * <li>å¼å
³å¨ {@code sys_config} ç {@code othervisit.enabled}ï¼ç± |
| | | * {@link OtherVisitSwitch} <b>è¿è¡æ¶</b>读åï¼10 ç§è¿ç¨å
ç¼åï¼ï¼æ¹å®æ ééå¯ï¼</li> |
| | | * <li>å
³éæ¶è¿åå®å
¨å¼å¹¶æ WARNï¼<b>䏿å¼å¸¸</b>ï¼ä¿è¯è°ç¨æ¹ä¸»æµç¨ç
§å¸¸å®æã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>â ï¸ åªäºæ¹æ³<b>ä¸</b>åå¼å
³ç®¡è¾</h3> |
| | | * ä¸é¢ææãåºç¡æ°æ®è¯»åãæ¹æ³é½<b>ä¸</b>å¤ {@code othervisit.enabled}ï¼ |
| | | * çç±ä¸åºå
¥é¢/é¨è¯æ¨¡åä¸è´ï¼ææ¯è®°å½æ¯ HIS ééåå
¥çåå§ä¸å¡æ°æ®ï¼ |
| | | * å
³æ"çæé访"ä¸è¯¥è®© HIS ééåä¸è¿ææ¯è¡¨ ââ 飿¯æ°æ®æ
éï¼ä¸"ä»å¤©ä¸åé访"䏿¯ä¸åäºã |
| | | * åªæ {@link #dealOperationInfo()} åå¼å
³ç®¡è¾ã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class OtherVisitFacade { |
| | | |
| | | private final OtherVisitProperties properties; |
| | | |
| | | /** |
| | | * è¿è¡æ¶å¼å
³ï¼{@code sys_config} ä¼å
ï¼{@link OtherVisitProperties} å
åºï¼ |
| | | */ |
| | | private final OtherVisitSwitch otherVisitSwitch; |
| | | |
| | | /** |
| | | * ææ¯éè®¿ç¼æï¼æ«ææªå¤çææ¯è®°å½ â å¹é
é¿æä»»å¡ â ååä»»å¡ï¼ã |
| | | * <p> |
| | | * â ï¸ ç¨ {@code ObjectProvider} æ°æ§åï¼å®¹å¨éè¥æ²¡æå®ä¹ä¸è¯¥è®©é¨é¢è£
é
失败ã |
| | | */ |
| | | private final ObjectProvider<OperationVisitTaskService> taskServiceProvider; |
| | | |
| | | /** |
| | | * ææ¯è®°å½åºç¡è¯»åï¼æ¬æ¨¡åèªå·±çç»ä»¶ï¼æ²¡ææ¡ä»¶è£
é
ï¼æ
ç´æ¥æ³¨å
¥ï¼ã |
| | | */ |
| | | private final OperationService operationService; |
| | | |
| | | /** |
| | | * ææ¯æç»åºç¡è¯»åã |
| | | */ |
| | | private final OperationItemService operationItemService; |
| | | |
| | | /** |
| | | * ææ¯åºç¡ä¿¡æ¯è¯»åã |
| | | */ |
| | | private final BaseDictOperationService baseDictOperationService; |
| | | |
| | | /** |
| | | * Spring 使ç¨çæé å¨ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»æ¾å¼æ 注 {@code @Autowired}</b>ï¼æ¬ç±»æä¸¤ä¸ªå
¬å¼æé å¨ |
| | | * ï¼å¦ä¸ä¸ªæ¯ç»æµè¯/é Spring ç¯å¢ç¨çï¼ï¼è¥ä¸æ 注ï¼Spring ä¼å 为"æé å¨ä¸å¯ä¸" |
| | | * èéåæ¥æ¾æ åæé å¨ï¼ä»èå¨å¯å¨æ¶æ¥ {@code No default constructor found}ã |
| | | * ââ è¿æ¯æ»¡æåº¦æ¨¡å<b>宿ºè¸©å°</b>ç缺é·ï¼æ¤å¤å»æä¿çåæ ·ç忳䏿³¨éã |
| | | */ |
| | | @Autowired |
| | | public OtherVisitFacade(OtherVisitProperties properties, |
| | | OtherVisitSwitch otherVisitSwitch, |
| | | ObjectProvider<OperationVisitTaskService> taskServiceProvider, |
| | | OperationService operationService, |
| | | OperationItemService operationItemService, |
| | | BaseDictOperationService baseDictOperationService) { |
| | | this.properties = properties; |
| | | this.otherVisitSwitch = otherVisitSwitch; |
| | | this.taskServiceProvider = taskServiceProvider; |
| | | this.operationService = operationService; |
| | | this.operationItemService = operationItemService; |
| | | this.baseDictOperationService = baseDictOperationService; |
| | | } |
| | | |
| | | /** |
| | | * ä¾<b>æµè¯/é Spring ç¯å¢</b>ç´æ¥æé ã |
| | | * <p> |
| | | * æææ°æ®æå¡ä¸ç¼ææå¡é½ä¸ä¼ ï¼æµè¯æé ä¸è°ç¨å®ä»¬ä¼æ WARN å¹¶å®å
¨è¿åï¼ |
| | | * ä¿è¯å¼å
³æ ¡éªç±»æµè¯ä¸å¿
æèµ·æ°æ®åºã |
| | | */ |
| | | public OtherVisitFacade(OtherVisitProperties properties, String sysConfigValue) { |
| | | this(properties, new OtherVisitSwitch(properties, sysConfigValue), null, null, null, null); |
| | | } |
| | | |
| | | /** |
| | | * åè¿è¡æ¶å¼å
³ï¼ä¾æµè¯æè¨ / æ¦æªå¨å¤ç¨ï¼ |
| | | */ |
| | | public OtherVisitSwitch getOtherVisitSwitch() { |
| | | return otherVisitSwitch; |
| | | } |
| | | |
| | | /** |
| | | * ææ¯éè®¿æ¨¡åæ¯å¦å¯ç¨ï¼å¼å
³æå¼ï¼ |
| | | */ |
| | | public boolean isEnabled() { |
| | | return otherVisitSwitch.isEnabled(); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // éè®¿ç¼æï¼åå¼å
³ç®¡è¾ï¼ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * ææ¯éè®¿ä¸»æ«æï¼ä¾ {@code RyTask#dealOperationInfo} è°ç¨ï¼ã |
| | | * |
| | | * <h3>â ï¸ æ¬æ¹æ³<b>å</b> {@code othervisit.enabled} 管è¾</h3> |
| | | * 宿¯"çæææ¯é访"çä¸å¡å¨ä½ ââ å
³æå¼å
³å°±è¯¥åä¸ã |
| | | * å
³éæ¶è¿å {@code 0} å¹¶æ WARNï¼ä¸æå¼å¸¸ï¼ä¿è¯å®æ¶ä»»å¡ä¸»æµç¨ä¸è¢«æå®ï¼ã |
| | | * |
| | | * <h3>è¿åå¼è¯´æ</h3> |
| | | * æ£å¸¸æ¶è¿åç¼æç»æï¼åå®ç°åºå®è¿å 1ï¼<b>䏿¯</b>å¤çæ¡æ°ï¼ï¼ |
| | | * å
³éæç»ä»¶ä¸å¯ç¨æ¶è¿å 0ãåè°ç¨æ¹ {@code RyTask} 忽ç¥è¿åå¼ï¼ |
| | | * æä»¥è¿ä¸ªçº¦å®åªå½±åæ¥å¿ä¸å°æ¥çææ¥ã |
| | | */ |
| | | public Integer dealOperationInfo() { |
| | | if (!isEnabled()) { |
| | | log.warn("ãææ¯éè®¿ãæ¨¡åæªå¯ç¨ï¼åæ°é
ç½® othervisit.enabled=falseï¼ï¼dealOperationInfo è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | OperationVisitTaskService svc = taskService(); |
| | | if (svc == null) { |
| | | log.warn("ãææ¯é访ã容å¨é没æ OperationVisitTaskServiceï¼æé Spring æé ï¼ï¼dealOperationInfo è·³è¿ã"); |
| | | return 0; |
| | | } |
| | | return svc.dealOperationInfo(); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // ææ¯è®°å½ï¼pat_med_operationï¼ââ ä¸åå¼å
³ç®¡è¾ |
| | | // ========================================================================== |
| | | |
| | | /** |
| | | * æ¥è¯¢ææ¯è®°å½ã |
| | | * <p>对åºå {@code IPatMedOperationService#selectPatMedOperationById}ã |
| | | */ |
| | | public PatMedOperation selectOperationById(Long id) { |
| | | return operationService == null ? null : operationService.selectById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ææ¯è®°å½å表ã |
| | | * <p>对åºå {@code IPatMedOperationService#selectPatMedOperationList}ã |
| | | */ |
| | | public List<PatMedOperation> selectOperationList(PatMedOperation query) { |
| | | return operationService == null ? java.util.Collections.emptyList() : operationService.selectList(query); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ææ¯è®°å½ã |
| | | * <p>对åºå {@code IPatMedOperationService#insertPatMedOperation}ã |
| | | */ |
| | | public int insertOperation(PatMedOperation row) { |
| | | return operationService == null ? 0 : operationService.insert(row); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ææ¯è®°å½ã |
| | | * <p>对åºå {@code IPatMedOperationService#updatePatMedOperation}ã |
| | | */ |
| | | public int updateOperation(PatMedOperation row) { |
| | | return operationService == null ? 0 : operationService.update(row); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå 餿æ¯è®°å½ã |
| | | * <p>对åºå {@code IPatMedOperationService#deletePatMedOperationByIds}ã |
| | | */ |
| | | public int deleteOperationByIds(Long[] ids) { |
| | | return operationService == null ? 0 : operationService.deleteByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * å 餿æ¯è®°å½ã |
| | | * <p>对åºå {@code IPatMedOperationService#deletePatMedOperationById}ã |
| | | */ |
| | | public int deleteOperationById(Long id) { |
| | | return operationService == null ? 0 : operationService.deleteById(id); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // ææ¯æç»ï¼pat_med_operation_itemï¼ââ ä¸åå¼å
³ç®¡è¾ |
| | | // ========================================================================== |
| | | |
| | | public PatMedOperationItem selectOperationItemById(Long id) { |
| | | return operationItemService == null ? null : operationItemService.selectById(id); |
| | | } |
| | | |
| | | public List<PatMedOperationItem> selectOperationItemList(PatMedOperationItem query) { |
| | | return operationItemService == null ? java.util.Collections.emptyList() : operationItemService.selectList(query); |
| | | } |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ¥ææ¯æç»ï¼{@code JOIN pat_med_inhosp} ç飿¡ï¼ã |
| | | * <p> |
| | | * â ï¸ ä¸ {@link #selectOperationItemList(PatMedOperationItem)} <b>䏿¯å䏿¡ SQL</b>ï¼å«æ··ç¨ã |
| | | */ |
| | | public List<PatMedOperationItem> selectOperationItemListByCondition(PatMedOperationItem query) { |
| | | return operationItemService == null ? java.util.Collections.emptyList() |
| | | : operationItemService.selectOperationItemList(query); |
| | | } |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ¥ææ¯æç»ï¼åä¸ {@code opid} ä¸åªå {@code oplevelcode} æå¤§ç䏿¡ã |
| | | * <p>è°ç¨æ¹ï¼åºå
¥é¢éè®¿çææ¯åæ¯ï¼{@code PatMedInhospServiceImpl}ï¼ã |
| | | */ |
| | | public List<PatMedOperationItem> selectOperationItemListMaxLevel(PatMedOperationItem query) { |
| | | return operationItemService == null ? java.util.Collections.emptyList() |
| | | : operationItemService.selectOperationItemListMaxLevel(query); |
| | | } |
| | | |
| | | public int insertOperationItem(PatMedOperationItem row) { |
| | | return operationItemService == null ? 0 : operationItemService.insert(row); |
| | | } |
| | | |
| | | public int insertOperationItems(List<PatMedOperationItem> rows) { |
| | | return operationItemService == null ? 0 : operationItemService.insertBatch(rows); |
| | | } |
| | | |
| | | public int updateOperationItem(PatMedOperationItem row) { |
| | | return operationItemService == null ? 0 : operationItemService.update(row); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code operationid} æ´æ°ææ¯æç»ã |
| | | * <p>â ï¸ ä¸ä»£è®¾ {@code updateTime}ï¼åç´è° Mapper çè°ç¨æ¹èªå·±è´è´£ï¼ã |
| | | */ |
| | | public int updateOperationItemByOperationid(PatMedOperationItem row) { |
| | | return operationItemService == null ? 0 : operationItemService.updateByOperationid(row); |
| | | } |
| | | |
| | | public int deleteOperationItemByIds(Long[] ids) { |
| | | return operationItemService == null ? 0 : operationItemService.deleteByIds(ids); |
| | | } |
| | | |
| | | public int deleteOperationItemById(Long id) { |
| | | return operationItemService == null ? 0 : operationItemService.deleteById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code opid} <b>ç©ç</b>å é¤ææ¯æç»ã |
| | | */ |
| | | public int deleteHardOperationItemByOpId(String opid) { |
| | | return operationItemService == null ? 0 : operationItemService.deleteHardByOpId(opid); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code opid} <b>软</b>å é¤ææ¯æç»ã |
| | | */ |
| | | public int deleteSoftOperationItemByOpId(String opid) { |
| | | return operationItemService == null ? 0 : operationItemService.deleteSoftByOpId(opid); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code operationid} å é¤ææ¯æç»ã |
| | | */ |
| | | public int deleteOperationItemByOperationid(Long operationid) { |
| | | return operationItemService == null ? 0 : operationItemService.deleteByOperationid(operationid); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // ææ¯åºç¡ä¿¡æ¯ï¼base_dict_operationï¼ââ ä¸åå¼å
³ç®¡è¾ |
| | | // ========================================================================== |
| | | |
| | | public BaseDictOperation selectBaseDictOperationById(Long id) { |
| | | return baseDictOperationService == null ? null : baseDictOperationService.selectById(id); |
| | | } |
| | | |
| | | public List<BaseDictOperation> selectBaseDictOperationList(BaseDictOperation query) { |
| | | return baseDictOperationService == null ? java.util.Collections.emptyList() |
| | | : baseDictOperationService.selectList(query); |
| | | } |
| | | |
| | | public int insertBaseDictOperation(BaseDictOperation row) { |
| | | return baseDictOperationService == null ? 0 : baseDictOperationService.insert(row); |
| | | } |
| | | |
| | | public int updateBaseDictOperation(BaseDictOperation row) { |
| | | return baseDictOperationService == null ? 0 : baseDictOperationService.update(row); |
| | | } |
| | | |
| | | public int deleteBaseDictOperationByIds(Long[] ids) { |
| | | return baseDictOperationService == null ? 0 : baseDictOperationService.deleteByIds(ids); |
| | | } |
| | | |
| | | public int deleteBaseDictOperationById(Long id) { |
| | | return baseDictOperationService == null ? 0 : baseDictOperationService.deleteById(id); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | |
| | | private OperationVisitTaskService taskService() { |
| | | if (taskServiceProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return taskServiceProvider.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãææ¯é访ãè·å OperationVisitTaskService å¤±è´¥ï¼æä¸å¯ç¨å¤çï¼{}", e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.config; |
| | | |
| | | import lombok.Data; |
| | | import org.springframework.boot.context.properties.ConfigurationProperties; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * å
¶ä»é访模åç yml é
ç½®ï¼<b>ä»
ä½å
åºï¼ä¸æ¯ä¸»å¼å
³</b>ï¼ã |
| | | * |
| | | * <h3>â ï¸ ä¸»å¼å
³ä¸å¨è¿é</h3> |
| | | * 主å¼å
³æ¯ {@code sys_config} åæ°é
置表éç {@code othervisit.enabled}ï¼ |
| | | * ç± {@link OtherVisitSwitch} <b>è¿è¡æ¶ç读</b>ï¼è¿ç¨å
10 ç§ç¼åï¼æ¹å®æå¤ 10 ç§çæï¼ã |
| | | * æ¬ç±»åªå¨ãsys_config éæ²¡æé£ä¸è¡ãæãé Spring ç¯å¢åä¸å°é
ç½®æå¡ãæ¶å
åºã |
| | | * |
| | | * <h3>为ä»ä¹é»è®¤ true</h3> |
| | | * ææ¯é访æ¯ä¸»åä¸å¡ï¼å
³æ = å½å¤©ææ¯æ£è
çé访ä¸åçæã |
| | | * è¦å
³é请å°ãç³»ç»ç®¡ç â åæ°è®¾ç½®ãæ¾å¼æ {@code othervisit.enabled} 设为 falseã |
| | | */ |
| | | @Data |
| | | @Component |
| | | @ConfigurationProperties(prefix = "othervisit") |
| | | public class OtherVisitProperties { |
| | | |
| | | /** |
| | | * yml å
åºå¼å
³ï¼é»è®¤ trueï¼ |
| | | */ |
| | | private boolean enabled = true; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.config; |
| | | |
| | | import com.ruoyi.common.core.service.IConfigService; |
| | | import com.ruoyi.othervisit.OtherVisitModule; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * å
¶ä»é访模å<b>æ»å¼å
³</b>ï¼å¼åæ¾å¨ {@code sys_config} åæ°é
置表ä¸ï¼<b>è¿è¡æ¶è¯»åãå¯ç忢</b>ã |
| | | * |
| | | * <h3>åæ°é
ç½®</h3> |
| | | * <pre> |
| | | * åæ°é®åï¼othervisit.enabled |
| | | * åæ°é®å¼ï¼true = å¯ç¨ï¼é»è®¤ï¼ |
| | | * false = å
³éï¼ææ¯é访ä¸åçæåä»»å¡ï¼ |
| | | * </pre> |
| | | * |
| | | * <h3>ä¸å
¶å®æ¨¡åçå¼å
³å¯¹é½</h3> |
| | | * æ¬ç±»ä¸ {@code InhospVisitSwitch} / {@code PublicitySwitch} / {@code OuthospVisitSwitch} |
| | | * æ¯åä¸å¥å®ç°ï¼10 ç§è¿ç¨å
ç¼åãfail-openãè¿è¡æ¶ç读ï¼ï¼å»æä¿æå½¢ç¶ä¸è´ã |
| | | * |
| | | * <h3>为ä»ä¹è¯»ä¸å°é
ç½®ä¹æ trueï¼fail-openï¼</h3> |
| | | * 读 {@code sys_config} è¦èµ°æ°æ®åºï¼æ°æ®åºæå¨æ¶ fail-closed ä¼è®©å½å¤©ææ¯é访æ´ä½åæï¼ |
| | | * è¦åéè®¿çæ£ç¡®åæ³æ¯æ¾å¼æåæ°è®¾ä¸º falseï¼æå°ã宿¶ä»»å¡ãéæåå¯¹åº jobï¼ã |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class OtherVisitSwitch { |
| | | |
| | | /** |
| | | * sys_config éçåæ°é®åï¼ä¸ {@link OtherVisitModule#SWITCH_KEY} ä¿æä¸è´ï¼ |
| | | */ |
| | | public static final String CONFIG_KEY = OtherVisitModule.SWITCH_KEY; |
| | | |
| | | /** |
| | | * è¿ç¨å
ç¼åæææï¼æ¯«ç§ï¼ |
| | | */ |
| | | private static final long CACHE_TTL_MILLIS = 10_000L; |
| | | |
| | | private final OtherVisitProperties properties; |
| | | |
| | | private final ObjectProvider<IConfigService> configServiceProvider; |
| | | |
| | | private volatile Boolean cachedEnabled; |
| | | |
| | | private volatile long cachedAt; |
| | | |
| | | /** |
| | | * Spring 使ç¨çæé å¨ã |
| | | * <p> |
| | | * â ï¸ <b>å¿
é¡»æ¾å¼æ 注 {@code @Autowired}</b>ï¼æ¬ç±»æä¸¤ä¸ªå
¬å¼æé å¨ï¼ |
| | | * 䏿 注çè¯ Spring ä¼å "æé å¨ä¸å¯ä¸"éåæ¥æ¾æ åæé å¨ï¼å¯å¨å³æ¥ |
| | | * {@code No default constructor found}ãââ è¿æ¯æ»¡æåº¦æ¨¡å宿ºè¸©å°çåã |
| | | */ |
| | | @Autowired |
| | | public OtherVisitSwitch(OtherVisitProperties properties, |
| | | ObjectProvider<IConfigService> configServiceProvider) { |
| | | this.properties = properties; |
| | | this.configServiceProvider = configServiceProvider; |
| | | } |
| | | |
| | | /** |
| | | * ä¾<b>æµè¯/é Spring ç¯å¢</b>ç´æ¥æé ï¼{@code configValue} å°±æ¯ sys_config éçé®å¼ï¼ |
| | | * ä¼ {@code null} 表示"åæ°è¡ä¸åå¨"ï¼æ¤æ¶åè½å° {@link OtherVisitProperties}ï¼ã |
| | | */ |
| | | public OtherVisitSwitch(OtherVisitProperties properties, final String configValue) { |
| | | this(properties, new FixedProvider(configValue)); |
| | | this.cachedEnabled = resolve(); |
| | | this.cachedAt = System.currentTimeMillis() + CACHE_TTL_MILLIS * 1000L; |
| | | } |
| | | |
| | | /** |
| | | * ææ¯é访åè½æ¯å¦å¯ç¨ï¼è¿è¡æ¶çè¯»ï¼æå¤ 10 ç§å»¶è¿ï¼ |
| | | */ |
| | | public boolean isEnabled() { |
| | | long now = System.currentTimeMillis(); |
| | | Boolean cached = this.cachedEnabled; |
| | | if (cached != null && now - this.cachedAt < CACHE_TTL_MILLIS) { |
| | | return cached; |
| | | } |
| | | boolean resolved = resolve(); |
| | | this.cachedEnabled = resolved; |
| | | this.cachedAt = now; |
| | | return resolved; |
| | | } |
| | | |
| | | /** |
| | | * æ¸
æè¿ç¨å
ç¼åï¼ä¸æ¬¡è°ç¨ç«å³éæ°è¯» sys_configï¼ä¾æµè¯/éè¦ç«å³çæçåºæ¯ï¼ |
| | | */ |
| | | public void invalidateCache() { |
| | | this.cachedEnabled = null; |
| | | } |
| | | |
| | | private boolean resolve() { |
| | | String value = readFromSysConfig(); |
| | | if (value != null) { |
| | | if (!"true".equalsIgnoreCase(value) && !"false".equalsIgnoreCase(value)) { |
| | | log.warn("ãå
¶ä»é访ãsys_config ä¸ {} çå¼ä¸æ¯ true/falseï¼å®é
=ã{}ãï¼ï¼å°æã䏿¯ false å³å¯ç¨ãå¤ç", |
| | | CONFIG_KEY, value); |
| | | } |
| | | boolean enabled = !"false".equalsIgnoreCase(value); |
| | | log.debug("ãå
¶ä»é访ãå¼å
³åèª sys_configï¼{}={} -> enabled={}", CONFIG_KEY, value, enabled); |
| | | return enabled; |
| | | } |
| | | boolean enabled = properties.isEnabled(); |
| | | log.debug("ãå
¶ä»é访ãsys_config 䏿ªé
ç½® {}ï¼åè½ othervisit.enabled={}", CONFIG_KEY, enabled); |
| | | return enabled; |
| | | } |
| | | |
| | | /** |
| | | * 读 sys_config çåå§é®å¼ï¼æ²¡æå®ç°ã没æè¿ä¸è¡ãæè¯»åºå¤±è´¥é½è¿å {@code null} |
| | | */ |
| | | private String readFromSysConfig() { |
| | | if (configServiceProvider == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | IConfigService configService = configServiceProvider.stream().findFirst().orElse(null); |
| | | if (configService == null) { |
| | | return null; |
| | | } |
| | | String value = configService.selectConfigByKey(CONFIG_KEY); |
| | | if (value == null || value.trim().isEmpty()) { |
| | | return null; |
| | | } |
| | | return value.trim(); |
| | | } catch (Exception e) { |
| | | log.warn("ãå
¶ä»é访ã读å sys_config ç {} å¤±è´¥ï¼æ¬æ¬¡ææªé
ç½®å¤çï¼fail-openï¼ï¼{}", |
| | | CONFIG_KEY, e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åºå®å¼ç {@code ObjectProvider}ï¼åªç¨äºé Spring ç¯å¢/æµè¯ |
| | | */ |
| | | private static final class FixedProvider implements ObjectProvider<IConfigService> { |
| | | |
| | | private final IConfigService configService; |
| | | |
| | | private FixedProvider(final String configValue) { |
| | | this.configService = configValue == null ? null : configKey -> configValue; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getObject(Object... args) { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getIfAvailable() { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getIfUnique() { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public IConfigService getObject() { |
| | | return configService; |
| | | } |
| | | |
| | | @Override |
| | | public java.util.stream.Stream<IConfigService> stream() { |
| | | return configService == null ? java.util.stream.Stream.empty() : java.util.stream.Stream.of(configService); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.controller; |
| | | |
| | | import java.util.List; |
| | | |
| | | import com.ruoyi.common.annotation.AddOrgId; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.othervisit.domain.BaseDictOperation; |
| | | import com.ruoyi.othervisit.api.OtherVisitFacade; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | |
| | | /** |
| | | * BaseDictOperationController ââ ä» {@code ruoyi-admin} ç {@code BaseDictOperationController.java} <b>æ´ä½è¿å
¥</b>ã |
| | | * |
| | | * <h3>â ï¸ URL ä¸ä¸ªé½ä¸è½å</h3> |
| | | * 类级路å¾ä¸æ¹æ³çº§è·¯å¾éåç
§æï¼ç± |
| | | * {@code sql/_probe/verify_othervisit_url_equivalence.py} æå
³ï¼å
¨éå¤å® + é夿 å°æ£æ¥ï¼ã |
| | | * |
| | | * <h3>è¿å
¥æ¶åæ¥å é¤</h3> |
| | | * å {@code BaseDictOperationController.java} å¿
é¡»æ´ä½å é¤ï¼å¦åä¸¤ä¸ªç±»é½æ å°åä¸è·¯å¾ï¼ |
| | | * Spring ä¼å {@code Ambiguous mapping} <b>ç´æ¥å¯å¨å¤±è´¥</b>ã |
| | | * |
| | | * <h3>ä¸åå®ç°å¯ä¸çä¸å¤æ¹åï¼å·²ç»è®°ï¼</h3> |
| | | * ä¸åç» smartor ä¾§é£ä¸ªå·²å é¤ç Service æ¥å£ï¼com.smartor.service.IBaseDictOperationServiceï¼ï¼ |
| | | * å®åæ¬åªè¢«æ¬ Controller 使ç¨ï¼å±çº¯ CRUDï¼å·²æ´ä½å é¤ï¼ |
| | | * æ¬ç±»æ¹ä¸ºç»æ¬æ¨¡åé¨é¢ {@link OtherVisitFacade} è°ç¨ |
| | | * {@code com.ruoyi.othervisit.service.*Service}ãæ¹æ³ä½ã注解ãå页æ¹å¼åæªæ¹ã |
| | | * |
| | | * <h3>å¼å
³</h3> |
| | | * æ¬ç±»<b>䏿</b>å¼å
³æ¦æªå¨ï¼å±åºç¡æ°æ® CRUDï¼å端管ç页å¨ç¨ï¼ï¼ |
| | | * {@code othervisit.enabled} åªè¯¥æ§å¶"è¦ä¸è¦çæææ¯é访"ã |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-26 |
| | | */ |
| | | @Api("ææ¯åºç¡ä¿¡æ¯") |
| | | @RestController |
| | | @RequestMapping("/smartor/baseopera") |
| | | public class BaseDictOperationController extends BaseController { |
| | | @Autowired |
| | | private OtherVisitFacade facade; |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | */ |
| | | @ApiOperation("æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:list')") |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("list") |
| | | public TableDataInfo list(@RequestBody BaseDictOperation baseDictOperation) { |
| | | startPage(); |
| | | LoginUser loginUser = getLoginUser(); |
| | | SysUser user = loginUser.getUser(); |
| | | baseDictOperation.setOrgid(user.getOrgid()); |
| | | List<BaseDictOperation> list = facade.selectBaseDictOperationList(baseDictOperation); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * å¯¼åºæ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | */ |
| | | @ApiOperation("å¯¼åºæ£è
æ£æ¥æ£éªè®°å½åå表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:export')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, BaseDictOperation baseDictOperation) { |
| | | List<BaseDictOperation> list = facade.selectBaseDictOperationList(baseDictOperation); |
| | | ExcelUtil<BaseDictOperation> util = new ExcelUtil<BaseDictOperation>(BaseDictOperation.class); |
| | | util.exportExcel(response, list, "æ£è
æ£æ¥æ£éªè®°å½åæ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·åæ£è
æ£æ¥æ£éªè®°å½å详ç»ä¿¡æ¯ |
| | | */ |
| | | @ApiOperation("è·åæ£è
æ£æ¥æ£éªè®°å½å详ç»ä¿¡æ¯") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:query')") |
| | | @GetMapping(value = "/getInfo/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return success(facade.selectBaseDictOperationById(id)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | @ApiOperation("æ°å¢æ£è
æ£æ¥æ£éªè®°å½å") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:add')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.INSERT) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody BaseDictOperation baseDictOperation) { |
| | | return toAjax(facade.insertBaseDictOperation(baseDictOperation)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | @ApiOperation("ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:edit')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.UPDATE) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody BaseDictOperation baseDictOperation) { |
| | | return toAjax(facade.updateBaseDictOperation(baseDictOperation)); |
| | | } |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | @ApiOperation("å 餿£è
æ£æ¥æ£éªè®°å½å") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:remove')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.DELETE) |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(facade.deleteBaseDictOperationByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.controller; |
| | | |
| | | import java.util.List; |
| | | |
| | | import com.ruoyi.common.annotation.AddOrgId; |
| | | import com.ruoyi.common.utils.PageUtils; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.othervisit.domain.PatMedOperation; |
| | | import com.ruoyi.othervisit.api.OtherVisitFacade; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | |
| | | /** |
| | | * OperationController ââ ä» {@code ruoyi-admin} ç {@code PatMedOperationController.java} <b>æ´ä½è¿å
¥</b>ã |
| | | * |
| | | * <h3>â ï¸ URL ä¸ä¸ªé½ä¸è½å</h3> |
| | | * 类级路å¾ä¸æ¹æ³çº§è·¯å¾éåç
§æï¼ç± |
| | | * {@code sql/_probe/verify_othervisit_url_equivalence.py} æå
³ï¼å
¨éå¤å® + é夿 å°æ£æ¥ï¼ã |
| | | * |
| | | * <h3>è¿å
¥æ¶åæ¥å é¤</h3> |
| | | * å {@code PatMedOperationController.java} å¿
é¡»æ´ä½å é¤ï¼å¦åä¸¤ä¸ªç±»é½æ å°åä¸è·¯å¾ï¼ |
| | | * Spring ä¼å {@code Ambiguous mapping} <b>ç´æ¥å¯å¨å¤±è´¥</b>ã |
| | | * |
| | | * <h3>ä¸åå®ç°å¯ä¸çä¸å¤æ¹åï¼å·²ç»è®°ï¼</h3> |
| | | * ä¸åç» smartor ä¾§é£ä¸ªå·²å é¤ç Service æ¥å£ï¼com.smartor.service.IPatMedOperationServiceï¼ï¼ |
| | | * å®åæ¬åªè¢«æ¬ Controller 使ç¨ï¼å±çº¯ CRUDï¼å·²æ´ä½å é¤ï¼ |
| | | * æ¬ç±»æ¹ä¸ºç»æ¬æ¨¡åé¨é¢ {@link OtherVisitFacade} è°ç¨ |
| | | * {@code com.ruoyi.othervisit.service.*Service}ãæ¹æ³ä½ã注解ãå页æ¹å¼åæªæ¹ã |
| | | * |
| | | * <h3>å¼å
³</h3> |
| | | * æ¬ç±»<b>䏿</b>å¼å
³æ¦æªå¨ï¼å±åºç¡æ°æ® CRUDï¼å端管ç页å¨ç¨ï¼ï¼ |
| | | * {@code othervisit.enabled} åªè¯¥æ§å¶"è¦ä¸è¦çæææ¯é访"ã |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-25 |
| | | */ |
| | | @Api("æ£è
ææ¯è®°å½") |
| | | @RestController |
| | | @RequestMapping("/smartor/operation") |
| | | public class OperationController extends BaseController { |
| | | @Autowired |
| | | private OtherVisitFacade facade; |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ææ¯è®°å½å表 |
| | | */ |
| | | @ApiOperation("æ¥è¯¢æ£è
ææ¯è®°å½å表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:list')") |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("list") |
| | | public TableDataInfo list(@RequestBody PatMedOperation patMedOperation) { |
| | | //startPage(); |
| | | PageUtils.startPageByPost(patMedOperation.getPageNum(), patMedOperation.getPageSize()); |
| | | List<PatMedOperation> list = facade.selectOperationList(patMedOperation); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * å¯¼åºæ£è
ææ¯è®°å½å表 |
| | | */ |
| | | @ApiOperation("å¯¼åºæ£è
ææ¯è®°å½å表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:export')") |
| | | @Log(title = "æ£è
ææ¯è®°å½", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, PatMedOperation patMedOperation) { |
| | | List<PatMedOperation> list = facade.selectOperationList(patMedOperation); |
| | | ExcelUtil<PatMedOperation> util = new ExcelUtil<PatMedOperation>(PatMedOperation.class); |
| | | util.exportExcel(response, list, "æ£è
ææ¯è®°å½æ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·åæ£è
ææ¯è®°å½è¯¦ç»ä¿¡æ¯ |
| | | */ |
| | | @ApiOperation("è·åæ£è
ææ¯è®°å½è¯¦ç»ä¿¡æ¯") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:query')") |
| | | @GetMapping(value = "/getInfo/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return success(facade.selectOperationById(id)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢æ£è
ææ¯è®°å½ |
| | | */ |
| | | @ApiOperation("æ°å¢æ£è
ææ¯è®°å½") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:add')") |
| | | @Log(title = "æ£è
ææ¯è®°å½", businessType = BusinessType.INSERT) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody PatMedOperation patMedOperation) { |
| | | return toAjax(facade.insertOperation(patMedOperation)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
ææ¯è®°å½ |
| | | */ |
| | | @ApiOperation("ä¿®æ¹æ£è
ææ¯è®°å½") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:edit')") |
| | | @Log(title = "æ£è
ææ¯è®°å½", businessType = BusinessType.UPDATE) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody PatMedOperation patMedOperation) { |
| | | return toAjax(facade.updateOperation(patMedOperation)); |
| | | } |
| | | |
| | | /** |
| | | * å 餿£è
ææ¯è®°å½ |
| | | */ |
| | | @ApiOperation("å 餿£è
ææ¯è®°å½") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:operation:remove')") |
| | | @Log(title = "æ£è
ææ¯è®°å½", businessType = BusinessType.DELETE) |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(facade.deleteOperationByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.controller; |
| | | |
| | | import java.util.List; |
| | | |
| | | import com.ruoyi.common.annotation.AddOrgId; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.othervisit.domain.PatMedOperationItem; |
| | | import com.ruoyi.othervisit.api.OtherVisitFacade; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | |
| | | /** |
| | | * OperationItemController ââ ä» {@code ruoyi-admin} ç {@code PatMedOperationItemController.java} <b>æ´ä½è¿å
¥</b>ã |
| | | * |
| | | * <h3>â ï¸ URL ä¸ä¸ªé½ä¸è½å</h3> |
| | | * 类级路å¾ä¸æ¹æ³çº§è·¯å¾éåç
§æï¼ç± |
| | | * {@code sql/_probe/verify_othervisit_url_equivalence.py} æå
³ï¼å
¨éå¤å® + é夿 å°æ£æ¥ï¼ã |
| | | * |
| | | * <h3>è¿å
¥æ¶åæ¥å é¤</h3> |
| | | * å {@code PatMedOperationItemController.java} å¿
é¡»æ´ä½å é¤ï¼å¦åä¸¤ä¸ªç±»é½æ å°åä¸è·¯å¾ï¼ |
| | | * Spring ä¼å {@code Ambiguous mapping} <b>ç´æ¥å¯å¨å¤±è´¥</b>ã |
| | | * |
| | | * <h3>ä¸åå®ç°å¯ä¸çä¸å¤æ¹åï¼å·²ç»è®°ï¼</h3> |
| | | * ä¸åç» smartor ä¾§é£ä¸ªå·²å é¤ç Service æ¥å£ï¼com.smartor.service.IPatMedOperationItemServiceï¼ï¼ |
| | | * å®åæ¬åªè¢«æ¬ Controller 使ç¨ï¼å±çº¯ CRUDï¼å·²æ´ä½å é¤ï¼ |
| | | * æ¬ç±»æ¹ä¸ºç»æ¬æ¨¡åé¨é¢ {@link OtherVisitFacade} è°ç¨ |
| | | * {@code com.ruoyi.othervisit.service.*Service}ãæ¹æ³ä½ã注解ãå页æ¹å¼åæªæ¹ã |
| | | * |
| | | * <h3>å¼å
³</h3> |
| | | * æ¬ç±»<b>䏿</b>å¼å
³æ¦æªå¨ï¼å±åºç¡æ°æ® CRUDï¼å端管ç页å¨ç¨ï¼ï¼ |
| | | * {@code othervisit.enabled} åªè¯¥æ§å¶"è¦ä¸è¦çæææ¯é访"ã |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-25 |
| | | */ |
| | | @Api("æ£è
æ£æ¥æ£éªè®°å½å") |
| | | @RestController |
| | | @RequestMapping("/smartor/item") |
| | | public class OperationItemController extends BaseController { |
| | | @Autowired |
| | | private OtherVisitFacade facade; |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | */ |
| | | @ApiOperation("æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:item:list')") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(PatMedOperationItem patMedOperationItem) { |
| | | startPage(); |
| | | List<PatMedOperationItem> list = facade.selectOperationItemList(patMedOperationItem); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * å¯¼åºæ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | */ |
| | | @ApiOperation("å¯¼åºæ£è
æ£æ¥æ£éªè®°å½åå表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:item:export')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, PatMedOperationItem patMedOperationItem) { |
| | | List<PatMedOperationItem> list = facade.selectOperationItemList(patMedOperationItem); |
| | | ExcelUtil<PatMedOperationItem> util = new ExcelUtil<PatMedOperationItem>(PatMedOperationItem.class); |
| | | util.exportExcel(response, list, "æ£è
æ£æ¥æ£éªè®°å½åæ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·åæ£è
æ£æ¥æ£éªè®°å½å详ç»ä¿¡æ¯ |
| | | */ |
| | | @ApiOperation("è·åæ£è
æ£æ¥æ£éªè®°å½å详ç»ä¿¡æ¯") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:item:query')") |
| | | @GetMapping(value = "/getInfo/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return success(facade.selectOperationItemById(id)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | @ApiOperation("æ°å¢æ£è
æ£æ¥æ£éªè®°å½å") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:item:add')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.INSERT) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody PatMedOperationItem patMedOperationItem) { |
| | | return toAjax(facade.insertOperationItem(patMedOperationItem)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | @ApiOperation("ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:item:edit')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.UPDATE) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody PatMedOperationItem patMedOperationItem) { |
| | | return toAjax(facade.updateOperationItem(patMedOperationItem)); |
| | | } |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | @ApiOperation("å 餿£è
æ£æ¥æ£éªè®°å½å") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:item:remove')") |
| | | @Log(title = "æ£è
æ£æ¥æ£éªè®°å½å", businessType = BusinessType.DELETE) |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(facade.deleteOperationItemByIds(ids)); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.domain; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * æ£è
æ£æ¥æ£éªè®°å½å对象 base_dict_operation |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-26 |
| | | */ |
| | | @Data |
| | | @ApiModel("æ£è
æ£æ¥æ£éªè®°å½å") |
| | | public class BaseDictOperation extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty("èªå¢ID") |
| | | //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * hisææ¯id |
| | | */ |
| | | @ApiModelProperty("hisææ¯id") |
| | | @Excel(name = "hisææ¯id") |
| | | private String opid; |
| | | |
| | | /** |
| | | * ææ¯åç§°ID |
| | | */ |
| | | @ApiModelProperty("ææ¯åç§°ID") |
| | | @Excel(name = "ææ¯åç§°ID") |
| | | private String opcode; |
| | | |
| | | /** |
| | | * ææ¯åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯åç§°") |
| | | @Excel(name = "ææ¯åç§°") |
| | | private String opdesc; |
| | | |
| | | /** |
| | | * åå£ç±»å«ä»£ç |
| | | */ |
| | | @ApiModelProperty("åå£ç±»å«ä»£ç ") |
| | | @Excel(name = "åå£ç±»å«ä»£ç ") |
| | | private String incitypecode; |
| | | |
| | | /** |
| | | * åå£ç±»å«åç§° |
| | | */ |
| | | @ApiModelProperty("åå£ç±»å«åç§°") |
| | | @Excel(name = "åå£ç±»å«åç§°") |
| | | private String incitypedesc; |
| | | |
| | | /** |
| | | * ææ¯çº§å«ä»£ç |
| | | */ |
| | | @ApiModelProperty("ææ¯çº§å«ä»£ç ") |
| | | @Excel(name = "ææ¯çº§å«ä»£ç ") |
| | | private String oplevelcode; |
| | | |
| | | /** |
| | | * ææ¯çº§å«åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯çº§å«åç§°") |
| | | @Excel(name = "ææ¯çº§å«åç§°") |
| | | private String opleveldesc; |
| | | |
| | | /** |
| | | * ææ¯é¨ä½ |
| | | */ |
| | | @ApiModelProperty("ææ¯é¨ä½") |
| | | @Excel(name = "ææ¯é¨ä½") |
| | | private String opposition; |
| | | |
| | | /** |
| | | * å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼ |
| | | */ |
| | | @ApiModelProperty("å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼") |
| | | @Excel(name = "ä¸ä¼ æ å¿", readConverterExp = "0=ï¼æªä¸ä¼ ,1=ï¼å·²ä¸ä¼ ") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ä¸ä¼ æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * å»é¢æºæID |
| | | */ |
| | | @ApiModelProperty("å»é¢æºæID") |
| | | @Excel(name = "å»é¢æºæID") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * ç¶GUID |
| | | */ |
| | | @ApiModelProperty("ç¶GUID") |
| | | @Excel(name = "ç¶GUID") |
| | | private String pguid; |
| | | |
| | | /** |
| | | * GUID |
| | | */ |
| | | @ApiModelProperty("GUID") |
| | | @Excel(name = "GUID") |
| | | private String guid; |
| | | |
| | | /** |
| | | * ç¶ID |
| | | */ |
| | | @ApiModelProperty("ç¶ID") |
| | | @Excel(name = "ç¶ID") |
| | | private Long pid; |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.domain; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * æ£è
ææ¯è®°å½å¯¹è±¡ pat_med_operation |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-25 |
| | | */ |
| | | @Data |
| | | @ApiModel("æ£è
ææ¯è®°å½") |
| | | public class PatMedOperation extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty("èªå¢ID") |
| | | //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * ç
人ID |
| | | */ |
| | | @ApiModelProperty("ç
人ID") |
| | | @Excel(name = "ç
人ID") |
| | | private Long patid; |
| | | |
| | | /** |
| | | * hisç³»ç»ID |
| | | */ |
| | | @ApiModelProperty("hisç³»ç»ID") |
| | | private String patidHis; |
| | | |
| | | /** |
| | | * ç
人ç¼å· |
| | | */ |
| | | @ApiModelProperty("ç
人ç¼å·") |
| | | @Excel(name = "ç
人ç¼å·") |
| | | private String patcode; |
| | | |
| | | /** |
| | | * ç
人å§å |
| | | */ |
| | | @ApiModelProperty("ç
人å§å") |
| | | @Excel(name = "ç
人å§å") |
| | | private String paname; |
| | | |
| | | /** |
| | | * ææ¯ç³è¯·åID |
| | | */ |
| | | @ApiModelProperty("ææ¯ç³è¯·åID") |
| | | @Excel(name = "ææ¯ç³è¯·åID") |
| | | private Long opreqid; |
| | | |
| | | /** |
| | | * ææ¯ç³è¯·åå· |
| | | */ |
| | | @ApiModelProperty("ææ¯ç³è¯·åå·") |
| | | @Excel(name = "ææ¯ç³è¯·åå·") |
| | | private String opreqcode; |
| | | |
| | | /** |
| | | * ææ¯ç¶æï¼Nï¼ç³è¯·Rï¼å®æDï¼æç» |
| | | * Cï¼åæ¶ Fï¼ç»æ |
| | | */ |
| | | @ApiModelProperty("ææ¯ç¶æï¼Nï¼ç³è¯·Rï¼å®æDï¼æç» Cï¼åæ¶ Fï¼ç»æ") |
| | | @Excel(name = "ææ¯ç¶æï¼Nï¼ç³è¯·Rï¼å®æDï¼æç» Cï¼åæ¶ Fï¼ç»æ") |
| | | private String opsstatus; |
| | | |
| | | /** |
| | | * ææ¯ç±»å«ä»£ç |
| | | */ |
| | | @ApiModelProperty("ææ¯ç±»å«ä»£ç ") |
| | | @Excel(name = "ææ¯ç±»å«ä»£ç ") |
| | | private String optypecode; |
| | | |
| | | /** |
| | | * ææ¯ç±»å«åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯ç±»å«åç§°") |
| | | @Excel(name = "ææ¯ç±»å«åç§°") |
| | | private String optypename; |
| | | |
| | | /** |
| | | * è¦æ±ææ¯æ¶é´ |
| | | */ |
| | | @ApiModelProperty("è¦æ±ææ¯æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "è¦æ±ææ¯æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date operatortime; |
| | | |
| | | /** |
| | | * ææ¯ç³è¯·æ¶é´ |
| | | */ |
| | | @ApiModelProperty("ææ¯ç³è¯·æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ææ¯ç³è¯·æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date opreqtime; |
| | | |
| | | /** |
| | | * ç³è¯·å»çç¼å· |
| | | */ |
| | | @ApiModelProperty("ç³è¯·å»çç¼å·") |
| | | @Excel(name = "ç³è¯·å»çç¼å·") |
| | | private String reqdoccode; |
| | | |
| | | /** |
| | | * ç³è¯·å»çå§å |
| | | */ |
| | | @ApiModelProperty("ç³è¯·å»çå§å") |
| | | @Excel(name = "ç³è¯·å»çå§å") |
| | | private String reqdocname; |
| | | |
| | | /** |
| | | * ç³è¯·ç§å®¤ç¼å· |
| | | */ |
| | | @ApiModelProperty("ç³è¯·ç§å®¤ç¼å·") |
| | | @Excel(name = "ç³è¯·ç§å®¤ç¼å·") |
| | | private String reqdeptcode; |
| | | |
| | | /** |
| | | * ç³è¯·ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty("ç³è¯·ç§å®¤åç§°") |
| | | @Excel(name = "ç³è¯·ç§å®¤åç§°") |
| | | private String reqdeptname; |
| | | |
| | | /** |
| | | * ææ¯ç§å®¤ç¼å· |
| | | */ |
| | | @ApiModelProperty("ææ¯ç§å®¤ç¼å·") |
| | | @Excel(name = "ææ¯ç§å®¤ç¼å·") |
| | | private String reqloccode; |
| | | |
| | | /** |
| | | * ææ¯ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯ç§å®¤åç§°") |
| | | @Excel(name = "ææ¯ç§å®¤åç§°") |
| | | private String reqlocname; |
| | | |
| | | /** |
| | | * 主åå»çç¼å· |
| | | */ |
| | | @ApiModelProperty("主åå»çç¼å·") |
| | | @Excel(name = "主åå»çç¼å·") |
| | | private String surgeoncode; |
| | | |
| | | /** |
| | | * 主åå»çå§å |
| | | */ |
| | | @ApiModelProperty("主åå»çå§å") |
| | | @Excel(name = "主åå»çå§å") |
| | | private String surgeonname; |
| | | |
| | | /** |
| | | * ä¸å©å»çç¼å· |
| | | */ |
| | | @ApiModelProperty("ä¸å©å»çç¼å·") |
| | | @Excel(name = "ä¸å©å»çç¼å·") |
| | | private String firasscode; |
| | | |
| | | /** |
| | | * ä¸å©å»çå§å |
| | | */ |
| | | @ApiModelProperty("ä¸å©å»çå§å") |
| | | @Excel(name = "ä¸å©å»çå§å") |
| | | private String firassname; |
| | | |
| | | /** |
| | | * äºå©å»çç¼å· |
| | | */ |
| | | @ApiModelProperty("äºå©å»çç¼å·") |
| | | @Excel(name = "äºå©å»çç¼å·") |
| | | private String secasscode; |
| | | |
| | | /** |
| | | * äºå©å»çå§å |
| | | */ |
| | | @ApiModelProperty("äºå©å»çå§å") |
| | | @Excel(name = "äºå©å»çå§å") |
| | | private String secassname; |
| | | |
| | | /** |
| | | * ä¸å©å»çç¼å· |
| | | */ |
| | | @ApiModelProperty("ä¸å©å»çç¼å·") |
| | | @Excel(name = "ä¸å©å»çç¼å·") |
| | | private String thrasscode; |
| | | |
| | | /** |
| | | * ä¸å©å»çå§å |
| | | */ |
| | | @ApiModelProperty("ä¸å©å»çå§å") |
| | | @Excel(name = "ä¸å©å»çå§å") |
| | | private String thrassname; |
| | | |
| | | /** |
| | | * ä½åºæ¶é´ |
| | | */ |
| | | @ApiModelProperty("ä½åºæ¶é´") |
| | | @Excel(name = "ä½åºæ¶é´") |
| | | private String canceltime; |
| | | |
| | | /** |
| | | * ä½åºåå |
| | | */ |
| | | @ApiModelProperty("ä½åºåå ") |
| | | @Excel(name = "ä½åºåå ") |
| | | private String cancelreason; |
| | | |
| | | /** |
| | | * ä½åºç³è¯·äººç¼å· |
| | | */ |
| | | @ApiModelProperty("ä½åºç³è¯·äººç¼å·") |
| | | @Excel(name = "ä½åºç³è¯·äººç¼å·") |
| | | private String cancelcode; |
| | | |
| | | /** |
| | | * ä½åºç³è¯·äººå§å |
| | | */ |
| | | @ApiModelProperty("ä½åºç³è¯·äººå§å") |
| | | @Excel(name = "ä½åºç³è¯·äººå§å") |
| | | private String cancelname; |
| | | |
| | | /** |
| | | * å°±è¯ç±»å;1é¨è¯ 2ä½é¢ 3使£ |
| | | */ |
| | | @ApiModelProperty("å°±è¯ç±»å;1é¨è¯ 2ä½é¢ 3使£") |
| | | @Excel(name = "å°±è¯ç±»å;1é¨è¯ 2ä½é¢ 3使£") |
| | | private Long visittype; |
| | | |
| | | /** |
| | | * ææ¯ç¶æï¼Nï¼ç³è¯·Rï¼å®æDï¼æç» |
| | | * Cï¼åæ¶ Fï¼ç»æ |
| | | */ |
| | | @ApiModelProperty("ææ¯ç¶æï¼Nï¼ç³è¯·Rï¼å®æDï¼æç» Cï¼åæ¶ Fï¼ç»æ") |
| | | @Excel(name = "ææ¯ç¶æï¼Nï¼ç³è¯·Rï¼å®æDï¼æç» Cï¼åæ¶ Fï¼ç»æ") |
| | | private String status; |
| | | |
| | | /** |
| | | * æ¹æ¡ç¶ææä½æ¶é´ |
| | | */ |
| | | @ApiModelProperty("æ¹æ¡ç¶ææä½æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "æ¹æ¡ç¶ææä½æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date schemetime; |
| | | |
| | | /** |
| | | * æ¯å¦çæè®¡å;0æªçæ 1çæææ¯å 2çæææ¯å 9æ å¹é
æ¹æ¡ |
| | | */ |
| | | @ApiModelProperty("æ¯å¦çæè®¡å;0æªçæ 1çæææ¯å 2çæææ¯å 9æ å¹é
æ¹æ¡") |
| | | @Excel(name = "æ¯å¦çæè®¡å;0æªçæ 1çæææ¯å 2çæææ¯å 9æ å¹é
æ¹æ¡") |
| | | private Long schemestatus; |
| | | |
| | | /** |
| | | * å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼ |
| | | */ |
| | | @ApiModelProperty("å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼") |
| | | @Excel(name = "ä¸ä¼ æ å¿", readConverterExp = "0=ï¼æªä¸ä¼ ,1=ï¼å·²ä¸ä¼ ") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ä¸ä¼ æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * å»é¢æºæID |
| | | */ |
| | | @ApiModelProperty("å»é¢æºæID") |
| | | @Excel(name = "å»é¢æºæID") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * GUID |
| | | */ |
| | | @ApiModelProperty("GUID") |
| | | @Excel(name = "GUID") |
| | | private String guid; |
| | | |
| | | /** |
| | | * ç¶GUID |
| | | */ |
| | | @ApiModelProperty("ç¶GUID") |
| | | @Excel(name = "ç¶GUID") |
| | | private String pguid; |
| | | |
| | | /** |
| | | * ç¶ID |
| | | */ |
| | | @ApiModelProperty("ç¶ID") |
| | | @Excel(name = "ç¶ID") |
| | | private Long pid; |
| | | |
| | | /** |
| | | * å°±è¯ç±»åæ è¯ï¼0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ |
| | | */ |
| | | @ApiModelProperty("å°±è¯ç±»åæ è¯ï¼0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§") |
| | | @Excel(name = "å°±è¯ç±»åæ è¯ï¼0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§") |
| | | private String inhospstate; |
| | | |
| | | /** |
| | | * æ£è
æ¡£æ¡ç¼å· |
| | | */ |
| | | @ApiModelProperty("æ£è
æ¡£æ¡ç¼å·") |
| | | @Excel(name = "æ£è
æ¡£æ¡ç¼å·") |
| | | private String patno; |
| | | |
| | | /** |
| | | * ç
人å§å |
| | | */ |
| | | @ApiModelProperty("ç
人å§å") |
| | | @Excel(name = "ç
人å§å") |
| | | private String patname; |
| | | |
| | | /** |
| | | * é¨è¯å°±è¯ID |
| | | */ |
| | | @ApiModelProperty("é¨è¯å°±è¯ID") |
| | | @Excel(name = "é¨è¯å°±è¯ID") |
| | | private Long visitid; |
| | | |
| | | /** |
| | | * å°±è¯æµæ°´å· |
| | | */ |
| | | @ApiModelProperty("å°±è¯æµæ°´å·") |
| | | @Excel(name = "å°±è¯æµæ°´å·") |
| | | private String serialnum; |
| | | |
| | | /** |
| | | * ä½é¢å· |
| | | */ |
| | | @ApiModelProperty("ä½é¢å·") |
| | | @Excel(name = "ä½é¢å·") |
| | | private String inhospno; |
| | | |
| | | /** |
| | | * å»é¢åç§° |
| | | */ |
| | | @ApiModelProperty("å»é¢åç§°") |
| | | @Excel(name = "å»é¢åç§°") |
| | | private String hospitalname; |
| | | |
| | | /** |
| | | * å»é¢ç¼å· |
| | | */ |
| | | @ApiModelProperty("å»é¢ç¼å·") |
| | | @Excel(name = "å»é¢ç¼å·") |
| | | private String hospitalcode; |
| | | |
| | | /** |
| | | * å°±è¯ç§å®¤ID |
| | | */ |
| | | @ApiModelProperty("å°±è¯ç§å®¤ID") |
| | | @Excel(name = "å°±è¯ç§å®¤ID") |
| | | private String deptid; |
| | | |
| | | /** |
| | | * ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty("ç§å®¤ä»£ç ") |
| | | @Excel(name = "ç§å®¤ä»£ç ") |
| | | private String deptcode; |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty("ç§å®¤åç§°") |
| | | @Excel(name = "ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty("ç
åºç¼å·") |
| | | @Excel(name = "ç
åºç¼å·") |
| | | private String hospitaldistrictcode; |
| | | |
| | | /** |
| | | * ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty("ç
åºåç§°") |
| | | @Excel(name = "ç
åºåç§°") |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ç¼ç |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ç¼ç ") |
| | | private String leaveldeptcode; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤åç§°") |
| | | private String leaveldeptname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼ç |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼ç ") |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * æ¿é´å· |
| | | */ |
| | | @ApiModelProperty("æ¿é´å·") |
| | | @Excel(name = "æ¿é´å·") |
| | | private String roomno; |
| | | |
| | | /** |
| | | * åºä½å· |
| | | */ |
| | | @ApiModelProperty("åºä½å·") |
| | | @Excel(name = "åºä½å·") |
| | | private String bedNo; |
| | | |
| | | /** |
| | | * 主治å»çå·¥å· |
| | | */ |
| | | @ApiModelProperty("主治å»çå·¥å·") |
| | | @Excel(name = "主治å»çå·¥å·") |
| | | private String drcode; |
| | | |
| | | /** |
| | | * 主治å»çåç§° |
| | | */ |
| | | @ApiModelProperty("主治å»çåç§°") |
| | | @Excel(name = "主治å»çåç§°") |
| | | private String drname; |
| | | |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty("æ¤å£«ID") |
| | | @Excel(name = "æ¤å£«ID") |
| | | private String nurseId; |
| | | |
| | | /** |
| | | * æ¤å£«å§å |
| | | */ |
| | | @ApiModelProperty("æ¤å£«å§å") |
| | | @Excel(name = "æ¤å£«å§å") |
| | | private String nurseName; |
| | | |
| | | /** |
| | | * é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 |
| | | */ |
| | | @ApiModelProperty("é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | @Excel(name = "é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败") |
| | | private String checkFlag; |
| | | |
| | | /** |
| | | * é¿æä»»å¡ ï¼å¤±è´¥åå |
| | | */ |
| | | @ApiModelProperty("é¿æä»»å¡ ï¼å¤±è´¥åå ") |
| | | @Excel(name = "é¿æä»»å¡ ï¼å¤±è´¥åå ") |
| | | private String longTaskReason; |
| | | |
| | | /** |
| | | * ææ¯id |
| | | */ |
| | | @ApiModelProperty("ææ¯id") |
| | | @Excel(name = "ææ¯id") |
| | | private String opid; |
| | | |
| | | /** |
| | | * ææ¯åç§°ID |
| | | */ |
| | | @ApiModelProperty("ææ¯åç§°ID") |
| | | @Excel(name = "ææ¯åç§°ID") |
| | | private String opcode; |
| | | |
| | | /** |
| | | * ææ¯åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯åç§°") |
| | | @Excel(name = "ææ¯åç§°") |
| | | private String opdesc; |
| | | |
| | | /** |
| | | * ææ¯çº§å«ä»£ç |
| | | */ |
| | | @ApiModelProperty("ææ¯çº§å«ä»£ç ") |
| | | @Excel(name = "ææ¯çº§å«ä»£ç ") |
| | | private String oplevelcode; |
| | | |
| | | /** |
| | | * ææ¯çº§å«åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯çº§å«åç§°") |
| | | @Excel(name = "ææ¯çº§å«åç§°") |
| | | private String opleveldesc; |
| | | |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "å¼å§ææ¯æ¶é´") |
| | | private Date beginTime; |
| | | |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = " ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | @ApiModelProperty(value = "ç»æææ¯æ¶é´") |
| | | private Date endTime; |
| | | |
| | | @ApiModelProperty(value = "æåå¼å§æ¶é´") |
| | | private String lastStartTime; |
| | | |
| | | @ApiModelProperty(value = "æåç»ææ¶é´") |
| | | private String lastEndTime; |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pageNum") |
| | | private Integer pageNum; |
| | | |
| | | /** |
| | | * pageSize |
| | | */ |
| | | @ApiModelProperty("pageSize") |
| | | private Integer pageSize; |
| | | |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.domain; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ£è
æ£æ¥æ£éªè®°å½å对象 pat_med_operation_item |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-25 |
| | | */ |
| | | @Data |
| | | @ApiModel("æ£è
æ£æ¥æ£éªè®°å½å") |
| | | public class PatMedOperationItem extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty("èªå¢ID") |
| | | //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * ææ¯ç³è¯·åid |
| | | */ |
| | | @ApiModelProperty("ææ¯ç³è¯·åid") |
| | | @Excel(name = "ææ¯ç³è¯·åid") |
| | | private Long operationid; |
| | | |
| | | /** |
| | | * ææ¯id |
| | | */ |
| | | @ApiModelProperty("ææ¯id") |
| | | @Excel(name = "ææ¯id") |
| | | private String opid; |
| | | |
| | | /** |
| | | * ææ¯åç§°ID |
| | | */ |
| | | @ApiModelProperty("ææ¯åç§°ID") |
| | | @Excel(name = "ææ¯åç§°ID") |
| | | private String opcode; |
| | | |
| | | /** |
| | | * ææ¯åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯åç§°") |
| | | @Excel(name = "ææ¯åç§°") |
| | | private String opdesc; |
| | | |
| | | /** |
| | | * ä¸»ææ¯æ è¯ |
| | | */ |
| | | @ApiModelProperty("ä¸»ææ¯æ è¯") |
| | | @Excel(name = "ä¸»ææ¯æ è¯") |
| | | private String mainFlag; |
| | | |
| | | /** |
| | | * åå£ç±»å«ä»£ç |
| | | */ |
| | | @ApiModelProperty("åå£ç±»å«ä»£ç ") |
| | | @Excel(name = "åå£ç±»å«ä»£ç ") |
| | | private String incitypecode; |
| | | |
| | | /** |
| | | * åå£ç±»å«åç§° |
| | | */ |
| | | @ApiModelProperty("åå£ç±»å«åç§°") |
| | | @Excel(name = "åå£ç±»å«åç§°") |
| | | private String incitypedesc; |
| | | |
| | | /** |
| | | * ææ¯çº§å«ä»£ç |
| | | */ |
| | | @ApiModelProperty("ææ¯çº§å«ä»£ç ") |
| | | @Excel(name = "ææ¯çº§å«ä»£ç ") |
| | | private String oplevelcode; |
| | | |
| | | /** |
| | | * ææ¯çº§å«åç§° |
| | | */ |
| | | @ApiModelProperty("ææ¯çº§å«åç§°") |
| | | @Excel(name = "ææ¯çº§å«åç§°") |
| | | private String opleveldesc; |
| | | |
| | | /** |
| | | * ææ¯é¨ä½ |
| | | */ |
| | | @ApiModelProperty("ææ¯é¨ä½") |
| | | @Excel(name = "ææ¯é¨ä½") |
| | | private String opposition; |
| | | |
| | | /** |
| | | * å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼ |
| | | */ |
| | | @ApiModelProperty("å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼") |
| | | @Excel(name = "ä¸ä¼ æ å¿", readConverterExp = "0=ï¼æªä¸ä¼ ,1=ï¼å·²ä¸ä¼ ") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ä¸ä¼ æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * å»é¢æºæID |
| | | */ |
| | | @ApiModelProperty("å»é¢æºæID") |
| | | @Excel(name = "å»é¢æºæID") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * ç¶GUID |
| | | */ |
| | | @ApiModelProperty("ç¶GUID") |
| | | @Excel(name = "ç¶GUID") |
| | | private String pguid; |
| | | |
| | | /** |
| | | * GUID |
| | | */ |
| | | @ApiModelProperty("GUID") |
| | | @Excel(name = "GUID") |
| | | private String guid; |
| | | |
| | | /** |
| | | * ç¶ID |
| | | */ |
| | | @ApiModelProperty("ç¶ID") |
| | | @Excel(name = "ç¶ID") |
| | | private Long pid; |
| | | |
| | | @ApiModelProperty(value = "æåå¼å§æ¶é´") |
| | | private String lastStartTime; |
| | | |
| | | @ApiModelProperty(value = "æåç»ææ¶é´") |
| | | private String lastEndTime; |
| | | |
| | | /** |
| | | * ææ¯é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤ç |
| | | */ |
| | | @ApiModelProperty(value = "ææ¯é¿æä»»å¡ï¼æ¯å¦å¤çï¼0æªå¤ç 1å¤çæå 2å¤ç失败 ") |
| | | private String opercheckFlag; |
| | | |
| | | @ApiModelProperty("é¿æä»»å¡ ï¼å¤±è´¥åå ") |
| | | @Excel(name = "é¿æä»»å¡ ï¼å¤±è´¥åå ") |
| | | private String longTaskReason; |
| | | |
| | | /** |
| | | * ç§å®¤ä»£ç |
| | | */ |
| | | @ApiModelProperty("ç§å®¤ä»£ç ") |
| | | private String deptcode; |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty("ç§å®¤åç§°") |
| | | private String deptname; |
| | | |
| | | /** |
| | | * ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty("ç
åºç¼å·") |
| | | private String hospitaldistrictcode; |
| | | |
| | | /** |
| | | * ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty("ç
åºåç§°") |
| | | private String hospitaldistrictname; |
| | | |
| | | @ApiModelProperty("æ£è
ID") |
| | | private Long patid; |
| | | |
| | | /** |
| | | * 主治å»çå·¥å· |
| | | */ |
| | | @ApiModelProperty("主治å»çå·¥å·") |
| | | @Excel(name = "主治å»çå·¥å·") |
| | | private String drcode; |
| | | |
| | | /** |
| | | * 主治å»çåç§° |
| | | */ |
| | | @ApiModelProperty("主治å»çåç§°") |
| | | @Excel(name = "主治å»çåç§°") |
| | | private String drname; |
| | | |
| | | /** |
| | | * æ¤å£«ID |
| | | */ |
| | | @ApiModelProperty("æ¤å£«ID") |
| | | @Excel(name = "æ¤å£«ID") |
| | | private String nurseId; |
| | | |
| | | /** |
| | | * æ¤å£«å§å |
| | | */ |
| | | @ApiModelProperty("æ¤å£«å§å") |
| | | @Excel(name = "æ¤å£«å§å") |
| | | private String nurseName; |
| | | |
| | | @ApiModelProperty(value = "ç
åºç¼ç éå") |
| | | private List<String> wardCodes; |
| | | |
| | | @ApiModelProperty(value = "é¨é¨ç¼ç éå") |
| | | private List<String> deptCodes; |
| | | |
| | | @ApiModelProperty(value = "ææ¯ç级éå") |
| | | private List<String> opLevelCodes; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤ç¼ç |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤ç¼ç ") |
| | | private String leaveldeptcode; |
| | | |
| | | /** |
| | | * åºé¢ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç§å®¤åç§°") |
| | | private String leaveldeptname; |
| | | |
| | | /** |
| | | * åºé¢ç
åºç¼ç |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºç¼ç ") |
| | | private String leavehospitaldistrictcode; |
| | | |
| | | /** |
| | | * åºé¢ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty(value = "åºé¢ç
åºåç§°") |
| | | private String leavehospitaldistrictname; |
| | | |
| | | /** |
| | | * ä½é¢æ è¯ï¼0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ 3å¾
å
¥é¢ |
| | | */ |
| | | @ApiModelProperty(value = "ä½é¢æ è¯ï¼ 0ï¼å¨é¢ 1ï¼åºé¢ 2ï¼è½¬ç§ 3å¾
å
¥é¢") |
| | | private String inhospstate; |
| | | |
| | | /** |
| | | * ä½é¢è®°å½æµæ°´å· |
| | | */ |
| | | @ApiModelProperty("ä½é¢è®°å½æµæ°´å·") |
| | | @Excel(name = "ä½é¢è®°å½æµæ°´å·") |
| | | private String serialnum; |
| | | |
| | | @ApiModelProperty(value = "åºé¢æ¶é´") |
| | | private String inhospEndtime; |
| | | |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.mapper; |
| | | |
| | | import java.util.List; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import com.ruoyi.othervisit.domain.BaseDictOperation; |
| | | |
| | | /** |
| | | * æ£è
æ£æ¥æ£éªè®°å½åMapperæ¥å£ |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-26 |
| | | */ |
| | | @Mapper |
| | | public interface BaseDictOperationMapper |
| | | { |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param id æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return æ£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | public BaseDictOperation selectBaseDictOperationById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | * |
| | | * @param baseDictOperation æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return æ£è
æ£æ¥æ£éªè®°å½åéå |
| | | */ |
| | | public List<BaseDictOperation> selectBaseDictOperationList(BaseDictOperation baseDictOperation); |
| | | |
| | | /** |
| | | * æ°å¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param baseDictOperation æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return ç»æ |
| | | */ |
| | | public int insertBaseDictOperation(BaseDictOperation baseDictOperation); |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param baseDictOperation æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return ç»æ |
| | | */ |
| | | public int updateBaseDictOperation(BaseDictOperation baseDictOperation); |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param id æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteBaseDictOperationById(Long id); |
| | | |
| | | /** |
| | | * æ¹éå 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteBaseDictOperationByIds(Long[] ids); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.mapper; |
| | | |
| | | import java.util.List; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import com.ruoyi.othervisit.domain.PatMedOperationItem; |
| | | |
| | | /** |
| | | * æ£è
æ£æ¥æ£éªè®°å½åMapperæ¥å£ |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-25 |
| | | */ |
| | | @Mapper |
| | | public interface PatMedOperationItemMapper |
| | | { |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param id æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return æ£è
æ£æ¥æ£éªè®°å½å |
| | | */ |
| | | public PatMedOperationItem selectPatMedOperationItemById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | * |
| | | * @param patMedOperationItem æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return æ£è
æ£æ¥æ£éªè®°å½åéå |
| | | */ |
| | | public List<PatMedOperationItem> selectPatMedOperationItemList(PatMedOperationItem patMedOperationItem); |
| | | |
| | | /** |
| | | * æ°å¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param patMedOperationItem æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return ç»æ |
| | | */ |
| | | public int insertPatMedOperationItem(PatMedOperationItem patMedOperationItem); |
| | | |
| | | /** |
| | | * æ°å¢æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param patMedOperationItems æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return ç»æ |
| | | */ |
| | | public int insertPatMedOperationItems(List<PatMedOperationItem> patMedOperationItems); |
| | | /** |
| | | * ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param patMedOperationItem æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return ç»æ |
| | | */ |
| | | public int updatePatMedOperationItem(PatMedOperationItem patMedOperationItem); |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param patMedOperationItem æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return ç»æ |
| | | */ |
| | | public int updatePatMedOperationItemByOperationid(PatMedOperationItem patMedOperationItem); |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param id æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedOperationItemById(Long id); |
| | | |
| | | /** |
| | | * æ¹éå 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedOperationItemByIds(Long[] ids); |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param opid æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteHardPatMedOperationItemByOpId(String opid); |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param operationid æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedOperationItemByOperationid(Long operationid); |
| | | |
| | | /** |
| | | * å 餿£è
æ£æ¥æ£éªè®°å½å |
| | | * |
| | | * @param opid æ£è
æ£æ¥æ£éªè®°å½åä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteSoftPatMedOperationItemByOpId(String opid); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表 |
| | | * |
| | | * @param patMedOperationItem æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return æ£è
æ£æ¥æ£éªè®°å½åéå |
| | | */ |
| | | public List<PatMedOperationItem> selectOperationItemList(PatMedOperationItem patMedOperationItem); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
æ£æ¥æ£éªè®°å½åå表ï¼åä¸opidä¸åªåoplevelcodeæå¤§çè®°å½ï¼ |
| | | * |
| | | * @param patMedOperationItem æ£è
æ£æ¥æ£éªè®°å½å |
| | | * @return æ£è
æ£æ¥æ£éªè®°å½åéå |
| | | */ |
| | | public List<PatMedOperationItem> selectOperationItemListMaxLevel(PatMedOperationItem patMedOperationItem); |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.mapper; |
| | | |
| | | import java.util.List; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import com.ruoyi.othervisit.domain.PatMedOperation; |
| | | |
| | | /** |
| | | * æ£è
ææ¯è®°å½Mapperæ¥å£ |
| | | * |
| | | * @author lihu |
| | | * @date 2025-02-25 |
| | | */ |
| | | @Mapper |
| | | public interface PatMedOperationMapper |
| | | { |
| | | /** |
| | | * æ¥è¯¢æ£è
ææ¯è®°å½ |
| | | * |
| | | * @param id æ£è
ææ¯è®°å½ä¸»é® |
| | | * @return æ£è
ææ¯è®°å½ |
| | | */ |
| | | public PatMedOperation selectPatMedOperationById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ææ¯è®°å½å表 |
| | | * |
| | | * @param patMedOperation æ£è
ææ¯è®°å½ |
| | | * @return æ£è
ææ¯è®°å½éå |
| | | */ |
| | | public List<PatMedOperation> selectPatMedOperationList(PatMedOperation patMedOperation); |
| | | |
| | | /** |
| | | * æ°å¢æ£è
ææ¯è®°å½ |
| | | * |
| | | * @param patMedOperation æ£è
ææ¯è®°å½ |
| | | * @return ç»æ |
| | | */ |
| | | public int insertPatMedOperation(PatMedOperation patMedOperation); |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
ææ¯è®°å½ |
| | | * |
| | | * @param patMedOperation æ£è
ææ¯è®°å½ |
| | | * @return ç»æ |
| | | */ |
| | | public int updatePatMedOperation(PatMedOperation patMedOperation); |
| | | |
| | | /** |
| | | * å 餿£è
ææ¯è®°å½ |
| | | * |
| | | * @param id æ£è
ææ¯è®°å½ä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedOperationById(Long id); |
| | | |
| | | /** |
| | | * æ¹éå 餿£è
ææ¯è®°å½ |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deletePatMedOperationByIds(Long[] ids); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.service; |
| | | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.othervisit.domain.BaseDictOperation; |
| | | import com.ruoyi.othervisit.mapper.BaseDictOperationMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ææ¯åºç¡ä¿¡æ¯ï¼{@code base_dict_operation}ï¼åºç¡è¯»åã |
| | | * |
| | | * <h3>è¿ç§»å¯¹åºï¼@ b25c3b51ï¼</h3> |
| | | * æ´ä½ç
§æ¬ {@code com.smartor.service.impl.BaseDictOperationServiceImpl}ï¼ |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th></tr> |
| | | * <tr><td>{@link #selectById(Long)}</td><td>L32-34</td></tr> |
| | | * <tr><td>{@link #selectList(BaseDictOperation)}</td><td>L44-46</td></tr> |
| | | * <tr><td>{@link #insert(BaseDictOperation)}</td><td>L57-59ï¼å« {@code setCreateTime}ï¼</td></tr> |
| | | * <tr><td>{@link #update(BaseDictOperation)}</td><td>L70-72ï¼å« {@code setUpdateTime}ï¼</td></tr> |
| | | * <tr><td>{@link #deleteByIds(Long[])}</td><td>L82-84</td></tr> |
| | | * <tr><td>{@link #deleteById(Long)}</td><td>L94-96</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ æ¶é´è®¾ç½®ä¸åå®ç°ä¸åï¼ææï¼å·²ç»è®°ï¼</h3> |
| | | * å {@code BaseDictOperationServiceImpl} ç insert/update <b>没æ</b>设置 |
| | | * {@code createTime} / {@code updateTime}ï¼ä¸åæ¹çæç {@code PatMedOperationServiceImpl} |
| | | * ä¸ä¸æ · ââ åè
设äºï¼ãè¿é<b>ç
§åæ ·ä¸è®¾</b>ï¼ä¿æè½åºç»æéåä¸è´ã |
| | | * è¥å°æ¥è¦è¡¥ï¼å¿
须彿䏿¬¡ç¬ç«çè¡ä¸ºåæ´ï¼è䏿¯"顺æå¯¹é½"ã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class BaseDictOperationService { |
| | | |
| | | @Autowired |
| | | private BaseDictOperationMapper baseDictOperationMapper; |
| | | |
| | | /** |
| | | * æ¥è¯¢ææ¯åºç¡ä¿¡æ¯ã |
| | | * <p>å {@code BaseDictOperationServiceImpl#selectBaseDictOperationById} L32-34ã |
| | | */ |
| | | public BaseDictOperation selectById(Long id) { |
| | | return baseDictOperationMapper.selectBaseDictOperationById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ææ¯åºç¡ä¿¡æ¯å表ã |
| | | * <p>å L44-46ï¼ä¸è¡è½¬åã |
| | | */ |
| | | public List<BaseDictOperation> selectList(BaseDictOperation baseDictOperation) { |
| | | return baseDictOperationMapper.selectBaseDictOperationList(baseDictOperation); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ææ¯åºç¡ä¿¡æ¯ã |
| | | * <p>å L57-59 ââ â ï¸ åå®ç°<b>ä¸è®¾</b> {@code createTime}ï¼è§ç±»æ³¨éã |
| | | */ |
| | | public int insert(BaseDictOperation baseDictOperation) { |
| | | return baseDictOperationMapper.insertBaseDictOperation(baseDictOperation); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ææ¯åºç¡ä¿¡æ¯ã |
| | | * <p>å L70-72 ââ â ï¸ åå®ç°<b>ä¸è®¾</b> {@code updateTime}ï¼è§ç±»æ³¨éã |
| | | */ |
| | | public int update(BaseDictOperation baseDictOperation) { |
| | | return baseDictOperationMapper.updateBaseDictOperation(baseDictOperation); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå 餿æ¯åºç¡ä¿¡æ¯ã |
| | | * <p>å L82-84ï¼ä¸è¡è½¬åã |
| | | */ |
| | | public int deleteByIds(Long[] ids) { |
| | | return baseDictOperationMapper.deleteBaseDictOperationByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * å 餿æ¯åºç¡ä¿¡æ¯ã |
| | | * <p>å L94-96ï¼ä¸è¡è½¬åã |
| | | */ |
| | | public int deleteById(Long id) { |
| | | return baseDictOperationMapper.deleteBaseDictOperationById(id); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.service; |
| | | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.othervisit.domain.PatMedOperationItem; |
| | | import com.ruoyi.othervisit.mapper.PatMedOperationItemMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ£è
ææ¯æç»ï¼{@code pat_med_operation_item}ï¼åºç¡è¯»å ââ æ¬æ¨¡å<b>å¯ä¸</b>çåå
¥å£ã |
| | | * |
| | | * <h3>è¿ç§»å¯¹åºï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th></tr> |
| | | * <tr><td>{@link #selectById(Long)}</td><td>{@code PatMedOperationItemServiceImpl} L32-34</td></tr> |
| | | * <tr><td>{@link #selectList(PatMedOperationItem)}</td><td>åæä»¶ L44-46</td></tr> |
| | | * <tr><td>{@link #insert(PatMedOperationItem)}</td><td>åæä»¶ L57-59ï¼å« {@code setCreateTime}ï¼</td></tr> |
| | | * <tr><td>{@link #update(PatMedOperationItem)}</td><td>åæä»¶ L70-72ï¼å« {@code setUpdateTime}ï¼</td></tr> |
| | | * <tr><td>{@link #deleteByIds(Long[])} / {@link #deleteById(Long)}</td><td>åæä»¶ L82-84 / L94-96</td></tr> |
| | | * <tr><td>å
¶ä½ 7 ä¸ªæ¹æ³</td><td><b>åæ¥å°±æ²¡æ Service</b>ï¼è°ç¨æ¹åèªæ³¨å
¥ Mapper ç´è° |
| | | * ï¼{@code CollectHISServiceImpl} / {@code ServiceExternalServiceImpl} / |
| | | * {@code PatMedInhospServiceImpl} / {@code ServiceSubtaskServiceImpl}ï¼ï¼ |
| | | * æ¬æ¬¡ä¸å¹¶æ¶è¿æ¬ç±»</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ ä¸ {@code pat_med_inhosp} çèæ¥ï¼è·¨æ¨¡å读ï¼å·²ç»è®°ç½ååï¼</h3> |
| | | * {@link #selectOperationItemListMaxLevel(PatMedOperationItem)} ä¸ |
| | | * {@link #selectOperationItemList(PatMedOperationItem)} ç XML é {@code JOIN pat_med_inhosp} |
| | | * å {@code endtime} / {@code inhospstate} / {@code serialnum}ã |
| | | * è¿ä¸¤æ¡ SQL æ¯<b>ææ¯åèªå·±çæ¥è¯¢</b>ï¼åºå
¥é¢è¡¨å¨è¿éåªä½ä¸ºç»´åº¦æ¥æºï¼ï¼ |
| | | * æ
éå®ä½ä¸èµ·æ¬è¿æ¬æ¨¡åï¼è䏿¯æ¹æè·¨æ¨¡å API è°ç¨ ââ |
| | | * è§ {@code doc/è·¨æ¨¡åæ°æ®è®¿é®åå䏿¶å£æ¹æ¡.md} çèæ¥ç½ååã |
| | | * |
| | | * <h3>å½å说æ</h3> |
| | | * æ¬ç±»å»æ<b>ä¸</b>å« {@code PatMedOperationItemService}ï¼ä¸ Controller |
| | | * {@code OperationItemController} 对é½ï¼é¿å
ä¸ smartor ä¾§å·²å é¤ç |
| | | * {@code IPatMedOperationItemService} æ··æ·ã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class OperationItemService { |
| | | |
| | | @Autowired |
| | | private PatMedOperationItemMapper patMedOperationItemMapper; |
| | | |
| | | // ========================================================================== |
| | | // æ¥ |
| | | // ========================================================================== |
| | | |
| | | public PatMedOperationItem selectById(Long id) { |
| | | return patMedOperationItemMapper.selectPatMedOperationItemById(id); |
| | | } |
| | | |
| | | public List<PatMedOperationItem> selectList(PatMedOperationItem patMedOperationItem) { |
| | | return patMedOperationItemMapper.selectPatMedOperationItemList(patMedOperationItem); |
| | | } |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ¥ææ¯æç»ï¼åè°ç¨æ¹ï¼{@code CollectHISServiceImpl}ã{@code ServiceExternalServiceImpl}ï¼ã |
| | | * <p> |
| | | * â ï¸ ä¸ {@link #selectList(PatMedOperationItem)} <b>䏿¯å䏿¡ SQL</b> |
| | | * ï¼{@code selectOperationItemList} vs {@code selectPatMedOperationItemList}ï¼ï¼ |
| | | * ä¸åè
{@code JOIN pat_med_inhosp}ãå«äºç¸æ¿ä»£ã |
| | | */ |
| | | public List<PatMedOperationItem> selectOperationItemList(PatMedOperationItem patMedOperationItem) { |
| | | return patMedOperationItemMapper.selectOperationItemList(patMedOperationItem); |
| | | } |
| | | |
| | | /** |
| | | * ææ¡ä»¶æ¥ææ¯æç»ï¼åä¸ {@code opid} ä¸åªå {@code oplevelcode} æå¤§ç䏿¡ã |
| | | * <p> |
| | | * åè°ç¨æ¹ï¼{@code PatMedInhospServiceImpl}ï¼åºå
¥é¢éè®¿çææ¯åæ¯ï¼L457 / L1259ï¼ã |
| | | * åæ¶ {@code JOIN pat_med_inhosp} ââ è§ç±»æ³¨éç跨模å读ç½åå说æã |
| | | */ |
| | | public List<PatMedOperationItem> selectOperationItemListMaxLevel(PatMedOperationItem patMedOperationItem) { |
| | | return patMedOperationItemMapper.selectOperationItemListMaxLevel(patMedOperationItem); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // å |
| | | // ========================================================================== |
| | | |
| | | public int insert(PatMedOperationItem patMedOperationItem) { |
| | | patMedOperationItem.setCreateTime(DateUtils.getNowDate()); |
| | | return patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éæ°å¢ï¼å Mapper å·²æ {@code insertPatMedOperationItems}ï¼ |
| | | * ä½å Service æªæ´é²ãè°ç¨æ¹é£å¤æ¯è¢«æ³¨éæçï¼ãæ¤å¤ç
§å®æ´é²ï¼ä¸æ¹ SQLã |
| | | */ |
| | | public int insertBatch(List<PatMedOperationItem> patMedOperationItems) { |
| | | return patMedOperationItemMapper.insertPatMedOperationItems(patMedOperationItems); |
| | | } |
| | | |
| | | public int update(PatMedOperationItem patMedOperationItem) { |
| | | patMedOperationItem.setUpdateTime(DateUtils.getNowDate()); |
| | | return patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code operationid} æ´æ°ã |
| | | * <p> |
| | | * â ï¸ å Service é<b>没æ</b>è¿ä¸ªæ¹æ³ï¼è°ç¨æ¹ï¼{@code CollectHISServiceImpl} L511ï¼ |
| | | * æ¯ç´è° Mapper çãæ³¨æå®<b>ä¸ä¼</b>èªå¨è®¾ {@code updateTime} |
| | | * ï¼åè°ç¨æ¹èªå·±è´è´£ï¼ï¼æ¤å¤ä¹<b>ä¸</b>代设 ââ å
徿¹åè½åºå
容ã |
| | | */ |
| | | public int updateByOperationid(PatMedOperationItem patMedOperationItem) { |
| | | return patMedOperationItemMapper.updatePatMedOperationItemByOperationid(patMedOperationItem); |
| | | } |
| | | |
| | | public int deleteByIds(Long[] ids) { |
| | | return patMedOperationItemMapper.deletePatMedOperationItemByIds(ids); |
| | | } |
| | | |
| | | public int deleteById(Long id) { |
| | | return patMedOperationItemMapper.deletePatMedOperationItemById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code opid} ç©çå é¤ã |
| | | * <p> |
| | | * â ï¸ <b>ååé带 Hardï¼ç¡®å®æ¯ç©çå é¤</b>ï¼å¯¹æ¯ {@link #deleteSoftByOpId(String)}ï¼ã |
| | | * è°ç¨æ¹ï¼{@code ServiceExternalServiceImpl} L1534ã |
| | | * |
| | | * @param opid ä¸»ææ¯IDï¼åè°ç¨æ¹ä¼ çæ¯ {@code String.valueOf(id)}ï¼ |
| | | */ |
| | | public int deleteHardByOpId(String opid) { |
| | | return patMedOperationItemMapper.deleteHardPatMedOperationItemByOpId(opid); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code opid} 软å é¤ã |
| | | * <p>è°ç¨æ¹ï¼{@code CollectHISServiceImpl} L444ã{@code ServiceExternalServiceImpl} L1645ã |
| | | */ |
| | | public int deleteSoftByOpId(String opid) { |
| | | return patMedOperationItemMapper.deleteSoftPatMedOperationItemByOpId(opid); |
| | | } |
| | | |
| | | /** |
| | | * æ {@code operationid} å é¤ã |
| | | * <p>è°ç¨æ¹ï¼{@code CollectHISServiceImpl} L502ã |
| | | */ |
| | | public int deleteByOperationid(Long operationid) { |
| | | return patMedOperationItemMapper.deletePatMedOperationItemByOperationid(operationid); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.service; |
| | | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.othervisit.domain.PatMedOperation; |
| | | import com.ruoyi.othervisit.mapper.PatMedOperationMapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * æ£è
ææ¯è®°å½ï¼{@code pat_med_operation}ï¼åºç¡è¯»å ââ æ¬æ¨¡å<b>å¯ä¸</b>çåå
¥å£ã |
| | | * |
| | | * <h3>è¿ç§»å¯¹åºï¼@ b25c3b51ï¼</h3> |
| | | * æ´ä½ç
§æ¬ {@code com.smartor.service.impl.PatMedOperationServiceImpl} éç 6 个纯 CRUD æ¹æ³ï¼ |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th></tr> |
| | | * <tr><td>{@link #selectById(Long)}</td><td>L46-48</td></tr> |
| | | * <tr><td>{@link #selectList(PatMedOperation)}</td><td>L57-59</td></tr> |
| | | * <tr><td>{@link #insert(PatMedOperation)}</td><td>L68-71ï¼å« {@code setCreateTime}ï¼</td></tr> |
| | | * <tr><td>{@link #update(PatMedOperation)}</td><td>L80-83ï¼å« {@code setUpdateTime}ï¼</td></tr> |
| | | * <tr><td>{@link #deleteByIds(Long[])}</td><td>L92-94</td></tr> |
| | | * <tr><td>{@link #deleteById(Long)}</td><td>L103-105</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>â ï¸ ä¸åå®ç°éåä¸è´çå°æ¹ï¼å¿"顺æä¼å"ï¼</h3> |
| | | * <ul> |
| | | * <li>{@code insert} ç¨ {@code DateUtils.getNowDate()} 设 {@code createTime}ï¼ |
| | | * {@code update} ç¨åä¸ä¸ªæ¹æ³è®¾ {@code updateTime} ââ åæ ·ä¿çï¼ |
| | | * æ¢æ {@code new Date()} ä¼è®©"å½å¤©"çå¤å®è¯ä¹ååï¼{@code getNowDate} ææ¥æå½ä¸é»è¾ï¼ã</li> |
| | | * </ul> |
| | | * |
| | | * <h3>为ä»ä¹å¿
é¡»æè¿ä¸å±</h3> |
| | | * æè·¨æ¨¡åæ°æ®è®¿é®ååï¼{@code pat_med_operation} ç<b>åæä½ä¸å¾ä¸è®¸è·¨æ¨¡å</b>ã |
| | | * å
¶å®æ¨¡åï¼HIS éé {@code CollectHISServiceImpl}ãå¤é¨ææ¯åä¼ {@code ServiceExternalServiceImpl}ã |
| | | * åºå
¥é¢é访 {@code PatMedInhospServiceImpl}ï¼éè¦è¯»åææ¯æ°æ®æ¶ï¼ |
| | | * <b>åªè½</b>ç» {@link com.ruoyi.othervisit.api.OtherVisitFacade} è°ç¨æ¬ç±»ï¼ |
| | | * ä¸å¾å注å
¥ {@link PatMedOperationMapper}ã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class OperationService { |
| | | |
| | | @Autowired |
| | | private PatMedOperationMapper patMedOperationMapper; |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ææ¯è®°å½ã |
| | | * <p>å {@code PatMedOperationServiceImpl#selectPatMedOperationById} L46-48ï¼ä¸è¡è½¬åã |
| | | */ |
| | | public PatMedOperation selectById(Long id) { |
| | | return patMedOperationMapper.selectPatMedOperationById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢æ£è
ææ¯è®°å½å表ã |
| | | * <p> |
| | | * å {@code PatMedOperationServiceImpl#selectPatMedOperationList} L57-59ï¼ä¸è¡è½¬åã |
| | | * <p> |
| | | * â ï¸ ä¸åºå
¥é¢/é¨è¯ä¸åï¼è¿é<b>没æ</b>åå¨è¿ç¨ä¹æ²¡æå±ç¤ºå¯å ââ |
| | | * ææ¯å表æ¥è¯¢ä¸ç´æ¯æ®é {@code selectPatMedOperationList}ï¼åæ ·ä¿çã |
| | | */ |
| | | public List<PatMedOperation> selectList(PatMedOperation patMedOperation) { |
| | | return patMedOperationMapper.selectPatMedOperationList(patMedOperation); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢æ£è
ææ¯è®°å½ã |
| | | * <p>å L68-71ï¼å
{@code setCreateTime(DateUtils.getNowDate())} å insertã |
| | | */ |
| | | public int insert(PatMedOperation patMedOperation) { |
| | | patMedOperation.setCreateTime(DateUtils.getNowDate()); |
| | | return patMedOperationMapper.insertPatMedOperation(patMedOperation); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹æ£è
ææ¯è®°å½ã |
| | | * <p>å L80-83ï¼å
{@code setUpdateTime(DateUtils.getNowDate())} å updateã |
| | | */ |
| | | public int update(PatMedOperation patMedOperation) { |
| | | patMedOperation.setUpdateTime(DateUtils.getNowDate()); |
| | | return patMedOperationMapper.updatePatMedOperation(patMedOperation); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå 餿£è
ææ¯è®°å½ã |
| | | * <p> |
| | | * å L92-94ï¼ä¸è¡è½¬åã |
| | | * <p> |
| | | * â ï¸ åºå± XML é {@code deletePatMedOperationById} / {@code deletePatMedOperationByIds} |
| | | * 齿¯ {@code <update>}ï¼è½¯å ï¼ç½® {@code del_flag}ï¼ï¼ä¸æ¯ç©çå é¤ ââ ååæè¯¯å¯¼æ§ï¼åæ ·ä¿çã |
| | | */ |
| | | public int deleteByIds(Long[] ids) { |
| | | return patMedOperationMapper.deletePatMedOperationByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * å 餿£è
ææ¯è®°å½ã |
| | | * <p>å L103-105ï¼ä¸è¡è½¬åï¼åä¸ï¼åºå±æ¯è½¯å ï¼ã |
| | | */ |
| | | public int deleteById(Long id) { |
| | | return patMedOperationMapper.deletePatMedOperationById(id); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.othervisit.service; |
| | | |
| | | import com.ruoyi.common.core.service.ArchiveReadApi; |
| | | import com.ruoyi.common.core.service.ServiceTaskMatchApi; |
| | | import com.ruoyi.common.core.service.VisitTaskCreateApi; |
| | | import com.ruoyi.common.core.service.dto.ServiceTaskMatchDto; |
| | | import com.ruoyi.common.core.service.dto.VisitArchiveRow; |
| | | import com.ruoyi.common.core.service.dto.VisitLongTaskDto; |
| | | import com.ruoyi.common.core.service.dto.VisitSubtaskDraft; |
| | | import com.ruoyi.othervisit.domain.PatMedOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.ObjectProvider; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * ææ¯éè®¿ç¼æï¼æ«ææªå¤ççææ¯è®°å½ â æ<b>ææ¯ç¼ç </b>å¹é
é¿æä»»å¡ â ååä»»å¡ã |
| | | * |
| | | * <h3>è¿ç§»å¯¹åºï¼@ b25c3b51ï¼</h3> |
| | | * <table border="1"> |
| | | * <tr><th>æ¬ç±»æ¹æ³</th><th>åå®ç°</th></tr> |
| | | * <tr><td>{@link #dealOperationInfo()}</td> |
| | | * <td>{@code PatMedOperationServiceImpl#dealOperationInfo} L107-149ï¼42 è¡ï¼</td></tr> |
| | | * <tr><td>{@link #writeInSubTask}</td> |
| | | * <td>åæä»¶ L152-187ï¼36 è¡ï¼</td></tr> |
| | | * <tr><td>{@link #boxedServiceSubtask}</td> |
| | | * <td>åæä»¶ L191-238ï¼48 è¡ï¼29 个 setterï¼</td></tr> |
| | | * <tr><td>{@link #addDays}</td><td>åæä»¶ L240-248</td></tr> |
| | | * </table> |
| | | * |
| | | * <h3>跨模åè½åæä¹æ¿ï¼æ¬æ¨¡ååªä¾èµ ruoyi-commonï¼</h3> |
| | | * <ul> |
| | | * <li>{@link ServiceTaskMatchApi#findLongTasksByOpcode(String)} ââ |
| | | * æææ¯ç¼ç å¹é
é¿æä»»å¡ï¼å {@code serviceTaskoperMapper.selectServiceTaskoperList}ï¼ |
| | | * {@code longtask=1} + {@code opcode=?}ï¼ï¼</li> |
| | | * <li>{@link VisitTaskCreateApi#findPublishedLongTask(Long)} ââ æ¥å·²åå¸é¿æä»»å¡ |
| | | * ï¼å {@code serviceTaskMapper.selectServiceTaskList} é
{@code sendState=2}ï¼ï¼</li> |
| | | * <li>{@link VisitTaskCreateApi#insertSubtask(VisitSubtaskDraft)} ââ æç»è£
好çè稿è½åº |
| | | * ï¼å {@code serviceSubtaskMapper.insertServiceSubtask}ï¼ï¼</li> |
| | | * <li>{@link ArchiveReadApi#findByPatid(Long)} ââ æ£è
æ¡£æ¡åªè¯» |
| | | * ï¼å {@code patArchiveMapper.selectPatArchiveByPatid}ï¼ã</li> |
| | | * </ul> |
| | | * ä»»å¡å建æ¬èº«<b>æ¬æ¬¡ä¸è¿</b>ï¼ä½ è¦æ±å®å°æ¥åç¬æä¸ä¸ªæ¨¡åï¼æ¬æ¨¡ååªè°ä¸é¢è¿äºæ¥å£ï¼ |
| | | * å°æ¥æ¢å®ç°æ¹æ¶æ¬ç±»<b>ä¸è¡é½ä¸ç¨æ¹</b>ã |
| | | * |
| | | * <h3>â ï¸ ä¿ççåå®ç°è¡ä¸ºï¼å¿"顺æä¼å"ï¼</h3> |
| | | * <ol> |
| | | * <li>{@code dealOperationInfo} è¿å<b>åºå® {@code 1}</b>ï¼ä¸æ¯å¤çæ¡æ°ï¼ï¼</li> |
| | | * <li>å¹é
ä¸å°ä»»å¡ â {@code checkFlag="2"} + åå éåç
§æ |
| | | * ãè¯¥ææ¯ç¼ç ï¼æªé
ç½®é¿æä»»å¡;ãï¼<b>æ³¨ææ«å°¾æ¯åå·ï¼ä¸ä¸åºå
¥é¢/é¨è¯çææ¡ä¸å</b>ï¼ï¼</li> |
| | | * <li>å¹é
å°<b>å¤ä¸ª</b>ä»»å¡ â åå åãè¯¥ææ¯ç¼ç ï¼æå¤ä¸ªéè®¿é¿æä»»å¡:ã+ <b>taskIds å表ç toString</b>ï¼ |
| | | * å
update 䏿¬¡ï¼ç¶å<b>åªç¨ç¬¬ä¸ä¸ª</b>ç»§ç»ï¼</li> |
| | | * <li>â ï¸ <b>è®°å½æ¬èº«ä¸åä¸"å¤ä»»å¡"忝ç checkFlag èµå¼</b>ï¼é£ä¸æ¯åªå {@code longTaskReason}ï¼ |
| | | * ä¸å {@code checkFlag}ï¼éåç± {@code writeInSubTask} æåæ¶ç½® {@code "1"} ââ åæ ·ä¿çï¼</li> |
| | | * <li>â ï¸ æ¯æ¡è®°å½çæ´æ®µå¤ç被 {@code try/catch(Exception)} å
ä½ï¼å¼å¸¸åª |
| | | * {@code printStackTrace()} + {@code log.error} å<b>ç»§ç»ä¸ä¸æ¡</b> |
| | | * ï¼åå®ç°ä¼åæå¼å¸¸ï¼ï¼æ¬å®ç°æå
¥åä» {@code PatArchive} æ¢æäº {@link VisitArchiveRow}ï¼ |
| | | * ä½ {@code getNotrequiredFlag()} å¨ {@link VisitArchiveRow} é仿¯ {@code String}ï¼ |
| | | * æä»¥"æ¡£æ¡æ¥ä¸å° â NPE â 被å â 该æ¡ä¸å¤ç"è¿ä¸è¡ä¸ºéåä¿æï¼</li> |
| | | * <li>{@code check=true} æ¯<b>硬ç¼ç </b>ä¼ å
¥çï¼{@link #dealOperationInfo()} éåæ»ï¼ï¼ |
| | | * è {@code writeInSubTask} ç {@code check} 忝å®é
䏿²¡æä»»ä½å¤æ |
| | | * ââ è¿æ¯åå®ç°çåæ³ï¼ä¸è¦ä¸ºå®è¡¥é»è¾ï¼</li> |
| | | * <li>{@code setHospType("2")} æ¯<b>硬ç¼ç </b>ï¼ä¸è¯» {@code serviceTask.getHospType()}ã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>â ï¸ ä¸é¨è¯ççä¸å¤ä¸åï¼å«ç
§æé¨è¯ï¼</h3> |
| | | * <ol> |
| | | * <li><b>没æ"å
åæ§åæ°å¢"</b>ï¼{@code check} åæ°è¢«æ¥æ¶ä½å®å
¨ä¸ä½¿ç¨ï¼ |
| | | * ææ¯è·¯å¾ä»ä¸æ¥/åå¾
æ§è¡åä»»å¡ï¼</li> |
| | | * <li><b>ä¸ä½¿ç¨ {@code OuthospSubtaskDraft}</b>ï¼ææ¯ç {@code admitdate}/{@code fudate}/ |
| | | * {@code finishtime} ä¸ä¸ªå段å¨åå®ç°é就没æè¢« setï¼æ
ç´æ¥ç¨ {@link VisitSubtaskDraft}ï¼</li> |
| | | * <li>å
¥åæ¯<b>æ´ä¸ª {@link PatMedOperation}</b>ï¼ä¸æ¯æç»ï¼ï¼ |
| | | * å 为åå®ç°å¯¹ {@code pat_med_operation} éæ¡å¤çã</li> |
| | | * </ol> |
| | | * |
| | | * <h3>å¼å
³</h3> |
| | | * æ¬ç±»ä¸å«å¼å
³å¤æ ââ ç± {@link com.ruoyi.othervisit.api.OtherVisitFacade} ç»ä¸å³å®æ¯å¦è°ç¨ã |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class OperationVisitTaskService { |
| | | |
| | | /** å¾
æ§è¡ç¶æï¼åå®ç°ç¡¬ç¼ç 2Lï¼ */ |
| | | private static final Long SENDSTATE_PENDING = 2L; |
| | | |
| | | /** 䏿§è¡ç¶æï¼åå®ç°ç¡¬ç¼ç 4Lï¼"æ£è
ä¸éè¦é访"æ¶ç¨ï¼ */ |
| | | private static final Long SENDSTATE_SKIP = 4L; |
| | | |
| | | /** æ è®°"ä¸éè¦é访"çå¼ï¼å {@code patArchive.notrequiredFlag == "1"}ï¼ */ |
| | | private static final String NOT_REQUIRED_YES = "1"; |
| | | |
| | | /** ææ¯ä¾§ {@code hospType} çåºå®å¼ï¼åå®ç°ç¡¬ç¼ç ï¼ */ |
| | | private static final String HOSP_TYPE_OPERATION = "2"; |
| | | |
| | | @Autowired |
| | | private OperationService operationService; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<ArchiveReadApi> archiveApiProvider; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<ServiceTaskMatchApi> matchApiProvider; |
| | | |
| | | @Autowired |
| | | private ObjectProvider<VisitTaskCreateApi> taskApiProvider; |
| | | |
| | | /** |
| | | * ææ¯éè®¿ä¸»æ«æã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code dealOperationInfo}ï¼L107-149ï¼ï¼ |
| | | * <pre> |
| | | * PatMedOperation q = new PatMedOperation(); |
| | | * q.setCheckFlag("0"); // æªå¤ç |
| | | * List<PatMedOperation> list = selectPatMedOperationList(q); |
| | | * log.error("dealOperationInfoéè¦å¤ççææ¯ä¿¡æ¯ï¼{}", list); // â ï¸ åå®ç°æ¯ error 级 |
| | | * for (æ¯æ¡è®°å½) { |
| | | * æ¥æ¡£æ¡ï¼ |
| | | * try { |
| | | * æ opcode æ¥ longtask=1 çä»»å¡ï¼ |
| | | * 为空 -> checkFlag="2" + "è¯¥ææ¯ç¼ç ï¼æªé
ç½®é¿æä»»å¡;" + update + continue |
| | | * å¤ä¸ª -> longTaskReason="è¯¥ææ¯ç¼ç ï¼æå¤ä¸ªéè®¿é¿æä»»å¡:"+taskIds + updateï¼åªç第ä¸ä¸ª |
| | | * writeInSubTask(第ä¸ä¸ªä»»å¡ID, true, è®°å½, æ¡£æ¡); |
| | | * } catch (Exception e) { e.printStackTrace(); log.error("人åå¤çåºå¼å¸¸äºï¼{}", e.getMessage()); } |
| | | * } |
| | | * return 1; // åºå®å¼ |
| | | * </pre> |
| | | * |
| | | * @return åºå® {@code 1}ï¼ä¸åå®ç°ä¸è´ï¼<b>䏿¯</b>å¤çæ¡æ°ï¼ |
| | | */ |
| | | public Integer dealOperationInfo() { |
| | | ServiceTaskMatchApi matchApi = matchApi(); |
| | | VisitTaskCreateApi taskApi = taskApi(); |
| | | ArchiveReadApi archiveApi = archiveApi(); |
| | | if (matchApi == null || taskApi == null) { |
| | | log.warn("ãææ¯é访ã跨模åå¥çº¦ä¸å¯ç¨ï¼ServiceTaskMatchApi={}, VisitTaskCreateApi={}ï¼ï¼è·³è¿æ¬æ¬¡ææ¯é访ã", |
| | | matchApi != null, taskApi != null); |
| | | return 1; |
| | | } |
| | | |
| | | PatMedOperation query = new PatMedOperation(); |
| | | // è·åéè¦åºé¢éè®¿ï¼æªå¤ççæ°æ® |
| | | query.setCheckFlag("0"); |
| | | List<PatMedOperation> patMedOperations = operationService.selectList(query); |
| | | // â ï¸ åå®ç°ç¨çæ¯ log.errorï¼ä¸æ¯ info/warnï¼ï¼çº§å«ç
§æ |
| | | log.error("dealOperationInfoéè¦å¤ççææ¯ä¿¡æ¯ï¼{}", patMedOperations); |
| | | if (CollectionUtils.isEmpty(patMedOperations)) { |
| | | return 1; |
| | | } |
| | | |
| | | for (PatMedOperation patMedOperation1 : patMedOperations) { |
| | | // è·åæ£è
ä¿¡æ¯ |
| | | VisitArchiveRow patArchive = archiveApi == null ? null : archiveApi.findByPatid(patMedOperation1.getPatid()); |
| | | try { |
| | | // æ ¹æ®æ£è
æå¨ç§å®¤ï¼è·åè¯¥ææ¯ç¼ç 对åºçé¿æä»»å¡ |
| | | List<ServiceTaskMatchDto> serviceTaskopers = matchApi.findLongTasksByOpcode(patMedOperation1.getOpcode()); |
| | | // 妿é¨é¨æ¨¡æ¿ä¸ºç©ºï¼æå®ï¼å°åºå
¥é¢è¡¨çcheck_flag设置为2 ï¼long_task_reason è®°å½åå ï¼ |
| | | if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) { |
| | | patMedOperation1.setCheckFlag("2"); |
| | | patMedOperation1.setLongTaskReason("è¯¥ææ¯ç¼ç ï¼æªé
ç½®é¿æä»»å¡;"); |
| | | operationService.update(patMedOperation1); |
| | | continue; |
| | | } else if (serviceTaskopers.size() > 1) { |
| | | // 妿æ¥è¯¢åºå¤ä¸ªä»»å¡ï¼é£å°±å第ä¸ä¸ªï¼å¹¶å¨æ£è
夿³¨ä¸ä¸ |
| | | List<Long> taskIds = serviceTaskopers.stream().map(ServiceTaskMatchDto::getTaskId).collect(Collectors.toList()); |
| | | patMedOperation1.setLongTaskReason("è¯¥ææ¯ç¼ç ï¼æå¤ä¸ªéè®¿é¿æä»»å¡:" + taskIds); |
| | | operationService.update(patMedOperation1); |
| | | ServiceTaskMatchDto serviceTaskoper1 = serviceTaskopers.get(0); |
| | | serviceTaskopers = new ArrayList<>(); |
| | | serviceTaskopers.add(serviceTaskoper1); |
| | | } |
| | | |
| | | writeInSubTask(taskApi, serviceTaskopers.get(0).getTaskId(), Boolean.TRUE, patMedOperation1, patArchive); |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("人åå¤çåºå¼å¸¸äºï¼{}", e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | return 1; |
| | | } |
| | | |
| | | /** |
| | | * æä¸æ¡ææ¯è®°å½åå
¥é访åä»»å¡ã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code PatMedOperationServiceImpl#writeInSubTask}ï¼L152-187ï¼ã |
| | | * |
| | | * <h3>â ï¸ {@code check} åæ°å¨åå®ç°é<b>没æè¢«ä½¿ç¨</b></h3> |
| | | * åæ¹æ³ç¾å带 {@code Boolean check}ï¼ä½æ¹æ³ä½é<b>䏿¬¡é½æ²¡è¯»å®</b> |
| | | * ï¼ä¸åé¨è¯çä¼ç¨å®å³å®"å
åæ§åæ°å¢"ï¼ãè¿é廿ä¿çåæ ·çç¾åä¸"ä¸è¯»"çåæ³ï¼ |
| | | * 以å
å°æ¥å¯¹ç
§ä»£ç æ¶è¯¯ä»¥ä¸ºæ¼äºä¸æ®µé»è¾ã |
| | | * |
| | | * @param check åå®ç°ä¼ å
¥ä½æªä½¿ç¨ï¼ä¿çç¾ååªä¸ºéè¡å¯æ¯ |
| | | */ |
| | | private void writeInSubTask(VisitTaskCreateApi taskApi, Long taskid, Boolean check, |
| | | PatMedOperation patMedOperation1, VisitArchiveRow patArchive) { |
| | | String longTaskReason = patMedOperation1.getLongTaskReason(); |
| | | if (StringUtils.isEmpty(longTaskReason)) longTaskReason = ""; |
| | | // å L156-159ï¼æ¥ãå·²åå¸çé¿æä»»å¡ãï¼taskid + sendState=2ï¼ |
| | | VisitLongTaskDto serviceTask = taskApi.findPublishedLongTask(taskid); |
| | | if (serviceTask == null) { |
| | | log.error("è¯¥ææ¯ç¼ç é¿æä»»å¡ä¸åå¨,ä»»å¡ID为ï¼{}", taskid); |
| | | patMedOperation1.setCheckFlag("2"); |
| | | patMedOperation1.setLongTaskReason(longTaskReason + " & è¯¥ææ¯ç¼ç é¿æä»»å¡ä¸åå¨,ä»»å¡ID为:" + taskid); |
| | | operationService.update(patMedOperation1); |
| | | return; |
| | | } |
| | | |
| | | // å°è£
serviceSubtask |
| | | VisitSubtaskDraft serviceSubtask = boxedServiceSubtask(serviceTask, patMedOperation1, patArchive); |
| | | boolean i = taskApi.insertSubtask(serviceSubtask); |
| | | |
| | | if (i) { |
| | | // å°check_flagæ¹æ1ï¼å·²å¤çï¼ |
| | | PatMedOperation patMedOperation = new PatMedOperation(); |
| | | patMedOperation.setId(patMedOperation1.getId()); |
| | | patMedOperation.setCheckFlag("1"); |
| | | operationService.update(patMedOperation); |
| | | } else { |
| | | // çæåä»»å¡å¤±è´¥ï¼ |
| | | log.error("çæåä»»å¡å¤±è´¥serviceSubtask为ï¼{}", serviceSubtask); |
| | | PatMedOperation patMedOperation = new PatMedOperation(); |
| | | patMedOperation.setId(patMedOperation1.getId()); |
| | | patMedOperation.setRemark("çæåä»»å¡å¤±è´¥"); |
| | | operationService.update(patMedOperation); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ææ¯çåä»»å¡ç»è£
ã |
| | | * <p> |
| | | * éåæ®µå¯¹åºå {@code boxedServiceSubtask}ï¼L191-238ï¼29 个 setterï¼ã |
| | | * |
| | | * <h3>åå®ç°ç¬¬ä¸è¡æ¯ {@code DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class)}</h3> |
| | | * 宿´æ¹æ·äº {@code ServiceTask} ä¸ {@code ServiceSubtask} ç 33 个åååæ®µï¼ |
| | | * å
¶ä¸ 18 个ä¹ååæ²¡è¢«æ¾å¼è¦çãæ¬æ¬¡æ¢äºæ°æ®æ¥æºââ |
| | | * {@code serviceTask} ç°å¨æ¯ {@link VisitLongTaskDto}ï¼15 ä¸ªåæ®µçä»»å¡å¿«ç
§ï¼ï¼ |
| | | * <b>䏿¯</b> {@code ServiceTask} å®ä½ã |
| | | * <p> |
| | | * â ï¸ <b>è¿æ¯ä¸ä¸ªå·²ç»è®°çãä¸é¨è¯çå®å
¨ç¸åçå£å¾éå¶</b>ï¼ |
| | | * é£ 18 个"é æ·è´å¸¦è¿åä»»å¡"çåæ®µéï¼{@code VisitLongTaskDto} åªæ¿è½½ |
| | | * {@code taskName}/{@code type}/{@code preachformDesc}/{@code createBy} çå·²ååºçå ä¸ªï¼ |
| | | * å
¶ä½ï¼{@code guid}/{@code pid}/{@code sendType}/{@code isupload}/â¦ï¼ |
| | | * éè¦ç±å°æ¥çãé访任å¡å建模åãå¨å®ç° {@code insertSubtask} æ¶è¡¥é½ã |
| | | * æ¬æ¨¡å<b>ä¸</b>èªå·±è¡¥ï¼ä¹ä¸æå®ä»¬å å° {@code VisitSubtaskDraft} ä¸ ââ |
| | | * é£ä¼è®©åºå
¥é¢/é¨è¯ä¸¤æ¡å·²éªæ¶çé¾è·¯å¤ååã |
| | | * è½å°æ¹å¼ä¸é¨è¯ä¾§ï¼{@code OuthospVisitTaskService#boxedServiceSubtask}ï¼ä¸è´ã |
| | | * |
| | | * <h3>â ï¸ å»æä¿ççåè¡ä¸º</h3> |
| | | * <ul> |
| | | * <li>{@code setStarttime} ä¸ {@code setEndtime} <b>åå¼</b>ï¼é½å {@code opreqtime}ï¼ï¼åæ ·ä¿çï¼</li> |
| | | * <li>{@code serviceTask.getSendDay() == null} æ¶æ 1 天å¤çï¼ä¸<b>åå serviceTask</b>ï¼</li> |
| | | * <li>{@code addDays} çåºåæ¯ {@code opreqtime}ï¼å¯è½ä¸º nullï¼ |
| | | * åå®ç°åæ ·ä¼ NPE ââ ä¸é¢å¤å ä¿æ¤ï¼ï¼</li> |
| | | * <li>ä¸éè¦é访æ¶ç½® {@code sendstate=4} + {@code result="error"} å¹¶æåå åè¿ remarkï¼ |
| | | * ä½<b>ä»ç¶ç»§ç» insert</b>ï¼åå®ç°æ²¡ææå returnï¼ï¼</li> |
| | | * <li>{@code setPhone} åªå¨ {@code telcode} ä¸ºç©ºæ¶æåè½å° {@code relativetelcode} |
| | | * ï¼ä¸é¨è¯ç"ä¸å
表达å¼"åæ³çä»·ï¼æ¤å¤ç
§æå if åæ³ï¼ã</li> |
| | | * </ul> |
| | | */ |
| | | public VisitSubtaskDraft boxedServiceSubtask(VisitLongTaskDto serviceTask, |
| | | PatMedOperation patMedOperation1, |
| | | VisitArchiveRow patArchive) { |
| | | VisitSubtaskDraft serviceSubtask = new VisitSubtaskDraft(); |
| | | serviceSubtask.setTaskid(serviceTask.getTaskid()); |
| | | serviceSubtask.setOrgid(serviceTask.getOrgid()); |
| | | serviceSubtask.setCampusid(serviceTask.getCampusid()); |
| | | // å L194-195ï¼libtemplateid å¨ ServiceTask 鿝 Stringï¼è½åºå/èç¨¿éæ¯ Longï¼ |
| | | // åå®ç°æ¾å¼ Long.valueOf 转æ¢ï¼ä¸ãä»
å¨é空æ¶ã设å¼ï¼ä¸ºç©ºåä¿æ null -> åä¸åï¼ãåæ ·ä¿çã |
| | | if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid())) |
| | | serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | serviceSubtask.setNurseId(patMedOperation1.getNurseId()); |
| | | serviceSubtask.setNurseName(patMedOperation1.getNurseName()); |
| | | // serviceSubtask.setInhospid(patMedOperation1.getInhospid()); |
| | | serviceSubtask.setDrcode(patMedOperation1.getDrcode()); |
| | | serviceSubtask.setDrname(patMedOperation1.getDrname()); |
| | | serviceSubtask.setDeptcode(patMedOperation1.getDeptcode()); |
| | | serviceSubtask.setDeptname(patMedOperation1.getDeptname()); |
| | | serviceSubtask.setTemplateid(serviceTask.getTemplateid()); |
| | | serviceSubtask.setTemplatename(serviceTask.getTemplatename()); |
| | | serviceSubtask.setPatid(patArchive.getId()); |
| | | serviceSubtask.setSendname(patArchive.getName()); |
| | | serviceSubtask.setSfzh(patArchive.getIdcardno()); |
| | | serviceSubtask.setPhone(patArchive.getTelcode()); |
| | | if (StringUtils.isBlank(patArchive.getTelcode())) serviceSubtask.setPhone(patArchive.getRelativetelcode()); |
| | | serviceSubtask.setSex(patArchive.getSex()); |
| | | serviceSubtask.setAge(patArchive.getAge()); |
| | | serviceSubtask.setSendstate(SENDSTATE_PENDING); |
| | | serviceSubtask.setStarttime(patMedOperation1.getOpreqtime()); |
| | | serviceSubtask.setEndtime(patMedOperation1.getOpreqtime()); |
| | | serviceSubtask.setServiceType("2"); |
| | | serviceSubtask.setPreachform(serviceTask.getPreachform()); |
| | | serviceSubtask.setHospType(HOSP_TYPE_OPERATION); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | // serviceSubtask.setCreateBy(patMedInhosp1.getNurseName()); |
| | | // serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode()); |
| | | // serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname()); |
| | | // 设置åéæ¶é´ |
| | | if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L); |
| | | Date newDate = addDays(patMedOperation1.getOpreqtime(), serviceTask.getSendDay().intValue()); |
| | | serviceSubtask.setLongSendTime(newDate); |
| | | serviceSubtask.setVisitTime(newDate); |
| | | // æ£è
åéæ¶é´ |
| | | if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) { |
| | | String remark = patArchive.getNotrequiredreason(); |
| | | serviceSubtask.setRemark(remark); |
| | | serviceSubtask.setResult("error"); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | // 䏿§è¡ |
| | | serviceSubtask.setSendstate(SENDSTATE_SKIP); |
| | | } |
| | | return serviceSubtask; |
| | | } |
| | | |
| | | /** |
| | | * å¨ {@code date} ä¸å {@code days} 天ï¼{@code days} 为 null æ¶æ 1 天ã |
| | | * <p> |
| | | * éè¡å¯¹åºå {@code PatMedOperationServiceImpl#addDays}ï¼L240-248ï¼ã |
| | | * â ï¸ ä¸åºå
¥é¢ä¾§ç {@code minusDay} 䏿¯åä¸ä¸ªæ¹æ³ï¼é£ä¸ªç¡¬ç¼ç å 2 天并忽ç¥å
¥åï¼ã |
| | | */ |
| | | private Date addDays(Date date, Integer days) { |
| | | if (days == null) { |
| | | days = 1; |
| | | } |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | calendar.add(Calendar.DAY_OF_MONTH, days); |
| | | return calendar.getTime(); |
| | | } |
| | | |
| | | // ========================================================================== |
| | | // å¥çº¦åç¨ï¼ä¸é¨è¯/åºå
¥é¢æ¨¡ååä¸åæ³ï¼ObjectProvider + streamï¼åä¸å°å°±éçº§ï¼ |
| | | // ========================================================================== |
| | | |
| | | private ServiceTaskMatchApi matchApi() { |
| | | return providerGet(matchApiProvider, "ServiceTaskMatchApi"); |
| | | } |
| | | |
| | | private ArchiveReadApi archiveApi() { |
| | | return providerGet(archiveApiProvider, "ArchiveReadApi"); |
| | | } |
| | | |
| | | private VisitTaskCreateApi taskApi() { |
| | | return providerGet(taskApiProvider, "VisitTaskCreateApi"); |
| | | } |
| | | |
| | | private <T> T providerGet(ObjectProvider<T> p, String name) { |
| | | if (p == null) { |
| | | return null; |
| | | } |
| | | try { |
| | | return p.stream().findFirst().orElse(null); |
| | | } catch (Exception e) { |
| | | log.warn("ãææ¯é访ãè·å {} å¤±è´¥ï¼æä¸å¯ç¨å¤çï¼{}", name, e.toString()); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.othervisit.mapper.BaseDictOperationMapper"> |
| | | |
| | | <resultMap type="com.ruoyi.othervisit.domain.BaseDictOperation" id="BaseDictOperationResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="opid" column="opid"/> |
| | | <result property="opcode" column="opcode"/> |
| | | <result property="opdesc" column="opdesc"/> |
| | | <result property="incitypecode" column="incitypecode"/> |
| | | <result property="incitypedesc" column="incitypedesc"/> |
| | | <result property="oplevelcode" column="oplevelcode"/> |
| | | <result property="opleveldesc" column="opleveldesc"/> |
| | | <result property="opposition" column="opposition"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="isupload" column="isupload"/> |
| | | <result property="uploadTime" column="upload_time"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="pguid" column="pguid"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="pid" column="pid"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectBaseDictOperationVo"> |
| | | select id, |
| | | opid, |
| | | opcode, |
| | | opdesc, |
| | | incitypecode, |
| | | incitypedesc, |
| | | oplevelcode, |
| | | opleveldesc, |
| | | opposition, |
| | | del_flag, |
| | | update_by, |
| | | update_time, |
| | | create_by, |
| | | create_time, |
| | | isupload, |
| | | upload_time, |
| | | orgid, |
| | | pguid, |
| | | guid, |
| | | pid |
| | | from base_dict_operation |
| | | </sql> |
| | | |
| | | <select id="selectBaseDictOperationList" parameterType="com.ruoyi.othervisit.domain.BaseDictOperation" |
| | | resultMap="BaseDictOperationResult"> |
| | | <include refid="selectBaseDictOperationVo"/> |
| | | where 1=1 |
| | | <if test="opid != null "> |
| | | and opid = #{opid} |
| | | </if> |
| | | <if test="opcode != null and opcode != ''"> |
| | | and opcode = #{opcode} |
| | | </if> |
| | | <if test="opdesc != null and opdesc != ''"> |
| | | and opdesc like concat('%', #{opdesc}, '%') |
| | | </if> |
| | | <if test="incitypecode != null and incitypecode != ''"> |
| | | and incitypecode = #{incitypecode} |
| | | </if> |
| | | <if test="incitypedesc != null and incitypedesc != ''"> |
| | | and incitypedesc = #{incitypedesc} |
| | | </if> |
| | | <if test="oplevelcode != null and oplevelcode != ''"> |
| | | and oplevelcode = #{oplevelcode} |
| | | </if> |
| | | <if test="opleveldesc != null and opleveldesc != ''"> |
| | | and opleveldesc = #{opleveldesc} |
| | | </if> |
| | | <if test="opposition != null and opposition != ''"> |
| | | and opposition = #{opposition} |
| | | </if> |
| | | <if test="isupload != null "> |
| | | and isupload = #{isupload} |
| | | </if> |
| | | <if test="uploadTime != null "> |
| | | and upload_time = #{uploadTime} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="pguid != null and pguid != ''"> |
| | | and pguid = #{pguid} |
| | | </if> |
| | | <if test="guid != null and guid != ''"> |
| | | and guid = #{guid} |
| | | </if> |
| | | <if test="pid != null "> |
| | | and pid = #{pid} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectBaseDictOperationById" parameterType="Long" |
| | | resultMap="BaseDictOperationResult"> |
| | | <include refid="selectBaseDictOperationVo"/> |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <insert id="insertBaseDictOperation" parameterType="com.ruoyi.othervisit.domain.BaseDictOperation"> |
| | | insert into base_dict_operation |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">id, |
| | | </if> |
| | | <if test="opid != null">opid, |
| | | </if> |
| | | <if test="opcode != null">opcode, |
| | | </if> |
| | | <if test="opdesc != null">opdesc, |
| | | </if> |
| | | <if test="incitypecode != null">incitypecode, |
| | | </if> |
| | | <if test="incitypedesc != null">incitypedesc, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc, |
| | | </if> |
| | | <if test="opposition != null">opposition, |
| | | </if> |
| | | <if test="delFlag != null">del_flag, |
| | | </if> |
| | | <if test="updateBy != null">update_by, |
| | | </if> |
| | | <if test="updateTime != null">update_time, |
| | | </if> |
| | | <if test="createBy != null">create_by, |
| | | </if> |
| | | <if test="createTime != null">create_time, |
| | | </if> |
| | | <if test="isupload != null">isupload, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time, |
| | | </if> |
| | | <if test="orgid != null">orgid, |
| | | </if> |
| | | <if test="pguid != null">pguid, |
| | | </if> |
| | | <if test="guid != null">guid, |
| | | </if> |
| | | <if test="pid != null">pid, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null">#{id}, |
| | | </if> |
| | | <if test="opid != null">#{opid}, |
| | | </if> |
| | | <if test="opcode != null">#{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">#{opdesc}, |
| | | </if> |
| | | <if test="incitypecode != null">#{incitypecode}, |
| | | </if> |
| | | <if test="incitypedesc != null">#{incitypedesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">#{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">#{opleveldesc}, |
| | | </if> |
| | | <if test="opposition != null">#{opposition}, |
| | | </if> |
| | | <if test="delFlag != null">#{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">#{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">#{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">#{createBy}, |
| | | </if> |
| | | <if test="createTime != null">#{createTime}, |
| | | </if> |
| | | <if test="isupload != null">#{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">#{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">#{orgid}, |
| | | </if> |
| | | <if test="pguid != null">#{pguid}, |
| | | </if> |
| | | <if test="guid != null">#{guid}, |
| | | </if> |
| | | <if test="pid != null">#{pid}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateBaseDictOperation" parameterType="com.ruoyi.othervisit.domain.BaseDictOperation"> |
| | | update base_dict_operation |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="opid != null">opid = |
| | | #{opid}, |
| | | </if> |
| | | <if test="opcode != null">opcode = |
| | | #{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">opdesc = |
| | | #{opdesc}, |
| | | </if> |
| | | <if test="incitypecode != null">incitypecode = |
| | | #{incitypecode}, |
| | | </if> |
| | | <if test="incitypedesc != null">incitypedesc = |
| | | #{incitypedesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode = |
| | | #{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc = |
| | | #{opleveldesc}, |
| | | </if> |
| | | <if test="opposition != null">opposition = |
| | | #{opposition}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="isupload != null">isupload = |
| | | #{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time = |
| | | #{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="pguid != null">pguid = |
| | | #{pguid}, |
| | | </if> |
| | | <if test="guid != null">guid = |
| | | #{guid}, |
| | | </if> |
| | | <if test="pid != null">pid = |
| | | #{pid}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deleteBaseDictOperationById" parameterType="Long"> |
| | | update base_dict_operation |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deleteBaseDictOperationByIds" parameterType="String"> |
| | | update base_dict_operation |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </update> |
| | | |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.othervisit.mapper.PatMedOperationItemMapper"> |
| | | |
| | | <resultMap type="com.ruoyi.othervisit.domain.PatMedOperationItem" id="PatMedOperationItemResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="operationid" column="operationid"/> |
| | | <result property="opid" column="opid"/> |
| | | <result property="opcode" column="opcode"/> |
| | | <result property="opdesc" column="opdesc"/> |
| | | <result property="mainFlag" column="main_flag"/> |
| | | <result property="incitypecode" column="incitypecode"/> |
| | | <result property="incitypedesc" column="incitypedesc"/> |
| | | <result property="oplevelcode" column="oplevelcode"/> |
| | | <result property="opleveldesc" column="opleveldesc"/> |
| | | <result property="opposition" column="opposition"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="isupload" column="isupload"/> |
| | | <result property="uploadTime" column="upload_time"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="pguid" column="pguid"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="pid" column="pid"/> |
| | | <result property="opercheckFlag" column="opercheck_flag"/> |
| | | <result property="longTaskReason" column="long_task_reason"/> |
| | | <result property="inhospstate" column="inhospstate"/> |
| | | <result property="inhospEndtime" column="inhosp_endtime"/> |
| | | <result property="serialnum" column="serialnum"/> |
| | | |
| | | <result property="deptcode" column="deptcode"/> |
| | | <result property="deptname" column="deptname"/> |
| | | <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> |
| | | <result property="hospitaldistrictname" column="hospitaldistrictname"/> |
| | | <result property="leaveldeptcode" column="leaveldeptcode"/> |
| | | <result property="leaveldeptname" column="leaveldeptname"/> |
| | | <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> |
| | | <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> |
| | | <result property="patid" column="patid"/> |
| | | <result property="drcode" column="drcode"/> |
| | | <result property="drname" column="drname"/> |
| | | <result property="nurseId" column="nurse_id"/> |
| | | <result property="nurseName" column="nurse_name"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectPatMedOperationItemVo"> |
| | | select id, operationid, opid, opcode, opdesc, main_flag, incitypecode, incitypedesc, oplevelcode, opleveldesc, opposition, del_flag, update_by, update_time, create_by, create_time, isupload, upload_time, orgid, pguid, guid, pid, opercheck_flag, long_task_reason, inhospstate, serialnum |
| | | from pat_med_operation_item |
| | | </sql> |
| | | |
| | | <select id="selectPatMedOperationItemList" parameterType="com.ruoyi.othervisit.domain.PatMedOperationItem" |
| | | resultMap="PatMedOperationItemResult"> |
| | | <include refid="selectPatMedOperationItemVo"/> |
| | | where 1=1 |
| | | <if test="operationid != null "> |
| | | and operationid = #{operationid} |
| | | </if> |
| | | <if test="opid != null "> |
| | | and opid = #{opid} |
| | | </if> |
| | | <if test="opcode != null and opcode != ''"> |
| | | and opcode = #{opcode} |
| | | </if> |
| | | <if test="opdesc != null and opdesc != ''"> |
| | | and opdesc = #{opdesc} |
| | | </if> |
| | | <if test="mainFlag != null and mainFlag != ''"> |
| | | and main_flag = #{mainFlag} |
| | | </if> |
| | | <if test="incitypecode != null and incitypecode != ''"> |
| | | and incitypecode = #{incitypecode} |
| | | </if> |
| | | <if test="incitypedesc != null and incitypedesc != ''"> |
| | | and incitypedesc = #{incitypedesc} |
| | | </if> |
| | | <if test="oplevelcode != null and oplevelcode != ''"> |
| | | and oplevelcode = #{oplevelcode} |
| | | </if> |
| | | <if test="opleveldesc != null and opleveldesc != ''"> |
| | | and opleveldesc = #{opleveldesc} |
| | | </if> |
| | | <if test="opposition != null and opposition != ''"> |
| | | and opposition = #{opposition} |
| | | </if> |
| | | <if test="isupload != null "> |
| | | and isupload = #{isupload} |
| | | </if> |
| | | <if test="uploadTime != null "> |
| | | and upload_time = #{uploadTime} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="pguid != null and pguid != ''"> |
| | | and pguid = #{pguid} |
| | | </if> |
| | | <if test="guid != null and guid != ''"> |
| | | and guid = #{guid} |
| | | </if> |
| | | <if test="pid != null "> |
| | | and pid = #{pid} |
| | | </if> |
| | | <if test="inhospstate != null and inhospstate != ''"> |
| | | and inhospstate = #{inhospstate} |
| | | </if> |
| | | <if test="serialnum != null and serialnum != ''"> |
| | | and serialnum = #{serialnum} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectPatMedOperationItemById" parameterType="Long" |
| | | resultMap="PatMedOperationItemResult"> |
| | | <include refid="selectPatMedOperationItemVo"/> |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <insert id="insertPatMedOperationItem" parameterType="com.ruoyi.othervisit.domain.PatMedOperationItem" useGeneratedKeys="true" keyProperty="id"> |
| | | insert into pat_med_operation_item |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="operationid != null">operationid, |
| | | </if> |
| | | <if test="opid != null">opid, |
| | | </if> |
| | | <if test="opcode != null">opcode, |
| | | </if> |
| | | <if test="opdesc != null">opdesc, |
| | | </if> |
| | | <if test="mainFlag != null">main_flag, |
| | | </if> |
| | | <if test="incitypecode != null">incitypecode, |
| | | </if> |
| | | <if test="incitypedesc != null">incitypedesc, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc, |
| | | </if> |
| | | <if test="opposition != null">opposition, |
| | | </if> |
| | | <if test="delFlag != null">del_flag, |
| | | </if> |
| | | <if test="updateBy != null">update_by, |
| | | </if> |
| | | <if test="updateTime != null">update_time, |
| | | </if> |
| | | <if test="createBy != null">create_by, |
| | | </if> |
| | | <if test="createTime != null">create_time, |
| | | </if> |
| | | <if test="isupload != null">isupload, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time, |
| | | </if> |
| | | <if test="orgid != null">orgid, |
| | | </if> |
| | | <if test="pguid != null">pguid, |
| | | </if> |
| | | <if test="guid != null">guid, |
| | | </if> |
| | | <if test="pid != null">pid, |
| | | </if> |
| | | <if test="opercheckFlag != null">opercheck_flag, |
| | | </if> |
| | | <if test="longTaskReason != null">long_task_reason, |
| | | </if> |
| | | <if test="inhospstate != null">inhospstate, |
| | | </if> |
| | | <if test="serialnum != null">serialnum, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="operationid != null">#{operationid}, |
| | | </if> |
| | | <if test="opid != null">#{opid}, |
| | | </if> |
| | | <if test="opcode != null">#{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">#{opdesc}, |
| | | </if> |
| | | <if test="mainFlag != null">#{mainFlag}, |
| | | </if> |
| | | <if test="incitypecode != null">#{incitypecode}, |
| | | </if> |
| | | <if test="incitypedesc != null">#{incitypedesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">#{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">#{opleveldesc}, |
| | | </if> |
| | | <if test="opposition != null">#{opposition}, |
| | | </if> |
| | | <if test="delFlag != null">#{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">#{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">#{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">#{createBy}, |
| | | </if> |
| | | <if test="createTime != null">#{createTime}, |
| | | </if> |
| | | <if test="isupload != null">#{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">#{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">#{orgid}, |
| | | </if> |
| | | <if test="pguid != null">#{pguid}, |
| | | </if> |
| | | <if test="guid != null">#{guid}, |
| | | </if> |
| | | <if test="pid != null">#{pid}, |
| | | </if> |
| | | <if test="opercheckFlag != null">#{opercheckFlag}, |
| | | </if> |
| | | <if test="longTaskReason != null">#{longTaskReason}, |
| | | </if> |
| | | <if test="inhospstate != null">#{inhospstate}, |
| | | </if> |
| | | <if test="serialnum != null">#{serialnum}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updatePatMedOperationItem" parameterType="com.ruoyi.othervisit.domain.PatMedOperationItem"> |
| | | update pat_med_operation_item |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="operationid != null">operationid = |
| | | #{operationid}, |
| | | </if> |
| | | <if test="opid != null">opid = |
| | | #{opid}, |
| | | </if> |
| | | <if test="opcode != null">opcode = |
| | | #{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">opdesc = |
| | | #{opdesc}, |
| | | </if> |
| | | <if test="mainFlag != null">main_flag = |
| | | #{mainFlag}, |
| | | </if> |
| | | <if test="incitypecode != null">incitypecode = |
| | | #{incitypecode}, |
| | | </if> |
| | | <if test="incitypedesc != null">incitypedesc = |
| | | #{incitypedesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode = |
| | | #{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc = |
| | | #{opleveldesc}, |
| | | </if> |
| | | <if test="opposition != null">opposition = |
| | | #{opposition}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="isupload != null">isupload = |
| | | #{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time = |
| | | #{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="pguid != null">pguid = |
| | | #{pguid}, |
| | | </if> |
| | | <if test="guid != null">guid = |
| | | #{guid}, |
| | | </if> |
| | | <if test="pid != null">pid = |
| | | #{pid}, |
| | | </if> |
| | | <if test="opercheckFlag != null">opercheck_flag = |
| | | #{opercheckFlag}, |
| | | </if> |
| | | <if test="longTaskReason != null">long_task_reason = |
| | | #{longTaskReason}, |
| | | </if> |
| | | <if test="inhospstate != null">inhospstate = |
| | | #{inhospstate}, |
| | | </if> |
| | | <if test="serialnum != null">serialnum = |
| | | #{serialnum}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="updatePatMedOperationItemByOperationid" parameterType="com.ruoyi.othervisit.domain.PatMedOperationItem"> |
| | | update pat_med_operation_item |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="opid != null">opid = |
| | | #{opid}, |
| | | </if> |
| | | <if test="opcode != null">opcode = |
| | | #{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">opdesc = |
| | | #{opdesc}, |
| | | </if> |
| | | <if test="mainFlag != null">main_flag = |
| | | #{mainFlag}, |
| | | </if> |
| | | <if test="incitypecode != null">incitypecode = |
| | | #{incitypecode}, |
| | | </if> |
| | | <if test="incitypedesc != null">incitypedesc = |
| | | #{incitypedesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode = |
| | | #{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc = |
| | | #{opleveldesc}, |
| | | </if> |
| | | <if test="opposition != null">opposition = |
| | | #{opposition}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="isupload != null">isupload = |
| | | #{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time = |
| | | #{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="pguid != null">pguid = |
| | | #{pguid}, |
| | | </if> |
| | | <if test="guid != null">guid = |
| | | #{guid}, |
| | | </if> |
| | | <if test="pid != null">pid = |
| | | #{pid}, |
| | | </if> |
| | | <if test="opercheckFlag != null">opercheck_flag = |
| | | #{opercheckFlag}, |
| | | </if> |
| | | <if test="longTaskReason != null">long_task_reason = |
| | | #{longTaskReason}, |
| | | </if> |
| | | <if test="inhospstate != null">inhospstate = |
| | | #{inhospstate}, |
| | | </if> |
| | | <if test="serialnum != null">serialnum = |
| | | #{serialnum}, |
| | | </if> |
| | | </trim> |
| | | where operationid = #{operationid} |
| | | and opcode = #{opcode} |
| | | </update> |
| | | |
| | | <insert id="insertPatMedOperationItems"> |
| | | insert into pat_med_operation_item |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="operationid != null">operationid, |
| | | </if> |
| | | <if test="opid != null">opid, |
| | | </if> |
| | | <if test="opcode != null">opcode, |
| | | </if> |
| | | <if test="opdesc != null">opdesc, |
| | | </if> |
| | | <if test="mainFlag != null">main_flag, |
| | | </if> |
| | | <if test="incitypecode != null">incitypecode, |
| | | </if> |
| | | <if test="incitypedesc != null">incitypedesc, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc, |
| | | </if> |
| | | <if test="opposition != null">opposition, |
| | | </if> |
| | | <if test="delFlag != null">del_flag, |
| | | </if> |
| | | <if test="updateBy != null">update_by, |
| | | </if> |
| | | <if test="updateTime != null">update_time, |
| | | </if> |
| | | <if test="createBy != null">create_by, |
| | | </if> |
| | | <if test="createTime != null">create_time, |
| | | </if> |
| | | <if test="isupload != null">isupload, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time, |
| | | </if> |
| | | <if test="orgid != null">orgid, |
| | | </if> |
| | | <if test="pguid != null">pguid, |
| | | </if> |
| | | <if test="guid != null">guid, |
| | | </if> |
| | | <if test="pid != null">pid, |
| | | </if> |
| | | <if test="opercheckFlag != null">opercheck_flag, |
| | | </if> |
| | | <if test="longTaskReason != null">long_task_reason, |
| | | </if> |
| | | <if test="inhospstate != null">inhospstate, |
| | | </if> |
| | | <if test="serialnum != null">serialnum, |
| | | </if> |
| | | </trim> |
| | | values |
| | | <foreach item="item" index="index" collection="list" separator=","> |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="operationid != null">#{item.operationid}, |
| | | </if> |
| | | <if test="opid != null">#{item.opid}, |
| | | </if> |
| | | <if test="opcode != null">#{item.opcode}, |
| | | </if> |
| | | <if test="opdesc != null">#{item.opdesc}, |
| | | </if> |
| | | <if test="mainFlag != null">#{item.mainFlag}, |
| | | </if> |
| | | <if test="incitypecode != null">#{item.incitypecode}, |
| | | </if> |
| | | <if test="incitypedesc != null">#{item.incitypedesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">#{item.oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">#{item.opleveldesc}, |
| | | </if> |
| | | <if test="opposition != null">#{item.opposition}, |
| | | </if> |
| | | <if test="delFlag != null">#{item.delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">#{item.updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">#{item.updateTime}, |
| | | </if> |
| | | <if test="createBy != null">#{item.createBy}, |
| | | </if> |
| | | <if test="createTime != null">#{item.createTime}, |
| | | </if> |
| | | <if test="isupload != null">#{item.isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">#{item.uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">#{item.orgid}, |
| | | </if> |
| | | <if test="pguid != null">#{item.pguid}, |
| | | </if> |
| | | <if test="guid != null">#{item.guid}, |
| | | </if> |
| | | <if test="pid != null">#{item.pid}, |
| | | </if> |
| | | <if test="opercheckFlag != null">#{item.opercheckFlag}, |
| | | </if> |
| | | <if test="longTaskReason != null">#{item.longTaskReason}, |
| | | </if> |
| | | <if test="inhospstate != null">#{item.inhospstate}, |
| | | </if> |
| | | <if test="serialnum != null">#{item.serialnum}, |
| | | </if> |
| | | </trim> |
| | | </foreach> |
| | | </insert> |
| | | |
| | | <update id="deletePatMedOperationItemById" parameterType="Long"> |
| | | update pat_med_operation_item |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deletePatMedOperationItemByIds" parameterType="String"> |
| | | update pat_med_operation_item |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </update> |
| | | |
| | | <delete id="deleteHardPatMedOperationItemByOpId" parameterType="String"> |
| | | delete from pat_med_operation_item |
| | | where opid = #{opid} |
| | | and opercheck_flag != 1 |
| | | </delete> |
| | | |
| | | <update id="deletePatMedOperationItemByOperationid" parameterType="Long"> |
| | | update pat_med_operation_item |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where operationid = #{operationid} |
| | | and opercheck_flag != 1 |
| | | </update> |
| | | |
| | | <update id="deleteSoftPatMedOperationItemByOpId" parameterType="String"> |
| | | update pat_med_operation_item |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where opid = #{opid} |
| | | </update> |
| | | |
| | | <select id="selectOperationItemList" parameterType="com.ruoyi.othervisit.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 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> |
| | | |
| | | <select id="selectOperationItemListMaxLevel" parameterType="com.ruoyi.othervisit.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> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.ruoyi.othervisit.mapper.PatMedOperationMapper"> |
| | | |
| | | <resultMap type="com.ruoyi.othervisit.domain.PatMedOperation" id="PatMedOperationResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="patid" column="patid"/> |
| | | <result property="patcode" column="patcode"/> |
| | | <result property="paname" column="paname"/> |
| | | <result property="opreqid" column="opreqid"/> |
| | | <result property="opreqcode" column="opreqcode"/> |
| | | <result property="opsstatus" column="opsstatus"/> |
| | | <result property="optypecode" column="optypecode"/> |
| | | <result property="optypename" column="optypename"/> |
| | | <result property="operatortime" column="operatortime"/> |
| | | <result property="opreqtime" column="opreqtime"/> |
| | | <result property="reqdoccode" column="reqdoccode"/> |
| | | <result property="reqdocname" column="reqdocname"/> |
| | | <result property="reqdeptcode" column="reqdeptcode"/> |
| | | <result property="reqdeptname" column="reqdeptname"/> |
| | | <result property="reqloccode" column="reqloccode"/> |
| | | <result property="reqlocname" column="reqlocname"/> |
| | | <result property="remark" column="remark"/> |
| | | <result property="surgeoncode" column="surgeoncode"/> |
| | | <result property="surgeonname" column="surgeonname"/> |
| | | <result property="firasscode" column="firasscode"/> |
| | | <result property="firassname" column="firassname"/> |
| | | <result property="secasscode" column="secasscode"/> |
| | | <result property="secassname" column="secassname"/> |
| | | <result property="thrasscode" column="thrasscode"/> |
| | | <result property="thrassname" column="thrassname"/> |
| | | <result property="canceltime" column="canceltime"/> |
| | | <result property="cancelreason" column="cancelreason"/> |
| | | <result property="cancelcode" column="cancelcode"/> |
| | | <result property="cancelname" column="cancelname"/> |
| | | <result property="visittype" column="visittype"/> |
| | | <result property="status" column="status"/> |
| | | <result property="schemetime" column="schemetime"/> |
| | | <result property="schemestatus" column="schemestatus"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="isupload" column="isupload"/> |
| | | <result property="uploadTime" column="upload_time"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="pguid" column="pguid"/> |
| | | <result property="pid" column="pid"/> |
| | | <result property="inhospstate" column="inhospstate"/> |
| | | <result property="patno" column="patno"/> |
| | | <result property="patname" column="patname"/> |
| | | <result property="visitid" column="visitid"/> |
| | | <result property="serialnum" column="serialnum"/> |
| | | <result property="inhospno" column="inhospno"/> |
| | | <result property="hospitalname" column="hospitalname"/> |
| | | <result property="hospitalcode" column="hospitalcode"/> |
| | | <result property="deptid" column="deptid"/> |
| | | <result property="deptcode" column="deptcode"/> |
| | | <result property="deptname" column="deptname"/> |
| | | <result property="hospitaldistrictcode" column="hospitaldistrictcode"/> |
| | | <result property="hospitaldistrictname" column="hospitaldistrictname"/> |
| | | <result property="leaveldeptcode" column="leaveldeptcode"/> |
| | | <result property="leaveldeptname" column="leaveldeptname"/> |
| | | <result property="leavehospitaldistrictcode" column="leavehospitaldistrictcode"/> |
| | | <result property="leavehospitaldistrictname" column="leavehospitaldistrictname"/> |
| | | <result property="roomno" column="roomno"/> |
| | | <result property="bedNo" column="bed_no"/> |
| | | <result property="drcode" column="drcode"/> |
| | | <result property="drname" column="drname"/> |
| | | <result property="nurseId" column="nurse_id"/> |
| | | <result property="nurseName" column="nurse_name"/> |
| | | <result property="checkFlag" column="check_flag"/> |
| | | <result property="longTaskReason" column="long_task_reason"/> |
| | | <result property="opid" column="opid"/> |
| | | <result property="opcode" column="opcode"/> |
| | | <result property="opdesc" column="opdesc"/> |
| | | <result property="oplevelcode" column="oplevelcode"/> |
| | | <result property="opleveldesc" column="opleveldesc"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectPatMedOperationVo"> |
| | | select id, |
| | | patid, |
| | | patcode, |
| | | paname, |
| | | opreqid, |
| | | opreqcode, |
| | | opsstatus, |
| | | optypecode, |
| | | optypename, |
| | | operatortime, |
| | | opreqtime, |
| | | reqdoccode, |
| | | reqdocname, |
| | | reqdeptcode, |
| | | reqdeptname, |
| | | reqloccode, |
| | | reqlocname, |
| | | remark, |
| | | surgeoncode, |
| | | surgeonname, |
| | | firasscode, |
| | | firassname, |
| | | secasscode, |
| | | secassname, |
| | | thrasscode, |
| | | thrassname, |
| | | canceltime, |
| | | cancelreason, |
| | | cancelcode, |
| | | cancelname, |
| | | visittype, |
| | | status, |
| | | schemetime, |
| | | schemestatus, |
| | | del_flag, |
| | | update_by, |
| | | update_time, |
| | | create_by, |
| | | create_time, |
| | | isupload, |
| | | upload_time, |
| | | orgid, |
| | | guid, |
| | | pguid, |
| | | pid, |
| | | inhospstate, |
| | | patno, |
| | | patname, |
| | | visitid, |
| | | serialnum, |
| | | inhospno, |
| | | hospitalname, |
| | | hospitalcode, |
| | | deptid, |
| | | deptcode, |
| | | deptname, |
| | | hospitaldistrictcode, |
| | | hospitaldistrictname, |
| | | leaveldeptcode, |
| | | leaveldeptname, |
| | | leavehospitaldistrictcode, |
| | | leavehospitaldistrictname, |
| | | roomno, |
| | | bed_no, |
| | | drcode, |
| | | drname, |
| | | nurse_id, |
| | | nurse_name, |
| | | check_flag, |
| | | long_task_reason, |
| | | opid, |
| | | opcode, |
| | | opdesc, |
| | | oplevelcode, |
| | | opleveldesc |
| | | from pat_med_operation |
| | | </sql> |
| | | |
| | | <select id="selectPatMedOperationList" parameterType="com.ruoyi.othervisit.domain.PatMedOperation" |
| | | resultMap="PatMedOperationResult"> |
| | | <include refid="selectPatMedOperationVo"/> |
| | | where 1=1 |
| | | and del_flag='0' |
| | | <if test="patid != null "> |
| | | and patid = #{patid} |
| | | </if> |
| | | <if test="patcode != null and patcode != ''"> |
| | | and patcode = #{patcode} |
| | | </if> |
| | | <if test="paname != null and paname != ''"> |
| | | and paname like concat('%', #{paname}, '%') |
| | | </if> |
| | | <if test="opreqid != null "> |
| | | and opreqid = #{opreqid} |
| | | </if> |
| | | <if test="opreqcode != null and opreqcode != ''"> |
| | | and opreqcode = #{opreqcode} |
| | | </if> |
| | | <if test="opsstatus != null and opsstatus != ''"> |
| | | and opsstatus = #{opsstatus} |
| | | </if> |
| | | <if test="optypecode != null and optypecode != ''"> |
| | | and optypecode = #{optypecode} |
| | | </if> |
| | | <if test="optypename != null and optypename != ''"> |
| | | and optypename like concat('%', #{optypename}, '%') |
| | | </if> |
| | | <!-- <if test="operatortime != null ">--> |
| | | <!-- and operatortime = #{operatortime}--> |
| | | <!-- </if>--> |
| | | <if test="beginTime != null ">and date_format(operatortime,'%y%m%d') >= |
| | | date_format(#{beginTime},'%y%m%d') |
| | | </if> |
| | | <if test="endTime != null ">and date_format(operatortime,'%y%m%d') <= |
| | | date_format(#{endTime},'%y%m%d') |
| | | </if> |
| | | <if test="opreqtime != null "> |
| | | and opreqtime = #{opreqtime} |
| | | </if> |
| | | <if test="reqdoccode != null and reqdoccode != ''"> |
| | | and reqdoccode = #{reqdoccode} |
| | | </if> |
| | | <if test="reqdocname != null and reqdocname != ''"> |
| | | and reqdocname like concat('%', #{reqdocname}, '%') |
| | | </if> |
| | | <if test="reqdeptcode != null and reqdeptcode != ''"> |
| | | and reqdeptcode = #{reqdeptcode} |
| | | </if> |
| | | <if test="reqdeptname != null and reqdeptname != ''"> |
| | | and reqdeptname like concat('%', #{reqdeptname}, '%') |
| | | </if> |
| | | <if test="reqloccode != null and reqloccode != ''"> |
| | | and reqloccode = #{reqloccode} |
| | | </if> |
| | | <if test="reqlocname != null and reqlocname != ''"> |
| | | and reqlocname like concat('%', #{reqlocname}, '%') |
| | | </if> |
| | | <if test="surgeoncode != null and surgeoncode != ''"> |
| | | and surgeoncode = #{surgeoncode} |
| | | </if> |
| | | <if test="surgeonname != null and surgeonname != ''"> |
| | | and surgeonname like concat('%', #{surgeonname}, '%') |
| | | </if> |
| | | <if test="firasscode != null and firasscode != ''"> |
| | | and firasscode = #{firasscode} |
| | | </if> |
| | | <if test="firassname != null and firassname != ''"> |
| | | and firassname like concat('%', #{firassname}, '%') |
| | | </if> |
| | | <if test="secasscode != null and secasscode != ''"> |
| | | and secasscode = #{secasscode} |
| | | </if> |
| | | <if test="secassname != null and secassname != ''"> |
| | | and secassname like concat('%', #{secassname}, '%') |
| | | </if> |
| | | <if test="thrasscode != null and thrasscode != ''"> |
| | | and thrasscode = #{thrasscode} |
| | | </if> |
| | | <if test="thrassname != null and thrassname != ''"> |
| | | and thrassname like concat('%', #{thrassname}, '%') |
| | | </if> |
| | | <if test="canceltime != null and canceltime != ''"> |
| | | and canceltime = #{canceltime} |
| | | </if> |
| | | <if test="cancelreason != null and cancelreason != ''"> |
| | | and cancelreason = #{cancelreason} |
| | | </if> |
| | | <if test="cancelcode != null and cancelcode != ''"> |
| | | and cancelcode = #{cancelcode} |
| | | </if> |
| | | <if test="cancelname != null and cancelname != ''"> |
| | | and cancelname like concat('%', #{cancelname}, '%') |
| | | </if> |
| | | <if test="visittype != null "> |
| | | and visittype = #{visittype} |
| | | </if> |
| | | <if test="status != null and status != ''"> |
| | | and status = #{status} |
| | | </if> |
| | | <if test="schemetime != null "> |
| | | and schemetime = #{schemetime} |
| | | </if> |
| | | <if test="schemestatus != null "> |
| | | and schemestatus = #{schemestatus} |
| | | </if> |
| | | <if test="isupload != null "> |
| | | and isupload = #{isupload} |
| | | </if> |
| | | <if test="uploadTime != null "> |
| | | and upload_time = #{uploadTime} |
| | | </if> |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="guid != null and guid != ''"> |
| | | and guid = #{guid} |
| | | </if> |
| | | <if test="pguid != null and pguid != ''"> |
| | | and pguid = #{pguid} |
| | | </if> |
| | | <if test="pid != null "> |
| | | and pid = #{pid} |
| | | </if> |
| | | <if test="inhospstate != null and inhospstate != ''"> |
| | | and inhospstate = #{inhospstate} |
| | | </if> |
| | | <if test="patno != null and patno != ''"> |
| | | and patno = #{patno} |
| | | </if> |
| | | <if test="patname != null and patname != ''"> |
| | | and patname like concat('%', #{patname}, '%') |
| | | </if> |
| | | <if test="visitid != null "> |
| | | and visitid = #{visitid} |
| | | </if> |
| | | <if test="serialnum != null and serialnum != ''"> |
| | | and serialnum = #{serialnum} |
| | | </if> |
| | | <if test="inhospno != null and inhospno != ''"> |
| | | and inhospno = #{inhospno} |
| | | </if> |
| | | <if test="hospitalname != null and hospitalname != ''"> |
| | | and hospitalname like concat('%', #{hospitalname}, '%') |
| | | </if> |
| | | <if test="hospitalcode != null and hospitalcode != ''"> |
| | | and hospitalcode = #{hospitalcode} |
| | | </if> |
| | | <if test="deptid != null and deptid != ''"> |
| | | and deptid = #{deptid} |
| | | </if> |
| | | <if test="deptcode != null and deptcode != ''"> |
| | | and deptcode = #{deptcode} |
| | | </if> |
| | | <if test="deptname != null and deptname != ''"> |
| | | and deptname like concat('%', #{deptname}, '%') |
| | | </if> |
| | | <if test="hospitaldistrictcode != null and hospitaldistrictcode != ''"> |
| | | and hospitaldistrictcode = #{hospitaldistrictcode} |
| | | </if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''"> |
| | | and hospitaldistrictname like concat('%', #{hospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="leaveldeptcode != null and leaveldeptcode != ''"> |
| | | and leaveldeptcode = #{leaveldeptcode} |
| | | </if> |
| | | <if test="leaveldeptname != null and leaveldeptname != ''"> |
| | | and leaveldeptname like concat('%', #{leaveldeptname}, '%') |
| | | </if> |
| | | <if test="leavehospitaldistrictcode != null and leavehospitaldistrictcode != ''"> |
| | | and leavehospitaldistrictcode = #{leavehospitaldistrictcode} |
| | | </if> |
| | | <if test="leavehospitaldistrictname != null and leavehospitaldistrictname != ''"> |
| | | and leavehospitaldistrictname like concat('%', #{leavehospitaldistrictname}, '%') |
| | | </if> |
| | | <if test="roomno != null and roomno != ''"> |
| | | and roomno = #{roomno} |
| | | </if> |
| | | <if test="bedNo != null and bedNo != ''"> |
| | | and bed_no = #{bedNo} |
| | | </if> |
| | | <if test="drcode != null and drcode != ''"> |
| | | and drcode = #{drcode} |
| | | </if> |
| | | <if test="drname != null and drname != ''"> |
| | | and drname like concat('%', #{drname}, '%') |
| | | </if> |
| | | <if test="nurseId != null and nurseId != ''"> |
| | | and nurse_id = #{nurseId} |
| | | </if> |
| | | <if test="nurseName != null and nurseName != ''"> |
| | | and nurse_name like concat('%', #{nurseName}, '%') |
| | | </if> |
| | | <if test="checkFlag != null and checkFlag != ''"> |
| | | and check_flag = #{checkFlag} |
| | | </if> |
| | | <if test="longTaskReason != null and longTaskReason != ''"> |
| | | and long_task_reason = #{longTaskReason} |
| | | </if> |
| | | <if test="opid != null and opid != ''"> |
| | | and opid = #{opid} |
| | | </if> |
| | | <if test="opcode != null and opcode != ''"> |
| | | and opcode = #{opcode} |
| | | </if> |
| | | <if test="opdesc != null and opdesc != ''"> |
| | | and opdesc = #{opdesc} |
| | | </if> |
| | | <if test="oplevelcode != null and oplevelcode != ''"> |
| | | and oplevelcode = #{oplevelcode} |
| | | </if> |
| | | <if test="opleveldesc != null and opleveldesc != ''"> |
| | | and opleveldesc = #{opleveldesc} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectPatMedOperationById" parameterType="Long" |
| | | resultMap="PatMedOperationResult"> |
| | | <include refid="selectPatMedOperationVo"/> |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <insert id="insertPatMedOperation" parameterType="com.ruoyi.othervisit.domain.PatMedOperation" useGeneratedKeys="true" keyProperty="id"> |
| | | insert into pat_med_operation |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="patid != null">patid, |
| | | </if> |
| | | <if test="patcode != null">patcode, |
| | | </if> |
| | | <if test="paname != null">paname, |
| | | </if> |
| | | <if test="opreqid != null">opreqid, |
| | | </if> |
| | | <if test="opreqcode != null">opreqcode, |
| | | </if> |
| | | <if test="opsstatus != null">opsstatus, |
| | | </if> |
| | | <if test="optypecode != null">optypecode, |
| | | </if> |
| | | <if test="optypename != null">optypename, |
| | | </if> |
| | | <if test="operatortime != null">operatortime, |
| | | </if> |
| | | <if test="opreqtime != null">opreqtime, |
| | | </if> |
| | | <if test="reqdoccode != null">reqdoccode, |
| | | </if> |
| | | <if test="reqdocname != null">reqdocname, |
| | | </if> |
| | | <if test="reqdeptcode != null">reqdeptcode, |
| | | </if> |
| | | <if test="reqdeptname != null">reqdeptname, |
| | | </if> |
| | | <if test="reqloccode != null">reqloccode, |
| | | </if> |
| | | <if test="reqlocname != null">reqlocname, |
| | | </if> |
| | | <if test="remark != null">remark, |
| | | </if> |
| | | <if test="surgeoncode != null">surgeoncode, |
| | | </if> |
| | | <if test="surgeonname != null">surgeonname, |
| | | </if> |
| | | <if test="firasscode != null">firasscode, |
| | | </if> |
| | | <if test="firassname != null">firassname, |
| | | </if> |
| | | <if test="secasscode != null">secasscode, |
| | | </if> |
| | | <if test="secassname != null">secassname, |
| | | </if> |
| | | <if test="thrasscode != null">thrasscode, |
| | | </if> |
| | | <if test="thrassname != null">thrassname, |
| | | </if> |
| | | <if test="canceltime != null">canceltime, |
| | | </if> |
| | | <if test="cancelreason != null">cancelreason, |
| | | </if> |
| | | <if test="cancelcode != null">cancelcode, |
| | | </if> |
| | | <if test="cancelname != null">cancelname, |
| | | </if> |
| | | <if test="visittype != null">visittype, |
| | | </if> |
| | | <if test="status != null">status, |
| | | </if> |
| | | <if test="schemetime != null">schemetime, |
| | | </if> |
| | | <if test="schemestatus != null">schemestatus, |
| | | </if> |
| | | <if test="delFlag != null">del_flag, |
| | | </if> |
| | | <if test="updateBy != null">update_by, |
| | | </if> |
| | | <if test="updateTime != null">update_time, |
| | | </if> |
| | | <if test="createBy != null">create_by, |
| | | </if> |
| | | <if test="createTime != null">create_time, |
| | | </if> |
| | | <if test="isupload != null">isupload, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time, |
| | | </if> |
| | | <if test="orgid != null">orgid, |
| | | </if> |
| | | <if test="guid != null">guid, |
| | | </if> |
| | | <if test="pguid != null">pguid, |
| | | </if> |
| | | <if test="pid != null">pid, |
| | | </if> |
| | | <if test="inhospstate != null">inhospstate, |
| | | </if> |
| | | <if test="patno != null">patno, |
| | | </if> |
| | | <if test="patname != null">patname, |
| | | </if> |
| | | <if test="visitid != null">visitid, |
| | | </if> |
| | | <if test="serialnum != null">serialnum, |
| | | </if> |
| | | <if test="inhospno != null">inhospno, |
| | | </if> |
| | | <if test="hospitalname != null">hospitalname, |
| | | </if> |
| | | <if test="hospitalcode != null">hospitalcode, |
| | | </if> |
| | | <if test="deptid != null">deptid, |
| | | </if> |
| | | <if test="deptcode != null">deptcode, |
| | | </if> |
| | | <if test="deptname != null">deptname, |
| | | </if> |
| | | <if test="hospitaldistrictcode != null">hospitaldistrictcode, |
| | | </if> |
| | | <if test="hospitaldistrictname != null">hospitaldistrictname, |
| | | </if> |
| | | <if test="leaveldeptcode != null">leaveldeptcode, |
| | | </if> |
| | | <if test="leaveldeptname != null">leaveldeptname, |
| | | </if> |
| | | <if test="leavehospitaldistrictcode != null">leavehospitaldistrictcode, |
| | | </if> |
| | | <if test="leavehospitaldistrictname != null">leavehospitaldistrictname, |
| | | </if> |
| | | <if test="roomno != null">roomno, |
| | | </if> |
| | | <if test="bedNo != null">bed_no, |
| | | </if> |
| | | <if test="drcode != null">drcode, |
| | | </if> |
| | | <if test="drname != null">drname, |
| | | </if> |
| | | <if test="nurseId != null">nurse_id, |
| | | </if> |
| | | <if test="nurseName != null">nurse_name, |
| | | </if> |
| | | <if test="checkFlag != null">check_flag, |
| | | </if> |
| | | <if test="longTaskReason != null">long_task_reason, |
| | | </if> |
| | | <if test="opid != null">opid, |
| | | </if> |
| | | <if test="opcode != null">opcode, |
| | | </if> |
| | | <if test="opdesc != null">opdesc, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="patid != null">#{patid}, |
| | | </if> |
| | | <if test="patcode != null">#{patcode}, |
| | | </if> |
| | | <if test="paname != null">#{paname}, |
| | | </if> |
| | | <if test="opreqid != null">#{opreqid}, |
| | | </if> |
| | | <if test="opreqcode != null">#{opreqcode}, |
| | | </if> |
| | | <if test="opsstatus != null">#{opsstatus}, |
| | | </if> |
| | | <if test="optypecode != null">#{optypecode}, |
| | | </if> |
| | | <if test="optypename != null">#{optypename}, |
| | | </if> |
| | | <if test="operatortime != null">#{operatortime}, |
| | | </if> |
| | | <if test="opreqtime != null">#{opreqtime}, |
| | | </if> |
| | | <if test="reqdoccode != null">#{reqdoccode}, |
| | | </if> |
| | | <if test="reqdocname != null">#{reqdocname}, |
| | | </if> |
| | | <if test="reqdeptcode != null">#{reqdeptcode}, |
| | | </if> |
| | | <if test="reqdeptname != null">#{reqdeptname}, |
| | | </if> |
| | | <if test="reqloccode != null">#{reqloccode}, |
| | | </if> |
| | | <if test="reqlocname != null">#{reqlocname}, |
| | | </if> |
| | | <if test="remark != null">#{remark}, |
| | | </if> |
| | | <if test="surgeoncode != null">#{surgeoncode}, |
| | | </if> |
| | | <if test="surgeonname != null">#{surgeonname}, |
| | | </if> |
| | | <if test="firasscode != null">#{firasscode}, |
| | | </if> |
| | | <if test="firassname != null">#{firassname}, |
| | | </if> |
| | | <if test="secasscode != null">#{secasscode}, |
| | | </if> |
| | | <if test="secassname != null">#{secassname}, |
| | | </if> |
| | | <if test="thrasscode != null">#{thrasscode}, |
| | | </if> |
| | | <if test="thrassname != null">#{thrassname}, |
| | | </if> |
| | | <if test="canceltime != null">#{canceltime}, |
| | | </if> |
| | | <if test="cancelreason != null">#{cancelreason}, |
| | | </if> |
| | | <if test="cancelcode != null">#{cancelcode}, |
| | | </if> |
| | | <if test="cancelname != null">#{cancelname}, |
| | | </if> |
| | | <if test="visittype != null">#{visittype}, |
| | | </if> |
| | | <if test="status != null">#{status}, |
| | | </if> |
| | | <if test="schemetime != null">#{schemetime}, |
| | | </if> |
| | | <if test="schemestatus != null">#{schemestatus}, |
| | | </if> |
| | | <if test="delFlag != null">#{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">#{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">#{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">#{createBy}, |
| | | </if> |
| | | <if test="createTime != null">#{createTime}, |
| | | </if> |
| | | <if test="isupload != null">#{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">#{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">#{orgid}, |
| | | </if> |
| | | <if test="guid != null">#{guid}, |
| | | </if> |
| | | <if test="pguid != null">#{pguid}, |
| | | </if> |
| | | <if test="pid != null">#{pid}, |
| | | </if> |
| | | <if test="inhospstate != null">#{inhospstate}, |
| | | </if> |
| | | <if test="patno != null">#{patno}, |
| | | </if> |
| | | <if test="patname != null">#{patname}, |
| | | </if> |
| | | <if test="visitid != null">#{visitid}, |
| | | </if> |
| | | <if test="serialnum != null">#{serialnum}, |
| | | </if> |
| | | <if test="inhospno != null">#{inhospno}, |
| | | </if> |
| | | <if test="hospitalname != null">#{hospitalname}, |
| | | </if> |
| | | <if test="hospitalcode != null">#{hospitalcode}, |
| | | </if> |
| | | <if test="deptid != null">#{deptid}, |
| | | </if> |
| | | <if test="deptcode != null">#{deptcode}, |
| | | </if> |
| | | <if test="deptname != null">#{deptname}, |
| | | </if> |
| | | <if test="hospitaldistrictcode != null">#{hospitaldistrictcode}, |
| | | </if> |
| | | <if test="hospitaldistrictname != null">#{hospitaldistrictname}, |
| | | </if> |
| | | <if test="leaveldeptcode != null">#{leaveldeptcode}, |
| | | </if> |
| | | <if test="leaveldeptname != null">#{leaveldeptname}, |
| | | </if> |
| | | <if test="leavehospitaldistrictcode != null">#{leavehospitaldistrictcode}, |
| | | </if> |
| | | <if test="leavehospitaldistrictname != null">#{leavehospitaldistrictname}, |
| | | </if> |
| | | <if test="roomno != null">#{roomno}, |
| | | </if> |
| | | <if test="bedNo != null">#{bedNo}, |
| | | </if> |
| | | <if test="drcode != null">#{drcode}, |
| | | </if> |
| | | <if test="drname != null">#{drname}, |
| | | </if> |
| | | <if test="nurseId != null">#{nurseId}, |
| | | </if> |
| | | <if test="nurseName != null">#{nurseName}, |
| | | </if> |
| | | <if test="checkFlag != null">#{checkFlag}, |
| | | </if> |
| | | <if test="longTaskReason != null">#{longTaskReason}, |
| | | </if> |
| | | <if test="opid != null">#{opid}, |
| | | </if> |
| | | <if test="opcode != null">#{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">#{opdesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">#{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">#{opleveldesc}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updatePatMedOperation" parameterType="com.ruoyi.othervisit.domain.PatMedOperation"> |
| | | update pat_med_operation |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="patid != null">patid = |
| | | #{patid}, |
| | | </if> |
| | | <if test="patcode != null">patcode = |
| | | #{patcode}, |
| | | </if> |
| | | <if test="paname != null">paname = |
| | | #{paname}, |
| | | </if> |
| | | <if test="opreqid != null">opreqid = |
| | | #{opreqid}, |
| | | </if> |
| | | <if test="opreqcode != null">opreqcode = |
| | | #{opreqcode}, |
| | | </if> |
| | | <if test="opsstatus != null">opsstatus = |
| | | #{opsstatus}, |
| | | </if> |
| | | <if test="optypecode != null">optypecode = |
| | | #{optypecode}, |
| | | </if> |
| | | <if test="optypename != null">optypename = |
| | | #{optypename}, |
| | | </if> |
| | | <if test="operatortime != null">operatortime = |
| | | #{operatortime}, |
| | | </if> |
| | | <if test="opreqtime != null">opreqtime = |
| | | #{opreqtime}, |
| | | </if> |
| | | <if test="reqdoccode != null">reqdoccode = |
| | | #{reqdoccode}, |
| | | </if> |
| | | <if test="reqdocname != null">reqdocname = |
| | | #{reqdocname}, |
| | | </if> |
| | | <if test="reqdeptcode != null">reqdeptcode = |
| | | #{reqdeptcode}, |
| | | </if> |
| | | <if test="reqdeptname != null">reqdeptname = |
| | | #{reqdeptname}, |
| | | </if> |
| | | <if test="reqloccode != null">reqloccode = |
| | | #{reqloccode}, |
| | | </if> |
| | | <if test="reqlocname != null">reqlocname = |
| | | #{reqlocname}, |
| | | </if> |
| | | <if test="remark != null">remark = |
| | | #{remark}, |
| | | </if> |
| | | <if test="surgeoncode != null">surgeoncode = |
| | | #{surgeoncode}, |
| | | </if> |
| | | <if test="surgeonname != null">surgeonname = |
| | | #{surgeonname}, |
| | | </if> |
| | | <if test="firasscode != null">firasscode = |
| | | #{firasscode}, |
| | | </if> |
| | | <if test="firassname != null">firassname = |
| | | #{firassname}, |
| | | </if> |
| | | <if test="secasscode != null">secasscode = |
| | | #{secasscode}, |
| | | </if> |
| | | <if test="secassname != null">secassname = |
| | | #{secassname}, |
| | | </if> |
| | | <if test="thrasscode != null">thrasscode = |
| | | #{thrasscode}, |
| | | </if> |
| | | <if test="thrassname != null">thrassname = |
| | | #{thrassname}, |
| | | </if> |
| | | <if test="canceltime != null">canceltime = |
| | | #{canceltime}, |
| | | </if> |
| | | <if test="cancelreason != null">cancelreason = |
| | | #{cancelreason}, |
| | | </if> |
| | | <if test="cancelcode != null">cancelcode = |
| | | #{cancelcode}, |
| | | </if> |
| | | <if test="cancelname != null">cancelname = |
| | | #{cancelname}, |
| | | </if> |
| | | <if test="visittype != null">visittype = |
| | | #{visittype}, |
| | | </if> |
| | | <if test="status != null">status = |
| | | #{status}, |
| | | </if> |
| | | <if test="schemetime != null">schemetime = |
| | | #{schemetime}, |
| | | </if> |
| | | <if test="schemestatus != null">schemestatus = |
| | | #{schemestatus}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="isupload != null">isupload = |
| | | #{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time = |
| | | #{uploadTime}, |
| | | </if> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="guid != null">guid = |
| | | #{guid}, |
| | | </if> |
| | | <if test="pguid != null">pguid = |
| | | #{pguid}, |
| | | </if> |
| | | <if test="pid != null">pid = |
| | | #{pid}, |
| | | </if> |
| | | <if test="inhospstate != null">inhospstate = |
| | | #{inhospstate}, |
| | | </if> |
| | | <if test="patno != null">patno = |
| | | #{patno}, |
| | | </if> |
| | | <if test="patname != null">patname = |
| | | #{patname}, |
| | | </if> |
| | | <if test="visitid != null">visitid = |
| | | #{visitid}, |
| | | </if> |
| | | <if test="serialnum != null">serialnum = |
| | | #{serialnum}, |
| | | </if> |
| | | <if test="inhospno != null">inhospno = |
| | | #{inhospno}, |
| | | </if> |
| | | <if test="hospitalname != null">hospitalname = |
| | | #{hospitalname}, |
| | | </if> |
| | | <if test="hospitalcode != null">hospitalcode = |
| | | #{hospitalcode}, |
| | | </if> |
| | | <if test="deptid != null">deptid = |
| | | #{deptid}, |
| | | </if> |
| | | <if test="deptcode != null">deptcode = |
| | | #{deptcode}, |
| | | </if> |
| | | <if test="deptname != null">deptname = |
| | | #{deptname}, |
| | | </if> |
| | | <if test="hospitaldistrictcode != null">hospitaldistrictcode = |
| | | #{hospitaldistrictcode}, |
| | | </if> |
| | | <if test="hospitaldistrictname != null">hospitaldistrictname = |
| | | #{hospitaldistrictname}, |
| | | </if> |
| | | <if test="leaveldeptcode != null">leaveldeptcode = |
| | | #{leaveldeptcode}, |
| | | </if> |
| | | <if test="leaveldeptname != null">leaveldeptname = |
| | | #{leaveldeptname}, |
| | | </if> |
| | | <if test="leavehospitaldistrictcode != null">leavehospitaldistrictcode = |
| | | #{leavehospitaldistrictcode}, |
| | | </if> |
| | | <if test="leavehospitaldistrictname != null">leavehospitaldistrictname = |
| | | #{leavehospitaldistrictname}, |
| | | </if> |
| | | <if test="roomno != null">roomno = |
| | | #{roomno}, |
| | | </if> |
| | | <if test="bedNo != null">bed_no = |
| | | #{bedNo}, |
| | | </if> |
| | | <if test="drcode != null">drcode = |
| | | #{drcode}, |
| | | </if> |
| | | <if test="drname != null">drname = |
| | | #{drname}, |
| | | </if> |
| | | <if test="nurseId != null">nurse_id = |
| | | #{nurseId}, |
| | | </if> |
| | | <if test="nurseName != null">nurse_name = |
| | | #{nurseName}, |
| | | </if> |
| | | <if test="checkFlag != null">check_flag = |
| | | #{checkFlag}, |
| | | </if> |
| | | <if test="longTaskReason != null">long_task_reason = |
| | | #{longTaskReason}, |
| | | </if> |
| | | <if test="opid != null">opid = |
| | | #{opid}, |
| | | </if> |
| | | <if test="opcode != null">opcode = |
| | | #{opcode}, |
| | | </if> |
| | | <if test="opdesc != null">opdesc = |
| | | #{opdesc}, |
| | | </if> |
| | | <if test="oplevelcode != null">oplevelcode = |
| | | #{oplevelcode}, |
| | | </if> |
| | | <if test="opleveldesc != null">opleveldesc = |
| | | #{opleveldesc}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deletePatMedOperationById" parameterType="Long"> |
| | | update pat_med_operation |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deletePatMedOperationByIds" parameterType="String"> |
| | | update pat_med_operation |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </update> |
| | | |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <parent> |
| | | <artifactId>ruoyi</artifactId> |
| | | <groupId>com.ruoyi</groupId> |
| | | <version>3.8.5</version> |
| | | </parent> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | |
| | | <artifactId>ruoyi-outpatientvisit</artifactId> |
| | | |
| | | <description> |
| | | 鍿¥è¯é访模åï¼é¨è¯éè®¿ç¼æï¼æ«ææªå¤çé¨è¯è®°å½ â æç§å®¤/è¯æç»´åº¦å¹é
é¿æéè®¿ä»»å¡ â 建åä»»å¡ï¼çå¯ä¸å®ç°å¤ã |
| | | è¿ç§»å¯¹åº PatMedOuthospServiceImpl#dealOutpatientInfoï¼@ b25c3b51ï¼ã |
| | | |
| | | ä¾èµæ¹åï¼å¡å¿
ä¿æï¼ï¼ |
| | | æ¬æ¨¡åãåªä¾èµ ruoyi-commonãï¼ç»ä¸ä¾èµ smartorã |
| | | ââ å¦å smartor å·²ä¾èµæ¬æ¨¡åï¼ä¼å½¢æå¾ªç¯ä¾èµï¼Maven ç´æ¥æå»ºå¤±è´¥ã |
| | | 跨模åè½åä¸å¾èµ° ruoyi-common é䏿²çæ¥å£ï¼ |
| | | · ServiceTaskMatchApi ââ é¿æé访任å¡"å¹é
"ï¼ç§å®¤/è¯æç»´åº¦ï¼ |
| | | · VisitTaskCreateApi ââ åä»»å¡çæ¥/å/å¢ï¼å«"æ¥å·²åå¸é¿æä»»å¡"ï¼ |
| | | è¿ä¸¤ä¸ªæ¥å£å¨ smartor ä¾§é½æè¿æ¸¡å®ç°ï¼å°æ¥ãé访任å¡å建模åãæ¥ç®¡æ¶æ¢å®ç°æ¹å³å¯ã |
| | | |
| | | æ¯æéè¿ sys_config åæ°è¡¨éç outpatientvisit.enabled æ´ä½å
³éï¼è¿è¡æ¶è¯»åï¼æ¹å®æå¤ 10 ç§çæï¼ã |
| | | </description> |
| | | |
| | | <dependencies> |
| | | <!-- éç¨å·¥å
·ï¼åæ¶ä¼ é带å
¥ mybatis / swagger-annotations / commons-lang3 / jackson çï¼ --> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-common</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- |
| | | â ï¸ å»æãä¸ãä¾èµ ruoyi-quartzï¼ |
| | | ruoyi-quartz ä¾èµ smartorï¼è smartor ä¾èµæ¬æ¨¡å ââ å¼å
¥å®çäºé´æ¥ä¾èµ smartorï¼ |
| | | æ£æ¯æ¬æ¨¡åè¦é¿å
ç循ç¯ãæ¬æ¨¡åä¸å宿¶ä»»å¡ï¼å®æ¶å
¥å£å¨ RyTaskï¼å±è°ç¨æ¹ï¼ã |
| | | --> |
| | | |
| | | <!-- lombokï¼æ¾å¼å£°æçæ¬ï¼é¿å
注解å¤çå¨ç¼ºå¤± --> |
| | | <dependency> |
| | | <groupId>org.projectlombok</groupId> |
| | | <artifactId>lombok</artifactId> |
| | | <version>1.18.34</version> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | </project> |
| ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/OuthospVisitModule.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/api/OuthospDataFacade.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/api/OuthospVisitFacade.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/config/OuthospVisitProperties.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/config/OuthospVisitSwitch.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/controller/OuthospController.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/controller/OuthospProvisionalController.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/domain/PatMedOuthosp.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/domain/PatMedOuthospError.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/domain/PatMedOuthospProvisional.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/domain/PatMedOuthospQueryReq.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/mapper/PatMedOuthospErrorMapper.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/mapper/PatMedOuthospMapper.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/mapper/PatMedOuthospProvisionalMapper.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/service/OuthospDataService.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/service/OuthospProvisionalService.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/service/OuthospVisitTaskService.java
ruoyi-outpatientvisit/src/main/java/com/ruoyi/outpatientvisit/support/OuthospPartitionMaintainer.java
ruoyi-outpatientvisit/src/main/resources/mapper/outpatientvisit/PatMedOuthospErrorMapper.xml
ruoyi-outpatientvisit/src/main/resources/mapper/outpatientvisit/PatMedOuthospMapper.xml
ruoyi-outpatientvisit/src/main/resources/mapper/outpatientvisit/PatMedOuthospProvisionalMapper.xml
ruoyi-publicity/pom.xml
ruoyi-publicity/src/main/java/com/ruoyi/publicity/PublicityModule.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/api/DefaultPublicityApi.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/api/PublicityFacade.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/config/PublicityAvailabilityInterceptor.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/config/PublicityProperties.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/config/PublicitySwitch.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/config/PublicityWebConfig.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/controller/PublicityController.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/service/PublicityService.java
ruoyi-publicity/src/main/java/com/ruoyi/publicity/service/impl/PublicityServiceImpl.java
ruoyi-publicity/src/test/java/com/ruoyi/publicity/api/PublicityContextCheck.java
ruoyi-publicity/src/test/resources/logback-test.xml
ruoyi-template/pom.xml
ruoyi-template/src/main/java/com/ruoyi/template/TemplateModule.java
ruoyi-template/src/main/java/com/ruoyi/template/api/TemplateFacade.java
ruoyi-template/src/main/java/com/ruoyi/template/config/TemplateAvailabilityInterceptor.java
ruoyi-template/src/main/java/com/ruoyi/template/config/TemplateProperties.java
ruoyi-template/src/main/java/com/ruoyi/template/config/TemplateSwitch.java
ruoyi-template/src/main/java/com/ruoyi/template/config/TemplateWebConfig.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/BaseTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/BaseTagcategoryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/HeCategoryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/HeLibraryAssortController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/HeLibraryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/HeLibraryTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/HeLocallibraryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/Icd10AssociationController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaExtemplateCategoryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaExtemplateController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaExtemplatescriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaScriptAssortController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaScriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaScriptTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaScriptTargetController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaScriptTargetoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTargetAssortController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTargetController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTargetTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTargetoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTemplateAssortController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTemplateController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTemplateScriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTemplateTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrLibaTemplateTargetoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrTaskTemplateController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrTaskTemplateScriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/IvrTaskTemplateTargetoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SchemeLocallibraryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyCategoryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyFinishController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyFinishoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyFinishtopicController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibExceptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibResultController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibScriptCategoryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibScriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibScriptOptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibScriptTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateCategoryController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateScriptWjxController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateTagController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateTargetoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateTargetoptionWjxController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyLibTemplateWjxController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyTaskScriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyTaskScriptoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyTaskTemplateController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyTaskTemplateScriptController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyTaskTemplateTargetoptionController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/SvyTopicController.java
ruoyi-template/src/main/java/com/ruoyi/template/controller/TemplateDeptController.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/BaseTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/BaseTagcategory.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeCategory.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeCategoryVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeLibrary.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeLibraryAssort.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeLibraryAssortVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeLibraryTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeLibraryVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/HeLocallibrary.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/Icd10Association.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaExtemplate.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaExtemplateCategory.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaExtemplatescript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScriptAssort.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScriptAssortVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScriptTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScriptTarget.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScriptTargetoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaScriptVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTarget.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTargetAssort.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTargetAssortVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTargetTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTargetTagVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTargetVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTargetoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplate.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateAssort.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateAssortVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateScriptVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateTargetoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplateVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrLibaTemplatetargetAssort.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrTaskTemplate.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrTaskTemplateScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrTaskTemplateScriptVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrTaskTemplateTargetoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/IvrTaskTemplateVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SchemeLocallibrary.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyCategory.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyCategoryVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyFinish.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyFinishoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyFinishtopic.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibException.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibResult.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibScriptCategory.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibScriptCategoryVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibScriptOption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibScriptRes.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibScriptTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplate.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateCategory.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateCategoryVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateReq.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateScriptVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateScriptWjx.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateTag.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateTargetoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateTargetoptionWjx.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTemplateWjx.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTopicAndOptionRes.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyLibTopicdirection.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskScriptoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskTemplate.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskTemplateScript.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskTemplateScriptVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskTemplateTargetoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTaskTemplateVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTopic.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTopicReq.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/SvyTopicoption.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/TemplateDept.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/TemplateDeptVO.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/TemplateSmsRequest.java
ruoyi-template/src/main/java/com/ruoyi/template/domain/VO/HeLibraryCountVO.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/BaseTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/BaseTagcategoryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/HeCategoryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/HeLibraryAssortMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/HeLibraryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/HeLibraryTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/HeLocallibraryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/Icd10AssociationMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaExtemplateCategoryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaExtemplateMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaExtemplatescriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaScriptAssortMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaScriptTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaScriptTargetMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaScriptTargetoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTargetAssortMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTargetMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTargetTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTargetoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTemplateAssortMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTemplateMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTemplateScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTemplateTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrLibaTemplateTargetoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrTaskTemplateMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrTaskTemplateScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/IvrTaskTemplateTargetoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SchemeLocallibraryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyCategoryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyFinishMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyFinishoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyFinishtopicMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibExceptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibResultMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibScriptCategoryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibScriptOptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibScriptTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateCategoryMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateScriptWjxMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateTagMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateTargetoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateTargetoptionWjxMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTemplateWjxMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyLibTopicdirectionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTaskScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTaskScriptoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTaskTemplateMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTaskTemplateScriptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTaskTemplateTargetoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTopicMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/SvyTopicoptionMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/mapper/TemplateDeptMapper.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IBaseTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IBaseTagcategoryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IHeCategoryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IHeLibraryAssortService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IHeLibraryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IHeLibraryTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IHeLocallibraryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIcd10AssociationService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaExtemplateCategoryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaExtemplateService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaExtemplatescriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaScriptAssortService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaScriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaScriptTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaScriptTargetService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaScriptTargetoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTargetAssortService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTargetService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTargetTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTargetoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTemplateAssortService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTemplateScriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTemplateService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTemplateTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrLibaTemplateTargetoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrTaskTemplateScriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrTaskTemplateService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/IIvrTaskTemplateTargetoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISchemeLocallibraryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyCategoryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyFinishService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyFinishoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyFinishtopicService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibExceptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibResultService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibScriptCategoryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibScriptOptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibScriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibScriptTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateCategoryService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateScriptWjxService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateTagService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateTargetoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateTargetoptionWjxService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTemplateWjxService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyLibTopicdirectionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyTaskScriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyTaskScriptoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyTaskTemplateScriptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyTaskTemplateService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyTaskTemplateTargetoptionService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ISvyTopicService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/ITemplateDeptService.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/BaseTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/BaseTagcategoryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/HeCategoryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/HeLibraryAssortServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/HeLibraryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/HeLibraryTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/HeLocallibraryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/Icd10AssociationServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaExtemplateCategoryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaExtemplateServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaExtemplatescriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaScriptAssortServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaScriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaScriptTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaScriptTargetServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaScriptTargetoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTargetAssortServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTargetServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTargetTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTargetoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTemplateAssortServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTemplateScriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTemplateServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTemplateTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrLibaTemplateTargetoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrTaskTemplateScriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrTaskTemplateServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/IvrTaskTemplateTargetoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SchemeLocallibraryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyCategoryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyFinishServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyFinishoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyFinishtopicServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibExceptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibResultServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibScriptCategoryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibScriptOptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibScriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibScriptTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateCategoryServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateScriptWjxServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateTagServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateTargetoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateTargetoptionWjxServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTemplateWjxServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyLibTopicdirectionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyTaskScriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyTaskScriptoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyTaskTemplateScriptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyTaskTemplateServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyTaskTemplateTargetoptionServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/SvyTopicServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/service/impl/TemplateDeptServiceImpl.java
ruoyi-template/src/main/java/com/ruoyi/template/support/PinYinUtil.java
ruoyi-template/src/main/resources/mapper/template/BaseTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/BaseTagcategoryMapper.xml
ruoyi-template/src/main/resources/mapper/template/HeCategoryMapper.xml
ruoyi-template/src/main/resources/mapper/template/HeLibraryAssortMapper.xml
ruoyi-template/src/main/resources/mapper/template/HeLibraryMapper.xml
ruoyi-template/src/main/resources/mapper/template/HeLibraryTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/HeLocallibraryMapper.xml
ruoyi-template/src/main/resources/mapper/template/Icd10AssociationMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaExtemplateCategoryMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaExtemplateMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaExtemplatescriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaScriptAssortMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaScriptTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaScriptTargetMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaScriptTargetoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTargetAssortMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTargetMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTargetTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTargetoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTemplateAssortMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTemplateMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTemplateScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTemplateTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrLibaTemplateTargetoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrTaskTemplateMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrTaskTemplateScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/IvrTaskTemplateTargetoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SchemeLocallibraryMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyCategoryMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyFinishMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyFinishoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyFinishtopicMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibExceptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibResultMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibScriptOptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibScriptTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplageCategoryMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateScriptWjxMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateTagMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateTargetoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateTargetoptionWjxMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTemplateWjxMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTopicCategoryMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyLibTopicdirectionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTaskScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTaskScriptoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTaskTemplateMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTaskTemplateScriptMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTaskTemplateTargetoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTopicMapper.xml
ruoyi-template/src/main/resources/mapper/template/SvyTopicoptionMapper.xml
ruoyi-template/src/main/resources/mapper/template/TemplateDeptMapper.xml
ruoyi-template/src/test/java/com/ruoyi/template/config/TemplateSwitchCheck.java |