瀏覽代碼

ETL修改

esb 8 年之前
父節點
當前提交
5375bd62f5

+ 2 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignExpenseStatusJob.java

@ -112,8 +112,9 @@ public class AllSignExpenseStatusJob implements Job{
            List<SignFamily> signFamilies_2= dbExtract.extractByPage(SignFamily.class,sql,sqlCount,true);
            //抽取的语句
            sql="select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"'";
            signFamilies_2.addAll(signFamilies_1);
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies_1, SignDataFilter.level2Expenses,sql,date);
            FilterModel etlModels= signDataFilter.filter(signFamilies_2, SignDataFilter.level2Expenses,sql,date);
            //统计数据
            //统计数据 一级维度
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());

+ 22 - 46
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java

@ -141,20 +141,23 @@ public class CurrentDayAllQuotaJob implements Job {
        String sql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
        //抽取數據
        List<SignFamily> signFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,sql);
        computequota_1(sql,signFamilies); //统计今天的签约
        String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
        //抽取數據
        List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
        computequota_1(sql,signFamilies,deleteSignFamilies); //统计今天的签约
        computequota_2(); //统计今天的解约
        computequota_3(); //统计今天的健康咨询量
        computequota_4(); //统计今天的随访量
        computequota_5(); //统计今天的健康指导
        computequota_6(sql,signFamilies); //统计今天的签约患者性别
        computequota_7(sql,signFamilies);//统计今天的签约患者分组
        computequota_8(sql,signFamilies);//统计今天的签约患者年龄
        computequota_6(sql,signFamilies,deleteSignFamilies); //统计今天的签约患者性别
        computequota_7(sql,signFamilies,deleteSignFamilies);//统计今天的签约患者分组
        computequota_8(sql,signFamilies,deleteSignFamilies);//统计今天的签约患者年龄
        computequota_9();//统计今天的待签约
        computequota_10();//统计今天的改签
        computequota_12(sql,signFamilies);//统计今天的签约下按年龄分组后再
        computequota_13(sql,signFamilies);//统计今天的签约量
        computequota_12(sql,signFamilies,deleteSignFamilies);//统计今天的签约下按年龄分组后再
        computequota_13(sql,signFamilies,deleteSignFamilies);//统计今天的签约量
        computequota_14(sql,signFamilies);//统计今天的签约数的扣费钱情况
        computequota_15(sql,signFamilies);//统计今天的健康分布统计
        computequota_15(sql,signFamilies,deleteSignFamilies);//统计今天的健康分布统计
        computequota_16(sql,signFamilies);//统计今天的签约费用统计
        quartzJobLog.setJobContent(allContent.toString());
        quartzJobLog.setJobName("实时统计");
