Преглед на файлове

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

liubing преди 3 години
родител
ревизия
fd9ce817f3

+ 29 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/activity/ChildActivityEndpoint.java

@ -61,10 +61,12 @@ public class ChildActivityEndpoint  extends EnvelopRestEndpoint {
            @ApiParam(name = "patient", value = "居民id")
            @RequestParam(value = "patient", required = true) String patient,
            @ApiParam(name = "activityType", value = "活动类型 1小鬼来当家 2秋游去 3我喜欢我自己 4乡村音乐")
            @RequestParam(value = "activityType", required = true) String activityType
            @RequestParam(value = "activityType", required = true) String activityType,
            @ApiParam(name = "orgCode", value = "")
            @RequestParam(value = "orgCode", required = false) String orgCode
    ) {
        try {
            JSONObject result = activityRegistrationService.applyActivity(patient,activityType);
            JSONObject result = activityRegistrationService.applyActivity(patient,activityType,orgCode);
            if (result.getIntValue(ResponseContant.resultFlag) == ResponseContant.fail) {
                return ObjEnvelop.getError(result.getString(ResponseContant.resultMsg),-1);
            }
@ -73,4 +75,29 @@ public class ChildActivityEndpoint  extends EnvelopRestEndpoint {
            return failedObjEnvelopException2(e);
        }
    }
    @PostMapping(value = "cancelActivityRegist")
    @ApiOperation("取消活动申请")
    public Envelop cancelActivityRegist(@ApiParam(name = "id", value = "居民code") @RequestParam(value = "id", required = true) String id){
        try {
            activityRegistrationService.cancelActivityRegist(id);
            return success();
        }catch (Exception e){
            return failedException2(e);
        }
    }
    @PostMapping("activityClick")
    @ApiOperation(value = "幼儿活动点击")
    public Envelop applyActivity(
            @ApiParam(name = "type", value = "1活动浏览2公益课程播放")
            @RequestParam(value = "type", required = true) Integer type
        ) {
        try {
            activityRegistrationService.activityClick(type);
            return success("success");
        } catch (Exception e) {
            return failedException2(e);
        }
    }
}

+ 15 - 6
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java

@ -1,5 +1,6 @@
package com.yihu.jw.care.endpoint.statistics;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.service.assistance.EmergencyAssistanceService;
import com.yihu.jw.care.service.doctor.CareDoctorService;
@ -16,14 +17,11 @@ import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.nlpcn.es4sql.jdbc.ObjectResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * Created with IntelliJ IDEA.
@ -268,4 +266,15 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
            return failedListEnvelopException2(e);
        }
    }
    @RequestMapping(value="esDataModify",method = RequestMethod.GET)
    public ObjEnvelop esDataModify(@RequestParam(required = true) String sql,@RequestParam(required = true) String jsonStr){
        try {
            return ObjEnvelop.getSuccess("success",statisticsService.esDataModify(sql,jsonStr));
        }catch (Exception e){
           return failedObjEnvelopException2(e);
        }
    }
}

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/platForm/PatientInfoPlatFormEndpoint.java

