YYC
2023-09-02 4fa767640ea1aad094db7c1393d02895be7e8c8d
上海新增页面---交易合同中心,定化水检验
已修改11个文件
已添加3个文件
2412 ■■■■■ 文件已修改
src/main/java/com/fzzy/otherview/sh2023/ShApi2104.view.xml 487 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/ShApi2203.view.xml 767 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/ShApi2204.view.xml 533 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2103PR.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2104PR.java 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2203PR.java 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2204PR.java 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1101.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2104.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2203.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/ShApi2104.view.xml
@@ -3,9 +3,492 @@
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2104</Property>
      <PropertyDef name="bydh">
        <Property/>
        <Property name="label">驳运单号</Property>
      </PropertyDef>
      <PropertyDef name="kqdm">
        <Property/>
        <Property name="label">库区代码</Property>
      </PropertyDef>
      <PropertyDef name="jzrq">
        <Property name="dataType">Date</Property>
        <Property name="label">记账日期</Property>
      </PropertyDef>
      <PropertyDef name="khmc">
        <Property/>
        <Property name="label">客户编号</Property>
      </PropertyDef>
      <PropertyDef name="psplan">
        <Property/>
        <Property name="label">来粮预报号/提货单号</Property>
      </PropertyDef>
      <PropertyDef name="hth">
        <Property/>
        <Property name="label">合同号</Property>
      </PropertyDef>
      <PropertyDef name="cch">
        <Property/>
        <Property name="label">车船号</Property>
      </PropertyDef>
      <PropertyDef name="lspzdm">
        <Property/>
        <Property name="label">品种大类</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSPZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lsxzdm">
        <Property/>
        <Property name="label">粮食性质代码</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSXZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lldm">
        <Property/>
        <Property name="label">来粮代码</Property>
      </PropertyDef>
      <PropertyDef name="jz">
        <Property name="dataType">Double</Property>
        <Property name="label">净重</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property/>
        <Property name="label">数据状态</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="zhgxsh">
        <Property name="dataType">Date</Property>
        <Property name="label">最后更新时间</Property>
      </PropertyDef>
      <PropertyDef name="pch">
        <Property/>
        <Property name="label">批次号</Property>
      </PropertyDef>
      <PropertyDef name="bjw">
        <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="value">黄浦区</Property>
                <Property name="key">huangpu</Property>
              </Entity>
              <Entity>
                <Property name="value">徐汇区</Property>
                <Property name="key">xuhui</Property>
              </Entity>
              <Entity>
                <Property name="value">长宁区</Property>
                <Property name="key">changning</Property>
              </Entity>
              <Entity>
                <Property name="value">静安区</Property>
                <Property name="key">jingan</Property>
              </Entity>
              <Entity>
                <Property name="value">普陀区</Property>
                <Property name="key">putuo</Property>
              </Entity>
              <Entity>
                <Property name="value">虹口区</Property>
                <Property name="key">hongkou</Property>
              </Entity>
              <Entity>
                <Property name="value">杨浦区</Property>
                <Property name="key">yangpu</Property>
              </Entity>
              <Entity>
                <Property name="value">闵行区</Property>
                <Property name="key">minhang</Property>
              </Entity>
              <Entity>
                <Property name="value">宝山区</Property>
                <Property name="key">baoshan</Property>
              </Entity>
              <Entity>
                <Property name="value">嘉定区</Property>
                <Property name="key">jiading</Property>
              </Entity>
              <Entity>
                <Property name="value">浦东新区</Property>
                <Property name="key">pudong</Property>
              </Entity>
              <Entity>
                <Property name="value">金山区</Property>
                <Property name="key">jinshan</Property>
              </Entity>
              <Entity>
                <Property name="value">松江区</Property>
                <Property name="key">songjiang</Property>
              </Entity>
              <Entity>
                <Property name="value">青浦区</Property>
                <Property name="key">qingpu</Property>
              </Entity>
              <Entity>
                <Property name="value">奉贤区</Property>
                <Property name="key">fengxian</Property>
              </Entity>
              <Entity>
                <Property name="value">崇明区</Property>
                <Property name="key">chongming</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtParam">
      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
      <PropertyDef name="kqdm">
        <Property></Property>
        <Property name="label">所属库区</Property>
      </PropertyDef>
      <PropertyDef name="start">
        <Property name="dataType">Date</Property>
        <Property name="label">开始时间</Property>
      </PropertyDef>
      <PropertyDef name="end">
        <Property name="dataType">Date</Property>
        <Property name="label">截止时间</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property></Property>
        <Property name="label">操作标志</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="regionPadding:10">
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">sHApi2104PR#listData</Property>
      <Property name="pageSize">15</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <ClientEvent name="onReady">self.insert();</ClientEvent>
      <Property name="dataType">dtParam</Property>
    </DataSet>
    <ToolBar>
      <ToolBarLabel>
        <Property name="text">工具栏:</Property>
        <Property name="style">
          <Property name="font-weight">bold</Property>
        </Property>
      </ToolBarLabel>
      <ToolBarButton>
        <ClientEvent name="onClick">var query = view.get(&quot;#dsQuery&quot;).getData();&#xD;
view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,query).flushAsync();</ClientEvent>
        <Property name="caption">查询</Property>
        <Property name="iconClass">fa fa-search</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button-push</Property>
      </ToolBarButton>
      <ToolBarButton id="btnAdd">
        <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert();&#xD;
view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
        <Property name="caption">新增</Property>
        <Property name="iconClass">fa fa-plus</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton id="btnUpdate">
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#dialogMain&quot;).show();&#xD;
}</ClientEvent>
        <Property name="caption">修改</Property>
        <Property name="iconClass">fa fa-pencil</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button-warm</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#ajaxDelUpdate&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    } else{&#xD;
        cur.set(&quot;czbz&quot;,&quot;d&quot;)&#xD;
    }&#xD;
});&#xD;
</ClientEvent>
        <Property name="caption">标记删除</Property>
        <Property name="iconClass">fa fa-minus</Property>
        <Property name="exClassName">toolbar-button-warn</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <ToolBarButton id="btnDel">
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    } else{&#xD;
        cur.remove();&#xD;
    }&#xD;
});&#xD;
</ClientEvent>
        <Property name="caption">直接删除</Property>
        <Property name="iconClass">fa fa-minus</Property>
        <Property name="exClassName">toolbar-button-warn</Property>
        <Property name="width">100</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var select = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
