Browse Source

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

liubing 3 years ago
parent
commit
3122559dfe

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/message/dao/SystemMessageDao.java

@ -61,4 +61,8 @@ public interface SystemMessageDao extends PagingAndSortingRepository<SystemMessa
    @Query("select a from SystemMessageDO a where  a.type=?1 and  a.del='1'")
    Page<SystemMessageDO> getByType(String type, Pageable pageRequest);
    @Modifying
    @Query("update SystemMessageDO a set a.del=0 where a.id in (?1)")
    Integer delMessage(String[] ids);
}

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

@ -2,7 +2,9 @@ package com.yihu.jw.care.endpoint.statistics;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.aop.ObserverRequired;
import com.yihu.jw.care.service.statistics.StatisticsService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
@ -11,10 +13,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Locale;
@ -213,7 +212,8 @@ public class StatisticsEndpoint extends EnvelopRestEndpoint {
    @GetMapping("olderBindingDeviceStatus")
    @ApiOperation("管理端首页老人接入情况")
    public ObjEnvelop olderBindingDeviceStatus(@RequestParam(required = false) String area){
    public ObjEnvelop olderBindingDeviceStatus(@RequestParam(required = false) String area,
                                               @RequestParam(required = false) Integer level){
        try {
            return ObjEnvelop.getSuccess("查询成功",statisticsService.olderBindingDeviceStatus(area));
        }catch (Exception e){
@ -238,7 +238,8 @@ public class StatisticsEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = "deviceGrantAndService")
    @ApiOperation("设备分析--投放、照护类型")
    public ObjEnvelop deviceGrantAndService(@RequestParam(required = false) String area){
    public ObjEnvelop deviceGrantAndService(@RequestParam(required = false) String area,
                                            @RequestParam(required = false) Integer level){
        try {
            return ObjEnvelop.getSuccess("查询成功",statisticsService.deviceGrantAndService());
        }catch (Exception e){
@ -248,19 +249,35 @@ public class StatisticsEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value = "getAllDeviceLostMessage")
    @ApiOperation("设备分析--异常消息通知")
    public ObjEnvelop getAllDeviceLostMessage(@RequestParam(required = false) String area,
    public PageEnvelop getAllDeviceLostMessage(@RequestParam(required = false) String area,
                                              @RequestParam(required = false) Integer level,
                                              @RequestParam(required = false) Integer page,
                                              @RequestParam(required = false) Integer size){
        try {
            return ObjEnvelop.getSuccess("查询成功",statisticsService.getAllDeviceLostMessage(area,page,size));
           return statisticsService.getAllDeviceLostMessage(area,page,size);
        }catch (Exception e){
            return failedObjEnvelopException2(e);
            return failedPageEnvelopException2(e);
        }
    }
    @PostMapping(value = "/delMessageRead")
    @ApiOperation("删除消息")
    @ObserverRequired
    public Envelop delMessageRead(@ApiParam(name = "messageId",required = true)
                                  @RequestParam(value = "messageId")String messageId){
        try {
            statisticsService.delMessageRead(messageId);
            return Envelop.getSuccess("修改成功");
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @GetMapping(value = "deviceUsingInfo")
    @ApiOperation("设备分析--使用管理")
    public ObjEnvelop deviceUsingInfo(@RequestParam(required = false) String area){
    public ObjEnvelop deviceUsingInfo(@RequestParam(required = false) String area,
                                      @RequestParam(required = false) Integer level){
        try {
            return ObjEnvelop.getSuccess("查询成功",statisticsService.deviceUsingInfo(area));
        }catch (Exception e){
@ -272,6 +289,7 @@ public class StatisticsEndpoint extends EnvelopRestEndpoint {
    @ApiOperation("管理端安防监护--安防动态")
    public PageEnvelop getSecurityOrderList(@RequestParam(required = false) String area,
                                            @RequestParam(required = false) String status,
                                            @RequestParam(required = false) Integer level,
                                            @RequestParam(required = false) String svrDesc,
                                            @RequestParam(required = false) String topicItem,
                                            @RequestParam(required = false) Integer page,
@ -283,6 +301,23 @@ public class StatisticsEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "getSecurityTab")
    @ApiOperation(value = "获取安防tab数量")
    public ObjEnvelop getSecurityTab(@RequestParam(required = false) String area,
                                     @RequestParam(required = false) Integer level,
                                     @ApiParam(name="status",value = "工单状态-2误报警-1已取消0已完成1申请中")
                                     @RequestParam(value = "status",required = false)String status,
                                     @ApiParam(name="svrDesc",value = "服务类型 关联security_server_dict字典")
                                     @RequestParam(value = "svrDesc",required = false)String svrDesc,
                                     @ApiParam(name = "topicItem", value = "专题code,关联security_topic_dict字典", required = false)
                                     @RequestParam(value = "topicItem",required = false) String topicItem){
        try {
            return ObjEnvelop.getSuccess("查询成功",statisticsService.getSecurityTab(area,status,svrDesc,topicItem));
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }
    }
    @GetMapping(value = "statisticsSecurityWarnInfo")
    @ApiOperation(value = "管理端安防监护--预警分析")
    public ObjEnvelop statisticsOrderServer(

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

@ -35,7 +35,9 @@ import org.springframework.data.domain.PageRequest;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.Transient;
import javax.persistence.criteria.CriteriaBuilder;
import java.awt.print.Pageable;
import java.text.DecimalFormat;
@ -74,6 +76,8 @@ public class StatisticsService {
    private SystemMessageDao messageDao;
    @Autowired
    private PatientDeviceDao patientDeviceDao;
    @Autowired
    private SystemMessageDao systemMessageDao;
    private static final String defalutArea = "330100";
@ -1112,10 +1116,29 @@ public class StatisticsService {
        return result;
    }
    public Page<SystemMessageDO> getAllDeviceLostMessage(String area,Integer page,Integer size){
        PageRequest pageRequest = new PageRequest(page - 1, size);
        Page<SystemMessageDO> systemMessageDOS = messageDao.getByType("43",pageRequest);
        return systemMessageDOS;
    public PageEnvelop getAllDeviceLostMessage(String area,Integer page,Integer size){
        page = page>0?page-1:0;
        String sql ="select GROUP_CONCAT(id) id,type,title,sender,sender_name senderName,\n" +
                "receiver,receiver_name receiverName,relation_code relationCode,\n" +
                "data,is_read isRead,create_time createTime,sender_photo\n" +
                "from base_system_message where type=43 and del=1 GROUP BY relation_code order by createTime desc ";
        Long count = jdbcTemplate.queryForObject(" select count(id) from ("+sql+")A ",Long.class);
        sql +=" limit "+page*size+","+size ;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        return PageEnvelop.getSuccessListWithPage("查询成功",list,page++,size,count);
    }
    @Transactional
    public void delMessageRead(String msgId){
        if (StringUtils.isNotBlank(msgId)){
            String[] ids = msgId.split(",");
            if (ids.length>0){
                systemMessageDao.delMessage(ids);
            }
        }
    }
    public JSONObject deviceUsingInfo(String area){
@ -1142,6 +1165,7 @@ public class StatisticsService {
    }
    public PageEnvelop getSecurityOrderList(String area,String status, String svrDesc,String topicItem, Integer page, Integer pageSize){
        page = page>1?page-1:0;
        JSONArray result = new JSONArray();
        String sqlCount = "select count(ord.id) from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
@ -1215,6 +1239,56 @@ public class StatisticsService {
        return PageEnvelop.getSuccessListWithPage("success",result,page,pageSize,count);
    }
    public JSONObject getSecurityTab(String area,String status,String svrDesc,String topicItem){
        if (StringUtils.isNotBlank(area)){
        }
        JSONObject result = new JSONObject();
        result.put("status_-2",0);//误报警
        result.put("status_-1",0);//已取消
        result.put("status_0",0);//已完成
        result.put("status_1",0);//预警中
        result.put("status_all",0);//
        result.put("svr_all",0);//
        Map<String,String> serverTmp = new HashMap<>();
        String sql = " select py_code,dict_value from wlyy_hospital_sys_dict where dict_name='security_server_dict' ";
        List<Map<String,Object>> servers = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> server:servers){
            result.put("svr_"+server.get("py_code").toString(),0);
            serverTmp.put(server.get("dict_value").toString(),server.get("py_code").toString());
        }
        sql = "select ord.status,ord.serve_desc,count(ord.id) count from base_security_monitoring_order ord INNER JOIN base_patient p on p.id = ord.patient " +
                "where 1=1 ";
        String fliter = "  ";
        if (org.apache.commons.lang3.StringUtils.isNotBlank(status)){
            fliter+=" and ord.status='"+Integer.parseInt(status)+"' ";
        }
        if (org.apache.commons.lang3.StringUtils.isNotBlank(svrDesc)){
            fliter+=" and ord.serve_desc='"+svrDesc+"' ";
        }
        if (org.apache.commons.lang3.StringUtils.isNotBlank(topicItem)){
            fliter+=" and ord.topic_item='"+topicItem+"' ";
        }
        fliter+=" group by ord.status,ord.serve_desc ";
        List<Map<String,Object>> sqlResult = jdbcTemplate.queryForList(sql+fliter);
        String pyCode = "";
        for (Map<String,Object> map:sqlResult){
            result.put("status_"+map.get("status"),result.getInteger("status_"+map.get("status"))+Integer.parseInt(map.get("count").toString()));
            pyCode =  serverTmp.get(map.get("serve_desc"))==null?null:serverTmp.get(map.get("serve_desc")).toString();
            if (org.apache.commons.lang3.StringUtils.isNotBlank(pyCode)){
                result.put("svr_"+pyCode,result.getInteger("svr_"+pyCode)+Integer.parseInt(map.get("count").toString()));
                result.put("status_all",result.getInteger("status_all")+Integer.parseInt(map.get("count").toString()));
                result.put("svr_all",result.getInteger("svr_all")+Integer.parseInt(map.get("count").toString()));
            }
        }
        return result;
    }
    public JSONObject statisticsSecurityWarnInfo(String endDate,String area,Integer level,String index) throws Exception {
        JSONObject res = new JSONObject();
        String[] indexes = index.split(",");
@ -1264,7 +1338,7 @@ public class StatisticsService {
    public JSONArray statisticsSecurityTrend(String startDate,String endDate,String area,Integer level,String index) throws Exception {
        //安防总数
        List<SaveModel> saveModels = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,SaveModel.timeLevel_ZL,SaveModel.interval_day,null);
        List<SaveModel> saveModels = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,SaveModel.timeLevel_DDL,SaveModel.interval_day,null);
        JSONArray jsonArray = new JSONArray();
        for (SaveModel tmp:saveModels){
            JSONObject jsonTmp = new JSONObject();

+ 6 - 10
svr/svr-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/compute/ComputeHelper.java

@ -159,16 +159,12 @@ public class ComputeHelper {
    private String getCityKey(DataModel one, int size) {
        try {
            if (size > 0) {
                StringBuffer str = new StringBuffer("330100");
                for (int i = 1; i <= size; i++) {
                    String invokeKey = (String) DataModel.class.getMethod("getSlaveKey" + i).invoke(one);
                    str.append("-" + invokeKey);
                }
                return str.toString();
            } else {
                return one.getHospital();
            }
             StringBuffer str = new StringBuffer("330100");
             for (int i = 1; i <= size; i++) {
                 String invokeKey = (String) DataModel.class.getMethod("getSlaveKey" + i).invoke(one);
                 str.append("-" + invokeKey);
             }
             return str.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return null;