Explorar el Código

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

# Conflicts:
#	common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyPrescriptionExpressageLogDO.java
wangzhinan hace 4 años
padre
commit
9040f52a37

+ 3 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/OutpatientDao.java

@ -18,6 +18,9 @@ public interface OutpatientDao extends PagingAndSortingRepository<WlyyOutpatient
    @Query("from WlyyOutpatientDO a where a.patient = ?1 and a.status in(0,1)")
    List<WlyyOutpatientDO> findByPatientList(String patient);
    @Query("from WlyyOutpatientDO a where a.patient = ?1 and a.status in(3) order by a.createTime desc ")
    List<WlyyOutpatientDO> findByPatientListByStatus(String patient);
    @Query("from WlyyOutpatientDO a where a.patient = ?1 and a.hisStatus=1 and a.createTime>=?2 and a.createTime<=?3")
    List<WlyyOutpatientDO> findByPatientListNoStatus(String patient,Date startDate,Date endDate);

+ 36 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -88,8 +88,6 @@ import com.yihu.jw.wechat.enterprise.EnterpriseService;
import com.yihu.jw.wechat.service.BaseSensitiveFilterWordsService;
import com.yihu.jw.wechat.service.WxAccessTokenService;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.network.HttpResponse;
import com.yihu.utils.network.HttpUtils;
import com.yihu.utils.security.MD5;
import com.ylzinfo.ehc.EhcHandler;
import com.ylzinfo.ehc.common.utils.DateUtils;
@ -1100,11 +1098,46 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    }
    public Map<String, Object> checkOutpatient(String patient) throws Exception {
    public Map<String, Object> checkOutpatient(String patient,String wxId) throws Exception {
        //-1卡余额不足,,-2 存在未结束的诊断热 1成功
        Map<String, Object> rs = new HashedMap();
        //1.余额判断改到前端判断
        //net.sf.json.JSONObject json = entranceService.qutpatientBalance(cardNo,demoFlag);
        if (wxId.equalsIgnoreCase("xm_zsyy_wx")){
            List<WlyyOutpatientDO> outpatientDOS = outpatientDao.findByPatientListByStatus(patient);
            if (outpatientDOS!=null&&outpatientDOS.size()!=0){
                WlyyOutpatientDO outpatientDO = outpatientDOS.get(0);
                if (outpatientDO.getHisStatus()!=null&&outpatientDO.getHisStatus()!=1){
                    rs.put("outpatient", outpatientDO);
                    rs.put("code", -3);
                    rs.put("mes", "您上一次就诊未结算,请结算后才能发起复诊。");
                    List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wxId, patient);
                    if (patientWechatDos == null || patientWechatDos.size() == 0) {
                        throw new Exception("openid不存在!");
                    }
                    WxWechatDO wxWechatDO = wechatDao.findById(wxId);
                    BasePatientWechatDo patientWechatDo = patientWechatDos.get(0);
                    String payUrl = ylzPayService.createSicardPayUrl(wxWechatDO.getAppOriginId(),patientWechatDo.getOpenid(),outpatientDO.getCardNo(),"WX");
                    rs.put("payUrl",payUrl);
                    return rs;
                }else if (outpatientDO.getHisStatus()==null){
                    rs.put("outpatient", outpatientDO);
                    rs.put("code", -3);
                    rs.put("mes", "您上一次就诊未结算,请结算后才能发起复诊。");
                    List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wxId, patient);
                    if (patientWechatDos == null || patientWechatDos.size() == 0) {
                        throw new Exception("openid不存在!");
                    }
                    WxWechatDO wxWechatDO = wechatDao.findById(wxId);
                    BasePatientWechatDo patientWechatDo = patientWechatDos.get(0);
                    String payUrl = ylzPayService.createSicardPayUrl(wxWechatDO.getAppOriginId(),patientWechatDo.getOpenid(),outpatientDO.getCardNo(),"WX");
                    rs.put("payUrl",payUrl);
                    return rs;
                }
            }
        }
        //2.判断是否有未结束的
        List<WlyyOutpatientDO> list = outpatientDao.findByPatientList(patient);

+ 53 - 28
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -85,15 +85,16 @@ public class StatisticsEsService {
        SaveModel saveModel3 = null;
        //上周今天收入;
        SaveModel saveModel4 = null;
        SaveModel saveModel7 = null;
        String[] indexes = index.split(",");
        if (StringUtils.isNotEmpty(level2_type)) {
            saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, indexes[0], SaveModel.timeLevel_DDL, level2_type);
            saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, indexes[1], SaveModel.timeLevel_DDL, level2_type);
            saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, indexes[2], SaveModel.timeLevel_DDL,level2_type);
            saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, indexes[2]+",21", SaveModel.timeLevel_DDL,level2_type);
        } else {
            saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, indexes[0], SaveModel.timeLevel_DDL);
            saveModel1 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, indexes[1], SaveModel.timeLevel_DDL);
            saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, indexes[2], SaveModel.timeLevel_DDL);
            saveModel2 = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, indexes[2]+",21", SaveModel.timeLevel_DDL);
        }
        JSONObject object = new JSONObject();
        String yesterday = DateUtil.getNextDay(endDate, -1);//昨天