if(select &amp;&amp; select.length > 0){&#xD;
    view.get(&quot;#ajaxPush&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
        view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
          $notify(result);&#xD;
    });&#xD;
}else{&#xD;
    $alert(&quot;请勾选上报数据!&quot;);&#xD;
}&#xD;
</ClientEvent>
        <Property name="caption">手动上传</Property>
        <Property name="iconClass">fa fa-hand-o-up</Property>
        <Property name="exClassName">toolbar-button-push</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <Fill/>
      <ToolBarButton>
        <Property name="caption">上传记录</Property>
        <Property name="iconClass">fa fa-bars</Property>
        <Property name="exClassName">toolbar-button</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
    </ToolBar>
    <AutoForm>
      <Property name="dataSet">dsQuery</Property>
      <Property name="cols">*,*,*,*</Property>
      <Property name="labelAlign">right</Property>
      <Property name="labelSeparator">:</Property>
      <Property name="labelWidth">90</Property>
      <AutoFormElement>
        <Property name="name">kqdm</Property>
        <Property name="property">kqdm</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">start</Property>
        <Property name="property">start</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">end</Property>
        <Property name="property">end</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">czbz</Property>
        <Property name="property">czbz</Property>
        <Property name="trigger">autoMappingDropDown2</Property>
        <Editor/>
      </AutoFormElement>
    </AutoForm>
    <DataGrid id="dgMain">
      <ClientEvent name="onDataRowDoubleClick">view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
      <Property name="dataSet">dsMain</Property>
      <Property name="selectionMode">multiRows</Property>
      <Property name="readOnly">true</Property>
      <RowNumColumn/>
      <RowSelectorColumn>
        <Property name="caption">上传</Property>
      </RowSelectorColumn>
      <DataColumn name="bydh">
        <Property name="property">bydh</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="kqdm">
        <Property name="property">kqdm</Property>
        <Property name="align">center</Property>
        <Property name="width">200</Property>
      </DataColumn>
      <DataColumn name="lspzdm">
        <Property name="property">lspzdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="lsxzdm">
        <Property name="property">lsxzdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="lldm">
        <Property name="property">lldm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="jz">
        <Property name="property">jz</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsh">
        <Property name="property">zhgxsh</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="bjw">
        <Property name="property">bjw</Property>
        <Property name="align">center</Property>
      </DataColumn>
    </DataGrid>
    <ToolBar layoutConstraint="bottom">
      <Fill/>
      <DataPilot>
        <Property name="itemCodes">pageSize,pages</Property>
        <Property name="dataSet">dsMain</Property>
      </DataPilot>
    </ToolBar>
    <Dialog id="dialogMain">
      <Property name="width">80%</Property>
      <Property name="caption">到仓信息</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="closeable">false</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
});</ClientEvent>
          <Property name="caption">保存修改</Property>
          <Property name="iconClass">fa fa-check</Property>
          <Property name="exClassName">toolbar-button</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
if(cur) cur.cancel();</ClientEvent>
          <Property name="caption">取消修改</Property>
          <Property name="iconClass">fa fa-times</Property>
          <Property name="exClassName">toolbar-button-warn</Property>
        </Button>
      </Buttons>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="cols">*,*,*</Property>
          <Property name="labelAlign">left</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="labelPosition">top</Property>
          <AutoFormElement>
            <Property name="name">bydh</Property>
            <Property name="property">bydh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">kqdm</Property>
            <Property name="property">kqdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jzrq</Property>
            <Property name="property">jzrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">khmc</Property>
            <Property name="property">khmc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">psplan</Property>
            <Property name="property">psplan</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">hth</Property>
            <Property name="property">hth</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cch</Property>
            <Property name="property">cch</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lspzdm</Property>
            <Property name="property">lspzdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lsxzdm</Property>
            <Property name="property">lsxzdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lldm</Property>
            <Property name="property">lldm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jz</Property>
            <Property name="property">jz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">czbz</Property>
            <Property name="property">czbz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zhgxsh</Property>
            <Property name="property">zhgxsh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">pch</Property>
            <Property name="property">pch</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bjw</Property>
            <Property name="property">bjw</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">sHApi2104PR#saveData</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">sHApi2104PR#pushData</Property>
      <Property name="confirmMessage">确定要上报么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDel">
      <Property name="service">sHApi2104PR#delData</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="service">sHApi2104PR#delUpdate</Property>
      <Property name="confirmMessage">确定要将数据标记为删除么?</Property>
    </AjaxAction>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/sh2023/ShApi2203.view.xml
