From c4dc6a5d66524d08b768046d9d2d5974bf96f45c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 11 十一月 2026 14:06:23 +0800
Subject: [PATCH] Merge branch 'smartor_ls_261103' into smartor_ls_merge
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 161 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 122 insertions(+), 39 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 186e31c..859bd9c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,5 +1,7 @@
package com.smartor.service.impl;
+import com.ruoyi.othervisit.api.OtherVisitFacade;
+import com.ruoyi.inhospvisit.api.InhospVisitFacade;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -16,7 +18,6 @@
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.*;
-import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.IPatMedOuthospService;
import com.smartor.service.IPatSpecificArchiveGenerateService;
@@ -40,6 +41,24 @@
import java.util.*;
import java.util.stream.Collectors;
+import com.ruoyi.outpatientvisit.domain.PatMedOuthospQueryReq;
+import com.ruoyi.othervisit.domain.PatMedOperationItem;
+import com.ruoyi.outpatientvisit.mapper.PatMedOuthospMapper;
+import com.ruoyi.othervisit.domain.PatMedOperation;
+import com.ruoyi.outpatientvisit.domain.PatMedOuthosp;
+import com.ruoyi.inhospvisit.domain.PatMedInhosp;
+import com.ruoyi.common.core.domain.entity.PatArchive;
+import com.ruoyi.common.core.domain.entity.PatArchivecontact;
+import com.ruoyi.task.domain.entity.ServiceSubtaskEntity;
+import com.ruoyi.task.domain.ServiceSubtask;
+import com.ruoyi.task.mapper.ServiceSubtaskMapper;
+import com.ruoyi.patarchive.mapper.PatArchiveMapper;
+import com.ruoyi.patarchive.mapper.PatArchivecontactMapper;
+import com.ruoyi.common.core.domain.entity.Icd10;
+import com.ruoyi.common.mapper.Icd10Mapper;
+import com.ruoyi.system.mapper.ext.SysUser2Mapper;
+import com.ruoyi.system.mapper.ext.SysDept2Mapper;
+import com.ruoyi.system.mapper.ext.SysUserDeptMapper;
/**
* 涓婚敭Service涓氬姟灞傚鐞�
*
@@ -49,8 +68,19 @@
@Slf4j
@Service
public class ServiceExternalServiceImpl implements IServiceExternalService {
+ /**
+ * 榫欐硥浜烘皯鍖婚櫌鏈烘瀯ID
+ */
+ private static final String LONGQUAN_PEOPLE_HOSPITAL_ORG_ID = "47240004533118111A1001";
+
@Autowired
private SysDept2Mapper sysDeptMapper;
+
+ /**
+ * 鎵嬫湳鏁版嵁涓�寰嬬粡 ruoyi-othervisit 鐨勯棬闈㈠彇鐢紙璺ㄦā鍧楁暟鎹闂師鍒欙級銆�
+ */
+ @Autowired
+ private OtherVisitFacade otherVisitFacade;
@Autowired
private SysUser2Mapper sysUserMapper;
@Autowired
@@ -62,11 +92,7 @@
@Autowired
private PatArchivecontactMapper patArchivecontactMapper;
@Autowired
- private PatMedInhospMapper patMedInhospMapper;
- @Autowired
- private PatMedOperationMapper patMedOperationMapper;
- @Autowired
- private PatMedOperationItemMapper patMedOperationItemMapper;
+ private InhospVisitFacade inhospVisitFacade;
@Autowired
private PatMedInspectionMapper patMedInspectionMapper;
@Autowired
@@ -492,9 +518,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
@@ -507,7 +533,7 @@
patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRID")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
}
patMedInhosp1.setUpdateTime(new Date());
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -586,9 +612,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
PatMedInhosp patMedInhosp1 = new PatMedInhosp();
@@ -703,7 +729,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
if (ObjectUtils.isNotEmpty(BingRenXX)) {
@@ -727,7 +753,7 @@
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -785,9 +811,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
PatMedInhosp patMedInhosp1 = new PatMedInhosp();
@@ -869,7 +895,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
if (ObjectUtils.isNotEmpty(BingRenXX)) {
@@ -892,7 +918,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("0");
}
- int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -907,9 +933,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
@@ -923,7 +949,7 @@
patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
}
patMedInhosp1.setUpdateTime(new Date());
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
//鍙栨秷鍑洪櫌锛屽氨涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=2鎴栬�卻endstate=1鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝鏈夌殑璇濓紝绔嬪嵆鍋滀簡
ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
@@ -1007,9 +1033,9 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
- String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ String tagname = inhospVisitFacade.getTagnameBypatid(patMedInhosp1.getPatid());
patMedInhosp1.setTagname(tagname);
}
Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
@@ -1093,7 +1119,7 @@
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp1.setUpdateTime(new Date());
patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
if (ObjectUtils.isNotEmpty(BingRenXX)) {
@@ -1112,7 +1138,7 @@
patMedInhosp1.setPatname(patArchive.getName());
patMedInhosp1.setCreateTime(new Date());
- int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
@@ -1147,7 +1173,7 @@
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ List<PatMedInhosp> patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
PatMedInhosp patMedInhosp1 = null;
if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
if (ObjectUtils.isNotEmpty(patMedInhosp1)) {
@@ -1158,7 +1184,7 @@
patMedInhosp1.setUpdateTime(new Date());
//鏇存柊鍑洪櫌鐘舵��
patMedInhosp1.setInhospstate("1");
- int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ int i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} catch (ParseException e) {
e.printStackTrace();
@@ -1429,7 +1455,7 @@
patMedOperation.setPatid(patArchive.getId());
patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
//鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
- List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+ List<PatMedOperation> patMedOperations = otherVisitFacade.selectOperationList(patMedOperation);
patMedOperation.setOpsstatus(null);
if (ObjectUtils.isNotEmpty(externalOperationInfo)) {
@@ -1506,10 +1532,10 @@
//鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎
}
patMedOperation.setUpdateTime(new Date());
- patMedOperationMapper.updatePatMedOperation(patMedOperation);
+ otherVisitFacade.updateOperation(patMedOperation);
} else {
patMedOperation.setCreateTime(new Date());
- patMedOperationMapper.insertPatMedOperation(patMedOperation);
+ otherVisitFacade.insertOperation(patMedOperation);
}
log.info("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
@@ -1533,7 +1559,7 @@
}).collect(Collectors.toList()) : null;
if(ObjectUtils.isNotEmpty(patMedOperation.getId())){
- patMedOperationItemMapper.deleteHardPatMedOperationItemByOpId(patMedOperation.getId().toString());
+ otherVisitFacade.deleteHardOperationItemByOpId(patMedOperation.getId().toString());
}
//addMianTableFalg鏄惁闇�瑕佸皢涓绘墜鏈殑淇℃伅鏀惧埌PatMedOperation琛ㄤ腑锛堝彧鏈夌涓�涓富鎵嬫湳淇℃伅闇�瑕佹斁锛屽悗闈㈢殑閮戒笉闇�瑕佹斁浜嗭紝涔熷氨鏄锛岀涓�涓斁瀹屽悗锛屽氨瑕佹妸杩欎釜flag鏀规垚false锛�
@@ -1565,12 +1591,12 @@
}
patMedOperation.setUpdateTime(new Date());
- patMedOperationMapper.updatePatMedOperation(patMedOperation);
+ otherVisitFacade.updateOperation(patMedOperation);
addMianTableFalg = false;
}
patMedOperationItem.setCreateTime(new Date());
patMedOperationItem.setUpdateTime(new Date());
- patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
+ otherVisitFacade.insertOperationItem(patMedOperationItem);
}
}
return true;
@@ -1594,7 +1620,7 @@
patMedOperation.setOrgid(patArchive.getOrgid());
patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
//鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
- List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+ List<PatMedOperation> patMedOperations = otherVisitFacade.selectOperationList(patMedOperation);
if (CollectionUtils.isNotEmpty(patMedOperations)) {
for(PatMedOperation operation : patMedOperations){
Long id = operation.getId();
@@ -1609,7 +1635,7 @@
//鑾峰彇闇�瑕佸嚭闄㈡墜鏈殢璁匡紝鏈鐞嗙殑鏁版嵁
pmoi.setOpid(operation.getId().toString());
List<PatMedOperationItem> patMedOperationItems
- = patMedOperationItemMapper.selectOperationItemList(pmoi);
+ = otherVisitFacade.selectOperationItemListByCondition(pmoi);
List<Long> operationItemIds = patMedOperationItems.stream()
.map(PatMedOperationItem::getId)
.filter(Objects::nonNull)
@@ -1643,8 +1669,8 @@
}
}
operation.setUpdateTime(new Date());
- patMedOperationMapper.updatePatMedOperation(operation);
- patMedOperationItemMapper.deleteSoftPatMedOperationItemByOpId(operation.getOpid());
+ otherVisitFacade.updateOperation(operation);
+ otherVisitFacade.deleteSoftOperationItemByOpId(operation.getOpid());
}
}
}
@@ -1763,7 +1789,7 @@
//鍖婚櫌閭h竟璇磋鐢ㄧ梾妗堝彿锛屼笉瑕佺敤浣忛櫌鍙�
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ patMedInhospList = inhospVisitFacade.selectPatMedInhospList(patMedInhosp);
patMedInhosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
patMedInhosp.setStarttime(externalInHospPatientInfo.getRuYuanSJ());
@@ -1814,15 +1840,72 @@
int i = 1;
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
- i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ i = inhospVisitFacade.updatePatMedInhosp(patMedInhosp);
} else {
patMedInhosp.setCreateTime(new Date());
- i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+ i = inhospVisitFacade.insertPatMedInhosp(patMedInhosp);
+ if (i == 1) {
+ //榫欐硥浜烘皯鍖婚櫌锛氭柊澧炰綇闄俊鎭椂澶勭悊鎮h�呭啀鍏ラ櫌
+ stopReadmissionFollowUpTasks(patMedInhosp);
+ }
}
if (i == 1) return true;
return false;
}
+ /**
+ * 鎮h�呭啀鍏ラ櫌澶勭悊锛氭偅鑰呭啀娆″叆闄㈠悗锛屼笂涓�娆″嚭闄㈢敓鎴愮殑寰呮墽琛岄暱鏈熼殢璁夸换鍔′笉鍐嶆墽琛屻��
+ * 鐩墠浠呭榫欐硥浜烘皯鍖婚櫌鐢熸晥锛岄伩鍏嶅奖鍝嶅叾浠栨満鏋勩��
+ *
+ * @param patMedInhosp 鏈鏂板鐨勪綇闄俊鎭�
+ */
+ private void stopReadmissionFollowUpTasks(PatMedInhosp patMedInhosp) {
+ if (!LONGQUAN_PEOPLE_HOSPITAL_ORG_ID.equals(patMedInhosp.getOrgid())) {
+ return;
+ }
+ if (Objects.isNull(patMedInhosp.getPatid()) || Objects.isNull(patMedInhosp.getStarttime())) {
+ log.warn("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊璺宠繃锛宲atid鎴栧叆闄㈡椂闂翠负绌猴紝inhospno={}", patMedInhosp.getInhospno());
+ return;
+ }
+ try {
+ ServiceSubtaskEntity subtask = new ServiceSubtaskEntity();
+ subtask.setPatid(patMedInhosp.getPatid());
+ subtask.setOrgid(LONGQUAN_PEOPLE_HOSPITAL_ORG_ID);
+ subtask.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);
+ if (CollectionUtils.isEmpty(serviceSubtaskList)) {
+ return;
+ }
+ int stopCount = 0;
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ //涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊
+ if (Objects.isNull(serviceSubtask.getLongSendTime())) {
+ continue;
+ }
+ //鍑洪櫌鏃堕棿鏅氫簬鎴栫瓑浜庢湰娆″叆闄㈡椂闂寸殑浠诲姟锛屼笉灞炰簬鏈鍏ラ櫌鍓嶇殑寰呴殢璁夸换鍔�
+ if (Objects.isNull(serviceSubtask.getEndtime())
+ || !serviceSubtask.getEndtime().before(patMedInhosp.getStarttime())) {
+ continue;
+ }
+ serviceSubtask.setSendstate(4L);
+ serviceSubtask.setIsVisitAgain(2);
+ serviceSubtask.setResult("error");
+ serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark())
+ ? serviceSubtask.getRemark() + ";鎮h�呭啀鍏ラ櫌" : "鎮h�呭啀鍏ラ櫌");
+ serviceSubtask.setUpdateTime(new Date());
+ if (Boolean.TRUE.equals(serviceSubtaskMapper.updateServiceSubtask(serviceSubtask))) {
+ stopCount++;
+ }
+ }
+ log.info("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊瀹屾垚锛宲atid={}锛屾湰娆″叆闄㈡椂闂�={}锛屽仠姝㈠緟鎵ц闀挎湡浠诲姟{}鏉�",
+ patMedInhosp.getPatid(), patMedInhosp.getStarttime(), stopCount);
+ } catch (Exception e) {
+ //鍐嶅叆闄换鍔″鐞嗗け璐ヤ笉褰卞搷鏈浣忛櫌淇℃伅鍏ュ簱
+ log.error("榫欐硥浜烘皯鍖婚櫌鎮h�呭啀鍏ラ櫌澶勭悊寮傚父锛宲atid={}锛宨nhospno={}",
+ patMedInhosp.getPatid(), patMedInhosp.getInhospno(), e);
+ }
+ }
+
//鏂板闅忚浠诲姟鍚屾
@Override
public Boolean addTaskInfo(Map dataMap) {
--
Gitblit v1.9.3