Quellcode durchsuchen

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

lyr vor 8 Jahren
Ursprung
Commit
e9105e5c68
17 geänderte Dateien mit 65 neuen und 15 gelöschten Zeilen
  1. 2 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/DBStorage.java
  2. 2 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/RedisStorage.java
  3. 2 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignExpenseStatusJob.java
  4. 4 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignJob.java
  5. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ChangeSignJob.java
  6. 2 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java
  7. 2 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java
  8. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/FollowUpJob.java
  9. 2 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/HealthGuideJob.java
  10. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/HealthSignJob.java
  11. 3 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignAgeGroupDiseaseJob.java
  12. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignExpenseStatusJob.java
  13. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignJob.java
  14. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/UnSignJob.java
  15. 1 0
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/WaitSignJob.java
  16. 35 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/service/JobService.java
  17. 4 5
      patient-co-statistics/src/main/resources/application.yml

+ 2 - 0
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/DBStorage.java

@ -15,6 +15,7 @@ import com.yihu.wlyy.statistics.model.system.Town;
import com.yihu.wlyy.statistics.model.team.AdminTeam;
import com.yihu.wlyy.statistics.vo.WlyyQuotaVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.stereotype.Component;
@ -35,6 +36,7 @@ import java.util.*;
 */