@ -178,8 +181,9 @@ public class CurrentDayAllQuotaJob implements Job {
            List<SignFamily> signFamilies_2= SpringUtil.getBean(DBExtract.class).extractByPage(SignFamily.class,sql,sqlCount,true);
            //抽取的语句
            sql=" select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2  and  a.apply_date>= '"+now+"' and  a.apply_date< '"+tomorrow+"' ";
            signFamilies_2.addAll(signFamilies_1);
            //清洗數據
            FilterModel etlModels= SpringUtil.getBean(SignDataFilter.class).filter(signFamilies_1, SignDataFilter.level2Expenses,sql,null);
            FilterModel etlModels= SpringUtil.getBean(SignDataFilter.class).filter(signFamilies_2, SignDataFilter.level2Expenses,sql,null);
            //统计数据
            //统计数据 一级维度
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
@ -195,11 +199,8 @@ public class CurrentDayAllQuotaJob implements Job {
        allContent.append("-----------14----------");
    }
    private void computequota_13(String sql,List<SignFamily> signFamilies) {
    private void computequota_13(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies) {
        //找出今天的签约信息 yesterday,now
        //String sql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2  and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
        String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2  and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
        try{
           //抽取數據 分页抽取
           //List<SignFamily> signFamilies= SpringUtil.getBean(DBExtract.class).extractByPage(SignFamily.class,sql,sqlCount,true);
@ -207,10 +208,6 @@ public class CurrentDayAllQuotaJob implements Job {
           FilterModel etlModels= SpringUtil.getBean(SignDataFilter.class).filter(signFamilies,sql,null);
           //统计数据
           List<Map<String, List<ETLModel>>>  returnData= levelRole.elt(etlModels.getEtlModelList());
            //扣掉今天退費的
            String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
            //抽取數據
            List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
            //清洗數據
            FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,sql,"now");
            //统计数据
@ -238,10 +235,11 @@ public class CurrentDayAllQuotaJob implements Job {
             sql=" select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and (expenses_status !=1 or expenses_status is null) and  a.apply_date>= '"+now+"' and  a.apply_date< '"+tomorrow+"' ";
            String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2 and (expenses_status !=1 or expenses_status is null) and  a.apply_date>= '"+now+"' and  a.apply_date< '"+tomorrow+"' ";
            List<SignFamily> signFamilies_2= SpringUtil.getBean(DBExtract.class).extractByPage(SignFamily.class,sql,sqlCount,true);
            signFamilies_2.addAll(signFamilies_1);
            //抽取的语句
            sql=" select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2  and  a.apply_date>= '"+now+"' and  a.apply_date< '"+tomorrow+"' ";
            //清洗數據
            FilterModel etlModels= SpringUtil.getBean(SignDataFilter.class).filter(signFamilies_1, SignDataFilter.level2Expenses,sql,null);
            FilterModel etlModels= SpringUtil.getBean(SignDataFilter.class).filter(signFamilies_2, SignDataFilter.level2Expenses,sql,null);
            //统计数据
            //统计数据 一级维度
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
@ -257,7 +255,7 @@ public class CurrentDayAllQuotaJob implements Job {
        allContent.append("-----------16----------");
    }
    private void computequota_15(String sql,List<SignFamily> signFamilies) {
    private void computequota_15(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies) {
        String quotaId="15";
        //找出今天的签约信息
        //String sql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
@ -270,10 +268,6 @@ public class CurrentDayAllQuotaJob implements Job {
           List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
           //统计数据 二级维度
           List<Map<String, Map<String, List<ETLModel>>>> patientSexRoleData= level2Role.elt(returnDatas);
           //扣掉今天退費的
           String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
           //抽取數據
           List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
           //清洗數據
           FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,SignDataFilter.level2Health,sql,"now");
           //统计数据
@ -290,11 +284,11 @@ public class CurrentDayAllQuotaJob implements Job {
        allContent.append("-----------15----------");
    }
    private void computequota_12(String sql,List<SignFamily> signFamilies) throws Exception{
    private void computequota_12(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies) throws Exception{
        String quotaId="12";
        //找出今天的签约信息
        //String sql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
        String deleteSql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3  ";
        //String deleteSql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3  ";
        try{
             //抽取數據
@ -307,8 +301,6 @@ public class CurrentDayAllQuotaJob implements Job {
            List<Map<String, Map<String, List<ETLModel>>>> patientSexRoleData= level2Role.elt(returnDatas);
            //统计数据 三级维度
            List<Map<String, Map<String, Map<String, List<ETLModel>>>>> returnD=level3Role.elt(patientSexRoleData);
            //抽取數據
            List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteSql);
            //清洗數據
            FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,SignDataFilter.level2Age,SignDataFilter.level3Disease,sql,null);
            //统计数据 一级维度
@ -353,16 +345,12 @@ public class CurrentDayAllQuotaJob implements Job {
            rootMap.put(rootKey, groupMapTemp2);
        }
    }
    private void computequota_1(String sql,List<SignFamily> signFamilies) {
    private void computequota_1(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies) {
        try{
            //清洗數據
            FilterModel etlModels= SpringUtil.getBean(SignDataFilter.class).filter(signFamilies,sql,"now");
            //统计数据
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //扣掉今天退費的
            String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
            //抽取數據
            List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
            //清洗數據
            FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,sql,"now");
            //统计数据
@ -462,7 +450,7 @@ public class CurrentDayAllQuotaJob implements Job {
        allContent.append("-----------5----------");
    }
    private void computequota_6(String sql,List<SignFamily> signFamilies) throws Exception {
    private void computequota_6(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies) throws Exception {
        String quotaId="6";
        //找出今天的签约信息
      //  String sql=" select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
@ -475,10 +463,6 @@ public class CurrentDayAllQuotaJob implements Job {
           List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
           //统计数据 二级维度
           List<Map<String, Map<String, List<ETLModel>>>>  level2Data= level2Role.elt(returnDatas);;
           //扣掉今天退費的
           String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
           //抽取數據
           List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
           //清洗數據
           FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,SignDataFilter.level2Sex,sql,"now");
           //统计数据
@ -495,7 +479,7 @@ public class CurrentDayAllQuotaJob implements Job {
        allContent.append("-----------6----------");
    }
    private void computequota_7(String sql,List<SignFamily> signFamilies) {
    private void computequota_7(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies) {
        String quotaId="7";
        try{
          //  String sql=" select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and  a.expenses_time>= '"+now+"' and  a.expenses_time< '"+tomorrow+"' and a.expenses_status=1 ";
@ -507,10 +491,6 @@ public class CurrentDayAllQuotaJob implements Job {
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //统计数据 二级维度
            List<Map<String, Map<String, List<ETLModel>>>>  level2Data= level2Role.elt(returnDatas);
            //扣掉今天退費的
            String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
            //抽取數據
            List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
            //清洗數據
            FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,SignDataFilter.level2Group,sql,"now");
            //统计数据
@ -527,7 +507,7 @@ public class CurrentDayAllQuotaJob implements Job {
        allContent.append("----------7-----------");
    }
    private void computequota_8(String sql,List<SignFamily> signFamilies)throws Exception {
    private void computequota_8(String sql,List<SignFamily> signFamilies,List<SignFamily> deleteSignFamilies)throws Exception {
        String quotaId="8";
        try{
            //找出今天的签约信息
@ -540,10 +520,6 @@ public class CurrentDayAllQuotaJob implements Job {
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //统计数据 二级维度
            List<Map<String, Map<String, List<ETLModel>>>>  level2Data= level2Role.elt(returnDatas);;
            //扣掉今天退費的
            String deleteDql=" select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.czrq>= '"+now+"' and  a.czrq< '"+tomorrow+"' and a.expenses_status=3 ";
            //抽取數據
            List<SignFamily> deleteSignFamilies= SpringUtil.getBean(DBExtract.class).extract(SignFamily.class,deleteDql);
            //清洗數據
            FilterModel deleteEtlModels= SpringUtil.getBean(SignDataFilter.class).filter(deleteSignFamilies,SignDataFilter.level2Age,sql,"now");
            //统计数据

+ 2 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignExpenseStatusJob.java

@ -111,10 +111,11 @@ public class SignExpenseStatusJob implements Job{
            String sql=" select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and (expenses_status !=1 or expenses_status is null)";
            String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"'and (expenses_status !=1 or expenses_status is null)  ";
            List<SignFamily> signFamilies_2= dbExtract.extractByPage(SignFamily.class,sql,sqlCount,true);
            signFamilies_2.addAll(signFamilies_1);
            //抽取的语句
            sql="select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"'";
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies_1, SignDataFilter.level2Expenses,sql,date);
            FilterModel etlModels= signDataFilter.filter(signFamilies_2, SignDataFilter.level2Expenses,sql,date);
            //统计数据
            //统计数据 一级维度
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());