YYC
2023-09-12 7d1ac90c6b158534d63ee204ca8b3c1132b9d2c4
广东专属页面--熏蒸备案
已修改5个文件
1062 ■■■■ 文件已修改
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/GdApi1023.view.xml 813 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023Way.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java 219 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
@@ -64,7 +64,7 @@
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1107);
        apiLog.setInteId(ApiCodeConstant.API_1023);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
@@ -74,17 +74,20 @@
                log.info("-------------没有获取到熏蒸备案信息------------------");
                return;
            }
            List<GdApi1023Dtl> dtlList = new ArrayList<>();
            List<GdApi1023Way> wayList = new ArrayList<>();
            List<GdApi1023People> peopleList = new ArrayList<>();
            for (Fz4DrugLogApply data : list) {
                List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, kqdm + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
                if (apiInfoList.size() != 0) {
                    continue;
                }
                //储粮粮情明细表
                String tbrq = "";
                if (null != data.getTbrq()) {
                    tbrq = DateFormatUtils.format(data.getTbrq(), "yyyyMMdd");
                }
                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm() + data.getDeptId() + tbrq);
                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(kqdm + tbrq + data.getXzbm());
                for (Fz40DrugLogDtl dtl : dtls) {
                    GdApi1023Dtl gdApi1023Dtl = new GdApi1023Dtl();
                    BeanUtils.copyProperties(dtl, gdApi1023Dtl);
@@ -97,13 +100,13 @@
                    gdApi1023Dtl.setZz(dtl.getPerImpurity());
                    dtlList.add(gdApi1023Dtl);
                }
                List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm() + data.getDeptId() + tbrq);
                List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(kqdm + tbrq + data.getXzbm());
                for (Fz40DrugLogWay way : ways) {
                    GdApi1023Way gdApi1023Way = new GdApi1023Way();
                    BeanUtils.copyProperties(way, gdApi1023Way);
                    wayList.add(gdApi1023Way);
                }
                List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm() + kqdm + tbrq);
                List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(kqdm + tbrq + data.getXzbm());
                for (Fz40DrugLogPeople people : peoples) {
                    GdApi1023People gdApi1023People = new GdApi1023People();
                    BeanUtils.copyProperties(people, gdApi1023People);
@@ -115,6 +118,7 @@
                BeanUtils.copyProperties(data, gdApi1023);
                gdApi1023.setXzbm(data.getXzbm());
                gdApi1023.setKqdm(kqdm);
                gdApi1023.setDwdm(kqdm.substring(0, 18));
                gdApi1023.setYjmc(data.getDrugName());
                gdApi1023.setYjlx(data.getDrugType());
                gdApi1023.setZhgxsj(data.getUpdateTime());
@@ -130,10 +134,9 @@
                infoData.setInteType(Constant.API_CATEGORY_13);
                infoData.setInteId(ApiCodeConstant.API_1023);
                infoData.setBizType(PushProtocol.SB_GD_2022.getCode());
                infoData.setUpdateTime(data.getUpdateTime());
                infoData.setDataId(kqdm + DateFormatUtils.format(data.getTbrq(), "yyMMdd") + data.getXzbm());
                infoData.setUpdateTime(new Date());
                infoData.setDataId(kqdm + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
                List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByDataId(DateFormatUtils.format(data.getTbrq(), "yyMMdd") + kqdm + data.getXzbm());
                if (null == apiInfoList || apiInfoList.isEmpty()) {
                    gdApi1023.setCzbz(Constant.CZBZ_I);
                    infoData.setCzbz(Constant.CZBZ_I);
src/main/java/com/fzzy/otherview/gd2022/GdApi1023.view.xml
@@ -124,134 +124,213 @@
      <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>
      <PropertyDef name="zhgxsj">
        <Property></Property>
        <Property name="label">最后更新时间</Property>
        <Property name="dataType">DateTime</Property>
      </PropertyDef>
      <Reference name="dtPeople">
      <Reference name="peoples">
        <Property name="dataType">[dtPeople]</Property>
        <Property name="parameter">
          <Entity>
            <Property name="xzbm">$${this.xzbm}</Property>
            <Property name="kqdm">$${this.kqdm}</Property>
            <Property name="tbrq">$${this.tbrq}</Property>
          </Entity>
        </Property>
        <Property name="dataProvider">gDApi1023PR#peopleList</Property>
        <Property name="parameter">$${this.peopleList}</Property>
      </Reference>
      <Reference name="dtWay">
      <Reference name="ways">
        <Property name="dataProvider">gDApi1023PR#wayList</Property>
        <Property name="dataType">[dtWay]</Property>
        <Property name="parameter">$${this.wayList}</Property>
      </Reference>
      <Reference name="dtDtl">
      <Reference name="dtls">
        <Property name="dataProvider">gDApi1023PR#dtlList</Property>
        <Property name="dataType">[dtDtl]</Property>
        <Property name="parameter">$${this.dtlList}</Property>
      </Reference>
      <PropertyDef name="dtlList"/>
      <PropertyDef name="peopleList">
        <Property></Property>
      </PropertyDef>
      <PropertyDef name="wayList">
        <Property></Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtPeople">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023People</Property>
      <PropertyDef name="xm">
        <Property/>
        <Property></Property>
        <Property name="label">姓名</Property>
      </PropertyDef>
      <PropertyDef name="zw">
        <Property/>
        <Property></Property>
        <Property name="label">职务</Property>
      </PropertyDef>
      <PropertyDef name="zyzg">
        <Property/>
        <Property></Property>
        <Property name="label">职业资格</Property>
      </PropertyDef>
      <PropertyDef name="stzk">
        <Property/>
        <Property></Property>
        <Property name="label">身体状况</Property>
      </PropertyDef>
      <PropertyDef name="xzrwfg">
        <Property/>
        <Property></Property>
        <Property name="label">熏蒸任务分工</Property>
      </PropertyDef>
      <PropertyDef name="sfwb">
        <Property/>
        <Property></Property>
        <Property name="label">是否外包</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtWay">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023Way</Property>
      <PropertyDef name="xznd">
        <Property/>
        <Property></Property>
        <Property name="label">设定熏蒸浓度(ml/m3)</Property>
        <Property name="dataType">Double</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="mbsj">
        <Property/>
        <Property></Property>
        <Property name="label">密闭时间(天)</Property>
        <Property name="dataType">Integer</Property>
      </PropertyDef>
      <PropertyDef name="xzfs">
        <Property/>
        <Property></Property>
        <Property name="label">熏蒸方式</Property>
      </PropertyDef>
      <PropertyDef name="sqfs">
        <Property/>
        <Property></Property>
        <Property name="label">散气方式</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtDtl">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023Dtl</Property>
      <PropertyDef name="cfdm">
        <Property/>
        <Property></Property>
        <Property name="label">仓房/油罐代码</Property>
      </PropertyDef>
      <PropertyDef name="lspzdm">
        <Property/>
        <Property></Property>
        <Property name="label">粮食品种代码</Property>
      </PropertyDef>
      <PropertyDef name="lsxzdm">
        <Property/>
        <Property></Property>
        <Property name="label">粮食性质代码</Property>
      </PropertyDef>
      <PropertyDef name="lsdjdm">
        <Property/>
        <Property></Property>
        <Property name="label">粮食等级代码</Property>
      </PropertyDef>
      <PropertyDef name="lssl">
        <Property name="dataType">Double</Property>
        <Property name="label">粮食数量(吨)</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="sf">
        <Property name="dataType">Double</Property>
        <Property name="label">水份</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="zz">
        <Property name="dataType">Double</Property>
        <Property name="label">杂志</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="lw">
        <Property name="dataType">Double</Property>
        <Property name="label">粮温</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="cw">
        <Property name="dataType">Double</Property>
        <Property name="label">仓温</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="cnsd">
        <Property name="dataType">Double</Property>
        <Property name="label">仓内湿度</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="clfs">
        <Property/>
        <Property></Property>
        <Property name="label">储粮方式</Property>
      </PropertyDef>
      <PropertyDef name="rkrq">
        <Property name="dataType">Date</Property>
        <Property name="label">入库日期</Property>
      </PropertyDef>
      <PropertyDef name="hc">
        <Property/>
        <Property></Property>
        <Property name="label">害虫</Property>
      </PropertyDef>
      <PropertyDef name="cldjpd">
        <Property/>
        <Property></Property>
        <Property name="label">虫粮等级判定</Property>
      </PropertyDef>
      <PropertyDef name="ldtj">
        <Property name="dataType">Double</Property>
        <Property name="label">粮堆体积(m3)</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="kjtj">
        <Property name="dataType">Double</Property>
        <Property name="label">空间体积(m3)</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="lddwyyl">
        <Property name="dataType">Double</Property>
        <Property name="label">粮堆单位用药量</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="kjdwyyl">
        <Property name="dataType">Double</Property>
        <Property name="label">空间单位用药量</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="zyyl">
        <Property name="dataType">Double</Property>
        <Property name="label">总用药量</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="qmx">
        <Property/>
        <Property></Property>
        <Property name="label">气密性</Property>
      </PropertyDef>
      <PropertyDef name="jhxzksrq">
        <Property name="dataType">Date</Property>
        <Property name="label">计划熏蒸开始日期</Property>
      </PropertyDef>
      <PropertyDef name="jhxzjsrq">
        <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>
  </Model>
@@ -260,6 +339,11 @@
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">gDApi1023PR#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>
@@ -351,6 +435,18 @@
        <Property name="exClassName">toolbar-button-push</Property>
        <Property name="width">100</Property>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#dialogDtl&quot;).show();&#xD;
}else{&#xD;
    $alert(&quot;请勾选需要修改的数据!&quot;);&#xD;
}</ClientEvent>
        <Property name="exClassName">toolbar-button-warm</Property>
        <Property name="iconClass">fa fa-search</Property>
        <Property name="width">100</Property>
        <Property name="caption">查看详情</Property>
      </ToolBarButton>
      <Fill/>
      <ToolBarButton>
        <Property name="caption">上传记录</Property>
@@ -358,6 +454,34 @@
        <Property name="exClassName">toolbar-button</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">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
if(data){&#xD;
@@ -373,60 +497,501 @@
      <DataColumn name="xzbm">
        <Property name="property">xzbm</Property>
        <Property name="align">center</Property>
        <Property name="width">280</Property>
      </DataColumn>
      <DataColumn name="kqdm">
        <Property name="property">kqdm</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="tbrq">
        <Property name="property">tbrq</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="dwdm">
        <Property name="property">dwdm</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="sqxzrq">
        <Property name="property">sqxzrq</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="fzr">
        <Property name="property">fzr</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="fzrdh">
        <Property name="property">fzrdh</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsj">
        <Property name="property">zhgxsj</Property>
        <Property name="width">280</Property>
        <Property name="align">center</Property>
      </DataColumn>
    </DataGrid>
    <Dialog id="dialogMain">
    <Dialog id="dialogMain" layout="regionPadding:5">
      <Property name="width">85%</Property>
      <Property name="closeable">false</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="caption">熏蒸备案信息</Property>
      <Property name="height">85%</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;
    view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
});</ClientEvent>
          <Property name="caption">确定</Property>
          <Property name="iconClass">fa fa-check</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>
        </Button>
      </Buttons>
      <Children>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">基础信息</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*,*</Property>
              <Property name="labelPosition">top</Property>
              <Property name="labelSeparator">:</Property>
              <AutoFormElement>
                <Property name="name">xzbm</Property>
                <Property name="property">xzbm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">kqdm</Property>
                <Property name="property">kqdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tbrq</Property>
                <Property name="property">tbrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">dwdm</Property>
                <Property name="property">dwdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sqxzrq</Property>
                <Property name="property">sqxzrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fzr</Property>
                <Property name="property">fzr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fzrdh</Property>
                <Property name="property">fzrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xcfzr</Property>
                <Property name="property">xcfzr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xcfzrzw</Property>
                <Property name="property">xcfzrzw</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xcfzrdh</Property>
                <Property name="property">xcfzrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tbr</Property>
                <Property name="property">tbr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tbrdh</Property>
                <Property name="property">tbrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxd</Property>
                <Property name="property">sfszjjxd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxx</Property>
                <Property name="property">sfszjjxx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxn</Property>
                <Property name="property">sfszjjxn</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxb</Property>
                <Property name="property">sfszjjxb</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ssxzzystqybqk</Property>
                <Property name="property">ssxzzystqybqk</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xzssgcap</Property>
                <Property name="property">xzssgcap</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">aqfhjyjcccs</Property>
                <Property name="property">aqfhjyjcccs</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xzzysx</Property>
                <Property name="property">xzzysx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fileStorageId</Property>
                <Property name="property">fileStorageId</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">yjmc</Property>
                <Property name="property">yjmc</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">yjlx</Property>
                <Property name="property">yjlx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">yjyxqz</Property>
                <Property name="property">yjyxqz</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">lqsl</Property>
                <Property name="property">lqsl</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sysbjfs</Property>
                <Property name="property">sysbjfs</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">zcdd</Property>
                <Property name="property">zcdd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">lqr</Property>
                <Property name="property">lqr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">lqrq</Property>
                <Property name="property">lqrq</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>
        </FieldSet>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">熏蒸作业人员信息</Property>
          <Buttons/>
          <Children>
            <Panel layout="regionPadding:5">
              <Property name="caption">人员信息</Property>
              <Property name="height">400</Property>
              <Buttons/>
              <Children>
                <Container layout="regionPadding:10">
                  <Property name="exClassName">bg-color</Property>
                  <Property name="contentOverflow">hidden</Property>
                  <Property name="height">55</Property>
                  <Label layoutConstraint="left">
                    <Property name="text">菜单栏:</Property>
                  </Label>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;peoples&quot;);&#xD;