@Component
@Scope("prototype")
public class DBStorage   {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private Map<String, AdminTeam> adminTeamMap = new HashMap<String, AdminTeam>();

+ 2 - 0
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/RedisStorage.java

@ -12,6 +12,7 @@ import com.yihu.wlyy.statistics.model.team.AdminTeam;
import com.yihu.wlyy.statistics.util.DateUtil;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@ -26,6 +27,7 @@ import java.util.Map;
 * 统计数据数据库存储器
 */
@Component
@Scope("prototype")
@Transactional
public class RedisStorage {
    @Autowired

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

@ -43,6 +43,7 @@ import java.util.*;
 * 签约费用统计 到达量
 */
@Component
@Scope("prototype")
public class AllSignExpenseStatusJob implements Job{
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
@ -142,6 +143,7 @@ public class AllSignExpenseStatusJob implements Job{
            //数据过滤清洗出脏数据  -----------start
            for (SignFamily signFamily:signFamilys) {
                allsize++;
                i++;
                ETLModel etlModel = new ETLModel();
                String orgCode = signFamily.getHospital();
                if (StringUtils.isEmpty(orgCode)) {
@ -213,7 +215,6 @@ public class AllSignExpenseStatusJob implements Job{
                townCount++;
                orgCount++;
                adminCount++;
                i++;
            }
            lastSize=signFamilys.size();
            if(signFamilys.size()!=pageSize&&i==lastSize){

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

@ -17,6 +17,7 @@ import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
@ -32,6 +33,7 @@ import java.util.*;
 * 每天的签约到达量统计
 */
@Component
@Scope("prototype")
public class AllSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
@ -122,9 +124,10 @@ public class AllSignJob implements Job {
            String sql=" select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and a.status >= 1  and expenses_status=1 and a.apply_date< '"+dateTemp+"' limit "+start+","+pageSize ;
            signFamilys = jdbcTemplate.query(sql,new BeanPropertyRowMapper(SignFamily .class));  // signFamilyDao.findByJiatingSignYesterday(dateTemp);
            //数据过滤清洗出脏数据  -----------start
            int i=0;
           int i=0;
            for (SignFamily signFamily : signFamilys) {
                allsize++;
                i++;
                ETLModel etlModel = new ETLModel();
                String orgCode = signFamily.getHospital();
                if (StringUtils.isEmpty(orgCode)) {

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

@ -31,6 +31,7 @@ import java.util.*;
 * 已改簽的指标执行类
 */
@Component
@Scope("prototype")
public class ChangeSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象

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

@ -32,6 +32,7 @@ import java.util.*;
 * 咨询模块的指标执行类
 */
@Component
@Scope("prototype")
public class ConsultJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
@ -105,7 +106,7 @@ public class ConsultJob implements Job {
        }
        //找出今天的咨询信息
        //  List<SignFamily> signFamilys = jdbcTemplate.queryForList(" select * from wlyy_sign_family a where  a.type =2 and a.status =100 and  a.patient_apply_date>= '"+yesterday+"' and  a.patient_apply_date< '"+now+"' and a.expenses_status=1 ",SignFamily.class);
        String sql=" select * from wlyy_consult_team a where a.type=2 and a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
        String sql=" select admin_team_code,id from wlyy_consult_team a where a.type=2 and a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
        List<ConsultTeam> consultTeams = jdbcTemplate.query(sql,new BeanPropertyRowMapper(ConsultTeam.class));
        Long cityCount = new Long(0L); //统计到市的数目

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

@ -31,9 +31,7 @@ import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import java.io.IOException;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -41,6 +39,7 @@ import java.util.*;
 * 实时统计今天的数据
 */
@Component
@Scope("prototype")
public class CurrentDayAllQuotaJob implements Job {
    @Autowired
    private SignFamilyDao signFamilyDao;

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

@ -33,6 +33,7 @@ import java.util.*;
 * 随访的指标执行类
 */
@Component
@Scope("prototype")
public class FollowUpJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象

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

@ -31,6 +31,7 @@ import java.util.*;
 * 健康指导的指标执行类
 */
@Component
@Scope("prototype")
public class HealthGuideJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
@ -106,7 +107,7 @@ public class HealthGuideJob implements Job {
            townsMap.put(town.getCode(), town);
        }
        //找出今天的健康指导信息
        String sql="SELECT * FROM wlyy_patient_health_guidance a WHERE a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
        String sql="SELECT patient,id FROM wlyy_patient_health_guidance a WHERE a.czrq>='"+daybefore+ Constant.quota_date_last+"' and a.czrq< '"+yesterday+ Constant.quota_date_last+"'";
        List<PatientHealthGuidance> patientHealthGuidances = jdbcTemplate.query(sql,new BeanPropertyRowMapper(PatientHealthGuidance .class));
        Long cityCount = new Long(0L); //统计到市的数目

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

@ -34,6 +34,7 @@ import java.util.*;
 * 健康分布统计
 */
@Component
@Scope("prototype")
public class HealthSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象

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

@ -34,6 +34,7 @@ import java.util.*;
 * 签约下按年龄分组后再按疾病统计
 */
@Component
@Scope("prototype")
public class SignAgeGroupDiseaseJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
@ -184,7 +185,7 @@ public class SignAgeGroupDiseaseJob implements Job {
                    errorCount++;
                    continue;
                }
                int age = IdCardUtil.getAgeForIdcard(idCard);//根据card解析年龄
                Integer age = IdCardUtil.getAgeForIdcard(idCard);//根据card解析年龄
                String ageCode = getAgeCode(age);//得到年龄的code
                boolean hasGXY = false;//有高血压
@ -388,7 +389,7 @@ public class SignAgeGroupDiseaseJob implements Job {
     * @param age
     * @return
     */
    public String getAgeCode(int age) {
    public String getAgeCode(Integer age) {
        if (age < 7) {
            return Constant.level_age_1;
        } else if (age >= 7 && age < 18) {

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

@ -33,6 +33,7 @@ import java.util.*;
 * 签约费用统计 增量
 */
@Component
@Scope("prototype")
public class SignExpenseStatusJob implements Job{
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象

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

@ -40,6 +40,7 @@ import java.util.*;
 * 签约的指标执行类
 */
@Component
@Scope("prototype")
public class SignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象

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

@ -31,6 +31,7 @@ import java.util.*;
 * 解约的指标执行类
 */
@Component
@Scope("prototype")
public class UnSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象

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

@ -31,6 +31,7 @@ import java.util.*;
 * 待签约的指标执行类
 */
@Component
@Scope("prototype")
public class WaitSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象

+ 35 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/service/JobService.java

@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@ -321,7 +322,40 @@ public class JobService {
        }
    }
    public void productDataByDayToDay(String start, String end) {
    public void productDataByDayToDay(String start, String end) throws Exception {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Date startDate=sdf.parse(start);
        Date endDate=sdf.parse(end);
        if(startDate.after(endDate)){
            throw new Exception("日期参数错误");
        }
        int day=daysBetween(startDate,endDate);
        for(int i=0;i<day;i++){
            productDataByOneDay(getYesterday(i,new Date()));
        }
    }
    public static String getYesterday(Integer day,Date startDate) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(startDate);
        cal.add(Calendar.DAY_OF_MONTH, day);
        String yesterday = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
        return yesterday;
    }
    public static int daysBetween(Date smdate,Date bdate) throws ParseException
    {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        smdate=sdf.parse(sdf.format(smdate));
        bdate=sdf.parse(sdf.format(bdate));
        Calendar cal = Calendar.getInstance();
        cal.setTime(smdate);
        long time1 = cal.getTimeInMillis();
        cal.setTime(bdate);
        long time2 = cal.getTimeInMillis();
        long between_days=(time2-time1)/(1000*3600*24);
        return Integer.parseInt(String.valueOf(between_days));
    }
    public static void main(String[] args) {
    }
}

+ 4 - 5
patient-co-statistics/src/main/resources/application.yml

@ -73,7 +73,7 @@ spring:
    password: ssgg
  redis:
      host: 172.19.103.47 # Redis server host.
      host: 172.19.103.88 # Redis server host.
fv:
  jdbc:
    driver: com.mysql.jdbc.Driver
@ -85,18 +85,17 @@ spring:
  profiles: prod
  datasource:
    url: jdbc:mysql://11.1.2.24:3306/wlyy?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    url: jdbc:mysql://59.61.92.94:3306/wlyy?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: wlyy
    password: jkzlehr@123
  redis:
    host: 11.1.2.20 # Redis server host.
    password: java2000_wl
    host: 120.41.253.95 # Redis server host.
fv:
  jdbc:
    driver: com.mysql.jdbc.Driver
    url: jdbc:mysql://11.1.2.24:3306/fv?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
    url: jdbc:mysql://59.61.92.94:3306/wlyy?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: wlyy
    password: jkzlehr@123