叶松
2023-11-03 2d229eef4d2b3bf972e1b4e46d027acf0d080d3b
Merge branch 'master' of http://111.30.93.211:10101/r/supipe
已修改9个文件
已添加1个文件
1590 ■■■■ 文件已修改
hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/device/entity/TBigDevice.java 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/device/service/impl/TBigDeviceServiceImpl.java 194 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/engineeringManage/src/main/resources/mapping/TBigDeviceMapper.xml 293 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/controller/HelmetController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/entity/TDataAi.java 422 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/mapper/HelmetMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/service/HelmetService.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/service/impl/HelmetServiceImpl.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/controller/TSteelPrintController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/materialsManage/src/main/resources/mapping/THelmetDeviceMapper.xml 426 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/device/entity/TBigDevice.java
@@ -1,6 +1,7 @@
package com.thhy.engineering.modules.biz.device.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thhy.general.annotations.Excel;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@@ -23,23 +24,36 @@
    /**
     * 设备名称
     */
    @Excel(sort = 1,title = "设备名称")
    private String bigDeviceName;
    /**
     * 规格型号
     */
    @Excel(sort = 2,title = "规格型号")
    private String bigDeviceModel;
    /**
     * 设备型号
     */
    @Excel(sort = 3,title = "设备编号")
    private String bigNumber;
    /**
     * 设备类型
     */
    private String bigType;
    @Excel(sort = 4,title = "设备类型")
    private String bigTypeName;
    public String getBigTypeName() {
        if ("1".equals(bigType)){
            return "特种设备";
        }else if ("2".equals(bigType)){
            return "一般设备";
        }
        return "";
    }
    /**
     * 安装位置
@@ -66,6 +80,7 @@
    /**
     * 使用年限
     */
    @Excel(sort = 8,title = "使用年限")
    private String useLife;
    /**
@@ -77,6 +92,13 @@
     * 责任人
     */
    private String userId;
    /**
     * 责任人电话
     */
    @Excel(sort = 22,title = "责任人电话")
    private String zrrPhone;
    @Excel(sort = 21,title = "责任人")
    private String realName;
@@ -120,4 +142,127 @@
     * @mbg.generated Mon May 15 16:41:32 CST 2023
     */
    private static final long serialVersionUID = 1L;
    /**
     * 分公司id
     */
    private String companyId;
    /**
     * 生产厂家
     */
    @Excel(sort = 5,title = "生产厂家")
    private String manufacturer;
    /**
     * 出厂年月
     */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(sort = 6,title = "出厂年月")
    private Date dateOfProduction;
    /**
     * 使用年月
     */
    @Excel(sort = 7,title = "使用年月")
    @JsonFormat(pattern = "yyyy-MM")
    private Date useYearMonth;
    /**
     * 外形尺寸mm(长*宽*高)
     */
    @Excel(sort = 9,title = "外形尺寸mm(长*宽*高)")
    private String shapeSize;
    /**
     * 总功率kw
     */
    @Excel(sort = 10,title = "总功率kw")
    private String totalPower;
    /**
     * 总重量kg
     */
    @Excel(sort = 11,title = "总重量kg")
    private String totalWeight;
    /**
     * 原值(元)
     */
    @Excel(sort = 12,title = "原值(元)")
    private String originalValue;
    /**
     * 年折旧率
     */
    @Excel(sort = 13,title = "年折旧率")
    private String yearDepreciationRate;
    /**
     * 已提折旧
     */
    @Excel(sort = 14,title = "已提折旧")
    private String accumulatedDepreciation;
    /**
     * 净值
     */
    @Excel(sort = 15,title = "净值(元)")
    private String netWorth;
    /**
     * 使用状况 1、良好 2、老化
     */
    private Integer useStatus;
    @Excel(sort = 16,title = "使用状况")
    private String useStatusName;
    public String getUseStatusName() {
        if (useStatus == 1){
            return "良好";
        }else if (useStatus == 2){
            return "老化";
        }
        return "";
    }
    /**
     * 是否满足需要 1是 、2否
     */
    private Integer isNeed;
    @Excel(sort = 17,title = "是否满足需要")
    private String isNeedName;
    public String getIsNeedName() {
        if (isNeed == 1){
            return "是";
        }else if (isNeed == 2){
            return "否";
        }
        return "";
    }
    /**
     * 设备来源
     */
    @Excel(sort = 18,title = "设备来源")
    private String deviceSource;
    /**
     * 设备配属关系
     */
    @Excel(sort = 19,title = "设备配属关系")
    private String deviceNexus;
    /**
     * 定机人
     */
    @Excel(sort = 20,title = "定机人")
    private String fixedPerson;
    /**
     * 管理员电话
     */
    @Excel(sort = 23,title = "管理员电话")
    private String adminPhone;
}
hd/pipe/engineeringManage/src/main/java/com/thhy/engineering/modules/biz/device/service/impl/TBigDeviceServiceImpl.java
@@ -16,6 +16,8 @@
import com.thhy.engineering.modules.biz.file.service.FileService;
import com.thhy.general.common.BasicResult;
import com.thhy.general.config.SysUserInfo;
import com.thhy.general.utils.ExcelUtils;
import com.thhy.general.utils.UUIDUtils;
import com.thhy.general.utils.UserInfoUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -24,6 +26,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -37,6 +40,7 @@
    @Resource
    private FileService fileService;
    private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
    @Override
    @Transactional
@@ -50,35 +54,40 @@
        if(!StringUtil.isEmpty(bigDeviceId)){
            return BasicResult.faild("11111","设备编号重复","error");
        }
        values.put("bigDeviceId","");
        values.put("bigDeviceId", UUIDUtils.create());
        values.put("companyId",companyId);
        values.put("createUser",sysUserInfo.getUserId());
        try {
            values.put("dateOfProduction",sdf.parse((String) values.get("dateOfProduction")));
            values.put("useYearMonth",sdf.parse((String) values.get("useYearMonth")));
        }catch (Exception e){}
        bigDeviceMapper.bigDeviceInsert(values);
        //大型生产设备id
        String bigDeviceId1 = values.get("bigDeviceId").toString();
        //图片 列表
        List<String> pictures = (List<String>) values.get("pictures");
        if(pictures!=null && pictures.size()>0){
            for (String p:pictures){
                HashMap<String, Object> val = new HashMap<>();
                val.put("bigDeviceId",bigDeviceId1);
                val.put("id","");
                val.put("fileType",1);
                val.put("filePath",p);
                bigDeviceMapper.picturesInsert(val);
            }
        }
        //文件
        List<String> files = (List<String>) values.get("files");
        if(files!=null && files.size()>0){
            for (String f:files){
                HashMap<String, Object> val = new HashMap<>();
                val.put("bigDeviceId",bigDeviceId1);
                val.put("id","");
                val.put("fileType",2);
                val.put("filePath",f);
                bigDeviceMapper.picturesInsert(val);
            }
        }