@@ -3,9 +3,772 @@
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2203</Property>
      <PropertyDef name="htbh">
        <Property/>
        <Property name="label">合同号</Property>
      </PropertyDef>
      <PropertyDef name="bdh">
        <Property/>
        <Property name="label">标的号</Property>
      </PropertyDef>
      <PropertyDef name="cjrq">
        <Property name="dataType">Date</Property>
        <Property name="label">成交日期</Property>
      </PropertyDef>
      <PropertyDef name="jyzt">
        <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"/>
                <Property name="value"/>
              </Entity>
              <Entity>
                <Property name="key">00</Property>
                <Property name="value">已终止</Property>
              </Entity>
              <Entity>
                <Property name="key">01</Property>
                <Property name="value">新制</Property>
              </Entity>
              <Entity>
                <Property name="key">02</Property>
                <Property name="value">已签约</Property>
              </Entity>
              <Entity>
                <Property name="key">03</Property>
                <Property name="value">已完结</Property>
              </Entity>
              <Entity>
                <Property name="key">04</Property>
                <Property name="value">部分终止</Property>
              </Entity>
              <Entity>
                <Property name="key">05</Property>
                <Property name="value">进行中</Property>
              </Entity>
              <Entity>
                <Property name="key">06</Property>
                <Property name="value">已验收</Property>
              </Entity>
              <Entity>
                <Property name="key">07</Property>
                <Property name="value">可归档</Property>
              </Entity>
              <Entity>
                <Property name="key">08</Property>
                <Property name="value">已归档</Property>
              </Entity>
              <Entity>
                <Property name="key">09</Property>
                <Property name="value">冻结保证金</Property>
              </Entity>
              <Entity>
                <Property name="key">10</Property>
                <Property name="value">违约</Property>
              </Entity>
              <Entity>
                <Property name="key">11</Property>
                <Property name="value">流拍</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lsxz">
        <Property/>
        <Property name="label">粮食性质</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSXZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lspzdl">
        <Property/>
        <Property name="label">粮食品种大类</Property>
      </PropertyDef>
      <PropertyDef name="lspzmx">
        <Property/>
        <Property name="label">粮食品种明细</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSPZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="scnf">
        <Property/>
        <Property name="label">生产年份</Property>
      </PropertyDef>
      <PropertyDef name="kd">
        <Property/>
        <Property name="label">库点</Property>
      </PropertyDef>
      <PropertyDef name="bmfqc">
        <Property/>
        <Property name="label">买方全称</Property>
      </PropertyDef>
      <PropertyDef name="smfqc">
        <Property/>
        <Property name="label">卖方全称</Property>
      </PropertyDef>
      <PropertyDef name="cjsl">
        <Property name="dataType">Double</Property>
        <Property name="label">成交数量</Property>
        <Property name="displayFormat">#0.00吨</Property>
      </PropertyDef>
      <PropertyDef name="cjje">
        <Property name="dataType">Double</Property>
        <Property name="label">成交金额</Property>
        <Property name="displayFormat">#0.00元</Property>
      </PropertyDef>
      <PropertyDef name="qpj">
        <Property name="dataType">Double</Property>
        <Property name="label">起拍价</Property>
        <Property name="displayFormat">#0.00元</Property>
      </PropertyDef>
      <PropertyDef name="cjj">
        <Property name="dataType">Double</Property>
        <Property name="label">成交价</Property>
        <Property name="displayFormat">#0.00元</Property>
      </PropertyDef>
      <PropertyDef name="yjfd">
        <Property name="dataType">Double</Property>
        <Property name="label">溢价幅度</Property>
        <Property name="displayFormat">#0.00</Property>
      </PropertyDef>
      <PropertyDef name="bmfsxf">
        <Property name="dataType">Double</Property>
        <Property name="label">买方手续费</Property>
        <Property name="displayFormat">#0.00元</Property>
      </PropertyDef>
      <PropertyDef name="smfsxf">
        <Property/>
        <Property name="label">卖方手续费</Property>
        <Property name="dataType">Double</Property>
        <Property name="displayFormat">#0.00元</Property>
      </PropertyDef>
      <PropertyDef name="lx">
        <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">0</Property>
                <Property name="value">采购订单</Property>
              </Entity>
              <Entity>
                <Property name="key">1</Property>
                <Property name="value">销售订单</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="bmfxzqh">
        <Property/>
        <Property name="label">买方行政区划</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;gbAreaPR#listAll&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="smfxzqh">
        <Property/>
        <Property name="label">卖方行政区划</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;gbAreaPR#listAll&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="hwmc">
        <Property/>
        <Property name="label">货位名称</Property>
      </PropertyDef>
      <PropertyDef name="jyxzqh">
        <Property/>
        <Property name="label">交易行政区划</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;gbAreaPR#listAll&quot;).getResult()}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property/>
        <Property name="label">操作标志</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="zhgxsj">
        <Property name="dataType">Date</Property>
        <Property name="label">最后更新时间</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtParam">
      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
      <PropertyDef name="kqdm">
        <Property></Property>
        <Property name="label">所属库区</Property>
      </PropertyDef>
      <PropertyDef name="start">
        <Property name="dataType">Date</Property>
        <Property name="label">开始时间</Property>
      </PropertyDef>
      <PropertyDef name="end">
        <Property name="dataType">Date</Property>
        <Property name="label">截止时间</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property></Property>
        <Property name="label">操作标志</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtGBArea">
      <Property name="creationType">com.fzzy.api.entity.GbArea</Property>
      <PropertyDef name="code">
        <Property></Property>
        <Property name="label">接口编码</Property>
      </PropertyDef>
      <PropertyDef name="name">
        <Property></Property>
        <Property name="label">名称</Property>
      </PropertyDef>
      <PropertyDef name="parentCode">
        <Property></Property>
        <Property name="label">父编码</Property>
      </PropertyDef>
      <PropertyDef name="disabledTag">
        <Property></Property>
        <Property name="label">禁用</Property>
      </PropertyDef>
      <PropertyDef name="simple">
        <Property></Property>
        <Property name="label">是否默认</Property>
      </PropertyDef>
      <PropertyDef name="remark">
        <Property></Property>
        <Property name="label">备注说明</Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="regionPadding:10">
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">sHApi2203PR#listData</Property>
      <Property name="pageSize">15</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <ClientEvent name="onReady">self.insert();</ClientEvent>
      <Property name="dataType">dtParam</Property>
    </DataSet>
    <ToolBar>
      <ToolBarLabel>
        <Property name="text">工具栏:</Property>
        <Property name="style">
          <Property name="font-weight">bold</Property>
        </Property>
      </ToolBarLabel>
      <ToolBarButton>
        <ClientEvent name="onClick">var query = view.get(&quot;#dsQuery&quot;).getData();&#xD;
view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,query).flushAsync();</ClientEvent>
        <Property name="caption">查询</Property>
        <Property name="iconClass">fa fa-search</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button-push</Property>
      </ToolBarButton>
      <ToolBarButton id="btnAdd">
        <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert();&#xD;
view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
        <Property name="caption">新增</Property>
        <Property name="iconClass">fa fa-plus</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton id="btnUpdate">
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#dialogMain&quot;).show();&#xD;
}</ClientEvent>
        <Property name="caption">修改</Property>
        <Property name="iconClass">fa fa-pencil</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button-warm</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#ajaxDelUpdate&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    } else{&#xD;
        cur.set(&quot;czbz&quot;,&quot;d&quot;)&#xD;
    }&#xD;
});&#xD;
</ClientEvent>
        <Property name="caption">标记删除</Property>
        <Property name="iconClass">fa fa-minus</Property>
        <Property name="exClassName">toolbar-button-warn</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <ToolBarButton id="btnDel">
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    } else{&#xD;
        cur.remove();&#xD;
    }&#xD;
});&#xD;
</ClientEvent>
        <Property name="caption">直接删除</Property>
        <Property name="iconClass">fa fa-minus</Property>
        <Property name="exClassName">toolbar-button-warn</Property>
        <Property name="width">100</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var select = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
