浏览代码

接口修改

吴世龙 3 年之前
父节点
当前提交
f411f7baaf

+ 54 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/doctor/admin/AdminListInfoController.java

@ -1,7 +1,10 @@
package com.yihu.jw.care.endpoint.doctor.admin;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.service.common.PermissionService;
import com.yihu.jw.care.service.statistics.StatisticsService;
import com.yihu.jw.care.service.third.PatientInfoPlatFormService;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.care.message.BaseServiceNews;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
@ -27,12 +30,21 @@ public class AdminListInfoController extends EnvelopRestEndpoint {
    private PatientInfoPlatFormService patientInfoPlatFormService;
    @Autowired
    private StatisticsService statisticsService;
    @Autowired
    private PermissionService permissionService;
    @GetMapping(value = "/getPatientDeviceInfoWithDetail")
    @ApiOperation("获取居民设备列表(带设备电量、预警情况、是否在线等信息)")
    public ObjEnvelop getPatientDeviceInfoWithDetail(@ApiParam(name="patient",value = "居民id",required = true)
                                                     @RequestParam(value = "patient")String patient){
        try {
            JSONObject param = new JSONObject();
            String doctorId =  permissionService.getUID();
            param.put("doctorId",doctorId);
            if(permissionService.noPermission(0,param)){
                return ObjEnvelop.getError("该操作没有权限");
            }
            return ObjEnvelop.getSuccess("查询成功",patientInfoPlatFormService.getPatientDeviceInfoWithDetail(patient));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
@ -51,10 +63,52 @@ public class AdminListInfoController extends EnvelopRestEndpoint {
                                        @RequestParam(value = "level")String level){
        try {
            JSONObject param = new JSONObject();
            String doctorId =  permissionService.getUID();
            param.put("doctorId",doctorId);
            if(permissionService.noPermission(0,param)){
                return ListEnvelop.getError("该操作没有权限");
            }
            List<BaseServiceNews> baseServiceNews = statisticsService.serviceDynamics(page, size, area, level);
            return ListEnvelop.getSuccess("查询成功",baseServiceNews);
        } catch (Exception e) {
            return failedListEnvelopException2(e);
        }
    }
    @GetMapping(value = "/getAdminOrderList")
    @ApiOperation("获取紧急工单--管理员端")
    public ListEnvelop getAdminOrderList(@ApiParam(name = "patient",value = "居民code",required = false)
                                         @RequestParam(value = "patient",required = false)String patient,
                                         @ApiParam(name = "patientName",value = "居民名字",required = false)
                                         @RequestParam(value = "patientName",required = false)String patientName,
                                         @ApiParam(name = "doctor",value = "医生code",required = false)
                                         @RequestParam(value = "doctor",required = false)String doctor,
                                         @ApiParam(name = "status",required = false)
                                         @RequestParam(value = "status",required = false)String status,
                                         @ApiParam(name = "page")
                                         @RequestParam(value = "page")Integer page,
                                         @ApiParam(name = "size")
                                         @RequestParam(value = "size")Integer size,
                                         @ApiParam(name = "area")
                                         @RequestParam(value = "area")String area,
                                         @ApiParam(name = "level")
                                         @RequestParam(value = "level")String level){
        try {
            JSONObject param = new JSONObject();
            String doctorId =  permissionService.getUID();
            param.put("doctorId",doctorId);
            if(permissionService.noPermission(0,param)){
                return ListEnvelop.getError("该操作没有权限");
            }
            List<EmergencyAssistanceDO> adminOrderList = statisticsService.getAdminOrderList(patient, patientName, doctor, status, page, size, area, level);
            return ListEnvelop.getSuccess("查询成功",adminOrderList);
        } catch (Exception e) {
            return failedListEnvelopException2(e);
        }
    }
}

+ 2 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/StatisticsEndpoint.java

@ -237,9 +237,9 @@ public class StatisticsEndpoint extends EnvelopRestEndpoint {
                                              @RequestParam(required = false) String deviceName,
                                              @RequestParam(required = false) Integer page,
                                              @RequestParam(required = false) Integer size,
                                               @RequestParam(required = false)String dactor){
                                               @RequestParam(required = false)String doctor){
        try {
           return statisticsService.getAllDeviceLostMessage(area,deviceCode,deviceName,page,size,dactor);
           return statisticsService.getAllDeviceLostMessage(area,deviceCode,deviceName,page,size,doctor);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }

+ 44 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -16,6 +16,7 @@ import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.message.BaseServiceNews;
import com.yihu.jw.es.es.ElasticSearchHelperUtil;
@ -2683,6 +2684,49 @@ public class StatisticsService {
        }
        result.sort(Comparator.comparing(obj -> ((JSONObject) obj).getDouble("finishRate")).reversed());
        return result;
    }
    public List<EmergencyAssistanceDO> getAdminOrderList(String patient, String patientName, String doctor, String status, Integer page, Integer pageSize,String area,String level){
        String olderFilter = roleService.getOlderRoleSQL(area,level);
        StringBuilder sql = new StringBuilder(" select ord.* from base_emergency_assistance_order ord inner join base_patient pa on pa.id = ord.patient and pa.del=1  where 1=1 ");
        if (org.apache.commons.lang3.StringUtils.isNotBlank(doctor)){
            BaseDoctorDO doctorDO = doctorDao.findById(doctor);
            if (null!=doctorDO){
                if (2==doctorDO.getLevel()){//社工
                    sql.append(" AND EXISTS (" +
                            "SELECT sr.patient from base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i ," +
                            "base_team_member m " +
                            "where ord.patient = CONVERT(sr.patient USING utf8) and  sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and  m.team_code = r.team_code " +
                            " and i.del = 1 and sr.`status`=1  and i.code='emergencyAssistance' and m.doctor_code = '"+doctor+"' and m.del = '1') ");
                }
                if (4==doctorDO.getLevel()){//助老员
                    sql.append(" and EXISTS (" +
                            "SELECT 1 from base_patient_helper ph INNER JOIN base_patient p on ph.patient = p.id and p.del=1 " +
                            " where ord.patient = ph.patient and ph.doctor='"+doctor+"' and ph.del=1) ");
                }
            }
        }
        if (org.apache.commons.lang3.StringUtils.isNotBlank(patient)){
            sql.append(" and ( ord.patient  = '"+patient+"' or ord.proxy_patient='"+patient+"' )");
        }
        if (org.apache.commons.lang3.StringUtils.isNotBlank(patientName)){
            sql.append(" and (pa.name like '%"+patientName+"%' or pa.idcard like '%"+patientName+"%') ");
        }
        if (StringUtils.isNotBlank(status)) {
            sql.append(" and ord.status in ( '").append(status.replace(",","','")).append("') ");
        }
        sql.append(olderFilter.replace("{patient}","pa.id"));
        sql.append(" order by ord.create_time DESC limit "+page*pageSize+","+pageSize);
        List<EmergencyAssistanceDO> resultList = jdbcTemplate.query(sql.toString(),new BeanPropertyRowMapper(EmergencyAssistanceDO.class));
        for (EmergencyAssistanceDO obj:resultList){
            BasePatientDO patientDO = patientDao.findById(obj.getPatient());
            obj.setPatientPhoto(patientDO.getPhoto());
            obj.setPatientSex(patientDO.getSex());
            obj.setPatientAge(IdCardUtil.getAgeForIdcard(patientDO.getIdcard()));
        }
        return resultList;
    }
}