Ver código fonte

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

liubing 3 anos atrás
pai
commit
92356fa08c

+ 11 - 0
common/common-entity/sql记录

@ -1377,3 +1377,14 @@ alter table base_security_monitoring_order add COLUMN warn_info varchar(3000) DE
-- 20210825
alter table wlyy_devices add COLUMN contact_status_time datetime DEFAULT NULL COMMENT '失联状态更新时间';
alter table wlyy_devices add COLUMN contact_status tinyint(2) DEFAULT NULL COMMENT '失联状态 1未失联 0失联';
-- 20210826
CREATE TABLE `base_yxdevice_index` (
  `id` varchar(50) NOT NULL,
  `sn` varchar(50) DEFAULT NULL COMMENT '设备sn码',
  `lat` varchar(50) DEFAULT NULL COMMENT '纬度',
  `lon` varchar(50) DEFAULT NULL COMMENT '经度',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='云芯拐杖设备上传记录';

+ 1 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/BasePatientDO.java

@ -272,7 +272,7 @@ public class BasePatientDO extends UuidIdentityEntityWithOperator {
    private String medicareNumber;//医疗保险号
    private Integer archiveStatus;//档案状态【1.未管理 2.死亡 3.正常 4.高危】【必填】
    private Integer archiveType;// 档案类型 1老人 2新生儿
    private Integer archiveType;// 档案类型 1老人 2新生儿 3老人家属
    private String archiveStatusName;
    private String archiveTypeName;

+ 46 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/device/BaseYxDeviceIndex.java

@ -0,0 +1,46 @@
package com.yihu.jw.entity.care.device;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created with IntelliJ IDEA.
 * 云芯拐杖设备上传记录
 * @Author: yeshijie
 * @Date: 2021/8/26
 * @Description:
 */
@Entity
@Table(name = "base_yxdevice_index")
public class BaseYxDeviceIndex extends UuidIdentityEntityWithCreateTime{
    private String sn;//设备sn码
    private String lat;//纬度
    private String lon;//经度
    public String getSn() {
        return sn;
    }
    public void setSn(String sn) {
        this.sn = sn;
    }
    public String getLat() {
        return lat;
    }
    public void setLat(String lat) {
        this.lat = lat;
    }
    public String getLon() {
        return lon;
    }
    public void setLon(String lon) {
        this.lon = lon;
    }
}

+ 18 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/BaseController.java

@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.entity.base.dict.BaseExceptionDictDO;
import com.yihu.jw.entity.iot.gateway.IdEntity;
import com.yihu.jw.restmodel.exception.dao.BaseExceptionDictDao;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.util.date.DateUtil;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
@ -80,6 +79,24 @@ public class BaseController {
        }
    }
    /**
     * 获取代理人的code
     * 老人亲属
     * @return
     */
    public String getAgentUID() {
        try {
            String userAgent = request.getHeader("userAgent");
            if (StringUtils.isEmpty(userAgent)) {
                userAgent = request.getHeader("User-Agent");
            }
            JSONObject json = new JSONObject(userAgent);
            return json.getString("agent");
        } catch (Exception e) {
            return null;
        }
    }
    /**
     * 获取平台端

+ 10 - 5
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/DeviceDetailService.java

@ -61,10 +61,9 @@ public class DeviceDetailService extends BaseJpaService<DeviceDetail, DeviceDeta
	 * @param isFirst
	 * @throws Exception
	 */
	@Transactional
	@Transactional(rollbackFor = Exception.class)
	public void updateAfterBinding(DevicePatientDevice devicePatientDevice, Date grantTime, boolean isFirst)throws Exception{
		DeviceDetail deviceDetail = deviceDetailDao.findBySn(devicePatientDevice.getDeviceSn());
		int bind = null==deviceDetail.getIsBinding()?0:deviceDetail.getIsBinding();
		long adminTeam=0L;
		String hospital = "";
		String isFirstBind = "";
@ -77,8 +76,12 @@ public class DeviceDetailService extends BaseJpaService<DeviceDetail, DeviceDeta
		}
		//设备表没有数据则插入一条数据
		if (deviceDetail==null){
			insertDevice(devicePatientDevice,String.valueOf(adminTeam),hospitalName,hospital,"",doctorCode,doctorName,1);
			deviceDetail = deviceDetailDao.findBySn(devicePatientDevice.getDeviceSn());
			deviceDetail = insertDevice(devicePatientDevice,String.valueOf(adminTeam),hospitalName,hospital,"",doctorCode,doctorName,1);
		}
		Integer bind = deviceDetail.getIsBinding();
		if(bind==null){
			bind = 0;
		}
		isFirstBind = deviceDetail.getBindingCount();
@ -116,7 +119,7 @@ public class DeviceDetailService extends BaseJpaService<DeviceDetail, DeviceDeta
	 * @param isBind 0未绑定  1已绑定
	 * @throws Exception
	 */
	public void insertDevice(DevicePatientDevice devicePatientDevice, String adminTeam, String orgName, String orgCode, String bindCount, String doctorCode, String doctorName, int isBind)throws Exception{
	public DeviceDetail insertDevice(DevicePatientDevice devicePatientDevice, String adminTeam, String orgName, String orgCode, String bindCount, String doctorCode, String doctorName, int isBind)throws Exception{
		//获取原始数据
		DeviceDetail deviceDetail = new DeviceDetail();
		BasePatientDO patient = patientDao.findById(devicePatientDevice.getUser());
@ -133,6 +136,8 @@ public class DeviceDetailService extends BaseJpaService<DeviceDetail, DeviceDeta
		deviceDetail.setOrgName(orgName);
		deviceDetail.setGrantDoctor(doctorCode);
		deviceDetail.setGrantDoctorName(doctorName);
		deviceDetail.setContactStatus(1);
		deviceDetail.setContactStatusTime(new Date());
		if (isBind>0){
			deviceDetail.setIsGrant(1);
			deviceDetail.setIsBinding(1);

+ 16 - 0
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/dao/device/BaseYxDeviceIndexDao.java

@ -0,0 +1,16 @@
package com.yihu.jw.care.dao.device;
import com.yihu.jw.entity.care.device.BaseYxDeviceIndex;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created with IntelliJ IDEA.
 *
 * @Author: yeshijie
 * @Date: 2021/8/26
 * @Description:
 */
public interface BaseYxDeviceIndexDao extends PagingAndSortingRepository<BaseYxDeviceIndex, String> {
}

+ 46 - 10
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/service/DeviceUploadService.java

@ -4,16 +4,10 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.dao.device.DeviceDetailDao;
import com.yihu.jw.care.dao.device.DeviceInfoDao;
import com.yihu.jw.care.dao.device.DevicePatientHealthIndexDao;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.device.*;
import com.yihu.jw.care.endpoint.Result;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.care.device.DeviceDetail;
import com.yihu.jw.entity.care.device.DeviceInfo;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.device.DevicePatientHealthIndex;
import com.yihu.jw.entity.care.device.*;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.im.util.ImUtil;
@ -21,7 +15,6 @@ import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.healthIndex.HealthIndexUtil;
import com.yihu.jw.utils.StringUtil;
import jdk.management.resource.internal.inst.FileOutputStreamRMHooks;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -58,6 +51,10 @@ public class DeviceUploadService {
    private HealthIndexUtil healthIndexUtil;
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private BaseYxDeviceIndexDao yxDeviceIndexDao;
    @Autowired
    private HvDeviceService hvDeviceService;
    public Result uploadDevicesData(String dataJson)throws Exception {
        try {
@ -425,10 +422,49 @@ public class DeviceUploadService {
        if (StringUtils.isBlank(message)){
            return Result.error("message is null");
        }else {
            String[] messages = message.split(",");
            parsingInstruction(message);
        }
        return Result.success("success");
    }
    /**
     * 处理指令
     * @return
     */
    public void parsingInstruction(String instructions){
        if(StringUtils.isBlank(instructions)){
            return;
        }
        String res = "";
        //位置[434036bb95761faaf8771d10029ae8eaIC*860314001160427*0113*UD,210826,093829,V,0.000000,N,0.000000,E,0.00,0.0,100.0,0,62,31,0,0,00000000,1,1,460,0,22831,259001902,62,6,wifi0,20:6b:e7:67:bf:1f,-63,wifi1,d4:9e:05:a7:60:a6,-65,wifi2,e0:d4:62:2d:67:9c,-71,wifi3,54:75:95:b9:4f:8e,-73,wifi4,e4:72:e2:aa:73:0c,-73,wifi5,e0:d4:62:2d:67:a1,-73]
        String instruct[] = instructions.split("]");
        for (int i=0;i<instruct.length;i++){
            String inst = instruct[i];
            String tmp[] = inst.split("\\*");
            String sn = tmp[1];
            String order = tmp[3];
            if(order.contains(",")){
                String tmp1[] = order.split(",");
                if("UD".equals(tmp1[0])){
                    //处理位置信息
                    String lat,lon;
                    if("A".equals(tmp1[4])){
                        lat = tmp1[5];
                        lon = tmp1[7];
                    }else{
                        lat = tmp1[4];
                        lon = tmp1[6];
                    }
                    BaseYxDeviceIndex deviceIndex = new BaseYxDeviceIndex();
                    deviceIndex.setSn(sn);
                    deviceIndex.setLat(lat);
                    deviceIndex.setLon(lon);
                    yxDeviceIndexDao.save(deviceIndex);
                    hvDeviceService.updContactStatus(sn,1);
                }
            }
        }
    }
}

+ 8 - 8
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/util/ArtemisPostTest.java

@ -250,16 +250,16 @@ public class ArtemisPostTest {
//		System.out.println("StringeResult结果示例: "+StringeResult);
//		callPostImgStringApi();
//		getDevice();
		getDevice();
//		getMonitor();
//		subscription_update("980001");
		subscription_update("980002");
		subscription_update("980003");
		subscription_update("980004");
		subscription_update("980005");
		subscription_update("980006");
		subscription_update("980007");
		subscription_update("980008");
//		subscription_update("980002");
//		subscription_update("980003");
//		subscription_update("980004");
//		subscription_update("980005");
//		subscription_update("980006");
//		subscription_update("980007");
//		subscription_update("980008");
//		addDevice("可燃气体探测器","867070036127251",2);
//		addDevice("可燃气体探测器","867070036223175",2);

+ 2 - 2
svr/svr-cloud-device/src/main/resources/application.yml

@ -169,7 +169,7 @@ baiduApi:
  AK: 0vjnCSReegE7A47a941ohjv9a07ONiMC
  url: http://api.map.baidu.com/
cloudCare:
  url: http://127.0.0.1:10301/
  url: http://ehr.yihu.com/hlwyy/cloudCare/
---
spring:
@ -269,7 +269,7 @@ baiduApi:
  url: http://api.map.baidu.com/
cloudCare:
  url: http://127.0.0.1:10301/
  url: http://ehr.yihu.com/hlwyy/cloudCare/
---
spring:
  profiles: hzprod