if(select &amp;&amp; select.length > 0){&#xD;
    view.get(&quot;#ajaxPush&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
        view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
          $notify(result);&#xD;
    });&#xD;
}else{&#xD;
    $alert(&quot;请勾选上报数据!&quot;);&#xD;
}&#xD;
</ClientEvent>
        <Property name="caption">手动上传</Property>
        <Property name="iconClass">fa fa-hand-o-up</Property>
        <Property name="exClassName">toolbar-button-push</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <Fill/>
      <ToolBarButton>
        <Property name="caption">上传记录</Property>
        <Property name="iconClass">fa fa-bars</Property>
        <Property name="exClassName">toolbar-button</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
    </ToolBar>
    <AutoForm>
      <Property name="dataSet">dsQuery</Property>
      <Property name="cols">*,*,*,*</Property>
      <Property name="labelAlign">right</Property>
      <Property name="labelSeparator">:</Property>
      <Property name="labelWidth">90</Property>
      <AutoFormElement>
        <Property name="name">kqdm</Property>
        <Property name="property">kqdm</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">start</Property>
        <Property name="property">start</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">end</Property>
        <Property name="property">end</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">czbz</Property>
        <Property name="property">czbz</Property>
        <Property name="trigger">autoMappingDropDown2</Property>
        <Editor/>
      </AutoFormElement>
    </AutoForm>
    <DataGrid id="dgMain">
      <ClientEvent name="onDataRowDoubleClick">view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
      <Property name="dataSet">dsMain</Property>
      <Property name="selectionMode">multiRows</Property>
      <Property name="readOnly">true</Property>
      <RowNumColumn/>
      <RowSelectorColumn>
        <Property name="caption">上传</Property>
      </RowSelectorColumn>
      <DataColumn name="htbh">
        <Property name="property">htbh</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="jyzt">
        <Property name="property">jyzt</Property>
      </DataColumn>
      <DataColumn name="lspzmx">
        <Property name="property">lspzmx</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="scnf">
        <Property name="property">scnf</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="jyxzqh">
        <Property name="property">jyxzqh</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsj">
        <Property name="property">zhgxsj</Property>
        <Property name="align">center</Property>
      </DataColumn>
    </DataGrid>
    <ToolBar layoutConstraint="bottom">
      <Fill/>
      <DataPilot>
        <Property name="itemCodes">pageSize,pages</Property>
        <Property name="dataSet">dsMain</Property>
      </DataPilot>
    </ToolBar>
    <Dialog id="dialogMain">
      <Property name="width">80%</Property>
      <Property name="caption">到仓信息</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="closeable">false</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
});</ClientEvent>
          <Property name="caption">保存修改</Property>
          <Property name="iconClass">fa fa-check</Property>
          <Property name="exClassName">toolbar-button</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
if(cur) cur.cancel();</ClientEvent>
          <Property name="caption">取消修改</Property>
          <Property name="iconClass">fa fa-times</Property>
          <Property name="exClassName">toolbar-button-warn</Property>
        </Button>
      </Buttons>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="cols">*,*,*</Property>
          <Property name="labelAlign">left</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="labelPosition">left</Property>
          <Property name="labelWidth">120</Property>
          <AutoFormElement>
            <Property name="name">htbh</Property>
            <Property name="property">htbh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bdh</Property>
            <Property name="property">bdh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cjrq</Property>
            <Property name="property">cjrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jyzt</Property>
            <Property name="property">jyzt</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lsxz</Property>
            <Property name="property">lsxz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lspzdl</Property>
            <Property name="property">lspzdl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lspzmx</Property>
            <Property name="property">lspzmx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">scnf</Property>
            <Property name="property">scnf</Property>
            <Property name="trigger">defaultYearDropDown</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">kd</Property>
            <Property name="property">kd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bmfqc</Property>
            <Property name="property">bmfqc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">smfqc</Property>
            <Property name="property">smfqc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cjsl</Property>
            <Property name="property">cjsl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cjje</Property>
            <Property name="property">cjje</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">qpj</Property>
            <Property name="property">qpj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cjj</Property>
            <Property name="property">cjj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">yjfd</Property>
            <Property name="property">yjfd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bmfsxf</Property>
            <Property name="property">bmfsxf</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">smfsxf</Property>
            <Property name="property">smfsxf</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lx</Property>
            <Property name="property">lx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bmfxzqh</Property>
            <Property name="property">bmfxzqh</Property>
            <Property name="trigger">cddGbArea</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">smfxzqh</Property>
            <Property name="property">smfxzqh</Property>
            <Property name="trigger">cddGbArea1</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">hwmc</Property>
            <Property name="property">hwmc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jyxzqh</Property>
            <Property name="property">jyxzqh</Property>
            <Property name="trigger">cddGbArea2</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">czbz</Property>
            <Property name="property">czbz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zhgxsj</Property>
            <Property name="property">zhgxsj</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">sHApi2203PR#saveData</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">sHApi2203PR#pushData</Property>
      <Property name="confirmMessage">确定要上报么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDel">
      <Property name="service">sHApi2203PR#delData</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="service">sHApi2203PR#delUpdate</Property>
      <Property name="confirmMessage">确定要将数据标记为删除么?</Property>
    </AjaxAction>
    <CustomDropDown id="cddGbArea">
      <Property name="assignmentMap">bmfxzqh=code</Property>
      <Property name="height">500</Property>
      <Property name="minHeight">500</Property>
      <Property name="maxHeight">500</Property>
      <Property name="width">400</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsGBArea">
          <Property name="dataProvider">gbAreaPR#findByCode</Property>
          <Property name="dataType">[dtGBArea]</Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key2">
            <Property name="blankText"> -- ç¼–码或者名称 --</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key2.value&quot;);&#xD;
