Browse Source

厦门-部署文档提交

chenweida 8 years ago
parent
commit
60fe6d084b

BIN
patient-co-statistics/doc/业务文档/统计指标流程.docx


+ 6 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/dataFilter/SignDataFilter.java

@ -81,6 +81,7 @@ public class SignDataFilter {
     *
     * @param signFamilies 签约列表
     * @param level2Key    二级维度的key
     *                       1:性别 2:年龄 3:分组 4:费用 5:健康服务分布 6:年龄 7:年龄疾病
     * @param filterDate   过滤的是哪天的数据 yyyy-MM-dd
     * @return
     */
@ -93,7 +94,9 @@ public class SignDataFilter {
     *
     * @param signFamilies 签约列表
     * @param level2Key    二级维度的key
     *                       1:性别 2:年龄 3:分组 4:费用 5:健康服务分布 6:年龄 7:年龄疾病
     * @param level3Key    三级维度的key
     *                      1.疾病
     * @param filterDate   过滤的是哪天的数据 yyyy-MM-dd
     * @return
     */
@ -106,7 +109,9 @@ public class SignDataFilter {
     *
     * @param signFamilies 签约列表
     * @param level2Key    二级维度的key
     *                       1:性别 2:年龄 3:分组 4:费用 5:健康服务分布 6:年龄 7:年龄疾病
     * @param level3Key    三级维度的key
     *                      1.疾病
     * @param filterDate   过滤的是哪天的数据 yyyy-MM-dd
     * @return
     */
@ -295,7 +300,7 @@ public class SignDataFilter {
    /**
     * 得到二级维度的key
     *
     *1:性别 2:年龄 3:分组 4:费用 5:健康服务分布 6:年龄 7:年龄疾病
     * @param level2Key
     * @return
     */

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

@ -200,7 +200,10 @@ public class DBStorage   {
     * @param type 1 性别 2 年龄 3 用户分组 4.签约费用 5 健康分布
     * @param start 起始位置 默认是1
     */
    public void saveByLevel2(List<Map<String, Map<String, List<ETLModel>>>> data, String day, WlyyQuotaVO wlyyQuota,Integer foreachNum,Integer type,Integer start)throws Exception {
    public void saveByLevel2(List<Map<String, Map<String, List<ETLModel>>>> data, String day, WlyyQuotaVO wlyyQuota,
                             Integer foreachNum,
                             Integer type,
                             Integer start)throws Exception {
        this.wlyyQuota=wlyyQuota;
        level2Public(data, day, foreachNum, type, start);
    }

+ 1 - 1
patient-co-wlyy/pom.xml

@ -75,7 +75,7 @@
        <dependency>
            <groupId>com.yihu</groupId>
            <artifactId>java-ffmpegjave</artifactId>
            <artifactId>jave-ffmpegjave</artifactId>
            <version>1.0.4</version>
        </dependency>

+ 4 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/doctor/DoctorWorkTimeDao.java

@ -5,6 +5,8 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by lyr on 2016/08/19.
 */
@ -19,5 +21,6 @@ public interface DoctorWorkTimeDao extends PagingAndSortingRepository<WlyyDoctor
    @Query("select a from WlyyDoctorWorkTime a where a.doctor = ?1")
    WlyyDoctorWorkTime findDoctorWorkTime(String doctor);
    @Query("select a from WlyyDoctorWorkTime a where a.doctor = ?1")
    List<WlyyDoctorWorkTime> findDoctorWorkTimes(String doctor);
}

+ 11 - 5
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -105,6 +105,8 @@ public class DoctorInfoService extends BaseService {
    WeiXinAccessTokenUtils accessTokenUtils;
    @Autowired
    protected OperatorLogDao operatorLogDao;
    @Autowired
    private DoctorWorkTimeService doctorWorkTimeService;
    /**
     * 获取医生的签约病人
@ -629,10 +631,14 @@ public class DoctorInfoService extends BaseService {
    public void setFamous(String doctorCode, Integer status) {
        Doctor doctor = doctorDao.findByCode(doctorCode);
        //如果是空或者大于1 默认是关闭名医
        if (status == null || status > 1) {
        if (status == null || status > 1 || status == 0) {
            status = 0;
            doctor.setIsFamous(status);
            //更新医生改成可以接受咨询
            doctorWorkTimeService.updateDoctorWorkTime(doctorCode);
        } else {
            doctor.setIsFamous(status);
        }
        doctor.setIsFamous(status);
    }
    @Transactional
@ -881,7 +887,7 @@ public class DoctorInfoService extends BaseService {
        for (int i = 0; i < patiensString.length; i++) {
            try {
                updateTeamHealthDoctor(newDoctorCode, oldDoctorCode, patiensString[i]);
                ImUtill.deleteMucUser(newDoctorCode,oldDoctorCode,patiensString[i]+"_consult_2");
                ImUtill.deleteMucUser(newDoctorCode, oldDoctorCode, patiensString[i] + "_consult_2");
                successs++;
            } catch (Exception e) {
                error++;
@ -913,7 +919,7 @@ public class DoctorInfoService extends BaseService {
                    if (updateTeamHealthDoctorAll(newDoctorCode, patient) == -1) {
                        hasNoTeam = true;
                    }
                    ImUtill.deleteMucUser(newDoctorCode,doctor,patient+"_consult_2");
                    ImUtill.deleteMucUser(newDoctorCode, doctor, patient + "_consult_2");
                } catch (Exception e) {
                    e.printStackTrace();
                }
@ -1086,7 +1092,7 @@ public class DoctorInfoService extends BaseService {
        for (int i = 0; i < patiensString.length; i++) {
            try {
                ImUtill.deleteMucUser(newDoctorCode,oldDoctorCode,patiensString[i]+"_consult_2");
                ImUtill.deleteMucUser(newDoctorCode, oldDoctorCode, patiensString[i] + "_consult_2");
                updateTeamDoctor(newDoctorCode, oldDoctorCode, patiensString[i]);
                successs++;
            } catch (Exception e) {

+ 24 - 14
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/scheduling/DoctorWorkTimeService.java

@ -40,6 +40,16 @@ public class DoctorWorkTimeService extends BaseService {
    @Autowired
    private FamousDoctorTimesRemainDao timesRemainDao;
    @Transactional
    public void updateDoctorWorkTime(String doctorCode) {
        List<WlyyDoctorWorkTime> wlyyDoctorWorkTimess = doctorWorkTimeDao.findDoctorWorkTimes(doctorCode);
        if (wlyyDoctorWorkTimess != null && wlyyDoctorWorkTimess.size() > 0) {
            wlyyDoctorWorkTimess.stream().forEach( wt->{
                wt.setReceiveConsult("1");
            });
        }
    }
    /**
     * 查询医生工作时间列表
     *
@ -58,10 +68,10 @@ public class DoctorWorkTimeService extends BaseService {
        result.put("workTime", workTime != null ? new JSONObject(workTime) : "");
        result.put("workWeeks", workWeekList != null ? new JSONArray(workWeekList) : "");
        JSONObject docJson = new JSONObject(doc);
        if(docJson.has("password")) {
        if (docJson.has("password")) {
            docJson.remove("password");
        }
        if(docJson.has("salt")) {
        if (docJson.has("salt")) {
            docJson.remove("salt");
        }
        result.put("doctor", doc != null ? docJson : "");
@ -182,10 +192,10 @@ public class DoctorWorkTimeService extends BaseService {
            doctorWorkWeekDao.save(weeks);
        }
        if(doc.getIsFamous() != null && doc.getIsFamous() == 1){
            JSONObject json =  isDoctorWorkingToday(doctor);
        if (doc.getIsFamous() != null && doc.getIsFamous() == 1) {
            JSONObject json = isDoctorWorkingToday(doctor);
            if(json.getString("status").equals("1")){
            if (json.getString("status").equals("1")) {
                DoctorFamousConsultTimesRemain timesRemain = timesRemainDao.findByDoctorAndConsultDate(doctor,
                        new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
@ -375,7 +385,7 @@ public class DoctorWorkTimeService extends BaseService {
     * @return
     * @throws Exception
     */
    public JSONObject isFamousDoctorWorking(String doctor) throws Exception{
    public JSONObject isFamousDoctorWorking(String doctor) throws Exception {
        JSONObject json = new JSONObject();
        Calendar calendar = Calendar.getInstance();
        int week = calendar.get(Calendar.DAY_OF_WEEK) - 1;
@ -414,7 +424,7 @@ public class DoctorWorkTimeService extends BaseService {
                        int hour = calendar.get(Calendar.HOUR_OF_DAY);
                        int minute = calendar.get(Calendar.MINUTE);
                        String start = "";
                        String end ="";
                        String end = "";
                        String current = (hour < 10 ? ("0" + hour) : hour) + ":" + (hour < 10 ? ("0" + minute) : minute);
                        // 早上
@ -441,7 +451,7 @@ public class DoctorWorkTimeService extends BaseService {
                            if (currentEnd.length() == 4) {
                                currentEnd = "0" + currentEnd;
                            }
                            if(StringUtils.isEmpty(start)) {
                            if (StringUtils.isEmpty(start)) {
                                start = currentStart;
                            }
                            end = currentEnd;
@ -456,13 +466,13 @@ public class DoctorWorkTimeService extends BaseService {
                            if (currentEnd.length() == 4) {
                                currentEnd = "0" + currentEnd;
                            }
                            if(StringUtils.isEmpty(start)) {
                            if (StringUtils.isEmpty(start)) {
                                start = currentStart;
                            }
                            end = currentEnd;
                        }
                        if(current.compareTo(start) >= 0 && current.compareTo(end) < 0){
                        if (current.compareTo(start) >= 0 && current.compareTo(end) < 0) {
                            flag = 1;
                        }
@ -604,9 +614,9 @@ public class DoctorWorkTimeService extends BaseService {
                        if (plus >= 0) {
                            timesRemain.setTimesRemain(timesRemain.getTimesRemain() + plus);
                        } else {
                            if(workTime.getFamousConsultTimes() >= Math.abs(plus)){
                                timesRemain.setTimesRemain(timesRemain.getTimesRemain()  - Math.abs(plus));
                            }else{
                            if (workTime.getFamousConsultTimes() >= Math.abs(plus)) {
                                timesRemain.setTimesRemain(timesRemain.getTimesRemain() - Math.abs(plus));
                            } else {
                                timesRemain.setTimesRemain(0);
                            }
                        }
@ -706,7 +716,7 @@ public class DoctorWorkTimeService extends BaseService {
                    DoctorFamousConsultTimesRemain timesRemain = timesRemainDao.findByDoctorAndConsultDate(doc.getCode(), date);
                    if (timesRemain == null) {
                        timesRemain = new DoctorFamousConsultTimesRemain();
                    }else{
                    } else {
                        continue;
                    }
                    timesRemain.setDoctor(doc.getCode());