妇幼-补充住院随访档案生成日志、完成事件及自检文件
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # å¦ä¿æ¥å£ææ¡£ï¼å¦ç§ / å¿ç§æ¡£æ¡ï¼ |
| | | |
| | | > æ¬ææ¡£ä»
å
å«ä»¥ä¸ 8 个æ¥å£ï¼ |
| | | |
| | | | åºå· | 模å | æ¥å£ | æ¹æ³ | 说æ | |
| | | | --- | --- | --- | --- | --- | |
| | | | 1 | å¦ç§æ¡£æ¡ | `/smartor/maternityArchive/selectPatMaternityArchiveList` | POST | æ¥è¯¢å¦ç§æ¡£æ¡å表 | |
| | | | 2 | å¦ç§æ¡£æ¡ | `/smartor/maternityArchive/insertOrUpdateMaternityArchive` | POST | æ°å¢æä¿®æ¹å¦ç§æ¡£æ¡ | |
| | | | 3 | å¦ç§æ¡£æ¡ | `/smartor/maternityArchive/batchDelete` | POST | æ¹éå é¤å¦ç§æ¡£æ¡ï¼å«è¯¦æ
ï¼ | |
| | | | 4 | å¦ç§æ¡£æ¡è¯¦æ
| `/smartor/maternityArchiveDetail/getInfo/{archiveid}` | GET | è·åå¦ç§æ¡£æ¡è¯¦æ
| |
| | | | 5 | å¿ç§æ¡£æ¡ | `/smartor/childArchive/selectPatChildArchiveList` | POST | æ¥è¯¢å¿ç§æ¡£æ¡å表 | |
| | | | 6 | å¿ç§æ¡£æ¡ | `/smartor/childArchive/insertOrUpdateChildArchive` | POST | æ°å¢æä¿®æ¹å¿ç§æ¡£æ¡ | |
| | | | 7 | å¿ç§æ¡£æ¡ | `/smartor/childArchive/batchDelete` | POST | æ¹éå é¤å¿ç§æ¡£æ¡ï¼å«è¯¦æ
ï¼ | |
| | | | 8 | å¿ç§æ¡£æ¡è¯¦æ
| `/smartor/childArchiveDetail/getInfo/{archiveid}` | GET | è·åå¿ç§æ¡£æ¡è¯¦æ
| |
| | | |
| | | --- |
| | | |
| | | ## ä¸ãéç¨è¯´æ |
| | | |
| | | ### 1.1 æå¡å°å |
| | | |
| | | - åç¼ï¼`http://æå¡IP:端å£`ï¼é»è®¤å¼åç¯å¢ä¸º `http://localhost:8080`ï¼ |
| | | |
| | | ### 1.2 è®¤è¯æ¹å¼ |
| | | |
| | | - æææ¥å£åéç»å½åè°ç¨ã |
| | | - 请æ±å¤´æºå¸¦ï¼`Authorization: Bearer {token}` |
| | | |
| | | ### 1.3 请æ±ä¸ååºæ ¼å¼ |
| | | |
| | | - 请æ±ä½ï¼`Content-Type: application/json` |
| | | - å表æ¥å£ååºç»æï¼TableDataInfoï¼ï¼ |
| | | |
| | | | åæ®µ | ç±»å | 说æ | |
| | | | --- | --- | --- | |
| | | | total | long | æ»è®°å½æ° | |
| | | | rows | array | æ°æ®å表 | |
| | | | code | int | ç¶æç ï¼200 为æå | |
| | | | msg | string | æç¤ºä¿¡æ¯ï¼å¦âæ¥è¯¢æåâ | |
| | | |
| | | - éå表æ¥å£ååºç»æï¼AjaxResultï¼ï¼ |
| | | |
| | | | åæ®µ | ç±»å | 说æ | |
| | | | --- | --- | --- | |
| | | | code | int | ç¶æç ï¼200 为æåï¼500 为失败 | |
| | | | msg | string | æç¤ºä¿¡æ¯ï¼å¦âæä½æåâãâæä½å¤±è´¥â | |
| | | | data | object | ä¸å¡æ°æ®ï¼å¯è½ä¸ºç©ºï¼ | |
| | | |
| | | --- |
| | | |
| | | ## äºãå¦ç§æ¡£æ¡æ¥å£ |
| | | |
| | | ### 2.1 æ¥è¯¢å¦ç§æ¡£æ¡å表 |
| | | |
| | | - **URL**ï¼`POST /smartor/maternityArchive/selectPatMaternityArchiveList` |
| | | - **说æ**ï¼å页æ¥è¯¢å¦ç§æ¡£æ¡ä¸»è¡¨åè¡¨ï¼æªå 餿°æ® `del_flag = '0'`ï¼ã |
| | | |
| | | **请æ±ä½ï¼JSONï¼å
¨é¨å¯éï¼** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | pageNum | Integer | å¦ | 页ç ï¼å页æ¶å¿
å¡«ï¼ | |
| | | | pageSize | Integer | å¦ | æ¯é¡µæ¡æ°ï¼å页æ¶å¿
å¡«ï¼ | |
| | | | archiveType | String | å¦ | æ¡£æ¡ç±»åï¼1 æ©åå
³ç±ï¼2 å´ç»ç»æMHI | |
| | | | outhospno | String | å¦ | é¨è¯ç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | inhospno | String | å¦ | ä½é¢ç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | serialnum | String | å¦ | æµæ°´å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | patid | Long | å¦ | æ£è
ID | |
| | | | patname | String | å¦ | æ£è
å§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | parentname | String | å¦ | å®¶é¿å§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | birthdate | Date | å¦ | åºçæ¥æ | |
| | | | idcardno | String | å¦ | è¯ä»¶å·ç ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | phone | String | å¦ | èç³»çµè¯ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | diagTime | Date | å¦ | è¯ææ¶é´ | |
| | | | plannedFollowTime | Date | å¦ | æé访æ¶é´ | |
| | | | followupCycleTimes | String | å¦ | éè®¿å¨æ(次æ°) | |
| | | | sex | Long | å¦ | æ§å«ï¼1 ç·ï¼2 女 | |
| | | | doctorCode | String | å¦ | 主治å»çï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | doctorName | String | å¦ | 主治å»çå§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | managementDoctorCode | String | å¦ | ç»ç®¡å»çï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | managementDoctorName | String | å¦ | ç»ç®¡å»çå§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | deptcode | String | å¦ | ç§å®¤ç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | deptname | String | å¦ | ç§å®¤åç§°ï¼æ¨¡ç³å¹é
ï¼ | |
| | | | wardcode | String | å¦ | ç
åºç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | wardname | String | å¦ | ç
åºåç§°ï¼æ¨¡ç³å¹é
ï¼ | |
| | | | icd10code | String | å¦ | è¯æIDï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | diagname | String | å¦ | è¯æåç§°ï¼æ¨¡ç³å¹é
ï¼ | |
| | | | pregnancySituation | String | å¦ | å¦å¨ æ
åµ | |
| | | | closeStatus | String | å¦ | ç»æ¡ç¶æ | |
| | | | registerUser | String | å¦ | ç»è®°äººå | |
| | | | orgid | String | å¦ | å»é¢æºæIDï¼å端æç»å½ç¨æ·èªå¨æ³¨å
¥ï¼ | |
| | | | campusid | String | å¦ | é¢åºIDï¼å端æç»å½ç¨æ·èªå¨æ³¨å
¥ï¼ | |
| | | | params.beginTime | String | å¦ | 建档æ¶é´èå´å¼å§ï¼æ ¼å¼ yyyy-MM-dd | |
| | | | params.endTime | String | å¦ | 建档æ¶é´èå´ç»æï¼æ ¼å¼ yyyy-MM-dd | |
| | | |
| | | **请æ±ç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "pageNum": 1, |
| | | "pageSize": 10, |
| | | "patname": "å¼ ", |
| | | "archiveType": "1" |
| | | } |
| | | ``` |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æ¥è¯¢æå", |
| | | "total": 1, |
| | | "rows": [ |
| | | { |
| | | "id": 1001, |
| | | "archiveType": "1", |
| | | "outhospno": "MZ20261001001", |
| | | "inhospno": null, |
| | | "serialnum": "LS20261001001", |
| | | "patid": 9001, |
| | | "patname": "å¼ ä¸", |
| | | "parentname": null, |
| | | "birthdate": "1995-06-01 00:00:00", |
| | | "idcardno": "330102199506010022", |
| | | "phone": "13800000000", |
| | | "diagTime": "2026-10-01 09:30:00", |
| | | "archiveTime": "2026-10-01 10:00:00", |
| | | "plannedFollowTime": "2026-11-01 00:00:00", |
| | | "followupCycleTimes": "4", |
| | | "sex": 2, |
| | | "doctorCode": "D001", |
| | | "doctorName": "æå»ç", |
| | | "managementDoctorCode": "D002", |
| | | "managementDoctorName": "çå»ç", |
| | | "deptcode": "FK", |
| | | "deptname": "å¦ç§", |
| | | "wardcode": null, |
| | | "wardname": null, |
| | | "icd10code": "O20.0", |
| | | "diagname": "å
å
æµäº§", |
| | | "pregnancySituation": "å12å¨", |
| | | "closeStatus": "0", |
| | | "registerUser": "æå»ç", |
| | | "orgid": "1", |
| | | "campusid": "1", |
| | | "delFlag": "0" |
| | | } |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 2.2 æ°å¢æä¿®æ¹å¦ç§æ¡£æ¡ |
| | | |
| | | - **URL**ï¼`POST /smartor/maternityArchive/insertOrUpdateMaternityArchive` |
| | | - **说æ**ï¼åæ¶ç»´æ¤å¦ç§æ¡£æ¡ä¸»è¡¨ä¸è¯¦æ
表ã |
| | | - 主表æ `archiveid`ï¼æè¯¦æ
æ `id` ä¸è½åæ¥ï¼ä¸å卿¶æ´æ°ï¼å¦åæ°å¢ã |
| | | - è¿å `data` 为å¦ç§æ¡£æ¡ä¸»è¡¨IDã |
| | | |
| | | **请æ±ä½ï¼JSONï¼** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | id | Long | å¦ | å¦ç§æ¡£æ¡è¯¦æ
主é®IDï¼æ´æ°è¯¦æ
æ¶ä¼ å
¥ï¼ | |
| | | | archiveid | Long | å¦ | å¦ç§æ¡£æ¡ä¸»è¡¨IDï¼æ´æ°ä¸»è¡¨æ¶ä¼ å
¥ï¼ | |
| | | | archiveType | String | å¦ | æ¡£æ¡ç±»åï¼1 æ©åå
³ç±ï¼2 å´ç»ç»æMHI | |
| | | | sourceType | String | å¦ | æ¥æºç±»åï¼1 é¨è¯æ¥è¯ï¼2 ä½é¢é访ï¼3 æå·¥æ°å¢ | |
| | | | sourceBizId | Long | å¦ | æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID | |
| | | | sourceBizNo | String | å¦ | æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å· | |
| | | | sourceSubId | Long | å¦ | æ¥æºé访åä»»å¡IDï¼ä½é¢éè®¿çææ¶ä¸º service_subtask.id | |
| | | | outhospno | String | å¦ | é¨è¯ç¼å· | |
| | | | inhospno | String | å¦ | ä½é¢ç¼å· | |
| | | | serialnum | String | å¦ | æµæ°´å· | |
| | | | patid | Long | å¦ | æ£è
ID | |
| | | | patname | String | å¦ | æ£è
å§å | |
| | | | birthdate | Date | å¦ | åºçæ¥æï¼æ ¼å¼ yyyy-MM-dd HH:mm:ss | |
| | | | idcardno | String | å¦ | è¯ä»¶å·ç | |
| | | | phone | String | å¦ | èç³»çµè¯ | |
| | | | diagTime | Date | å¦ | è¯ææ¶é´ | |
| | | | archiveTime | Date | å¦ | 建档æ¶é´ | |
| | | | plannedFollowTime | Date | å¦ | æé访æ¶é´ | |
| | | | sex | Long | å¦ | æ§å«ï¼1 ç·ï¼2 女 | |
| | | | doctorCode | String | å¦ | 主治å»ç | |
| | | | doctorName | String | å¦ | 主治å»çå§å | |
| | | | managementDoctorCode | String | å¦ | ç»ç®¡å»ç | |
| | | | managementDoctorName | String | å¦ | ç»ç®¡å»çå§å | |
| | | | deptcode | String | å¦ | ç§å®¤ç¼å· | |
| | | | deptname | String | å¦ | ç§å®¤åç§° | |
| | | | wardcode | String | å¦ | ç
åºç¼å· | |
| | | | wardname | String | å¦ | ç
åºåç§° | |
| | | | icd10code | String | å¦ | è¯æID | |
| | | | diagname | String | å¦ | è¯æåç§° | |
| | | | pregnancySituation | String | å¦ | å¦å¨ æ
åµ | |
| | | | specificSituation | String | å¦ | å
·ä½æ
åµ | |
| | | | handleSuggestion | String | å¦ | å¤ç建议 | |
| | | | closeStatus | String | å¦ | ç»æ¡ç¶æ | |
| | | | isRecordEstablished | String | å¦ | æ¯å¦å»ºåï¼0 å¦ï¼1 æ¯ | |
| | | | dueDate | Date | å¦ | é¢äº§æ | |
| | | | registerUser | String | å¦ | ç»è®°äººå | |
| | | | followupPeriod | String | å¦ | éè®¿å¨æ | |
| | | | followupCycleTimes | String | å¦ | éè®¿å¨æ(次æ°) | |
| | | | lastMenstrualTime | Date | å¦ | æ«æ¬¡æç» | |
| | | | firstDoctorCode | String | å¦ | é¦è¯å»ç | |
| | | | firstDoctorName | String | å¦ | é¦è¯å»çå§å | |
| | | | contactPhone | String | å¦ | è系人èç³»çµè¯ | |
| | | | address | String | å¦ | å±
ä½å°å | |
| | | | epEarlyPregnancyFollowupForm | String | å¦ | æ©åå
³ç±-æ©åé访表 | |
| | | | mhiMenopauseFollowupSystemIssuesForm | String | å¦ | å´ç»ç»æMHI-æ´å¹´æé访系ç»é®é¢è¡¨ | |
| | | | mhiMhtInitialVisitMedicalRecordForm | String | å¦ | å´ç»ç»æMHI-MHTé¦è¯ç
å表 | |
| | | | mhiMhtFollowUpMedicalRecordForm | String | å¦ | å´ç»ç»æMHI-MHTå¤è¯ç
å表 | |
| | | | mhiModifiedKuppermanScoringScaleForm | String | å¦ | å´ç»ç»æMHI-æ¹è¯Kuppermanè¯åæ å表 | |
| | | | mhiMenopauseRatingScaleForm | String | å¦ | å´ç»ç»æMHI-æ´å¹´æè¯å®é表ï¼MRSï¼ | |
| | | | mhiPittsburghSleepQualityIndexForm | String | å¦ | å´ç»ç»æMHI-å¹å
¹å ¡ç¡ç è´¨éææ°é表ï¼PSQIï¼ | |
| | | | remark | String | å¦ | 夿³¨ | |
| | | | orgid | String | å¦ | å»é¢æºæIDï¼å端æç»å½ç¨æ·èªå¨è¦çï¼ | |
| | | | campusid | String | å¦ | é¢åºIDï¼å端æç»å½ç¨æ·èªå¨è¦çï¼ | |
| | | | delFlag | String | å¦ | å 餿 å¿ï¼0 æªå é¤ï¼1 å·²å é¤ï¼é»è®¤ 0ï¼ | |
| | | |
| | | **请æ±ç¤ºä¾ï¼æ°å¢ï¼** |
| | | |
| | | ```json |
| | | { |
| | | "archiveType": "1", |
| | | "patid": 9001, |
| | | "patname": "å¼ ä¸", |
| | | "birthdate": "1995-06-01 00:00:00", |
| | | "idcardno": "330102199506010022", |
| | | "phone": "13800000000", |
| | | "diagTime": "2026-10-01 09:30:00", |
| | | "archiveTime": "2026-10-01 10:00:00", |
| | | "sex": 2, |
| | | "deptcode": "FK", |
| | | "deptname": "å¦ç§", |
| | | "pregnancySituation": "å12å¨", |
| | | "closeStatus": "0" |
| | | } |
| | | ``` |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå", |
| | | "data": 1001 |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 2.3 æ¹éå é¤å¦ç§æ¡£æ¡ |
| | | |
| | | - **URL**ï¼`POST /smartor/maternityArchive/batchDelete` |
| | | - **说æ**ï¼æä¸»è¡¨IDæ¹éå é¤å¦ç§æ¡£æ¡ï¼åæ¶é»è¾å é¤å¯¹åºçå¦ç§æ¡£æ¡è¯¦æ
è¡¨æ°æ®ï¼`del_flag` 置为 1ï¼ï¼ä¸¤æ¥å¨åä¸äºå¡ä¸ã |
| | | |
| | | **请æ±ä½ï¼JSONï¼** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | ids | Long[] | æ¯ | å¦ç§æ¡£æ¡ä¸»è¡¨IDæ°ç» | |
| | | |
| | | **请æ±ç¤ºä¾** |
| | | |
| | | ```json |
| | | [1001, 1002, 1003] |
| | | ``` |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå" |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 2.4 è·åå¦ç§æ¡£æ¡è¯¦æ
|
| | | |
| | | - **URL**ï¼`GET /smartor/maternityArchiveDetail/getInfo/{archiveid}` |
| | | - **说æ**ï¼ææ¡£æ¡ä¸»è¡¨IDæ¥è¯¢å¦ç§æ¡£æ¡è¯¦æ
ï¼æªå 餿°æ® `del_flag = '0'`ï¼ï¼è¿åç¬¬ä¸æ¡è¯¦æ
è®°å½ï¼æ æ°æ®æ¶ `data` 为 `null`ã |
| | | |
| | | **è·¯å¾åæ°** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | archiveid | Long | æ¯ | å¦ç§æ¡£æ¡ä¸»è¡¨IDï¼`pat_maternity_archive.id`ï¼ | |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå", |
| | | "data": { |
| | | "id": 5001, |
| | | "archiveid": 1001, |
| | | "archiveType": "1", |
| | | "sourceType": "1", |
| | | "outhospno": "MZ20261001001", |
| | | "inhospno": null, |
| | | "serialnum": "LS20261001001", |
| | | "patid": 9001, |
| | | "patname": "å¼ ä¸", |
| | | "birthdate": "1995-06-01 00:00:00", |
| | | "idcardno": "330102199506010022", |
| | | "phone": "13800000000", |
| | | "diagTime": "2026-10-01 09:30:00", |
| | | "archiveTime": "2026-10-01 10:00:00", |
| | | "plannedFollowTime": "2026-11-01 00:00:00", |
| | | "sex": 2, |
| | | "doctorCode": "D001", |
| | | "doctorName": "æå»ç", |
| | | "managementDoctorCode": "D002", |
| | | "managementDoctorName": "çå»ç", |
| | | "deptcode": "FK", |
| | | "deptname": "å¦ç§", |
| | | "wardcode": null, |
| | | "wardname": null, |
| | | "icd10code": "O20.0", |
| | | "diagname": "å
å
æµäº§", |
| | | "pregnancySituation": "å12å¨", |
| | | "specificSituation": "å
·ä½æ
åµ", |
| | | "handleSuggestion": "注æä¼æ¯", |
| | | "closeStatus": "0", |
| | | "isRecordEstablished": "1", |
| | | "dueDate": "2027-03-20 00:00:00", |
| | | "registerUser": "æå»ç", |
| | | "followupPeriod": "æ¯æ", |
| | | "followupCycleTimes": "4", |
| | | "lastMenstrualTime": "2026-06-10 00:00:00", |
| | | "firstDoctorCode": "D001", |
| | | "firstDoctorName": "æå»ç", |
| | | "contactPhone": "13900000000", |
| | | "address": "æå·å¸è¥¿æ¹åº", |
| | | "orgid": "1", |
| | | "campusid": "1", |
| | | "delFlag": "0" |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | > è¿å对象 `data` 为å¦ç§æ¡£æ¡è¯¦æ
对象ï¼å段说æå 2.2 请æ±ä½å段ã |
| | | |
| | | --- |
| | | |
| | | ## ä¸ãå¿ç§æ¡£æ¡æ¥å£ |
| | | |
| | | ### 3.1 æ¥è¯¢å¿ç§æ¡£æ¡å表 |
| | | |
| | | - **URL**ï¼`POST /smartor/childArchive/selectPatChildArchiveList` |
| | | - **说æ**ï¼å页æ¥è¯¢å¿ç§æ¡£æ¡ä¸»è¡¨åè¡¨ï¼æªå 餿°æ® `del_flag = '0'`ï¼ã |
| | | |
| | | **请æ±ä½ï¼JSONï¼å
¨é¨å¯éï¼** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | pageNum | Integer | å¦ | 页ç ï¼å页æ¶å¿
å¡«ï¼ | |
| | | | pageSize | Integer | å¦ | æ¯é¡µæ¡æ°ï¼å页æ¶å¿
å¡«ï¼ | |
| | | | archiveType | String | å¦ | æ¡£æ¡ç±»åï¼1 è¥å
»æ§ç¾ç
ï¼2 å¦ä¹ å°é¾ï¼3 é«å±å¿ä¸æ¡ | |
| | | | outhospno | String | å¦ | é¨è¯ç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | inhospno | String | å¦ | ä½é¢ç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | serialnum | String | å¦ | æµæ°´å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | patid | Long | å¦ | æ£è
ID | |
| | | | patname | String | å¦ | æ£è
å§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | parentname | String | å¦ | å®¶é¿å§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | birthdate | Date | å¦ | åºçæ¥æ | |
| | | | idcardno | String | å¦ | è¯ä»¶å·ç ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | phone | String | å¦ | èç³»çµè¯ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | diagTime | Date | å¦ | è¯ææ¶é´ | |
| | | | plannedFollowTime | Date | å¦ | æé访æ¶é´ | |
| | | | followupCycleTimes | String | å¦ | éè®¿å¨æ(次æ°) | |
| | | | sex | Long | å¦ | æ§å«ï¼1 ç·ï¼2 女 | |
| | | | doctorCode | String | å¦ | 主治å»çï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | doctorName | String | å¦ | 主治å»çå§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | managementDoctorCode | String | å¦ | ç»ç®¡å»çï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | managementDoctorName | String | å¦ | ç»ç®¡å»çå§åï¼æ¨¡ç³å¹é
ï¼ | |
| | | | deptcode | String | å¦ | ç§å®¤ç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | deptname | String | å¦ | ç§å®¤åç§°ï¼æ¨¡ç³å¹é
ï¼ | |
| | | | wardcode | String | å¦ | ç
åºç¼å·ï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | wardname | String | å¦ | ç
åºåç§°ï¼æ¨¡ç³å¹é
ï¼ | |
| | | | icd10code | String | å¦ | è¯æIDï¼ç²¾ç¡®å¹é
ï¼ | |
| | | | diagname | String | å¦ | è¯æåç§°ï¼æ¨¡ç³å¹é
ï¼ | |
| | | | closeStatus | String | å¦ | ç»æ¡ç¶æ | |
| | | | registerUser | String | å¦ | ç»è®°äººå | |
| | | | orgid | String | å¦ | å»é¢æºæIDï¼å端æç»å½ç¨æ·èªå¨æ³¨å
¥ï¼ | |
| | | | campusid | String | å¦ | é¢åºIDï¼å端æç»å½ç¨æ·èªå¨æ³¨å
¥ï¼ | |
| | | | params.beginTime | String | å¦ | 建档æ¶é´èå´å¼å§ï¼æ ¼å¼ yyyy-MM-dd | |
| | | | params.endTime | String | å¦ | 建档æ¶é´èå´ç»æï¼æ ¼å¼ yyyy-MM-dd | |
| | | |
| | | **请æ±ç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "pageNum": 1, |
| | | "pageSize": 10, |
| | | "patname": "ç", |
| | | "archiveType": "1" |
| | | } |
| | | ``` |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æ¥è¯¢æå", |
| | | "total": 1, |
| | | "rows": [ |
| | | { |
| | | "id": 2001, |
| | | "archiveType": "1", |
| | | "outhospno": "MZ20261001002", |
| | | "inhospno": null, |
| | | "serialnum": "LS20261001002", |
| | | "patid": 9002, |
| | | "patname": "çå°å®", |
| | | "parentname": "ç强", |
| | | "birthdate": "2023-01-15 00:00:00", |
| | | "idcardno": null, |
| | | "phone": "13800000001", |
| | | "diagTime": "2026-10-01 09:00:00", |
| | | "archiveTime": "2026-10-01 09:30:00", |
| | | "plannedFollowTime": "2026-11-01 00:00:00", |
| | | "followupCycleTimes": "3", |
| | | "sex": 1, |
| | | "doctorCode": "D003", |
| | | "doctorName": "èµµå»ç", |
| | | "managementDoctorCode": "D004", |
| | | "managementDoctorName": "åå»ç", |
| | | "deptcode": "EK", |
| | | "deptname": "å¿ç§", |
| | | "wardcode": null, |
| | | "wardname": null, |
| | | "icd10code": "E44.0", |
| | | "diagname": "ä¸åº¦è¥å
»ä¸è¯", |
| | | "closeStatus": "0", |
| | | "registerUser": "èµµå»ç", |
| | | "orgid": "1", |
| | | "campusid": "1", |
| | | "delFlag": "0" |
| | | } |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 3.2 æ°å¢æä¿®æ¹å¿ç§æ¡£æ¡ |
| | | |
| | | - **URL**ï¼`POST /smartor/childArchive/insertOrUpdateChildArchive` |
| | | - **说æ**ï¼åæ¶ç»´æ¤å¿ç§æ¡£æ¡ä¸»è¡¨ä¸è¯¦æ
表ã |
| | | - 主表æ `archiveid`ï¼æè¯¦æ
æ `id` ä¸è½åæ¥ï¼ä¸å卿¶æ´æ°ï¼å¦åæ°å¢ã |
| | | - è¿å `data` 为å¿ç§æ¡£æ¡ä¸»è¡¨IDã |
| | | |
| | | **请æ±ä½ï¼JSONï¼** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | id | Long | å¦ | å¿ç§æ¡£æ¡è¯¦æ
主é®IDï¼æ´æ°è¯¦æ
æ¶ä¼ å
¥ï¼ | |
| | | | archiveid | Long | å¦ | å¿ç§æ¡£æ¡ä¸»è¡¨IDï¼æ´æ°ä¸»è¡¨æ¶ä¼ å
¥ï¼ | |
| | | | archiveType | String | å¦ | æ¡£æ¡ç±»åï¼1 è¥å
»æ§ç¾ç
ï¼2 å¦ä¹ å°é¾ï¼3 é«å±å¿ä¸æ¡ | |
| | | | sourceType | String | å¦ | æ¥æºç±»åï¼1 é¨è¯æ¥è¯ï¼2 ä½é¢é访ï¼3 æå·¥æ°å¢ | |
| | | | sourceBizId | Long | å¦ | æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID | |
| | | | sourceBizNo | String | å¦ | æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å· | |
| | | | sourceSubId | Long | å¦ | æ¥æºé访åä»»å¡IDï¼ä½é¢éè®¿çææ¶ä¸º service_subtask.id | |
| | | | outhospno | String | å¦ | é¨è¯ç¼å· | |
| | | | inhospno | String | å¦ | ä½é¢ç¼å· | |
| | | | serialnum | String | å¦ | æµæ°´å· | |
| | | | patid | Long | å¦ | æ£è
ID | |
| | | | patname | String | å¦ | æ£è
å§å | |
| | | | parentname | String | å¦ | å®¶é¿å§å | |
| | | | parentRelation | String | å¦ | å®¶é¿ä¸å¿ç«¥å
³ç³» | |
| | | | parentPhone | String | å¦ | å®¶é¿èç³»çµè¯ | |
| | | | parentIdcardno | String | å¦ | å®¶é¿è¯ä»¶å·ç | |
| | | | parentAddress | String | å¦ | å®¶é¿èç³»å°å | |
| | | | birthdate | Date | å¦ | åºçæ¥æï¼æ ¼å¼ yyyy-MM-dd HH:mm:ss | |
| | | | idcardno | String | å¦ | è¯ä»¶å·ç | |
| | | | phone | String | å¦ | èç³»çµè¯ | |
| | | | diagTime | Date | å¦ | è¯ææ¶é´ | |
| | | | archiveTime | Date | å¦ | 建档æ¶é´ | |
| | | | sex | Long | å¦ | æ§å«ï¼1 ç·ï¼2 女 | |
| | | | doctorCode | String | å¦ | 主治å»ç | |
| | | | doctorName | String | å¦ | 主治å»çå§å | |
| | | | managementDoctorCode | String | å¦ | ç»ç®¡å»ç | |
| | | | managementDoctorName | String | å¦ | ç»ç®¡å»çå§å | |
| | | | deptcode | String | å¦ | ç§å®¤ç¼å· | |
| | | | deptname | String | å¦ | ç§å®¤åç§° | |
| | | | wardcode | String | å¦ | ç
åºç¼å· | |
| | | | wardname | String | å¦ | ç
åºåç§° | |
| | | | icd10code | String | å¦ | è¯æID | |
| | | | diagname | String | å¦ | è¯æåç§° | |
| | | | nutritionIcd10Code | String | å¦ | è¥å
»æ§ç¾ç
ID | |
| | | | nutritionDiagName | String | å¦ | è¥å
»æ§ç¾ç
åç§° | |
| | | | ndPhysicalMeasurements | String | å¦ | è¥å
»æ§ç¾ç
-使 ¼æµé | |
| | | | ndDietaryAssessment | String | å¦ | è¥å
»æ§ç¾ç
-è³é£è¯ä¼° | |
| | | | ndInterventionProgram | String | å¦ | è¥å
»æ§ç¾ç
-干颿¹æ¡ | |
| | | | appointmentSituation | String | å¦ | å¦ä¹ å°é¾-é¢çº¦æ
åµ | |
| | | | ldLearningAbilityAssessment | String | å¦ | å¦ä¹ å°é¾-å¦ä¹ è½åè¯ä¼° | |
| | | | ldBehavioralAssessment | String | å¦ | å¦ä¹ å°é¾-è¡ä¸ºè¯ä¼° | |
| | | | ldInterventionTrainingRecord | String | å¦ | å¦ä¹ å°é¾-å¹²é¢è®ç»è®°å½ | |
| | | | highRiskChildType | String | å¦ | é«å±å¿ä¸æ¡-é«å±å¿åç±» | |
| | | | highRiskChildName | String | å¦ | é«å±å¿ä¸æ¡-é«å±å¿åç§° | |
| | | | plannedFollowTime | Date | å¦ | é«å±å¿ä¸æ¡-æé访æ¶é´ | |
| | | | hrcGrowthDevelopmentMonitoring | String | å¦ | é«å±å¿ä¸æ¡-çé¿åè²æ£æµ | |
| | | | hrcNeurologicalEvaluation | String | å¦ | é«å±å¿ä¸æ¡-ç¥ç»ç³»ç»è¯ä¼° | |
| | | | hrcInterventionRecords | String | å¦ | é«å±å¿ä¸æ¡-å¹²é¢è®°å½ | |
| | | | closeStatus | String | å¦ | ç»æ¡ç¶æ | |
| | | | gestationalWeek | BigDecimal | å¦ | åºçåå¨ | |
| | | | birthWeight | BigDecimal | å¦ | åºçä½é(kg) | |
| | | | registerUser | String | å¦ | ç»è®°äººå | |
| | | | remark | String | å¦ | 夿³¨ | |
| | | | orgid | String | å¦ | å»é¢æºæIDï¼å端æç»å½ç¨æ·èªå¨è¦çï¼ | |
| | | | campusid | String | å¦ | é¢åºIDï¼å端æç»å½ç¨æ·èªå¨è¦çï¼ | |
| | | | delFlag | String | å¦ | å 餿 å¿ï¼0 æªå é¤ï¼1 å·²å é¤ï¼é»è®¤ 0ï¼ | |
| | | |
| | | **请æ±ç¤ºä¾ï¼æ°å¢ï¼** |
| | | |
| | | ```json |
| | | { |
| | | "archiveType": "1", |
| | | "patid": 9002, |
| | | "patname": "çå°å®", |
| | | "parentname": "ç强", |
| | | "parentRelation": "ç¶å", |
| | | "parentPhone": "13900000001", |
| | | "birthdate": "2023-01-15 00:00:00", |
| | | "phone": "13800000001", |
| | | "diagTime": "2026-10-01 09:00:00", |
| | | "archiveTime": "2026-10-01 09:30:00", |
| | | "sex": 1, |
| | | "deptcode": "EK", |
| | | "deptname": "å¿ç§", |
| | | "icd10code": "E44.0", |
| | | "diagname": "ä¸åº¦è¥å
»ä¸è¯", |
| | | "nutritionIcd10Code": "E44.0", |
| | | "nutritionDiagName": "ä¸åº¦è¥å
»ä¸è¯", |
| | | "closeStatus": "0" |
| | | } |
| | | ``` |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå", |
| | | "data": 2001 |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 3.3 æ¹éå é¤å¿ç§æ¡£æ¡ |
| | | |
| | | - **URL**ï¼`POST /smartor/childArchive/batchDelete` |
| | | - **说æ**ï¼æä¸»è¡¨IDæ¹éå é¤å¿ç§æ¡£æ¡ï¼åæ¶é»è¾å é¤å¯¹åºçå¿ç§æ¡£æ¡è¯¦æ
è¡¨æ°æ®ï¼`del_flag` 置为 1ï¼ï¼ä¸¤æ¥å¨åä¸äºå¡ä¸ã |
| | | |
| | | **请æ±ä½ï¼JSONï¼** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | ids | Long[] | æ¯ | å¿ç§æ¡£æ¡ä¸»è¡¨IDæ°ç» | |
| | | |
| | | **请æ±ç¤ºä¾** |
| | | |
| | | ```json |
| | | [2001, 2002, 2003] |
| | | ``` |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå" |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 3.4 è·åå¿ç§æ¡£æ¡è¯¦æ
|
| | | |
| | | - **URL**ï¼`GET /smartor/childArchiveDetail/getInfo/{archiveid}` |
| | | - **说æ**ï¼ææ¡£æ¡ä¸»è¡¨IDæ¥è¯¢å¿ç§æ¡£æ¡è¯¦æ
ï¼æªå 餿°æ® `del_flag = '0'`ï¼ï¼è¿åç¬¬ä¸æ¡è¯¦æ
è®°å½ï¼æ æ°æ®æ¶ `data` 为 `null`ã |
| | | |
| | | **è·¯å¾åæ°** |
| | | |
| | | | åæ°å | ç±»å | å¿
å¡« | 说æ | |
| | | | --- | --- | --- | --- | |
| | | | archiveid | Long | æ¯ | å¿ç§æ¡£æ¡ä¸»è¡¨IDï¼`pat_child_archive.id`ï¼ | |
| | | |
| | | **ååºç¤ºä¾** |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå", |
| | | "data": { |
| | | "id": 6001, |
| | | "archiveid": 2001, |
| | | "archiveType": "1", |
| | | "sourceType": "1", |
| | | "outhospno": "MZ20261001002", |
| | | "inhospno": null, |
| | | "serialnum": "LS20261001002", |
| | | "patid": 9002, |
| | | "patname": "çå°å®", |
| | | "parentname": "ç强", |
| | | "parentRelation": "ç¶å", |
| | | "parentPhone": "13900000001", |
| | | "parentIdcardno": null, |
| | | "parentAddress": "æå·å¸æ±å¢
åº", |
| | | "birthdate": "2023-01-15 00:00:00", |
| | | "idcardno": null, |
| | | "phone": "13800000001", |
| | | "diagTime": "2026-10-01 09:00:00", |
| | | "archiveTime": "2026-10-01 09:30:00", |
| | | "sex": 1, |
| | | "doctorCode": "D003", |
| | | "doctorName": "èµµå»ç", |
| | | "managementDoctorCode": "D004", |
| | | "managementDoctorName": "åå»ç", |
| | | "deptcode": "EK", |
| | | "deptname": "å¿ç§", |
| | | "wardcode": null, |
| | | "wardname": null, |
| | | "icd10code": "E44.0", |
| | | "diagname": "ä¸åº¦è¥å
»ä¸è¯", |
| | | "nutritionIcd10Code": "E44.0", |
| | | "nutritionDiagName": "ä¸åº¦è¥å
»ä¸è¯", |
| | | "closeStatus": "0", |
| | | "gestationalWeek": 39.5, |
| | | "birthWeight": 3.2, |
| | | "registerUser": "èµµå»ç", |
| | | "orgid": "1", |
| | | "campusid": "1", |
| | | "delFlag": "0" |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | > è¿å对象 `data` 为å¿ç§æ¡£æ¡è¯¦æ
对象ï¼å段说æå 3.2 请æ±ä½å段ã |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.event; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * éè®¿å®æäºä»¶ã |
| | | * |
| | | * <p>ä»
æºå¸¦åä»»å¡IDï¼æ¶è´¹æ¹æIDéæ°å è½½ææ°æ°æ®ï¼é¿å
äºä»¶å
容ä¸åºå
ç¶æä¸ä¸è´ã</p> |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | public class FollowupCompletedEvent implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** é访åä»»å¡ID */ |
| | | private Long subId; |
| | | |
| | | /** 宿æ¶é´ */ |
| | | private Date finishTime; |
| | | |
| | | public FollowupCompletedEvent() { |
| | | } |
| | | |
| | | public FollowupCompletedEvent(Long subId, Date finishTime) { |
| | | this.subId = subId; |
| | | this.finishTime = finishTime; |
| | | } |
| | | |
| | | public Long getSubId() { |
| | | return subId; |
| | | } |
| | | |
| | | public void setSubId(Long subId) { |
| | | this.subId = subId; |
| | | } |
| | | |
| | | public Date getFinishTime() { |
| | | return finishTime; |
| | | } |
| | | |
| | | public void setFinishTime(Date finishTime) { |
| | | this.finishTime = finishTime; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.task.event; |
| | | |
| | | import com.ruoyi.common.core.event.FollowupCompletedEvent; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.ApplicationEventPublisher; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * éè®¿å®æäºä»¶åå¸å¨ã |
| | | * |
| | | * <p>任塿¨¡åå¨åä»»å¡ç¶ææ´æ°ä¸ºå·²å®æï¼sendstate=6ï¼ååå¸äºä»¶ï¼ |
| | | * æ¡£æ¡ç䏿¸¸æ¨¡åéè¿ {@code @TransactionalEventListener} 弿¥æ¶è´¹ã</p> |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class FollowupCompletedEventPublisher { |
| | | |
| | | @Autowired |
| | | private ApplicationEventPublisher applicationEventPublisher; |
| | | |
| | | public void publish(Long subId) { |
| | | if (subId == null) { |
| | | return; |
| | | } |
| | | try { |
| | | applicationEventPublisher.publishEvent(new FollowupCompletedEvent(subId, new Date())); |
| | | } catch (Exception e) { |
| | | log.error("åå¸éè®¿å®æäºä»¶å¤±è´¥ï¼subId={}", subId, e); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * ä¸ç§æ¡£æ¡çææ¥å¿å¯¹è±¡ pat_specific_archive_generate_logã |
| | | * |
| | | * <p>ç¨äºä½é¢éè®¿å®æåçå¹çæ§å¶ãæ¥æºè¿½æº¯åè¡¥å¿ä»»å¡çéã</p> |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | @Data |
| | | @ApiModel(value = "ä¸ç§æ¡£æ¡çææ¥å¿å¯¹è±¡") |
| | | public class PatSpecificArchiveGenerateLog implements Serializable { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** 主é®ID */ |
| | | @ApiModelProperty(value = "主é®ID") |
| | | private Long id; |
| | | |
| | | /** æ¥æºç±»åï¼1é¨è¯æ¥è¯ 2ä½é¢é访 */ |
| | | @ApiModelProperty(value = "æ¥æºç±»åï¼1é¨è¯æ¥è¯ 2ä½é¢é访") |
| | | private String sourceType; |
| | | |
| | | /** æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID */ |
| | | @ApiModelProperty(value = "æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID") |
| | | private Long sourceBizId; |
| | | |
| | | /** æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å· */ |
| | | @ApiModelProperty(value = "æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å·") |
| | | private String sourceBizNo; |
| | | |
| | | /** æ¥æºé访åä»»å¡IDï¼è§¦åæ¡£æ¡çæç service_subtask.id */ |
| | | @ApiModelProperty(value = "æ¥æºé访åä»»å¡IDï¼è§¦åæ¡£æ¡çæç service_subtask.id") |
| | | private Long sourceSubId; |
| | | |
| | | /** æ£è
ID */ |
| | | @ApiModelProperty(value = "æ£è
ID") |
| | | private Long patid; |
| | | |
| | | /** æºæID */ |
| | | @ApiModelProperty(value = "æºæID") |
| | | private String orgid; |
| | | |
| | | /** é¢åºID */ |
| | | @ApiModelProperty(value = "é¢åºID") |
| | | private String campusid; |
| | | |
| | | /** é¨é¨åç±»ï¼1å¦ç§ 2å¿ç§ */ |
| | | @ApiModelProperty(value = "é¨é¨åç±»ï¼1å¦ç§ 2å¿ç§") |
| | | private String deptCategory; |
| | | |
| | | /** æ¡£æ¡ç±»å */ |
| | | @ApiModelProperty(value = "æ¡£æ¡ç±»å") |
| | | private String archiveType; |
| | | |
| | | /** å½ä¸çé
ç½®IDï¼æªå½ä¸é
ç½®æ¶ä¸º0 */ |
| | | @ApiModelProperty(value = "å½ä¸çé
ç½®IDï¼æªå½ä¸é
ç½®æ¶ä¸º0") |
| | | private Integer configId; |
| | | |
| | | /** çææå½ä¸çæ¡£æ¡ä¸»è¡¨ID */ |
| | | @ApiModelProperty(value = "çææå½ä¸çæ¡£æ¡ä¸»è¡¨ID") |
| | | private Long archiveId; |
| | | |
| | | /** å¤çç»æï¼1çæ 2å·²åå¨è·³è¿ 3æªå¹é
4失败 */ |
| | | @ApiModelProperty(value = "å¤çç»æï¼1çæ 2å·²åå¨è·³è¿ 3æªå¹é
4失败") |
| | | private String processResult; |
| | | |
| | | /** å¤ç说æ */ |
| | | @ApiModelProperty(value = "å¤ç说æ") |
| | | private String processMsg; |
| | | |
| | | /** éè¯æ¬¡æ° */ |
| | | @ApiModelProperty(value = "éè¯æ¬¡æ°") |
| | | private Integer retryCount; |
| | | |
| | | /** å建æ¶é´ */ |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | private Date createTime; |
| | | |
| | | /** æ´æ°æ¶é´ */ |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | private Date updateTime; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.listener; |
| | | |
| | | import com.ruoyi.common.core.event.FollowupCompletedEvent; |
| | | import com.smartor.service.IPatSpecificArchiveGenerateService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Async; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.transaction.event.TransactionPhase; |
| | | import org.springframework.transaction.event.TransactionalEventListener; |
| | | |
| | | /** |
| | | * éè®¿å®æçæä¸ç§æ¡£æ¡çå¬å¨ã |
| | | * |
| | | * <p>ä½¿ç¨ AFTER_COMMIT ä¿è¯éè®¿å®æç¶æå·²è½åºï¼å¼å¸¸åªè®°å½æ¥å¿ï¼ä¸å½±åé访主æµç¨ã</p> |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InhospFollowupArchiveListener { |
| | | |
| | | @Autowired |
| | | private IPatSpecificArchiveGenerateService patSpecificArchiveGenerateService; |
| | | |
| | | @Async("threadPoolTaskExecutor") |
| | | @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT, fallbackExecution = true) |
| | | public void onFollowupCompleted(FollowupCompletedEvent event) { |
| | | if (event == null || event.getSubId() == null) { |
| | | return; |
| | | } |
| | | try { |
| | | int generated = patSpecificArchiveGenerateService.generateByInhospFollowup(event.getSubId()); |
| | | if (generated > 0) { |
| | | log.info("ä½é¢éè®¿å®æçæä¸ç§æ¡£æ¡æåï¼subId={}ï¼çææ°é={}", event.getSubId(), generated); |
| | | } |
| | | } catch (Throwable e) { |
| | | log.error("ä½é¢éè®¿å®æçæä¸ç§æ¡£æ¡å¤±è´¥ï¼subId={}", event.getSubId(), e); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.mapper; |
| | | |
| | | import com.smartor.domain.PatSpecificArchiveGenerateLog; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * ä¸ç§æ¡£æ¡çææ¥å¿Mapperæ¥å£ã |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | @Mapper |
| | | public interface PatSpecificArchiveGenerateLogMapper { |
| | | |
| | | /** |
| | | * ææ¥æº + é访åä»»å¡ + é
ç½®æ¥è¯¢æ¥å¿ã |
| | | * |
| | | * @param sourceType æ¥æºç±»å |
| | | * @param sourceSubId æ¥æºé访åä»»å¡ID |
| | | * @param configId é
ç½®IDï¼æªå½ä¸é
ç½®ä¼ 0 |
| | | * @return æ¥å¿è®°å½ï¼ä¸åå¨è¿å null |
| | | */ |
| | | PatSpecificArchiveGenerateLog selectBySourceSubAndConfig(@Param("sourceType") String sourceType, |
| | | @Param("sourceSubId") Long sourceSubId, |
| | | @Param("configId") Integer configId); |
| | | |
| | | /** |
| | | * æ¥è¯¢æ¥æºé访åä»»å¡ä¸æ¯å¦å·²ææå/è·³è¿/æªå¹é
çç»æã |
| | | * |
| | | * @param sourceType æ¥æºç±»å |
| | | * @param sourceSubId æ¥æºé访åä»»å¡ID |
| | | * @return å·²å¤çæ¡æ° |
| | | */ |
| | | int countProcessedBySourceSub(@Param("sourceType") String sourceType, |
| | | @Param("sourceSubId") Long sourceSubId); |
| | | |
| | | int insertPatSpecificArchiveGenerateLog(PatSpecificArchiveGenerateLog log); |
| | | |
| | | int updatePatSpecificArchiveGenerateLog(PatSpecificArchiveGenerateLog log); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service; |
| | | |
| | | import com.smartor.domain.PatSpecificArchiveGenerateLog; |
| | | |
| | | /** |
| | | * ä¸ç§æ¡£æ¡çææ¥å¿Serviceæ¥å£ã |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | public interface IPatSpecificArchiveGenerateLogService { |
| | | |
| | | PatSpecificArchiveGenerateLog selectBySourceSubAndConfig(String sourceType, Long sourceSubId, Integer configId); |
| | | |
| | | boolean existsProcessedBySourceSub(String sourceType, Long sourceSubId); |
| | | |
| | | int saveOrUpdate(PatSpecificArchiveGenerateLog log); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.smartor.domain.PatSpecificArchiveGenerateLog; |
| | | import com.smartor.mapper.PatSpecificArchiveGenerateLogMapper; |
| | | import com.smartor.service.IPatSpecificArchiveGenerateLogService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.dao.DuplicateKeyException; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * ä¸ç§æ¡£æ¡çææ¥å¿Serviceä¸å¡å±å¤çã |
| | | * |
| | | * @author ruoyi |
| | | * @date 2026-11-11 |
| | | */ |
| | | @Service |
| | | public class PatSpecificArchiveGenerateLogServiceImpl implements IPatSpecificArchiveGenerateLogService { |
| | | |
| | | @Autowired |
| | | private PatSpecificArchiveGenerateLogMapper logMapper; |
| | | |
| | | @Override |
| | | public PatSpecificArchiveGenerateLog selectBySourceSubAndConfig(String sourceType, Long sourceSubId, Integer configId) { |
| | | return logMapper.selectBySourceSubAndConfig(sourceType, sourceSubId, |
| | | configId == null ? 0 : configId); |
| | | } |
| | | |
| | | @Override |
| | | public boolean existsProcessedBySourceSub(String sourceType, Long sourceSubId) { |
| | | return logMapper.countProcessedBySourceSub(sourceType, sourceSubId) > 0; |
| | | } |
| | | |
| | | @Override |
| | | public int saveOrUpdate(PatSpecificArchiveGenerateLog log) { |
| | | if (log == null) { |
| | | return 0; |
| | | } |
| | | if (log.getSourceType() == null) { |
| | | log.setSourceType("2"); |
| | | } |
| | | if (log.getConfigId() == null) { |
| | | log.setConfigId(0); |
| | | } |
| | | if (log.getRetryCount() == null) { |
| | | log.setRetryCount(0); |
| | | } |
| | | Date now = new Date(); |
| | | log.setUpdateTime(now); |
| | | PatSpecificArchiveGenerateLog old = logMapper.selectBySourceSubAndConfig( |
| | | log.getSourceType(), log.getSourceSubId(), log.getConfigId()); |
| | | if (old == null) { |
| | | log.setCreateTime(now); |
| | | try { |
| | | return logMapper.insertPatSpecificArchiveGenerateLog(log); |
| | | } catch (DuplicateKeyException e) { |
| | | // å¹¶åä¸å¦ä¸ä¸ªçº¿ç¨å·²åå
¥ï¼è½¬ä¸ºæ´æ°ï¼ä¿è¯å¹ç |
| | | old = logMapper.selectBySourceSubAndConfig( |
| | | log.getSourceType(), log.getSourceSubId(), log.getConfigId()); |
| | | if (old == null) { |
| | | throw e; |
| | | } |
| | | log.setId(old.getId()); |
| | | return logMapper.updatePatSpecificArchiveGenerateLog(log); |
| | | } |
| | | } |
| | | log.setId(old.getId()); |
| | | if (log.getCreateTime() == null) { |
| | | log.setCreateTime(old.getCreateTime()); |
| | | } |
| | | return logMapper.updatePatSpecificArchiveGenerateLog(log); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.smartor.mapper.PatSpecificArchiveGenerateLogMapper"> |
| | | |
| | | <resultMap type="com.smartor.domain.PatSpecificArchiveGenerateLog" id="PatSpecificArchiveGenerateLogResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="sourceType" column="source_type"/> |
| | | <result property="sourceBizId" column="source_biz_id"/> |
| | | <result property="sourceBizNo" column="source_biz_no"/> |
| | | <result property="sourceSubId" column="source_sub_id"/> |
| | | <result property="patid" column="patid"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="campusid" column="campusid"/> |
| | | <result property="deptCategory" column="dept_category"/> |
| | | <result property="archiveType" column="archive_type"/> |
| | | <result property="configId" column="config_id"/> |
| | | <result property="archiveId" column="archive_id"/> |
| | | <result property="processResult" column="process_result"/> |
| | | <result property="processMsg" column="process_msg"/> |
| | | <result property="retryCount" column="retry_count"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectPatSpecificArchiveGenerateLogVo"> |
| | | select id, |
| | | source_type, |
| | | source_biz_id, |
| | | source_biz_no, |
| | | source_sub_id, |
| | | patid, |
| | | orgid, |
| | | campusid, |
| | | dept_category, |
| | | archive_type, |
| | | config_id, |
| | | archive_id, |
| | | process_result, |
| | | process_msg, |
| | | retry_count, |
| | | create_time, |
| | | update_time |
| | | from pat_specific_archive_generate_log |
| | | </sql> |
| | | |
| | | <select id="selectBySourceSubAndConfig" resultMap="PatSpecificArchiveGenerateLogResult"> |
| | | <include refid="selectPatSpecificArchiveGenerateLogVo"/> |
| | | where source_type = #{sourceType} |
| | | and source_sub_id = #{sourceSubId} |
| | | and config_id = #{configId} |
| | | limit 1 |
| | | </select> |
| | | |
| | | <select id="countProcessedBySourceSub" resultType="int"> |
| | | select count(1) |
| | | from pat_specific_archive_generate_log |
| | | where source_type = #{sourceType} |
| | | and source_sub_id = #{sourceSubId} |
| | | and process_result in ('1', '2', '3') |
| | | </select> |
| | | |
| | | <insert id="insertPatSpecificArchiveGenerateLog" parameterType="com.smartor.domain.PatSpecificArchiveGenerateLog" |
| | | useGeneratedKeys="true" keyProperty="id"> |
| | | insert into pat_specific_archive_generate_log |
| | | (source_type, source_biz_id, source_biz_no, source_sub_id, patid, orgid, campusid, |
| | | dept_category, archive_type, config_id, archive_id, process_result, |
| | | process_msg, retry_count, create_time, update_time) |
| | | values |
| | | (#{sourceType}, #{sourceBizId}, #{sourceBizNo}, #{sourceSubId}, #{patid}, #{orgid}, #{campusid}, |
| | | #{deptCategory}, #{archiveType}, #{configId}, #{archiveId}, #{processResult}, |
| | | #{processMsg}, #{retryCount}, #{createTime}, #{updateTime}) |
| | | </insert> |
| | | |
| | | <update id="updatePatSpecificArchiveGenerateLog" parameterType="com.smartor.domain.PatSpecificArchiveGenerateLog"> |
| | | update pat_specific_archive_generate_log |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="sourceBizNo != null">source_biz_no = #{sourceBizNo},</if> |
| | | <if test="sourceSubId != null">source_sub_id = #{sourceSubId},</if> |
| | | <if test="patid != null">patid = #{patid},</if> |
| | | <if test="orgid != null">orgid = #{orgid},</if> |
| | | <if test="campusid != null">campusid = #{campusid},</if> |
| | | <if test="deptCategory != null">dept_category = #{deptCategory},</if> |
| | | <if test="archiveType != null">archive_type = #{archiveType},</if> |
| | | <if test="archiveId != null">archive_id = #{archiveId},</if> |
| | | <if test="processResult != null">process_result = #{processResult},</if> |
| | | <if test="processMsg != null">process_msg = #{processMsg},</if> |
| | | <if test="retryCount != null">retry_count = #{retryCount},</if> |
| | | <if test="updateTime != null">update_time = #{updateTime},</if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service; |
| | | |
| | | import com.ruoyi.patarchive.domain.PatSpecificArchiveGenerateConfig; |
| | | import com.ruoyi.task.domain.ServiceSubtask; |
| | | import com.smartor.service.impl.PatSpecificArchiveGenerateServiceImpl; |
| | | |
| | | import javax.xml.parsers.DocumentBuilderFactory; |
| | | import java.io.File; |
| | | import java.lang.reflect.Field; |
| | | import java.lang.reflect.Method; |
| | | |
| | | /** |
| | | * ä½é¢é访çæä¸ç§æ¡£æ¡é»è¾èªæ£ï¼çº¯ mainï¼ä¸ä¾èµ JUnit / Spring / æ°æ®åºï¼ã |
| | | * |
| | | * <p>è¦çï¼ä½é¢é访èå´å¤æãç§å®¤/ç
åº/è¯æé
ç½®å¹é
ãJSON/éå·é
置解æãMapper XML å¯è§£ææ§ã</p> |
| | | */ |
| | | public final class InhospFollowupArchiveLogicCheck { |
| | | |
| | | private static int passed = 0; |
| | | private static int failed = 0; |
| | | |
| | | private static void check(String key, Object expected, Object actual) { |
| | | boolean ok = expected == null ? actual == null : expected.equals(actual); |
| | | if (ok) { |
| | | passed++; |
| | | System.out.println(" [OK] " + key + " = " + actual); |
| | | } else { |
| | | failed++; |
| | | System.out.println(" [FAIL] " + key + " ææ=" + expected + " å®é
=" + actual); |
| | | } |
| | | } |
| | | |
| | | private static void setField(Object target, String name, Object value) throws Exception { |
| | | Field field = target.getClass().getDeclaredField(name); |
| | | field.setAccessible(true); |
| | | field.set(target, value); |
| | | } |
| | | |
| | | private static ServiceSubtask subtask(String hospType, String serviceType) { |
| | | ServiceSubtask subtask = new ServiceSubtask(); |
| | | subtask.setId(1001L); |
| | | subtask.setHospType(hospType); |
| | | subtask.setServiceType(serviceType); |
| | | return subtask; |
| | | } |
| | | |
| | | private static PatSpecificArchiveGenerateConfig config(String deptType, String archiveType, |
| | | String deptCodes, String icd10Codes) { |
| | | PatSpecificArchiveGenerateConfig config = new PatSpecificArchiveGenerateConfig(); |
| | | config.setId(1L); |
| | | config.setDeptType(deptType); |
| | | config.setDeptCategory("2"); |
| | | config.setArchiveType(archiveType); |
| | | config.setDeptCodes(deptCodes); |
| | | config.setIcd10Codes(icd10Codes); |
| | | return config; |
| | | } |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | System.out.println("========== ä½é¢é访çæä¸ç§æ¡£æ¡é»è¾èªæ£ =========="); |
| | | |
| | | PatSpecificArchiveGenerateServiceImpl service = new PatSpecificArchiveGenerateServiceImpl(); |
| | | setField(service, "inhospFollowupServiceTypes", "2,13,18,19"); |
| | | |
| | | Method isInhosp = PatSpecificArchiveGenerateServiceImpl.class |
| | | .getDeclaredMethod("isInhospFollowup", ServiceSubtask.class); |
| | | isInhosp.setAccessible(true); |
| | | |
| | | System.out.println("-- 1) ä½é¢é访èå´ --"); |
| | | check("åºé¢é访 serviceType=2", true, isInhosp.invoke(service, subtask("2", "2"))); |
| | | check("å
¥é¢é访 serviceType=18", true, isInhosp.invoke(service, subtask("6", "18"))); |
| | | check("é¨è¯ä»»å¡ hospType=1", false, isInhosp.invoke(service, subtask("1", "3"))); |
| | | check("宣æä»»å¡ serviceType=4", false, isInhosp.invoke(service, subtask("2", "4"))); |
| | | check("serviceType 为空", false, isInhosp.invoke(service, subtask("2", null))); |
| | | |
| | | Method match = PatSpecificArchiveGenerateServiceImpl.class.getDeclaredMethod( |
| | | "matchConfig", PatSpecificArchiveGenerateConfig.class, |
| | | String.class, String.class, String.class, String.class); |
| | | match.setAccessible(true); |
| | | |
| | | System.out.println("-- 2) ç§å®¤å¹é
--"); |
| | | PatSpecificArchiveGenerateConfig deptConfig = config("1", "1", "[\"D001\"]", null); |
| | | check("ç§å®¤ D001 å½ä¸", true, match.invoke(service, deptConfig, "D001", null, null, null)); |
| | | check("ç§å®¤ D002 ä¸å½ä¸", false, match.invoke(service, deptConfig, "D002", null, null, null)); |
| | | |
| | | System.out.println("-- 3) ç
åºå¹é
--"); |
| | | PatSpecificArchiveGenerateConfig wardConfig = config("2", "3", "[\"W001\"]", null); |
| | | check("ç
åº W001 å½ä¸", true, match.invoke(service, wardConfig, "D001", "W001", null, null)); |
| | | check("ç§å®¤ D001 对ç
åºé
ç½®ä¸å½ä¸", false, |
| | | match.invoke(service, wardConfig, "D001", "D001", null, null)); |
| | | |
| | | System.out.println("-- 4) è¯æå¹é
--"); |
| | | PatSpecificArchiveGenerateConfig diagConfig = config("1", "1", null, "[\"E46.x00x003\"]"); |
| | | check("è¯æç å½ä¸", true, match.invoke(service, diagConfig, "D001", null, "E46.x00x003", "è¥å
»ä¸è¯")); |
| | | check("æ è¯æç æ¶æè¯æåç§°å
åº", true, |
| | | match.invoke(service, diagConfig, "D001", null, null, "E46.x00x003")); |
| | | check("è¯æä¸å½ä¸", false, match.invoke(service, diagConfig, "D001", null, "R00", "å
¶ä»")); |
| | | |
| | | System.out.println("-- 5) é
置为空 / éæ³ JSON --"); |
| | | PatSpecificArchiveGenerateConfig emptyConfig = config("1", "1", null, null); |
| | | check("ç§å®¤åè¯æé½ä¸ºç©º", false, match.invoke(service, emptyConfig, "D001", null, null, null)); |
| | | PatSpecificArchiveGenerateConfig commaConfig = config("1", "1", "D001,D002", null); |
| | | check("éå·åéé
ç½®å
åº", true, match.invoke(service, commaConfig, "D002", null, null, null)); |
| | | |
| | | System.out.println("-- 6) Mapper XML å¯è§£ææ§ --"); |
| | | String[] xmlFiles = new String[]{ |
| | | "smartor/src/main/resources/mapper/smartor/PatMaternityArchiveMapper.xml", |
| | | "smartor/src/main/resources/mapper/smartor/PatChildArchiveMapper.xml", |
| | | "smartor/src/main/resources/mapper/smartor/PatMaternityArchiveDetailMapper.xml", |
| | | "smartor/src/main/resources/mapper/smartor/PatChildArchiveDetailMapper.xml", |
| | | "smartor/src/main/resources/mapper/smartor/PatSpecificArchiveGenerateLogMapper.xml", |
| | | "ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml" |
| | | }; |
| | | DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); |
| | | factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); |
| | | for (String xmlFile : xmlFiles) { |
| | | try { |
| | | factory.newDocumentBuilder().parse(new File(xmlFile)); |
| | | check(xmlFile, "OK", "OK"); |
| | | } catch (Exception e) { |
| | | check(xmlFile, "OK", e.getClass().getSimpleName() + ":" + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | System.out.println("========== ç»æï¼PASS=" + passed + "ï¼FAIL=" + failed + " =========="); |
| | | if (failed > 0) { |
| | | System.exit(1); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | -- ============================================================================= |
| | | -- ä½é¢éè®¿å®æçæå¦ç§/å¿ç§ä¸ç§æ¡£æ¡ |
| | | -- 1. æ¡£æ¡ä¸»è¡¨/详æ
表å¢å æ¥æºå段 |
| | | -- 2. æ°å¢ä¸ç§æ¡£æ¡çææ¥å¿è¡¨ï¼å¹ç + è¡¥å¿ + è¿½æº¯ï¼ |
| | | -- 3. å¢å æ£è
æ¡£æ¡æ¥è¯¢ç´¢å¼ |
| | | -- æ¥æï¼2026-11-11 |
| | | -- ============================================================================= |
| | | |
| | | -- ----------------------------------------------------------------------------- |
| | | -- 1. æ¡£æ¡ä¸»è¡¨æ¥æºå段 |
| | | -- ----------------------------------------------------------------------------- |
| | | ALTER TABLE pat_maternity_archive |
| | | ADD COLUMN source_type CHAR(1) DEFAULT NULL COMMENT 'æ¥æºç±»åï¼1é¨è¯æ¥è¯ 2ä½é¢é访 3æå·¥æ°å¢', |
| | | ADD COLUMN source_biz_id BIGINT DEFAULT NULL COMMENT 'æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID', |
| | | ADD COLUMN source_biz_no VARCHAR(64) DEFAULT NULL COMMENT 'æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å·', |
| | | ADD COLUMN source_sub_id BIGINT DEFAULT NULL COMMENT 'æ¥æºé访åä»»å¡IDï¼service_subtask.id'; |
| | | |
| | | ALTER TABLE pat_child_archive |
| | | ADD COLUMN source_type CHAR(1) DEFAULT NULL COMMENT 'æ¥æºç±»åï¼1é¨è¯æ¥è¯ 2ä½é¢é访 3æå·¥æ°å¢', |
| | | ADD COLUMN source_biz_id BIGINT DEFAULT NULL COMMENT 'æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID', |
| | | ADD COLUMN source_biz_no VARCHAR(64) DEFAULT NULL COMMENT 'æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å·', |
| | | ADD COLUMN source_sub_id BIGINT DEFAULT NULL COMMENT 'æ¥æºé访åä»»å¡IDï¼service_subtask.id'; |
| | | |
| | | -- ----------------------------------------------------------------------------- |
| | | -- 2. æ¡£æ¡è¯¦æ
表补å
æ¥æºä¸å¡ID/ç¼å·ï¼source_type å表已æï¼ |
| | | -- ----------------------------------------------------------------------------- |
| | | ALTER TABLE pat_maternity_archive_detail |
| | | ADD COLUMN source_biz_id BIGINT DEFAULT NULL COMMENT 'æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID', |
| | | ADD COLUMN source_biz_no VARCHAR(64) DEFAULT NULL COMMENT 'æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å·', |
| | | ADD COLUMN source_sub_id BIGINT DEFAULT NULL COMMENT 'æ¥æºé访åä»»å¡IDï¼service_subtask.id'; |
| | | |
| | | ALTER TABLE pat_child_archive_detail |
| | | ADD COLUMN source_biz_id BIGINT DEFAULT NULL COMMENT 'æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID', |
| | | ADD COLUMN source_biz_no VARCHAR(64) DEFAULT NULL COMMENT 'æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å·', |
| | | ADD COLUMN source_sub_id BIGINT DEFAULT NULL COMMENT 'æ¥æºé访åä»»å¡IDï¼service_subtask.id'; |
| | | |
| | | -- ----------------------------------------------------------------------------- |
| | | -- 3. çææ¥å¿è¡¨ |
| | | -- ----------------------------------------------------------------------------- |
| | | CREATE TABLE IF NOT EXISTS pat_specific_archive_generate_log |
| | | ( |
| | | id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主é®ID', |
| | | source_type CHAR(1) NOT NULL DEFAULT '2' COMMENT 'æ¥æºç±»åï¼1é¨è¯æ¥è¯ 2ä½é¢é访', |
| | | source_biz_id BIGINT DEFAULT NULL COMMENT 'æ¥æºä¸å¡IDï¼é¨è¯è®°å½ID/ä½é¢è®°å½ID', |
| | | source_biz_no VARCHAR(64) DEFAULT NULL COMMENT 'æ¥æºä¸å¡ç¼å·ï¼é¨è¯å·/ä½é¢å·', |
| | | source_sub_id BIGINT DEFAULT NULL COMMENT 'æ¥æºé访åä»»å¡IDï¼service_subtask.id', |
| | | patid BIGINT DEFAULT NULL COMMENT 'æ£è
ID', |
| | | orgid VARCHAR(64) DEFAULT NULL COMMENT 'æºæID', |
| | | campusid VARCHAR(64) DEFAULT NULL COMMENT 'é¢åºID', |
| | | dept_category CHAR(1) DEFAULT NULL COMMENT 'é¨é¨åç±»ï¼1å¦ç§ 2å¿ç§', |
| | | archive_type VARCHAR(32) DEFAULT NULL COMMENT 'æ¡£æ¡ç±»å', |
| | | config_id INT NOT NULL DEFAULT 0 COMMENT 'å½ä¸çé
ç½®IDï¼æªå½ä¸é
ç½®æ¶ä¸º0', |
| | | archive_id BIGINT DEFAULT NULL COMMENT 'çææå½ä¸çæ¡£æ¡ä¸»è¡¨ID', |
| | | process_result CHAR(1) NOT NULL COMMENT 'å¤çç»æï¼1çæ 2å·²åå¨è·³è¿ 3æªå¹é
4失败', |
| | | process_msg VARCHAR(1000) DEFAULT NULL COMMENT 'å¤ç说æ', |
| | | retry_count INT NOT NULL DEFAULT 0 COMMENT 'éè¯æ¬¡æ°', |
| | | create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT 'å建æ¶é´', |
| | | update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'æ´æ°æ¶é´', |
| | | PRIMARY KEY (id), |
| | | UNIQUE KEY uk_pasgl_source_sub_config (source_type, source_sub_id, config_id), |
| | | KEY idx_pasgl_biz_id (source_biz_id), |
| | | KEY idx_pasgl_patid (patid, dept_category, archive_type), |
| | | KEY idx_pasgl_archive (archive_id) |
| | | ) ENGINE = InnoDB |
| | | DEFAULT CHARSET = utf8mb4 COMMENT ='ä¸ç§æ¡£æ¡çææ¥å¿è¡¨'; |
| | | |
| | | -- ----------------------------------------------------------------------------- |
| | | -- 4. æ£è
å·²ææ¡£æ¡æ¥è¯¢ç´¢å¼ |
| | | -- ----------------------------------------------------------------------------- |
| | | ALTER TABLE pat_maternity_archive |
| | | ADD INDEX idx_pma_patid_type (orgid, patid, archive_type, del_flag); |
| | | |
| | | ALTER TABLE pat_child_archive |
| | | ADD INDEX idx_pca_patid_type (orgid, patid, archive_type, del_flag); |
| | | |
| | | -- ----------------------------------------------------------------------------- |
| | | -- 5. æ¥æºç±»ååå
¸ï¼å¦åå
¸è¡¨å·²æåç±»åæ°æ®ï¼å¯è·³è¿ï¼ |
| | | -- ----------------------------------------------------------------------------- |
| | | INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) |
| | | SELECT 'ä¸ç§æ¡£æ¡æ¥æº', 'pat_archive_source_type', '0', 'system', NOW(), 'ä¸ç§æ¡£æ¡çææ¥æº' |
| | | FROM DUAL |
| | | WHERE NOT EXISTS ( |
| | | SELECT 1 FROM sys_dict_type WHERE dict_type = 'pat_archive_source_type' |
| | | ); |
| | | |
| | | INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark) |
| | | SELECT 1, 'é¨è¯æ¥è¯', '1', 'pat_archive_source_type', 'N', '0', 'system', NOW(), 'é¨è¯æ¥è¯å®æçæ' |
| | | FROM DUAL |
| | | WHERE NOT EXISTS ( |
| | | SELECT 1 FROM sys_dict_data WHERE dict_type = 'pat_archive_source_type' AND dict_value = '1' |
| | | ); |
| | | |
| | | INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark) |
| | | SELECT 2, 'ä½é¢é访', '2', 'pat_archive_source_type', 'N', '0', 'system', NOW(), 'ä½é¢éè®¿å®æçæ' |
| | | FROM DUAL |
| | | WHERE NOT EXISTS ( |
| | | SELECT 1 FROM sys_dict_data WHERE dict_type = 'pat_archive_source_type' AND dict_value = '2' |
| | | ); |
| | | |
| | | INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, is_default, status, create_by, create_time, remark) |
| | | SELECT 3, 'æå·¥æ°å¢', '3', 'pat_archive_source_type', 'N', '0', 'system', NOW(), 'æå·¥æ°å¢/导å
¥' |
| | | FROM DUAL |
| | | WHERE NOT EXISTS ( |
| | | SELECT 1 FROM sys_dict_data WHERE dict_type = 'pat_archive_source_type' AND dict_value = '3' |
| | | ); |