view.get(&quot;#dsGBArea&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
            <Property name="iconClass">fa fa-search</Property>
            <Property name="caption">查询</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsGBArea.data:#&quot;);&#xD;
if (data) {&#xD;
    view.get(&quot;#cddGbArea&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
            <Property name="caption">确定</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsGBArea.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#cddGbArea&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
          <Property name="dataSet">dsGBArea</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="code">
            <Property name="property">code</Property>
          </DataColumn>
          <DataColumn name="name">
            <Property name="property">name</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
    <CustomDropDown id="cddGbArea1">
      <Property name="assignmentMap">smfxzqh=code</Property>
      <Property name="height">500</Property>
      <Property name="minHeight">500</Property>
      <Property name="maxHeight">500</Property>
      <Property name="width">400</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsGBArea1">
          <Property name="dataProvider">gbAreaPR#findByCode</Property>
          <Property name="dataType">[dtGBArea]</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;
view.get(&quot;#dsGBArea1&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
            <Property name="iconClass">fa fa-search</Property>
            <Property name="caption">查询</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsGBArea1.data:#&quot;);&#xD;
if (data) {&#xD;
    view.get(&quot;#cddGbArea1&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
            <Property name="caption">确定</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsGBArea1.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#cddGbArea1&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
          <Property name="dataSet">dsGBArea1</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="code">
            <Property name="property">code</Property>
          </DataColumn>
          <DataColumn name="name">
            <Property name="property">name</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
    <CustomDropDown id="cddGbArea2">
      <Property name="assignmentMap">jyxzqh=code</Property>
      <Property name="height">500</Property>
      <Property name="minHeight">500</Property>
      <Property name="maxHeight">500</Property>
      <Property name="width">400</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsGBArea2">
          <Property name="dataProvider">gbAreaPR#findByCode</Property>
          <Property name="dataType">[dtGBArea]</Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key4">
            <Property name="blankText"> -- ç¼–码或者名称 --</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key4.value&quot;);&#xD;
view.get(&quot;#dsGBArea2&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
            <Property name="iconClass">fa fa-search</Property>
            <Property name="caption">查询</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsGBArea2.data:#&quot;);&#xD;
if (data) {&#xD;
    view.get(&quot;#cddGbArea2&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
            <Property name="caption">确定</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsGBArea2.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#cddGbArea2&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
          <Property name="dataSet">dsGBArea2</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="code">
            <Property name="property">code</Property>
          </DataColumn>
          <DataColumn name="name">
            <Property name="property">name</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/sh2023/ShApi2204.view.xml
@@ -3,9 +3,538 @@
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api2204</Property>
      <PropertyDef name="zjbgdh">
        <Property/>
        <Property name="label">质检报告单号</Property>
      </PropertyDef>
      <PropertyDef name="hwdm">
        <Property/>
        <Property name="label">货位代码</Property>
      </PropertyDef>
      <PropertyDef name="lsxzdm">
        <Property/>
        <Property name="label">粮食性质代码</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSXZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lspzdm">
        <Property/>
        <Property name="label">粮食品种代码</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSPZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lsdjdm">
        <Property/>
        <Property name="label">粮食等级代码</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSDJ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="jysj">
        <Property name="dataType">Date</Property>
        <Property name="label">检验时间</Property>
      </PropertyDef>
      <PropertyDef name="jyr">
        <Property/>
        <Property name="label">检验人</Property>
      </PropertyDef>
      <PropertyDef name="jyyj">
        <Property/>
        <Property name="label">检验依据</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;JYYJ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="sf">
        <Property name="dataType">Double</Property>
        <Property name="label">水分</Property>
        <Property name="displayFormat">#0.00</Property>
      </PropertyDef>
      <PropertyDef name="rksf">
        <Property name="dataType">Double</Property>
        <Property name="label">入库水分</Property>
        <Property name="displayFormat">#0.00</Property>
      </PropertyDef>
      <PropertyDef name="qysj">
        <Property name="dataType">Date</Property>
        <Property name="label">扦样时间</Property>
      </PropertyDef>
      <PropertyDef name="lldm">
        <Property/>
        <Property name="label">来粮代码</Property>
      </PropertyDef>
      <PropertyDef name="bz">
        <Property/>
        <Property name="label">备注</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property/>
        <Property name="label">操作标志</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="zhgxsj">
        <Property name="dataType">DateTime</Property>
        <Property name="label">最后更新时间</Property>
      </PropertyDef>
      <PropertyDef name="bjw">
        <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="value">黄浦区</Property>
                <Property name="key">huangpu</Property>
              </Entity>
              <Entity>
                <Property name="value">徐汇区</Property>
                <Property name="key">xuhui</Property>
              </Entity>
              <Entity>
                <Property name="value">长宁区</Property>
                <Property name="key">changning</Property>
              </Entity>
              <Entity>
                <Property name="value">静安区</Property>
                <Property name="key">jingan</Property>
              </Entity>
              <Entity>
                <Property name="value">普陀区</Property>
                <Property name="key">putuo</Property>
              </Entity>
              <Entity>
                <Property name="value">虹口区</Property>
                <Property name="key">hongkou</Property>
              </Entity>
              <Entity>
                <Property name="value">杨浦区</Property>
                <Property name="key">yangpu</Property>
              </Entity>
              <Entity>
                <Property name="value">闵行区</Property>
                <Property name="key">minhang</Property>
              </Entity>
              <Entity>
                <Property name="value">宝山区</Property>
                <Property name="key">baoshan</Property>
              </Entity>
              <Entity>
                <Property name="value">嘉定区</Property>
                <Property name="key">jiading</Property>
              </Entity>
              <Entity>
                <Property name="value">浦东新区</Property>
                <Property name="key">pudong</Property>
              </Entity>
              <Entity>
                <Property name="value">金山区</Property>
                <Property name="key">jinshan</Property>
              </Entity>
              <Entity>
                <Property name="value">松江区</Property>
                <Property name="key">songjiang</Property>
              </Entity>
              <Entity>
                <Property name="value">青浦区</Property>
                <Property name="key">qingpu</Property>
              </Entity>
              <Entity>
                <Property name="value">奉贤区</Property>
                <Property name="key">fengxian</Property>
              </Entity>
              <Entity>
                <Property name="value">崇明区</Property>
                <Property name="key">chongming</Property>
              </Entity>
            </Collection>
          </Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="pch">
        <Property/>
        <Property name="label">批次号</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtParam">
      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
      <PropertyDef name="kqdm">
        <Property></Property>
        <Property name="label">所属库区</Property>
      </PropertyDef>
      <PropertyDef name="start">
        <Property name="dataType">Date</Property>
        <Property name="label">开始时间</Property>
      </PropertyDef>
      <PropertyDef name="end">
        <Property name="dataType">Date</Property>
        <Property name="label">截止时间</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property></Property>
        <Property name="label">操作标志</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="regionPadding:10">
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">sHApi2204PR#listData</Property>
      <Property name="pageSize">15</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <ClientEvent name="onReady">self.insert();</ClientEvent>
      <Property name="dataType">dtParam</Property>
    </DataSet>
    <ToolBar>
      <ToolBarLabel>
        <Property name="text">工具栏:</Property>
        <Property name="style">
          <Property name="font-weight">bold</Property>
        </Property>
      </ToolBarLabel>
      <ToolBarButton>
        <ClientEvent name="onClick">var query = view.get(&quot;#dsQuery&quot;).getData();&#xD;
view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,query).flushAsync();</ClientEvent>
        <Property name="caption">查询</Property>
        <Property name="iconClass">fa fa-search</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button-push</Property>
      </ToolBarButton>
      <ToolBarButton id="btnAdd">
        <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert();&#xD;
view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
        <Property name="caption">新增</Property>
        <Property name="iconClass">fa fa-plus</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton id="btnUpdate">
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#dialogMain&quot;).show();&#xD;
}</ClientEvent>
        <Property name="caption">修改</Property>
        <Property name="iconClass">fa fa-pencil</Property>
        <Property name="width">100</Property>
        <Property name="exClassName">toolbar-button-warm</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#ajaxDelUpdate&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    } else{&#xD;
        cur.set(&quot;czbz&quot;,&quot;d&quot;)&#xD;
    }&#xD;
});&#xD;
</ClientEvent>
        <Property name="caption">标记删除</Property>
        <Property name="iconClass">fa fa-minus</Property>
        <Property name="exClassName">toolbar-button-warn</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <ToolBarButton id="btnDel">
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    } else{&#xD;
        cur.remove();&#xD;
    }&#xD;
});&#xD;
</ClientEvent>
        <Property name="caption">直接删除</Property>
        <Property name="iconClass">fa fa-minus</Property>
        <Property name="exClassName">toolbar-button-warn</Property>
        <Property name="width">100</Property>
        <Property name="hideMode">display</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var select = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
if(select &amp;&amp; select.length > 0){&#xD;
    view.get(&quot;#ajaxPush&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
        view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
          $notify(result);&#xD;
    });&#xD;
}else{&#xD;
    $alert(&quot;请勾选上报数据!&quot;);&#xD;
}&#xD;
</ClientEvent>
        <Property name="caption">手动上传</Property>
        <Property name="iconClass">fa fa-hand-o-up</Property>
        <Property name="exClassName">toolbar-button-push</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <Fill/>
      <ToolBarButton>
        <Property name="caption">上传记录</Property>
        <Property name="iconClass">fa fa-bars</Property>
        <Property name="exClassName">toolbar-button</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
    </ToolBar>
    <AutoForm>
      <Property name="dataSet">dsQuery</Property>
      <Property name="cols">*,*,*,*</Property>
      <Property name="labelAlign">right</Property>
      <Property name="labelSeparator">:</Property>
      <Property name="labelWidth">90</Property>
      <AutoFormElement>
        <Property name="name">kqdm</Property>
        <Property name="property">kqdm</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">start</Property>
        <Property name="property">start</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">end</Property>
        <Property name="property">end</Property>
        <Editor/>
      </AutoFormElement>
      <AutoFormElement>
        <Property name="name">czbz</Property>
        <Property name="property">czbz</Property>
        <Property name="trigger">autoMappingDropDown2</Property>
        <Editor/>
      </AutoFormElement>
    </AutoForm>
    <DataGrid id="dgMain">
      <ClientEvent name="onDataRowDoubleClick">view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
      <Property name="dataSet">dsMain</Property>
      <Property name="selectionMode">multiRows</Property>
      <Property name="readOnly">true</Property>
      <RowNumColumn/>
      <RowSelectorColumn>
        <Property name="caption">上传</Property>
      </RowSelectorColumn>
      <DataColumn name="zjbgdh">
        <Property name="property">zjbgdh</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="hwdm">
        <Property name="property">hwdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="lsxzdm">
        <Property name="property">lsxzdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="lspzdm">
        <Property name="property">lspzdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="lsdjdm">
        <Property name="property">lsdjdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="jysj">
        <Property name="property">jysj</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="jyyj">
        <Property name="property">jyyj</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="sf">
        <Property name="property">sf</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="rksf">
        <Property name="property">rksf</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="qysj">
        <Property name="property">qysj</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsj">
        <Property name="property">zhgxsj</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="bjw">
        <Property name="property">bjw</Property>
        <Property name="align">center</Property>
      </DataColumn>
    </DataGrid>
    <ToolBar layoutConstraint="bottom">
      <Fill/>
      <DataPilot>
        <Property name="itemCodes">pageSize,pages</Property>
        <Property name="dataSet">dsMain</Property>
      </DataPilot>
    </ToolBar>
    <Dialog id="dialogMain">
      <Property name="width">80%</Property>
      <Property name="caption">到仓信息</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="closeable">false</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
});</ClientEvent>
          <Property name="caption">保存修改</Property>
          <Property name="iconClass">fa fa-check</Property>
          <Property name="exClassName">toolbar-button</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