list.insert({});</ClientEvent>
                    <Property name="caption">新增</Property>
                    <Property name="exClassName">btn-default</Property>
                    <Property name="iconClass">fa fa-plus</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var data = view.get(&quot;#dataPeoples.currentEntity&quot;);&#xD;
if(!data){&#xD;
 return;&#xD;
}&#xD;
data.remove();</ClientEvent>
                    <Property name="caption">删除</Property>
                    <Property name="iconClass">fa fa-minus</Property>
                    <Property name="exClassName">btn-warn</Property>
                  </Button>
                </Container>
                <DataGrid id="dataPeoples">
                  <Property name="dataPath">#.peoples</Property>
                  <Property name="dataSet">dsMain</Property>
                  <DataColumn name="xm">
                    <Property name="property">xm</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="zw">
                    <Property name="property">zw</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="zyzg">
                    <Property name="property">zyzg</Property>
                    <Property name="trigger">listDropZG</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="stzk">
                    <Property name="property">stzk</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="xzrwfg">
                    <Property name="property">xzrwfg</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="sfwb">
                    <Property name="property">sfwb</Property>
                    <Property name="trigger">listDropYN</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                </DataGrid>
              </Children>
              <Tools/>
            </Panel>
          </Children>
        </FieldSet>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">熏蒸备案方式信息</Property>
          <Buttons/>
          <Children>
            <Panel layout="regionPadding:5">
              <Property name="caption">熏蒸备案方式</Property>
              <Property name="height">400</Property>
              <Buttons/>
              <Children>
                <Container layout="regionPadding:10">
                  <Property name="exClassName">bg-color</Property>
                  <Property name="contentOverflow">hidden</Property>
                  <Property name="height">55</Property>
                  <Label layoutConstraint="left">
                    <Property name="text">菜单栏:</Property>
                  </Label>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;ways&quot;);&#xD;