//        //大型生产设备id
//        String bigDeviceId1 = values.get("bigDeviceId").toString();
//        //图片 列表
//        List<String> pictures = (List<String>) values.get("pictures");
//        if(pictures!=null && pictures.size()>0){
//            for (String p:pictures){
//                HashMap<String, Object> val = new HashMap<>();
//                val.put("bigDeviceId",bigDeviceId1);
//                val.put("id","");
//                val.put("fileType",1);
//                val.put("filePath",p);
//                bigDeviceMapper.picturesInsert(val);
//            }
//        }
//        //文件
//        List<String> files = (List<String>) values.get("files");
//        if(files!=null && files.size()>0){
//            for (String f:files){
//                HashMap<String, Object> val = new HashMap<>();
//                val.put("bigDeviceId",bigDeviceId1);
//                val.put("id","");
//                val.put("fileType",2);
//                val.put("filePath",f);
//                bigDeviceMapper.picturesInsert(val);
//            }
//        }
        return BasicResult.success("添加成功");
    }
@@ -98,22 +107,6 @@
    @Override
    public BasicResult bigDeviceInfo(String bigDeviceId) {
        TBigDevice tBigDevices = bigDeviceMapper.bigDeviceInfo(bigDeviceId);
        List<TBigPath> bigPaths = bigDeviceMapper.devicePath(bigDeviceId);
        bigPaths.stream().forEach(fl->{
            JSONObject json = new JSONObject();
            json.put("fullpath",fl.getFilePath());
            BasicResult basicResult = fileService.fileinfo(json.toJSONString());
            if(basicResult.isSuccess()){
                JSONArray jsonArray = JSONArray.parseArray(basicResult.getData().toString());
                for(Object obj : jsonArray){
                    JSONObject j = JSON.parseObject(obj.toString());
                    if(j.containsKey("name")&&"name".equals(j.getString("name"))){
                        fl.setFilePathName(j.getString("value"));
                    }
                }
            }
        });
        tBigDevices.setTBigPaths(bigPaths);
        return BasicResult.success(tBigDevices);
    }
@@ -136,31 +129,35 @@
        if(!StringUtil.isEmpty(bigDeviceId)&&!bigDeviceId.equals(bigDeviceId1)){
            return BasicResult.faild("11111","设备编号重复","error");
        }
        bigDeviceMapper.bigDevicePathDel(bigDeviceId1);
        List<String> pictures = (List<String>) values.get("pictures");
        if(pictures!=null && pictures.size()>0){
            for (String p:pictures){
                HashMap<String, Object> val = new HashMap<>();
                val.put("bigDeviceId",bigDeviceId1);
                val.put("id","");
                val.put("fileType",1);
                val.put("filePath",p);
                bigDeviceMapper.picturesInsert(val);
            }
        }
        //文件
        List<String> files = (List<String>) values.get("files");
        if(files!=null && files.size()>0){
            for (String f:files){
                HashMap<String, Object> val = new HashMap<>();
                val.put("bigDeviceId",bigDeviceId1);
                val.put("id","");
                val.put("fileType",2);
                val.put("filePath",f);
                bigDeviceMapper.picturesInsert(val);
            }
        }
//        bigDeviceMapper.bigDevicePathDel(bigDeviceId1);
//
//        List<String> pictures = (List<String>) values.get("pictures");
//        if(pictures!=null && pictures.size()>0){
//            for (String p:pictures){
//                HashMap<String, Object> val = new HashMap<>();
//                val.put("bigDeviceId",bigDeviceId1);
//                val.put("id","");
//                val.put("fileType",1);
//                val.put("filePath",p);
//                bigDeviceMapper.picturesInsert(val);
//            }
//        }
//        //文件
//        List<String> files = (List<String>) values.get("files");
//        if(files!=null && files.size()>0){
//            for (String f:files){
//                HashMap<String, Object> val = new HashMap<>();
//                val.put("bigDeviceId",bigDeviceId1);
//                val.put("id","");
//                val.put("fileType",2);
//                val.put("filePath",f);
//                bigDeviceMapper.picturesInsert(val);
//            }
//        }
        try {
            values.put("dateOfProduction",sdf.parse((String) values.get("dateOfProduction")));
            values.put("useYearMonth",sdf.parse((String) values.get("useYearMonth")));
        }catch (Exception e){}
        bigDeviceMapper.bigDeviceUpdate(values);
        return BasicResult.success("修改成功");
    }