if(cur) cur.cancel();</ClientEvent>
          <Property name="caption">取消修改</Property>
          <Property name="iconClass">fa fa-times</Property>
          <Property name="exClassName">toolbar-button-warn</Property>
        </Button>
      </Buttons>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="cols">*,*,*</Property>
          <Property name="labelAlign">left</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="labelPosition">left</Property>
          <Property name="labelWidth">120</Property>
          <AutoFormElement>
            <Property name="name">zjbgdh</Property>
            <Property name="property">zjbgdh</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">hwdm</Property>
            <Property name="property">hwdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lsxzdm</Property>
            <Property name="property">lsxzdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lspzdm</Property>
            <Property name="property">lspzdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lsdjdm</Property>
            <Property name="property">lsdjdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jysj</Property>
            <Property name="property">jysj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jyr</Property>
            <Property name="property">jyr</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jyyj</Property>
            <Property name="property">jyyj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sf</Property>
            <Property name="property">sf</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">rksf</Property>
            <Property name="property">rksf</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">qysj</Property>
            <Property name="property">qysj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lldm</Property>
            <Property name="property">lldm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">czbz</Property>
            <Property name="property">czbz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zhgxsj</Property>
            <Property name="property">zhgxsj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">bjw</Property>
            <Property name="property">bjw</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">pch</Property>
            <Property name="property">pch</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">bz</Property>
            <Property name="property">bz</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">sHApi2204PR#saveData</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">sHApi2204PR#pushData</Property>
      <Property name="confirmMessage">确定要上报么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDel">
      <Property name="service">sHApi2204PR#delData</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="service">sHApi2204PR#delUpdate</Property>
      <Property name="confirmMessage">确定要将数据标记为删除么?</Property>
    </AjaxAction>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
@@ -180,12 +180,12 @@
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getBizId());
                    infoData.setId(data.getDrdh());
                    infoData.setKqdm(data.getDrhwdm().substring(0, 21));
                    infoData.setInteType("21");
                    infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2102);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(data.getBizId());
                    infoData.setDataId(data.getDrdh());
                    data.setCzbz(Constant.CZBZ_U);
                    infoData.setCzbz(Constant.CZBZ_U);
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2103PR.java
@@ -186,12 +186,12 @@
            for (SH2023Api2103 data : items) {
                infoData = new ApiInfoData();
                infoData.setId(data.getBizId());
                infoData.setKqdm(data.getKqdm());
                infoData.setId(data.getHwdm());
                infoData.setKqdm(data.getHwdm().substring(0, 21));
                infoData.setInteType("21");
                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2103);
                infoData.setUpdateTime(new Date());
                infoData.setDataId(data.getBizId());
                infoData.setDataId(data.getHwdm());
                infoData.setCzbz(Constant.CZBZ_U);
                infoData.setData(JSON.toJSONString(data));
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2104PR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,199 @@
package com.fzzy.otherview.sh2023.pr;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
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.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiPushManager;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2104;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Component;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * å¸‚储驳运单信息
 *
 * @Author:YAN
 */
