From 12efe23ded52b60069cedfbf32c2f280d91e4d6a Mon Sep 17 00:00:00 2001 From: shiyang <316555390@qq.com> Date: Sat, 21 May 2022 20:27:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=9B=9E=E8=AE=BF=E5=8A=9F?= =?UTF-8?q?=E8=83=BDupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/talkonlineweb/task/PushChatInfoTask.java | 592 +++++++++++---------- 1 file changed, 312 insertions(+), 280 deletions(-) diff --git a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushChatInfoTask.java b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushChatInfoTask.java index f8dad36..1a30602 100644 --- a/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushChatInfoTask.java +++ b/talkonlineweb/src/main/java/com/lyms/talkonlineweb/task/PushChatInfoTask.java @@ -66,319 +66,351 @@ public class PushChatInfoTask { * 每天19点执行回访信息系统回复 */ @Scheduled(cron = "0 0 19 * * ?") + @Transactional(rollbackFor = Exception.class) public void pushChatInfo() { + List> PcInfoList=lymsPatientService.getPcInfoList(); for (Map map : PcInfoList) { - LymsChatgroup chatgroup = lymsChatgroupService.getOne(new QueryWrapper() - .lambda().eq(LymsChatgroup::getPcid, (Integer)map.get("pcid"))); - LymsPatient patient= lymsPatientService.getOne(new QueryWrapper() - .lambda().eq(LymsPatient::getIdno, map.get("idno").toString())); - LymsDoctor doctor= lymsDoctorService.getOne(new QueryWrapper() - .lambda().eq(LymsDoctor::getDlogin, map.get("dlogin").toString())); - if(null==chatgroup){ - //创建聊天群组 - chatgroup=addChatGroup(map,patient,doctor); - } + try { + LymsChatgroup chatgroup = lymsChatgroupService.getOne(new QueryWrapper() + .lambda().eq(LymsChatgroup::getPcid, (Integer)map.get("pcid"))); + LymsPatient patient= lymsPatientService.getOne(new QueryWrapper() + .lambda().eq(LymsPatient::getIdno, map.get("idno").toString())); + LymsDoctor doctor= lymsDoctorService.getOne(new QueryWrapper() + .lambda().eq(LymsDoctor::getDlogin, map.get("dlogin").toString())); + if(null==chatgroup){ + //创建聊天群组 + chatgroup=addChatGroup(map,patient,doctor); + } - if (null!=chatgroup) { - final List returnVisitRecords = lymsReturnVisitRecordService.list(new QueryWrapper() - .lambda().eq(LymsReturnVisitRecord::getPcid, (Integer)map.get("pcid"))); - List doctorAminList= lymsDoctorService.list(new QueryWrapper() - .lambda().eq(LymsDoctor::getDpid, doctor.getDpid()) - .in(LymsDoctor::getAdminType, Arrays.asList(1,2)) - .orderByAsc(LymsDoctor::getAdminType)); - int day = DateUtil.daysBetween(DateUtil.parseYMD(map.get("createdtime").toString()),new Date()); - switch (returnVisitRecords.size()) { - case 0: - if (day==2) { - final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() - .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); - int i=0; - for (LymsIllness lymsIllness : lymsIllnessList) { - final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() - .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) - .eq(LymsChatInfo::getType, 1)); - //推送回访 - if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { - JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), doctor.getDlogin()); - if (null!=jsonObject) { - i++; - //保存发送消息记录 - LymsMessage message=new LymsMessage(); - message.setContent(chatInfo.getConten()); - message.setFromid(doctor.getDlogin()); - message.setTargetid(chatgroup.getHxgroupid()); - message.setMtype("TEXT"); - message.setSendtime(new Date()); - message.setType(1); - lymsMessageService.save(message); + if (null!=chatgroup) { + final List returnVisitRecords = lymsReturnVisitRecordService.list(new QueryWrapper() + .lambda().eq(LymsReturnVisitRecord::getPcid, (Integer)map.get("pcid"))); + List doctorAminList= lymsDoctorService.list(new QueryWrapper() + .lambda().eq(LymsDoctor::getDpid, doctor.getDpid()) + .in(LymsDoctor::getAdminType, Arrays.asList(1,2)) + .orderByAsc(LymsDoctor::getAdminType)); + int day = DateUtil.daysBetween(DateUtil.parseYMD(map.get("createdtime").toString()),new Date()); + switch (returnVisitRecords.size()) { + case 0: + if (day==2) { + final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() + .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); + int i=0; + for (LymsIllness lymsIllness : lymsIllnessList) { + final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() + .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) + .eq(LymsChatInfo::getType, 1)); + //推送回访 + if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { + JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), doctor.getDlogin()); + if (null!=jsonObject) { + i++; + //保存发送消息记录 + LymsMessage message=new LymsMessage(); + message.setContent(chatInfo.getConten()); + message.setFromid(doctor.getDlogin()); + message.setTargetid(chatgroup.getHxgroupid()); + message.setMtype("TEXT"); + message.setSendtime(new Date()); + message.setType(1); + lymsMessageService.save(message); + } } } - } - if (i!=0) { - //增加回访记录 - LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); - returnVisitRecord.setDlogin(doctor.getDlogin());//第二天,就诊医生自动回复 - returnVisitRecord.setDpid(doctor.getDpid()); - returnVisitRecord.setIdno(patient.getIdno()); - returnVisitRecord.setType(0); - returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); - lymsReturnVisitRecordService.save(returnVisitRecord); - chatgroup.setStat(0); - final boolean b = lymsChatgroupService.updateById(chatgroup); - if (!b) { - break; - } - //修改同一群组记录的状态 - final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() - .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); - for (LymsTkrecord lymsTkrecord : tkrecordList) { - lymsTkrecord.setStat(0); - final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); - if (!saveOrUpdate) { - break; + if (i!=0) { + //增加回访记录 + LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); + returnVisitRecord.setDlogin(doctor.getDlogin());//第二天,就诊医生自动回复 + returnVisitRecord.setDpid(doctor.getDpid()); + returnVisitRecord.setIdno(patient.getIdno()); + returnVisitRecord.setType(0); + returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); + lymsReturnVisitRecordService.save(returnVisitRecord); + chatgroup.setStat(0); + final boolean b = lymsChatgroupService.updateById(chatgroup); + if (!b) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); } - } - } - } - break; - case 1: - if (day==5) { - //获取值班护士 - String dlogin=""; - for (LymsDoctor lymsDoctor : doctorAminList) { - if (lymsDoctor.getAdminType()==2) { - dlogin=lymsDoctor.getDlogin(); - return; - } - } - final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() - .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); - int i=0; - for (LymsIllness lymsIllness : lymsIllnessList) { - final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() - .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) - .eq(LymsChatInfo::getType, 2)); - //推送回访 - if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { - JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); - if (null!=jsonObject) { - i++; - //保存发送消息记录 - LymsMessage message=new LymsMessage(); - message.setContent(chatInfo.getConten()); - message.setFromid(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); - message.setTargetid(chatgroup.getHxgroupid()); - message.setMtype("TEXT"); - message.setSendtime(new Date()); - message.setType(1); - lymsMessageService.save(message); + //修改同一群组记录的状态 + final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() + .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); + for (LymsTkrecord lymsTkrecord : tkrecordList) { + try { + lymsTkrecord.setStat(0); + final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); + if (!saveOrUpdate) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + } catch (RuntimeException e) { + e.printStackTrace(); + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } } } } - if (i!=0) { - //增加回访记录 - LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); - returnVisitRecord.setDlogin(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin);//第五天,值班护士自动回复 - returnVisitRecord.setDpid(doctor.getDpid()); - returnVisitRecord.setIdno(patient.getIdno()); - returnVisitRecord.setType(0); - returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); - lymsReturnVisitRecordService.save(returnVisitRecord); - chatgroup.setStat(0); - final boolean b = lymsChatgroupService.updateById(chatgroup); - if (!b) { - break; - } - //修改同一群组记录的状态 - final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() - .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); - for (LymsTkrecord lymsTkrecord : tkrecordList) { - lymsTkrecord.setStat(0); - final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); - if (!saveOrUpdate) { - break; + break; + case 1: + if (day==5) { + //获取值班护士 + String dlogin=""; + for (LymsDoctor lymsDoctor : doctorAminList) { + if (lymsDoctor.getAdminType()==2) { + dlogin=lymsDoctor.getDlogin(); + return; } } - } - } - break; - case 2: - if (day==10) { - //获取值班医生 - String dlogin=""; - for (LymsDoctor lymsDoctor : doctorAminList) { - if (lymsDoctor.getAdminType()==1) { - dlogin=lymsDoctor.getDlogin(); - return; + final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() + .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); + int i=0; + for (LymsIllness lymsIllness : lymsIllnessList) { + final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() + .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) + .eq(LymsChatInfo::getType, 2)); + //推送回访 + if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { + JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); + if (null!=jsonObject) { + i++; + //保存发送消息记录 + LymsMessage message=new LymsMessage(); + message.setContent(chatInfo.getConten()); + message.setFromid(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); + message.setTargetid(chatgroup.getHxgroupid()); + message.setMtype("TEXT"); + message.setSendtime(new Date()); + message.setType(1); + lymsMessageService.save(message); + } + } } - } - final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() - .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); - int i=0; - for (LymsIllness lymsIllness : lymsIllnessList) { - final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() - .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) - .eq(LymsChatInfo::getType, 3)); - //推送回访 - if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { - JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); - if (null!=jsonObject) { - i++; - //保存发送消息记录 - LymsMessage message=new LymsMessage(); - message.setContent(chatInfo.getConten()); - message.setFromid(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); - message.setTargetid(chatgroup.getHxgroupid()); - message.setMtype("TEXT"); - message.setSendtime(new Date()); - message.setType(1); - lymsMessageService.save(message); + if (i!=0) { + //增加回访记录 + LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); + returnVisitRecord.setDlogin(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin);//第五天,值班护士自动回复 + returnVisitRecord.setDpid(doctor.getDpid()); + returnVisitRecord.setIdno(patient.getIdno()); + returnVisitRecord.setType(0); + returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); + lymsReturnVisitRecordService.save(returnVisitRecord); + chatgroup.setStat(0); + final boolean b = lymsChatgroupService.updateById(chatgroup); + if (!b) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + //修改同一群组记录的状态 + final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() + .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); + for (LymsTkrecord lymsTkrecord : tkrecordList) { + try { + lymsTkrecord.setStat(0); + final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); + if (!saveOrUpdate) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + } catch (RuntimeException e) { + e.printStackTrace(); + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } } } } - if (i!=0) { - //增加回访记录 - LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); - returnVisitRecord.setDlogin(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin);//第十天,值班医生自动回复 - returnVisitRecord.setDpid(doctor.getDpid()); - returnVisitRecord.setIdno(patient.getIdno()); - returnVisitRecord.setType(0); - returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); - lymsReturnVisitRecordService.save(returnVisitRecord); - chatgroup.setStat(0); - final boolean b = lymsChatgroupService.updateById(chatgroup); - if (!b) { - break; + break; + case 2: + if (day==10) { + //获取值班医生 + String dlogin=""; + for (LymsDoctor lymsDoctor : doctorAminList) { + if (lymsDoctor.getAdminType()==1) { + dlogin=lymsDoctor.getDlogin(); + return; + } } - //修改同一群组记录的状态 - final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() - .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); - for (LymsTkrecord lymsTkrecord : tkrecordList) { - lymsTkrecord.setStat(0); - final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); - if (!saveOrUpdate) { - break; + final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() + .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); + int i=0; + for (LymsIllness lymsIllness : lymsIllnessList) { + final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() + .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) + .eq(LymsChatInfo::getType, 3)); + //推送回访 + if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { + JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); + if (null!=jsonObject) { + i++; + //保存发送消息记录 + LymsMessage message=new LymsMessage(); + message.setContent(chatInfo.getConten()); + message.setFromid(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); + message.setTargetid(chatgroup.getHxgroupid()); + message.setMtype("TEXT"); + message.setSendtime(new Date()); + message.setType(1); + lymsMessageService.save(message); + } } } - } - } - break; - case 3: - if (day==20) { - final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() - .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); - int i=0; - for (LymsIllness lymsIllness : lymsIllnessList) { - final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() - .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) - .eq(LymsChatInfo::getType, 4)); - //推送回访 - if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { - JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), doctor.getDlogin()); - if (null!=jsonObject) { - i++; - //保存发送消息记录 - LymsMessage message=new LymsMessage(); - message.setContent(chatInfo.getConten()); - message.setFromid(doctor.getDlogin()); - message.setTargetid(chatgroup.getHxgroupid()); - message.setMtype("TEXT"); - message.setSendtime(new Date()); - message.setType(1); - lymsMessageService.save(message); + if (i!=0) { + //增加回访记录 + LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); + returnVisitRecord.setDlogin(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin);//第十天,值班医生自动回复 + returnVisitRecord.setDpid(doctor.getDpid()); + returnVisitRecord.setIdno(patient.getIdno()); + returnVisitRecord.setType(0); + returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); + lymsReturnVisitRecordService.save(returnVisitRecord); + chatgroup.setStat(0); + final boolean b = lymsChatgroupService.updateById(chatgroup); + if (!b) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + //修改同一群组记录的状态 + final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() + .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); + for (LymsTkrecord lymsTkrecord : tkrecordList) { + try { + lymsTkrecord.setStat(0); + final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); + if (!saveOrUpdate) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + } catch (RuntimeException e) { + e.printStackTrace(); + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } } } } - if (i!=0) { - //增加回访记录 - LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); - returnVisitRecord.setDlogin(doctor.getDlogin());//第二十天,就诊医生自动回复 - returnVisitRecord.setDpid(doctor.getDpid()); - returnVisitRecord.setIdno(patient.getIdno()); - returnVisitRecord.setType(0); - returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); - lymsReturnVisitRecordService.save(returnVisitRecord); - chatgroup.setStat(0); - final boolean b = lymsChatgroupService.updateById(chatgroup); - if (!b) { - break; - } - //修改同一群组记录的状态 - final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() - .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); - for (LymsTkrecord lymsTkrecord : tkrecordList) { - lymsTkrecord.setStat(0); - final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); - if (!saveOrUpdate) { - break; + break; + case 3: + if (day==20) { + final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() + .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); + int i=0; + for (LymsIllness lymsIllness : lymsIllnessList) { + final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() + .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) + .eq(LymsChatInfo::getType, 4)); + //推送回访 + if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { + JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), doctor.getDlogin()); + if (null!=jsonObject) { + i++; + //保存发送消息记录 + LymsMessage message=new LymsMessage(); + message.setContent(chatInfo.getConten()); + message.setFromid(doctor.getDlogin()); + message.setTargetid(chatgroup.getHxgroupid()); + message.setMtype("TEXT"); + message.setSendtime(new Date()); + message.setType(1); + lymsMessageService.save(message); + } } } - } - } - break; - case 4: - if (day==30) { - //获取值班医生 - String dlogin=""; - for (LymsDoctor lymsDoctor : doctorAminList) { - if (lymsDoctor.getAdminType()==1) { - dlogin=lymsDoctor.getDlogin(); - return; + if (i!=0) { + //增加回访记录 + LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); + returnVisitRecord.setDlogin(doctor.getDlogin());//第二十天,就诊医生自动回复 + returnVisitRecord.setDpid(doctor.getDpid()); + returnVisitRecord.setIdno(patient.getIdno()); + returnVisitRecord.setType(0); + returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); + lymsReturnVisitRecordService.save(returnVisitRecord); + chatgroup.setStat(0); + final boolean b = lymsChatgroupService.updateById(chatgroup); + if (!b) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + //修改同一群组记录的状态 + final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() + .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); + for (LymsTkrecord lymsTkrecord : tkrecordList) { + try { + lymsTkrecord.setStat(0); + final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); + if (!saveOrUpdate) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + } catch (RuntimeException e) { + e.printStackTrace(); + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + } } } - final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() - .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); - int i=0; - for (LymsIllness lymsIllness : lymsIllnessList) { - final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() - .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) - .eq(LymsChatInfo::getType, 5)); - //推送回访 - if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { - JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); - if (null!=jsonObject) { - i++; - //保存发送消息记录 - LymsMessage message=new LymsMessage(); - message.setContent(chatInfo.getConten()); - message.setFromid(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); - message.setTargetid(chatgroup.getHxgroupid()); - message.setMtype("TEXT"); - message.setSendtime(new Date()); - message.setType(1); - lymsMessageService.save(message); + break; + case 4: + if (day==30) { + //获取值班医生 + String dlogin=""; + for (LymsDoctor lymsDoctor : doctorAminList) { + if (lymsDoctor.getAdminType()==1) { + dlogin=lymsDoctor.getDlogin(); + return; } } - } - if (i!=0) { - //增加回访记录 - LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); - returnVisitRecord.setDlogin(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin);//第三十天,值班医生自动回复 - returnVisitRecord.setDpid(doctor.getDpid()); - returnVisitRecord.setIdno(patient.getIdno()); - returnVisitRecord.setType(0); - returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); - lymsReturnVisitRecordService.save(returnVisitRecord); - chatgroup.setStat(0); - final boolean b = lymsChatgroupService.updateById(chatgroup); - if (!b) { - break; + final List lymsIllnessList = lymsIllnessService.list(new QueryWrapper() + .lambda().eq(LymsIllness::getPcid, (Integer) map.get("pcid"))); + int i=0; + for (LymsIllness lymsIllness : lymsIllnessList) { + final LymsChatInfo chatInfo = lymsChatInfoService.getOne(new QueryWrapper() + .lambda().eq(LymsChatInfo::getIllid, lymsIllness.getIid()) + .eq(LymsChatInfo::getType, 5)); + //推送回访 + if (null!=chatInfo && StringUtil.isNotEmpty(chatgroup.getHxgroupid()) && null!=doctor) { + JSONObject jsonObject = hxService.sendGroupMsg(new String[]{chatgroup.getHxgroupid()}, chatInfo.getConten(), StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); + if (null!=jsonObject) { + i++; + //保存发送消息记录 + LymsMessage message=new LymsMessage(); + message.setContent(chatInfo.getConten()); + message.setFromid(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin); + message.setTargetid(chatgroup.getHxgroupid()); + message.setMtype("TEXT"); + message.setSendtime(new Date()); + message.setType(1); + lymsMessageService.save(message); + } + } } - //修改同一群组记录的状态 - final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() - .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); - for (LymsTkrecord lymsTkrecord : tkrecordList) { - lymsTkrecord.setStat(0); - final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); - if (!saveOrUpdate) { - break; + if (i!=0) { + //增加回访记录 + LymsReturnVisitRecord returnVisitRecord=new LymsReturnVisitRecord(); + returnVisitRecord.setDlogin(StringUtil.isEmpty(dlogin)? doctor.getDlogin():dlogin);//第三十天,值班医生自动回复 + returnVisitRecord.setDpid(doctor.getDpid()); + returnVisitRecord.setIdno(patient.getIdno()); + returnVisitRecord.setType(0); + returnVisitRecord.setHxgroupid(chatgroup.getHxgroupid()); + lymsReturnVisitRecordService.save(returnVisitRecord); + chatgroup.setStat(0); + final boolean b = lymsChatgroupService.updateById(chatgroup); + if (!b) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + //修改同一群组记录的状态 + final List tkrecordList = lymsTkrecordService.list(new QueryWrapper() + .lambda().eq(LymsTkrecord::getHxgroupid, chatgroup.getHxgroupid())); + for (LymsTkrecord lymsTkrecord : tkrecordList) { + try { + lymsTkrecord.setStat(0); + final boolean saveOrUpdate = lymsTkrecordService.updateById(lymsTkrecord); + if (!saveOrUpdate) { + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } + } catch (RuntimeException e) { + e.printStackTrace(); + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); + } } } } - } - break; + break; + } } + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("回滚状态,执行失败,请联系管理员"); } } } -- 1.8.3.1