@@ -179,50 +176,23 @@
        String companyId = sysUserInfo.getCompanyId();
        values.put("companyId",companyId);
        List<TBigDevice> tBigDevices = bigDeviceMapper.bigDeviceList(values);
        List<BigDeviceExcelDto> bigDeviceExcelDtos = new ArrayList<>();
        for (TBigDevice bigDevice : tBigDevices){
            BigDeviceExcelDto bigDeviceExcelDto = new BigDeviceExcelDto();
            bigDeviceExcelDto.setBigDeviceName(bigDevice.getBigDeviceName());
            bigDeviceExcelDto.setBigDeviceModel(bigDevice.getBigDeviceModel());
            bigDeviceExcelDto.setBigNumber(bigDevice.getBigNumber());
            bigDeviceExcelDto.setBigTypeName(bigDevice.getBigTypeName());
            bigDeviceExcelDto.setBigPosition(bigDevice.getBigPosition());
            if(bigDevice.getBigState()!=null&&bigDevice.getBigState()==1){
                bigDeviceExcelDto.setBigState("在线");
            }else{
                bigDeviceExcelDto.setBigState("离线");
        tBigDevices.forEach(t->{
            if ("1".equals(t.getBigType())){
                t.setBigTypeName("特种设备");
            }else if ("2".equals(t.getBigType())){
                t.setBigTypeName("一般设备");
            }
            bigDeviceExcelDto.setRealName(bigDevice.getRealName());
            bigDeviceExcelDto.setSupplierName(bigDevice.getSupplierName());
            bigDeviceExcelDto.setKeyCabinet(bigDevice.getKeyCabinet());
            bigDeviceExcelDto.setUseLife(bigDevice.getUseLife());
            bigDeviceExcelDtos.add(bigDeviceExcelDto);
        }
        ExcelWriter excel = new ExcelWriter();//定义excel
        excel.addHeaderAlias("bigDeviceName", "设备名称");
        excel.addHeaderAlias("bigDeviceModel", "规格型号");
        excel.addHeaderAlias("bigNumber", "设备编号");
        excel.addHeaderAlias("bigTypeName", "设备类型");
        excel.addHeaderAlias("bigPosition", "安装位置");
        excel.addHeaderAlias("bigState", "设备状态");
        excel.addHeaderAlias("realName", "操作工人");
        excel.addHeaderAlias("supplierName", "供应商");
        excel.addHeaderAlias("keyCabinet", "钥匙柜编号");
        excel.addHeaderAlias("useLife", "使用年限");
        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.setHeader("Content-Disposition", "attachment;filename=test.xls");
        OutputStream out = null;
        try {
            out = response.getOutputStream();
            excel.write(bigDeviceExcelDtos);
            excel.flush(out, true);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭writer,释放内存
            excel.close();
        }
        IoUtil.close(out);
            if (t.getUseStatus() == 1){
                t.setUseStatusName("良好");
            }else if (t.getUseStatus() == 2){
                t.setUseStatusName("老化");
            }
            if (t.getIsNeed() == 1){
                t.setIsNeedName("是");
            }else if (t.getIsNeed() == 2){
                t.setIsNeedName("否");
            }
        });
        ExcelUtils.downExcel(tBigDevices,TBigDevice.class,response,"设备信息管理");
    }
}
hd/pipe/engineeringManage/src/main/resources/mapping/TBigDeviceMapper.xml
@@ -25,6 +25,23 @@
    <result column="is_use" jdbcType="INTEGER" property="isUse" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="create_user" jdbcType="VARCHAR" property="createUser" />
    <result column="company_id" jdbcType="VARCHAR" property="companyId" />
    <result column="manufacturer" jdbcType="VARCHAR" property="manufacturer" />
    <result column="date_of_production" jdbcType="TIMESTAMP" property="dateOfProduction" />
    <result column="use_year_month" jdbcType="TIMESTAMP" property="useYearMonth" />
    <result column="shape_size" jdbcType="VARCHAR" property="shapeSize" />
    <result column="total_power" jdbcType="VARCHAR" property="totalPower" />
    <result column="total_weight" jdbcType="VARCHAR" property="totalWeight" />
    <result column="original_value" jdbcType="VARCHAR" property="originalValue" />
    <result column="year_depreciation_rate" jdbcType="VARCHAR" property="yearDepreciationRate" />
    <result column="accumulated_depreciation" jdbcType="VARCHAR" property="accumulatedDepreciation" />
    <result column="net_worth" jdbcType="VARCHAR" property="netWorth" />
    <result column="use_status" jdbcType="INTEGER" property="useStatus" />
    <result column="is_need" jdbcType="INTEGER" property="isNeed" />
    <result column="device_source" jdbcType="VARCHAR" property="deviceSource" />
    <result column="device_nexus" jdbcType="VARCHAR" property="deviceNexus" />
    <result column="fixed_person" jdbcType="VARCHAR" property="fixedPerson" />
  </resultMap>
@@ -92,6 +109,54 @@
      <if test="companyId != null">
        company_id,
      </if>
      <if test="manufacturer != null">
        manufacturer,
      </if>
      <if test="dateOfProduction != null">
        date_of_production,
      </if>
      <if test="useYearMonth != null">
        use_year_month,
      </if>
      <if test="shapeSize != null">
        shape_size,
      </if>
      <if test="totalPower != null">
        total_power,
      </if>
      <if test="totalWeight != null">
        total_weight,
      </if>
      <if test="originalValue != null">
        original_value,
      </if>
      <if test="yearDepreciationRate != null">
        year_depreciation_rate,
      </if>
      <if test="accumulatedDepreciation != null">
        accumulated_depreciation,
      </if>
      <if test="netWorth != null">
        net_worth,
      </if>
      <if test="useStatus != null">
        use_status,
      </if>
      <if test="isNeed != null">
        is_need,
      </if>
      <if test="deviceSource != null">
        device_source,
      </if>
      <if test="deviceNexus != null">
        device_nexus,
      </if>
      <if test="fixedPerson != null">
        fixed_person,
      </if>
      <if test="adminPhone != null">
        admin_phone,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="bigDeviceId != null">
@@ -151,6 +216,55 @@
      <if test="companyId != null">
        #{companyId,jdbcType=VARCHAR},
      </if>
      <if test="manufacturer != null">
        #{manufacturer,jdbcType=VARCHAR},
      </if>
      <if test="dateOfProduction != null">
        #{dateOfProduction,jdbcType=TIMESTAMP},
      </if>
      <if test="useYearMonth != null">
        #{useYearMonth,jdbcType=TIMESTAMP},
      </if>
      <if test="shapeSize != null">
        #{shapeSize,jdbcType=VARCHAR},
      </if>
      <if test="totalPower != null">
        #{totalPower},
      </if>
      <if test="totalWeight != null">
        #{totalWeight,jdbcType=VARCHAR},
      </if>
      <if test="originalValue != null">
        #{originalValue,jdbcType=VARCHAR},
      </if>
      <if test="yearDepreciationRate != null">
        #{yearDepreciationRate,jdbcType=VARCHAR},
      </if>
      <if test="accumulatedDepreciation != null">
        #{accumulatedDepreciation,jdbcType=VARCHAR},
      </if>
      <if test="netWorth != null">
        #{netWorth,jdbcType=VARCHAR},
      </if>
      <if test="useStatus != null">
        #{useStatus,jdbcType=INTEGER},
      </if>
      <if test="isNeed != null">
        #{isNeed,jdbcType=INTEGER},
      </if>
      <if test="deviceSource != null">
        #{deviceSource,jdbcType=VARCHAR},
      </if>
      <if test="deviceNexus != null">
        #{deviceNexus,jdbcType=VARCHAR},
      </if>
      <if test="fixedPerson != null">
        #{fixedPerson,jdbcType=VARCHAR},
      </if>
      <if test="adminPhone != null">
        #{adminPhone,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>
  <insert id="picturesInsert" >
@@ -185,26 +299,57 @@
    </trim>
  </insert>
  <select id="bigDeviceList" resultType="com.thhy.engineering.modules.biz.device.entity.TBigDevice">
        SELECT
    tbd.big_device_id AS bigDeviceId,
    tbd.big_device_Name AS bigDeviceName,
    tbd.big_device_model AS bigDeviceModel,
    tbd.big_number AS bigNumber,
    sd.dict_name AS bigTypeName,
    tbd.big_position AS bigPosition,
    tbd.big_state AS bigState,
    spu.real_name AS realName,
    ss.supplier_name AS supplierName,
    tbd.key_cabinet AS keyCabinet,
    tbd.use_life AS useLife