@Component(value = "sHApi2104PR")
public class SHApi2104PR {
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiPushManager apiPushManager;
    /**
     * èŽ·å–ä¿¡æ¯
     * sHApi2104PR#listData
     *
     * @return
     */
    @DataProvider
    public void listData(Page<SH2023Api2104> page, ApiParam param) {
        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
        Specification specification = new Specification<ApiInfoData>() {
            private static final long serialVersionUID = 1L;
            @Override
            public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
                List<Predicate> predicates = new ArrayList<>(); //所有的断言
                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_2104);
                predicates.add(predicate);
                if (null != param) {
                    if (StringUtils.isNotBlank(param.getKqdm())) {
                        Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm());
                        predicates.add(predicate1);
                    }
                    if (StringUtils.isNotBlank(param.getCzbz())) {
                        Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz());
                        predicates.add(predicate2);
                    }
                    if (null != param.getStart()) {
                        Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart()));
                        predicates.add(predicate3);
                    }
                    if (null != param.getEnd()) {
                        Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd()));
                        predicates.add(predicate4);
                    }
                }
                return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
            }
        };
        org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable);
        page.setEntityCount((int) japPage.getTotalElements());
        List<SH2023Api2104> list = new ArrayList<>();
        SH2023Api2104 sh2023Api2104;
        for (ApiInfoData infoData : japPage.getContent()) {
            sh2023Api2104 = JSONObject.parseObject(infoData.getData(), SH2023Api2104.class);
            list.add(sh2023Api2104);
        }
        page.setEntities(list);
    }
    /**
     * sHApi2104PR#saveData
     */
    @DataResolver
    public void saveData(SH2023Api2104 data) {
        ApiInfoData infoData = new ApiInfoData();
        infoData.setId(data.getBydh());
        infoData.setKqdm(data.getKqdm());
        infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
        infoData.setUpdateTime(new Date());
        infoData.setDataId(data.getBydh());
        infoData.setData(JSON.toJSONString(data));
        infoData.setCzbz(data.getCzbz());
        infoData.setRemarks("备注信息");
        apiInfoDataRep.save(infoData);
    }
    /**
     * sHApi2104PR#delData
     */
    @Expose
    public void delData(SH2023Api2104 data) {
        apiInfoDataRep.deleteById(data.getBydh());
    }
    /**
     * sHApi2104PR#delUpdate
     */
    @Expose
    public String delUpdate(SH2023Api2104 entity) {
        if (null == entity) {
            return "无数据执行";
        }
        entity.setCzbz(Constant.CZBZ_D);
        apiInfoDataRep.updateStatus(entity.getBydh(), JSON.toJSONString(entity), Constant.CZBZ_D);
        return null;
    }
    @Expose
    public String pushData(List<SH2023Api2104> items) {
        ResponseDto responseDto;
        String result = "";
        String kqdm = items.get(0).getKqdm();
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        //封装参数
        ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_2104);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        if (null == apiService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        //推送,数据为集合形式
        responseDto = apiService.pushData(param, apiConf, items);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            ApiInfoData infoData;
            for (SH2023Api2104 data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getBydh());
                    infoData.setKqdm(data.getKqdm());
                    infoData.setInteType("21");
                    infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(data.getBydh());
                    data.setCzbz(Constant.CZBZ_U);
                    infoData.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(data));
                    apiInfoDataRep.save(infoData);
                }
            }
            result += responseDto.toString();
        }
        return result;
    }
}
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2203PR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,201 @@
package com.fzzy.otherview.sh2023.pr;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
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.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiPushManager;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.ApiConfsRep;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2203;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Component;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * äº¤æ˜“中心合同
 *
 * @Author:YAN
 */
@Component(value = "sHApi2203PR")
public class SHApi2203PR {
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiPushManager apiPushManager;
    @Autowired
    private ApiConfsRep apiConfsRep;
    /**
     * èŽ·å–ä¿¡æ¯
     * sHApi2203PR#listData
     *
     * @return
     */
    @DataProvider
    public void listData(Page<SH2023Api2203> page, ApiParam param) {
        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
        Specification specification = new Specification<ApiInfoData>() {
            private static final long serialVersionUID = 1L;
            @Override
            public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
                List<Predicate> predicates = new ArrayList<>(); //所有的断言
                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_2203);
                predicates.add(predicate);
                if (null != param) {
                    if (StringUtils.isNotBlank(param.getKqdm())) {
                        Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm());
                        predicates.add(predicate1);
                    }
                    if (StringUtils.isNotBlank(param.getCzbz())) {
                        Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz());
                        predicates.add(predicate2);
                    }
                    if (null != param.getStart()) {
                        Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart()));
                        predicates.add(predicate3);
                    }
                    if (null != param.getEnd()) {
                        Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd()));
                        predicates.add(predicate4);
                    }
                }
                return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
            }
        };
        org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable);
        page.setEntityCount((int) japPage.getTotalElements());
        List<SH2023Api2203> list = new ArrayList<>();
        SH2023Api2203 sh2023Api2203;
        for (ApiInfoData infoData : japPage.getContent()) {
            sh2023Api2203 = JSONObject.parseObject(infoData.getData(), SH2023Api2203.class);
            list.add(sh2023Api2203);
        }
        page.setEntities(list);
    }
    /**
     * sHApi2203PR#saveData
     */
    @DataResolver
    public void saveData(SH2023Api2203 data) {
        List<ApiConfs> confsList = apiConfsRep.findAll();
        ApiInfoData infoData = new ApiInfoData();
        infoData.setId(data.getHtbh());
        infoData.setKqdm(confsList.get(0).getKqdm());
        infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2203);
        infoData.setUpdateTime(new Date());
        infoData.setDataId(data.getHtbh());
        infoData.setData(JSON.toJSONString(data));
        infoData.setCzbz(data.getCzbz());
        infoData.setRemarks("备注信息");
        apiInfoDataRep.save(infoData);
    }
    /**
     * sHApi2203PR#delData
     */
    @Expose
    public void delData(SH2023Api2203 data) {
        apiInfoDataRep.deleteById(data.getHtbh());
    }
    /**
     * sHApi2203PR#delUpdate
     */
    @Expose
    public String delUpdate(SH2023Api2203 entity) {
        if (null == entity) {
            return "无数据执行";
        }
        entity.setCzbz(Constant.CZBZ_D);
        apiInfoDataRep.updateStatus(entity.getHtbh(), JSON.toJSONString(entity), Constant.CZBZ_D);
        return null;
    }
    @Expose
    public String pushData(List<SH2023Api2203> items) {
        ResponseDto responseDto;
        String result = "";
        List<ApiConfs> confsList = apiConfsRep.findAll();
        String kqdm = confsList.get(0).getKqdm();
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        //封装参数
        ApiParam param = new ApiParam(apiConf, "22", SH2023Constant.SH_2023_API_CODE_2203);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        if (null == apiService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        //推送,数据为集合形式
        responseDto = apiService.pushData(param, apiConf, items);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            ApiInfoData infoData;
            for (SH2023Api2203 data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getHtbh());
                    infoData.setKqdm(data.getHtbh());
                    infoData.setInteType("22");
                    infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2203);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(data.getHtbh());
                    data.setCzbz(Constant.CZBZ_U);
                    infoData.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(data));
                    apiInfoDataRep.save(infoData);
                }
            }
            result += responseDto.toString();
        }
        return result;
    }
}
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2204PR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,201 @@
package com.fzzy.otherview.sh2023.pr;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
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.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiPushManager;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2204;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Component;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * å®šåŒ–水检验
 *
 * @Author:YAN
 */