@ -116,7 +116,7 @@ public class PatientInfoPlatFormEndpoint extends EnvelopRestEndpoint {
    }
    @GetMapping(value = "getPatientInfo")
    @ApiOperation("获取居民详情页")
    @ApiOperation("获取居民详情页--弃用")
    public ObjEnvelop getPatientInfo(@ApiParam(name="patient",value = "居民id",required = true)
                                     @RequestParam(value = "patient")String patient,
                                     @ApiParam(name="patientType",value="患者类型 1老人 2 新生儿")

+ 26 - 4
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/activity/ChildActivityRegistrationService.java

@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
@ -35,9 +36,9 @@ public class ChildActivityRegistrationService {
     * @param activityType
     * @return
     */
    public JSONObject applyActivity(String patient, String activityType){
    public JSONObject applyActivity(String patient, String activityType,String orgCode){
        JSONObject result = new JSONObject();
        ChildActivityRegistrationDO activityRegistrationDO = childActivityRegistrationDao.findByPatient(patient);
        ChildActivityRegistrationDO activityRegistrationDO = childActivityRegistrationDao.findByPatientAndActivityType(patient,activityType);
        if(activityRegistrationDO != null){
            String failMsg = "您已报名过改类型的活动,请勿重复报名!";
            result.put(ResponseContant.resultFlag, ResponseContant.fail);
@ -49,6 +50,7 @@ public class ChildActivityRegistrationService {
        activityRegistrationDO = new ChildActivityRegistrationDO();
        activityRegistrationDO.setActivityType(activityType);
        activityRegistrationDO.setPatient(patient);
        activityRegistrationDO.setOrgCode(orgCode);
        activityRegistrationDO.setPatientName(patientDO.getName());
        childActivityRegistrationDao.save(activityRegistrationDO);
@ -65,7 +67,8 @@ public class ChildActivityRegistrationService {
     * @param size
     */
    public PageEnvelop childActivityRegistrationList(String patient,String activityType, int page, int size){
        String sql = "SELECT a.activity_type activityType,a.patient,p.name,p.sex,p.idcard,p.photo from base_child_activity_registration a,base_patient p " +
        String sql = "SELECT a.id,a.activity_type activityType,a.patient,p.name,p.sex,p.idcard,p.photo,org.code,org.name,DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%S') create_time from base_child_activity_registration a " +
                "LEFT JOIN base_org org on a.org_code = org.code ,base_patient p " +
                "WHERE a.patient = p.id";
        String sqlCount = "select count(a.id) from base_child_activity_registration a,base_patient p WHERE a.patient = p.id  ";
@ -73,7 +76,7 @@ public class ChildActivityRegistrationService {
        String limit = " order by a.create_time desc limit "+page*size+","+size;
        String filter = "";
        if(StringUtils.isNotBlank(patient)){
            filter += " and a.pateint = '"+patient+"' ";
            filter += " and a.patient = '"+patient+"' ";
        }
        if(StringUtils.isNotBlank(activityType)){
            filter += " and a.activity_type = '"+activityType+"' ";
@ -92,4 +95,23 @@ public class ChildActivityRegistrationService {
        return childActivityRegistrationDao.findByPatient(patient);
    }
    /**
     * 取消活动申请
     * @param id
     */
    @Transactional
    public void cancelActivityRegist(String id){
        childActivityRegistrationDao.delete(id);
    }
    /**
     *
     * @param type 1活动浏览:居民端亲子活动banner点击数
     * @param type 2公益课程播放:视频点击数
     */
    @Transactional
    public void activityClick(Integer type){
        String sql = " UPDATE base_child_activity_click SET num = num+1 where type="+type;
        jdbcTemplate.execute(sql);
    }
}

+ 13 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/pay/PayService.java

@ -244,6 +244,10 @@ public class PayService {
        if(businessOrderDO.getStatus()!=1){
            return "订单为已支付状态时,才可申请退款";
        }
        if (0.0==businessOrderDO.getPayPrice()){
            return "订单费用为0,无法申请退款";
        }
        if("3".equals(type)){
            BaseDoorCoachOrderDO orderDO = baseDoorCoachOrderDao.findOne(orderId);
            if(6!=orderDO.getStatus()){
@ -781,7 +785,15 @@ public class PayService {
        businessOrderDO.setPayType(1);
        businessOrderDO.setPayPrice(Double.valueOf(price));
        businessOrderDO.setLastPayTime(lastPayTime);
        businessOrderService.save(businessOrderDO);
        //1.4.2 上门辅导费用0时无需支付
        if ("3".equals(type)&&0.0==price){
            businessOrderDO.setStatus(1);
            businessOrderService.save(businessOrderDO);
            doorCoachOrderService.payOrderAfter(relationCode);
        }else {
            businessOrderService.save(businessOrderDO);
        }
        return businessOrderDO;
    }

+ 3 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -440,6 +440,9 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            try {
                JSONObject monitorInfo = JSONObject.parseObject(orderDO.getWarnInfo());
                List<BaseSleepPlan> sleepPlans = sleepPlanDao.findByPatient(patientDO.getId());
                if(null==monitorInfo){
                    monitorInfo = new JSONObject();
                }
                if (sleepPlans.size()>0){
                    BaseSleepPlan sleepPlan = sleepPlans.get(0);
                    String endTime = DateUtil.getNextMin(sleepPlan.getGetUpTime(),-1);

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

@ -15,6 +15,7 @@ import com.yihu.jw.entity.base.login.BaseLoginLogDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.es.es.ElasticSearchHelperUtil;
import com.yihu.jw.es.util.ElasticsearchUtil;
import com.yihu.jw.es.util.SaveModel;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
@ -27,9 +28,11 @@ import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.StringUtils;
import org.nlpcn.es4sql.jdbc.ObjectResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -79,6 +82,12 @@ public class StatisticsService {
    private PatientDeviceDao patientDeviceDao;
    @Autowired
    private SystemMessageDao systemMessageDao;
    @Autowired
    private ElasticSearchHelperUtil elasticSearchHelper;
    @Value("${es.index.Statistics}")
    private String esIndex;
    @Value("${es.type.Statistics}")
    private String esType;
    private static final String defalutArea = "330100";
@ -95,7 +104,7 @@ public class StatisticsService {
     */
    public JSONObject statisticsTotalAmount(String endDate) throws Exception {
        JSONObject res = new JSONObject();
        String index = "28,31,35,37,39,44";
        String index = "28,31,35,37,39,44,54";
        String[] indexes = index.split(",");
        for(String ind:indexes){
            //总量
@ -124,6 +133,18 @@ public class StatisticsService {
        //评估类型
        res.put("capacityAssessment",capacityAssessment(endDate,defalutArea,defalutLevel));
        res.put("patientLabelStatistic",statisticsOrderServer("47",endDate,2,"2"));
        // 1.4.2 大屏新增活动浏览数、公益课程播放数、活动报名数
        String sql = " select type,num from base_child_activity_click where type in(1,2)";
        List<Map<String,Object>> lists = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> tmp:lists){
            Integer num = Integer.parseInt(tmp.get("num").toString());
            res.put("activity_"+tmp.get("type").toString(),num);
        }
        sql = " select count(id) as total from base_child_activity_registration ";
        Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
        res.put("activity_3",count);
        return res;
    }
@ -1404,4 +1425,45 @@ public class StatisticsService {
        }
        return null;
    }
    /**
     *
     * @param esSql
     * @param jsonStr 修改数据
     * @return
     */
    public boolean esDataModify(String esSql,String jsonStr) {
        try {
            if (StringUtils.containsIgnoreCase(esSql,"limit")){
                return false;
            }
            Boolean flag=false;
            List<SaveModel> objs = elasticsearchUtil.excute(esSql,SaveModel.class,"","");
            List<Map<String,Object>> sourceMap = new ArrayList<>();
            int i=0;
            for (SaveModel tmp:objs){
                String jsonStr1 = JSON.toJSONString(tmp);
                Map<String,Object> tmpInfo = com.alibaba.fastjson.JSONObject.parseObject(jsonStr1,Map.class);
                if (StringUtils.isNotBlank(jsonStr)){
                    Map<String,Object> modifyInfo = com.alibaba.fastjson.JSONObject.parseObject(jsonStr,Map.class);
                    for (String key:modifyInfo.keySet()){
                        tmpInfo.put(key, modifyInfo.get(key));
                    }
                    sourceMap.add(tmpInfo);
                }
                i++;
            }
            if (i>0){
                flag = elasticSearchHelper.updateByMap(esIndex,esIndex,sourceMap);//修改
            }
            return flag;
        }
        catch (Exception e){
            e.printStackTrace();
            return false;
        }
    }
}

+ 26 - 11
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceService.java

@ -277,6 +277,12 @@ public class DeviceService {
        try {
            if(StringUtils.isNotBlank(deviceid)){
                if (type==4){
                    String sqlDesc = "SELECT dict_value from wlyy_hospital_sys_dict WHERE dict_code = '"+1+"' and dict_name = 'security_server_dict' and saas_id=1 ";
                    List<Map<String,Object>> listTmp = jdbcTemplate.queryForList(sqlDesc);
                    if (listTmp!=null&&listTmp.size()>0){
                    }else{
                        return;
                    }
                    List<DevicePatientDevice> devicePatientDeviceDos = patientDeviceDao.findByDeviceSn(deviceid);
                    if (devicePatientDeviceDos.size()>0){
                        DevicePatientDevice deviceDO = devicePatientDeviceDos.get(0);
@ -646,7 +652,7 @@ public class DeviceService {
                                        planDetail.setBreath(breath);
                                        planDetail.setHeartRate(heartrate);
                                        sleepPlanDetailDao.save(planDetail);
                                        outBedOrder(null, timeDate,devicePatientDeviceDos.get(0), patient, device, "超时未起床", JSON.toJSONStringWithDateFormat(planDetail, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
                                        outBedOrder(null, timeDate,devicePatientDeviceDos.get(0), patient, device, "3", JSON.toJSONStringWithDateFormat(planDetail, "yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteMapNullValue));
                                        orderCreate = true;
                                    }
                                }
@ -661,7 +667,7 @@ public class DeviceService {
                                        planDetail.setSiestaStatus(0);
                                        planDetail.setBedStatus(0);
                                        sleepPlanDetailDao.save(planDetail);
                                        outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"超时未午睡",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                        outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"7",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                        orderCreate=true;
                                    }
                                }
@ -686,7 +692,7 @@ public class DeviceService {
                                            planDetail.setBreath(breath);
                                            planDetail.setHeartRate(heartrate);
                                            sleepPlanDetailDao.save(planDetail);
                                            outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"午睡超时未起床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                            outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"8",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                            orderCreate=true;
                                        }
                                    }
@ -727,7 +733,7 @@ public class DeviceService {
                                        planDetail.setBedStatus(1);
                                        planDetail.setSleepNightRecordList(nightRecord.findBySnPaTime(device,patient,dayTime));
                                        sleepPlanDetailDao.save(planDetail);
                                        outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"超时未上床晚休",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                        outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"6",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                        orderCreate=true;
                                    }
                                }
@ -746,7 +752,7 @@ public class DeviceService {
                                            planDetail.setSleepNightRecordList(nightRecord.findBySnPaTime(device,patient,dayTime));
                                            planDetail.setBedStatus(0);
                                            sleepPlanDetailDao.save(planDetail);
                                            outBedOrder(records.get(0),timeDate,devicePatientDeviceDos.get(0),patient,device,"起夜超时未回床",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                            outBedOrder(records.get(0),timeDate,devicePatientDeviceDos.get(0),patient,device,"4",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
                                            orderCreate=true;
                                        }
                                    }
@ -770,7 +776,7 @@ public class DeviceService {
//                                    planDetail.setHeartRate(heartrate);
//                                    planDetail.setBedStatus(1);
//                                    planDetail.setSleepNightRecordList(nightRecord.findBySnPaTime(device,patient,dayTime));
//                                    outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"心率和呼吸频率异常",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
//                                    outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"5",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
//                                    return null;
//                                }
//                            }
@ -781,7 +787,7 @@ public class DeviceService {
//                                    planDetail.setHeartRate(heartrate);
//                                    planDetail.setBedStatus(1);
//                                    planDetail.setSleepNightRecordList(nightRecord.findBySnPaTime(device,patient,dayTime));
//                                    outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"心率和呼吸频率异常",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
//                                    outBedOrder(null,timeDate,devicePatientDeviceDos.get(0),patient,device,"5",JSON.toJSONStringWithDateFormat(planDetail,"yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteMapNullValue));
//                                    return null;
//                                }
//                            }
@ -796,9 +802,18 @@ public class DeviceService {
        return null;
    }
    public void outBedOrder(BaseSleepNightRecord record,Date time_date,DevicePatientDevice patientDevice,String patient ,String device,String serverName,String warnInfo)throws Exception{
    public void outBedOrder(BaseSleepNightRecord record,Date time_date,DevicePatientDevice patientDevice,String patient ,String device,String dictCode,String warnInfo)throws Exception{
        // //夜间十二点 起床半小时后未回床 触发安防工单
            BasePatientDO patientDO = patientDao.findById(patient);
        String serveDesc = "";
        String sqlDesc = "SELECT dict_value from wlyy_hospital_sys_dict WHERE dict_code = '"+dictCode+"' and dict_name = 'security_server_dict' and saas_id=1 ";
        List<Map<String,Object>> listTmp = jdbcTemplate.queryForList(sqlDesc);
        if (listTmp!=null&&listTmp.size()>0){
            serveDesc = listTmp.get(0).get("dict_value")+"";
        }else{
            return ;
        }
        BasePatientDO patientDO = patientDao.findById(patient);
            if(null!=patientDO){
                String sql ="select DISTINCT pack.org_code,pack.org_name\n" +
                        " from base_service_package_sign_record sr,base_service_package_record pr,base_service_package_item item ,base_service_package pack\n" +
@ -823,7 +838,7 @@ public class DeviceService {
                    jsonObject.put("patient",patientDO.getId());
                    jsonObject.put("patientName",patientDO.getName());
                    jsonObject.put("patientPhone",patientDO.getMobile());
                    jsonObject.put("serveDesc",serverName);
                    jsonObject.put("serveDesc",serveDesc);
                    jsonObject.put("hospital",sqlResult.get(0).get("org_code"));
                    jsonObject.put("serveAddress",address.replace(" ",""));
                    jsonObject.put("serveLat",lat);
@ -836,7 +851,7 @@ public class DeviceService {
                    List<NameValuePair> params = new ArrayList<>();
                    params.add(new BasicNameValuePair("jsonData", jsonObjectParam.toJSONString()));
                    params.add(new BasicNameValuePair("warnStr", serverName));
                    params.add(new BasicNameValuePair("warnStr", serveDesc));
                    params.add(new BasicNameValuePair("orderSource", "5"));
                    String response = httpClientUtil.post(url, params,"UTF-8");
                    System.out.println(response);

+ 3 - 1
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/SecurityOrderUtil.java

@ -90,10 +90,12 @@ public class SecurityOrderUtil {
                }
                String serveDesc = "";
                String sqlDesc = "SELECT dict_value from wlyy_hospital_sys_dict WHERE dict_code = '"+dictCode+"' and dict_name = 'security_server_dict'";
                String sqlDesc = "SELECT dict_value from wlyy_hospital_sys_dict WHERE dict_code = '"+dictCode+"' and dict_name = 'security_server_dict' and saas_id=1 ";
                List<Map<String,Object>> listTmp = jdbcTemplate.queryForList(sqlDesc);
                if (listTmp!=null&&listTmp.size()>0){
                    serveDesc = listTmp.get(0).get("dict_value")+"";
                }else{
                    return new JSONObject();
                }
                JSONObject jsonObject = new JSONObject();