CZT
2023-08-21 998770ccd5fac7417c5b680b03b28c439cc31561
上海市接口-增加粮情设备数据同步
已修改2个文件
已添加8个文件
654 ■■■■■ 文件已修改
src/main/java/com/fzzy/api/timer/SyncDataScheduled.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Depot.java 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotConf.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotConfKey.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2103.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40SyncDepotConfRep.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40SyncDepotRep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103Item.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/timer/SyncDataScheduled.java
@@ -135,6 +135,7 @@
        ApiParam param = new ApiParam();
        param.setSyncProtocol(conf.getSyncProtocol());
        param.setPushProtocol(conf.getPushProtocol());
        param.setKqdm(conf.getKqdm());
        param.setStart(start);
        param.setEnd(exeDate);
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
@@ -1,9 +1,11 @@
package com.fzzy.async.fzzy40;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.data.SyncProtocol;
import com.fzzy.api.service.SyncService13;
import com.fzzy.async.fzzy40.impl.*;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -29,6 +31,8 @@
    private Fzzy40Sync1306 fzzySync1306;
    @Autowired
    private Fzzy40Sync1310 fzzySync1310;
    @Autowired
    private Fzzy40Sync2103 fzzy40Sync2103;
    @Override
    public String getProtocol() {
@@ -38,6 +42,20 @@
    @Override
    public void syncData(ApiParam param) {
        //各省独有接口信息同步
        if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.equals(param.getPushProtocol())){
            //广东省平台2022版,需要同步熏蒸备案信息
            //TODO ç†è’¸å¤‡æ¡ˆåŒæ­¥
        }
        if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.equals(param.getPushProtocol())){
            //上海市平台2023版,需要同步粮情设备配置信息
            //同步粮情设备配置信息
            fzzy40Sync2103.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
        }
        //温湿度检测数据同步
        fzzySync1302.syncData(param.getDeptId(), param.getStart(), param.getEnd());
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Depot.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
package com.fzzy.async.fzzy40.entity;
import com.bstek.dorado.annotation.PropertyDef;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
 * @Desc: åŸºç¡€ä¿¡æ¯-货位信息
 * @author: Andy
 * @update-time: 2023/5/26
 */