list.insert({});</ClientEvent>
                    <Property name="caption">新增</Property>
                    <Property name="exClassName">btn-default</Property>
                    <Property name="iconClass">fa fa-plus</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var data = view.get(&quot;#dataWays.currentEntity&quot;);&#xD;
if(!data){&#xD;
 return;&#xD;
}&#xD;
data.remove();</ClientEvent>
                    <Property name="caption">删除</Property>
                    <Property name="iconClass">fa fa-minus</Property>
                    <Property name="exClassName">btn-warn</Property>
                  </Button>
                </Container>
                <DataGrid id="dataWays">
                  <Property name="dataPath">#.ways</Property>
                  <Property name="dataSet">dsMain</Property>
                  <DataColumn name="xznd">
                    <Property name="property">xznd</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="mbsj">
                    <Property name="property">mbsj</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="xzfs">
                    <Property name="property">xzfs</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="sqfs">
                    <Property name="property">sqfs</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                </DataGrid>
              </Children>
              <Tools/>
            </Panel>
          </Children>
        </FieldSet>
      </Children>
      <Tools/>
    </Dialog>
    <Dialog id="dialogDtl" layout="regionPadding:5">
      <Property name="caption">熏蒸作业的储粮粮情</Property>
      <Property name="width">90%</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="height">90%</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
          <Property name="caption">确定</Property>
          <Property name="iconClass">fa fa-check</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>
        </Button>
      </Buttons>
      <Children>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">熏蒸作业的储粮粮情明细</Property>
          <Buttons/>
          <Children>
            <Panel layout="regionPadding:5">
              <Property name="caption">储粮粮情明细</Property>
              <Buttons/>
              <Children>
                <Container layout="regionPadding:10">
                  <Property name="exClassName">bg-color</Property>
                  <Property name="contentOverflow">hidden</Property>
                  <Property name="height">55</Property>
                  <Label layoutConstraint="left">
                    <Property name="text">菜单栏:</Property>
                  </Label>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;dtls&quot;);&#xD;
