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

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

liubing 2 éve
szülő
commit
55ee2f842d

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

@ -467,4 +467,28 @@ public class AdminInfoEndpoint extends EnvelopRestEndpoint {
    }
    @GetMapping(value = "statisticsOldAdd")
    @ApiOperation(value = "管理端首页智慧照护生活照料项目新增情况")
    public ObjEnvelop statisticsOldAdd(
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) Integer level,
            @ApiParam(name="type",value="类型:1本周,2本月",defaultValue = "")@RequestParam(required = false) String type) {
        try {
            JSONObject param = new JSONObject();
            String doctorId =  permissionService.getUID();
            param.put("doctorId",doctorId);
            if(permissionService.noPermission(0,param)){
                return ObjEnvelop.getError("该操作没有权限");
            }
            JSONObject result = statisticsService.statisticsOldAdd(endDate,area,level, type);
            return success(result);
        } catch (Exception e) {
            return failedObjEnvelopException2(e);
        }
    }
}

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

@ -2216,7 +2216,7 @@ public class StatisticsService {
    //老人整体概况
    public Map<String,Object> getOlderOverview(String currentUserRole,String  currentUserRoleLevel){
        String year = DateUtil.getNowYear()+"";
        String sql = " SELECT *,(SELECT ((SELECT COUNT(*) FROM base_patient p where  p.sign_status = 0 AND p.del = 1) - (SELECT COUNT(p.id) FROM base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user` WHERE p.sign_status = 0 AND p.del = 1  AND d.del = 0)) total\n) total FROM base_older_num  where type='"+currentUserRoleLevel+"' and code='"+currentUserRole+"' and year='"+year+"' ";
        String sql = " SELECT *,(SELECT ((SELECT COUNT(*) FROM base_patient p where  p.sign_status = 0 AND p.del = 1) - (SELECT COUNT(p.id) FROM base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user` WHERE p.sign_status = 0 AND p.del = 1  AND d.del = 0)) total) total,(SELECT count(DISTINCT id) FROM base_patient WHERE register = 1) xzf_num FROM base_older_num  where type='"+currentUserRoleLevel+"' and code='"+currentUserRole+"' and year='"+year+"' ";
        String jdOldsql = "SELECT count(DISTINCT id) AS total  FROM base_patient WHERE register = 2";
        Integer integer = jdbcTemplate.queryForObject(jdOldsql, Integer.class);
@ -3026,6 +3026,20 @@ public class StatisticsService {
        return res;
    }
    /**
     *管理端居民增量
     */
    public JSONObject statisticsOldAdd(String endDate, String area, Integer level, String type) throws Exception {
        JSONObject res = new JSONObject();
        String start = statisticsUtilService.calStart(endDate, type);
        SaveModel familyAdd = elasticsearchUtil.findOneDateQuotaLevels(start, endDate, area, level, "74", SaveModel.timeLevel_ZL, null, null);
        SaveModel oldAdd = elasticsearchUtil.findOneDateQuotaLevels(start, endDate, area, level, "52", SaveModel.timeLevel_ZL, null, null);
        res.put("index_" + 74 + "_add", familyAdd.getResult2().longValue());
        res.put("index_" + 52 + "_add", oldAdd.getResult2().longValue());
        return res;
    }
    /**
     * 通用增量趋势接口
     */
@ -3167,6 +3181,7 @@ public class StatisticsService {
        String nameSql = "";
        String idcardSql = "";
        String orgCodeSql = "";
        String liftOrgCodeSql = "";
        String total = "";
        String sql = "";
        if (StringUtils.isNotBlank(name)) {
@ -3177,6 +3192,7 @@ public class StatisticsService {
        }
        if (StringUtils.isNotBlank(orgCode)) {
            orgCodeSql = " AND t.id = '"+orgCode+"'";
            liftOrgCodeSql = " AND p.saas_id = '"+orgCode+"'";
        }
        String testUserSql = " NOT IN ( SELECT DISTINCT dict_code FROM wlyy_hospital_sys_dict WHERE ( dict_name = 'jkzl_child' OR dict_name = 'jkzl_older' OR dict_name = 'jkzl_user' OR dict_name= 'jkzl_olderRelative' ) AND dict_code IS NOT NULL ) ";
@ -3239,7 +3255,7 @@ public class StatisticsService {
                        " AND tm.team_code = t.id  " +
                        " AND p.archive_type = 1  " + orgCodeSql+idcardSql+nameSql+
                        " AND d.id = tm.doctor_code  ";
                total = overTimeOrderListTotalSql(1,nameSql,idcardSql,orgCodeSql);
                total = overTimeOrderListTotalSql(1,nameSql,idcardSql,orgCodeSql,null);
                break;
            case 2:
                sql = "SELECT DISTINCT o.id as orderId,p.id AS patientId, p.`name`, p.mobile,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') as create_time , fd.NAME AS lifeName, bo.NAME AS serviceOrgName, bo.mobile AS orgMobile, t.`name` AS area   " +
@ -3275,12 +3291,12 @@ public class StatisticsService {
                        "WHERE  " +
                        "  p.sign_status <> 1   " +
                        "  AND co.`status` = 1   " +
                        "  AND p.id "+testUserSql+""+nameSql+idcardSql+orgCodeSql;
                total = overTimeOrderListTotalSql(2,nameSql,idcardSql,orgCodeSql);
                        "  AND p.id "+testUserSql+""+nameSql+idcardSql+liftOrgCodeSql;
                total = overTimeOrderListTotalSql(2,nameSql,idcardSql,orgCodeSql,liftOrgCodeSql);
                break;
        }
        sql += "GROUP BY orderId ORDER BY create_time DESC LIMIT "+page+","+size+" ";
        sql += " GROUP BY orderId ORDER BY create_time DESC LIMIT "+page+","+size+" ";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
@ -3306,13 +3322,13 @@ public class StatisticsService {
            nameSql = " AND p.`name` LIKE '%"+name+"%'";
        }
        if (StringUtils.isNotBlank(idcard)){
            idcardSql = "AND p.idcard = '"+idcard+"'";
            idcardSql = " AND p.idcard = '"+idcard+"'";
        }
        if (StringUtils.isNotBlank(orgCode)){
            orgCodeSql =" AND t.id = '"+orgCode+"'";
        }
        if (null!=status){
            statusSql = "AND o.status = "+status+"";
            statusSql = " AND o.status = "+status+"";
        }
        String sql = "SELECT p.name,o.`status`,o.id AS orderId,DATE_FORMAT( o.create_time, '%Y-%m-%d %H:%i:%s' ) AS create_time, " +
@ -3401,7 +3417,7 @@ public class StatisticsService {
        return list.get(0);
    }
    private String overTimeOrderListTotalSql(Integer type,String nameSql,String idcardSql,String orgCodeSql){
    private String overTimeOrderListTotalSql(Integer type,String nameSql,String idcardSql,String orgCodeSql,String liftOrgCodeSql){
        String sql = "";
       switch (type){
           case 1:
@ -3503,7 +3519,7 @@ public class StatisticsService {
                       "\t\tLEFT JOIN base_team t ON t.org_code = bo.CODE \n" +
                       "\tWHERE\n" +
                       "\t\tp.sign_status <> 1 \n" +
                       "\t\tAND co.`status` = 1 "+nameSql+idcardSql+orgCodeSql+" \n" +
                       "\t\tAND co.`status` = 1 "+nameSql+idcardSql+liftOrgCodeSql+" \n" +
                       "\t\tAND p.id NOT IN ( SELECT DISTINCT dict_code FROM wlyy_hospital_sys_dict WHERE ( dict_name = 'jkzl_child' OR dict_name = 'jkzl_older' OR dict_name = 'jkzl_user' ) AND dict_code IS NOT NULL ) \n" +
                       "\t) a";
               break;