ソースを参照

温湿度预警

chenjiasheng 3 年 前
コミット
02d1fa642c

+ 14 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/open/nologin/ServiceNoLoginEndPoint.java

@ -3,10 +3,12 @@ package com.yihu.jw.base.endpoint.open.nologin;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.service.a3service.MedicineOrderService;
import com.yihu.jw.base.service.a3service.MedicineWarrayService;
import com.yihu.jw.base.service.a3service.MedicinedeviceService;
import com.yihu.jw.base.service.advrtisement.AdvertisementLaunchService;
import com.yihu.jw.base.util.ConstantUtils;
import com.yihu.jw.entity.a1entity.MedicineShipmentLog;
import com.yihu.jw.entity.a1entity.Mediicinewarray;
import com.yihu.jw.entity.adv.AdvertisementLaunchDO;
import com.yihu.jw.entity.adv.AdvertisementPuttingAdminDO;
import com.yihu.jw.restmodel.web.Envelop;
@ -22,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
@ -42,6 +45,9 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
    @Autowired
    MedicinedeviceService deviceService;
    @Autowired
    MedicineWarrayService warrayService;
    @GetMapping(value = "/devinfo")
    @ApiOperation(value = "获取单个设备上的所有广告")
    public Envelop solo(
@ -176,7 +182,14 @@ public class ServiceNoLoginEndPoint extends EnvelopRestEndpoint {
            @RequestParam(value = "humidity", required = false) Float humidity,
            @ApiParam(name = "type",value = "故障类型",required = false)
            @RequestParam(value = "type",required = false)String type) throws Exception {
        return success(deviceService.uploadDeviceInfo(equNum,temperature,humidity,type));
        Map<String,Object> mediicinewarray = warrayService.warning(equNum,temperature,humidity,type);
        if (mediicinewarray==null){
            return failed("请确认设备编码是否正确");
        }
        if (mediicinewarray.get("msg")==null){
            return success("设备正常");
        }
        return success(mediicinewarray.get("msg"));
    }
}

+ 42 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/a3service/MedicineWarrayService.java

@ -4,9 +4,11 @@ package com.yihu.jw.base.service.a3service;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.base.dao.a2dao.MediicineDeviceDao;
import com.yihu.jw.base.dao.a2dao.MediicinestoreDao;
import com.yihu.jw.base.dao.a2dao.MediicinewarrayDao;
import com.yihu.jw.base.util.JavaBeanUtils;
import com.yihu.jw.entity.a1entity.Mediicinedevice;
import com.yihu.jw.entity.a1entity.Mediicinestore;
import com.yihu.jw.entity.a1entity.Mediicinewarray;
import com.yihu.jw.util.date.DateUtil;
@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@ -31,6 +34,11 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
    private MediicinewarrayDao warrayDao;
    @Autowired
    private ObjectMapper objectMapper;
    @Autowired
    private MediicineDeviceDao deviceDao;
    @Autowired
    private MedicinedeviceService medicinedeviceService;
    @Autowired
@ -721,4 +729,38 @@ public class MedicineWarrayService extends BaseJpaService<Mediicinewarray, Medii
        Date endDate = DateUtil.strToDateShort(end);
        return   warrayDao.getexceed( idDevice, equClass, networkStatus, durationebeg, durationend, codename,startDate,endDate);
    }
    public Map<String,Object> warning(String equNum, Float temperature, Float humidity ,String type) {
        Map<String,Object> result=new HashMap<>();
        Mediicinedevice mediicinedevice=deviceDao.findMediicinedeviceByEquNum(equNum);
        type = "";
        if (mediicinedevice==null){
            return null;
        }
        if (!StringUtils.isEmpty(mediicinedevice.getWarningTemperatureHeight())&&!StringUtils.isEmpty(mediicinedevice.getWarningTemperatureLow())){
            Float temperatureHeight= Float.parseFloat(mediicinedevice.getWarningTemperatureHeight());
            Float temperatureLow = Float.parseFloat(mediicinedevice.getWarningTemperatureLow());
            if (mediicinedevice.getTemperaturecontrol().equalsIgnoreCase("1")){
                if(temperature!=null&&(temperature>temperatureHeight||temperature<temperatureLow)){
                    type="温度异常";
                }
            }
        }
        if (!StringUtils.isEmpty(mediicinedevice.getWaringHumidityHeight())&&!StringUtils.isEmpty(mediicinedevice.getWaringHumidityLow())){
            Float humidityHeight = Float.parseFloat(mediicinedevice.getWaringHumidityHeight());
            Float humidityLow = Float.parseFloat(mediicinedevice.getWaringHumidityLow());
            if (mediicinedevice.getHumiditycontrol().equalsIgnoreCase("1")){
                if (humidity!=null&&(humidity>humidityHeight||humidity<humidityLow)){
                    type += "湿度异常";
                }
            }
        }
        if (!StringUtils.isEmpty(type)) {
            Mediicinewarray mediicinewarray = medicinedeviceService.uploadDeviceInfo(equNum, temperature, humidity, type);
            result.put("msg",mediicinewarray);
            return result;
        }
        result.put("msg",null);
        return result;
    }
}