@ -110,8 +111,8 @@ public class StatisticsEsService {
        DecimalFormat df = new DecimalFormat("0.00");
        String str = df.format(num);
        object.put("dayPrice",str);//日均收入
        saveModel3 = elasticsearchUtil.findOneDateQuotaLevel0(yesterday, yesterday, area, level, indexes[2], SaveModel.timeLevel_DDL);
        saveModel4 = elasticsearchUtil.findOneDateQuotaLevel0(lastDay, lastDay, area, level, indexes[2], SaveModel.timeLevel_DDL);
        saveModel3 = elasticsearchUtil.findOneDateQuotaLevel0(yesterday, yesterday, area, level, indexes[2]+",21", SaveModel.timeLevel_DDL);
        saveModel4 = elasticsearchUtil.findOneDateQuotaLevel0(lastDay, lastDay, area, level, indexes[2]+",21", SaveModel.timeLevel_DDL);
        object.put("outPatientCount",saveModel.getResult2().longValue());//问诊量
        object.put("prescriptionCount",saveModel1.getResult2().longValue());//开方量
        object.put("priceTotal",saveModel2.getResult1().longValue());//总收入
@ -443,35 +444,35 @@ public class StatisticsEsService {
        if (interval==1){
            JSONArray array = dateTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
            object.put("data",array);
            JSONArray array1 = dateTotalStatistics3(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,null);
            JSONArray array1 = dateTotalStatistics3(startDate,endDate,area,level,"3,21","3",SaveModel.timeLevel_ZL,null);
            object.put("specialistData",array1);
            JSONArray array2 = dateTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
            JSONArray array2 = dateTotalStatistics3(startDate,endDate,area,level,"3,21","1",SaveModel.timeLevel_ZL,"1");
            object.put("topicData",array2);
            JSONArray array3 = dateTotalStatistics3(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
            JSONArray array3 = dateTotalStatistics3(startDate,endDate,area,level,"3,21","2",SaveModel.timeLevel_ZL,null);
            object.put("synergyData",array3);
            JSONArray array4 = dateTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
            JSONArray array4 = dateTotalStatistics3(startDate,endDate,area,level,"3,21","1",SaveModel.timeLevel_ZL,"2");
            object.put("vedioData",array4);
        }else if (interval==2){
            JSONArray array = weekTotalStatisticsDf(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
            object.put("data",array);
            JSONArray array1 = weekTotalStatistics3(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
            JSONArray array1 = weekTotalStatistics3(startDate,endDate,area,level,"3,21","3",SaveModel.timeLevel_ZL,"1");
            object.put("specialistData",array1);
            JSONArray array2 = weekTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
            JSONArray array2 = weekTotalStatistics3(startDate,endDate,area,level,"3,21","1",SaveModel.timeLevel_ZL,"1");
            object.put("topicData",array2);
            JSONArray array3 = weekTotalStatistics3(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
            JSONArray array3 = weekTotalStatistics3(startDate,endDate,area,level,"3,21","2",SaveModel.timeLevel_ZL,null);
            object.put("synergyData",array3);
            JSONArray array4 = weekTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
            JSONArray array4 = weekTotalStatistics3(startDate,endDate,area,level,"3,21","1",SaveModel.timeLevel_ZL,"2");
            object.put("vedioData",array4);
        }else if (interval==3){
            JSONArray array = monthTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
            object.put("data",array);
            JSONArray array1 = monthTotalStatistics3(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
            JSONArray array1 = monthTotalStatistics3(startDate,endDate,area,level,"3,21","3",SaveModel.timeLevel_ZL,"1");
            object.put("specialistData",array1);
            JSONArray array2 = monthTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
            JSONArray array2 = monthTotalStatistics3(startDate,endDate,area,level,"3,21","1",SaveModel.timeLevel_ZL,"1");
            object.put("topicData",array2);
            JSONArray array3 = monthTotalStatistics3(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
            JSONArray array3 = monthTotalStatistics3(startDate,endDate,area,level,"3,21","2",SaveModel.timeLevel_ZL,null);
            object.put("synergyData",array3);
            JSONArray array4 = monthTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
            JSONArray array4 = monthTotalStatistics3(startDate,endDate,area,level,"3,21","1",SaveModel.timeLevel_ZL,"2");
            object.put("vedioData",array4);
        }
        DecimalFormat decimalFormat = new DecimalFormat("0.00");
@ -4436,23 +4437,47 @@ public class StatisticsEsService {
        object.put("excelData",resultArray);
        return object;
    }
    /**
     * 日期柱状图处方变换
     *
     *
     * app端头部收入统计
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2科室
     * @param level
     * @param index
     * @param level2_type 4 医院
     * @return
     * @throws Exception
     *//*
public JSONObject changePrescriptionLineOnlyTop(String startDate, String endDate, String area, int level, String index,int interval, String level2_type,String key1,String key2) throws Exception {
    if(StringUtils.isNotBlank(key1)&&StringUtil.isBlank(key2)){
        List<SaveModel> precriptionList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "", "", level2_type);
     */
    public  JSONObject appIndexHead(String startDate, String endDate, String area, int level, String index) throws Exception {
        JSONObject object = new JSONObject();
        String nowStartDate = DateUtil.getStringDateShort();
        String monthStartDate = DateUtil.getFristDayOfMonth();
        String monthEndDate = DateUtil.getLastDayOfMonth();
        //今日收入总收入
        SaveModel nowPrice = elasticsearchUtil.findOneDateQuotaLevel0(nowStartDate, nowStartDate, area, level, index, SaveModel.timeLevel_ZL);
        object.put("nowPrice",nowPrice.getResult1());
        //本月总收入
        SaveModel nowMonthPrice = elasticsearchUtil.findOneDateQuotaLevel0(monthStartDate, monthEndDate, area, level, index, SaveModel.timeLevel_ZL);
        object.put("nowMonthPrice",nowPrice.getResult1());
        SaveModel totalPrice = elasticsearchUtil.findOneDateQuotaLevel0(nowStartDate, nowStartDate, area, level, index, SaveModel.timeLevel_DDL);
        object.put("totalPrice",totalPrice.getResult1());
        return object;
    }
    public  JSONObject appIndexCenter(String startDate, String endDate, String area, int level, String index) throws Exception {
        JSONObject object = new JSONObject();
        //图文复诊
        SaveModel topicTotal = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "12", SaveModel.timeLevel_ZL);
        object.put("topicTotal",topicTotal.getResult1());
        //视频复诊
        SaveModel videoTotal = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "16", SaveModel.timeLevel_ZL);
        object.put("videoTotal",videoTotal.getResult1());
        //专家咨询
        SaveModel specialistTotal = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "6", SaveModel.timeLevel_ZL);
        object.put("specialistTotal",specialistTotal.getResult1());
        //专科协同
        SaveModel synergyTotal = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, "14", SaveModel.timeLevel_ZL);
        object.put("synergyTotal",synergyTotal.getResult1());
        return object;
    }
    return null;
}*/
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -1325,6 +1325,8 @@ public class BaseHospitalRequestMapping {
        public static final String consultLinePC = "/consultLinePC";
        public static final String consultListPC = "/consultListPC";
        public static final String indexTotalApp = "/indexTotalApp";
        public static final String appIndexHead = "/appIndexHead";
        public static final String appIndexCenter ="/appIndexCenter";
    }

+ 60 - 7
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/statistics/EsStatisticsEndpoint.java

@ -36,7 +36,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
@ -55,7 +55,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
        JSONObject result = new JSONObject();
        logger.info("index:"+index+" and level2_type:"+level2_type+" and level:"+level);
        try {
            if (index.contains("3")){
            if (index.contains("3,21")){
                result= statisticsEsService.getOutPatientPriceLine(startDate, endDate, area, level, index, interval,level2_type);
            }else {
                result= statisticsEsService.getOutPatientLine(startDate, endDate, area, level, index, interval,level2_type);
@ -74,7 +74,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
@ -103,7 +103,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
@ -132,7 +132,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
@ -205,7 +205,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
     * @param area
     * @param level
     * @param index
     * @param level2_type 5 市  4区  3医院 2科室 1医生
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.outPatientGrade)
@ -234,7 +234,7 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
     * @param startDate
     * @param endDate
     * @param area
     * @param level 5 市  4区  3医院 2科室 1医生
     * @param level 2 市  3区  4医院 5、科室 6医生
     * @param index
     * @param level2_type 2 市  3区  4医院 5、科室 6医生
     * @return
@ -833,4 +833,57 @@ public class EsStatisticsEndpoint extends EnvelopRestEndpoint {
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5科室 6医生
     * @param index
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.appIndexHead)
    @ApiOperation(value = "app首页头部收入统计")
    public ObjEnvelop appIndexHead(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.appIndexHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
    /**
     *
     * @param startDate
     * @param endDate
     * @param area
     * @param level 2 市  3区  4医院 5科室 6医生
     * @param index
     * @return
     */
    @GetMapping(value = BaseHospitalRequestMapping.Statistics.appIndexCenter)
    @ApiOperation(value = "app首页中部门诊量统计")
    public ObjEnvelop appIndexCenter(
            @RequestParam(required = true) String startDate,
            @RequestParam(required = true) String endDate,
            @RequestParam(required = true) String area,
            @RequestParam(required = true) int level,
            @RequestParam(required = true) String index) {
        JSONObject result = new JSONObject();
        try {
            result= statisticsEsService.appIndexHead(startDate, endDate, area, level, index);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return success(result);
    }
}