suqinyi 1 rok temu
rodzic
commit
f992ded9bd

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/iot/device/IotDeviceDO.java

@ -101,6 +101,17 @@ public class IotDeviceDO extends UuidIdentityEntity implements Serializable {
    private String updateUser;
    private String updateUserName;
    @Column(name = "device_unique_code")
    private String deviceUniqueCode;//设备唯一码'
    public String getDeviceUniqueCode() {
        return deviceUniqueCode;
    }
    public void setDeviceUniqueCode(String deviceUniqueCode) {
        this.deviceUniqueCode = deviceUniqueCode;
    }
    public enum DeviceStatus {
        normal("正常", "1"),
        scrap("报废", "2"),

+ 58 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/iot/device/IotPatientDeviceDO.java

@ -65,12 +65,16 @@ public class IotPatientDeviceDO extends UuidIdentityEntityWithOperator implement
    @Column(name = "property_name")
    private String propertyName; //设备通用名称
    @Column(name = "property_combination")
    private String propertyCombination;  //组合访视
    @Column(name = "property_use")
    private String propertyUse;//用途
    @Column(name = "property_network")
    private String propertyNetwork;//网络传输
    @Column(name = "property_location")
    private String propertyLocation;//投放位置
@ -88,6 +92,60 @@ public class IotPatientDeviceDO extends UuidIdentityEntityWithOperator implement
    @Column(name = "receive_org_address")
    private String  receiveOrgAddress;//领用机构电话
    @Column(name = "iot_iccid")
    private String  iotIccid;//物联网卡ICCID
    @Column(name = "iot_imsi")
    private String  iotImsi;//物联网卡IMSI
    @Column(name = "device_unique_code")
    private String  deviceUniqueCode;//设备唯一码
    @Column(name = "product_id")
    private String productId;//产品id
    @Column(name = "product_name")
    private String productName;//产品名称
    public String getProductName() {
        return productName;
    }
    public void setProductName(String productName) {
        this.productName = productName;
    }
    public String getProductId() {
        return productId;
    }
    public void setProductId(String productId) {
        this.productId = productId;
    }
    public String getDeviceUniqueCode() {
        return deviceUniqueCode;
    }
    public void setDeviceUniqueCode(String deviceUniqueCode) {
        this.deviceUniqueCode = deviceUniqueCode;
    }
    public String getIotIccid() {
        return iotIccid;
    }
    public void setIotIccid(String iotIccid) {
        this.iotIccid = iotIccid;
    }
    public String getIotImsi() {
        return iotImsi;
    }
    public void setIotImsi(String iotImsi) {
        this.iotImsi = iotImsi;
    }
    public String getAddress() {
        return address;
    }

+ 55 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/iot/device/IotPatientDeviceVO.java

@ -5,6 +5,7 @@ import com.yihu.jw.restmodel.iot.common.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.persistence.Column;
import java.io.Serializable;
/**
@ -79,6 +80,60 @@ public class IotPatientDeviceVO extends BaseVO implements Serializable {
    @ApiModelProperty("投放位置")
    private String propertyLocation;
    @ApiModelProperty("物联网卡ICCID")
    private String  iotIccid;
    @ApiModelProperty("物联网卡IMSI")
    private String  iotImsi;
    @ApiModelProperty("设备唯一码")
    private String  deviceUniqueCode;
    @ApiModelProperty(name = "product_id")
    private String productId;//产品id
    @ApiModelProperty(name = "product_name")
    private String productName;//产品名称
    public String getProductName() {
        return productName;
    }
    public void setProductName(String productName) {
        this.productName = productName;
    }
    public String getProductId() {
        return productId;
    }
    public void setProductId(String productId) {
        this.productId = productId;
    }
    public String getDeviceUniqueCode() {
        return deviceUniqueCode;
    }
    public void setDeviceUniqueCode(String deviceUniqueCode) {
        this.deviceUniqueCode = deviceUniqueCode;
    }
    public String getIotImsi() {
        return iotImsi;
    }
    public void setIotImsi(String iotImsi) {
        this.iotImsi = iotImsi;
    }
    public String getIotIccid() {
        return iotIccid;
    }
    public void setIotIccid(String iotIccid) {
        this.iotIccid = iotIccid;
    }
    public String getPatient() {
        return patient;
    }

+ 49 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/iot/product/IotProductBaseInfoPropertyVO.java

@ -23,21 +23,70 @@ public class IotProductBaseInfoPropertyVO extends BaseVO implements Serializable
    @ApiModelProperty("产品id")
    private String productId;
    @ApiModelProperty("设备通用名")
    private String name;
    private String nameCode;
    @ApiModelProperty("组合方式")
    private String combination;
    private String combinationCode;
    @ApiModelProperty("用途")
    private String deviceUse;
    private String deviceUseCode;
    @ApiModelProperty("网络传输")
    private String network;
    private String networkCode;
    @ApiModelProperty("投放位置")
    private String location;
    private String locationCode;
    @ApiModelProperty("数据采集字典")
    private String dictionaries;
    public String getNameCode() {
        return nameCode;
    }
    public void setNameCode(String nameCode) {
        this.nameCode = nameCode;
    }
    public String getCombinationCode() {
        return combinationCode;
    }
    public void setCombinationCode(String combinationCode) {
        this.combinationCode = combinationCode;
    }
    public String getDeviceUseCode() {
        return deviceUseCode;
    }
    public void setDeviceUseCode(String deviceUseCode) {
        this.deviceUseCode = deviceUseCode;
    }
    public String getNetworkCode() {
        return networkCode;
    }
    public void setNetworkCode(String networkCode) {
        this.networkCode = networkCode;
    }
    public String getLocationCode() {
        return locationCode;
    }
    public void setLocationCode(String locationCode) {
        this.locationCode = locationCode;
    }
    @Override
    public String getId() {
        return id;

+ 10 - 8
svr/svr-iot/src/main/java/com/yihu/iot/controller/device/IotDeviceController.java

@ -274,16 +274,22 @@ public class IotDeviceController extends EnvelopRestEndpoint {
    @GetMapping(value = IotRequestMapping.Device.api_findByDeviceSn)
    @ApiOperation(value = "根据sn查找设备", notes = "根据sn查找设备")
    public MixEnvelop<IotDeviceVO, IotDeviceVO> findByDeviceSn(
            @ApiParam(name = "deviceSn", value = "设备sn码") @RequestParam(value = "deviceSn", required = true) String deviceSn,
            @ApiParam(name = "deviceSn", value = "设备sn码") @RequestParam(value = "deviceSn", required = false) String deviceSn,
            @ApiParam(name = "productId", value = "产品id") @RequestParam(value = "productId", required = false) String productId,
            @ApiParam(name = "hospital", value = "单位") @RequestParam(value = "hospital", required = false) String hospital
            @ApiParam(name = "hospital", value = "单位") @RequestParam(value = "hospital", required = false) String hospital,
            @ApiParam(name = "deviceUniqueCode", value = "设备唯一码") @RequestParam(value = "deviceUniqueCode", required = false) String deviceUniqueCode
    ) {
        try {
            IotDeviceDO iotDeviceDO;
            IotDeviceDO iotDeviceDO =null;
            if(StringUtils.isNotEmpty(hospital)){
                iotDeviceDO = iotDeviceService.findDeviceBySn(deviceSn,productId,hospital);
            }else{
                iotDeviceDO = iotDeviceService.findByDeviceSn(deviceSn);
                if (StringUtils.isNotBlank(deviceSn)){
                    iotDeviceDO = iotDeviceService.findByDeviceSn(deviceSn);
                }
                if (StringUtils.isNotBlank(deviceUniqueCode)){
                    iotDeviceDO = iotDeviceService.findByDeviceUniqueCode(deviceUniqueCode);
                }
            }
            IotDeviceVO iotDeviceVO = convertToModel(iotDeviceDO,IotDeviceVO.class);
            return MixEnvelop.getSuccess(IotRequestMapping.Device.message_success_find, iotDeviceVO);
@ -311,10 +317,6 @@ public class IotDeviceController extends EnvelopRestEndpoint {
    }
    /*@PostMapping(value = IotRequestMapping.Device.uploadDeviceInfo)
    @ApiOperation(value = "导入设备sn码相关信息", notes = "导入设备sn码相关信息")
    public MixEnvelop<IotDeviceImportVO, IotDeviceImportVO> uploadStream(@ApiParam(value = "文件", required = true)

+ 2 - 1
svr/svr-iot/src/main/java/com/yihu/iot/dao/device/IotDeviceDao.java

@ -52,5 +52,6 @@ public interface IotDeviceDao extends PagingAndSortingRepository<IotDeviceDO, St
    @Query("update IotDeviceDO w set w.del = ?2 where w.id = ?1 ")
    void updateDelById(String id, int del);
    @Query("from IotDeviceDO w where w.deviceUniqueCode =?1 and w.del=1")
    IotDeviceDO findByDeviceUniqueCode(String deviceUniqueCode);
}

+ 1 - 1
svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductBaseInfoDao.java

@ -25,5 +25,5 @@ public interface IotProductBaseInfoDao extends PagingAndSortingRepository<IotPro
    @Modifying
    @Query("UPDATE IotProductBaseInfoDO SET property = ?2  WHERE id = ?1")
    boolean updateProperty(String productId, String property);
    int updateProperty(String productId, String property);
}

+ 4 - 0
svr/svr-iot/src/main/java/com/yihu/iot/dao/product/IotProductBaseInfoPropertyDao.java

@ -2,6 +2,7 @@ package com.yihu.iot.dao.product;
import com.yihu.jw.entity.iot.product.IotProductBaseInfoPropertyDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
@ -16,4 +17,7 @@ public interface IotProductBaseInfoPropertyDao extends PagingAndSortingRepositor
    @Query("FROM IotProductBaseInfoPropertyDO d WHERE  d.productId = ?1 ")
    IotProductBaseInfoPropertyDO findProductPropertyByProductId(String productId);
    @Modifying
    @Query("delete from IotProductBaseInfoPropertyDO  where productId=?1  ")
    void deleteByProductId(String productId);
}

+ 12 - 0
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotDeviceService.java

@ -433,6 +433,18 @@ public class IotDeviceService extends BaseJpaService<IotDeviceDO, IotDeviceDao>
        return iotDeviceDao.findByDeviceSn(deviceSn);
    }
    /**
     * 根据设备唯一码查找设备
     *
     * @param deviceUniqueCode
     * @return
     */
    public IotDeviceDO findByDeviceUniqueCode(String deviceUniqueCode) {
        return iotDeviceDao.findByDeviceUniqueCode(deviceUniqueCode);
    }
    /**
     * 根据设备序列号查找设备
     *

+ 10 - 7
svr/svr-iot/src/main/java/com/yihu/iot/service/device/IotPatientDeviceService.java

@ -711,12 +711,12 @@ public class IotPatientDeviceService extends BaseJpaService<IotPatientDeviceDO,
            String hospitalName, Integer isDel, Integer page, Integer pageSize,
            String propertyName, String propertyCombination, String propertyUse, String propertyNetwork, String propertyLocation, String deviceStatus) {
        String sql = "SELECT DISTINCT\n" +
                "	d.*,\n" +
                "	a.`name` propertyName,\n" +
                "	a.`combination` propertyCombination,\n" +
                "	a.`device_use` propertyUse,\n" +
                "	a.`network` propertyNetwork,\n" +
                "	a.`location` propertyLocation \n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Device_common_name' AND q.`dict_code`=a.`name` )\"propertyName\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Combination_method' AND q.`dict_code`=a.`combination` )\"propertyCombination\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='device_use' AND q.`dict_code`=a.`device_use` )\"propertyUse\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Network_transmission' AND q.`dict_code`=a.`network` )\"propertyNetwork\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Drop_location' AND q.`dict_code`=a.`location` )\"propertyLocation\", " +
                "	d.*\n" +
                "FROM\n" +
                "	`iot_patient_device` d\n" +
                "	LEFT JOIN iot_device b ON b.device_sn=d.device_sn\n" +
@ -769,8 +769,11 @@ public class IotPatientDeviceService extends BaseJpaService<IotPatientDeviceDO,
        //数据权限过滤
        List<String> orgList = orgUserService.getUserOrgById(userAgent.getUID());
        if (!orgList.contains(userAgent.commonHospital)) {
            sql += " and d.hospital in (" + orgUserService.getUserOrg(orgList) + ") ";
            if (!orgList.isEmpty()){
                sql += " and d.hospital in (" + orgUserService.getUserOrg(orgList) + ") ";
            }
        }
        sql += "order by d.update_time desc ";
        //判断是否需要分页
        if (page != null && pageSize != null) {

+ 7 - 2
svr/svr-iot/src/main/java/com/yihu/iot/service/device/WlyyDeviceService.java

@ -330,8 +330,13 @@ public class WlyyDeviceService {
        String sql = "SELECT d.id as id,d.device_id as deviceId,d.user as user,p.name as userName,d.category_code as categoryCode,d.device_name as deviceName," +
                " d.device_sn as deviceSn,d.sim as sim,d.user_type as userType,p.mobile," +
                " CONCAT(LEFT (p.idcard,6),'**********',RIGHT (p.idcard,2)) userIdcard,d.czrq as czrq,s.doctor,s.doctor_name doctorName, " +
                " a.`name` \"propertyName\",a.`combination` \"propertyCombination\" ," +
                " a.`device_use` \"propertyUse\",a.`network`\"propertyNetwork\",a.`location` \"propertyLocation\"" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Device_common_name' AND q.`dict_code`=a.`name` )\"propertyName\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Combination_method' AND q.`dict_code`=a.`combination` )\"propertyCombination\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='device_use' AND q.`dict_code`=a.`device_use` )\"propertyUse\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Network_transmission' AND q.`dict_code`=a.`network` )\"propertyNetwork\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Drop_location' AND q.`dict_code`=a.`location` )\"propertyLocation\" " +
                " FROM wlyy.wlyy_patient_device d " +
                " INNER JOIN wlyy.wlyy_patient p ON d.`user`=p.CODE " +
                " LEFT JOIN wlyy.wlyy_sign_family s on d.`user` = s. patient and s.`status`>0 " +

+ 33 - 8
svr/svr-iot/src/main/java/com/yihu/iot/service/product/IotProductBaseInfoPropertyService.java

@ -1,20 +1,19 @@
package com.yihu.iot.service.product;
import com.yihu.iot.dao.product.IotProductBaseInfoDao;
import com.yihu.iot.dao.product.IotProductBaseInfoPropertyDao;
import com.yihu.jw.entity.iot.product.IotProductBaseInfoDO;
import com.yihu.jw.entity.iot.product.IotProductBaseInfoPropertyDO;
import com.yihu.jw.restmodel.iot.device.WlyyPatientDeviceVO;
import com.yihu.jw.restmodel.iot.product.IotProductBaseInfoPropertyVO;
import com.yihu.jw.restmodel.iot.product.IotProductBaseInfoVO;
import com.yihu.jw.restmodel.iot.product.IotProductVO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.iot.IotRequestMapping;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import static cn.hutool.core.util.ObjectUtil.hasEmpty;
import java.util.List;
/**
 * 类描述:
@ -53,7 +52,7 @@ public class IotProductBaseInfoPropertyService extends BaseJpaService<IotProduct
     */
    public MixEnvelop<IotProductBaseInfoPropertyVO, IotProductBaseInfoPropertyVO> update(IotProductBaseInfoPropertyVO iotProductBaseInfoPropertyVO) {
        IotProductBaseInfoPropertyDO iotProductBaseInfoPropertyDO = convertToModel(iotProductBaseInfoPropertyVO, IotProductBaseInfoPropertyDO.class);
        iotProductBaseInfoPropertyDao.delete(iotProductBaseInfoPropertyVO.getId());//主键删除
        iotProductBaseInfoPropertyDao.deleteByProductId(iotProductBaseInfoPropertyVO.getProductId());
        iotProductBaseInfoPropertyDao.save(iotProductBaseInfoPropertyDO);
        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_update);
    }
@ -81,7 +80,33 @@ public class IotProductBaseInfoPropertyService extends BaseJpaService<IotProduct
     * @date 2023/5/5 16:47
     */
    public IotProductBaseInfoPropertyVO findProductPropertyByProductId(String productId) {
        IotProductBaseInfoPropertyDO res = iotProductBaseInfoPropertyDao.findProductPropertyByProductId(productId);
        return convertToModel(res, IotProductBaseInfoPropertyVO.class);
        String sql="SELECT\n" +
                "a.id,\n" +
                "a.product_id \"productId\",\n" +
                "a.`name` \"nameCode\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Device_common_name' AND q.`dict_code`=a.`name` ) \"name\", \n" +
                "a.`combination` \"combinationCode\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Combination_method' AND q.`dict_code`=a.`combination` )\"combination\", \n" +
                "a.`device_use` \"deviceUseCode\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='device_use' AND q.`dict_code`=a.`device_use` )\"deviceUse\", \n" +
                "a.`network` \"networkCode\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Network_transmission' AND q.`dict_code`=a.`network` )\"network\", \n" +
                "a.`location` \"locationCode\",\n" +
                "(SELECT q.`dict_value` FROM `iot-base`.wlyy_hospital_sys_dict q WHERE q.dict_name='Drop_location' AND q.`dict_code`=a.`location` )\"location\",\n" +
                "a.dictionaries\n" +
                "FROM\n" +
                "	iot_product_base_info_property a" +
                " where 1=1 ";
        if (StringUtils.isNotBlank(productId)){
            sql += " and a.product_id='"+productId+"'";
        }
        List<IotProductBaseInfoPropertyVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(IotProductBaseInfoPropertyVO.class));
        if (list.isEmpty()){
            return null;
        }else {
            return list.get(0);
        }
    }
}

+ 1 - 1
svr/svr-iot/src/main/java/com/yihu/iot/service/product/IotProductBaseInfoService.java

@ -435,7 +435,7 @@ public class IotProductBaseInfoService extends BaseJpaService<IotProductBaseInfo
     * @author cx
     * @date 2023/5/5 16:12
     */
    public boolean updateProperty(String productId,String property) {
    public int updateProperty(String productId,String property) {
       return iotProductBaseInfoDao.updateProperty(productId, property);
    }