czt
2024-06-29 18967104565d14fc04d848aa8cb54653b84b19ce
广东省平台v5.1-增加封仓确认单和出清确认单
已重命名4个文件
已修改14个文件
已添加6个文件
1910 ■■■■■ 文件已修改
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1023.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/GdApi1023.view.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/GdApi2001.view.xml 492 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/GdApi2002.view.xml 400 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi2001PR.java 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi2002PR.java 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2101PR.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1206PR.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/GD2022ApiRemoteService2022.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/GD2022PushService12.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/GD2022PushService13.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023Dtl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023People.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023Way.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api2001.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api2002.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/impl/ComPushService99.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-pro.yml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/home/home.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1023.java
@@ -18,10 +18,10 @@
import com.fzzy.async.fzzy35.repository.Fzzy35SyncDrugLogDtlRep;
import com.fzzy.async.fzzy35.repository.Fzzy35SyncDrugLogPeopleRep;
import com.fzzy.async.fzzy35.repository.Fzzy35SyncDrugLogWayRep;
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.push.gd2022.dto.Gd2022Api1023;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl;
import com.fzzy.push.gd2022.dto.Gd2022Api1023People;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Way;
import com.fzzy.push.gd2022.ApiCodeConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -80,75 +80,75 @@
                return;
            }
            GdApi1023 gdApi1023;
            GdApi1023Way gdApi1023Way;
            GdApi1023People gdApi1023People;
            GdApi1023Dtl gdApi1023Dtl;
            Gd2022Api1023 GD2022Api1023;
            Gd2022Api1023Way gd2022Api1023Way;
            Gd2022Api1023People gd2022Api1023People;
            Gd2022Api1023Dtl gd2022Api1023Dtl;
            List<GdApi1023Dtl> dtlList;
            List<GdApi1023Way> wayList;
            List<GdApi1023People> peopleList;
            List<Gd2022Api1023Dtl> dtlList;
            List<Gd2022Api1023Way> wayList;
            List<Gd2022Api1023People> peopleList;
            List<ApiInfoData> apiInfoList;
            ApiInfoData infoData;
            Api1105 api1105;
            for (Fz35DrugLogApply data : list) {
                gdApi1023 = new GdApi1023();
                BeanUtils.copyProperties(data, gdApi1023);
                gdApi1023.setXzbm(data.getXzbm().substring(7));
                gdApi1023.setKqdm(kqdm);
                gdApi1023.setDwdm(kqdm.substring(0, 18));
                gdApi1023.setYjmc(data.getDrugName());
                gdApi1023.setYjlx(data.getDrugType());
                gdApi1023.setZhgxsj(data.getUpdateTime());
                GD2022Api1023 = new Gd2022Api1023();
                BeanUtils.copyProperties(data, GD2022Api1023);
                GD2022Api1023.setXzbm(data.getXzbm().substring(7));
                GD2022Api1023.setKqdm(kqdm);
                GD2022Api1023.setDwdm(kqdm.substring(0, 18));
                GD2022Api1023.setYjmc(data.getDrugName());
                GD2022Api1023.setYjlx(data.getDrugType());
                GD2022Api1023.setZhgxsj(data.getUpdateTime());
                //储粮粮情明细表
                List<Fz35DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm());
                if (null != dtls && dtls.size() > 0) {
                    dtlList = new ArrayList<>();
                    for (Fz35DrugLogDtl dtl : dtls) {
                        gdApi1023Dtl = new GdApi1023Dtl();
                        BeanUtils.copyProperties(dtl, gdApi1023Dtl);
                        gd2022Api1023Dtl = new Gd2022Api1023Dtl();
                        BeanUtils.copyProperties(dtl, gd2022Api1023Dtl);
                        //获取货位信息
                        api1105 = commonService.getApi1105Cache(dtl.getDepotId());
                        if (null == api1105) {
                            continue;
                        }
                        gdApi1023Dtl.setCfdm(api1105.getHwdm().substring(0, 25));
                        gdApi1023Dtl.setLspzdm(dtl.getFoodVariety());
                        gdApi1023Dtl.setLsxzdm(dtl.getFoodType());
                        gdApi1023Dtl.setLsdjdm(dtl.getFoodLevel());
                        gdApi1023Dtl.setLssl(dtl.getNumber());
                        gdApi1023Dtl.setSf(dtl.getPerWet());
                        gdApi1023Dtl.setZz(dtl.getPerImpurity());
                        dtlList.add(gdApi1023Dtl);
                        gd2022Api1023Dtl.setCfdm(api1105.getHwdm().substring(0, 25));
                        gd2022Api1023Dtl.setLspzdm(dtl.getFoodVariety());
                        gd2022Api1023Dtl.setLsxzdm(dtl.getFoodType());
                        gd2022Api1023Dtl.setLsdjdm(dtl.getFoodLevel());
                        gd2022Api1023Dtl.setLssl(dtl.getNumber());
                        gd2022Api1023Dtl.setSf(dtl.getPerWet());
                        gd2022Api1023Dtl.setZz(dtl.getPerImpurity());
                        dtlList.add(gd2022Api1023Dtl);
                    }
                    gdApi1023.setDtls(dtlList);
                    GD2022Api1023.setDtls(dtlList);
                }
                List<Fz35DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm());
                if (null != ways && ways.size() > 0) {
                    wayList = new ArrayList<>();
                    for (Fz35DrugLogWay way : ways) {
                        gdApi1023Way = new GdApi1023Way();
                        BeanUtils.copyProperties(way, gdApi1023Way);
                        wayList.add(gdApi1023Way);
                        gd2022Api1023Way = new Gd2022Api1023Way();
                        BeanUtils.copyProperties(way, gd2022Api1023Way);
                        wayList.add(gd2022Api1023Way);
                    }
                    gdApi1023.setWays(wayList);
                    GD2022Api1023.setWays(wayList);
                }
                List<Fz35DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm());
                if (null != peoples && peoples.size() > 0) {
                    peopleList = new ArrayList<>();
                    for (Fz35DrugLogPeople people : peoples) {
                        gdApi1023People = new GdApi1023People();
                        BeanUtils.copyProperties(people, gdApi1023People);
                        peopleList.add(gdApi1023People);
                        gd2022Api1023People = new Gd2022Api1023People();
                        BeanUtils.copyProperties(people, gd2022Api1023People);
                        peopleList.add(gd2022Api1023People);
                    }
                    gdApi1023.setPeoples(peopleList);
                    GD2022Api1023.setPeoples(peopleList);
                }
                //持久化保存,单独存入非国标接口表
