Forráskód Böngészése

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

humingfen 5 éve
szülő
commit
404fe8ce38

+ 5 - 5
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -692,13 +692,13 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        //pay_status`:处方结算状态,0为未结算,1为结算成功,默认为0',
        String outPatientSql="";
        if ("1".equals(status)) {
            sql = "UPDATE base.wlyy_prescription p SET p.`status`='13' WHERE p.adm_no='" + admNo + "' AND p.real_order='" + realOrder + "' ";
            sql = "UPDATE base.wlyy_prescription p SET p.status='13' WHERE p.adm_no='" + admNo + "' AND p.real_order='" + realOrder + "' ";
            WlyyPrescriptionDO wlyyPrescriptionDO = prescriptionDao.findByRealOrder(realOrder);
            jdbcTemplate.execute(sql);
        } else if ("2".equals(status)) {
            //开方成功时候,先用处方号获取本地处方状态是否为开方失败,如果是则需要更新本地的处方
            sql = "UPDATE base.wlyy_prescription p SET p.`status`='20' WHERE p.adm_no='" + admNo + "' AND p.real_order='" + realOrder + "' ";
            sql = "UPDATE base.wlyy_prescription p SET p.status='20' WHERE p.adm_no='" + admNo + "' AND p.real_order='" + realOrder + "' ";
            //变更门诊状态
            outPatientSql="UPDATE base.wlyy_outpatient p SET p.`status`='2' WHERE p.adm_no='" + admNo + "'";
            jdbcTemplate.execute(outPatientSql);
@ -2747,7 +2747,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    " t. NAME AS \"roleName\"" +
                    " FROM " +
                    " base_doctor_role r " +
                    " JOIN base_doctor_role_dict t ON t.`code` = r.role_code " +
                    " JOIN base_doctor_role_dict t ON t.code = r.role_code " +
                    " WHERE " +
                    " r.doctor_code = '"+doctor+"'";
            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
@ -3217,7 +3217,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                "room.doctor AS doctor, " +
                "room.doctor_name AS doctorName " +
                "FROM wlyy_outpatient op,wlyy_hospital_waiting_room room " +
                "WHERE op.`status`=0 AND room.outpatient_id=op.id AND room.consult_type=2 " +
                "WHERE op.status=0 AND room.outpatient_id=op.id AND room.consult_type=2 " +
                "AND room.doctor IS NOT NULL ";
        if(StringUtils.isNoneBlank(dept)){
            waitingSql = waitingSql + " and op.dept = '"+dept+"' ";
@ -4895,7 +4895,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    public List<Map<String,Object>> findDoctorByName(String hospital, String name,String chargeType){
        String sql ="SELECT " +
                " d.id AS \"id\", " +
                " d.`name` AS \"name\"" +
                " d.name AS \"name\"" +
                " FROM " +
                " base_doctor d ";
        if(StringUtils.isNotBlank(hospital)){

+ 18 - 33
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -286,9 +286,9 @@ public class ImService {
				"AND b.to_doctor='" +doctor+"' "+
				"AND a.del='1' " +
				"AND (a.type<> 9 or a.type<> 16)" +
				"AND a.`status`=0";
				"AND a.status=0";
		
		List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
		List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(totalSql);
		
		String consultCode = "";
		if (rstotal != null && rstotal.size() > 0) {
@ -324,9 +324,9 @@ public class ImService {
				"AND a.actual_sender='" +general_doctor+"' "+
				"AND a.del='1' " +
				"AND a.type<> 12 " +
				"AND a.`status`=0";
				"AND a.status=0";
		
		List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
		List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(totalSql);
		
		String consultCode = "";
		String specialDoctor = "";
@ -1481,7 +1481,7 @@ public class ImService {
	 */
	public String getConsultCodeByOutpatientId(String outpatientid) {
		String totalSql = "SELECT id FROM wlyy_consult WHERE relation_code='"+outpatientid+"' ";
		List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
		List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(totalSql);
		String id = "";
		if (rstotal != null && rstotal.size() > 0) {
			id = rstotal.get(0).get("id").toString();
@ -1496,7 +1496,7 @@ public class ImService {
	 */
	public String getOutpatientidByConsoultCode(String consult) {
		String totalSql = "SELECT relation_code as \"relation_code\" FROM wlyy_consult WHERE id='"+consult+"' ";
		List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(totalSql);
		List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(totalSql);
		String id = "";
		if (rstotal != null && rstotal.size() > 0) {
			id = rstotal.get(0).get("relation_code").toString();
@ -1607,7 +1607,7 @@ public class ImService {
				"LEFT JOIN wlyy_consult_team c ON c.consult=b.relation_code " +
				"WHERE a.relation_code=b.id "+
				"AND c.consult='"+consult+"'";
		List<Map<String,Object>> scoreList = jdbcTemplate.queryForList(sqlScoreList);
		List<Map<String,Object>> scoreList = hibenateUtils.createSQLQuery(sqlScoreList);
		if(scoreList.isEmpty()){
			return null;
		}else{
@ -1693,19 +1693,11 @@ public class ImService {
	 * @param end_time 结束时间
	 * @return
	 */
	public List<ConsultVO>  findConsultRecordByDoctor(String doctor, String id,
	public List<Map<String,Object>>  findConsultRecordByDoctor(String doctor, String id,
	                                                  String type, Integer status,
	                                                  int page,int pagesize,
	                                                  String title,String start_time,String end_time) {
		
		if(page >=1){
			page --;
		}
		
		if (pagesize <= 0) {
			pagesize = 10;
		}
		
		String  sql = "";
		//专家咨询
		if("1".equals(type) || "15".equals(type) || type.contains(",")){
@ -1755,10 +1747,6 @@ public class ImService {
		}
		
		
		
		List<ConsultVO> result = new ArrayList<>();
		
		if(!StringUtils.isEmpty(title)){
			title="%"+title+"%";
			sql +=" and a.title like '"+title+"'";
@ -1794,8 +1782,7 @@ public class ImService {
		}
		sql += " ORDER BY a.czrq desc limit "+page * pagesize+","+pagesize+"";
		
		result = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ConsultVO.class));
		return result;
		return hibenateUtils.createSQLQuery(sql);
	}
	
	/**
@ -1855,7 +1842,7 @@ public class ImService {
			sql += " and a.id = '" + id + "'";
		}
		
		List<Map<String, Object>> rstotal = jdbcTemplate.queryForList(sql);
		List<Map<String, Object>> rstotal = hibenateUtils.createSQLQuery(sql);
		Long count = 0L;
		if (rstotal != null && rstotal.size() > 0) {
			count = (Long) rstotal.get(0).get("total");
@ -2087,7 +2074,7 @@ public class ImService {
	 * @param end_time 结束时间
	 * @return
	 */
	public List<ConsultVO>  findexpertConsultRecordByDoctor(String doctor, String id,
	public List<Map<String,Object>>   findexpertConsultRecordByDoctor(String doctor, String id,
	                                                  Integer type, Integer status,
	                                                  int page,int pagesize,
	                                                  String title,String start_time,String end_time,String patinet) {
@ -2159,9 +2146,9 @@ public class ImService {
		}
		sql += " ORDER BY a.czrq desc limit "+page * pagesize+","+pagesize+"";
		
		result = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ConsultVO.class));
//		result = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ConsultVO.class));
		
		return result;
		return hibenateUtils.createSQLQuery(sql);
	}
	
	
@ -2262,7 +2249,7 @@ public class ImService {
		
		String sql = "id AS \"id\",session_id AS \"session_id\",sender_id AS \"sender_id\",sender_name AS \"sender_name\",content_type AS \"content_type\",content AS \"content\",timestamp AS \"timestamp\"  from " + data_base_name + "." +
				tableName + " where id in(" + content + ") order by timestamp desc ";
		List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
		List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql);
		com.alibaba.fastjson.JSONArray ja = new com.alibaba.fastjson.JSONArray();
		for (int i = 0; i < list.size(); i++) {
			Map<String, Object> map = list.get(i);
@ -2400,7 +2387,7 @@ public class ImService {
	 * @param type
	 * @return
	 */
	public List<ConsultVO> doctorUpcomingList(String doctorCode, String type) {
	public List<Map<String,Object>> doctorUpcomingList(String doctorCode, String type) {
		String sql = "";
		if("1,15".equals(type)) {
			sql = "SELECT " +
@ -2463,9 +2450,7 @@ public class ImService {
			sql =sql +" ORDER BY op.create_time DESC";
		}
		
		List<ConsultVO> result = new ArrayList<>();
		result = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ConsultVO.class));
		return result;
		return hibenateUtils.createSQLQuery(sql);
	}
	
	/**
@ -2492,10 +2477,10 @@ public class ImService {
		//医生角色
		String sql = "SELECT " +
				"count(id) AS \"total\"," +
				"doctor " +
				"doctor as \"doctor\"" +
				"FROM wlyy_consult_team " +
				"WHERE doctor IN ("+doctorids+") AND (type=1 OR type=15) and status = 0 GROUP BY doctor";
		List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
		List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
		return list;
	}
}

+ 1 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/im/ConsultTeamDo.java

@ -203,6 +203,7 @@ public class ConsultTeamDo extends UuidIdentityEntity {
		this.voice = voice;
	}
	
	@Column(name = "consult_comment")
	public String getComment() {
		return comment;
	}

+ 3 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/doctor/WlyyPatientRegisterTimeDO.java

@ -3,6 +3,7 @@ package com.yihu.jw.entity.hospital.doctor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@ -99,7 +100,8 @@ public class WlyyPatientRegisterTimeDO extends UuidIdentityEntity {
    public void setTimeType(String timeType) {
        this.timeType = timeType;
    }
    
    @Column(name = "register_date")
    public String getDate() {
        return date;
    }

+ 3 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyPatientRegisterDO.java

@ -2,6 +2,7 @@ package com.yihu.jw.entity.hospital.prescription;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
@ -55,7 +56,8 @@ public class WlyyPatientRegisterDO extends UuidIdentityEntity {
    public void setRegisterNo(String registerNo) {
        this.registerNo = registerNo;
    }
    
    @Column(name = "register_date")
    public String getDate() {
        return date;
    }

+ 16 - 98
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/consult/DoctorConsultEndpoint.java

@ -39,6 +39,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@ -364,52 +365,16 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
			@ApiParam(name = "pagesize", value = "分页大小")
			@RequestParam(value = "pagesize",required = false) int pagesize
	)throws Exception{
		JSONArray array = new JSONArray();
		List<ConsultVO> data = imService.findConsultRecordByDoctor(doctor, id,type,status, page,pagesize, title,start_time,end_time);
		List<Map<String,Object>>  data = imService.findConsultRecordByDoctor(doctor, id,type,status, page,pagesize, title,start_time,end_time);
		
		if (data != null) {
			for (ConsultVO consult : data) {
				if (consult == null) {
					continue;
				}
				JSONObject json = new JSONObject();
				json.put("id", consult.getId());
				// 设置咨询类型:1专家咨询,9在线复诊,待扩展,13协同门诊
				json.put("type", consult.getType());
				
			for(Map<String,Object> consult :data){
				//如果是协同门诊,多返回全科医生的详细信息
				if(13 == consult.getType() && StringUtils.isNoneBlank(consult.getGeneralDoctor())){
					BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(consult.getGeneralDoctor());
					json.put("generalDoctorName", baseDoctorDO.getName());
				if(13 == Integer.parseInt((String)consult.get("type")) && StringUtils.isNoneBlank((String)consult.get("generalDoctor"))){
					BaseDoctorDO baseDoctorDO = baseDoctorDao.findById((String)consult.get("generalDoctor"));
					consult.put("generalDoctorName", baseDoctorDO.getName());
				}
				
				// 设置显示标题
				json.put("title", consult.getTitle());
				// 设置主诉
				json.put("symptoms", consult.getSymptoms());
				// 咨询状态
				json.put("status", consult.getStatus());
				// 设置咨询日期
				json.put("czrq", DateUtil.dateToStrLong(consult.getCzrq()));
				//是否评价
				json.put("evaluate", consult.getEvaluate());
				//患者ID
				json.put("patientId", consult.getPatientId());
				//患者性别
				json.put("patientsex", consult.getPatientsex());
				//患者姓名
				json.put("patientName", consult.getPatientName());
				//患者年龄
				json.put("patientAge", DateUtil.getAgeForIdcard(consult.getPatientIdcard()));
				//就诊记录ID
				json.put("outpatientId", consult.getOutpatientid());
				//图文或者视频类型
				json.put("consultType", consult.getConsultType());
				//诊断
				json.put("icd10Name", consult.getIcd10Name());
				
				array.add(json);
			}
		}
		
@ -417,7 +382,7 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
		
		JSONObject result = new JSONObject();
		result.put("total",total);
		result.put("list",array);
		result.put("list",data);
		return success(result);
	}
	
@ -614,71 +579,24 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
			@ApiParam(name = "pagesize", value = "分页大小")
			@RequestParam(value = "pagesize",required = false) int pagesize
	)throws Exception{
		JSONArray array = new JSONArray();
		List<ConsultVO> data = imService.findexpertConsultRecordByDoctor(doctor, id,type,status, page,pagesize, title,start_time,end_time,patient);
		List<Map<String,Object>>  data = imService.findexpertConsultRecordByDoctor(doctor, id,type,status, page,pagesize, title,start_time,end_time,patient);
		
		if (data != null) {
			for (ConsultVO consult : data) {
				if (consult == null) {
					continue;
				}
				JSONObject json = new JSONObject();
				json.put("id", consult.getId());
				// 设置咨询类型:1专家咨询,9在线复诊,待扩展,13协同门诊
				json.put("type", consult.getType());
			for (Map<String,Object> consult : data) {
				
				//如果是协同门诊,多返回全科医生的详细信息
				if(13 == consult.getType() && StringUtils.isNoneBlank(consult.getGeneralDoctor())){
					BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(consult.getGeneralDoctor());
					json.put("generalDoctorName", baseDoctorDO.getName());
				if(13 == Integer.parseInt((String)consult.get("type")) && StringUtils.isNoneBlank((String)consult.get("generalDoctor"))){
					BaseDoctorDO baseDoctorDO = baseDoctorDao.findById((String)consult.get("generalDoctor"));
					consult.put("generalDoctorName", baseDoctorDO.getName());
				}
				
				List<BaseDoctorHospitalDO> hospitalDOs =  baseDoctorHospitalDao.findByDoctorCode(doctor);
				if(hospitalDOs!=null&&hospitalDOs.size()>0){
					json.put("hospital",hospitalDOs.get(0));
//					BaseOrgDO org = baseOrgDao.findByCode(hospitalDOs.get(0).getOrgCode());
//					rs.put("winNo",org.getWinNo());
//					json.put("deptName",hospitalDOs.get(0).getDeptName());
//					json.put("dept",hospitalDOs.get(0).getDeptCode());
					consult.put("hospital",hospitalDOs.get(0));
				}else{
					json.put("hospital",null);
//					json.put("winNo",null);
//					json.put("deptName",null);
//					json.put("dept",null);
					consult.put("hospital",null);
				}
				
				//医生职称
				json.put("jobTitleName", consult.getJobTitleName());
				//医生名称
				json.put("doctorName", consult.getDoctorName());
				
				// 设置显示标题
				json.put("title", consult.getTitle());
				// 设置主诉
				json.put("symptoms", consult.getSymptoms());
				// 咨询状态
				json.put("status", consult.getStatus());
				// 设置咨询日期
				json.put("czrq", DateUtil.dateToStrLong(consult.getCzrq()));
				//是否评价
				json.put("evaluate", consult.getEvaluate());
				
				//患者ID
				json.put("patientId", consult.getPatientId());
				//患者性别
				json.put("patientsex", consult.getPatientsex());
				//患者姓名
				json.put("patientName", consult.getPatientName());
				//患者年龄
				json.put("patientAge", DateUtil.getAgeForIdcard(consult.getPatientIdcard()));
				//就诊记录ID
				json.put("outpatientId", consult.getOutpatientid());
				//图文或者视频类型
				json.put("consultType", consult.getConsultType());
				//诊断
				json.put("icd10Name", consult.getIcd10Name());
				
				array.add(json);
			}
		}
		
@ -686,7 +604,7 @@ public class DoctorConsultEndpoint extends EnvelopRestEndpoint {
		
		JSONObject result = new JSONObject();
		result.put("total",total);
		result.put("list",array);
		result.put("list",data);
		return success(result);
	}
	

+ 20 - 59
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.hospital.endpoint.prescription;
import com.yihu.jw.doctor.service.excel.DoctorWorkTimeExcelReader;
import com.yihu.jw.doctor.service.excel.DoctorWorkTimeMainExcelDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDiagnosisDO;
@ -953,72 +954,32 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
                                      @RequestParam(value = "type",required = true) String type)throws Exception{
    
        com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray();
        List<ConsultVO> data = imService.doctorUpcomingList(doctorCode, type);
        List<Map<String,Object>>  data = imService.doctorUpcomingList(doctorCode, type);
    
        if (data != null) {
            for (ConsultVO consult : data) {
                if (consult == null) {
                    continue;
                }
                com.alibaba.fastjson.JSONObject json = new com.alibaba.fastjson.JSONObject();
                json.put("id", consult.getId());
                // 设置咨询类型:1专家咨询,9在线复诊,待扩展,13协同门诊
                json.put("type", consult.getType());
//
//                //如果是协同门诊,多返回全科医生的详细信息
//                if(13 == consult.getType() && StringUtils.isNoneBlank(consult.getGeneralDoctor())){
//                    BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(consult.getGeneralDoctor());
//                    json.put("generalDoctorName", baseDoctorDO.getName());
//                }
            
                // 设置显示标题
                json.put("title", consult.getTitle());
                // 设置主诉
                json.put("symptoms", consult.getSymptoms());
                // 咨询状态
                json.put("status", consult.getStatus());
                // 设置咨询日期
                json.put("czrq", DateUtil.dateToStrLong(consult.getCzrq()));
                //是否评价
                json.put("evaluate", consult.getEvaluate());
            
                //患者ID
                json.put("patientId", consult.getPatientId());
                //患者性别
                json.put("patientsex", consult.getPatientsex());
                //患者姓名
                json.put("patientName", consult.getPatientName());
                //患者年龄
                json.put("patientAge", DateUtil.getAgeForIdcard(consult.getPatientIdcard()));
                //就诊记录ID
                json.put("outpatientId", consult.getOutpatientid());
                //就诊记录状态
                json.put("outpatientstatus", consult.getOutpatientstatus());
                // 设置咨询日期
                json.put("registerDate", DateUtil.dateToStrLong(consult.getRegisterDate()));
                //图文或者视频类型
                json.put("consultType", consult.getConsultType());
                //诊断
                json.put("icd10Name", consult.getIcd10Name());
            for (Map<String,Object> consult : data) {
                
                Integer consultType =  Integer.parseInt((String)consult.get("type"));
                
                if("1,15".equals(type)){//专家咨询
                    if(1 == consult.getType()){//专家咨询
                        json.put("session_id", consult.getPatientId()+"_"+ consult.getDoctorCode()+"_1");
                    }else if(15 == consult.getType()){//家医求助
                        json.put("session_id", consult.getPatientId()+"_"+ consult.getGeneralDoctor()+"_"+ consult.getDoctorCode()+"_15");
                if("1,15".equals(consultType)){//专家咨询
                    if(1 == consultType){//专家咨询
                        consult.put("session_id", consult.get("patientId").toString()+"_"+ consult.get("doctorCode").toString()+"_1");
                    }else if(15 == consultType){//家医求助
                        consult.put("session_id", consult.get("patientId").toString()+"_"+ consult.get("generalDoctor").toString()+"_"+ consult.get("doctorCode").toString()+"_15");
                    }else{}
                }else if("9".equals(type)){//图文复诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_9");
                    json.put("type",type);
                }else if("16".equals(type)){//视频复诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_16");
                    json.put("type",type);
                }else if("9".equals(consultType)){//图文复诊
                    consult.put("session_id", consult.get("patientId").toString()+"_"+consult.get("outpatientid").toString()+"_9");
                    consult.put("type",consultType);
                }else if("16".equals(consultType)){//视频复诊
                    consult.put("session_id", consult.get("patientId").toString()+"_"+ consult.get("outpatientid").toString()+"_16");
                    consult.put("type",consultType);
                }else if("12".equals(type)){//协同门诊
                    json.put("session_id", consult.getPatientId()+"_"+ consult.getOutpatientid()+"_12");
                    json.put("type",type);
                    consult.put("session_id", consult.get("patientId").toString()+"_"+consult.get("outpatientid").toString()+"_12");
                    consult.put("type",consultType);
                }else{}
            
                array.add(json);
                array.add(consult);
            }
        }
        return success(array);