Переглянути джерело

Merge branch 'dev' of liubing/wlyy2.0 into dev

liubing 4 роки тому
батько
коміт
2aa56a90df

+ 20 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/apply/PatientBedApplyService.java

@ -13,6 +13,7 @@ import com.yihu.jw.entity.care.apply.PatientBedApplyDo;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.mysql.query.BaseJpaService;
import net.bytebuddy.TypeCache;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,7 +22,9 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
/**
 * Created by Bing on 2021/4/8.
@ -80,16 +83,28 @@ public class PatientBedApplyService extends BaseJpaService<PatientBedApplyDo, Pa
        return result;
    }
    public List<PatientBedApplyDo> getApplyList(String doctor){
        List<PatientBedApplyDo> result = new ArrayList<>();
    public List<Map<String,Object>> getApplyList(String doctor){
        List<Map<String,Object>> result = new ArrayList<>();
        BaseDoctorDO doctorDO = baseDoctorDao.findById(doctor);
        if (doctorDO.getLevel()==2){//助老员
            Sort sort = new Sort(Sort.Direction.ASC, "createTime");
            List<BaseDoctorHospitalDO> hospitalDOS = baseDoctorHospitalDao.findByDoctorCode(doctor);
            for (BaseDoctorHospitalDO obj:hospitalDOS){
                List<PatientBedApplyDo> list = patientBedApplyDao.findByOrgCodeAndStatusIn(obj.getOrgCode(),new Integer[]{1,2},sort);
                result.addAll(list);
                String sql="select ap.id,p.id patientCode,p.name,p.sex,p.idcard,p.photo,ap.status,DATE_FORMAT(ap.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_patient_bed_apply ap INNER JOIN base_patient p where ap.idcard = p.idcard and org_code='"+obj.getOrgCode()+"' " +
                    "and ap.status <> -1 and ap.status<>0";
                List<Map<String,Object>> tmp = jdbcTemplate.queryForList(sql);
                for (Map<String,Object> map:tmp){
                    if (map.get("idcard")==null){
                        map.put("age",null);
                    }
                    else{
                        Integer age  = IdCardUtil.getAgeForIdcard(map.get("idcard").toString());
                        map.put("age",age);
                    }
                }
                result.addAll(tmp);
            }
            result.sort(Comparator.comparing(obj -> ((Map<String,Object>) obj).get("create_time").toString()));
        }
        return result;
    }

+ 31 - 9
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/DoctorMessageService.java

@ -14,7 +14,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
/**
 * Created by Bing on 2021/4/10.
@ -49,26 +53,44 @@ public class DoctorMessageService {
        }
        List<BaseDoctorHospitalDO> hospitalDO = baseDoctorHospitalDao.findByDoctorCode(doctor);
        Integer count;
        if (typeNull||type.equals("10")){//床位申请//未处理
        if (typeNull||type.equals("10")){//床位申请-未完成
            JSONObject tmpJson = new JSONObject();
            List<Map<String,Object>> listTmp = new ArrayList<>();
            count=0;
            for (BaseDoctorHospitalDO obj:hospitalDO){
                String sql ="select count(*) from base_patient_bed_apply where org_code='"+obj.getOrgCode()+"' " +
                        "and status =1";
                Integer sqlCount = jdbcTemplate.queryForObject(sql,Integer.class);
                String sql ="select count(*) count,patient_name,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') create_time from base_patient_bed_apply where org_code='"+obj.getOrgCode()+"' " +
                        "and status <> -1 and status<>0 order by create_time asc";
                Map<String,Object> sqlResult  = jdbcTemplate.queryForMap(sql);
                Integer sqlCount =Integer.parseInt(sqlResult.get("count").toString()) ;
                count +=sqlCount;
                listTmp.add(sqlResult);
            }
            result.put("bedApply",count);
            listTmp.sort(Comparator.comparing(obj ->  obj.get("create_time").toString()));
            tmpJson.put("count",count);
            tmpJson.put("message",listTmp.get(0).get("patient_name").toString()+"居民申请床位");
            tmpJson.put("time",listTmp.get(0).get("create_time").toString());
            result.put("bedApply",tmpJson);
        }
        if (typeNull||type.equals("11")){//安全监护
            JSONObject tmpJson = new JSONObject();
            count=0;
            List<Map<String,Object>> listTmp = new ArrayList<>();
            for (BaseDoctorHospitalDO obj:hospitalDO){
                String sql ="select count(*) from base_security_monitoring_order where hospital='"+obj.getOrgCode()+"' " +
                        "and status <>-1 and status<> 7";
                Integer sqlCount = jdbcTemplate.queryForObject(sql,Integer.class);
                String sql ="select count(*) count,patient_name,DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%S') create_time,serve_desc from base_security_monitoring_order where hospital='"+obj.getOrgCode()+"' " +
                        "and status <>-1 and status<> 7 order by create_time asc";
                Map<String,Object> sqlResult  = jdbcTemplate.queryForMap(sql);
                Integer sqlCount =Integer.parseInt(sqlResult.get("count").toString()) ;
                count +=sqlCount;
                listTmp.add(sqlResult);
            }
            result.put("security",count);
            listTmp.sort(Comparator.comparing(obj ->  obj.get("create_time").toString()));
            tmpJson.put("count",count);
            tmpJson.put("message",listTmp.get(0).get("patient_name").toString()+"居民"+listTmp.get(0).get("serve_desc").toString());
            tmpJson.put("time",listTmp.get(0).get("create_time"));
            result.put("security",tmpJson);
        }
        return result;
    }

+ 15 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.security.*;
import com.yihu.jw.care.service.sign.ServicePackageService;
@ -212,7 +213,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
    }
    public JSONArray getSecurityOrderList(String doctor,String serverDoctor,String patientName, String patient, String status, Integer page, Integer pageSize){
        String sql = " select p.id patientCode,p.name,p.sex,p.idcard,ord.id orderId,ord.number,ord.serve_desc,ord.create_time,ord.`status`,ord.doctor," +
        String sql = " select p.id patientCode,p.name,p.sex,p.photo,p.idcard,ord.id orderId,ord.number,ord.serve_desc,ord.create_time,ord.`status`,ord.doctor," +
                "ord.doctor_name,ord.patient_phone,ord.conclusion_status from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
                "where 1=1 ";
        List<BaseDoctorHospitalDO> hospitalDOs = baseDoctorHospitalDao.findByDoctorCode(doctor);
@ -242,6 +243,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            tmp.put("patientCode",one.get("patientCode"));
            tmp.put("patientName",one.get("name"));
            tmp.put("sex",one.get("sex"));
            tmp.put("photo",one.get("photo"));
            tmp.put("idcard",one.get("idcard"));
            tmp.put("number",one.get("number"));
            tmp.put("id",one.get("orderId"));
@ -292,14 +294,25 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        List<Map<String,Object>> result = new ArrayList<>();
        if (hospitalDOs.size()>0){
            for (BaseDoctorHospitalDO obj:hospitalDOs){
                String sql = " select p.id patientCode,p.name,p.sex,p.idcard,ord.id orderId,ord.number,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time,ord.`status`,ord.doctor," +
                String sql = " select p.id patientCode,p.name,p.sex,p.idcard,p.photo,ord.id orderId,ord.number,ord.serve_desc,DATE_FORMAT(ord.create_time,'%Y-%m-%d %H:%i:%S') create_time,ord.`status`,ord.doctor," +
                        "ord.doctor_name,ord.patient_phone,ord.conclusion_status from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
                        "where ord.status <>-1 and ord.status<> 7  ";
                sql += "and ord.hospital = '"+obj.getOrgCode()+"' ";
                sql +=" order by ord.create_time asc ";
                List<Map<String,Object>> tmp= jdbcTemplate.queryForList(sql);
                for (Map<String,Object> map:tmp){
                    if (map.get("idcard")==null){
                        map.put("age",null);
                    }
                    else{
                        Integer age  = IdCardUtil.getAgeForIdcard(map.get("idcard").toString());
                        map.put("age",age);
                    }
                }
                result.addAll(tmp);
            }
            result.sort(Comparator.comparing(obj -> ((Map<String,Object>) obj).get("create_time").toString()));
        }
        return result;
    }