@Data
@Entity
@Table(name = "D_DEPOT")
public class Fz40Depot implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "ID_", length = 50)
    @PropertyDef(label = "货位编号")
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @Column(name = "ggm", length = 50)
    @PropertyDef(label = "国规码")
    private String ggm;
    @Column(name = "NAME_", length = 50)
    @PropertyDef(label = "货位名称")
    private String name;
    @Column(name = "BUILDING_ID_", length = 40)
    @PropertyDef(label = "所属仓房")
    private String buildingId;
    @Column(name = "GRANARY_ID_", length = 40)
    @PropertyDef(label = "所属廒间")
    private String granaryId;
    @Column(name = "DEPOT_TYPE_", length = 10)
    @PropertyDef(label = "仓库类型", description = "根据国标配置类型,平房仓、立筒仓、浅圆仓、储油罐")
    private String depotType;
    @Column(name = "DEPOT_STATUS_", length = 10)
    @PropertyDef(label = "仓库状态", description = "与库存表关联,通过库存变更")
    private String depotStatus;
    @Column(name = "STORE_TYPE_", length = 6)
    @PropertyDef(label = "储粮方式", description = "与库存表关联")
    private String storeType;
    @Column(name = "STORAGE_MAX_")
    @PropertyDef(label = "设计储量", description = "单位:吨")
    private Double storageMax;
    @Column(name = "STORAGE_REAL_", insertable = true)
    @PropertyDef(label = "实际储量", description = "单位:KG,通过库存变更")
    private Double storageReal;
    @Column(name = "FOOD_TYPE_", length = 10)
    @PropertyDef(label = "粮食性质", description = "与库存表关联,通过库存变更")
    private String foodType;
    @Column(name = "FOOD_VARIETY_", length = 10)
    @PropertyDef(label = "粮食品种", description = "与库存表关联,通过库存变更")
    private String foodVariety;
    @Column(name = "FOOD_LEVEL_", length = 10)
    @PropertyDef(label = "粮食等级", description = "与库存表关联,通过库存变更")
    private String foodLevel;
    @Column(name = "FOOD_LOCATION_", length = 50)
    @PropertyDef(label = "粮食产地", description = "与库存表关联,通过库存变更")
    private String foodLocation;
    @Column(name = "FOOD_YEAR_", length = 10)
    @PropertyDef(label = "粮食年份", description = "与库存表关联,通过库存变更")
    private String foodYear;
    @Column(name = "PER_WET_")
    @PropertyDef(label = "水分", description = "百分比,默认为空,来源质检信息")
    private Double perWet;
    @Column(name = "PER_IMPURITY_")
    @PropertyDef(label = "杂质", description = "百分比,默认为空,来源质检信息")
    private Double perImpurity;
    @Column(name = "BULK_WEIGHT_")
    @PropertyDef(label = "容重 g/L", description = "容重 g/L")
    private Double bulkWeight;
    @Column(name = "STORE_KEEPER_", length = 30)
    @PropertyDef(label = "保管员账号")
    private String storeKeeper;
    @Column(name = "STORE_KEEPER_NAME_", length = 50)
    @PropertyDef(label = "保管员", description = "中文名称")
    private String storeKeeperName;
    @Column(name = "STORE_DATE_")
    @PropertyDef(label = "入库时间", description = "默认空,通过库存变更")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date storeDate;
    @Column(name = "CHECK_DATE_")
    @PropertyDef(label = "最后质检时间", description = "默认空,来源质检信息")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date checkDate;
    @Column(name = "REMARK_", length = 200)
    @PropertyDef(label = "备注", description = "备注信息")
    private String remark;
    @Column(name = "UPDATE_TIME_")
    @PropertyDef(label = "数据更新时间")
    private Date updateTime;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotConf.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,128 @@
package com.fzzy.async.fzzy40.entity;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
/**
 * ä»“库配置 ç”¨äºŽé…ç½®ç²®æƒ…分机等配置,气体采集配置等
 */
