From 3d4740d76f50222ce00587abea81b56afa35f6db Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 12 三月 2026 14:44:45 +0800
Subject: [PATCH] 【丽水】先通过任务ID、部门code,判断ServiceTaskdept是否存在,不存在则新增,存在则修改
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 88 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 84 insertions(+), 4 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 875c8b9..1a003c6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -7,8 +7,10 @@
import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.IServiceExternalService;
import lombok.extern.slf4j.Slf4j;
@@ -187,6 +189,7 @@
@Override
public Boolean addUserDeptInfo(Map dataMap) {
+ //todo
log.info("ServiceExternalServiceImpl---addUserDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
Map yeWuXX = (Map) dataMap.get("YeWuXX");
Map<String, Object> keShiYH = (Map<String, Object>) yeWuXX.get("KeShiYH");
@@ -199,7 +202,8 @@
//鑾峰彇褰撳墠鐢ㄦ埛Name瀵瑰簲鐨剈ser淇℃伅
SysUser sysUser = null;
SysUser sysUserVo = new SysUser();
- sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM());
+// sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM());
+ sysUserVo.setHisUserId(externalUserDeptInfo.getYongHuID());
sysUserVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
//涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
sysUserVo.setCampusid("1");
@@ -231,11 +235,13 @@
sysUserDept.setDelFlag(0L);
sysUserDept.setUserId(sysUser.getUserId());
sysUserDept.setUserCode(sysUser.getUserCode());
- sysUserDept.setDeptType("2");
+ sysUserDept.setDeptType(sysDept.getDeptType());
sysUserDept.setGuid(externalUserDeptInfo.getZuZhiJGID());
sysUserDept.setDeptId(sysDept.getDeptId());
sysUserDept.setDeptCode(sysDept.getDeptCode());
sysUserDept.setDeptName(sysDept.getDeptName());
+ sysUserDept.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+ sysUserDept.setCampusid("1");
sysUserDept.setCreateBy(externalUserDeptInfo.getChuangJianRXM());
sysUserDept.setCreateTime(externalUserDeptInfo.getChuangJianSJ());
@@ -277,7 +283,7 @@
distinct().collect(Collectors.toList());
//鍜宷ueryHospUserInfoList閲囬泦鐨勬暟鎹牸寮忎繚鎸佷竴鑷�
List<List<String>> userDeptsList = new ArrayList<>();
- if(!sysUserDeptList.isEmpty()){
+ if(!userDepts.isEmpty()){
for(String userDept: userDepts){
List<String> uDept = new ArrayList<>();
uDept.add(userDept);
@@ -506,6 +512,8 @@
ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
List<ExternalInHospPatientAddrInfo> epai2 = null;
+ //姝讳骸鏍囪
+ Boolean deathFlag = false;
if (CollectionUtils.isNotEmpty(epai)) {
epai2 = epai.stream().map(map -> {
ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo();
@@ -567,6 +575,14 @@
patMedInhosp1.setNurseName(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSXM")) ? JiuZhenXX.get("ZeRenHSXM").toString() : null);
patMedInhosp1.setNurseId(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSID")) ? JiuZhenXX.get("ZeRenHSID").toString() : null);
patMedInhosp1.setBedNo(ObjectUtils.isNotEmpty(JiuZhenXX.get("DangQianCWMC")) ? JiuZhenXX.get("DangQianCWMC").toString() : null);
+
+ //绂婚櫌鏂瑰紡浠g爜 1-鍖荤灘绂婚櫌 2-鍖诲槺杞櫌 3-鍖诲槺杞ぞ鍖哄崼鐢熸湇鍔℃満鏋�/涔¢晣鍗敓闄�
+ // 4-闈炲尰鍢辩闄� 5-姝讳骸 9-鍏朵粬 10-浠嬪叆瀹� 20-鎵嬫湳瀹�
+ String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null;
+ //鍒ゆ柇鐥呬汉鏄惁姝讳骸
+ if(ObjectUtils.isNotEmpty(liYuanQxdm) &&("5").equals(liYuanQxdm)){
+ deathFlag = true;
+ }
}
patMedInhosp1.setUpdateTime(new Date());
patMedInhosp1.setTelcode(patArchive.getTelcode());
@@ -610,6 +626,23 @@
}
patMedInhosp1.setInhospstate("1");
+ if(deathFlag){
+ //鐥呬汉姝讳骸鏃犻』闅忚
+ patMedInhosp1.setFuflag("1");
+ //鏇存柊鐥呬汉 notrequiredFlag
+ patArchive.setNotrequiredFlag("1");
+ patArchiveMapper.updatePatArchive(patArchive);
+ //瀵瑰凡缁忕敓鎴愮殑闅忚浠诲姟杩涜澶勭悊
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
+ serviceSubtaskVO.setPatid(patArchive.getId());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ serviceSubtask.setSendstate(6L);
+ serviceSubtask.setRemark(serviceSubtask.getRemark() + ";鐥呬汉宸叉浜★紝涓嶉殢璁�");
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ }
+ }
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp1.setUpdateTime(new Date());
patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
@@ -821,7 +854,7 @@
int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
//鍙栨秷鍑洪櫌锛屽氨涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=2鎴栬�卻endstate=1鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝鏈夌殑璇濓紝绔嬪嵆鍋滀簡
- ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
serviceSubtaskVO.setPatid(patMedInhosp1.getPatid());
serviceSubtaskVO.setSendstate(2L);
List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
@@ -995,6 +1028,50 @@
return true;
}
+ /**
+ * 鐩墠锛屼粠鎬ヨ瘖鎶㈡晳鍚庤浆鍏ヤ綇闄㈢殑鎮h�咃紝鍏舵暟鎹噰闆嗗瓨鍦ㄤ竴涓棶棰橈細鏈変袱鏉″叆闄㈣褰曘��
+ * 绗竴鏉★紙鎬ヨ瘖绉戝鐨勶級璁板綍缂哄皯鈥滃嚭闄㈡椂闂粹�濓紝瀵艰嚧璇ヨ褰曞湪缁熻涓缁堟樉绀轰负鈥滃湪闄⑩�濓紝
+ * 鑰岀浜屾潯锛堣浆鍏ョ瀹ょ殑锛夎褰曟槸瀹屾暣鐨勩�傛垜浠渶瑕侀噰闆� JZ_ZY_LiQiang鎺ュ彛鐨勬暟鎹紝
+ * 閲岄潰鐨勭鎶㈡椂闂存潵鍙嶅~绗竴鏉¤褰曠殑鈥滃嚭闄㈡椂闂粹�濓紝浠庤�屼慨姝g涓�鏉¤褰曠殑鐘舵�併��
+ * @param dataMap
+ * @return
+ */
+ @Override
+ public Boolean editRescueFinishedOutHospInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ //鐥呬汉淇℃伅
+ Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+ //灏辫瘖淇℃伅
+ Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
+
+ ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+ PatMedInhosp patMedInhosp = new PatMedInhosp();
+ patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+ patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ PatMedInhosp patMedInhosp1 = null;
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
+ if(ObjectUtils.isNotEmpty(patMedInhosp1)){
+ if (ObjectUtils.isNotEmpty(JiuZhenXX.get("LiQiangSJ"))) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ patMedInhosp1.setEndtime(simpleDateFormat.parse(JiuZhenXX.get("LiQiangSJ").toString()));
+ patMedInhosp1.setUpdateTime(new Date());
+ //鏇存柊鍑洪櫌鐘舵��
+ patMedInhosp1.setInhospstate("1");
+ int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ if (i != 1) return false;
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ return true;
+ }else {
+ log.error("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo鐨勬病鏈夋壘鍒板搴旂殑鍑洪櫌璁板綍锛歿}", dataMap);
+ return false;
+ }
+ }
@Override
public Boolean addFinshJZInfo(Map dataMap) {
log.info("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
@@ -1927,6 +2004,9 @@
case "JZ_ZY_YuChuYuan":
log.info("鎮h�呴鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
return addPreOutHospInfo(dataMap);
+ case "JZ_ZY_LiQiang":
+ log.info("鎮h�呯鎶㈠叆鍙傜被鍨嬩负锛歿}", type);
+ return editRescueFinishedOutHospInfo(dataMap);
case "JG_ZZ_BingQu":
log.info("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
return addWardAreaInfo(dataMap);
--
Gitblit v1.9.3