@@ -163,18 +163,18 @@
                apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), kqdm);
                if (null == apiInfoList || apiInfoList.isEmpty()) {
                    gdApi1023.setCzbz(Constant.CZBZ_I);
                    GD2022Api1023.setCzbz(Constant.CZBZ_I);
                    infoData.setCzbz(Constant.CZBZ_I);
                } else {
                    gdApi1023.setCzbz(apiInfoList.get(0).getCzbz());
                    GD2022Api1023.setCzbz(apiInfoList.get(0).getCzbz());
                    infoData.setCzbz(apiInfoList.get(0).getCzbz());
                }
                infoData.setData(JSON.toJSONString(gdApi1023));
                infoData.setData(JSON.toJSONString(GD2022Api1023));
                //保存数据
                apiInfoDataRep.save(infoData);
                log.info("1023---同步数据:{}", gdApi1023.toString());
                log.info("1023---同步数据:{}", GD2022Api1023.toString());
            }
            
        } catch (Exception e) {
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
@@ -12,10 +12,10 @@
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDrugLogDtlRep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDrugLogPeopleRep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDrugLogWayRep;
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.push.gd2022.dto.Gd2022Api1023;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl;
import com.fzzy.push.gd2022.dto.Gd2022Api1023People;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Way;
import com.fzzy.push.gd2022.ApiCodeConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -81,60 +81,60 @@
                log.info("-------------没有获取到熏蒸备案信息------------------");
                return;
            }
            List<GdApi1023Dtl> dtlList;
            List<GdApi1023Way> wayList;
            List<GdApi1023People> peopleList;
            List<Gd2022Api1023Dtl> dtlList;
            List<Gd2022Api1023Way> wayList;
            List<Gd2022Api1023People> peopleList;
            GdApi1023 gdApi1023;
            GdApi1023Dtl gdApi1023Dtl;
            GdApi1023Way gdApi1023Way;
            GdApi1023People gdApi1023People;
            Gd2022Api1023 GD2022Api1023;
            Gd2022Api1023Dtl gd2022Api1023Dtl;
            Gd2022Api1023Way gd2022Api1023Way;
            Gd2022Api1023People gd2022Api1023People;
            List<ApiInfoData> apiInfoList;
            ApiInfoData infoData;
            for (Fz40DrugLogApply data : list) {
                gdApi1023 = new GdApi1023();
                BeanUtils.copyProperties(data, gdApi1023);
                gdApi1023.setXzbm(data.getXzbm().substring(8));
                gdApi1023.setKqdm(kqdm);
                GD2022Api1023 = new Gd2022Api1023();
                BeanUtils.copyProperties(data, GD2022Api1023);
                GD2022Api1023.setXzbm(data.getXzbm().substring(8));
                GD2022Api1023.setKqdm(kqdm);
                List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
                if (null != api1102List && api1102List.size() > 0) {
                    gdApi1023.setKqmc(api1102List.get(0).getKqmc());
                    GD2022Api1023.setKqmc(api1102List.get(0).getKqmc());
                }
                gdApi1023.setDwdm(kqdm.substring(0, 18));
                GD2022Api1023.setDwdm(kqdm.substring(0, 18));
                List<Api1101> api1101List = api1101Rep.findPushData(kqdm);
                if (null != api1101List && api1101List.size() > 0) {
                    gdApi1023.setDwmc(api1101List.get(0).getDwmc());
                    GD2022Api1023.setDwmc(api1101List.get(0).getDwmc());
                }
                gdApi1023.setYjmc(data.getDrugName());
                gdApi1023.setYjlx(data.getDrugType());
                gdApi1023.setLqrq(data.getLqsj());
                gdApi1023.setZhgxsj(data.getUpdateTime());
                GD2022Api1023.setYjmc(data.getDrugName());
                GD2022Api1023.setYjlx(data.getDrugType());
                GD2022Api1023.setLqrq(data.getLqsj());
                GD2022Api1023.setZhgxsj(data.getUpdateTime());
                //储粮粮情明细表
                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm());
                Api1105 api1105 = commonService.getApi1105Cache(data.getDepotId());
                gdApi1023Dtl = new GdApi1023Dtl();
                BeanUtils.copyProperties(data, gdApi1023Dtl);
                gd2022Api1023Dtl = new Gd2022Api1023Dtl();
                BeanUtils.copyProperties(data, gd2022Api1023Dtl);
                if (null != api1105) {
                    gdApi1023Dtl.setCfmc(api1105.getHwmc());
                    gdApi1023Dtl.setCfdm(api1105.getHwdm().substring(0,25));
                    gd2022Api1023Dtl.setCfmc(api1105.getHwmc());
                    gd2022Api1023Dtl.setCfdm(api1105.getHwdm().substring(0,25));
                }
                gdApi1023Dtl.setLspzdm(data.getFoodVariety());
                gdApi1023Dtl.setLsxzdm(data.getFoodType());
                gdApi1023Dtl.setLsdjdm(data.getFoodLevel());
                gdApi1023Dtl.setLssl(data.getNumber());
                gdApi1023Dtl.setSf(data.getPerWet());
                gdApi1023Dtl.setZz(data.getPerImpurity());
                gd2022Api1023Dtl.setLspzdm(data.getFoodVariety());
                gd2022Api1023Dtl.setLsxzdm(data.getFoodType());
                gd2022Api1023Dtl.setLsdjdm(data.getFoodLevel());
                gd2022Api1023Dtl.setLssl(data.getNumber());
                gd2022Api1023Dtl.setSf(data.getPerWet());
                gd2022Api1023Dtl.setZz(data.getPerImpurity());
                dtlList = new ArrayList<>();
                dtlList.add(gdApi1023Dtl);
                gdApi1023.setDtls(dtlList);
                dtlList.add(gd2022Api1023Dtl);
                GD2022Api1023.setDtls(dtlList);
//                if (null != dtls && dtls.size() > 0) {
//                    dtlList = new ArrayList<>();
//                    for (Fz40DrugLogDtl dtl : dtls) {
@@ -153,11 +153,11 @@
//                }
                gdApi1023Way = new GdApi1023Way();
                BeanUtils.copyProperties(data, gdApi1023Way);
                gd2022Api1023Way = new Gd2022Api1023Way();
                BeanUtils.copyProperties(data, gd2022Api1023Way);
                wayList = new ArrayList<>();
                wayList.add(gdApi1023Way);
                gdApi1023.setWays(wayList);
                wayList.add(gd2022Api1023Way);
                GD2022Api1023.setWays(wayList);