list.insert({});&#xD;
view.get(&quot;#addDtl&quot;).show();</ClientEvent>
                    <Property name="caption">新增</Property>
                    <Property name="exClassName">btn-default</Property>
                    <Property name="iconClass">fa fa-plus</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var cur = view.get(&quot;#dgDtl&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#addDtl&quot;).show();&#xD;
}else{&#xD;
    $alert(&quot;请勾选需要修改的数据!&quot;);&#xD;
}</ClientEvent>
                    <Property name="caption">修改</Property>
                    <Property name="exClassName">btn-warm</Property>
                    <Property name="iconClass">fa fa-pencil</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;dtls&quot;);&#xD;
list.remove();&#xD;
view.get(&quot;#updateDelDtl&quot;).execute(function(){&#xD;
});</ClientEvent>
                    <Property name="caption">删除</Property>
                    <Property name="iconClass">fa fa-minus</Property>
                    <Property name="exClassName">btn-warn</Property>
                  </Button>
                </Container>
                <DataGrid id="dgDtl">
                  <Property name="dataPath">#.dtls</Property>
                  <Property name="dataSet">dsMain</Property>
                  <DataColumn name="cfdm">
                    <Property name="property">cfdm</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="lspzdm">
                    <Property name="property">lspzdm</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="lsxzdm">
                    <Property name="property">lsxzdm</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="lssl">
                    <Property name="property">lssl</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="cldjpd">
                    <Property name="property">cldjpd</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="lddwyyl">
                    <Property name="property">lddwyyl</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="kjdwyyl">
                    <Property name="property">kjdwyyl</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="zyyl">
                    <Property name="property">zyyl</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="qmx">
                    <Property name="property">qmx</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="jhxzksrq">
                    <Property name="property">jhxzksrq</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="jhxzjsrq">
                    <Property name="property">jhxzjsrq</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                </DataGrid>
              </Children>
              <Tools/>
            </Panel>
          </Children>
        </FieldSet>
      </Children>
      <Tools/>
    </Dialog>
    <Dialog id="addDtl">
      <Property name="caption">熏蒸作业的储粮粮情明细</Property>
      <Property name="width">80%</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgDtl&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>