@Data
@Entity
@Table(name = "D_DEPOT_CONF")
@IdClass(Fz40DepotConfKey.class)
public class Fz40DepotConf implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Id
    @Column(name = "DEPOT_ID_", length = 50)
    @PropertyDef(label = "所属仓库")
    private String depotId;
    @Column(name = "GRAIN_SER_", length = 40)
    @PropertyDef(label = "粮情分机", description = "仅仅粮情采集分机")
    private String grainSer;
    @Column(name = "TH_SER_", length = 40)
    @PropertyDef(label = "温湿度分机", description = "仓温仓湿的分机")
    private String thSer;
    @Column(name = "ES_SER_", length = 40)
    @PropertyDef(label = "能耗分机")
    private String esSer;
    @Column(name = "GAS_SER_", length = 40)
    @PropertyDef(label = "气体分机")
    private String gasSer;
    @Column(name = "GRAIN_FREQ_", length = 4)
    @PropertyDef(label = "粮情保存频率", description = "默认一天多次")
    private String grainFreq;
    @Column(name = "TH_CONF_", length = 5)
    @PropertyDef(label = "仓温仓湿通道")
    private String thConf = "1";
    @Column(name = "CABLE_RULE_", length = 20)
    @PropertyDef(label = "布线规则", description = "平方仓表示层行列,筒仓表示每圈的列数")
    private String cableRule;
    @Column(name = "CABLE_CIR_", length = 20)
    @PropertyDef(label = "筒仓层规则", description = "针对筒仓")
    private String cableCir;
    @Column(name = "CABLE_CONE_", length = 2)
    @PropertyDef(label = "筒仓锥形", description = "针对筒仓锥形,0=无判断,1=上锥形,2=下锥形")
    private String cableCone;
    @Column(name = "CABLE_START_")
    @PropertyDef(label = "电缆开始列")
    private int cableStart;
    @Column(name = "CABLE_END_")
    @PropertyDef(label = "电缆截至列")
    private int cableEnd;
    @Column(name = "START_ORIENTATION_", length = 20)
    @PropertyDef(label = "电缆开始方位", description = "默认右边(右边、右上、左边、左上)")
    private String startOrientation;
    @Column(name = "START_DIRECTION_", length = 20)
    @PropertyDef(label = "电缆开始方向", description = "默认纵向(纵向、横向)")
    private String startDirection;
    @Column(name = "START_POINT_", length = 20)
    @PropertyDef(label = "电缆开始点位", description = "默认顶部(顶部、底部)")
    private String startPoint;
    @Column(name = "TEMP_MAX_")
    @PropertyDef(label = "温度上限")
    private Double tempMax;
    @Column(name = "GAS_START_")
    @PropertyDef(label = "气体采集点开始")
    private int gasStart;
    @Column(name = "GAS_END_")
    @PropertyDef(label = "气体采集点截至")
    private int gasEnd;
    @Column(name = "N2_MAX_")
    @PropertyDef(label = "氮气上限")
    private Double n2Max;
    @Column(name = "CO2_MAX_")
    @PropertyDef(label = "二氧化碳上限")
    private Double co2Max;
    @Column(name = "O2_MAX_")
    @PropertyDef(label = "氧气上限")
    private Double o2Max;
    @Column(name = "PH3_MAX_")
    @PropertyDef(label = "磷化氢上限")
    private Double ph3Max;
    @Column(name = "PEST_START_")
    @PropertyDef(label = "虫害采集点开始")
    private int pestStart;
    @Column(name = "PEST_END_")
    @PropertyDef(label = "虫害采集点截至")
    private int pestEnd;
    @Column(name = "PEST_MAX_")
    @PropertyDef(label = "虫害上限")
    private Double pestMax;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DepotConfKey.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.fzzy.async.fzzy40.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.Serializable;
@Data
@AllArgsConstructor
public class Fz40DepotConfKey implements Serializable {
        private String depotId;
        private String companyId;
        public Fz40DepotConfKey(){
            super();
        }
    }
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2103.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
package com.fzzy.async.fzzy40.impl;
import com.alibaba.fastjson.JSON;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1102;
import com.fzzy.api.entity.Api1105;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1102Rep;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Depot;
import com.fzzy.async.fzzy40.entity.Fz40DepotConf;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDepotConfRep;
import com.fzzy.async.fzzy40.repository.Fzzy40SyncDepotRep;
import com.fzzy.push.sh2023.SH2023Constant;
import com.fzzy.push.sh2023.dto.SH2023Api2103;
import com.fzzy.push.sh2023.dto.SH2023Api2103Item;
import com.fzzy.push.sh2023.dto.ShAreaBjw;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
 * ç²®æƒ…检测设备信息同步
 *
 * @author czt
 * @date 2023-08-21
 */