//                List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm());
//                if (null != ways && ways.size() > 0) {
//                    wayList = new ArrayList<>();
@@ -173,12 +173,12 @@
                if (null != peoples && peoples.size() > 0) {
                    peopleList = new ArrayList<>();
                    for (Fz40DrugLogPeople people : peoples) {
                        gdApi1023People = new GdApi1023People();
                        BeanUtils.copyProperties(people, gdApi1023People);
                        gdApi1023People.setXm(people.getMx());
                        peopleList.add(gdApi1023People);
                        gd2022Api1023People = new Gd2022Api1023People();
                        BeanUtils.copyProperties(people, gd2022Api1023People);
                        gd2022Api1023People.setXm(people.getMx());
                        peopleList.add(gd2022Api1023People);
                    }
                    gdApi1023.setPeoples(peopleList);
                    GD2022Api1023.setPeoples(peopleList);
                }
                //持久化保存,单独存入非国标接口表
                infoData = new ApiInfoData();
@@ -192,20 +192,20 @@
                apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), kqdm);
                if (null == apiInfoList || apiInfoList.isEmpty()) {
                    gdApi1023.setCzbz(Constant.CZBZ_I);
                    GD2022Api1023.setCzbz(Constant.CZBZ_I);
                    infoData.setCzbz(Constant.CZBZ_I);
                    infoData.setId(ContextUtil.getUUID());
                } else {
                    gdApi1023.setCzbz(apiInfoList.get(0).getCzbz());
                    GD2022Api1023.setCzbz(apiInfoList.get(0).getCzbz());
                    infoData.setCzbz(apiInfoList.get(0).getCzbz());
                    infoData.setId(apiInfoList.get(0).getId());
                }
                infoData.setData(JSON.toJSONString(gdApi1023));
                infoData.setData(JSON.toJSONString(GD2022Api1023));
                //保存数据
                apiInfoDataRep.save(infoData);
                log.info("1023---同步数据:{}", gdApi1023.toString());
                log.info("1023---同步数据:{}", GD2022Api1023.toString());
            }
        } catch (Exception e) {
src/main/java/com/fzzy/otherview/gd2022/GdApi1023.view.xml
@@ -4,7 +4,7 @@
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023</Property>
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023</Property>
      <PropertyDef name="xzbm">
        <Property></Property>
        <Property name="label">熏蒸编码</Property>
@@ -156,7 +156,7 @@
      </PropertyDef>
    </DataType>
    <DataType name="dtPeople">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023People</Property>
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023People</Property>
      <PropertyDef name="xm">
        <Property></Property>
        <Property name="label">姓名</Property>
@@ -183,7 +183,7 @@
      </PropertyDef>
    </DataType>
    <DataType name="dtWay">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023Way</Property>
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023Way</Property>
      <PropertyDef name="xznd">
        <Property></Property>
        <Property name="label">设定熏蒸浓度(ml/m3)</Property>
@@ -205,7 +205,7 @@
      </PropertyDef>
    </DataType>
    <DataType name="dtDtl">
      <Property name="creationType">com.fzzy.otherview.gd2022.dto.GdApi1023Dtl</Property>
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl</Property>
      <PropertyDef name="cfdm">
        <Property></Property>
        <Property name="label">仓房/油罐代码</Property>
src/main/java/com/fzzy/otherview/gd2022/GdApi2001.view.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,492 @@
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api2001</Property>
      <PropertyDef name="fcqrdh">
        <Property></Property>
        <Property name="label">封仓确认单号</Property>
      </PropertyDef>
      <PropertyDef name="cfdm">
        <Property></Property>
        <Property name="label">仓房代码</Property>
      </PropertyDef>
      <PropertyDef name="tycfbm">
        <Property></Property>
        <Property name="label">统一仓房编码</Property>
      </PropertyDef>
      <PropertyDef name="ajdm">
        <Property></Property>
        <Property name="label">廒间代码</Property>
      </PropertyDef>
      <PropertyDef name="tyajbm">
        <Property></Property>
        <Property name="label">统一廒间编码</Property>
      </PropertyDef>
      <PropertyDef name="fcrq">
        <Property name="dataType">Date</Property>
        <Property name="label">封仓日期</Property>
      </PropertyDef>
      <PropertyDef name="lspzdm">
        <Property></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>
        <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="lsdjdm">
        <Property></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="shnd">
        <Property></Property>
        <Property name="label">收获年度</Property>
      </PropertyDef>
      <PropertyDef name="gb">
        <Property></Property>
        <Property name="label">国别</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;GB&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="cd">
        <Property></Property>
        <Property name="label">产地</Property>
      </PropertyDef>
      <PropertyDef name="bgy">
        <Property></Property>
        <Property name="label">保管员</Property>
      </PropertyDef>
      <PropertyDef name="fcsl">
        <Property></Property>
        <Property name="label">封仓数量(kg)</Property>
      </PropertyDef>
      <PropertyDef name="fcsrq">
        <Property></Property>
        <Property name="label">封仓申请人</Property>
      </PropertyDef>
      <PropertyDef name="bmshr">
        <Property></Property>
        <Property name="label">部门审核人</Property>
      </PropertyDef>
      <PropertyDef name="ldshr">
        <Property></Property>
        <Property name="label">领导审核人</Property>
      </PropertyDef>
      <PropertyDef name="bz">
        <Property></Property>
        <Property name="label">备注</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <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>
    </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">gDApi2001PR#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="fcqrdh">
        <Property name="property">fcqrdh</Property>
        <Property name="width">180</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="cfdm">
        <Property name="property">cfdm</Property>
        <Property name="width">210</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="ajdm">
        <Property name="property">ajdm</Property>
        <Property name="width">230</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="fcrq">
        <Property name="property">fcrq</Property>
        <Property name="width">100</Property>
        <Property name="align">center</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="lsdjdm">
        <Property name="property">lsdjdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="fcsl">
        <Property name="property">fcsl</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="width">70</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsj">
        <Property name="property">zhgxsj</Property>
        <Property name="width">160</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" layout="regionPadding:5">
      <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>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">基本信息</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*</Property>
              <Property name="labelWidth">160</Property>
              <Property name="labelAlign">left</Property>
              <Property name="labelSeparator">:</Property>
              <Property name="labelPosition">left</Property>
              <AutoFormElement>
                <Property name="name">fcqrdh</Property>
                <Property name="property">fcqrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">cfdm</Property>
                <Property name="property">cfdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tycfbm</Property>
                <Property name="property">tycfbm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ajdm</Property>
                <Property name="property">ajdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tyajbm</Property>
                <Property name="property">tyajbm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fcrq</Property>
                <Property name="property">fcrq</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">lsdjdm</Property>
                <Property name="property">lsdjdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">shnd</Property>
                <Property name="property">shnd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">gb</Property>
                <Property name="property">gb</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">cd</Property>
                <Property name="property">cd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">bgy</Property>
                <Property name="property">bgy</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fcsl</Property>
                <Property name="property">fcsl</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fcsrq</Property>
                <Property name="property">fcsrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">bmshr</Property>
                <Property name="property">bmshr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ldshr</Property>
                <Property name="property">ldshr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">bz</Property>
                <Property name="property">bz</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>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">gDApi2001PR#saveData</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">gDApi2001PR#pushData</Property>
      <Property name="confirmMessage">确定要上报么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDel">
      <Property name="service">gDApi2001PR#delData</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="service">gDApi2001PR#delUpdate</Property>
      <Property name="confirmMessage">确定要将数据标记为删除么?</Property>
    </AjaxAction>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/gd2022/GdApi2002.view.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,400 @@
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api2002</Property>
      <PropertyDef name="cqqrdh">
        <Property></Property>
        <Property name="label">出清确认单号</Property>
      </PropertyDef>
      <PropertyDef name="cfdm">
        <Property></Property>
        <Property name="label">仓房代码</Property>
      </PropertyDef>
      <PropertyDef name="tycfbm">
        <Property></Property>
        <Property name="label">统一仓房编码</Property>
      </PropertyDef>
      <PropertyDef name="ajdm">
        <Property></Property>
        <Property name="label">廒间代码</Property>
      </PropertyDef>
      <PropertyDef name="tyajbm">
        <Property></Property>
        <Property name="label">统一廒间编码</Property>
      </PropertyDef>
      <PropertyDef name="cqrq">
        <Property name="dataType">Date</Property>
        <Property name="label">出清日期</Property>
      </PropertyDef>
      <PropertyDef name="srq">
        <Property></Property>
        <Property name="label">申请人</Property>
      </PropertyDef>
      <PropertyDef name="bmshr">
        <Property></Property>
        <Property name="label">部门审核人</Property>
      </PropertyDef>
      <PropertyDef name="ldshr">
        <Property></Property>
        <Property name="label">领导审核人</Property>
      </PropertyDef>
      <PropertyDef name="bz">
        <Property></Property>
        <Property name="label">备注</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <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>
    </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">gDApi2002PR#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="cqqrdh">
        <Property name="property">cqqrdh</Property>
        <Property name="width">180</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="cfdm">
        <Property name="property">cfdm</Property>
        <Property name="width">210</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="ajdm">
        <Property name="property">ajdm</Property>
        <Property name="width">230</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="cqrq">
        <Property name="property">cqrq</Property>
        <Property name="width">150</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="srq">
        <Property name="property">srq</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="bmshr">
        <Property name="property">bmshr</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="ldshr">
        <Property name="property">ldshr</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="bz">
        <Property name="property">bz</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="width">70</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsj">
        <Property name="property">zhgxsj</Property>
        <Property name="width">160</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" layout="regionPadding:5">
      <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>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">基本信息</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*</Property>
              <Property name="labelWidth">160</Property>
              <Property name="labelAlign">left</Property>
              <Property name="labelSeparator">:</Property>
              <Property name="labelPosition">left</Property>
              <AutoFormElement>
                <Property name="name">cqqrdh</Property>
                <Property name="property">cqqrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">cfdm</Property>
                <Property name="property">cfdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tycfbm</Property>
                <Property name="property">tycfbm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ajdm</Property>
                <Property name="property">ajdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tyajbm</Property>
                <Property name="property">tyajbm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">cqrq</Property>
                <Property name="property">cqrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">srq</Property>
                <Property name="property">srq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">bmshr</Property>
                <Property name="property">bmshr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ldshr</Property>
                <Property name="property">ldshr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">bz</Property>
                <Property name="property">bz</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>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">gDApi2002PR#saveData</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">gDApi2002PR#pushData</Property>
      <Property name="confirmMessage">确定要上报么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDel">
      <Property name="service">gDApi2002PR#delData</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="service">gDApi2002PR#delUpdate</Property>
      <Property name="confirmMessage">确定要将数据标记为删除么?</Property>
    </AjaxAction>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java
@@ -16,15 +16,9 @@
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.push.gd2022.dto.Gd2022Api1023;
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;
@@ -61,7 +55,7 @@
     * @return
     */
    @DataProvider
    public void listData(Page<GdApi1023> page, ApiParam param) {
    public void listData(Page<Gd2022Api1023> page, ApiParam param) {
        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
@@ -98,11 +92,11 @@
        };
        org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable);
        page.setEntityCount((int) japPage.getTotalElements());
        List<GdApi1023> list = new ArrayList<>();
        GdApi1023 gdApi1023;
        List<Gd2022Api1023> list = new ArrayList<>();
        Gd2022Api1023 GD2022Api1023;
        for (ApiInfoData infoData : japPage.getContent()) {
            gdApi1023 = JSONObject.parseObject(infoData.getData(), GdApi1023.class);
            list.add(gdApi1023);
            GD2022Api1023 = JSONObject.parseObject(infoData.getData(), Gd2022Api1023.class);
            list.add(GD2022Api1023);
        }
        page.setEntities(list);
@@ -112,7 +106,7 @@
     * gDApi1023PR#saveData
     */
    @DataResolver
    public void saveData(GdApi1023 data) {
    public void saveData(Gd2022Api1023 data) {
        ApiInfoData infoData;
        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), data.getKqdm());
        if (apiInfoList.size() != 0) {
@@ -136,7 +130,7 @@
     * gDApi1023PR#delData
     */
    @Expose
    public void delData(GdApi1023 data) {
    public void delData(Gd2022Api1023 data) {
        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), data.getKqdm());
        apiInfoDataRep.deleteById(apiInfoList.get(0).getId());
    }
@@ -145,7 +139,7 @@
     * gDApi1023PR#delUpdate
     */
    @Expose
    public String delUpdate(GdApi1023 data) {
    public String delUpdate(Gd2022Api1023 data) {
        if (null == data) {
            return "无数据执行";
        }
@@ -162,7 +156,7 @@
     * @return
     */
    @Expose
    public String pushData(List<GdApi1023> items) {
    public String pushData(List<Gd2022Api1023> items) {
        ResponseDto responseDto;
        String result = "";
@@ -183,18 +177,20 @@
        }
        ApiInfoData infoData;
        for (GdApi1023 data : items) {
        for (Gd2022Api1023 data : items) {
            //推送,数据为集合形式
            responseDto = apiService.pushData(param, apiConf, data);
            if (responseDto.getSuccess() == 0) {
                //推送成功,更新数据上传状态
                List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), data.getKqdm());
                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);
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    //推送成功,更新数据上传状态
                    List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), data.getKqdm());
                    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();
        }
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi2001PR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,192 @@
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.push.gd2022.ApiCodeConstant;
import com.fzzy.push.gd2022.dto.Gd2022Api2001;
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;
/**
 * @Description å°ä»“确认页面管理
 * @Author CZT
 * @Date 2024/6/29 14:57
 */
@Component(value = "gDApi2001PR")
public class GDApi2001PR {
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiPushManager apiPushManager;
    /**
     * èŽ·å–ä¿¡æ¯
     * gDApi2001PR#listData
     *
     * @return
     */
    @DataProvider
    public void listData(Page<Gd2022Api2001> 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"), ApiCodeConstant.API_2001);
                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<Gd2022Api2001> list = new ArrayList<>();
        Gd2022Api2001 Gd2022Api2001;
        for (ApiInfoData infoData : japPage.getContent()) {
            Gd2022Api2001 = JSONObject.parseObject(infoData.getData(), Gd2022Api2001.class);
            list.add(Gd2022Api2001);
        }
        page.setEntities(list);
    }
    /**
     * gDApi2001PR#saveData
     */
    @DataResolver
    public void saveData(Gd2022Api2001 data) {
        ApiInfoData infoData = new ApiInfoData();
        infoData.setId(data.getFcqrdh());
        infoData.setKqdm(data.getCfdm().substring(0, 21));
        infoData.setInteId(ApiCodeConstant.API_2001);
        infoData.setUpdateTime(new Date());
        infoData.setDataId(infoData.getId());
        infoData.setData(JSON.toJSONString(data));
        infoData.setCzbz(data.getCzbz());
        infoData.setRemarks("备注信息");
        apiInfoDataRep.save(infoData);
    }
    /**
     * gDApi2001PR#delData
     */
    @Expose
    public void delData(Gd2022Api2001 data) {
        apiInfoDataRep.deleteById(data.getFcqrdh());
    }
    /**
     * gDApi2001PR#delUpdate
     */
    @Expose
    public String delUpdate(Gd2022Api2001 entity) {
        if (null == entity) {
            return "无数据执行";
        }
        apiInfoDataRep.updateStatus(entity.getFcqrdh(), JSON.toJSONString(entity), Constant.CZBZ_D);
        return null;
    }
    @Expose
    public String pushData(List<Gd2022Api2001> items) {
        String result = "";
        String kqdm = items.get(0).getCfdm().substring(0, 21);
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        //封装参数
        ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_2001);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        if (null == apiService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        ResponseDto responseDto;
        ApiInfoData infoData;
        for (Gd2022Api2001 data : items) {
            responseDto = apiService.pushData(param, apiConf, data);
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getFcqrdh());
                    infoData.setKqdm(data.getCfdm().substring(0, 21));
                    infoData.setInteType("21");
                    infoData.setInteId(ApiCodeConstant.API_2001);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(infoData.getId());
                    infoData.setCzbz(Constant.CZBZ_U);
                    data.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(data));
                    apiInfoDataRep.save(infoData);
                }
            }
            result += responseDto.toString();
        }
        return result;
    }
}
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi2002PR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,193 @@
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.push.gd2022.ApiCodeConstant;
import com.fzzy.push.gd2022.dto.Gd2022Api2002;
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;
/**
 * @Description å‡ºæ¸…确认页面管理
 * @Author CZT
 * @Date 2024/6/29 15:25
 */