@@ -445,182 +1010,131 @@
          <Property name="cols">*,*,*,*</Property>
          <Property name="labelPosition">top</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="dataPath">#.dtls</Property>
          <AutoFormElement>
            <Property name="name">xzbm</Property>
            <Property name="property">xzbm</Property>
            <Property name="name">cfdm</Property>
            <Property name="property">cfdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">kqdm</Property>
            <Property name="property">kqdm</Property>
            <Property name="name">lspzdm</Property>
            <Property name="property">lspzdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">tbrq</Property>
            <Property name="property">tbrq</Property>
            <Property name="name">lsxzdm</Property>
            <Property name="property">lsxzdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dwdm</Property>
            <Property name="property">dwdm</Property>
            <Property name="name">lsdjdm</Property>
            <Property name="property">lsdjdm</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sqxzrq</Property>
            <Property name="property">sqxzrq</Property>
            <Property name="name">lssl</Property>
            <Property name="property">lssl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">fzr</Property>
            <Property name="property">fzr</Property>
            <Property name="name">sf</Property>
            <Property name="property">sf</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">fzrdh</Property>
            <Property name="property">fzrdh</Property>
            <Property name="name">zz</Property>
            <Property name="property">zz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xcfzr</Property>
            <Property name="property">xcfzr</Property>
            <Property name="name">lw</Property>
            <Property name="property">lw</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xcfzrzw</Property>
            <Property name="property">xcfzrzw</Property>
            <Property name="name">cw</Property>
            <Property name="property">cw</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xcfzrdh</Property>
            <Property name="property">xcfzrdh</Property>
            <Property name="name">cnsd</Property>
            <Property name="property">cnsd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">tbr</Property>
            <Property name="property">tbr</Property>
            <Property name="name">clfs</Property>
            <Property name="property">clfs</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">tbrdh</Property>
            <Property name="property">tbrdh</Property>
            <Property name="name">rkrq</Property>
            <Property name="property">rkrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sfszjjxd</Property>
            <Property name="property">sfszjjxd</Property>
            <Property name="name">hc</Property>
            <Property name="property">hc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sfszjjxx</Property>
            <Property name="property">sfszjjxx</Property>
            <Property name="name">cldjpd</Property>
            <Property name="property">cldjpd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sfszjjxn</Property>
            <Property name="property">sfszjjxn</Property>
            <Property name="name">ldtj</Property>
            <Property name="property">ldtj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sfszjjxb</Property>
            <Property name="property">sfszjjxb</Property>
            <Property name="name">kjtj</Property>
            <Property name="property">kjtj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">ssxzzystqybqk</Property>
            <Property name="property">ssxzzystqybqk</Property>
            <Property name="name">lddwyyl</Property>
            <Property name="property">lddwyyl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xzssgcap</Property>
            <Property name="property">xzssgcap</Property>
            <Property name="name">kjdwyyl</Property>
            <Property name="property">kjdwyyl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">aqfhjyjcccs</Property>
            <Property name="property">aqfhjyjcccs</Property>
            <Property name="name">zyyl</Property>
            <Property name="property">zyyl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">xzzysx</Property>
            <Property name="property">xzzysx</Property>
            <Property name="name">qmx</Property>
            <Property name="property">qmx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">fileStorageId</Property>
            <Property name="property">fileStorageId</Property>
            <Property name="name">jhxzksrq</Property>
            <Property name="property">jhxzksrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">yjmc</Property>
            <Property name="property">yjmc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">yjlx</Property>
            <Property name="property">yjlx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">yjyxqz</Property>
            <Property name="property">yjyxqz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lqsl</Property>
            <Property name="property">lqsl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sysbjfs</Property>
            <Property name="property">sysbjfs</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zcdd</Property>
            <Property name="property">zcdd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lqr</Property>
            <Property name="property">lqr</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lqrq</Property>
            <Property name="property">lqrq</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">dtPeople</Property>
            <Property name="property">dtPeople</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dtWay</Property>
            <Property name="property">dtWay</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">dtDtl</Property>
            <Property name="property">dtDtl</Property>
            <Property name="name">jhxzjsrq</Property>
            <Property name="property">jhxzjsrq</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateDelDtl">
      <Property name="dataResolver">gDApi1023PR#saveData</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">whjlApi1101PR#saveData</Property>
      <Property name="dataResolver">gDApi1023PR#saveData</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
