czt
5 天以前 c7ecb0f33189aff5f8234666c26b75c6621bb83b
单仓移库页面
已修改4个文件
已添加3个文件
1547 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutStockChange.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutStockChangeMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutStockChangeService.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSettle.view.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChange.view.xml 1333 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutStockChange.java
@@ -29,7 +29,6 @@
     */
    private static final long serialVersionUID = 1L;
    public static String SORT_PROP = "updateTime";
    /**
     * å€’仓单号
     */
@@ -77,4 +76,12 @@
    @TableField("number")
    private Double number = 0.0;
    @Column(name = "stock_user", columnDefinition = "varchar(40) COMMENT '倒仓人'")
    @TableField("stock_user")
    private String stockUser;
    @Column(name = "remarks", columnDefinition = "varchar(200) COMMENT '备注信息'")
    @TableField("remarks")
    private String remarks;
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutStockChangeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.fzzy.igds.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fzzy.igds.domain.InoutStockChange;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Description
 * @Author CZT
 * @Date 2025/12/08 17:48
 */
@Mapper
public interface InoutStockChangeMapper extends BaseMapper<InoutStockChange> {
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutStockChangeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
package com.fzzy.igds.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.igds.domain.InoutStockChange;
import com.fzzy.igds.mapper.InoutStockChangeMapper;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
 * @Description
 * @Author CZT
 * @Date 2025/12/08 17:48
 */
@Slf4j
@Service
public class InoutStockChangeService {
    @Resource
    private InoutStockChangeMapper inoutStockChangeMapper;
    public void listPageData(Page<InoutStockChange> page, InoutStockChange param) {
        QueryWrapper<InoutStockChange> queryWrapper = new QueryWrapper<>();
        param.setCompanyId(ContextUtil.getCompanyId());
        param.setDeptId(ContextUtil.subDeptId(null));
        queryWrapper.eq("company_id", param.getCompanyId());
        queryWrapper.eq("dept_id", param.getDeptId());
        if(StringUtils.isNotBlank(param.getDepotIdIn())){
            queryWrapper.eq("depot_id_in", param.getDepotIdIn());
        }
        if(StringUtils.isNotBlank(param.getDepotIdOut())){
            queryWrapper.eq("depot_id_out", param.getDepotIdOut());
        }
        if (null != param.getChangeStartDate()) {
            queryWrapper.ge("change_date", DateUtil.getCurZero(param.getChangeStartDate()));
        }
        if (null != param.getChangeEndDate()) {
            queryWrapper.le("change_date", DateUtil.getNextZero(param.getChangeEndDate()));
        }
        inoutStockChangeMapper.selectPage(page, queryWrapper);
    }
    /**
     * ä¿å­˜æ•°æ®
     * @param data
     */
    public void saveData(InoutStockChange data) {
        if (StringUtils.isEmpty(data.getCompanyId())) {
            data.setCompanyId(ContextUtil.getCompanyId());
        }
        if (StringUtils.isEmpty(data.getDeptId())) {
            data.setDeptId(ContextUtil.subDeptId(null));
        }
        if(StringUtils.isEmpty(data.getId())){
            data.setId(getStrId(data.getDeptId(), data.getChangeDate()));
            data.setCreateBy(ContextUtil.getLoginUserName());
            data.setCreateTime(new Date());
        }
        data.setUpdateBy(ContextUtil.getLoginUserName());
        data.setUpdateTime(new Date());
        inoutStockChangeMapper.insert(data);
    }
    /**
     * åˆ é™¤æ•°æ®
     * @param data
     * @return
     */
    public String delData(InoutStockChange data) {
        inoutStockChangeMapper.deleteById(data);
        return null;
    }
    /**
     * èŽ·å–ä¸»é”®ID
     *
     * @param deptId
     * @param deptId
     */
    public String getStrId(String deptId, Date time) {
        QueryWrapper<InoutStockChange> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("dept_id", deptId);
        queryWrapper.ge("change_date", DateUtil.getCurZero(time));
        queryWrapper.le("change_date", DateUtil.getNextZero(time));
        //ID倒序
        queryWrapper.orderByDesc("id");
        List<InoutStockChange> list = inoutStockChangeMapper.selectList(queryWrapper);
        String oldOrderId = null;
        if (null != list && list.size() > 0) {
            oldOrderId = list.get(0).getId().substring(8);
        }
        return DateFormatUtils.format(time, "yyyyMMdd") + ContextUtil.getOrderId(oldOrderId, 4);
    }
}
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutList.view.xml
@@ -712,7 +712,7 @@
      <Property name="iconClass">fa fa-tasks</Property>
      <Property name="caption">单据信息</Property>
      <Property name="width">1200</Property>
      <Property name="showCaptionBar">false</Property>
      <Property name="closeable">false</Property>
      <Buttons>
        <Button id="btnOK">
          <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutSettle.view.xml
@@ -593,7 +593,7 @@
      <Property name="iconClass">fa fa-tasks</Property>
      <Property name="caption">结算信息</Property>
      <Property name="width">1200</Property>
      <Property name="showCaptionBar">false</Property>
      <Property name="closeable">false</Property>
      <Buttons>
        <Button id="btnOK">
          <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChange.view.xml
@@ -3,127 +3,39 @@
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtSecCameraParam">
      <Property name="creationType">com.fzzy.igds.domain.Camera</Property>
      <PropertyDef name="name">
        <Property></Property>
        <Property name="label">监控名称</Property>
      </PropertyDef>
      <PropertyDef name="brand">
        <Property></Property>
        <Property name="label">监控品牌</Property>
    <DataType name="dtQuery">
      <Property name="creationType">com.fzzy.igds.domain.InoutStockChange</Property>
      <PropertyDef name="depotIdIn">
        <Property name="label">倒入仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#sysDictData&quot;).getResult(&quot;CAMERA_BRAND&quot;)}</Property>
          <Property name="keyProperty">dictValue</Property>
          <Property name="valueProperty">dictLabel</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="spjklx">
        <Property></Property>
        <Property name="label">业务类型</Property>
      <PropertyDef name="depotIdOut">
        <Property name="label">倒出仓库</Property>
        <Property name="mapping">
          <Property name="keyProperty">key</Property>
          <Property name="valueProperty">value</Property>
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="key">1</Property>
                <Property name="value">1-仓内</Property>
              </Entity>
              <Entity>
                <Property name="key">2</Property>
                <Property name="value">2-业务类</Property>
              </Entity>
              <Entity>
                <Property name="key">3</Property>
                <Property name="value">3-安防类</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="spdwlx">
        <Property></Property>
        <Property name="label">点位类型</Property>
        <Property name="mapping">
          <Property name="keyProperty">key</Property>
          <Property name="valueProperty">value</Property>
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="key">1</Property>
                <Property name="value">1-出入口</Property>
              </Entity>
              <Entity>
                <Property name="key">2</Property>
                <Property name="value">2-扦样机</Property>
              </Entity>
              <Entity>
                <Property name="key">3</Property>
                <Property name="value">3-化验室</Property>
              </Entity>
              <Entity>
                <Property name="key">4</Property>
                <Property name="value">4-结算室</Property>
              </Entity>
              <Entity>
                <Property name="key">5</Property>
                <Property name="value">5-地磅室</Property>
              </Entity>
              <Entity>
                <Property name="key">6</Property>
                <Property name="value">6-库区主干道</Property>
              </Entity>
              <Entity>
                <Property name="key">7</Property>
                <Property name="value">7-仓间监控</Property>
              </Entity>
              <Entity>
                <Property name="key">8</Property>
                <Property name="value">8-仓内</Property>
              </Entity>
              <Entity>
                <Property name="key">9</Property>
                <Property name="value">9-药品房内外</Property>
              </Entity>
              <Entity>
                <Property name="key">10</Property>
                <Property name="value">10-器材室内外</Property>
              </Entity>
              <Entity>
                <Property name="key">11</Property>
                <Property name="value">11-制高点</Property>
              </Entity>
              <Entity>
                <Property name="key">12</Property>
                <Property name="value">12-油库罐区</Property>
              </Entity>
              <Entity>
                <Property name="key">13</Property>
                <Property name="value">13-收发油设备</Property>
              </Entity>
              <Entity>
                <Property name="key">14</Property>
                <Property name="value">14-泵房</Property>
              </Entity>
              <Entity>
                <Property name="key">15</Property>
                <Property name="value">15-油库主要输送管道</Property>
              </Entity>
              <Entity>
                <Property name="key">16</Property>
                <Property name="value">16-周界</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
      <PropertyDef name="changeStartDate">
        <Property name="label">开始时间</Property>
        <Property name="dataType">Date</Property>
      </PropertyDef>
      <PropertyDef name="changeEndDate">
        <Property name="label">截止时间</Property>
        <Property name="dataType">Date</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtSecCamera">
      <Property name="creationType">com.fzzy.igds.domain.Camera</Property>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.igds.domain.InoutStockChange</Property>
      <PropertyDef name="id">
        <Property></Property>
        <Property name="label">监控编码</Property>
        <Property name="label">倒仓单号</Property>
        <Property name="readOnly">true</Property>
      </PropertyDef>
      <PropertyDef name="companyId">
        <Property></Property>
@@ -131,324 +43,87 @@
      </PropertyDef>
      <PropertyDef name="deptId">
        <Property></Property>
        <Property name="label">所属库区</Property>
        <Property name="label">所属分库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;deptPR#getAllData&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">kqmc</Property>
        </Property>
        <Property name="readOnly">true</Property>
      </PropertyDef>
      <PropertyDef name="name">
        <Property></Property>
        <Property name="label">监控名称</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="type">
        <Property></Property>
        <Property name="label">设备类型</Property>
        <Property name="required">true</Property>
        <Property name="label">倒仓类型</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">01</Property>
                <Property name="name">01-枪机</Property>
                <Property name="name">倒仓</Property>
                <Property name="value">0</Property>
              </Entity>
              <Entity>
                <Property name="code">02</Property>
                <Property name="name">02-球机</Property>
              </Entity>
              <Entity>
                <Property name="code">03</Property>
                <Property name="name">03-半球</Property>
              </Entity>
              <Entity>
                <Property name="code">09</Property>
                <Property name="name">09-其他</Property>
                <Property name="name">移库</Property>
                <Property name="value">1</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="keyProperty">value</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="brand">
      <PropertyDef name="foodVariety">
        <Property></Property>
        <Property name="label">设备品牌</Property>
        <Property name="label">粮食品种</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#sysDictData&quot;).getResult(&quot;CAMERA_BRAND&quot;)}</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#sysDictData&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
          <Property name="keyProperty">dictValue</Property>
          <Property name="valueProperty">dictLabel</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="sn">
        <Property></Property>
        <Property name="label">序列号</Property>
      </PropertyDef>
      <PropertyDef name="sort">
        <Property name="label">配套序号</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="depotIdIn">
        <Property></Property>
        <Property name="label">倒入仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">1</Property>
                <Property name="name">配套序号#1</Property>
              </Entity>
              <Entity>
                <Property name="code">2</Property>
                <Property name="name">配套序号#2</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="playType">
      <PropertyDef name="depotIdOut">
        <Property></Property>
        <Property name="label">播放方式</Property>
        <Property name="label">倒出仓库</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#triggerPlayType&quot;).getResult()}</Property>
          <Property name="keyProperty">dictValue</Property>
          <Property name="valueProperty">dictLabel</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
          <Property name="keyProperty">id</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="loginId">
        <Property></Property>
        <Property name="label">帐号</Property>
      </PropertyDef>
      <PropertyDef name="pwd">
        <Property></Property>
        <Property name="label">密码</Property>
      </PropertyDef>
      <PropertyDef name="ip">
        <Property></Property>
        <Property name="label">IP地址</Property>
      </PropertyDef>
      <PropertyDef name="controlPort">
        <Property name="dataType">Integer</Property>
        <Property name="label">控制端口</Property>
        <Property name="defaultValue">554</Property>
      </PropertyDef>
      <PropertyDef name="webPort">
        <Property name="dataType">Integer</Property>
        <Property name="label">WEB端口</Property>
        <Property name="defaultValue">80</Property>
      </PropertyDef>
      <PropertyDef name="chanNum">
        <Property name="dataType">Integer</Property>
        <Property name="label">通道号</Property>
        <Property name="defaultValue">1</Property>
      </PropertyDef>
      <PropertyDef name="urlIn">
        <Property></Property>
        <Property name="label">内网地址</Property>
      </PropertyDef>
      <PropertyDef name="urlOut">
        <Property></Property>
        <Property name="label">外网地址</Property>
      </PropertyDef>
      <PropertyDef name="mediaAddr">
        <Property></Property>
        <Property name="label">RTSP地址</Property>
      </PropertyDef>
      <PropertyDef name="snapType">
        <Property></Property>
        <Property name="label">抓拍方式</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;dicPR#triggerSnapType&quot;).getResult()}</Property>
          <Property name="keyProperty">dictValue</Property>
          <Property name="valueProperty">dictLabel</Property>
        </Property>
      <PropertyDef name="changeDate">
        <Property name="dataType">Date</Property>
        <Property name="label">倒仓日期</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="spjklx">
        <Property></Property>
        <Property name="label">业务类型</Property>
        <Property name="mapping">
          <Property name="keyProperty">key</Property>
          <Property name="valueProperty">value</Property>
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="key">1</Property>
                <Property name="value">1-仓内</Property>
              </Entity>
              <Entity>
                <Property name="key">2</Property>
                <Property name="value">2-业务类</Property>
              </Entity>
              <Entity>
                <Property name="key">3</Property>
                <Property name="value">3-安防类</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
        <Property name="required">true</Property>
      <PropertyDef name="changeStartDate">
        <Property name="dataType">Date</Property>
        <Property name="label">倒仓开始日期</Property>
      </PropertyDef>
      <PropertyDef name="spdwlx">
        <Property></Property>
        <Property name="label">点位类型</Property>
        <Property name="mapping">
          <Property name="keyProperty">key</Property>
          <Property name="valueProperty">value</Property>
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="key">1</Property>
                <Property name="value">1-出入口</Property>
              </Entity>
              <Entity>
                <Property name="key">2</Property>
                <Property name="value">2-扦样机</Property>
              </Entity>
              <Entity>
                <Property name="key">3</Property>
                <Property name="value">3-化验室</Property>
              </Entity>
              <Entity>
                <Property name="key">4</Property>
                <Property name="value">4-结算室</Property>
              </Entity>
              <Entity>
                <Property name="key">5</Property>
                <Property name="value">5-地磅室</Property>
              </Entity>
              <Entity>
                <Property name="key">6</Property>
                <Property name="value">6-库区主干道</Property>
              </Entity>
              <Entity>
                <Property name="key">7</Property>
                <Property name="value">7-仓间监控</Property>
              </Entity>
              <Entity>
                <Property name="key">8</Property>
                <Property name="value">8-仓内</Property>
              </Entity>
              <Entity>
                <Property name="key">9</Property>
                <Property name="value">9-药品房内外</Property>
              </Entity>
              <Entity>
                <Property name="key">10</Property>
                <Property name="value">10-器材室内外</Property>
              </Entity>
              <Entity>
                <Property name="key">11</Property>
                <Property name="value">11-制高点</Property>
              </Entity>
              <Entity>
                <Property name="key">12</Property>
                <Property name="value">12-油库罐区</Property>
              </Entity>
              <Entity>
                <Property name="key">13</Property>
                <Property name="value">13-收发油设备</Property>
              </Entity>
              <Entity>
                <Property name="key">14</Property>
                <Property name="value">14-泵房</Property>
              </Entity>
              <Entity>
                <Property name="key">15</Property>
                <Property name="value">15-油库主要输送管道</Property>
              </Entity>
              <Entity>
                <Property name="key">16</Property>
                <Property name="value">16-周界</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
        <Property name="required">true</Property>
      <PropertyDef name="changeEndDate">
        <Property name="dataType">Date</Property>
        <Property name="label">倒仓结束日期</Property>
      </PropertyDef>
      <PropertyDef name="posX">
        <Property></Property>
        <Property name="label">坐标X</Property>
      <PropertyDef name="number">
        <Property name="dataType">Double</Property>
        <Property name="label">倒仓数量</Property>
        <Property name="displayFormat">0.0 KG</Property>
      </PropertyDef>
      <PropertyDef name="posY">
      <PropertyDef name="stockUser">
        <Property></Property>
        <Property name="label">坐标Y</Property>
        <Property name="dataType">Double</Property>
        <Property name="label">倒仓人</Property>
      </PropertyDef>
      <PropertyDef name="screenShow">
      <PropertyDef name="remarks">
        <Property></Property>
        <Property name="label">大屏显示</Property>
        <Property name="required">false</Property>
        <Property name="defaultValue">N</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">展示</Property>
              </Entity>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">不展示</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="phoneShowTag">
        <Property></Property>
        <Property name="label">APP显示</Property>
        <Property name="defaultValue">N</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">展示</Property>
              </Entity>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">不展示</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="orderNum">
        <Property></Property>
        <Property name="label">显示顺序</Property>
        <Property name="dataType">Integer</Property>
      </PropertyDef>
      <PropertyDef name="vld">
        <Property></Property>
        <Property name="label">是否使用</Property>
        <Property name="defaultValue">Y</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">启用</Property>
              </Entity>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">禁用</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="remark">
        <Property></Property>
        <Property name="label">备注说明</Property>
        <Property name="label">备注信息</Property>
      </PropertyDef>
      <PropertyDef name="createTime">
        <Property name="dataType">DateTime</Property>
@@ -473,111 +148,68 @@
    </DataType>
  </Model>
  <View layout="padding:10">
    <ClientEvent name="onClick">&#xD;
/**&#xD;
 * æŸ¥è¯¢&#xD;
 */&#xD;
query = function(){&#xD;
    view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
}&#xD;
/**&#xD;
 * è®¿é—®&#xD;
 */&#xD;
showWeb = function(){&#xD;
    var cur = view.get(&quot;#dsMain.data:#&quot;);&#xD;
    if(!cur.get(&quot;ip&quot;)){&#xD;
        $alert(&quot;没有配置访问IP,无法访问。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    if(!cur.get(&quot;webPort&quot;)){&#xD;
        $alert(&quot;没有配置访问端口,无法访问。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    var url = &quot;http://&quot;+cur.get(&quot;ip&quot;)+&quot;:&quot;+cur.get(&quot;webPort&quot;);&#xD;
    window.open(url);&#xD;
};&#xD;
&#xD;
/**&#xD;
 * é¢„览&#xD;
 */&#xD;
showVideo = function(){&#xD;
    var cur = view.get(&quot;#dsMain.data:#&quot;);&#xD;
    var playType = cur.get(&quot;playType&quot;);&#xD;
    &#xD;
    if(!playType){&#xD;
        $alert(&quot;没有配置播放方式,无法预览。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    if(!cur.get(&quot;ip&quot;)){&#xD;
        $alert(&quot;没有配置内部访问IP,无法访问。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    if(!cur.get(&quot;controlPort&quot;)){&#xD;
        $alert(&quot;没有配置内部控制端口,无法访问。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    if(!cur.get(&quot;loginId&quot;)){&#xD;
        $alert(&quot;没有配置用户名,无法访问。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    if (!cur.get(&quot;pwd&quot;)) {&#xD;
        $alert(&quot;没有配置密码,无法访问。&quot;);&#xD;
        return;&#xD;
    }&#xD;
    &#xD;
    var url = &quot;./basic/security/video-play?cameraId=&quot;+cur.get(&quot;id&quot;)+&quot;&amp;playType=&quot;+playType+&quot;&amp;time=&quot;+ new Date().getTime();&#xD;
    &#xD;
    view.get(&quot;#iFrameVideo&quot;).set(&quot;path&quot;,url);&#xD;
    view.get(&quot;#dialogVideo&quot;).show();&#xD;
};&#xD;
</ClientEvent>
    <ClientEvent name="onReady">var deptId = window.parent.DEPT_ID;//父页面中的分库编码&#xD;
      //默认查询查询提条件&#xD;
      view.get(&quot;#dsQuery&quot;).insert({&#xD;
      deptId:deptId&#xD;
      });&#xD;
      /**&#xD;
      * æŸ¥è¯¢&#xD;
      */&#xD;
      query = function(){&#xD;
      var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
      view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
      }&#xD;
      query();&#xD;
    </ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="loadMode">lazy</Property>
      <Property name="dataProvider">secCameraPR#listPageCamera</Property>
      <Property name="dataProvider">inoutStockChangePR#pageData</Property>
      <Property name="pageSize">20</Property>
      <Property name="dataType">[dtSecCamera]</Property>
      <Property name="dataType">[dtMain]</Property>
      <Property name="loadMode">manual</Property>
    </DataSet>
    <DataSet id="dsParam">
      <ClientEvent name="onReady">self.insert({});</ClientEvent>
      <Property name="dataType">dtSecCameraParam</Property>
    <DataSet id="dsQuery">
      <Property name="dataType">dtQuery</Property>
    </DataSet>
    <Container>
      <Property name="className">c-param</Property>
      <AutoForm>
        <Property name="cols">*,*,*,*,90,90</Property>
        <Property name="dataSet">dsParam</Property>
        <Property name="dataSet">dsQuery</Property>
        <Property name="labelAlign">right</Property>
        <Property name="labelWidth">100</Property>
        <AutoFormElement>
          <Property name="name">name</Property>
          <Property name="property">name</Property>
          <Property name="name">depotIdIn</Property>
          <Property name="property">depotIdIn</Property>
          <Editor/>
        </AutoFormElement>
        <AutoFormElement>
          <Property name="name">brand</Property>
          <Property name="property">brand</Property>
          <Property name="name">depotIdOut</Property>
          <Property name="property">depotIdOut</Property>
          <Editor/>
        </AutoFormElement>
        <AutoFormElement>
          <Property name="name">spjklx</Property>
          <Property name="property">spjklx</Property>
          <Property name="name">changeStartDate</Property>
          <Property name="property">changeStartDate</Property>
          <Property name="trigger">defaultDateDropDown</Property>
          <Editor/>
        </AutoFormElement>
        <AutoFormElement>
          <Property name="name">spdwlx</Property>
          <Property name="property">spdwlx</Property>
          <Property name="name">changeEndDate</Property>
          <Property name="property">changeEndDate</Property>
          <Property name="trigger">defaultDateDropDown</Property>
          <Editor/>
        </AutoFormElement>
        <Button>
          <ClientEvent name="onClick">var param = view.get(&quot;#dsParam.data&quot;);&#xD;
view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,param).flushAsync();</ClientEvent>
          <ClientEvent name="onClick">query();&#xD;</ClientEvent>
          <Property name="caption">搜索</Property>
          <Property name="iconClass">fa fa-search</Property>
          <Property name="exClassName">btn-q1</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">view.get(&quot;#dsParam&quot;).setData({});</ClientEvent>
          <ClientEvent name="onClick">var deptId = window.parent.DEPT_ID;//父页面中的分库编码&#xD;
            view.get(&quot;#dsQuery&quot;).setData({deptId:deptId});</ClientEvent>
          <Property name="caption">重置</Property>
          <Property name="exClassName">btn-q2</Property>
          <Property name="iconClass">fa fa-refresh</Property>
@@ -596,45 +228,38 @@
          <Property name="iconClass">fa fa-plus</Property>
        </ToolBarButton>
        <ToolBarButton>
          <ClientEvent name="onClick">var data = view.get(&quot;#dataGridCamera&quot;).get(&quot;selection&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#dialogMain&quot;).show();&#xD;
}else{&#xD;
    $notify(&quot;请选择需要修改的监控信息……&quot;);&#xD;
}</ClientEvent>
          <ClientEvent name="onClick">var data = view.get(&quot;#dataGridData&quot;).get(&quot;selection&quot;);&#xD;
            if(data){&#xD;
            view.get(&quot;#dialogMain&quot;).show();&#xD;
            }else{&#xD;
            $notify(&quot;请选择需要修改的信息……&quot;);&#xD;
            }</ClientEvent>
          <Property name="caption">修改</Property>
          <Property name="exClassName">btn2</Property>
          <Property name="width">100</Property>
          <Property name="iconClass">fa fa-pencil-square-o</Property>
        </ToolBarButton>
        <ToolBarButton>
          <ClientEvent name="onClick">var select = view.get(&quot;#dataGridCamera&quot;).get(&quot;selection&quot;);&#xD;
if(select){&#xD;
    view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
        if(result){&#xD;
          <ClientEvent name="onClick">var select = view.get(&quot;#dataGridData&quot;).get(&quot;selection&quot;);&#xD;
            if(select){&#xD;
            view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
            if(result){&#xD;
            $alert(result);&#xD;
        }else{&#xD;
            }else{&#xD;
            query();&#xD;
        }&#xD;
    });
 }else{&#xD;
    $notify(&quot;请选择需要删除的监控信息……&quot;);&#xD;
}</ClientEvent>
            }&#xD;
            });
            }else{&#xD;
            $notify(&quot;请选择需要删除的信息……&quot;);&#xD;
            }</ClientEvent>
          <Property name="caption">删除</Property>
          <Property name="exClassName">btn3</Property>
          <Property name="width">100</Property>
          <Property name="iconClass">fa fa-times</Property>
        </ToolBarButton>
        <ToolBarButton>
          <Property name="caption">刷新缓存</Property>
          <Property name="exClassName">btn4</Property>
          <Property name="iconClass">fa fa-refresh</Property>
          <Property name="width">100</Property>
          <Property name="action">refreshCache</Property>
        </ToolBarButton>
      </ToolBar>
      <DataGrid id="dataGridCamera" layoutConstraint="padding:8">
        <ClientEvent name="onDataRowClick">view.get(&quot;#dataGridCamera&quot;).set(&quot;selection&quot;,arg.data);</ClientEvent>
      <DataGrid id="dataGridData" layoutConstraint="padding:8">
        <ClientEvent name="onDataRowClick">view.get(&quot;#dataGridData&quot;).set(&quot;selection&quot;,arg.data);</ClientEvent>
        <Property name="dataSet">dsMain</Property>
        <Property name="selectionMode">singleRow</Property>
        <Property name="readOnly">true</Property>
@@ -642,67 +267,48 @@
        <RowNumColumn>
          <Property name="width">50</Property>
        </RowNumColumn>
        <DataColumn name="name">
          <Property name="property">name</Property>
        <DataColumn name="id">
          <Property name="property">id</Property>
          <Property name="align">center</Property>
          <Property name="width">150</Property>
        </DataColumn>
        <DataColumn name="type">
          <Property name="property">type</Property>
          <Property name="align">center</Property>
          <Property name="width">90</Property>
        </DataColumn>
        <DataColumn name="spjklx">
          <Property name="property">spjklx</Property>
        <DataColumn name="depotIdIn">
          <Property name="property">depotIdIn</Property>
          <Property name="align">center</Property>
          <Property name="width">90</Property>
        </DataColumn>
        <DataColumn name="spdwlx">
          <Property name="property">spdwlx</Property>
          <Property name="align">center</Property>
          <Property name="width">100</Property>
        </DataColumn>
        <DataColumn>
          <Property name="property">playType</Property>
          <Property name="property">depotIdOut</Property>
          <Property name="name">depotIdOut</Property>
          <Property name="align">center</Property>
          <Property name="name">playType</Property>
          <Property name="width">160</Property>
        </DataColumn>
        <DataColumn>
          <Property name="property">snapType</Property>
        <DataColumn name="foodVariety">
          <Property name="property">foodVariety</Property>
          <Property name="align">center</Property>
          <Property name="name">snapType</Property>
          <Property name="width">160</Property>
        </DataColumn>
        <DataColumn name="ip">
          <Property name="property">ip</Property>
        <DataColumn name="changeDate">
          <Property name="property">changeDate</Property>
          <Property name="align">center</Property>
          <Property name="width">120</Property>
        </DataColumn>
        <DataColumn name="controlPort">
          <Property name="property">controlPort</Property>
        <DataColumn name="number">
          <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
            arg.processDefault = true;</ClientEvent>
          <Property name="property">number</Property>
          <Property name="align">center</Property>
          <Property name="width">100</Property>
        </DataColumn>
        <DataColumn name="chanNum">
          <Property name="property">chanNum</Property>
        <DataColumn name="stockUser">
          <Property name="property">stockUser</Property>
          <Property name="align">center</Property>
          <Property name="width">80</Property>
        </DataColumn>
        <DataColumn name="brand">
          <Property name="property">brand</Property>
          <Property name="align">center</Property>
          <Property name="width">100</Property>
        </DataColumn>
        <DataColumn name="updateTime">
          <Property name="property">updateTime</Property>
          <Property name="align">center</Property>
          <Property name="width">160</Property>
        </DataColumn>
        <DataColumn>
          <ClientEvent name="onRenderCell">arg.dom.innerHTML = &quot;&lt;a href='javascript:;' onClick='showVideo()' class='a-btn1'>预览&lt;/a>&amp;nbsp;|&amp;nbsp;&lt;a href='javascript:;' onClick='showWeb()' class='a-btn3'>访问&lt;/a>&quot;;</ClientEvent>
          <Property name="width">160</Property>
          <Property name="caption">操作</Property>
          <Property name="align">center</Property>
          <Editor/>
        </DataColumn>
      </DataGrid>
      <ToolBar layoutConstraint="bottom">
@@ -715,489 +321,262 @@
    </Container>
    <Dialog id="dialogMain" layout="regionPadding:8">
      <Property name="iconClass">fa fa-tasks</Property>
      <Property name="width">1200</Property>
      <Property name="caption">监控信息</Property>
      <Property name="caption">倒仓信息</Property>
      <Property name="width">1000</Property>
      <Property name="closeable">false</Property>
      <Buttons>
        <Button>
        <Button id="btnOK">
          <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
if(data.validate() != 'ok'){&#xD;
    $notify(&quot;数据校验失败!!&quot;);&#xD;
    return;&#xD;
}&#xD;
view.get(&quot;#uaAction&quot;).set(&quot;parameter&quot;,data).execute(function(){&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
    query();&#xD;
});</ClientEvent>
          <Property name="caption">保存</Property>
            if(data.validate() != 'ok'){&#xD;
            $notify(&quot;数据校验失败!!&quot;);&#xD;
            return;&#xD;
            }&#xD;
            view.get(&quot;#uaSave&quot;).execute(function(result){&#xD;
            if(result){&#xD;
            $alert(result);&#xD;
            return;&#xD;
            }&#xD;
            $notify(&quot;数据执行完成!!&quot;);&#xD;
            query();&#xD;
            self.get(&quot;parent&quot;).hide();&#xD;
            });</ClientEvent>
          <Property name="caption">确定保存</Property>
          <Property name="iconClass">fa fa-check-circle</Property>
          <Property name="exClassName">btn1</Property>
          <Property name="width">120</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dsMain.data:#&quot;);&#xD;
            if(cur) cur.cancel();&#xD;
            self.get(&quot;parent&quot;).hide();</ClientEvent>
          <Property name="caption">取消</Property>
          <ClientEvent name="onClick">self.get(&quot;parent&quot;).close();</ClientEvent>
          <Property name="caption">取消操作</Property>
          <Property name="exClassName">btn3</Property>
          <Property name="iconClass">fa fa-times-circle</Property>
          <Property name="width">120</Property>
        </Button>
      </Buttons>
      <Children>
        <FieldSet layout="padding:5">
          <Property name="caption">基本信息</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*,*</Property>
              <Property name="labelWidth">100</Property>
              <Property name="labelAlign">right</Property>
              <Property name="labelSeparator">:</Property>
              <AutoFormElement>
                <Property name="name">name</Property>
                <Property name="property">name</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">type</Property>
                <Property name="property">type</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">brand</Property>
                <Property name="property">brand</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">deptId</Property>
                <Property name="property">deptId</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">loginId</Property>
                <Property name="property">loginId</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">pwd</Property>
                <Property name="property">pwd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">chanNum</Property>
                <Property name="property">chanNum</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">spjklx</Property>
                <Property name="property">spjklx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ip</Property>
                <Property name="property">ip</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">controlPort</Property>
                <Property name="property">controlPort</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">webPort</Property>
                <Property name="property">webPort</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">spdwlx</Property>
                <Property name="property">spdwlx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sort</Property>
                <Property name="property">sort</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">screenShow</Property>
                <Property name="property">screenShow</Property>
                <Editor>
                  <RadioGroup>
                    <RadioButton>
                      <Property name="text">展示</Property>
                      <Property name="value">Y</Property>
                    </RadioButton>
                    <RadioButton>
                      <Property name="text">不展示</Property>
                      <Property name="value">N</Property>
                    </RadioButton>
                  </RadioGroup>
                </Editor>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">phoneShowTag</Property>
                <Property name="property">phoneShowTag</Property>
                <Editor>
                  <RadioGroup>
                    <RadioButton>
                      <Property name="text">展示</Property>
                      <Property name="value">Y</Property>
                    </RadioButton>
                    <RadioButton>
                      <Property name="text">不展示</Property>
                      <Property name="value">N</Property>
                    </RadioButton>
                  </RadioGroup>
                </Editor>
              </AutoFormElement>
            </AutoForm>
          </Children>
        </FieldSet>
        <FieldSet layout="padding:5">
          <Property name="caption">播放配置</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*,*,*</Property>
              <Property name="labelWidth">100</Property>
              <Property name="labelAlign">right</Property>
              <Property name="labelSeparator">:</Property>
              <AutoFormElement layoutConstraint="colSpan:2">
                <Property name="name">playType</Property>
                <Property name="property">playType</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:3">
                <Property name="name">urlIn</Property>
                <Property name="property">urlIn</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:2">
                <Property name="name">snapType</Property>
                <Property name="property">snapType</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:3">
                <Property name="name">urlOut</Property>
                <Property name="property">urlOut</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:2">
                <Property name="name">sn</Property>
                <Property name="property">sn</Property>
                <Editor>
                  <TextEditor id="sn">
                    <Property name="blankText"> -- æµåª’体平台中设备SN --</Property>
                  </TextEditor>
                </Editor>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:3">
                <Property name="name">mediaAddr</Property>
                <Property name="property">mediaAddr</Property>
                <Property name="trigger">triggerMedia</Property>
                <Editor>
                  <TextEditor id="mediaAddr">
                    <Property name="blankText"> -- ç‚¹å‡»å³ä¾§é€‰æ‹©ï¼Œæˆ–者手动填写 --</Property>
                  </TextEditor>
                </Editor>
              </AutoFormElement>
            </AutoForm>
          </Children>
        </FieldSet>
        <FieldSet layout="padding:5">
          <Property name="caption">其他信息</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*</Property>
              <Property name="labelWidth">100</Property>
              <Property name="labelAlign">right</Property>
              <Property name="labelSeparator">:</Property>
              <AutoFormElement>
                <Property name="name">vld</Property>
                <Property name="property">vld</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">orderNum</Property>
                <Property name="property">orderNum</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">updateTime</Property>
                <Property name="property">updateTime</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement layoutConstraint="colSpan:2">
                <Property name="name">remark</Property>
                <Property name="property">remark</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">createBy</Property>
                <Property name="property">createBy</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">createTime</Property>
                <Property name="property">createTime</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">updateBy</Property>
                <Property name="property">updateBy</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">updateTime</Property>
                <Property name="property">updateTime</Property>
                <Editor/>
              </AutoFormElement>
            </AutoForm>
          </Children>
        </FieldSet>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="cols">*,*</Property>
          <Property name="labelAlign">right</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="labelWidth">120</Property>
          <AutoFormElement>
            <Property name="name">id</Property>
            <Property name="property">id</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">type</Property>
            <Property name="property">type</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">changeDate</Property>
            <Property name="property">changeDate</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">deptId</Property>
            <Property name="property">deptId</Property>
            <Property name="readOnly">true</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">depotIdOut</Property>
            <Property name="property">depotIdOut</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">depotIdIn</Property>
            <Property name="property">depotIdIn</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">foodVariety</Property>
            <Property name="property">foodVariety</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">number</Property>
            <Property name="property">number</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">changeStartDate</Property>
            <Property name="property">changeStartDate</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">changeEndDate</Property>
            <Property name="property">changeEndDate</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">stockUser</Property>
            <Property name="property">stockUser</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">updateTime</Property>
            <Property name="property">updateTime</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">remarks</Property>
            <Property name="property">remarks</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="uaAction">
      <Property name="dataResolver">secCameraPR#saveCamera</Property>
    <UpdateAction id="uaSave">
      <Property name="dataResolver">inoutStockChangePR#saveData</Property>
      <UpdateItem>
        <Property name="dataSet">dsMain</Property>
        <Property name="dataPath">[#current]</Property>
        <Property name="validateData">false</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxDel">
      <Property name="confirmMessage">确定要删除吗?</Property>
      <Property name="service">secCameraPR#delCamera</Property>
      <Property name="service">inoutStockChangePR#delData</Property>
    </AjaxAction>
    <Dialog id="dialogVideo">
      <Property name="width">1320</Property>
      <Property name="caption">视频预览</Property>
      <Property name="contentOverflow">hidden</Property>
      <Property name="height">620</Property>
      <Buttons/>
      <Children>
        <IFrame id="iFrameVideo" layoutConstraint="center"/>
      </Children>
      <Tools/>
    </Dialog>
    <AjaxAction id="refreshCache">
      <Property name="service">secCameraPR#refreshCache</Property>
      <Property name="successMessage">缓存更新成功!</Property>
    </AjaxAction>
    <Trigger id="triggerMedia">
      <ClientEvent name="onExecute">view.get(&quot;#dialogMeidaSelect&quot;).show();&#xD;
</ClientEvent>
    </Trigger>
    <Dialog id="dialogMeidaSelect" layout="vbox padding:10">
      <Property name="width">650</Property>
      <Property name="caption">流媒体地址选择</Property>
      <Buttons/>
      <Children>
        <Container>
          <Label>
            <Property name="text">海康RTSP(旧版-主码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text1">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/h264/ch{4}/main/av_stream</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text1.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
    <CustomDropDown id="ddNotice">
      <Property name="minHeight">400</Property>
      <Property name="assignmentMap">noticeId=id,customerName=customerName</Property>
      <Property name="minWidth">1000</Property>
      <Property name="autoOpen">true</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsNotice">
          <Property name="dataProvider">inoutNoticePR#queryNoticeByKey</Property>
          <Property name="parameter">
            <Entity>
              <Property name="type">${request.getParameter('type')}</Property>
            </Entity>
          </Property>
          <Property name="dataType">[dtNoticeDto]</Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key3">
            <Property name="blankText"> -- å®¢æˆ·åç§°æˆ–编码 --</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key3.value&quot;);&#xD;
              var type = &quot;${request.getParameter('type')}&quot;;&#xD;
              view.get(&quot;#dsNotice&quot;).set(&quot;parameter&quot;,{key: key,type: type}).flushAsync();</ClientEvent>
            <Property name="caption">查询</Property>
            <Property name="exClassName">btn1</Property>
            <Property name="iconClass">fa fa-search</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsNotice.data:#&quot;);&#xD;
              if(data){&#xD;
              view.get(&quot;#ddNotice&quot;).close(data.toJSON());&#xD;
              }</ClientEvent>
            <Property name="iconClass">fa fa-check</Property>
            <Property name="exClassName">btn2</Property>
            <Property name="caption">确定</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">海康RTSP(旧版-子码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text2">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/mpeg4/ch{4}/sub/av_stream</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text2.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsNotice.data:#&quot;);&#xD;
            if(data){&#xD;
            view.get(&quot;#ddNotice&quot;).close(data.toJSON());&#xD;
            }</ClientEvent>
          <Property name="dataSet">dsNotice</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="name">
            <Property name="property">name</Property>
            <Property name="align">center</Property>
            <Property name="width">100</Property>
          </DataColumn>
          <DataColumn>
            <Property name="property">customerName</Property>
            <Property name="align">center</Property>
            <Property name="name">customerName</Property>
            <Property name="width">240</Property>
          </DataColumn>
          <DataColumn name="foodVariety">
            <Property name="property">foodVariety</Property>
            <Property name="align">center</Property>
          </DataColumn>
          <DataColumn name="year">
            <Property name="property">year</Property>
            <Property name="align">center</Property>
          </DataColumn>
          <DataColumn name="contract">
            <Property name="property">contract</Property>
            <Property name="align">center</Property>
            <Property name="width">300</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
    <CustomDropDown id="ddDicArea">
      <Property name="minHeight">500</Property>
      <Property name="minWidth">500</Property>
      <Property name="assignmentMap">foodLocation=name,foodLocationId=code</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsDicArea">
          <Property name="dataProvider">dicAreaPR#pageList</Property>
          <Property name="parameter"></Property>
          <Property name="dataType">[dtArea]</Property>
          <Property name="pageSize">1000</Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key2">
            <Property name="blankText"> -名称或简拼,北京市  bjs -</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key2.value&quot;);&#xD;
              view.get(&quot;#dsDicArea&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
            <Property name="caption">查询</Property>
            <Property name="iconClass">fa fa-search</Property>
            <Property name="exClassName">btn1</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsDicArea.data:#&quot;);&#xD;
              if(data){&#xD;
              view.get(&quot;#ddDicArea&quot;).close(data.toJSON());&#xD;
              }</ClientEvent>
            <Property name="iconClass">fa fa-check</Property>
            <Property name="exClassName">btn2</Property>
            <Property name="caption">确定</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">海康RTSP(新版-主码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text3">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/Streaming/Channels/{4}01</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text3.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">海康RTSP(新版-子码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text4">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/Streaming/Channels/{4}02</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text4.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">大华RTSP(主码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text5">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/cam/realmonitor?channel={4}&amp;subtype=0</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text5.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">大华RTSP(辅码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text6">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/cam/realmonitor?channel={4}&amp;subtype=1</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text6.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">雄迈RTSP(主码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text7">
            <Property name="text">rtsp://{2}:{3}/user={0}&amp;password={1}&amp;channel={4}&amp;stream=0.sdp?real_stream</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text7.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">雄迈RTSP(次码流)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text8">
            <Property name="text">rtsp://{2}:{3}/user={0}&amp;password={1}&amp;channel={4}&amp;stream=1.sdp?real_stream</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text8.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">三星RTSP(高码率)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text9">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/onvif/profile2/media.smp</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text9.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">三星RTSP(低码率)</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text10">
            <Property name="text">rtsp://{0}:{1}@{2}:{3}/onvif/profile3/media.smp</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text10.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <Container>
          <Label>
            <Property name="text">宇视RTSP</Property>
            <Property name="style">
              <Property name="font-weight">bold</Property>
            </Property>
          </Label>
          <Label id="text11">
            <Property name="text">rtsp://{0}:{1}@{2}/media/video1/multicast</Property>
          </Label>
          <Button layoutConstraint="right">
            <ClientEvent name="onClick">view.get(&quot;#mediaAddr&quot;).set(&quot;text&quot;,view.get(&quot;#text11.text&quot;));&#xD;
view.get(&quot;#dialogMeidaSelect&quot;).hide();&#xD;
</ClientEvent>
            <Property name="caption">选择</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
      </Children>
      <Tools/>
    </Dialog>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsDicArea.data:#&quot;);&#xD;
            if(data){&#xD;
            view.get(&quot;#ddDicArea&quot;).close(data.toJSON());&#xD;
            }</ClientEvent>
          <Property name="dataSet">dsDicArea</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="name">
            <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
              arg.processDefault = true;</ClientEvent>
            <Property name="property">name</Property>
            <Property name="readOnly">true</Property>
            <Property name="align">center</Property>
          </DataColumn>
          <DataColumn name="code">
            <Property name="property">code</Property>
            <Property name="readOnly">true</Property>
            <Property name="align">center</Property>
          </DataColumn>
          <DataColumn name="simple">
            <Property name="property">simple</Property>
            <Property name="readOnly">true</Property>
            <Property name="align">center</Property>
          </DataColumn>
        </DataGrid>
        <DataPilot layoutConstraint="bottom">
          <Property name="dataSet">dsDicArea</Property>
        </DataPilot>
      </Container>
    </CustomDropDown>
    <YearDropDown id="yearDropDown"/>
  </View>
</ViewConfig>
fzzy-igdss-view/src/main/java/com/fzzy/igds/InoutStockChangePR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
package com.fzzy.igds;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.igds.domain.Camera;
import com.fzzy.igds.domain.InoutStockChange;
import com.fzzy.igds.service.InoutStockChangeService;
import com.fzzy.igds.service.SecCameraService;
import jdk.nashorn.internal.ir.annotations.Reference;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
 * @Description
 * @Author CZT
 * @Date 2025/12/08 17:48
 */
@Slf4j
@Component
public class InoutStockChangePR {
    @Resource
    private InoutStockChangeService inoutStockChangeService;
    /**
     * inoutStockChangePR#pageData æ ¹æ®æ¡ä»¶èŽ·å–æ‰€æœ‰çš„æ‘„åƒæœºé…ç½®ä¿¡æ¯
     *
     * @param param
     */
    @DataProvider
    public void pageData(Page<InoutStockChange> page, InoutStockChange param) {
        com.baomidou.mybatisplus.extension.plugins.pagination.Page<InoutStockChange> corePage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPageNo(), page.getPageSize());
        if(null == param) {
            param = new InoutStockChange();
        }
        InoutStockChange data = new InoutStockChange();
        BeanUtils.copyProperties(param, data);
        inoutStockChangeService.listPageData(corePage, data);
        // é‡æ–°å°è£…
        page.setEntities(corePage.getRecords());
        page.setEntityCount(Integer.parseInt(String.valueOf(corePage.getTotal())));
    }
    /**
     * inoutStockChangePR#saveData
     *
     * @param data
     */
    @DataResolver
    public void saveData(InoutStockChange data) {
        InoutStockChange item = new InoutStockChange();
        BeanUtils.copyProperties(data, item);
        inoutStockChangeService.saveData(item);
    }
    /**
     * inoutStockChangePR#delData
     *
     * @param data
     * @return
     */
    @Expose
    public String delData(InoutStockChange data) {
        InoutStockChange item = new InoutStockChange();
        BeanUtils.copyProperties(data, item);
        return inoutStockChangeService.delData(item);
    }
}