@Component(value = "gDApi2002PR")
public class GDApi2002PR {
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiPushManager apiPushManager;
    /**
     * èŽ·å–ä¿¡æ¯
     * gDApi2002PR#listData
     *
     * @return
     */
    @DataProvider
    public void listData(Page<Gd2022Api2002> 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"), ApiCodeConstant.API_2002);
                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<Gd2022Api2002> list = new ArrayList<>();
        Gd2022Api2002 Gd2022Api2002;
        for (ApiInfoData infoData : japPage.getContent()) {
            Gd2022Api2002 = JSONObject.parseObject(infoData.getData(), Gd2022Api2002.class);
            list.add(Gd2022Api2002);
        }
        page.setEntities(list);
    }
    /**
     * gDApi2002PR#saveData
     */
    @DataResolver
    public void saveData(Gd2022Api2002 data) {
        ApiInfoData infoData = new ApiInfoData();
        infoData.setId(data.getCqqrdh());
        infoData.setKqdm(data.getCfdm().substring(0, 21));
        infoData.setInteId(ApiCodeConstant.API_2002);
        infoData.setUpdateTime(new Date());
        infoData.setDataId(infoData.getId());
        infoData.setData(JSON.toJSONString(data));
        infoData.setCzbz(data.getCzbz());
        infoData.setRemarks("备注信息");
        apiInfoDataRep.save(infoData);
    }
    /**
     * gDApi2002PR#delData
     */
    @Expose
    public void delData(Gd2022Api2002 data) {
        apiInfoDataRep.deleteById(data.getCqqrdh());
    }
    /**
     * gDApi2002PR#delUpdate
     */
    @Expose
    public String delUpdate(Gd2022Api2002 entity) {
        if (null == entity) {
            return "无数据执行";
        }
        apiInfoDataRep.updateStatus(entity.getCqqrdh(), JSON.toJSONString(entity), Constant.CZBZ_D);
        return null;
    }
    @Expose
    public String pushData(List<Gd2022Api2002> items) {
        String result = "";
        String kqdm = items.get(0).getCfdm().substring(0, 21);
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        //封装参数
        ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_2002);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        if (null == apiService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        ResponseDto responseDto;
        ApiInfoData infoData;
        for (Gd2022Api2002 data : items) {
            responseDto = apiService.pushData(param, apiConf, data);
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    infoData = new ApiInfoData();
                    infoData.setId(data.getCqqrdh());
                    infoData.setKqdm(data.getCfdm().substring(0, 21));
                    infoData.setInteType("21");
                    infoData.setInteId(ApiCodeConstant.API_2002);
                    infoData.setUpdateTime(new Date());
                    infoData.setDataId(infoData.getId());
                    infoData.setCzbz(Constant.CZBZ_U);
                    data.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/SHApi2101PR.java
@@ -9,7 +9,6 @@
import com.fzzy.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.Api1204;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.service.ApiCommonService;
@@ -17,15 +16,10 @@
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.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.SH2023Api2101;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -40,7 +34,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * ä¸Šæµ·å¸‚接口-2101 æ£€æ–¤å•
src/main/java/com/fzzy/otherview/whhpjl/pr/WhjlApi1206PR.java
@@ -16,13 +16,9 @@
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.GdApi1023Way;
import com.fzzy.otherview.whhpjl.WhjlConstant;
import com.fzzy.otherview.whhpjl.dto.WhjlApi1206;
import com.fzzy.otherview.whhpjl.dto.WhjlApi1206;
import com.fzzy.otherview.whhpjl.dto.WhjlQDItem;
import com.fzzy.push.gd2022.ApiCodeConstant;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java
@@ -7,6 +7,8 @@
    public static String API_1023 = "1023";
    public static String API_2001 = "2001";
    public static String API_2002 = "2002";
    /**
     * æŽ¥å£ç¼–码-1001 èº«ä»½è®¤è¯æŽ¥å£
     */
src/main/java/com/fzzy/push/gd2022/GD2022ApiRemoteService2022.java
@@ -789,6 +789,36 @@
            apiData.setZhgxsj(DateUtils.addSeconds(new Date(), -10));
            return JSON.toJSONString(apiData);
        }
        if (ApiCodeConstant.API_2001.equals(inteId)) {
            Gd2022Api2001 apiData = (Gd2022Api2001) data;
            //校验统一编码是否为空,为空则查询信息进行赋值
            if(StringUtils.isEmpty(apiData.getTycfbm())){
                String tycfbm = apiCommonService.getTycfbm(apiData.getCfdm());
                apiData.setTycfbm(tycfbm);
            }
            //校验统一编码是否为空,为空则查询信息进行赋值
            if(StringUtils.isEmpty(apiData.getTyajbm())){
                String tyajbm = apiCommonService.getTyajbm(apiData.getAjdm());
                apiData.setTyajbm(tyajbm);
            }
            apiData.setZhgxsj(DateUtils.addSeconds(new Date(), -10));
            return JSON.toJSONString(apiData);
        }
        if (ApiCodeConstant.API_2002.equals(inteId)) {
            Gd2022Api2002 apiData = (Gd2022Api2002) data;
            //校验统一编码是否为空,为空则查询信息进行赋值
            if(StringUtils.isEmpty(apiData.getTycfbm())){
                String tycfbm = apiCommonService.getTycfbm(apiData.getCfdm());
                apiData.setTycfbm(tycfbm);
            }
            //校验统一编码是否为空,为空则查询信息进行赋值
            if(StringUtils.isEmpty(apiData.getTyajbm())){
                String tyajbm = apiCommonService.getTyajbm(apiData.getAjdm());
                apiData.setTyajbm(tyajbm);
            }
            apiData.setZhgxsj(DateUtils.addSeconds(new Date(), -10));
            return JSON.toJSONString(apiData);
        }
        return JSON.toJSONString(data);
    }
src/main/java/com/fzzy/push/gd2022/GD2022PushService12.java
@@ -4,6 +4,7 @@
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.service.PushService12;
import com.fzzy.push.impl.ComPushService12;
import com.fzzy.push.impl.ComPushService99;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -21,7 +22,9 @@
    private GD2022ApiRemoteService2022 apiRemoteService;
    @Autowired
    private ComPushService12 pushService;
    private ComPushService12 pushService12;
    @Autowired
    private ComPushService99 pushService99;
    @Override
    public String getProtocol() {
@@ -33,43 +36,48 @@
        log.info("------->>>>粮食购销 æŽ¥å£æ¨¡å—上报开始");
        //客户信息
        pushService.pushData1212(apiRemoteService, param);
        pushService12.pushData1212(apiRemoteService, param);
        //合同
        pushService.pushData1201(apiRemoteService, param);
        pushService12.pushData1201(apiRemoteService, param);
        //入库数据 + å…¥åº“过磅
        pushService.pushData1202(apiRemoteService, param);
        pushService12.pushData1202(apiRemoteService, param);
        //入库质检
        pushService.pushData1203(apiRemoteService, param);
        pushService12.pushData1203(apiRemoteService, param);
        //入库结算
        pushService.pushData1204(apiRemoteService, param);
        pushService12.pushData1204(apiRemoteService, param);
        //出库数据 + å‡ºåº“过磅
        pushService.pushData1205(apiRemoteService, param);
        pushService12.pushData1205(apiRemoteService, param);
        //出库结算
        pushService.pushData1206(apiRemoteService, param);
        pushService12.pushData1206(apiRemoteService, param);
        //倒仓
        pushService.pushData1207(apiRemoteService, param);
        pushService12.pushData1207(apiRemoteService, param);
        //损溢单
        pushService.pushData1209(apiRemoteService, param);
        pushService12.pushData1209(apiRemoteService, param);
        //粮食库存数据
        pushService.pushData1208(apiRemoteService, param);
        pushService12.pushData1208(apiRemoteService, param);
        //性质转变
        pushService.pushData1210(apiRemoteService, param);
        pushService12.pushData1210(apiRemoteService, param);
        //账面库存
        pushService.pushData1211(apiRemoteService, param);
        pushService12.pushData1211(apiRemoteService, param);
        //文件
        pushService.pushData1109(apiRemoteService, param);
        pushService12.pushData1109(apiRemoteService, param);
        //封仓确认单
        pushService99.pushData2001(apiRemoteService, param);
        //出清确认单
        pushService99.pushData2002(apiRemoteService, param);
        log.info("------->>>>粮食购销 æŽ¥å£æ¨¡å—上报结束");
    }
src/main/java/com/fzzy/push/gd2022/GD2022PushService13.java
@@ -4,6 +4,7 @@
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.service.PushService13;
import com.fzzy.push.impl.ComPushService13;
import com.fzzy.push.impl.ComPushService99;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -21,8 +22,9 @@
    private GD2022ApiRemoteService2022 apiRemoteService;
    @Autowired
    private ComPushService13 pushService;
    private ComPushService13 pushService13;
    @Autowired
    private ComPushService99 pushService99;
    @Override
    public String getProtocol() {
@@ -31,30 +33,28 @@
    @Override
    public void pushData(ApiParam param) {
        pushService.pushData1301(apiRemoteService, param);
        pushService13.pushData1301(apiRemoteService, param);
        //粮情
        pushService.pushData1302(apiRemoteService, param);
        pushService13.pushData1302(apiRemoteService, param);
        //气体
        pushService.pushData1304(apiRemoteService, param);
        pushService13.pushData1304(apiRemoteService, param);
        //虫害
        pushService.pushData1303(apiRemoteService, param);
        pushService13.pushData1303(apiRemoteService, param);
        //通风
        pushService.pushData1305(apiRemoteService, param);
        pushService13.pushData1305(apiRemoteService, param);
        //熏蒸
        pushService.pushData1306(apiRemoteService, param);
        //熏蒸
        pushService.pushData1307(apiRemoteService, param);
        pushService13.pushData1306(apiRemoteService, param);
        pushService.pushData1308(apiRemoteService, param);
        pushService13.pushData1307(apiRemoteService, param);
        pushService.pushData1309(apiRemoteService, param);
        pushService13.pushData1308(apiRemoteService, param);
        //质检
        pushService.pushData1310(apiRemoteService, param);
        pushService13.pushData1309(apiRemoteService, param);
        pushService13.pushData1310(apiRemoteService, param);
        //熏蒸备案
        pushService99.pushData1023(apiRemoteService, param);
    }
}
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023.java
ÎļþÃû´Ó src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.otherview.gd2022.dto;
package com.fzzy.push.gd2022.dto;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@@ -16,7 +16,7 @@
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class GdApi1023 implements Serializable {
public class Gd2022Api1023 implements Serializable {
    /**
     *
     */
@@ -69,9 +69,9 @@
    private Date zhgxsj;   //最后更新时间
    private List<GdApi1023Dtl> dtls; //实施熏蒸作业的储粮粮情明细
    private List<GdApi1023People> peoples; //熏蒸作业人员信息
    private List<GdApi1023Way> ways; //熏蒸备案方式
    private List<Gd2022Api1023Dtl> dtls; //实施熏蒸作业的储粮粮情明细
    private List<Gd2022Api1023People> peoples; //熏蒸作业人员信息
    private List<Gd2022Api1023Way> ways; //熏蒸备案方式
}
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023Dtl.java
ÎļþÃû´Ó src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023Dtl.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.otherview.gd2022.dto;
package com.fzzy.push.gd2022.dto;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@@ -12,7 +12,7 @@
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class GdApi1023Dtl implements Serializable {
public class Gd2022Api1023Dtl implements Serializable {
    private static final long serialVersionUID = 1L;
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023People.java
ÎļþÃû´Ó src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023People.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.otherview.gd2022.dto;
package com.fzzy.push.gd2022.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -7,7 +7,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
public class GdApi1023People implements Serializable {
public class Gd2022Api1023People implements Serializable {
    private static final long serialVersionUID = 1L;
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api1023Way.java
ÎļþÃû´Ó src/main/java/com/fzzy/otherview/gd2022/dto/GdApi1023Way.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.fzzy.otherview.gd2022.dto;
package com.fzzy.push.gd2022.dto;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -7,7 +7,7 @@
@Data
@EqualsAndHashCode(callSuper = false)
public class GdApi1023Way implements Serializable {
public class Gd2022Api1023Way implements Serializable {
    private static final long serialVersionUID = 1L;
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api2001.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.push.gd2022.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @Description å°ä»“确认单
 * @Author CZT
 * @Date 2024/6/29 14:36
 */
@Data
public class Gd2022Api2001 implements Serializable {
    private static final long serialVersionUID = 9157617424050247565L;
    @PropertyDef(label = "封仓确认单号", description = "2位业务编码(21代表封仓)+yyyyMMdd+4位顺序码,21202405040001")
    private String fcqrdh;
    @PropertyDef(label = "仓房代码" )
    private String cfdm;
    @PropertyDef(label = "统一仓房编码")
    private String tycfbm;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "统一廒间编码")
    private String tyajbm;
    @PropertyDef(label = "封仓日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date fcrq;
    @PropertyDef(label = "粮食品种代码")
    private String lspzdm;
    @PropertyDef(label = "粮食性质代码")
    private String lsxzdm;
    @PropertyDef(label = "粮食等级代码")
    private String lsdjdm;
    @PropertyDef(label = "收获年度")
    private String shnd;
    @PropertyDef(label = "国别")
    private String gb;
    @PropertyDef(label = "产地")
    private String cd;
    @PropertyDef(label = "保管员")
    private String bgy;
    @PropertyDef(label = "封仓数量")
    @JsonProperty("Fcsl")
    private String Fcsl;
    @PropertyDef(label = "封仓申请人")
    private String fcsrq;
    @PropertyDef(label = "部门审核人")
    private String bmshr;
    @PropertyDef(label = "领导审核人")
    private String ldshr;
    @PropertyDef(label = "备注")
    private String bz;
    @PropertyDef(label = "操作标志")
    private String czbz;
    @PropertyDef(label = "最后更新时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date zhgxsj;
}
src/main/java/com/fzzy/push/gd2022/dto/Gd2022Api2002.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.fzzy.push.gd2022.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @Description å‡ºæ¸…确认单
 * @Author CZT
 * @Date 2024/6/29 14:54
 */
@Data
public class Gd2022Api2002 implements Serializable {
    private static final long serialVersionUID = 9157617424050247565L;
    @PropertyDef(label = "出清确认单号", description = "2位业务编码(22代表出清)+yyyyMMdd+4位顺序码,22202405040001")
    private String cqqrdh;
    @PropertyDef(label = "仓房代码" )
    private String cfdm;
    @PropertyDef(label = "统一仓房编码")
    private String tycfbm;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "统一廒间编码")
    private String tyajbm;
    @PropertyDef(label = "出清日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date cqrq;
    @PropertyDef(label = "申请人")
    private String srq;
    @PropertyDef(label = "部门审核人")
    private String bmshr;
    @PropertyDef(label = "领导审核人")
    private String ldshr;
    @PropertyDef(label = "备注")
    private String bz;
    @PropertyDef(label = "操作标志")
    private String czbz;
    @PropertyDef(label = "最后更新时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date zhgxsj;
}
src/main/java/com/fzzy/push/impl/ComPushService99.java
@@ -8,6 +8,10 @@
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.push.gd2022.ApiCodeConstant;
import com.fzzy.push.gd2022.dto.Gd2022Api1023;
import com.fzzy.push.gd2022.dto.Gd2022Api2001;
import com.fzzy.push.gd2022.dto.Gd2022Api2002;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api1115;
import com.fzzy.push.sh2023.dto.SH2023Api1311;
@@ -31,7 +35,7 @@
    /*==========上海市平台定制接口==========*/
    /**
     * 1311 è§†é¢‘监控接口--上海市平台
     * 1115 æ•°æ®ç›¸ç¬¦æ€§æŽ¥å£--上海市平台
     */
    public void pushData1115(ApiRemoteService apiRemoteService, ApiParam param) {
        // èŽ·å– è§†é¢‘监控接口数据
@@ -169,4 +173,107 @@
        //TODO
    }
    /*==========广东省平台定制接口==========*/
    /**
     * 1023 ç†è’¸å¤‡æ¡ˆæŽ¥å£
     */
    public void pushData1023(ApiRemoteService apiRemoteService, ApiParam param) {
        //获取熏蒸备案信息
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(ApiCodeConstant.API_1023);
        if (null == items || items.isEmpty()) {
            log.error("-----广东省平台2022版:未获取到熏蒸备案信息,不推送-----");
            return;
        }
        param.setInteCategory("21");
        param.setInteId(ApiCodeConstant.API_1023);
        Gd2022Api1023 gd2022Api1023;
        ResponseDto responseDto;
        for (ApiInfoData infoData : items) {
            gd2022Api1023 = JSONObject.parseObject(infoData.getData(), Gd2022Api1023.class);
            gd2022Api1023.setZhgxsj(infoData.getUpdateTime());
            param.setBizId(infoData.getDataId());
            responseDto = apiRemoteService.pushData(param, gd2022Api1023);
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(infoData.getCzbz())) {
                    infoData.setCzbz(Constant.CZBZ_U);
                    gd2022Api1023.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(gd2022Api1023));
                    apiInfoDataRep.save(infoData);
                }
            }
        }
    }
    /**
     * 2001 å°ä»“确认单
     */
    public void pushData2001(ApiRemoteService apiRemoteService, ApiParam param) {
        // èŽ·å– è§†é¢‘监控接口数据
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(ApiCodeConstant.API_2001);
        if (null == items || items.isEmpty()) {
            log.error("-----广东省平台2022版:未获取到封仓确认单,不推送-----");
            return;
        }
        param.setInteCategory("21");
        param.setInteId(ApiCodeConstant.API_2001);
        Gd2022Api2001 gd2022Api2001;
        ResponseDto responseDto;
        for (ApiInfoData infoData : items) {
            gd2022Api2001 = JSONObject.parseObject(infoData.getData(), Gd2022Api2001.class);
            gd2022Api2001.setZhgxsj(infoData.getUpdateTime());
            param.setBizId(infoData.getDataId());
            responseDto = apiRemoteService.pushData(param, gd2022Api2001);
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(infoData.getCzbz())) {
                    infoData.setCzbz(Constant.CZBZ_U);
                    gd2022Api2001.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(gd2022Api2001));
                    apiInfoDataRep.save(infoData);
                }
            }
        }
    }
    /**
     * 2002 å‡ºæ¸…确认单
     */
    public void pushData2002(ApiRemoteService apiRemoteService, ApiParam param) {
        // èŽ·å– è§†é¢‘监控接口数据
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(ApiCodeConstant.API_2002);
        if (null == items || items.isEmpty()) {
            log.error("-----广东省平台2022版:未获取到出清确认单,不推送-----");
            return;
        }
        param.setInteCategory("21");
        param.setInteId(ApiCodeConstant.API_2002);
        Gd2022Api2002 gd2022Api2002;
        ResponseDto responseDto;
        for (ApiInfoData infoData : items) {
            gd2022Api2002 = JSONObject.parseObject(infoData.getData(), Gd2022Api2002.class);
            gd2022Api2002.setZhgxsj(infoData.getUpdateTime());
            param.setBizId(infoData.getDataId());
            responseDto = apiRemoteService.pushData(param, gd2022Api2002);
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(infoData.getCzbz())) {
                    infoData.setCzbz(Constant.CZBZ_U);
                    gd2022Api2002.setCzbz(Constant.CZBZ_U);
                    infoData.setData(JSON.toJSONString(gd2022Api2002));
                    apiInfoDataRep.save(infoData);
                }
            }
        }
    }
}
src/main/resources/application-pro.yml
@@ -1,4 +1,4 @@
##########################  å¹¿ä¸œæ½®é˜³   ##########################
##########################  å¤§æ¹¾åŒº   ##########################
server:
  port: 8090
  jetty:
@@ -51,7 +51,6 @@
      timeout: 6000
igds:
  default:
    companyId: 5317
  file-path: D:/IGDS-API/FILE/
    companyId: 5016
  file-path: C:/app/igds-api/
  img-path: D:/IGDS/FILE/
src/main/resources/application.yml
@@ -1,7 +1,7 @@
##########################  Server   ##########################
spring:
  profiles:
    active: dev
    active: pro
  application:
    name: igds-api
  main:
src/main/resources/templates/home/home.html
@@ -300,6 +300,12 @@
                                <a lay-href="com.fzzy.otherview.gd2022.GdApi1023.d">广东-熏蒸备案</a>
                            </dd>
                            <dd>
                                <a lay-href="com.fzzy.otherview.gd2022.GdApi2001.d">广东-封仓确认单</a>
                            </dd>
                            <dd>
                                <a lay-href="com.fzzy.otherview.gd2022.GdApi2002.d">广东-出清确认单</a>
                            </dd>
                            <dd>
                                <a lay-href="com.fzzy.otherview.sh2023.ShApi1115.d">上海-数据相符性</a>
                            </dd>
                            <dd>