@Component(value = "sHApi2204PR")
public class SHApi2204PR {
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiPushManager apiPushManager;
    /**
     * èŽ·å–ä¿¡æ¯
     * sHApi2204PR#listData
     *
     * @return
     */
    @DataProvider
    public void listData(Page<SH2023Api2204> page, ApiParam param) {
        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
        Specification specification = new Specification<ApiInfoData>() {
            private static final long serialVersionUID = 1L;
            @Override
            public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
                List<Predicate> predicates = new ArrayList<>(); //所有的断言
                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_2204);
                predicates.add(predicate);
                if (null != param) {
                    if (StringUtils.isNotBlank(param.getKqdm())) {
                        Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm());
                        predicates.add(predicate1);
                    }
                    if (StringUtils.isNotBlank(param.getCzbz())) {
                        Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz());
                        predicates.add(predicate2);
                    }
                    if (null != param.getStart()) {
                        Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart()));
                        predicates.add(predicate3);
                    }
                    if (null != param.getEnd()) {
                        Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd()));
                        predicates.add(predicate4);
                    }
                }
                return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
            }
        };
        org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable);
        page.setEntityCount((int) japPage.getTotalElements());
        List<SH2023Api2204> list = new ArrayList<>();
        SH2023Api2204 sh2023Api2204;
        for (ApiInfoData infoData : japPage.getContent()) {
            sh2023Api2204 = JSONObject.parseObject(infoData.getData(), SH2023Api2204.class);
            list.add(sh2023Api2204);
        }
        page.setEntities(list);
    }
    /**
     * sHApi2204PR#saveData
     */
    @DataResolver
    public void saveData(SH2023Api2204 data) {
        if (null == data.getPch() || "" == data.getPch()) {
            data.setPch(data.getHwdm() + DateFormatUtils.format(data.getJysj(), "yyyy"));
        }
        ApiInfoData infoData = new ApiInfoData();
        infoData.setId(data.getZjbgdh());
        infoData.setKqdm(data.getHwdm().substring(0, 21));
        infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2204);
        infoData.setUpdateTime(new Date());
        infoData.setDataId(data.getZjbgdh());
        infoData.setData(JSON.toJSONString(data));
        infoData.setCzbz(data.getCzbz());
        infoData.setRemarks("备注信息");
        apiInfoDataRep.save(infoData);
    }
    /**
     * sHApi2204PR#delData
     */
    @Expose
    public void delData(SH2023Api2204 data) {
        apiInfoDataRep.deleteById(data.getZjbgdh());
    }
    /**
     * sHApi2204PR#delUpdate
     */
    @Expose
    public String delUpdate(SH2023Api2204 entity) {
        if (null == entity) {
            return "无数据执行";
        }
        entity.setCzbz(Constant.CZBZ_D);
        apiInfoDataRep.updateStatus(entity.getZjbgdh(), JSON.toJSONString(entity), Constant.CZBZ_D);
        return null;
    }
    @Expose
    public String pushData(List<SH2023Api2204> items) {
        ResponseDto responseDto;
        String result = "";
        String kqdm = items.get(0).getHwdm().substring(0, 21);
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        //封装参数
        ApiParam param = new ApiParam(apiConf, "22", SH2023Constant.SH_2023_API_CODE_2204);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        if (null == apiService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        //推送,数据为集合形式
        responseDto = apiService.pushData(param, apiConf, items);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            ApiInfoData infoData;
            for (SH2023Api2204 data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getZjbgdh());
                    infoData.setKqdm(data.getHwdm().substring(0, 21));
                    infoData.setInteType("22");
                    infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2204);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(data.getZjbgdh());
                    data.setCzbz(Constant.CZBZ_U);
                    infoData.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(data));
                    apiInfoDataRep.save(infoData);
                }
            }
            result += responseDto.toString();
        }
        return result;
    }
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1101.java
@@ -22,7 +22,7 @@
 * @date 2022-09-02 14:18
 */
@Data
public class SH2023Api1101 extends ApiParent implements Serializable {
public class SH2023Api1101 implements Serializable {
    private static final long serialVersionUID = 9157617424050247565L;
    
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java
@@ -16,7 +16,7 @@
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api1311 extends ApiParent implements Serializable {
public class SH2023Api1311 implements Serializable {
    /**
     *
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2102.java
@@ -14,7 +14,7 @@
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api2102 extends ApiParent implements Serializable {
public class SH2023Api2102 implements Serializable {
    /**
     *
     */
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java
@@ -17,7 +17,7 @@
 * @date 2023-08-21
 */
@Data
public class SH2023Api2103 extends ApiParent implements Serializable {
public class SH2023Api2103 implements Serializable {
    private static final long serialVersionUID = 9157617424050247565L;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2104.java
@@ -49,7 +49,7 @@
    private String lldm;
    @PropertyDef(label = "净重")
    private String jz;
    private Double jz;
    @PropertyDef(label = "数据状态")
    private String czbz;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2203.java
@@ -8,6 +8,8 @@
import java.util.Date;
/**
 * äº¤æ˜“中心合同
 *
 * @Author:YAN
 */
@Data
@@ -70,7 +72,7 @@
    private Double bmfsxf;
    @PropertyDef(label = "卖方手续费")
    private String smfsxf;
    private Double smfsxf;
    @PropertyDef(label = "采购/销售类型")
    private String lx;