|
@ -2,27 +2,32 @@ package com.yihu.jw.hospital.disease.service;
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
import com.yihu.jw.entity.base.sms.SmsTemplateDO;
|
|
|
import com.yihu.jw.entity.hospital.survey.BaseDiseaseSurveyDO;
|
|
|
import com.yihu.jw.entity.specialist.BaseDiseaseHospitalDO;
|
|
|
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationPlanTemplateDO;
|
|
|
import com.yihu.jw.entity.specialist.rehabilitation.RehabilitationTemplateDetailDO;
|
|
|
import com.yihu.jw.hospital.disease.dao.BaseDiseaseHospitalDao;
|
|
|
import com.yihu.jw.hospital.disease.dao.RehabilitationPlanTemplateDao;
|
|
|
import com.yihu.jw.hospital.disease.dao.RehabilitationTemplateDetailDao;
|
|
|
import com.yihu.jw.hospital.prescription.service.DsyyPrescriptionService;
|
|
|
import com.yihu.jw.hospital.survey.dao.BaseDiseaseSurveyDao;
|
|
|
import com.yihu.jw.mysql.query.BaseJpaService;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.sms.dao.BaseSmsTemplateDao;
|
|
|
import com.yihu.jw.utils.AES;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import com.yihu.jw.wlyy.service.WlyyBusinessService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.net.URLEncoder;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
|
@Service
|
|
@ -38,6 +43,123 @@ public class BaseDiseaseHospitalService extends BaseJpaService<BaseDiseaseHospit
|
|
|
private RehabilitationTemplateDetailDao templateDetailDao;
|
|
|
@Autowired
|
|
|
private WlyyBusinessService wlyyBusinessService;
|
|
|
@Autowired
|
|
|
private BaseDiseaseSurveyDao baseDiseaseSurveyDao;
|
|
|
@Autowired
|
|
|
private BaseSmsTemplateDao baseSmsTemplateDao;
|
|
|
@Autowired
|
|
|
private BaseDoctorDao doctorDao;
|
|
|
@Autowired
|
|
|
private DsyyPrescriptionService dsyyPrescriptionService;
|
|
|
|
|
|
//疾病筛查管理发送短信
|
|
|
public void sendSms(String mobiles,String surveyCodes,String smsTemplateId,String content,String header,String doctor){
|
|
|
BaseDoctorDO doctorDO = doctorDao.findByIdAndDel(doctor);
|
|
|
Map<String,Integer> map = new HashMap<>();
|
|
|
String mobile[] = mobiles.split(",");
|
|
|
for (String key:mobile){
|
|
|
if(!map.containsKey(key)){
|
|
|
map.put(key,1);
|
|
|
try {
|
|
|
dsyyPrescriptionService.SendSms(key, content);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
SmsTemplateDO smsTemplateDO = findSmsTemplate(smsTemplateId);
|
|
|
if(smsTemplateDO==null){
|
|
|
smsTemplateDO = new SmsTemplateDO();
|
|
|
smsTemplateDO.setClientId("dsyy");
|
|
|
smsTemplateDO.setType(SmsTemplateDO.Type.login);
|
|
|
smsTemplateDO.setCreateTime(new Date());
|
|
|
smsTemplateDO.setUpdateTime(new Date());
|
|
|
}
|
|
|
smsTemplateDO.setContent(content);
|
|
|
smsTemplateDO.setHeader(header);
|
|
|
baseSmsTemplateDao.save(smsTemplateDO);
|
|
|
|
|
|
//添加i健康发送记录
|
|
|
wlyyBusinessService.addSurveyThird(surveyCodes,doctorDO.getIdcard());
|
|
|
}
|
|
|
|
|
|
public SmsTemplateDO findSmsTemplate(String id){
|
|
|
if(StringUtils.isBlank(id)){
|
|
|
return null;
|
|
|
}
|
|
|
return baseSmsTemplateDao.findById(id).orElse(null);
|
|
|
}
|
|
|
|
|
|
//新增和修改短信模板
|
|
|
public SmsTemplateDO addOrUpdSmsTemplate(SmsTemplateDO smsTemplateDO){
|
|
|
if (StringUtils.isBlank(smsTemplateDO.getId())) {
|
|
|
smsTemplateDO.setCreateTime(new Date());
|
|
|
smsTemplateDO.setUpdateTime(new Date());
|
|
|
}else {
|
|
|
smsTemplateDO.setUpdateTime(new Date());
|
|
|
}
|
|
|
smsTemplateDO = baseSmsTemplateDao.save(smsTemplateDO);
|
|
|
return smsTemplateDO;
|
|
|
}
|
|
|
|
|
|
//短信模板分页
|
|
|
public MixEnvelop smsTemplatePage(String header,String clientId, Integer page, Integer size){
|
|
|
String orderBy = " order by create_time desc limit "+(page-1)*size+","+size;
|
|
|
String condition = " ";
|
|
|
String sql = "SELECT * FROM base_sms_template where 1=1 ";
|
|
|
if (StringUtils.isNoneBlank(header)){
|
|
|
condition +=" and header like '%"+header+"%' ";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(clientId)){
|
|
|
condition +=" and client_d ='"+clientId+"' ";
|
|
|
}
|
|
|
List<SmsTemplateDO> list = jdbcTemplate.query(sql+condition+orderBy, new BeanPropertyRowMapper<>(SmsTemplateDO.class));
|
|
|
String sqlCount ="select COUNT(1) as total from base_sms_template where 1=1 ";
|
|
|
Long count = jdbcTemplate.queryForObject(sqlCount+condition,Long.class);
|
|
|
return MixEnvelop.getSuccessListWithPage("success", list, page, size, count);
|
|
|
}
|
|
|
|
|
|
//新增和修改疾病筛查配置
|
|
|
public BaseDiseaseSurveyDO addOrUpd(BaseDiseaseSurveyDO diseaseSurveyDO){
|
|
|
if (StringUtils.isBlank(diseaseSurveyDO.getId())) {
|
|
|
diseaseSurveyDO.setCreateTime(new Date());
|
|
|
}
|
|
|
diseaseSurveyDO = baseDiseaseSurveyDao.save(diseaseSurveyDO);
|
|
|
return diseaseSurveyDO;
|
|
|
}
|
|
|
|
|
|
//查询疾病筛查配置列表
|
|
|
public MixEnvelop diseaseSurveyPage(String name,String dept,String doctor,String surveyCode, String status, Integer page, Integer size){
|
|
|
String orderBy = " order by create_time desc limit "+(page-1)*size+","+size;
|
|
|
String condition = " ";
|
|
|
String sql = "SELECT * FROM base_disease_survey where 1=1 ";
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
condition +=" and name like '%"+name+"%' ";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(status)){
|
|
|
condition +=" and status ='"+status+"' ";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(surveyCode)){
|
|
|
condition +=" and survey_code ='"+surveyCode+"' ";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(dept)){
|
|
|
condition +=" and dept like '%"+dept+"%' ";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(doctor)){
|
|
|
condition +=" and doctor like '%"+doctor+"%' ";
|
|
|
}
|
|
|
List<BaseDiseaseSurveyDO> list = jdbcTemplate.query(sql+condition+orderBy, new BeanPropertyRowMapper<>(BaseDiseaseSurveyDO.class));
|
|
|
for (BaseDiseaseSurveyDO surveyDO : list){
|
|
|
if("1".equals(surveyDO.getStatus())){
|
|
|
surveyDO.setStatusName("启用");
|
|
|
}else if("0".equals(surveyDO.getStatus())){
|
|
|
surveyDO.setStatusName("禁用");
|
|
|
}
|
|
|
}
|
|
|
String sqlCount ="select COUNT(1) as total from base_disease_survey where 1=1 ";
|
|
|
Long count = jdbcTemplate.queryForObject(sqlCount+condition,Long.class);
|
|
|
return MixEnvelop.getSuccessListWithPage("success", list, page, size, count);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 新增和修改专病配置
|