FROM
    t_big_device tbd
    LEFT JOIN sys_dict sd ON tbd.big_type = sd.dict_id
    LEFT JOIN sys_plat_user spu ON tbd.user_id = spu.user_id
    LEFT JOIN sys_supplier ss ON tbd.supplier_id = ss.id
    where tbd.is_use=1
    SELECT
    tbd.big_device_id AS bigDeviceId,
    tbd.big_device_Name AS bigDeviceName,
    tbd.big_device_model AS bigDeviceModel,
    tbd.big_number AS bigNumber,
    sd.dict_name AS bigTypeName,
    tbd.big_position AS bigPosition,
    tbd.big_state AS bigState,
    spu.real_name AS realName,
    ss.supplier_name AS supplierName,
    tbd.key_cabinet AS keyCabinet,
    tbd.use_life AS useLife,
    tbd.purchase_time as purchaseTime,
    tbd.use_life as useLife,
    tbd.big_type as bigType,
    tbd.key_cabinet as keyCabinet,
    tbd.big_notes AS bigNotes,
    tbd.safety_code AS safetyCode,
    tbd.is_certificate AS isCertificate,
    tbd.create_time AS createTime,
    tbd.manufacturer AS manufacturer,
    tbd.date_of_production AS dateOfProduction,
    tbd.use_year_month AS useYearMonth,
    tbd.shape_size AS shapeSize,
    tbd.total_power AS totalPower,
    tbd.total_weight AS totalWeight,
    tbd.original_value AS originalValue,
    tbd.year_depreciation_rate AS yearDepreciationRate,
    tbd.accumulated_depreciation AS accumulatedDepreciation,
    tbd.net_worth AS netWorth,
    tbd.use_status AS useStatus,
    tbd.is_need AS isNeed,
    tbd.device_source AS deviceSource,
    tbd.device_nexus AS deviceNexus,
    spu.real_name AS realName,
    spu.phone AS zrrPhone,
    tbd.fixed_person AS fixedPerson,
    su.real_name AS adminRealName,
    tbd.admin_phone AS adminPhone
    FROM
    t_big_device tbd
    LEFT JOIN sys_dict sd ON tbd.big_type = sd.dict_id
    LEFT JOIN sys_plat_user spu ON tbd.user_id = spu.user_id
    LEFT JOIN sys_supplier ss ON tbd.supplier_id = ss.id
    LEFT JOIN sys_users su ON su.user_id = tbd.create_user
    where tbd.is_use=1
    <if test="bigDeviceName!=null and bigDeviceName!='' ">
        and tbd.big_device_Name like concat('%',#{bigDeviceName},'%')
    </if>
    <if test="bigNumber!=null and bigNumber!='' ">
      and tbd.big_number like concat('%',#{bigNumber},'%')
    </if>
    <if test="supplierId!=null and supplierId!='' ">
      and tbd.supplier_id=#{supplierId}
@@ -231,29 +376,48 @@
  <select id="bigDeviceInfo" parameterType="java.lang.String" resultType="com.thhy.engineering.modules.biz.device.entity.TBigDevice">
    SELECT
    tbd.big_device_id AS bigDeviceId,
    tbd.big_device_Name AS bigDeviceName,
    tbd.big_device_model AS bigDeviceModel,
    tbd.big_number AS bigNumber,
    sd.dict_name AS bigTypeName,
    tbd.big_position AS bigPosition,
    tbd.big_state AS bigState,
    spu.real_name AS realName,
    ss.supplier_name AS supplierName,
    tbd.key_cabinet AS keyCabinet,
    tbd.use_life AS useLife,
    tbd.big_type as bigType,
    tbd.supplier_id as supplierId,
    tbd.purchase_time as purchaseTime,
    tbd.big_notes as bigNotes,
    tbd.user_id as userId,
    tbd.safety_code as safetyCode,
    tbd.is_certificate as isCertificate
            tbd.big_device_id AS bigDeviceId,
            tbd.big_device_Name AS bigDeviceName,
            tbd.big_device_model AS bigDeviceModel,
            tbd.big_number AS bigNumber,
            sd.dict_name AS bigTypeName,
            tbd.big_position AS bigPosition,
            tbd.big_state AS bigState,
            spu.real_name AS realName,
            spu.phone AS zrrPhone,
            ss.supplier_name AS supplierName,
            tbd.key_cabinet AS keyCabinet,
            tbd.use_life AS useLife,
            tbd.big_type as bigType,
            tbd.supplier_id as supplierId,
            tbd.purchase_time as purchaseTime,
            tbd.big_notes as bigNotes,
            tbd.user_id as userId,
            tbd.safety_code as safetyCode,
            tbd.is_certificate as isCertificate,
            tbd.manufacturer AS manufacturer,
            tbd.date_of_production AS dateOfProduction,
            tbd.use_year_month AS useYearMonth,
            tbd.shape_size AS shapeSize,
            tbd.total_power AS totalPower,
            tbd.total_weight AS totalWeight,
            tbd.original_value AS originalValue,
            tbd.year_depreciation_rate AS yearDepreciationRate,
            tbd.accumulated_depreciation AS accumulatedDepreciation,
            tbd.net_worth AS netWorth,
            tbd.use_status AS useStatus,
            tbd.is_need AS isNeed,
            tbd.device_source AS deviceSource,
            tbd.device_nexus AS deviceNexus,
            tbd.fixed_person AS fixedPerson,
            su.real_name AS adminRealName,
            tbd.admin_phone AS adminPhone
    FROM
    t_big_device tbd
    LEFT JOIN sys_dict sd ON tbd.big_type = sd.dict_id
    LEFT JOIN sys_plat_user spu ON tbd.user_id = spu.user_id
    LEFT JOIN sys_supplier ss ON tbd.supplier_id = ss.id
            t_big_device tbd
                    LEFT JOIN sys_dict sd ON tbd.big_type = sd.dict_id
                    LEFT JOIN sys_plat_user spu ON tbd.user_id = spu.user_id
                    LEFT JOIN sys_supplier ss ON tbd.supplier_id = ss.id
                    LEFT JOIN sys_users su ON su.user_id = tbd.create_user
    where tbd.is_use=1
    and tbd.big_device_id=#{bigDeviceId}
  </select>
@@ -329,6 +493,55 @@
      <if test="createUser != null">
        create_user = #{createUser,jdbcType=VARCHAR},
      </if>
      <if test="manufacturer != null">
        manufacturer = #{manufacturer,jdbcType=VARCHAR},
      </if>
      <if test="dateOfProduction != null">
        date_of_production = #{dateOfProduction,jdbcType=TIMESTAMP},
      </if>
      <if test="useYearMonth != null">
        use_year_month = #{useYearMonth,jdbcType=TIMESTAMP},
      </if>
      <if test="shapeSize != null">
        shape_size = #{shapeSize,jdbcType=VARCHAR},
      </if>
      <if test="totalPower != null">
        total_power = #{totalPower},
      </if>
      <if test="totalWeight != null">
        total_weight = #{totalWeight,jdbcType=VARCHAR},
      </if>
      <if test="originalValue != null">
        original_value = #{originalValue,jdbcType=VARCHAR},
      </if>
      <if test="yearDepreciationRate != null">
        year_depreciation_rate = #{yearDepreciationRate,jdbcType=VARCHAR},
      </if>
      <if test="accumulatedDepreciation != null">
        accumulated_depreciation = #{accumulatedDepreciation,jdbcType=VARCHAR},
      </if>
      <if test="netWorth != null">
        net_worth = #{netWorth,jdbcType=VARCHAR},
      </if>
      <if test="useStatus != null">
        use_status = #{useStatus,jdbcType=INTEGER},
      </if>
      <if test="isNeed != null">
        is_need = #{isNeed,jdbcType=INTEGER},
      </if>
      <if test="deviceSource != null">
        device_source = #{deviceSource,jdbcType=VARCHAR},
      </if>
      <if test="deviceNexus != null">
        device_nexus = #{deviceNexus,jdbcType=VARCHAR},
      </if>
      <if test="fixedPerson != null">
        fixed_person = #{fixedPerson,jdbcType=VARCHAR},
      </if>
      <if test="adminPhone != null">
        admin_phone = #{adminPhone,jdbcType=VARCHAR},
      </if>
    </set>
    where big_device_id = #{bigDeviceId,jdbcType=VARCHAR}
  </update>
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/controller/HelmetController.java
@@ -1,5 +1,6 @@
package com.thhy.materials.modules.biz.helmet.controller;
import com.alibaba.fastjson.JSONObject;
import com.thhy.general.common.BasicResult;
import com.thhy.materials.modules.biz.helmet.service.HelmetService;
import org.apache.ibatis.annotations.Mapper;
@@ -44,10 +45,10 @@
    //接数据
    @PostMapping("/dataValueInsert")
    public BasicResult dataValueInsert(@RequestBody Map<String,Object> values){
        return helmetService.dataValueInsert(values);
    //接数据 环境监测 数据
    @PostMapping("/dataValueIn")
    public BasicResult dataValueIn(@RequestBody Map<String,Object> values){
        return helmetService.dataValueIn(values);
    }
    /**
@@ -82,6 +83,16 @@
    public BasicResult dataValuesList(@RequestBody Map<String,Object> values){
        return helmetService.dataValuesList(values);
    }
    //AI边缘盒子   数据接收
    @PostMapping("/dataBox")
    public BasicResult dataBox(@RequestBody String message){
        /** 将String转换为JSON **/
        JSONObject result= JSONObject.parseObject(message);
        System.out.println("--------接收的参数为 :---------------"+result);
        Integer type = Integer.valueOf(result.get("type").toString());
        return helmetService.dataBox(result);
    }
}
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/entity/TDataAi.java
对比新文件
@@ -0,0 +1,422 @@
package com.thhy.materials.modules.biz.helmet.entity;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
@Data
@Getter
@Setter
@ToString
public class TDataAi implements Serializable {
    /**
     *
     */
    private Integer aiId;
    /**
     * RTSP流
     */
    private String rtspUrl;
    /**
     * 盒子的id
     */
    private Integer boxId;
    /**
     * 预警消息类型(参数
 类型见参数类型书
 名)
     */
    private Integer type;
    /**
     * 预警消息名称
     */
    private String typeName;
    /**
     * 盒子的名称
     */
    private String boxName;
    /**
     * 摄像头名称
     */
    private String deviceName;
    /**
     * 设备编号
     */
    private String deviceId;
    /**
     * 摄像头编码
     */
    private String channelNo;
    /**
     * 企业编码
     */
    private String enterCode;
    /**
     * 企业名称
     */
    private String enterName;
    /**
     * 抓拍时间
     */
    private String signTime;
    /**
     * x坐标
     */
    private Integer x;
    /**
     * y坐标
     */
    private Integer y;
    /**
     * w坐标
     */
    private Integer w;
    /**
     * h坐标
     */
    private Integer h;
    /**
     *
     */
    private String messagerType;
    /**
     * (仅电
 动车检
 测才返
 回)是否是电动车,1是,2
 否
     */
    private Integer eBike;
    /**
     * (仅烟
 火检测
 才会返
 回)是否有烟,1是,2否
     */
    private Integer smoke;
    /**
     * (仅烟
 火检测
 才会返
 回)是否有火,1是,2否
     */
    private Integer fire;
    /**
     * (仅离
 岗检测
 才会返
 回)是否离岗,1是,2否
     */
    private Integer isExist;
    /**
     * (仅检
 测灭火
 器才会
 返回)是否是灭火器1是,2否
     */
    private Integer ext;
    /**
     * (仅油
 罐车检
 测才会
 返回)是否是油罐车1是,2否
     */
    private Integer tanker;
    /**
     * (仅检
 测杂物
 堆积才
 会)是否杂物堆积1是,2否
     */
    private Integer sudire;
    /**
     * (仅检
 测消防
 通道占
 用才
 会)是否消防通道占用1是,
 2否
     */
    private Integer fireControl;
    /**
     * (仅检
 测摄像
 头遮挡
 才会)是否摄像头遮挡1是,2
 否
     */
    private Integer cover;
    /**
     * (仅车
 辆检测
 才会返
 回)车牌号码
     */
    private String licensePlateNumber;
    /**
     * (仅车
 辆检测
 才会返
 回)是否违停
     */
    private Integer illegalParking;
    /**
     * (仅人
 脸检测
 才会返
 回)年龄
     */
    private Integer age;
    /**
     * (仅人
 脸检测
 才会返
 回)性别,0男,1女
     */
    private Integer gender;
    /**
     * (仅人
 脸检测
 才会返
 回)是否佩戴眼镜,1否,2
 是
     */
    private Integer glasses;
    /**
     * (仅人
 脸检测
 才会返
 回)是否佩戴口罩,1否,2
 是
     */
    private Integer mask;
    /**
     * (仅人
 脸检测
 才会返
 回)人脸认证照片base64
     */
    private String certifiedAvatarUrl;
    /**
     * (仅人
 脸检测
 才会返
 回)人脸唯一ID
     */
    private Integer faceId;
    /**
     * (仅人
 脸检测
 才会返
 回)人脸库类型,1黑名单,
 2白名单
     */
    private Integer personType;
    /**
     *
     */
    private String passStatus;
    /**
     * (仅人
 脸检测
 才会返
 回)人脸最大分数
     */
    private String faceMaxSorce;
    /**
     * (仅人
 体,人
 脸检测
 才会返
 回)人员姓名
     */
    private String personName;
    /**
     * (仅人
 体,人
 脸检测
 才会返
 回)跟踪id
     */
    private Integer trackId;
    /**
     * (仅人
 体,人
 脸检测
 才会返
 回)分数
     */
    private String score;
    /**
     * (仅人
 体检测
 才会返
 回)人体数量
     */
    private Integer count;
    /**
     * (仅人
 体检测
 才会返
 回)是否抽烟,1是,2否
     */
    private Integer smoking;
    /**
     * (仅人
 体检测
 才会返
 回)是否入侵,1是,2否
     */
    private Integer isInQuadrangle;
    /**
     * (仅人
 体检测
 才会返
 回)是否翻越围栏,1是,2
 否
     */
    private Integer climbFence;
    /**
     * (仅人
 体检测
 才会返
 回)是否佩戴安全帽,1是,
 2否
     */
    private Integer safetyHat;
    /**
     * (仅人
 体检测
 才会返
 回)是否穿反光衣,1是,2
 否
     */
    private Integer reflective;
    /**
     * (仅人
 体检测
 才会返
 回)是否打电话,1是,2否
     */
    private Integer calling;
    /**
     * (仅人
 体检测
 才会返
 回)是否聚集,1是,2否
     */
    private Integer assemble;
    /**
     * (仅人
 体检测
 才会返
 回)是否穿工装,1是,2否
     */
    private Integer isTooling;
    /**
     * (仅人
 体检测
 才会返
 回)是否跌倒,1是,2否
     */
    private Integer tumble;
    /**
     * (仅人
 体检测
 才会返
 回)是否睡岗,1是,2否
     */
    private Integer sleeping;
    /**
     * 规定时间内区域人数统
 计
     */
    private Integer humanCountSum;
    /**
     * 业务时长
     */
    private String businessDurationTime;
    /**
     * 今日进入总人数
     */
    private Integer pinCountSum;
    /**
     * 今日出去总人数
     */
    private Integer poutCountSum;
    /**
     * 当前进入人数
     */
    private Integer pinSingle;
    /**
     * 当前出去人数
     */
    private Integer poutSingle;
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table t_data_ai
     *
     * @mbg.generated Wed Nov 01 09:22:27 CST 2023
     */
    private static final long serialVersionUID = 1L;
}
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/mapper/HelmetMapper.java
@@ -42,7 +42,7 @@
    List<THelmetMotion> helmetMotionList(Map<String, Object> values);
    void dataValueInsert(Map<String, Object> values);
    void dataValueIn(Map<String, Object> values);
    List<ReportNumDto> helmetReportTotal(Map<String, Object> values);
@@ -53,4 +53,6 @@
    List<TDataSmock> dataSmockList(Map<String, Object> values);
    List<TDataValue> dataValuesList(Map<String, Object> values);
    void dataBox(TDataAi tDataAi);
}
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/service/HelmetService.java
@@ -1,5 +1,6 @@
package com.thhy.materials.modules.biz.helmet.service;
import com.alibaba.fastjson.JSONObject;
import com.thhy.general.common.BasicResult;
import com.thhy.materials.modules.biz.helmet.entity.*;
@@ -36,7 +37,7 @@
    BasicResult helmetMotionList(Map<String, Object> values);
    BasicResult dataValueInsert(Map<String, Object> values);
    BasicResult dataValueIn(Map<String, Object> values);
    BasicResult helmetReportTotal(Map<String, Object> values);