@Slf4j
@Component
public class Fzzy40Sync2103 {
    @Autowired
    private Fzzy40SyncDepotRep fzzy40SyncDepotRep;
    @Autowired
    private Fzzy40SyncDepotConfRep fzzy40SyncDepotConfRep;
    @Autowired
    private ApiCommonService commonService;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存温湿度检测数据
     *
     * @param kqdm
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1302接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1302);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Depot> list = fzzy40SyncDepotRep.listDepotList(deptId);
            if (null == list || list.isEmpty()) {
                log.info("2103---粮情设备配置同步数据:没有查询到仓库信息");
                return;
            }
            List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
            String bjw = "";
            if(null != api1102List && api1102List.size() > 0){
                bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
            }
            SH2023Api2103 sh2023Api2103;
            Api1105 api1105;
            List<Fz40DepotConf> depotConfList;
            Fz40DepotConf depotConf;
            List<ApiInfoData> apiInfoDataList;
            SH2023Api2103Item sh2023Api2103Item;
            List<SH2023Api2103Item> listItem;
            for (Fz40Depot fz40Depot : list) {
                //根据仓库编码获取配置信息
                depotConfList = fzzy40SyncDepotConfRep.findDataByDepotId(fz40Depot.getId());
                if(null == depotConfList || depotConfList.isEmpty()){
                    continue;
                }
                //获取货位信息
                api1105 = commonService.getApi1105Cache(fz40Depot.getId());
                if (null == api1105) {
                    continue;
                }
                sh2023Api2103 = new SH2023Api2103();
                sh2023Api2103.setHwdm(api1105.getHwdm());
                depotConf = depotConfList.get(0);
                String[] strs = depotConf.getCableRule().split("-");
                sh2023Api2103.setDlcs(strs[0]);
                sh2023Api2103.setDlhs(strs[1]);
                sh2023Api2103.setDlls(strs[2]);
                // 1-3-5
                // 8-8-8
                //筒仓规则
                if(StringUtils.isNotEmpty(depotConf.getCableCir())){
                    sh2023Api2103.setDlqs(String.valueOf(strs.length));
                    sh2023Api2103.setDlhs(null);
                    sh2023Api2103.setDlls(null);
                    //电缆圈排列详情
                    listItem = new ArrayList<>();
                    String[] cableCir = depotConf.getCableCir().split("-");
                    int num1 = 0;  //起始根
                    int num2 = 0;  //截止根
                    for(int i = 0; i < cableCir.length; i ++){
                        sh2023Api2103.setDlcs(cableCir[i]);
                        sh2023Api2103Item = new SH2023Api2103Item();
                        sh2023Api2103Item.setQh(i + 1 + "");
                        if(i == 0){
                            num1 += 1;
                        }else {
                            num1 = num2 + 1;
                        }
                        num2 += Integer.valueOf(strs[i]);
                        sh2023Api2103Item.setQsdlbh(num1 + "");
                        sh2023Api2103Item.setJsdlbh(num2 + "");
                        sh2023Api2103Item.setCs(cableCir[i]);
                        sh2023Api2103Item.setYbj((i + 1)*4 + "");
                        sh2023Api2103Item.setRowId(i + "");
                        listItem.add(sh2023Api2103Item);
                    }
                    sh2023Api2103.setDlqplxq(JSON.toJSONString(listItem));
                }
                sh2023Api2103.setScqd("1");
                sh2023Api2103.setSczd(Integer.valueOf(strs[1])*Integer.valueOf(strs[2]) + "");
                sh2023Api2103.setZcqd("1");
                sh2023Api2103.setZczd(Integer.valueOf(strs[1])*Integer.valueOf(strs[2]) + "");
                sh2023Api2103.setXcqd("1");
                sh2023Api2103.setXczd(Integer.valueOf(strs[1])*Integer.valueOf(strs[2]) + "");
                sh2023Api2103.setYxfwqsc("1");
                sh2023Api2103.setYxfwjsc(strs[0]);
                sh2023Api2103.setBjw(bjw);
                sh2023Api2103.setZhgxsj(new Date());
                //持久化保存,单独存入非国标接口表
                ApiInfoData infoData = new ApiInfoData();
                infoData.setId(sh2023Api2103.getHwdm());
                infoData.setKqdm(kqdm);
                infoData.setInteType(Constant.API_CATEGORY_13);
                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2103);
                infoData.setUpdateTime(new Date());
                infoData.setDataId(sh2023Api2103.getHwdm());
                infoData.setRemarks("粮情设备配置信息");
                //设置操作标志
                apiInfoDataList = apiInfoDataRep.getDataByDataId(infoData.getDataId());
                if (null == apiInfoDataList || apiInfoDataList.isEmpty()) {
                    infoData.setCzbz(Constant.CZBZ_I);
                } else {
                    infoData.setCzbz(apiInfoDataList.get(0).getCzbz());
                }
                infoData.setData(JSON.toJSONString(sh2023Api2103));
                apiInfoDataRep.save(infoData);
                log.info("2103---粮情设备配置-同步数据:{}", sh2023Api2103.toString());
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40SyncDepotConfRep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40DepotConf;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
 * æŸ¥è¯¢ç²®æƒ…检测数据
 *
 * @author czt
 *
 * @date 2023-08-21
 */
