From cc479e6a056785103996cc7ea67dbd5faa3e800e Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 19 十月 2026 18:07:22 +0800
Subject: [PATCH] 数据采集模块
---
ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java | 43 +++++++++++++++++++++++++++++++++++++------
1 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java
index 3758e0f..2c3db08 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java
@@ -105,9 +105,14 @@
* @param archive 鎮h�呮。妗�
* @param type 0=鑽搧瀹f暀 / 1=绂婚櫌绉戝 / 2=绂婚櫌鐥呭尯 / 3=鐤剧梾 / 4=鍏ラ櫌绉戝 / 5=鍏ラ櫌鐥呭尯
* @param config {@code sys_config: visit.early.day}
+ * @return <b>鏄惁鐪熺殑钀戒簡搴�</b>锛堟垨"鏈潵灏卞凡缁忔湁"锛夈��
+ * 杩斿洖鍊兼槸 2026-10"涓�涓偅鑰呭彧鐢熸垚涓�鏉¢殢璁夸换鍔�"鏀归�犵殑鍒ゆ嵁锛�
+ * 缂栨帓灞傛寜缁村害浼樺厛绾ч�愪釜灏濊瘯锛屽彧鏈夋嬁鍒� {@code true} 鎵嶇畻璇ョ淮搴︽垚鍔熷苟鍋滄銆�
+ * 鍘熷疄鐜版槸 {@code void}锛岀紪鎺掑眰鐢�"璋冪敤浜嗗嚑娆�"褰撴垚鍔熸暟 鈥斺�� 閭f槸閿欑殑
+ * 锛堜换鍔℃湭鍙戝竷/琚幓閲嶆椂鍚屾牱鏄�"鐢熸垚浜嗕竴鏉�"锛夈��
*/
- public void writeInSubTask(Long taskid, Boolean check, VisitInhospRow inhosp,
- VisitArchiveRow archive, Integer type, String config) {
+ public boolean writeInSubTask(Long taskid, Boolean check, VisitInhospRow inhosp,
+ VisitArchiveRow archive, Integer type, String config) {
// 鍘� L683-685
String longTaskReason = inhosp.getLongTaskReason();
String orgId = inhosp.getOrgid();
@@ -120,17 +125,32 @@
if (taskApi == null) {
log.warn("銆愬嚭鍏ラ櫌闅忚銆慥isitTaskCreateApi 涓嶅彲鐢紙浠诲姟鍒涘缓妯″潡鏈閰嶏級锛屾湰鎮h�呬笉鐢熸垚瀛愪换鍔°��"
+ "inhospid={}, taskid={}", inhosp.getInhospid(), taskid);
- return;
+ return false;
}
VisitLongTaskDto serviceTask = taskApi.findPublishedLongTask(taskid);
if (serviceTask == null) {
writeMissingTaskFlag(inhosp, type, longTaskReason, taskid);
- return;
+ return false;
}
// 鍘� L729-731
if ("1".equals(inhosp.getInhospstate()) && inhosp.getEndtime() == null) {
- return;
+ return false;
+ }
+
+ // ------------------------------------------------------------------
+ // 銆愭敼閫犅�2026-10銆戣惤搴撳墠鏈�鍚庝竴閬撳垽閲嶏細
+ // 鍚屼竴鎮h�� + 鍚屼竴娆″嚭闄㈣褰� + 鍚屼竴浠诲姟锛屽彧瑕佸凡缁忔湁涓�鏉℃湭鍒犻櫎鐨勫瓙浠诲姟锛堝惈宸插仠鐢ㄧ殑锛夛紝
+ // 灏变笉鍐� insert銆傚師鍥犺 VisitTaskCreateApi#existsSubtask 鐨勬敞閲婏細
+ // 鎮h�呰閲嶅鎵埌鏃朵細璧�"鍋滄棫 + 鍐� insert 涓�鏉� sendstate=4"鐨勫垎鏀紝
+ // 姣忚窇涓�杞涓�鏉★紝鏈�缁堝悓涓�鎮h�呭嚑鍗佹潯銆�
+ // ------------------------------------------------------------------
+ if (taskApi.existsSubtask(archive == null ? null : archive.getId(),
+ inhosp.getInhospid(), taskid)) {
+ log.info("銆愬嚭鍏ラ櫌闅忚銆戞偅鑰厈}鍑洪櫌璁板綍{}浠诲姟{}宸叉湁瀛愪换鍔★紝璺宠繃閲嶅鐢熸垚銆�",
+ inhosp.getPatid(), inhosp.getInhospid(), taskid);
+ writeFlagByType(inhosp.getInhospid(), type, "1", null);
+ return true;
}
// 鍘� L732-736锛氱粍瑁咃紙鍓綔鐢ㄧ敱鏈被瀹炵幇锛岃 missingOutHospTime锛�
@@ -138,7 +158,7 @@
toTaskSource(serviceTask, inhosp), inhosp, archive, config, type,
row -> onMissingOutHospTime(row));
if (ObjectUtils.isEmpty(serviceSubtask)) {
- return;
+ return false;
}
// 鍘� L737-753锛氬氨璇婄瀹�/鐥呭尯濉厖
@@ -286,6 +306,7 @@
serviceSubtask.getTaskid(), serviceSubtask.getPatid());
writeFlagByType(inhosp.getInhospid(), type, "2", "鐢熸垚瀛愪换鍔″け璐� " + type);
}
+ return i == 1;
} catch (Exception e) {
// 鍘� L900-912锛氬嚭閿欏洖婊氫簨鍔�
log.info("鐢熸垚瀛愪换鍔℃姤閿欏洖婊歴erviceSubtask鐨則askid涓猴細{},patid涓猴細{}",
@@ -294,6 +315,7 @@
// 鍘熸牱淇濈暀锛堣绫绘敞閲婄 1 鏉★級銆�
writeFlagByTypeForRollback(inhosp.getInhospid(), type, "2", "鐢熸垚瀛愪换鍔℃姤閿欏洖婊� " + type);
e.printStackTrace();
+ return false;
}
}
@@ -478,16 +500,25 @@
com.ruoyi.inhospvisit.domain.row.VisitTaskRow t = new com.ruoyi.inhospvisit.domain.row.VisitTaskRow();
t.setTaskid(dto.getTaskid());
t.setTaskName(dto.getTaskName());
+ t.setTaskDesc(dto.getTaskDesc());
t.setType(dto.getType());
t.setServiceType(dto.getServiceType());
t.setTemplateid(dto.getTemplateid());
t.setTemplatename(dto.getTemplatename());
t.setLibtemplateid(dto.getLibtemplateid());
+ t.setLibtemplatename(dto.getLibtemplatename());
t.setSendDay(dto.getSendDay());
t.setPreachform(dto.getPreachform());
t.setPreachformDesc(dto.getPreachformDesc());
t.setOrgid(dto.getOrgid());
t.setCampusid(dto.getCampusid());
+ // 浠ヤ笅 6 涓悓鏍峰睘浜�"鍘� DtoConversionUtils 鎷疯礉銆侀殢 insert 钀藉簱"鐨勫垪
+ t.setGuid(dto.getGuid());
+ t.setPid(dto.getPid());
+ t.setSendType(dto.getSendType());
+ t.setIsupload(dto.getIsupload());
+ t.setTextParam(dto.getTextParam());
+ t.setUploadTime(dto.getUploadTime());
t.setUpdateBy(dto.getUpdateBy());
t.setCreateBy(dto.getCreateBy());
return t;
--
Gitblit v1.9.3