@@ -47,4 +48,6 @@
    BasicResult dataSmockList(Map<String, Object> values);
    BasicResult dataValuesList(Map<String, Object> values);
    BasicResult dataBox(JSONObject result);
}
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/helmet/service/impl/HelmetServiceImpl.java
@@ -1,5 +1,6 @@
package com.thhy.materials.modules.biz.helmet.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.thhy.general.common.BasicResult;
@@ -112,10 +113,10 @@
    }
    @Override
    public BasicResult dataValueInsert(Map<String, Object> values) {
    public BasicResult dataValueIn(Map<String, Object> values) {
        helmetMapper.dataValueInsert(values);
        helmetMapper.dataValueIn(values);
        return BasicResult.success();
    }
@@ -159,4 +160,79 @@
        PageInfo<TDataValue> tDataValuePageInfo = new PageInfo<>(dataSmocks);
        return BasicResult.success(tDataValuePageInfo);
    }
    @Override
    public BasicResult dataBox(JSONObject result) {
        Integer type = Integer.valueOf(result.get("type").toString());
        TDataAi tDataAi = new TDataAi();
        //公共参数
        tDataAi.setType(type);
        tDataAi.setTypeName(result.get("typeName").toString());
        tDataAi.setRtspUrl(result.getString("rtspUrl"));
        tDataAi.setBoxId(Integer.valueOf(result.get("boxId").toString()));
        tDataAi.setBoxName(result.get("boxName").toString());
        tDataAi.setDeviceName(result.get("deviceName").toString());
        tDataAi.setDeviceId(result.get("deviceId").toString());
        tDataAi.setEnterName(result.get("enterName").toString());
        tDataAi.setEnterCode(result.get("enterCode").toString());
        //图片上传
        //上边缺少图片处理
        tDataAi.setSignTime(result.get("signTime").toString());
        tDataAi.setChannelNo(result.get("channelNo").toString());
        tDataAi.setX(result.getIntValue("x"));
        tDataAi.setY(result.getIntValue("y"));
        tDataAi.setW(result.getIntValue("w"));
        tDataAi.setH(result.getIntValue("h"));
        if(type==1){//人脸
            tDataAi.setAge(result.getIntValue("age"));
            tDataAi.setGender(result.getIntValue("gender"));
            tDataAi.setGlasses(result.getIntValue("glasses"));
            tDataAi.setMask(result.getIntValue("mask"));
            //人脸照片 base64 (需要解密)
            tDataAi.setCertifiedAvatarUrl(result.getString("certifiedAvatarURL"));
            tDataAi.setFaceId(result.getIntValue("faceId"));
            tDataAi.setPersonType(result.getIntValue("personType"));
            tDataAi.setFaceMaxSorce(result.getString("faceMaxSorce"));
            tDataAi.setPersonName(result.getString("personName"));
        }else if(type==2){//人体
        }else if(type==3){//车辆
            tDataAi.setLicensePlateNumber(result.getString("licensePlateNumber"));
            tDataAi.setIllegalParking(result.getIntValue("illegalParking"));
        }else if(type==4){//电动车
            tDataAi.setEBike(result.getIntValue("eBike"));
        }else if(type==5){//烟火
            tDataAi.setSmoke(result.getIntValue("smoke"));
            tDataAi.setFire(result.getIntValue("fire"));
        }else if(type==6){//离岗
            tDataAi.setIsExist(result.getIntValue("isExist"));
        }else if(type==8){//灭火器
            tDataAi.setExt(result.getIntValue("ext"));
        }else if(type==10){//油罐车
            tDataAi.setTanker(result.getIntValue("tanker"));
        }else if(type==16){//睡岗
            //
        } else if(type==23){//杂物堆积
            tDataAi.setSudire(result.getIntValue("sudire"));
        }else if(type==24){//摄像头遮挡
            tDataAi.setCover(result.getIntValue("cover"));
        }else if(type==26){//消防通道占用
            tDataAi.setFireControl(result.getIntValue("fireControl"));
        }
        helmetMapper.dataBox(tDataAi);
        return BasicResult.success();
    }
}
hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/rebarprint/controller/TSteelPrintController.java
@@ -50,7 +50,7 @@
    @GetMapping("/test")
    public void dowanload(@RequestParam String num
    public void dowanload(@RequestParam(required = false) String num
            ,@RequestParam(required = false) Integer type
            ,@RequestParam(required = false) String mouldId
            ,@RequestParam(required = false) String steelProduceId
hd/pipe/materialsManage/src/main/resources/mapping/THelmetDeviceMapper.xml
@@ -401,7 +401,7 @@
    order by times asc
  </select>
  <insert id="dataValueInsert" >
  <insert id="dataValueIn" >
    insert into t_data_value
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="dataId != null">
@@ -696,31 +696,33 @@
  <select id="dataSmockList" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataSmock">
    select
    smoke_id as smokeId,
    gateway_cyc as gatewayCyc,
    FanS as fans,
    V1Run as v1run,
    UV1Run as uv1run,
    FanRun as fanrun,
    UV2Run as uv2run,
    SSVRun as ssvrun,
    DP as dp,
    T as t,
    OC as oc,
    gatew as gatew,
    NXRun as nxrun,
    Alarm as alarm,
    times as times,
    RTC_VOLT as rtcVolt,
    V2Run as v2run,
    DXQVRun as dxqvrun,
    Press as press,
    Dc as dc
    `time` as `time`,
    I00 as i00,
    I01 as i01,
    I02 as i02,
    I03 as i03,
    I04 as i04,
    I05 as i05,
    I06 as i06,
    I07 as i07,
    I10 as i10,
    I11 as i11,
    Q00 as q00,
    Q01 as q01,
    Q02 as q02,
    Q03 as q03,
    Q04 as q04,
    Q05 as q05,
    VB0 as vb0,
    VB10 as vb10,
    VB11 as vb11,
    VB12 as vb12
     from  t_data_smock
    where 1=1
    <if test="strTime!=null and endTime!=null and strTime!='' and endTime!='' ">
        and times between #{strTime} and #{endTime}
        and `time` between #{strTime} and #{endTime}
    </if>
    order by times desc
    order by `time` desc
  </select>
  <select id="dataValuesList" resultType="com.thhy.materials.modules.biz.helmet.entity.TDataValue">
        select
@@ -750,5 +752,383 @@
        </if>
        order by upload_time desc
  </select>
  <insert id="dataBox" >
    insert into t_data_ai
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="aiId != null">
        ai_id,
      </if>
      <if test="rtspUrl != null">
        rtsp_url,
      </if>
      <if test="boxId != null">
        box_id,
      </if>
      <if test="type != null">
        type,
      </if>
      <if test="typeName != null">
        type_name,
      </if>
      <if test="boxName != null">
        box_name,
      </if>
      <if test="deviceName != null">
        device_name,
      </if>
      <if test="deviceId != null">
        device_id,
      </if>
      <if test="channelNo != null">
        channel_no,
      </if>
      <if test="enterCode != null">
        enter_code,
      </if>
      <if test="enterName != null">
        enter_name,
      </if>
      <if test="signTime != null">
        sign_time,
      </if>
      <if test="x != null">
        x,
      </if>
      <if test="y != null">
        y,
      </if>
      <if test="w != null">
        w,
      </if>
      <if test="h != null">
        h,
      </if>
      <if test="messagerType != null">
        messager_type,
      </if>
      <if test="eBike != null">
        e_bike,
      </if>
      <if test="smoke != null">
        smoke,
      </if>
      <if test="fire != null">
        fire,
      </if>
      <if test="isExist != null">
        is_exist,
      </if>
      <if test="ext != null">
        ext,
      </if>
      <if test="tanker != null">
        tanker,
      </if>
      <if test="sudire != null">
        sudire,
      </if>
      <if test="fireControl != null">
        fire_control,
      </if>
      <if test="cover != null">
        cover,
      </if>
      <if test="licensePlateNumber != null">
        license_plate_number,
      </if>
      <if test="illegalParking != null">
        illegal_parking,
      </if>
      <if test="age != null">
        age,
      </if>
      <if test="gender != null">
        gender,
      </if>
      <if test="glasses != null">
        glasses,
      </if>
      <if test="mask != null">
        mask,
      </if>
      <if test="certifiedAvatarUrl != null">
        certified_avatar_url,
      </if>
      <if test="faceId != null">
        face_id,
      </if>
      <if test="personType != null">
        person_type,
      </if>
      <if test="passStatus != null">
        pass_status,
      </if>
      <if test="faceMaxSorce != null">
        face_max_sorce,
      </if>
      <if test="personName != null">
        person_name,
      </if>
      <if test="trackId != null">
        track_id,
      </if>
      <if test="score != null">
        score,
      </if>
      <if test="count != null">
        count,
      </if>
      <if test="smoking != null">
        smoking,
      </if>
      <if test="isInQuadrangle != null">
        is_in_quadrangle,
      </if>
      <if test="climbFence != null">
        climb_fence,
      </if>
      <if test="safetyHat != null">
        safety_hat,
      </if>
      <if test="reflective != null">
        reflective,
      </if>
      <if test="calling != null">
        calling,
      </if>
      <if test="assemble != null">
        assemble,
      </if>
      <if test="isTooling != null">
        is_tooling,
      </if>
      <if test="tumble != null">
        tumble,
      </if>
      <if test="sleeping != null">
        sleeping,
      </if>
      <if test="humanCountSum != null">
        human_count_sum,
      </if>
      <if test="businessDurationTime != null">
        business_duration_time,
      </if>
      <if test="pinCountSum != null">
        pin_count_sum,
      </if>
      <if test="poutCountSum != null">
        pout_count_sum,
      </if>
      <if test="pinSingle != null">
        pin_single,
      </if>
      <if test="poutSingle != null">
        pout_single,
      </if>
      <if test="signBigAvatar != null">
        sign_big_avatar,
      </if>
      <if test="signAvatar != null">
        sign_avatar,
      </if>
      <if test="videoBase64 != null">
        video_base64,
      </if>
      <if test="humanCoor != null">
        human_coor,
      </if>
      <if test="faceAttrSum != null">
        face_attr_sum,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="aiId != null">
        #{aiId,jdbcType=INTEGER},
      </if>
      <if test="rtspUrl != null">
        #{rtspUrl,jdbcType=VARCHAR},
      </if>
      <if test="boxId != null">
        #{boxId,jdbcType=INTEGER},
      </if>
      <if test="type != null">
        #{type,jdbcType=INTEGER},
      </if>
      <if test="typeName != null">
        #{typeName,jdbcType=VARCHAR},
      </if>
      <if test="boxName != null">
        #{boxName,jdbcType=VARCHAR},
      </if>
      <if test="deviceName != null">
        #{deviceName,jdbcType=VARCHAR},
      </if>
      <if test="deviceId != null">
        #{deviceId,jdbcType=VARCHAR},
      </if>
      <if test="channelNo != null">
        #{channelNo,jdbcType=VARCHAR},
      </if>
      <if test="enterCode != null">
        #{enterCode,jdbcType=VARCHAR},
      </if>
      <if test="enterName != null">
        #{enterName,jdbcType=VARCHAR},
      </if>
      <if test="signTime != null">
        #{signTime,jdbcType=VARCHAR},
      </if>
      <if test="x != null">
        #{x,jdbcType=INTEGER},
      </if>
      <if test="y != null">
        #{y,jdbcType=INTEGER},
      </if>
      <if test="w != null">
        #{w,jdbcType=INTEGER},
      </if>
      <if test="h != null">
        #{h,jdbcType=INTEGER},
      </if>
      <if test="messagerType != null">
        #{messagerType,jdbcType=VARCHAR},
      </if>
      <if test="eBike != null">
        #{eBike,jdbcType=INTEGER},
      </if>
      <if test="smoke != null">
        #{smoke,jdbcType=INTEGER},
      </if>
      <if test="fire != null">
        #{fire,jdbcType=INTEGER},
      </if>
      <if test="isExist != null">
        #{isExist,jdbcType=INTEGER},
      </if>
      <if test="ext != null">
        #{ext,jdbcType=INTEGER},
      </if>
      <if test="tanker != null">
        #{tanker,jdbcType=INTEGER},
      </if>
      <if test="sudire != null">
        #{sudire,jdbcType=INTEGER},
      </if>
      <if test="fireControl != null">
        #{fireControl,jdbcType=INTEGER},
      </if>
      <if test="cover != null">
        #{cover,jdbcType=INTEGER},
      </if>
      <if test="licensePlateNumber != null">
        #{licensePlateNumber,jdbcType=VARCHAR},
      </if>
      <if test="illegalParking != null">
        #{illegalParking,jdbcType=INTEGER},
      </if>
      <if test="age != null">
        #{age,jdbcType=INTEGER},
      </if>
      <if test="gender != null">
        #{gender,jdbcType=INTEGER},
      </if>
      <if test="glasses != null">
        #{glasses,jdbcType=INTEGER},
      </if>
      <if test="mask != null">
        #{mask,jdbcType=INTEGER},
      </if>
      <if test="certifiedAvatarUrl != null">
        #{certifiedAvatarUrl,jdbcType=VARCHAR},
      </if>
      <if test="faceId != null">
        #{faceId,jdbcType=INTEGER},
      </if>
      <if test="personType != null">
        #{personType,jdbcType=INTEGER},
      </if>
      <if test="passStatus != null">
        #{passStatus,jdbcType=VARCHAR},
      </if>
      <if test="faceMaxSorce != null">
        #{faceMaxSorce,jdbcType=VARCHAR},
      </if>
      <if test="personName != null">
        #{personName,jdbcType=VARCHAR},
      </if>
      <if test="trackId != null">
        #{trackId,jdbcType=INTEGER},
      </if>
      <if test="score != null">
        #{score,jdbcType=VARCHAR},
      </if>
      <if test="count != null">
        #{count,jdbcType=INTEGER},
      </if>
      <if test="smoking != null">
        #{smoking,jdbcType=INTEGER},
      </if>
      <if test="isInQuadrangle != null">
        #{isInQuadrangle,jdbcType=INTEGER},
      </if>
      <if test="climbFence != null">
        #{climbFence,jdbcType=INTEGER},
      </if>
      <if test="safetyHat != null">
        #{safetyHat,jdbcType=INTEGER},
      </if>
      <if test="reflective != null">
        #{reflective,jdbcType=INTEGER},
      </if>
      <if test="calling != null">
        #{calling,jdbcType=INTEGER},
      </if>
      <if test="assemble != null">
        #{assemble,jdbcType=INTEGER},
      </if>
      <if test="isTooling != null">
        #{isTooling,jdbcType=INTEGER},
      </if>
      <if test="tumble != null">
        #{tumble,jdbcType=INTEGER},
      </if>
      <if test="sleeping != null">
        #{sleeping,jdbcType=INTEGER},
      </if>
      <if test="humanCountSum != null">
        #{humanCountSum,jdbcType=INTEGER},
      </if>
      <if test="businessDurationTime != null">
        #{businessDurationTime,jdbcType=VARCHAR},
      </if>
      <if test="pinCountSum != null">
        #{pinCountSum,jdbcType=INTEGER},
      </if>
      <if test="poutCountSum != null">
        #{poutCountSum,jdbcType=INTEGER},
      </if>
      <if test="pinSingle != null">
        #{pinSingle,jdbcType=INTEGER},
      </if>
      <if test="poutSingle != null">
        #{poutSingle,jdbcType=INTEGER},
      </if>
      <if test="signBigAvatar != null">
        #{signBigAvatar,jdbcType=LONGVARCHAR},
      </if>
      <if test="signAvatar != null">
        #{signAvatar,jdbcType=LONGVARCHAR},
      </if>
      <if test="videoBase64 != null">
        #{videoBase64,jdbcType=LONGVARCHAR},
      </if>
      <if test="humanCoor != null">
        #{humanCoor,jdbcType=LONGVARCHAR},
      </if>
      <if test="faceAttrSum != null">
        #{faceAttrSum,jdbcType=LONGVARCHAR},
      </if>
    </trim>
  </insert>
</mapper>