public interface Fzzy40SyncDepotConfRep extends JpaRepository<Fz40DepotConf, String> {
    /**
     * æ ¹æ®ä»“库编码获取粮情参数配置信息
     * @param depotId
     * @return
     */
    @Query("from Fz40DepotConf where depotId =:depotId order by depotId ")
    List<Fz40DepotConf> findDataByDepotId(@Param("depotId") String depotId);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40SyncDepotRep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Depot;
import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.Date;
import java.util.List;
/**
 * èŽ·å–ä»“åº“ä¿¡æ¯
 *
 * @author czt
 * @date 2023-08-21
 */
public interface Fzzy40SyncDepotRep extends JpaRepository<Fz40Depot, String> {
    /**
     * æ ¹æ®åº“区编码获取货位列表
     * @param deptId
     * @return
     */
    @Query("from Fz40Depot where deptId=:deptId order by id ")
    List<Fz40Depot> listDepotList(@Param("deptId") String deptId);
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package com.fzzy.push.sh2023.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import com.fzzy.api.entity.ApiParent;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * ç²®æƒ…设备配置
 *
 * @author czt
 *
 * @date 2023-08-21
 */
@Data
public class SH2023Api2103 extends ApiParent implements Serializable {
    private static final long serialVersionUID = 9157617424050247565L;
    @PropertyDef(label = "货位代码")
    private String hwdm;
    @PropertyDef(label = "电缆行数")
    private String dlhs;
    @PropertyDef(label = "电缆列数")
    private String dlls;
    @PropertyDef(label = "电缆层数")
    private String dlcs;
    @PropertyDef(label = "电缆圈数")
    private String dlqs;
    @PropertyDef(label = "电缆圈排列详情")
    private String dlqplxq;
    @PropertyDef(label = "上层起点")
    private String scqd;
    @PropertyDef(label = "上层终点")
    private String sczd;
    @PropertyDef(label = "中层起点")
    private String zcqd;
    @PropertyDef(label = "中层终点")
    private String zczd;
    @PropertyDef(label = "下层起点")
    private String xcqd;
    @PropertyDef(label = "下层终点")
    private String xczd;
    @PropertyDef(label = "有效范围起始层")
    private String yxfwqsc;
    @PropertyDef(label = "有效范围结束层")
    private String yxfwjsc;
    @PropertyDef(label = "标记位")
    private String bjw;
    @PropertyDef(label = "最后更新时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date zhgxsj;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api2103Item.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package com.fzzy.push.sh2023.dto;
import com.bstek.dorado.annotation.PropertyDef;
import com.fzzy.api.entity.ApiParent;
import lombok.Data;
import java.io.Serializable;
/**
 * ç²®æƒ…设备配置-筒仓电缆圈排列详情
 *
 * @author czt
 *
 * @date 2023-08-21
 */
@Data
public class SH2023Api2103Item extends ApiParent implements Serializable {
    private static final long serialVersionUID = 9157617424050247565L;
    @PropertyDef(label = "圈号")
    private String qh;
    @PropertyDef(label = "起始电缆编号")
    private String qsdlbh;
    @PropertyDef(label = "结束电缆编号")
    private String jsdlbh;
    @PropertyDef(label = "各圈总层数")
    private String cs;
    @PropertyDef(label = "圈半径")
    private String ybj;
    @PropertyDef(label = "序号")
    private String rowId;
}