wushilong 3 سال پیش
والد
کامیت
4faeb33cf0

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

@ -104,6 +104,14 @@ public class StatisticsService {
     */
    public JSONObject statisticsTotalAmount(String endDate) throws Exception {
        JSONObject res = new JSONObject();
        // 28 新生儿-在线咨询总数
        // 31 老人-在线咨询总数
        // 35 新生儿-上门辅导-服务工单数
        // 37 老人-能力评估
        // 39 老人-生活照料-服务工单数
        // 44 老人-生活照料-代预约
        // 54 新生儿-上门辅导-工单发起数
        String index = "28,31,35,37,39,44,54";
        String[] indexes = index.split(",");
        for(String ind:indexes){
@ -122,29 +130,48 @@ public class StatisticsService {
            filter = " and hospital not in ('"+orgCodes+"') ";
            filter2 = " and org_code not in ('"+orgCodes+"') ";
        }
        String emergencyCallSql = "SELECT COUNT(1) FROM base_emergency_assistance_order WHERE status >= 0 "+filter2;
        Integer emergencyCallNum = jdbcTemplate.queryForObject(emergencyCallSql,Integer.class);
        String securityMonitoringSql = "SELECT COUNT(1) FROM base_security_monitoring_order where 1=1 "+filter;
        Integer securityMonitoringNum = jdbcTemplate.queryForObject(securityMonitoringSql,Integer.class);
        //男 女 性别总数
        String sexCountSql = "SELECT COUNT(*) ss, CASE p.sex WHEN 1 THEN '男' WHEN 2 THEN '女' END AS sex " +
                "FROM wlyy_patient_label lab " +
                "INNER JOIN base_patient p ON p.id = lab.patient AND lab.label_type = '3' AND lab.patient NOT IN ('null') GROUP BY p.sex";
        List<Map<String, Object>> sexCountMap = jdbcTemplate.queryForList(sexCountSql);
        res.put("sexCount",sexCountMap);
        //老人-紧急预警
        res.put("index_"+41,emergencyCallNum);
        //老人 安放监护
        res.put("index_"+43,securityMonitoringNum);
        //评估类型
        res.put("capacityAssessment",capacityAssessment(endDate,defalutArea,defalutLevel));
        //居民健康标签纬度
        res.put("patientLabelStatistic",statisticsOrderServer("47",endDate,2,"2"));
        // 1.4.2 大屏新增活动浏览数、公益课程播放数、活动报名数
        // activity-1   活动浏览次数
        // activity-2   公艺课程播放
        String sql = " select type,num from base_child_activity_click where type in(1,2)";
        List<Map<String,Object>> lists = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> tmp:lists){
            Integer num = Integer.parseInt(tmp.get("num").toString());
            res.put("activity_"+tmp.get("type").toString(),num);
        }
        //返回活动曲线图
        sql = "select count(id),DATE_FORMAT(create_time,'%Y-%m-%d') as total from base_child_activity_registration " +
                "GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')  " +
                "ORDER BY create_time";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        res.put("quxiantu_3",maps);
        //幼儿活动报名总数
        sql = " select count(id) as total from base_child_activity_registration ";
        Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
        res.put("activity_3",count);
        return res;
    }
@ -884,10 +911,10 @@ public class StatisticsService {
        }
        JSONArray jsonArray = new JSONArray();
        String sql = " select dict.dict_code,dict_value,count(DISTINCT A.patient) total from wlyy_hospital_sys_dict dict \n" +
                " LEFT JOIN (select distinct lab.patient,lab.label_code from  wlyy_patient_label lab  INNER JOIN base_patient p on p.id = lab.patient AND  lab.label_type='1' " +
                " LEFT JOIN (select distinct lab.patient,lab.label_code from  wlyy_patient_label lab  INNER JOIN base_patient p on p.id = lab.patient AND  lab.label_type='3' " +
                  filter+"   \n" +
                ")A on dict.dict_code = A.label_code " +
                "where  dict.dict_name='service_type'  and  dict.dict_code is not null and dict_code<>5  \n" +
                "where  dict.dict_name='older_label'  and  dict.dict_code is not null and dict_code <= 7  \n" +
                " GROUP BY dict.dict_code; ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);

+ 18 - 6
svr/svr-iot/src/main/java/com/yihu/iot/controller/monitorPlatform/MonitorPlatformController.java

@ -1068,21 +1068,21 @@ public class MonitorPlatformController extends EnvelopRestEndpoint {
        }
    }
    @ApiOperation("获取药柜列表")
    @ApiOperation("获取智慧药房列表")
    @RequestMapping(value = "getMedicinecabinet", method = {RequestMethod.GET})
    public ObjEnvelop getMedicinecabinet() {
        List<Map<String, String>> list = monitorPlatformService.getMedicinecabinet();
        return ObjEnvelop.getSuccess("查询成功", list);
    }
    @ApiOperation("获取药柜数量")
    @ApiOperation("获取智慧药房数量")
    @RequestMapping(value = "getMedicinecabinetCount", method = {RequestMethod.GET})
    public ObjEnvelop getMedicinecabinetCount() {
        Map<String, Object> map = monitorPlatformService.getMedicinecabinetCount();
        return ObjEnvelop.getSuccess("查询成功", map);
    }
    @ApiOperation("获取药柜详细信息")
    @ApiOperation("获取智慧药房详细信息")
    @RequestMapping(value = "getMedicineCabinetDetails", method = {RequestMethod.POST})
    public ObjEnvelop getMedicineCabinetDetails(@ApiParam(name = "deviceid", defaultValue = "设备id")
                                                @RequestParam(value = "deviceid", required = true) String deviceid) {
@ -1095,7 +1095,7 @@ public class MonitorPlatformController extends EnvelopRestEndpoint {
        }
    }
    @ApiOperation("获取药柜详细曲线信息")
    @ApiOperation("获取智慧药房详细曲线信息")
    @RequestMapping(value = "getCabinetCurve", method = {RequestMethod.POST})
    public ObjEnvelop getCabinetCurve(@ApiParam(name = "deviceid", defaultValue = "设备id")
                                      @RequestParam(value = "deviceid", required = true) String deviceid,
@ -1103,14 +1103,14 @@ public class MonitorPlatformController extends EnvelopRestEndpoint {
                                      @RequestParam(value = "day", required = false) String day) {
        try {
            Map<String, List<Map>> cabinetCurve = monitorPlatformService.getCabinetCurve(deviceid, day);
            return ObjEnvelop.getSuccess("成功",cabinetCurve,200);
            return ObjEnvelop.getSuccess("成功", cabinetCurve, 200);
        } catch (Exception e) {
            return ObjEnvelop.getError("失败" + e.getMessage());
        }
    }
    @ApiOperation("获取药柜地标")
    @ApiOperation("获取智慧药房地标")
    @RequestMapping(value = "getLongitudeAndLatitude", method = {RequestMethod.GET})
    public ObjEnvelop getLongitudeAndLatitude() {
        try {
@ -1121,4 +1121,16 @@ public class MonitorPlatformController extends EnvelopRestEndpoint {
        }
    }
    @ApiOperation("智慧药房库存检测信息")
    @RequestMapping(value = "getYgStockDetection", method = {RequestMethod.GET})
    public ObjEnvelop getYgStockDetection(@ApiParam(name = "deviceid", defaultValue = "设备id")
                                          @RequestParam(value = "deviceid", required = true) String deviceid) {
        try {
            JSONArray jsonArray = monitorPlatformService.ygStockDetection(deviceid);
            return ObjEnvelop.getSuccess("成功", jsonArray, 200);
        } catch (Exception e) {
            return ObjEnvelop.getError("失败" + e.getMessage());
        }
    }
}

+ 25 - 11
svr/svr-iot/src/main/java/com/yihu/iot/service/monitorPlatform/MonitorPlatformService.java

@ -1690,7 +1690,7 @@ public class MonitorPlatformService {
                allCountSql += " and ( device_name like '%血压计%' )";
            }
        }
       // allCountSql += "  ";
        // allCountSql += "  ";
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(area)) {
            allCountSql += " and grant_org_code in (SELECT dh.code from wlyy.dm_hospital dh where dh.town ='" + area + "' and dh.del =1 )";
        }