@@ -628,13 +1142,20 @@
    </UpdateAction>
    <AjaxAction id="ajaxDel">
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
      <Property name="service">whjlApi1101PR#delData</Property>
      <Property name="service">gDApi1023PR#delData</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
      <Property name="service">gDApi1023PR#delUpdate</Property>
    </AjaxAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">whjlApi1101PR#pushData</Property>
      <Property name="service">gDApi1023PR#pushData</Property>
    </AjaxAction>
    <ListDropDown id="listDropYN">
      <Property name="items">是,否</Property>
    </ListDropDown>
    <ListDropDown id="listDropZG">
      <Property name="items">初中,中级,高级</Property>
    </ListDropDown>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023.java
@@ -68,14 +68,13 @@
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date zhgxsj;   //最后更新时间
    private String dtlList;
    private String peopleList;
    private String wayList;
    private List<GdApi1023Dtl> dtls; //实施熏蒸作业的储粮粮情明细
    private List<GdApi1023People> peoples; //熏蒸作业人员信息
    private List<GdApi1023Way> ways; //熏蒸备案方式
}
src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023Way.java
@@ -12,8 +12,8 @@
    private static final long serialVersionUID = 1L;
    private String xznd;    //设定熏蒸浓度(ml/m3)
    private String mbsj;    //密闭时间(天)
    private Double xznd;    //设定熏蒸浓度(ml/m3)
    private Integer mbsj;    //密闭时间(天)
    private String xzfs;    //熏蒸方式
    private String sqfs;    //散气方式
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java
@@ -1,22 +1,41 @@
package com.fzzy.otherview.gd2022.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.otherview.gd2022.dto.GdApi1023;
import com.fzzy.otherview.gd2022.dto.GdApi1023Dtl;
import com.fzzy.otherview.gd2022.dto.GdApi1023People;
import com.fzzy.otherview.gd2022.dto.GdApi1023Way;
import com.fzzy.otherview.whhpjl.WhjlConstant;
import com.fzzy.otherview.whhpjl.dto.WhjlApi1101;
import com.fzzy.push.gd2022.ApiCodeConstant;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2103;
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.*;
/**
@@ -42,91 +61,175 @@
     * @return
     */
    @DataProvider
    public List<GdApi1023> listData(Map<String, Object> param) {
    public void listData(Page<GdApi1023> page, ApiParam param) {
        List<ApiInfoData> result = apiInfoDataRep.getDataByInteId(ApiCodeConstant.API_1023);
        if(null == result ||result.isEmpty()){
            return null;
        }
        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"), ApiCodeConstant.API_1023);
                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<GdApi1023> list = new ArrayList<>();
        GdApi1023 gbApi1023;
        for (ApiInfoData infoData : result) {
            GdApi1023 gdApi1023= JSONObject.parseObject(infoData.getData(), GdApi1023.class);
        GdApi1023 gdApi1023;
        for (ApiInfoData infoData : japPage.getContent()) {
            gdApi1023 = JSONObject.parseObject(infoData.getData(), GdApi1023.class);
            list.add(gdApi1023);
        }
        return list;
        page.setEntities(list);
    }
    /**
     * 获取熏蒸作业人员信息表
     * gDApi1023PR#peopleList
     *
     */
    @DataProvider
    public List<GdApi1023People> peopleList(Map<String, Object> param) throws Exception {
        String xzbm = (String) param.get("xzbm");
        String deptId = (String) param.get("deptId");
        String tbrq = DateFormatUtils.format((Date) param.get("tbrq"), "yyyyMMdd");
        String id = xzbm + deptId + tbrq;
        List<ApiInfoData> infoData = apiInfoDataRep.getDataByDataId(id);
        if(null == infoData || infoData.isEmpty()){
            return null;
        }
        GdApi1023 gdApi1023= JSONObject.parseObject(infoData.get(0).getData(), GdApi1023.class);
        if(null == gdApi1023){
            return null;
        }
        return gdApi1023.getPeoples();
    public List<GdApi1023People> peopleList(String code) {
        return JSON.parseArray(code, GdApi1023People.class);
    }
    /**
     * 获取熏蒸备案方式表表信息
     * gDApi1023PR#wayList
     *
     */
    @DataProvider
    public List<GdApi1023Way> wayList(Map<String, Object> param) throws Exception {
        String xzbm = (String) param.get("xzbm");
        String deptId = (String) param.get("deptId");
        String tbrq = DateFormatUtils.format((Date) param.get("tbrq"), "yyyyMMdd");
        String id = xzbm + deptId + tbrq;
        List<ApiInfoData> infoData = apiInfoDataRep.getDataByDataId(id);
        if(null == infoData || infoData.isEmpty()){
            return null;
        }
        GdApi1023 gdApi1023= JSONObject.parseObject(infoData.get(0).getData(), GdApi1023.class);
        if(null == gdApi1023){
            return null;
        }
        return gdApi1023.getWays();
    public List<GdApi1023Way> wayList(String code) {
        return JSON.parseArray(code, GdApi1023Way.class);
    }
    /**
     * 实施熏蒸作业的储粮粮情明细表
     * gDApi1023PR#dtlList
     *
     */
    @DataProvider
    public List<GdApi1023Dtl> dtlList(Map<String, Object> param) throws Exception {
        String xzbm = (String) param.get("xzbm");
        String deptId = (String) param.get("deptId");
        String tbrq = DateFormatUtils.format((Date) param.get("tbrq"), "yyyyMMdd");
        String id = xzbm + deptId + tbrq;
    public List<GdApi1023Dtl> dtlList(String code) {
        return JSON.parseArray(code, GdApi1023Dtl.class);
    }
        List<ApiInfoData> infoData = apiInfoDataRep.getDataByDataId(id);
        if(null == infoData || infoData.isEmpty()){
            return null;
    /**
     * gDApi1023PR#saveData
     */
    @DataResolver
    public void saveData(GdApi1023 data) {
        data.setDtlList(JSON.toJSONString(data.getDtls()));
        data.setWayList(JSON.toJSONString(data.getWays()));
        data.setPeopleList(JSON.toJSONString(data.getPeoples()));
        ApiInfoData infoData;
        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getKqdm() + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
        if (apiInfoList.size() != 0) {
            infoData = apiInfoList.get(0);
            infoData.setData(JSON.toJSONString(data));
        } else {
            infoData = new ApiInfoData();
            infoData.setId(ContextUtil.getUUID());
            infoData.setKqdm(data.getKqdm());
            infoData.setInteId(ApiCodeConstant.API_1023);
            infoData.setUpdateTime(new Date());
            infoData.setDataId(data.getKqdm() + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
            infoData.setData(JSON.toJSONString(data));
            infoData.setCzbz(Constant.CZBZ_I);
            infoData.setRemarks("备注信息");
        }
        GdApi1023 gdApi1023= JSONObject.parseObject(infoData.get(0).getData(), GdApi1023.class);
        if(null == gdApi1023){
            return null;
        apiInfoDataRep.save(infoData);
    }
    /**
     * gDApi1023PR#delData
     */
    @Expose
    public void delData(GdApi1023 data) {
        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getKqdm() + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
        apiInfoDataRep.deleteById(apiInfoList.get(0).getId());
    }
    /**
     * gDApi1023PR#delUpdate
     */
    @Expose
    public String delUpdate(GdApi1023 data) {
        if (null == data) {
            return "无数据执行";
        }
        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getKqdm() + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
        data.setCzbz(Constant.CZBZ_D);
        apiInfoDataRep.updateStatus(apiInfoList.get(0).getId(), JSON.toJSONString(data), Constant.CZBZ_D);
        return null;
    }
    /**
     * gDApi1023PR#pushData
     *
     * @param items
     * @return
     */
    @Expose
    public String pushData(List<GdApi1023> items) {
        ResponseDto responseDto;
        String result = "";
        String kqdm = items.get(0).getKqdm();
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        return gdApi1023.getDtls();
        //封装参数
        ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_1023);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        if (null == apiService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        //推送,数据为集合形式
        responseDto = apiService.pushData(param, apiConf, items);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            ApiInfoData infoData;
            for (GdApi1023 data : items) {
                List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getKqdm() + DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm());
                data.setCzbz(Constant.CZBZ_U);
                infoData = apiInfoList.get(0);
                infoData.setUpdateTime(new Date());
                infoData.setCzbz(Constant.CZBZ_U);
                infoData.setData(JSON.toJSONString(data));
                apiInfoDataRep.save(infoData);
            }
            result += responseDto.toString();
        }
        return result;
    }
}