Bladeren bron

Merge branch 'dev' of chenweida/patient-co-management into dev

chenweida 8 jaren geleden
bovenliggende
commit
39eedebd4d

+ 1 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java

@ -87,7 +87,7 @@ public class ConsultJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.type=2 and a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
            String sql=" select admin_team_code,id from wlyy_consult_team a where  a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= dbExtract.extract(ConsultTeam.class,sql);
            //過濾數據

+ 1 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java

@ -375,7 +375,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId="3";
        try{
            //找出今天的咨询信息
            String sql=" select * from wlyy_consult_team a where a.type=2  and a.czrq>= '"+now+"'and a.czrq< '"+tomorrow+"'";
            String sql=" select * from wlyy_consult_team a where  a.czrq>= '"+now+"'and a.czrq< '"+tomorrow+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class,sql);
            //過濾數據

+ 6 - 6
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/message/HealthMessageJob.java

@ -28,7 +28,7 @@ import java.util.*;
@Scope("prototype")
public class HealthMessageJob implements Job {
    public static String jobKey="Health_Message_JOB";
    public static String cron="0 0 17 * * ?";
    public static String cron="0 0 8 * * ?";
    @Autowired
@ -57,15 +57,15 @@ public class HealthMessageJob implements Job {
                now=getYesterday(0,new Date());
            }
            //删除原来的数据
            String deleteSql="delete from wlyy_message where type=3 and czrq >= '"+yesterday+" 17:00:00'and czrq <= '"+now+" 17:00:00'";
            String deleteSql="delete from wlyy_message where type=3 and czrq >= '"+yesterday+" 'and czrq <= '"+now+" '";
            jdbcTemplate.execute(deleteSql);
            //生成新的数据
            String sql="select doctor,doctor_name from wlyy_sign_family " +
                    " where  status >0 and type='2' and expenses_status='1'  " +
                    " and expenses_time >='"+yesterday+" 17:00:00' and expenses_time<'"+now+" 17:00:00' and  (doctor_health is null or doctor_health = '')" ;
                    " and expenses_time >='"+yesterday+" ' and expenses_time<'"+now+" ' and  (doctor_health is null or doctor_health = '')" ;
            String countSql="select count(id) from wlyy_sign_family " +
                    " where  status >0 and type='2' and expenses_status='1'  " +
                    " and expenses_time >='"+yesterday+" 17:00:00' and expenses_time<'"+now+" 17:00:00' and  (doctor_health is null or doctor_health = '')" ;
                    " and expenses_time >='"+yesterday+" ' and expenses_time<'"+now+" ' and  (doctor_health is null or doctor_health = '')" ;
            List<SignFamily> signFamilyList=dbExtract.extractByPage(SignFamily.class,sql,countSql,true);
            Map<String,List<SignFamily>> signFamilyMap=new HashMap<String,List<SignFamily>>();
            for(int i=0;i<signFamilyList.size();i++){
@ -81,7 +81,7 @@ public class HealthMessageJob implements Job {
            for(Map.Entry<String,List<SignFamily>> entry:signFamilyMap.entrySet()){
                 countSql="select count(id) from wlyy_sign_family " +
                        " where  status >0 and type='2' and expenses_status='1'  " +
                        "  and expenses_time<'"+now+" 17:00:00' and  (doctor_health is null or doctor_health = '') and doctor='"+entry.getKey()+"'" ;
                        "  and expenses_time<'"+now+" ' and  (doctor_health is null or doctor_health = '') and doctor='"+entry.getKey()+"'" ;
                Integer allCount=jdbcTemplate.queryForObject(countSql,Integer.class);
                Message message=new Message();
@ -90,7 +90,7 @@ public class HealthMessageJob implements Job {
                message.setOver("0");
                message.setDel("1");
                message.setSender("system");
                message.setCzrq(new SimpleDateFormat("yyyy-MM-dd").parse(now));
                message.setCzrq(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(yesterday+" 12:00:00"));
                message.setState(1);
                message.setTitle("新增系统消息");
                SimpleDateFormat dateFormat=new SimpleDateFormat("MM月dd日");

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/Consult.java

@ -27,7 +27,7 @@ public class Consult extends IdEntity {
	private String code;
	// 患者标识
	private String patient;
	// 咨询类型:1三师咨询,2视频咨询,3图文咨询,4公共咨询,5病友圈
	// 咨询类型:1三师咨询,2视频咨询,3图文咨询,4公共咨询,5病友圈 6、患者名医咨询 7医生名医咨询
	private Integer type;
	// 咨询标题/主诉
	private String title;

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/consult/ConsultTeam.java

@ -21,7 +21,7 @@ public class ConsultTeam extends IdEntity {
	private String consult;         // 咨询标识
	private String doctor;          // 医生标识
	private String team;            // 三师团队标识
	private Integer type;           //  1、三师咨询,2、家庭医生咨询,6、名医咨询
	private Integer type;           //  1、三师咨询,2、家庭医生咨询,6、名医咨询 7医生名医咨询
	private String patient;         // 提问者标识
	private String name;            // 患者姓名
	private Integer sex;            // 患者性别

+ 3 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -711,8 +711,9 @@ public class DoctorInfoService extends BaseService {
    public void updateTeamHealthDoctor(String newDoctorCode, String oldDoctorCode, String patient) throws Exception {
        //得到患者的签约信息
        SignFamily signFamily = signFamilyDao.findByPatient(patient);
        String groupCode = "";
        if (StringUtils.isNoneBlank(oldDoctorCode)) {
        //如果存在旧的健管师
        if (!org.springframework.util.StringUtils.isEmpty(oldDoctorCode)) {
            //判断患者对旧的健管师是否存在健康咨询
            ConsultTeam consultTeam = consultTeamDao.findByParientCodeAndSignTypeAndDoctor(patient, oldDoctorCode, 2);
            if (consultTeam != null) {
                throw new Exception("存在没有关闭的健康咨询");
@ -723,7 +724,6 @@ public class DoctorInfoService extends BaseService {
                doctorTeamMember.setDel("0");
            }
        }
        Patient patientObj = patientDao.findByCode(patient);
        Doctor newD = doctorDao.findByCode(newDoctorCode);
        //修改签约中的健康管理师
        signFamily.setDoctorHealth(newD.getCode());

+ 30 - 11
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -925,19 +925,38 @@ public class ConsultTeamService extends ConsultService {
        }
    }
    public void addFamousTeamConsult(ConsultTeam ct, String uid) throws Exception {
    /**
     *
     * @param ct
     * @param uid
     * @param type 1患者 2医生
     * @throws Exception
     */
    public void addFamousTeamConsult(ConsultTeam ct, String uid,String type) throws Exception {
        // 设置患者信息
        ct.setPatient(uid);
        // 查询患者信息
        Patient tempPatient = patientDao.findByCode(uid);
        // 设置患者姓名
        ct.setName(tempPatient.getName());
        // 设置患者生日
        ct.setBirthday(tempPatient.getBirthday());
        //新增性别
        ct.setSex(tempPatient.getSex());
        // 设置患者头像
        ct.setPhoto(tempPatient.getPhoto());
        if("1".equals(type)){
            // 查询患者信息
            Patient tempPatient = patientDao.findByCode(uid);
            // 设置患者姓名
            ct.setName(tempPatient.getName());
            // 设置患者生日
            ct.setBirthday(tempPatient.getBirthday());
            //新增性别
            ct.setSex(tempPatient.getSex());
            // 设置患者头像
            ct.setPhoto(tempPatient.getPhoto());
        }else if("2".equals(type)){
            Doctor doctorTemp=doctorDao.findByCode(uid);
            // 设置医生姓名
            ct.setName(doctorTemp.getName());
            // 设置医生生日
            ct.setBirthday(doctorTemp.getBirthday());
            //新增性别
            ct.setSex(doctorTemp.getSex());
            // 设置医生头像
            ct.setPhoto(doctorTemp.getPhoto());
        }
        // 设置操作日期
        ct.setCzrq(new Date());
        ct.setDel("1");

+ 63 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java

@ -6,6 +6,7 @@ import java.util.Map;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.common.account.DoctorService;
import com.yihu.wlyy.util.MessageType;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
@ -552,5 +553,66 @@ public class DoctorConsultController extends WeixinBaseController {
            return error(-1, "回复失败!");
        }
    }
    /**
     * 名医咨询添加接口
     * @param when 发病时间
     * @param symptoms 主要症状
     * @param images 图片URL地址,多图以逗号分隔
     * @param voice 语音URL地址
     * @param doctorCode 名医的code
     * @return
     */
    @RequestMapping(value = "famousAdd")
    @ResponseBody
    public String famousAdd(
            @RequestParam(required = false)String when,
            String symptoms,
            @RequestParam(required = false) String doctorCode,
            @RequestParam(required = false) String images,
            @RequestParam(required = false) String voice) {
        try {
            //判断医生是否是在工作时间
            JSONObject jo=doctorWorkTimeService.isFamousDoctorWorking(doctorCode);
            if(!jo.get("status").equals("1")){
                return error(-1, jo.get("msg").toString());
            }
            if (StringUtils.isEmpty(images)) {
                images = fetchWxImages();
            }
            // 将临时图片拷贝到正式存储路径下
            if (StringUtils.isNotEmpty(images)) {
                images = CommonUtil.copyTempImage(images);
            }
            if (StringUtils.isEmpty(voice)) {
                voice = fetchWxVoices();
            }
            if (StringUtils.isNotEmpty(voice)) {
                voice = CommonUtil.copyTempVoice(voice);
            }
            //判断是否已经存在还没有关闭的名医咨询
//            if(consultTeamService.isExistFamousConsult(getUID())){
//                return error(-1, "已经存在名医咨询!");
//            }
            ConsultTeam consult = new ConsultTeam();
            // 设置咨询类型:1三师咨询,2家庭医生咨询 6.患者发起名医咨询 7医生发起的名医咨询
            consult.setType(7);
            // 设置发病时间
            consult.setWhen(when);
            // 设置主要症状
            consult.setSymptoms(symptoms);
            // 设置咨询图片URL
            consult.setImages(images);
            // 设置咨询语音URL
            consult.setVoice(voice);
            consult.setDoctor(doctorCode);//设置专科医生
            // 保存到数据库
            consultTeamService.addFamousTeamConsult(consult, getUID(),"2");
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.您有新的名医咨询.name(), consult.getConsult());
            return success("提交成功");
        } catch (Exception ex) {
            error(ex);
            return invalidUserException(ex, -1, "提交失败!");
        }
    }
}

+ 6 - 6
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/account/PatientController.java

@ -171,12 +171,12 @@ public class PatientController extends WeixinBaseController {
                       @RequestParam(required = false) String street) {
        try {
            Patient patient = patientInfoService.findByCode(getUID());
//            if (StringUtils.isEmpty(photo)) {
//                photo = fetchWxImages();
//            }
//            if (StringUtils.isNotEmpty(photo)) {
//                photo = CommonUtil.copyTempImage(photo);
//            }
            if (StringUtils.isEmpty(photo)) {
                photo = fetchWxImages();
            }
            if (StringUtils.isNotEmpty(photo)) {
                photo = CommonUtil.copyTempImage(photo);
            }
            if (StringUtils.isNotEmpty(photo)) {
                patient.setPhoto(photo);
            }

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -353,7 +353,7 @@ public class ConsultController extends WeixinBaseController {
			consult.setVoice(voice);
			consult.setDoctor(doctorCode);//设置专科医生
			// 保存到数据库
			consultTeamService.addFamousTeamConsult(consult, getUID());
			consultTeamService.addFamousTeamConsult(consult, getUID(),"1");
			//名医咨询次数减一
			doctorWorkTimeService.setDoctorCurrentConsultTimesRemain(doctorCode);
			// 推送消息给医生

+ 3 - 3
patient-co-wlyy/src/main/resources/system.properties

@ -90,9 +90,9 @@ weixin_websocket_server = http://172.19.103.76:8000/user/senddata.do
#file upload temp path
upload_temp_path=/var/local/temp
#image store path
image_server=http://172.19.103.87:8882/res/images/
voice_server=http://172.19.103.87:8882/res/voice/
chat_server=http://172.19.103.87:8882/res/chat/
image_server=http://weixin.xmtyw.cn/res/images/
voice_server=http://weixin.xmtyw.cn/res/voice/
chat_server=http://weixin.xmtyw.cn/res/chat/
image_path=/var/local/upload/images
voice_path=/var/local/upload/voice
chat_file_path=/var/local/upload/chat