@ -1829,7 +1829,7 @@ public class MonitorPlatformService {
        JSONArray resultArr = new JSONArray();
        List<Map<String, String>> list = new ArrayList<>();
        try {
            JSONObject resultObject = getUrl("/open/noLogin/getDeviceList", null);
            JSONObject resultObject = getUrl("/open/noLogin/getDeviceList", null, "obj");
            resultArr = resultObject.getJSONArray("usedDeviceList");
            for (int i = 0; i < resultArr.size(); i++) {
                Map<String, String> resultMap = new HashMap<>();
@ -1865,7 +1865,7 @@ public class MonitorPlatformService {
    public Map<String, Object> getMedicinecabinetCount() {
        Map resultMap = new HashMap<>();
        JSONObject jsonObject = getUrl("/open/noLogin/getDeviceList", null);
        JSONObject jsonObject = getUrl("/open/noLogin/getDeviceList", null, "obj");
        //设备总数
        String total = jsonObject.get("total").toString();
        //库存量
@ -1891,7 +1891,7 @@ public class MonitorPlatformService {
        parameterMap.put("day", day);
        String content = com.alibaba.fastjson.JSONObject.toJSONString(parameterMap);
        String params = AesEncryptUtils.agEncrypt(content);
        JSONObject jsonObject = getUrl("/open/noLogin/getDeviceInfo", params);
        JSONObject jsonObject = getUrl("/open/noLogin/getDeviceInfo", params, "obj");
        //取药列表获取
        List<Map> mediicineorderListMap = new ArrayList<>();
@ -1954,7 +1954,7 @@ public class MonitorPlatformService {
        parameterMap.put("day", day);
        String content = com.alibaba.fastjson.JSONObject.toJSONString(parameterMap);
        String params = AesEncryptUtils.agEncrypt(content);
        JSONObject jsonObject = getUrl("/open/noLogin/getDeviceInfo", params);
        JSONObject jsonObject = getUrl("/open/noLogin/getDeviceInfo", params, "obj");
        //医保曲线
        JSONArray yibaoArray = jsonObject.getJSONArray("yibaoList");
@ -1977,7 +1977,7 @@ public class MonitorPlatformService {
        JSONArray resultArr = new JSONArray();
        List<Map<String, Object>> list = new ArrayList<>();
        try {
            JSONObject resultObject = getUrl("/open/noLogin/getDeviceList", null);
            JSONObject resultObject = getUrl("/open/noLogin/getDeviceList", null, "obj");
            resultArr = resultObject.getJSONArray("usedDeviceList");
            for (int i = 0; i < resultArr.size(); i++) {
                Map<String, Object> resultMap = new HashMap<>();
@ -2005,13 +2005,21 @@ public class MonitorPlatformService {
     * 商品状态:未设商品、已有商品
     * 货道状态:货道故障、货道关闭、货道正常
     * */
    public void ygStockDetection(){
    public JSONArray ygStockDetection(String id) throws Exception {
        //请求药房 获取参数
        String url = "/open/noLogin/findMediicinecabinetInventoryByDeviceId";
        Map parameterMap = new HashMap<>();
        parameterMap.put("deviceId", id);
        String content = com.alibaba.fastjson.JSONObject.toJSONString(parameterMap);
        String params = AesEncryptUtils.agEncrypt(content);
        JSONObject jsonObject = getUrl(url, params, "detailModelList");
        JSONArray jsonArray = jsonObject.getJSONArray("obj");
        return jsonArray;
    }
    /*请求接口*/
    public JSONObject getUrl(String url, String parame) {
    public JSONObject getUrl(String url, String parame, String obj) {
        JSONObject resultObj = new JSONObject();
        List<Map<String, String>> list = new ArrayList<>();
        try {
@ -2023,11 +2031,17 @@ public class MonitorPlatformService {
            if (resultObject.get("status").equals("200")) {
                JSONObject jsonObjectData = JSONObject.parseObject(AesEncryptUtils.agDecrypt(resultObject.get("data").toString()));
                if (jsonObjectData.get("status").equals(200)) {
                    resultObj = jsonObjectData.getJSONObject("obj");
                    if ("obj".equals(obj)) {
                        resultObj = jsonObjectData.getJSONObject(obj);
                    }
                    if ("detailModelList".equals(obj)) {
                        JSONArray jsonArray = jsonObjectData.getJSONArray(obj);
                        resultObj.put("obj", jsonArray);
                    }
                }
            }
            return resultObj;
        } catch (IOException e) {
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }