czt
2025-01-03 3e8e2bfdfbcf06659d7734d3e1cb63fd0f46c35d
Merge remote-tracking branch 'origin/master'
已修改18个文件
已添加27个文件
4109 ■■■■■ 文件已修改
pom.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/entity/Api1505.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/entity/Api1506.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/entity/Api9201.java 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/timer/PushDataScheduled.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/utils/FileUtils.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/view/repository/Api9201Rep.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1504.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1505.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1506.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1507.java 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1508.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1509.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1510.java 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DrugLogPeople.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutStockChange.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1207.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1504.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1505.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1506.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1507.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1508.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1509.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1510.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync9201.java 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1504Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1505Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1506Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1507Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1508Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1509Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1510Rep.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync9201Rep.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/GdApi9201.view.xml 1330 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi9201PR.java 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2022/GD2022ApiRemoteService2022.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/web/TestController.java 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/templates/home/home.html 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -157,6 +157,26 @@
            <version>${fastjson.version}</version>
        </dependency>
        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-core</artifactId>
            <version>3.5.0</version>
        </dependency>
        <!-- è§†é¢‘压缩在windows上开发 å¼€å‘机可实现压缩效果 window64位 -->
        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-nativebin-win64</artifactId>
            <version>3.5.0</version>
        </dependency>
        <!-- è§†é¢‘压缩在linux上部署 linux服务器需要这个才能生效 linux64位 -->
        <dependency>
            <groupId>ws.schild</groupId>
            <artifactId>jave-nativebin-linux64</artifactId>
            <version>3.5.0</version>
        </dependency>
        <!-- lombok -->
        <dependency>
src/main/java/com/fzzy/api/entity/Api1505.java
@@ -29,7 +29,7 @@
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", precision = 18)
    @Column(name = "ID_", precision = 110)
    @JSONField(serialize = false)
    private String id;
src/main/java/com/fzzy/api/entity/Api1506.java
@@ -29,7 +29,7 @@
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", precision = 18)
    @Column(name = "ID_", precision = 110)
    @JSONField(serialize = false)
    private String id;
src/main/java/com/fzzy/api/entity/Api9201.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,198 @@
package com.fzzy.api.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl;
import com.fzzy.push.gd2022.dto.Gd2022Api1023People;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Way;
import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * ç†è’¸å¤‡æ¡ˆä¸»è¡¨ä¿¡æ¯
 *
 * @Author:YAN
 */
@Entity
@Data
@Table(name = "API_9201")
public class Api9201 extends ApiParent implements Serializable {
    @Id
    @Column(name = "id", length = 12)
    @PropertyDef(label = "id", description = "入库日期+4位顺序号")
    private String id;
    @Column(name = "xzbm", length = 4)
    @PropertyDef(label = "熏蒸备案编号", description = "4位顺序号")
    private String xzbm;
    @Column(name = "kqdm", length = 21)
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @Column(name = "kqmc", length = 21)
    @PropertyDef(label = "库区名称")
    private String kqmc;
    @Column(name = "tbrq")
    @PropertyDef(label = "填报日期")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date tbrq;
    @Column(name = "dwdm", length = 18)
    @PropertyDef(label = "单位代码", description = "企业信用代码")
    private String dwdm;
    @Column(name = "dwmc", length = 18)
    @PropertyDef(label = "单位名称")
    private String dwmc;
    @Column(name = "sqxzrq")
    @PropertyDef(label = "申请熏蒸日期")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date sqxzrq;
    @Column(name = "fzr", length = 20)
    @PropertyDef(label = "负责人")
    private String fzr;
    @Column(name = "fzrdh", length = 11)
    @PropertyDef(label = "负责人电话")
    private String fzrdh;
    @Column(name = "xcfzr", length = 20)
    @PropertyDef(label = "现场负责人")
    private String xcfzr;
    @Column(name = "fzrzw", length = 10)
    @PropertyDef(label = "现场负责人职务")
    private String xcfzrzw;
    @Column(name = "xcfzrdh", length = 11)
    @PropertyDef(label = "现场负责人电话")
    private String xcfzrdh;
    @Column(name = "tbr", length = 20)
    @PropertyDef(label = "填表人")
    private String tbr;
    @Column(name = "tbrdh", length = 11)
    @PropertyDef(label = "填表人电话")
    private String tbrdh;
    @Column(name = "sfszjjxd", length = 2)
    @PropertyDef(label = "是否设置警戒线(东)", description = "是或否")
    private String sfszjjxd;
    @Column(name = "sfszjjxx", length = 2)
    @PropertyDef(label = "是否设置警戒线(西)", description = "是或否")
    private String sfszjjxx;
    @Column(name = "sfszjjxn", length = 2)
    @PropertyDef(label = "是否设置警戒线(南)", description = "是或否")
    private String sfszjjxn;
    @Column(name = "sfszjjxb", length = 2)
    @PropertyDef(label = "是否设置警戒线(北)", description = "是或否")
    private String sfszjjxb;
    @Column(name = "ssxzzystqybqk", length = 1024)
    @PropertyDef(label = "实施熏蒸作业时天气预报情况")
    private String ssxzzystqybqk;
    @Column(name = "xzssgcap", length = 1024)
    @PropertyDef(label = "熏蒸安排及实施过程")
    private String xzssgcap;
    @Column(name = "aqfhjyjcccs", length = 1024)
    @PropertyDef(label = "安全防护及应急处置措施")
    private String aqfhjyjcccs;
    @Column(name = "xzzysx", length = 1024)
    @PropertyDef(label = "熏蒸注意事项")
    private String xzzysx;
    @Column(name = "fileStorageId", length = 19)
    @PropertyDef(label = "文件存储ID")
    private String fileStorageId;
    @Column(name = "yjmc", length = 64)
    @PropertyDef(label = "药剂名称")
    private String yjmc;
    @Column(name = "yjlx", length = 10)
    @PropertyDef(label = "药剂类型/型号")
    private String yjlx;
    @Column(name = "yjyxqz")
    @PropertyDef(label = "药剂有效期至")
    private Date yjyxqz;
    @Column(name = "lqsl", precision = 20, scale = 3)
    @PropertyDef(label = "领取数量", description = "公斤")
    private Double lqsl;
    @Column(name = "sysbjfs", length = 20)
    @PropertyDef(label = "施药设备及方式")
    private String sysbjfs;
    @Column(name = "zcdd", length = 30)
    @PropertyDef(label = "暂存地点")
    private String zcdd;
    @Column(name = "lqr", length = 20)
    @PropertyDef(label = "领取人")
    private String lqr;
    @Column(name = "lqrq")
    @PropertyDef(label = "领取时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lqrq;
    @Column(name = "czbz", length = 1)
    @PropertyDef(label = "操作标志")
    private String czbz;
    @Column(name = "zhgxsj")
    @PropertyDef(label = "更新时间")
    private Date zhgxsj;
    @Column(name = "dtl", length = 2000)
    @PropertyDef(label = "粮情明细表")
    private String dtl;
    @Column(name = "way", length = 2000)
    @PropertyDef(label = "熏蒸备案方式")
    private String way;
    @Column(name = "people", length = 2000)
    @PropertyDef(label = "粮情明细表")
    private String people;
    /**
     * å‚¨ç²®ç²®æƒ…明细表
     */
    @Transient
    private List<Gd2022Api1023Dtl> dtls;
    /**
     * ç†è’¸å¤‡æ¡ˆæ–¹å¼
     */
    @Transient
    private List<Gd2022Api1023Way> ways;
    /**
     * ç†è’¸ä½œä¸šäººå‘˜
     */
    @Transient
    private List<Gd2022Api1023People> peoples;
}
src/main/java/com/fzzy/api/timer/PushDataScheduled.java
@@ -123,7 +123,7 @@
        if (String.valueOf(minute).equals(conf.getPushMinute99())) {
            isExecute = true;
            if (!isUpdateStart) {
                start = DateUtils.addHours(start, -1);
                start = DateUtils.addHours(start, -2);
            }
        } else {
            isExecute = false;
src/main/java/com/fzzy/api/utils/FileUtils.java
@@ -1,9 +1,16 @@
package com.fzzy.api.utils;
import com.fzzy.data.ConfigData;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import ws.schild.jave.Encoder;
import ws.schild.jave.EncoderException;
import ws.schild.jave.MultimediaObject;
import ws.schild.jave.encode.AudioAttributes;
import ws.schild.jave.encode.EncodingAttributes;
import ws.schild.jave.encode.VideoAttributes;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -14,9 +21,10 @@
/**
 * å°†æ–‡ä»¶è½¬ä¸ºäºŒè¿›åˆ¶æµå·¥å…·ç±»
 * @author czt
 *
 * @author czt
 */
@Slf4j
@Service(FileUtils.BEAN_ID)
public class FileUtils {
    public static final String BEAN_ID = "base.fileUtil";
@@ -27,6 +35,7 @@
    /**
     * æ ¹æ®æ–‡ä»¶è·¯å¾„将文件转为二进制文件流字符串
     *
     * @param filePath:文件路径
     * @return
     */
@@ -37,6 +46,7 @@
    /**
     * æ ¹æ®æ–‡ä»¶è·¯å¾„将文件转为二进制数组
     *
     * @param filePath:文件路径
     * @return
     */
@@ -64,6 +74,7 @@
    
    /**
     * å°†äºŒè¿›åˆ¶æ•°ç»„转为字符串
     *
     * @param byteArray
     * @return
     */
@@ -124,4 +135,63 @@
        }
        return basePath;
    }
    /**
     * è§†é¢‘压缩
     *
     * @param source æºæ–‡ä»¶
     * @param target ç›®æ ‡æ–‡ä»¶
     * @param rate   åŽ‹ç¼©æ¯”
     */
    public static void compre(File source, File target, Integer rate) throws EncoderException {
        try {
            log.info("---------------开始压缩---------------");
            long start = System.currentTimeMillis();
            // éŸ³é¢‘编码属性配置
            AudioAttributes audio = new AudioAttributes();
            audio.setCodec("libmp3lame");
            // è®¾ç½®éŸ³é¢‘比特率,单位:b (比特率越高,清晰度/音质越好,当然文件也就越大 56000 = 56kb)
            // audio.setBitRate(new Integer(56_000));
            audio.setBitRate(new Integer(10));
            // è®¾ç½®é‡æ–°ç¼–码的音频流中使用的声道数(1 =单声道,2 = åŒå£°é“(立体声))
            audio.setChannels(1);
            // é‡‡æ ·çŽ‡è¶Šé«˜å£°éŸ³çš„è¿˜åŽŸåº¦è¶Šå¥½ï¼Œæ–‡ä»¶è¶Šå¤§
            // audio.setSamplingRate(new Integer(44100));
            audio.setSamplingRate(new Integer(22050));
            // è§†é¢‘编码属性配置
            VideoAttributes video = new VideoAttributes();
            // è®¾ç½®ç¼–码
            video.setCodec("h254");
            //设置音频比特率,单位:b (比特率越高,清晰度/音质越好,当然文件也就越大 5600000 = 5600kb)
            // video.setBitRate(new Integer(5_600_000 / rate));
            video.setBitRate(10 / rate);
            // è®¾ç½®è§†é¢‘帧率(帧率越低,视频会出现断层,越高让人感觉越连续),这里 é™¤1000是为了单位转换
            video.setFrameRate(15);
            // ç¼–码设置
            EncodingAttributes attr = new EncodingAttributes();
            attr.setOutputFormat("mp4");
            attr.setAudioAttributes(audio);
            attr.setVideoAttributes(video);
            // è®¾ç½®å€¼ç¼–码
            Encoder ec = new Encoder();
            ec.encode(new MultimediaObject(source), target, attr);
            log.info("---------------结束压缩---------------");
            long end = System.currentTimeMillis();
            log.info("压缩前大小:" + source.length() + " åŽ‹ç¼©åŽå¤§å°ï¼š" + target.length());
            log.info("压缩耗时:" + (end - start));
        } catch (EncoderException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
    }
}
src/main/java/com/fzzy/api/view/repository/Api9201Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.fzzy.api.view.repository;
import com.fzzy.api.entity.Api1307;
import com.fzzy.api.entity.Api9201;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
public interface Api9201Rep extends JpaRepository<Api9201, String>, JpaSpecificationExecutor<Api9201> {
    /**
     * æ ¹æ®è¡¨å•主键更新操作标志状态
     *
     * @param dwdm ä¸»é”®ID
     * @param czbz æ“ä½œæ ‡å¿—
     * @return
     */
    @Transactional
    @Modifying
    @Query("update Api9201 set czbz =:czbz where dwdm =:dwdm ")
    int updateStatus(@Param("dwdm") String dwdm, @Param("czbz") String czbz);
    @Query("from Api9201 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Api9201> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
    @Query("from Api9201 where bizId=:bizId ")
    List<Api9201> getDataByBizId(@Param("bizId") String bizId);
}
src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
@@ -36,6 +36,8 @@
    @Autowired
    private Fzzy40Sync1311 fzzySync1311;
    @Autowired
    private Fzzy40Sync9201 fzzySync9201;
    @Autowired
    private Fzzy40Sync2103 fzzy40Sync2103;
    @Override
@@ -48,10 +50,11 @@
        /*-----各省独有接口信息同步-----*/
        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())) {
        if (StringUtils.isNotEmpty(param.getPushProtocol()) && (PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())||PushProtocol.SB_GD_2023.getCode().equals(param.getPushProtocol()))) {
            //广东省平台2022版,需要同步熏蒸备案信息
            //熏蒸备案数据同步
            fzzySync1023.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
            fzzySync9201.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
        }
        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
            //上海市平台2023版,需要同步粮情设备配置信息
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1504.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,106 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * è´¦å¥—信息
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1504")
public class Fz40Api1504 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", precision = 23)
    private String nacctid;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套名称")
    @Column(name = "cncctname", length = 256)
    private String cncctname;
    @PropertyDef(label = "本位币")
    @Column(name = "ccurrency", length = 3)
    private String ccurrency;
    @PropertyDef(label = "会计主管")
    @Column(name = "cacctchief", length = 20)
    private String cacctchief;
    @JSONField(format = "yyyyMM")
    @PropertyDef(label = "启用期间", description = "yyyyMM")
    @Column(name = "cperiodstart", length = 10)
    private Date cperiodstart;
    @JSONField(format = "yyyy-MM-dd")
    @PropertyDef(label = "启用日期")
    @Column(name = "cyearbmd", length = 10)
    private Date cyearbmd;
    @PropertyDef(label = "期间数", description = "默认12")
    @Column(name = "nacctperiodnum")
    private Integer nacctperiodnum;
    @PropertyDef(label = "会计制度代码", description = "11:企业会计准则制度(粮食2013版)(默认代码值)")
    @Column(name = "caccclasscode", length = 2)
    private String caccclasscode;
    @PropertyDef(label = "科目级次", description = "4-8:默认最小值为4")
    @Column(name = "naccgrade")
    private Integer naccgrade;
    @PropertyDef(label = "科目编码规则", description = "4222XXXX:默认前四级级长规则为4222")
    @Column(name = "cacccodestr", length = 40)
    private String cacccodestr;
    @PropertyDef(label = "单位名称")
    @Column(name = "ccropname", length = 256)
    private String ccropname;
    @PropertyDef(label = "单位代码")
    @Column(name = "corgcode", length = 18)
    private String corgcode;
    @PropertyDef(label = "每月结账日")
    @Column(name = "nendday")
    private Integer nendday;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1505.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * ç§‘目信息
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1505")
public class Fz40Api1505 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", precision = 110)
    @JSONField(serialize = false)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", length = 23)
    private String nacctid;
    @PropertyDef(label = "年度")
    @Column(name = "cyear")
    private Integer cyear;
    @PropertyDef(label = "科目编码")
    @Column(name = "ccode", length = 80)
    private String ccode;
    @PropertyDef(label = "科目名称")
    @Column(name = "cname", length = 256)
    private String cname;
    @PropertyDef(label = "科目全称")
    @Column(name = "callname", length = 65536)
    private String callname;
    /**
     * 1:资产类
     * 2:负债类
     * 3:共同类
     * 4:所有者权益类
     * 5:成本费用类
     * 6:损益类
     */
    @PropertyDef(label = "科目类别")
    @Column(name = "nclass", length = 9)
    private String nclass;
    /**
     * (-1)-贷方;1-借方
     */
    @PropertyDef(label = "余额方向")
    @Column(name = "cdc")
    private Integer cdc;
    @PropertyDef(label = "末级科目")
    @Column(name = "bl")
    private Integer bl;
    @PropertyDef(label = "科目级次")
    @Column(name = "ngrade")
    private Integer ngrade;
    @PropertyDef(label = "数量科目")
    @Column(name = "bq")
    private Integer bq;
    @PropertyDef(label = "数量单位")
    @Column(name = "cqunit")
    private Integer cqunit;
    @PropertyDef(label = "现金类科目")
    @Column(name = "bcash")
    private Integer bcash;
    @PropertyDef(label = "银行类科目")
    @Column(name = "bbank")
    private Integer bbank;
    @PropertyDef(label = "现金流量类科目")
    @Column(name = "bxjll")
    private Integer bxjll;
    @PropertyDef(label = "冻结")
    @Column(name = "bf")
    private Integer bf;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1506.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,127 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * ç§‘目余额表
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1506")
public class Fz40Api1506 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", precision = 110)
    @JSONField(serialize = false)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", length = 23)
    private String nacctid;
    @PropertyDef(label = "期间")
    @Column(name = "cyear")
    private Integer cyear;
    @PropertyDef(label = "年度")
    @Column(name = "nno")
    private Integer nno;
    @PropertyDef(label = "科目编码")
    @Column(name = "ccode", length = 80)
    private String ccode;
    @PropertyDef(label = "期初本位币余额")
    @Column(name = "bm", precision = 20, scale = 4)
    private Double bm;
    @PropertyDef(label = "期末本位币余额")
    @Column(name = "em", precision = 20, scale = 4)
    private Double em;
    @PropertyDef(label = "期初数量")
    @Column(name = "bqty", precision = 20, scale = 4)
    private Double bqty;
    @PropertyDef(label = "期末数量")
    @Column(name = "eqty", precision = 20, scale = 4)
    private Double eqty;
    /**
     * 1:借方
     * -1:贷方
     */
    @PropertyDef(label = "余额方向")
    @Column(name = "cdc")
    private Integer cdc;
    @PropertyDef(label = "借方本位币发生额")
    @Column(name = "dm", precision = 20, scale = 4)
    private Double dm;
    @PropertyDef(label = "贷方本位币发生额")
    @Column(name = "cm", precision = 20, scale = 4)
    private Double cm;
    @PropertyDef(label = "借方发生数量")
    @Column(name = "dq", precision = 20, scale = 4)
    private Double dq;
    @PropertyDef(label = "贷方发生数量")
    @Column(name = "cq", precision = 20, scale = 4)
    private Double cq;
    @PropertyDef(label = "期初外币余额")
    @Column(name = "bfm", precision = 20, scale = 4)
    private Double bfm;
    @PropertyDef(label = "期末外币余额")
    @Column(name = "efm", precision = 20, scale = 4)
    private Double efm;
    @PropertyDef(label = "借方外币发生额")
    @Column(name = "dfm", precision = 20, scale = 4)
    private Double dfm;
    @PropertyDef(label = "贷方外币发生额")
    @Column(name = "cfm", precision = 20, scale = 4)
    private Double cfm;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1507.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,155 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * ä¼šè®¡å‡­è¯ä¿¡æ¯
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1507")
public class Fz40Api1507 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", length = 40)
    @JSONField(serialize = false)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", length = 23)
    private String nacctid;
    @PropertyDef(label = "凭证类型")
    @Column(name = "cvkind", length = 9)
    private String cvkind;
    @PropertyDef(label = "期间")
    @Column(name = "cmon")
    private Integer cmon;
    @PropertyDef(label = "年度")
    @Column(name = "cyear")
    private Integer cyear;
    @PropertyDef(label = "凭证号")
    @Column(name = "nvno")
    private Integer nvno;
    @PropertyDef(label = "分录序号")
    @Column(name = "nno")
    private Integer nno;
    @PropertyDef(label = "凭证分类")
    @Column(name = "btmp")
    private Integer btmp;
    @PropertyDef(label = "摘要")
    @Column(name = "digest", length = 512)
    private String digest;
    @PropertyDef(label = "科目编码")
    @Column(name = "ccode", length = 80)
    private String ccode;
    @JSONField(format = "yyyy-MM-dd")
    @PropertyDef(label = "凭证日期")
    @Column(name = "ccsmalldatetime", length = 10)
    private Date ccsmalldatetime;
    @PropertyDef(label = "制单人")
    @Column(name = "cmaker", length = 32)
    private String cmaker;
    /**
     * 1:借方
     * -1:贷方
     */
    @PropertyDef(label = "方向")
    @Column(name = "cdc")
    private Integer cdc;
    @PropertyDef(label = "审核人")
    @Column(name = "ccker", length = 32)
    private String ccker;
    @PropertyDef(label = "记账人")
    @Column(name = "cpter", length = 32)
    private String cpter;
    /**
     * 0:否
     * 1:是
     */
    @PropertyDef(label = "记账标志")
    @Column(name = "bpt")
    private Integer bpt;
    @PropertyDef(label = "附件张数")
    @Column(name = "nanum")
    private Integer nanum;
    @PropertyDef(label = "金额")
    @Column(name = "nm", precision = 20, scale = 4)
    private Double nm;
    @PropertyDef(label = "数量")
    @Column(name = "nqty", precision = 20, scale = 4)
    private Double nqty;
    @PropertyDef(label = "单价")
    @Column(name = "nprice", precision = 20, scale = 4)
    private Double nprice;
    @PropertyDef(label = "出纳")
    @Column(name = "ccashier", length = 32)
    private String ccashier;
    @PropertyDef(label = "汇率")
    @Column(name = "rate", precision = 20, scale = 4)
    private Double rate;
    @PropertyDef(label = "外币金额")
    @Column(name = "nfm", precision = 20, scale = 4)
    private Double nfm;
    @PropertyDef(label = "计量单位", description = "计量单位汉字")
    @Column(name = "meterunitid", length = 32)
    private String meterunitid;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1508.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * çŽ°é‡‘æµé‡åˆ†é…ä¿¡æ¯
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1508")
public class Fz40Api1508 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", length = 40)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", length = 23)
    private String nacctid;
    @PropertyDef(label = "凭证类型")
    @Column(name = "cvkind", length = 10)
    private String cvkind;
    @PropertyDef(label = "期间")
    @Column(name = "cmon")
    private Integer cmon;
    @PropertyDef(label = "年度")
    @Column(name = "cyear")
    private Integer cyear;
    @PropertyDef(label = "凭证号")
    @Column(name = "nvno")
    private Integer nvno;
    @PropertyDef(label = "科目编码")
    @Column(name = "ccode", length = 80)
    private String ccode;
    @PropertyDef(label = "对方科目编码")
    @Column(name = "cdfcode", length = 80)
    private String cdfcode;
    @PropertyDef(label = "现金流量项目代码")
    @Column(name = "ccashcode", length = 80)
    private String ccashcode;
    @PropertyDef(label = "分录序号")
    @Column(name = "nrowno")
    private Integer nrowno;
    @PropertyDef(label = "金额")
    @Column(name = "nm", precision = 20, scale = 4)
    private Double nm;
    /**
     * 1:流入
     * -1:流出
     */
    @PropertyDef(label = "方向")
    @Column(name = "cdc")
    private Integer cdc;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1509.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * å›ºå®šèµ„产卡片信息
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1509")
public class Fz40Api1509 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", precision = 18)
    @JSONField(serialize = false)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", length = 23)
    private String nacctid;
    @PropertyDef(label = "固定资产编码")
    @Column(name = "fixassetcode", length = 20)
    private String fixassetcode;
    @PropertyDef(label = "固定资产自编码")
    @Column(name = "origfixassetcode", length = 20)
    private String origfixassetcode;
    @PropertyDef(label = "资产类别编码")
    @Column(name = "groupcode", length = 20)
    private String groupcode;
    @PropertyDef(label = "固定资产名称")
    @Column(name = "fixassetname", length = 80)
    private String fixassetname;
    @PropertyDef(label = "计量单位名称")
    @Column(name = "unitname", length = 20)
    private String unitname;
    @PropertyDef(label = "原值")
    @Column(name = "valueorg", length = 20, scale = 4)
    private Double valueorg;
    @PropertyDef(label = "当前原值")
    @Column(name = "dresentvalueorg", length = 20, scale = 4)
    private Double dresentvalueorg;
    /**
     * 1:不提折旧法
     * 2:平均年限法
     * 3:动态平均年限法
     * 4:工作量法
     * 5:年数总和法
     * 6:双倍余额递减法
     */
    @PropertyDef(label = "折旧方法")
    @Column(name = "deprmethodid")
    private Integer deprmethodid;
    /**
     * 1:投资
     * 2:自建
     * 3:è´­ä¹°
     * 4:融资租赁
     * 5:经营租入
     * 6:无偿调入
     * 7:捐赠
     * 8:换入
     */
    @PropertyDef(label = "固定资产来源")
    @Column(name = "sourceid")
    private Integer sourceid;
    @PropertyDef(label = "型号")
    @Column(name = "model", length = 40)
    private String model;
    @PropertyDef(label = "规格")
    @Column(name = "specs", length = 40)
    private String specs;
    @PropertyDef(label = "制造商")
    @Column(name = "manufacturer", length = 60)
    private String manufacturer;
    @PropertyDef(label = "产地")
    @Column(name = "makingplace", length = 40)
    private String makingplace;
    @JSONField(format = "yyyy-MM-dd")
    @PropertyDef(label = "进单位日期")
    @Column(name = "enterday", length = 10)
    private Date enterday;
    @JSONField(format = "yyyy-MM-dd")
    @PropertyDef(label = "开始使用日期")
    @Column(name = "beginuseday", length = 10)
    private Date beginuseday;
    @JSONField(format = "yyyy-MM-dd")
    @PropertyDef(label = "建卡日期")
    @Column(name = "makinday", length = 10)
    private Date makinday;
    @PropertyDef(label = "管理人")
    @Column(name = "keeper", length = 20)
    private String keeper;
    @PropertyDef(label = "建卡人")
    @Column(name = "maker", length = 20)
    private String maker;
    @PropertyDef(label = "预计使用期间数")
    @Column(name = "usingperiods")
    private Integer usingperiods;
    @PropertyDef(label = "预计净残值")
    @Column(name = "expecremain", precision = 20, scale = 4)
    private Double expecremain;
    @PropertyDef(label = "固定资产对应科目编码")
    @Column(name = "assetacctcode", length = 20)
    private String assetacctcode;
    @PropertyDef(label = "累计折旧对应科目编码")
    @Column(name = "depracctcode", length = 20)
    private String depracctcode;
    @PropertyDef(label = "累计折旧")
    @Column(name = "accumulatedepr", precision = 20, scale = 4)
    private Double accumulatedepr;
    /**
     * 0:否
     * 1:是
     */
    @PropertyDef(label = "是否报废清理")
    @Column(name = "abadoned", length = 1)
    private String abadoned;
    /**
     * 1:在使用
     * 2:未使用
     * 3:停用
     * 4:出售
     * 5:报损
     * 6:盘亏
     */
    @PropertyDef(label = "当前使用状态名称")
    @Column(name = "presentstatus", length = 20)
    private String presentstatus;
    @PropertyDef(label = "备注")
    @Column(name = "notes", length = 512)
    private String notes;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40Api1510.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,136 @@
package com.fzzy.async.fzzy40.entity;
/**
 * @Author: YYC
 * @Description:
 * @DateTime: 2024-12-19 14:23
 **/
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * èµ„产折旧信息
 *
 * @author czt
 */
@Data
@Entity
@Table(name = "API_1510")
public class Fz40Api1510 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * é€šè¿‡æŽ¥å£èŽ·å–çš„å•ä½è´¦å¥—åŽï¼Œåœ¨å±€ç«¯è‡ªåŠ¨äº§ç”Ÿè´¦å¥—å·
     */
    @Id
    @Column(name = "ID_", precision = 18)
    @JSONField(serialize = false)
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 30)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @PropertyDef(label = "账套号")
    @Column(name = "nacctid", length = 23)
    private String nacctid;
    @PropertyDef(label = "固定资产编码")
    @Column(name = "fixassetcode", length = 20)
    private String fixassetcode;
    @PropertyDef(label = "期间")
    @Column(name = "period")
    private Integer period;
    @PropertyDef(label = "年度")
    @Column(name = "acctyear")
    private Integer acctyear;
    @PropertyDef(label = "期初原值")
    @Column(name = "bvalueorg", precision = 20, scale = 4)
    private Double bvalueorg;
    @PropertyDef(label = "累计折旧")
    @Column(name = "baccumdepr", precision = 20, scale = 4)
    private Double baccumdepr;
    @PropertyDef(label = "本期计提折旧")
    @Column(name = "deprammount", precision = 20, scale = 4)
    private Double deprammount;
    @PropertyDef(label = "本年累计计提折旧")
    @Column(name = "yaccumdepr", precision = 20, scale = 4)
    private Double yaccumdepr;
    @PropertyDef(label = "本期数量增加")
    @Column(name = "qtyadd", precision = 20, scale = 4)
    private Double qtyadd;
    @PropertyDef(label = "本期数量减少")
    @Column(name = "qtydecrease", precision = 20, scale = 4)
    private Double qtydecrease;
    @PropertyDef(label = "本期原值增加")
    @Column(name = "valueorgadd", precision = 20, scale = 4)
    private Double valueorgadd;
    @PropertyDef(label = "本期原值减少")
    @Column(name = "valueorgderease", precision = 20, scale = 4)
    private Double valueorgderease;
    @PropertyDef(label = "本期累计折旧调增")
    @Column(name = "accudepradjustadd", precision = 20, scale = 4)
    private Double accudepradjustadd;
    @PropertyDef(label = "本期累计折旧调减")
    @Column(name = "accudepradjustdec", precision = 20, scale = 4)
    private Double accudepradjustdec;
    @PropertyDef(label = "本年累计数量增加")
    @Column(name = "yqtyincrease", precision = 20, scale = 4)
    private Double yqtyIncrease;
    @PropertyDef(label = "本年累计数量减少")
    @Column(name = "yqtydecrease", precision = 20, scale = 4)
    private Double yqtydecrease;
    @PropertyDef(label = "本年原值累计增加")
    @Column(name = "yvalueincrease", precision = 20, scale = 4)
    private Double yvalueincrease;
    @PropertyDef(label = "本年原值累计减少")
    @Column(name = "yvaluedecrease", precision = 20, scale = 4)
    private Double yvaluedecrease;
    @PropertyDef(label = "本年累计折旧调增")
    @Column(name = "yaccudeprincrease", precision = 20, scale = 4)
    private Double yaccudeprincrease;
    @PropertyDef(label = "本年累计折旧调减")
    @Column(name = "yaccudeprdecrease", precision = 20, scale = 4)
    private Double yaccudeprdecrease;
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "最后更新时间")
    @Column(name = "zhgxsj")
    private Date zhgxsj;
}
src/main/java/com/fzzy/async/fzzy40/entity/Fz40DrugLogPeople.java
@@ -24,8 +24,8 @@
    @Id
    @Column(name = "PEOPLE_ID_", length = 40)
    @PropertyDef(label = "propleId")
    private String propleId;
    @PropertyDef(label = "peopleId")
    private String peopleId;
    @Column(name = "DRUG_LOG_ID_", length = 12)
src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutStockChange.java
@@ -60,6 +60,14 @@
    @PropertyDef(label = "倒出仓库")
    private String depotIdOut;
    @Column(name = "CHANGE_START_DATE_")
    @PropertyDef(label = "倒仓开始日期", description = "yyyy-MM-dd")
    private Date changeStartDate;
    @Column(name = "CHANGE_END_DATE_")
    @PropertyDef(label = "倒仓结束日期", description = "yyyy-MM-dd")
    private Date changeEndDate;
    @Column(name = "CHANGE_DATE_")
    @PropertyDef(label = "倒仓日期", description = "yyyy-MM-dd")
    private Date changeDate;
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
@@ -75,7 +75,7 @@
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(ApiCodeConstant.API_1023);
        apiLog.setInteId(ApiCodeConstant.API_9201);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
@@ -197,11 +197,11 @@
                infoData.setKqdm(kqdm);
                infoData.setInteType(Constant.API_CATEGORY_13);
                infoData.setInteId(ApiCodeConstant.API_1023);
                infoData.setBizType(PushProtocol.SB_GD_2022.getCode());
                infoData.setInteId(ApiCodeConstant.API_9201);
                infoData.setBizType(PushProtocol.SB_GD_2023.getCode());
                infoData.setUpdateTime(new Date());
                infoData.setDataId(data.getXzbm());
                apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), kqdm);
                apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_9201, data.getXzbm(), kqdm);
                if (null == apiInfoList || apiInfoList.isEmpty()) {
                    GD2022Api1023.setCzbz(Constant.CZBZ_I);
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
@@ -149,8 +149,13 @@
                //粮权单位归属代码
                List<Api1208> dataByHwdm = api1208Rep.findDataByHwdm(apiData.getHwdm());
                if(null != dataByHwdm && dataByHwdm.size() > 0){
                    apiData.setLqgsdwdm(StringUtils.isEmpty(dataByHwdm.get(0).getLqgsdwdm()) ? apiData.getHwdm().substring(0, 18) : dataByHwdm.get(0).getLqgsdwdm());
                    apiData.setLqgsdwdm(StringUtils.isEmpty(dataByHwdm.get(0).getLqgsdwdm()) ? apiData.getKqdm() : dataByHwdm.get(0).getLqgsdwdm());
                }else {
                    apiData.setLqgsdwdm(apiData.getKqdm());
                }
                apiData.setSlr("售粮人");
                apiData.setSlrdz("售粮人地址");
                apiData.setBz(StringUtils.isEmpty(sysData.getRemarks()) ? "备注" : sysData.getRemarks());
                apiData.setXxdz(StringUtils.isEmpty(sysData.getUserAddress()) ? "详细地址" : sysData.getUserAddress());
@@ -254,7 +259,6 @@
                apiData.setBizId(sysData.getId());
                apiData.setKqdm(kqdm);
                apiData.setSyncTime(new Date());
                apiData.setBz(null == sysData.getRemarks() ? "备注" : sysData.getRemarks());
                apiData.setKlyy("扣量原因");
                apiData.setCmqrmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "登记人" : sysData.getRegisterUser());
@@ -263,6 +267,8 @@
                //04:表示农用车车牌号,绿底白字; LS:表示临时虚拟号牌,仅限于售 ç²®è½¦æ— å›ºå®šå·ç‰Œæ—¶ä½¿ç”¨
                apiData.setCchlx("01");
                apiData.setLdd("装粮地点");
                apiData.setZkj(0.0);
                apiData.setZlfyzkl(0.0);
                apiData.setQzsfzkl(0.0);
                apiData.setQzzzzkl(0.0);
                apiData.setQzgwcmkl(0.0);
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1207.java
@@ -96,6 +96,8 @@
                apiData.setDchwdm(api1105Out.getHwdm());
                apiData.setDrhwdm(api1105In.getHwdm());
                apiData.setDcrq(sysData.getChangeDate());
                apiData.setDcksrq(sysData.getChangeStartDate());
                apiData.setDcjsrq(sysData.getChangeEndDate());
                apiData.setDcsl(sysData.getNumber());
                apiData.setBzw(sysData.getBzw());
                apiData.setBzbjs(sysData.getBzbjs());
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
@@ -103,11 +103,11 @@
                //粮食等级
                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, fz40Quality.getFoodLevel());
                api1310.setLsdjdm(mappingCode);
                api1310.setRkrq(DateUtils.addDays(fz40Quality.getTime(), -30));
                api1310.setRkrq(fz40Quality.getStoreDate());
                api1310.setJylb(fz40Quality.getType());
                api1310.setJysj(fz40Quality.getTime());
                api1310.setJydw(fz40Quality.getUser());
                api1310.setJyr(fz40Quality.getUser());
                api1310.setJydw(StringUtils.isEmpty(fz40Quality.getUnit()) ? "检验单位" : fz40Quality.getUnit());
                api1310.setJyr(StringUtils.isEmpty(fz40Quality.getUser()) ? "检验人" : fz40Quality.getUser());
                api1310.setJyyj(fz40Quality.getStandard());
                if (StringUtils.isEmpty(fz40Quality.getZblb())) {
                    api1310.setZblb("2");
@@ -139,9 +139,6 @@
                api1310.setZbjgpd(fz40Quality.getResult());
                api1310.setQfrq(fz40Quality.getTime());
                api1310.setBgcjsj(fz40Quality.getTime());
                if (fz40Quality.getUser().isEmpty()){
                    fz40Quality.setUser(fz40Quality.getCheckUser());
                }
                api1310.setShrxm(fz40Quality.getShrxm().contains("、")?fz40Quality.getShrxm().replace('、','|'):fz40Quality.getShrxm());
                if (null == fz40Quality.getCheckTime()) {
                    fz40Quality.setCheckTime(DateUtils.addDays(fz40Quality.getTime(), -1));
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1504.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1504;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1504Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1504;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1504Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-账套信息
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1504 {
    @Autowired
    private Fzzy40Sync1504Rep fzzy40Sync1504Rep;
    @Autowired
    private Api1504Rep api1504Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1504账套信息接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1504);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1504> list = fzzy40Sync1504Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1504 api1504;
            List<Api1504> api1504List;
            for (Fz40Api1504 sysData : list) {
                api1504 = new Api1504();
                BeanUtils.copyProperties(sysData, api1504);
                api1504.setKqdm(kqdm);
                api1504List = api1504Rep.findDateById(api1504.getNacctid());
                if (null == api1504List || api1504List.isEmpty()) {
                    api1504.setCzbz(Constant.CZBZ_I);
                } else {
                    api1504.setCzbz(api1504List.get(0).getCzbz());
                }
                api1504Rep.save(api1504);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1505.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1505;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1505Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1504;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1505Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-科目信息
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1505 {
    @Autowired
    private Fzzy40Sync1505Rep fzzy40Sync1505Rep;
    @Autowired
    private Api1505Rep api1505Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1505接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1505);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1504> list = fzzy40Sync1505Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1505 api1505;
            List<Api1505> api1505List;
            for (Fz40Api1504 sysData : list) {
                api1505 = new Api1505();
                BeanUtils.copyProperties(sysData, api1505);
                api1505.setKqdm(kqdm);
                api1505List = api1505Rep.findDateById(api1505.getId());
                if(null == api1505List || api1505List.isEmpty()){
                    api1505.setCzbz(Constant.CZBZ_I);
                }else {
                    api1505.setCzbz(api1505List.get(0).getCzbz());
                }
                api1505Rep.save(api1505);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1506.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1506;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1506Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1506;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1506Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-科目余额表
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1506 {
    @Autowired
    private Fzzy40Sync1506Rep fzzy40Sync1506Rep;
    @Autowired
    private Api1506Rep api1506Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1506接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1506);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1506> list = fzzy40Sync1506Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1506 api1506;
            List<Api1506> api1506List;
            for (Fz40Api1506 sysData : list) {
                api1506 = new Api1506();
                BeanUtils.copyProperties(sysData, api1506);
                api1506.setKqdm(kqdm);
                api1506List = api1506Rep.findDateById(api1506.getId());
                if(null == api1506List || api1506List.isEmpty()){
                    api1506.setCzbz(Constant.CZBZ_I);
                }else {
                    api1506.setCzbz(api1506List.get(0).getCzbz());
                }
                api1506Rep.save(api1506);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1507.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1507;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1507Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1507;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1507Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-会计凭证信息
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1507 {
    @Autowired
    private Fzzy40Sync1507Rep fzzy40Sync1507Rep;
    @Autowired
    private Api1507Rep api1507Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1507会计凭证信息接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1507);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1507> list = fzzy40Sync1507Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1507 api1507;
            List<Api1507> api1507List;
            for (Fz40Api1507 sysData : list) {
                api1507 = new Api1507();
                BeanUtils.copyProperties(sysData, api1507);
                api1507.setKqdm(kqdm);
                api1507List = api1507Rep.findDateById(api1507.getId());
                if(null == api1507List || api1507List.isEmpty()){
                    api1507.setCzbz(Constant.CZBZ_I);
                }else {
                    api1507.setCzbz(api1507List.get(0).getCzbz());
                }
                api1507Rep.save(api1507);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1508.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1508;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1508Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1508;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1508Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-现金流量分配信息
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1508 {
    @Autowired
    private Fzzy40Sync1508Rep fzzy40Sync1508Rep;
    @Autowired
    private Api1508Rep api1508Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1508现金流量分配信息接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1508);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1508> list = fzzy40Sync1508Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1508 api1508;
            List<Api1508> api1508List;
            for (Fz40Api1508 sysData : list) {
                api1508 = new Api1508();
                BeanUtils.copyProperties(sysData, api1508);
                api1508.setKqdm(kqdm);
                api1508List = api1508Rep.findDateById(api1508.getId());
                if(null == api1508List || api1508List.isEmpty()){
                    api1508.setCzbz(Constant.CZBZ_I);
                }else {
                    api1508.setCzbz(api1508List.get(0).getCzbz());
                }
                api1508Rep.save(api1508);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1509.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1509;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1509Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1508;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1509Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-利润
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1509 {
    @Autowired
    private Fzzy40Sync1509Rep fzzy40Sync1509Rep;
    @Autowired
    private Api1509Rep api1509Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1509接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1509);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1508> list = fzzy40Sync1509Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1509 api1509;
            List<Api1509> api1509List;
            for (Fz40Api1508 sysData : list) {
                api1509 = new Api1509();
                BeanUtils.copyProperties(sysData, api1509);
                api1509.setKqdm(kqdm);
                api1509List = api1509Rep.findDateById(api1509.getId());
                if(null == api1509List || api1509List.isEmpty()){
                    api1509.setCzbz(Constant.CZBZ_I);
                }else {
                    api1509.setCzbz(api1509List.get(0).getCzbz());
                }
                api1509Rep.save(api1509);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1510.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,83 @@
package com.fzzy.async.fzzy40.impl;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.Api1510;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.Api1510Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy40.entity.Fz40Api1510;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
import com.fzzy.async.fzzy40.repository.Fzzy40Sync1510Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/**
 * è´¢åŠ¡ç®¡ç†-资产折旧信息
 *
 * @author czt
 * @date 2024-01-12 18:55
 */
@Slf4j
@Component
public class Fzzy40Sync1510 {
    @Autowired
    private Fzzy40Sync1510Rep fzzy40Sync1510Rep;
    @Autowired
    private Api1510Rep api1510Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    /**
     * åŒæ­¥å¹¶å°è£…保存质检数据
     *
     * @param deptId ç³»ç»Ÿå¯¹åº”库区编码
     * @param start  èµ·å§‹æ—¶é—´
     * @param end    æˆªæ­¢æ—¶é—´
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------1510资产折旧信息接口数据开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(kqdm);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(Constant.API_CODE_1510);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40Api1510> list = fzzy40Sync1510Rep.findDateByTime(start, end);
            if (null == list || list.isEmpty()) {
                return;
            }
            Api1510 api1510;
            List<Api1510> api1510List;
            for (Fz40Api1510 sysData : list) {
                api1510 = new Api1510();
                BeanUtils.copyProperties(sysData, api1510);
                api1510.setKqdm(kqdm);
                api1510List = api1510Rep.findDateById(api1510.getId());
                if(null == api1510List || api1510List.isEmpty()){
                    api1510.setCzbz(Constant.CZBZ_I);
                }else {
                    api1510.setCzbz(api1510List.get(0).getCzbz());
                }
                api1510Rep.save(api1510);
            }
        } catch (Exception e) {
            log.error("---同步失败----{}", e);
            apiLog.setResult("同步失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync9201.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
package com.fzzy.async.fzzy40.impl;
import com.alibaba.fastjson2.JSON;
import com.fzzy.api.Constant;
import com.fzzy.api.entity.*;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.view.repository.*;
import com.fzzy.async.fzzy40.entity.Fz40DrugLogApply;
import com.fzzy.async.fzzy40.entity.Fz40DrugLogDtl;
import com.fzzy.async.fzzy40.entity.Fz40DrugLogPeople;
import com.fzzy.async.fzzy40.repository.*;
import com.fzzy.push.gd2022.ApiCodeConstant;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl;
import com.fzzy.push.gd2022.dto.Gd2022Api1023People;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Way;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
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:YAN
 */
@Slf4j
@Component
public class Fzzy40Sync9201 {
    @Autowired
    private Api1101Rep api1101Rep;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private Fzzy40Sync9201Rep fzzy40Sync9201Rep;
    @Autowired
    private Fzzy40SyncDrugLogPeopleRep drugLogPeopleRep;
    @Autowired
    private Fzzy40SyncDrugLogDtlRep drugLogDtlRep;
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private ApiCommonService commonService;
    @Autowired
    private ApiTriggerService apiTriggerService;
    @Autowired
    private Api9201Rep api9201Rep;
    /**
     * åŒæ­¥ç†è’¸å¤‡æ¡ˆä¿¡æ¯
     *
     * @param deptId
     * @param start
     * @param end
     */
    public void syncData(String kqdm, String deptId, Date start, Date end) {
        log.info("-------------9201接口熏蒸备案信息开始同步------------------");
        //同步数据,只记录失败的信息
        ApiLog apiLog = new ApiLog();
        apiLog.setType(ApiLog.TYPE_SYNC);
        apiLog.setKqdm(deptId);
        apiLog.setUploadTime(new Date());
        apiLog.setInteId(ApiCodeConstant.API_9201);
        apiLog.setStatus(99);
        apiLog.setId(ContextUtil.getUUID());
        try {
            List<Fz40DrugLogApply> list = fzzy40Sync9201Rep.listDrugLogApply(deptId, start, end);
            if (null == list || list.isEmpty()) {
                log.info("-------------没有获取到熏蒸备案信息------------------");
                return;
            }
            List<Gd2022Api1023Dtl> dtlList;
            List<Gd2022Api1023Way> wayList;
            List<Gd2022Api1023People> peopleList;
            List<Api9201> api9201List;
            Api1105 api1105;
            Api9201 api9201;
            Gd2022Api1023Dtl api9201Dtl;
            Gd2022Api1023Way api9201Way;
            Gd2022Api1023People api9201People;
            for (Fz40DrugLogApply data : list) {
                api9201 = new Api9201();
                BeanUtils.copyProperties(data, api9201);
                api9201.setBizId(data.getXzbm());
                api9201.setId(data.getXzbm());
                api9201.setXzbm(data.getXzbm().substring(8));
                api9201.setKqdm(kqdm);
                List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
                if (null != api1102List && api1102List.size() > 0) {
                    api9201.setKqmc(api1102List.get(0).getKqmc());
                }
                api9201.setDwdm(kqdm.substring(0, 18));
                List<Api1101> api1101List = api1101Rep.findPushData(kqdm);
                if (null != api1101List && api1101List.size() > 0) {
                    api9201.setDwmc(api1101List.get(0).getDwmc());
                }
                api9201.setYjmc(data.getDrugName());
                api9201.setYjlx(data.getDrugType());
                api9201.setLqrq(data.getLqsj());
                api9201.setZhgxsj(data.getUpdateTime());
                if (data.getLqr().contains("、")) {
                    api9201.setLqr(data.getLqr().replace('、', '|'));
                }
                //储粮粮情明细表
                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm());
                if (null != dtls && dtls.size() > 0) {
                    dtlList = new ArrayList<>();
                    for (Fz40DrugLogDtl dtl : dtls) {
                        api9201Dtl = new Gd2022Api1023Dtl();
                        BeanUtils.copyProperties(dtl, api9201Dtl);
                        api1105 = commonService.getApi1105Cache(data.getDepotId());
                        if (null != api1105) {
                            api9201Dtl.setCfmc(api1105.getHwmc());
                            api9201Dtl.setCfdm(api1105.getHwdm().substring(0, 25));
                        }
                        //粮食品种
                        String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, data.getFoodVariety());
                        api9201Dtl.setLspzdm(mappingCode);
                        api9201Dtl.setLsxzdm(data.getFoodType());
                        api9201Dtl.setLsdjdm(data.getFoodLevel());
                        api9201Dtl.setLssl(data.getNumber());
                        api9201Dtl.setSf(data.getPerWet());
                        api9201Dtl.setZz(data.getPerImpurity());
                        dtlList.add(api9201Dtl);
                    }
                    api9201.setDtl(JSON.toJSONString(dtlList));
                    api9201List = api9201Rep.getDataByBizId(api9201.getBizId());
                    if (null == api9201List || api9201List.isEmpty()) {
                        api9201.setCzbz(Constant.CZBZ_I);
                    } else {
                        api9201.setCzbz(api9201List.get(0).getCzbz());
                    }
                }
//                BeanUtils.copyProperties(data, api9201Dtl);
//                dtlList = new ArrayList<>();
//                dtlList.add(api9201Dtl);
//                api9201.setDtl(JSON.toJSONString(dtlList));
                api9201Way = new Gd2022Api1023Way();
                BeanUtils.copyProperties(data, api9201Way);
                wayList = new ArrayList<>();
                wayList.add(api9201Way);
                api9201.setWay(JSON.toJSONString(wayList));
                List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm());
                if (null != peoples && peoples.size() > 0) {
                    peopleList = new ArrayList<>();
                    for (Fz40DrugLogPeople people : peoples) {
                        api9201People = new Gd2022Api1023People();
                        BeanUtils.copyProperties(people, api9201People);
                        api9201People.setXm(people.getMx());
                        if (StringUtils.isEmpty(people.getZyzg())) {
                            api9201People.setZyzg("培训合格");
                        }
                        peopleList.add(api9201People);
                    }
                    api9201.setPeople(JSON.toJSONString(peopleList));
                    api9201List = api9201Rep.getDataByBizId(api9201.getBizId());
                    if (null == api9201List || api9201List.isEmpty()) {
                        api9201.setCzbz(Constant.CZBZ_I);
                    } else {
                        api9201.setCzbz(api9201List.get(0).getCzbz());
                    }
                }
                api9201Rep.save(api9201);
                log.info("9201---同步数据:{}", api9201.toString());
            }
        } catch (Exception e) {
            log.error("---熏蒸备案同步执行失败----{}", e.toString());
            apiLog.setResult("熏蒸备案信息同步执行失败:" + e.getMessage());
            apiLogRep.save(apiLog);
        }
    }
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1504Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1504;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1504Rep extends JpaRepository<Fz40Api1504, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1504 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1504> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1505Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1504;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1505Rep extends JpaRepository<Fz40Api1504, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1504 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1504> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1506Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1506;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1506Rep extends JpaRepository<Fz40Api1506, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1506 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1506> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1507Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1507;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1507Rep extends JpaRepository<Fz40Api1507, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1507 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1507> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1508Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1508;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1508Rep extends JpaRepository<Fz40Api1508, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1508 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1508> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1509Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1508;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1509Rep extends JpaRepository<Fz40Api1508, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1508 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1508> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1510Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40Api1510;
import com.fzzy.async.fzzy40.entity.Fz40Profit;
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 2024-01-12 09:55
 */
public interface Fzzy40Sync1510Rep extends JpaRepository<Fz40Api1510, String> {
    /**
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from Fz40Api1510 where zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
    List<Fz40Api1510> findDateByTime(@Param("start") Date start, @Param("end") Date end);
}
src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync9201Rep.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package com.fzzy.async.fzzy40.repository;
import com.fzzy.async.fzzy40.entity.Fz40DrugLogApply;
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:YAN
 */
public interface Fzzy40Sync9201Rep extends JpaRepository<Fz40DrugLogApply, String> {
    //查询熏蒸备案主表
    @Query("from Fz40DrugLogApply where deptId =:deptId and updateTime >=:start and updateTime <:end order by updateTime ")
    List<Fz40DrugLogApply> listDrugLogApply(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
   }
src/main/java/com/fzzy/otherview/gd2022/GdApi9201.view.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,1330 @@
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.api.entity.Api9201</Property>
      <PropertyDef name="bizId">
        <Property></Property>
        <Property name="label">业务id</Property>
      </PropertyDef>
      <PropertyDef name="kqdm">
        <Property></Property>
        <Property name="label">库区代码</Property>
      </PropertyDef>
      <PropertyDef name="syncTime">
        <Property name="dataType">Date</Property>
        <Property name="label">同步时间</Property>
      </PropertyDef>
      <PropertyDef name="id">
        <Property></Property>
        <Property name="label">id</Property>
      </PropertyDef>
      <PropertyDef name="xzbm">
        <Property></Property>
        <Property name="label">熏蒸备案编号</Property>
      </PropertyDef>
      <PropertyDef name="kqmc">
        <Property></Property>
        <Property name="label">库区名称</Property>
      </PropertyDef>
      <PropertyDef name="tbrq">
        <Property name="dataType">Date</Property>
        <Property name="label">填报日期</Property>
      </PropertyDef>
      <PropertyDef name="dwdm">
        <Property></Property>
        <Property name="label">单位代码</Property>
      </PropertyDef>
      <PropertyDef name="dwmc">
        <Property></Property>
        <Property name="label">单位名称</Property>
      </PropertyDef>
      <PropertyDef name="sqxzrq">
        <Property name="dataType">Date</Property>
        <Property name="label">申请熏蒸日期</Property>
      </PropertyDef>
      <PropertyDef name="fzr">
        <Property></Property>
        <Property name="label">负责人</Property>
      </PropertyDef>
      <PropertyDef name="fzrdh">
        <Property></Property>
        <Property name="label">负责人电话</Property>
      </PropertyDef>
      <PropertyDef name="xcfzr">
        <Property></Property>
        <Property name="label">现场负责人</Property>
      </PropertyDef>
      <PropertyDef name="xcfzrzw">
        <Property></Property>
        <Property name="label">现场负责人职务</Property>
      </PropertyDef>
      <PropertyDef name="xcfzrdh">
        <Property></Property>
        <Property name="label">现场负责人电话</Property>
      </PropertyDef>
      <PropertyDef name="tbr">
        <Property></Property>
        <Property name="label">填表人</Property>
      </PropertyDef>
      <PropertyDef name="tbrdh">
        <Property></Property>
        <Property name="label">填表人电话</Property>
      </PropertyDef>
      <PropertyDef name="sfszjjxd">
        <Property></Property>
        <Property name="label">是否设置警戒线(东)</Property>
      </PropertyDef>
      <PropertyDef name="sfszjjxx">
        <Property></Property>
        <Property name="label">是否设置警戒线(西)</Property>
      </PropertyDef>
      <PropertyDef name="sfszjjxn">
        <Property></Property>
        <Property name="label">是否设置警戒线(南)</Property>
      </PropertyDef>
      <PropertyDef name="sfszjjxb">
        <Property></Property>
        <Property name="label">是否设置警戒线(北)</Property>
      </PropertyDef>
      <PropertyDef name="ssxzzystqybqk">
        <Property></Property>
        <Property name="label">实施熏蒸作业时天气预报情况</Property>
      </PropertyDef>
      <PropertyDef name="xzssgcap">
        <Property></Property>
        <Property name="label">熏蒸安排及实施过程</Property>
      </PropertyDef>
      <PropertyDef name="aqfhjyjcccs">
        <Property></Property>
        <Property name="label">安全防护及应急处置措施</Property>
      </PropertyDef>
      <PropertyDef name="xzzysx">
        <Property></Property>
        <Property name="label">熏蒸注意事项</Property>
      </PropertyDef>
      <PropertyDef name="fileStorageId">
        <Property></Property>
        <Property name="label">文件存储ID</Property>
      </PropertyDef>
      <PropertyDef name="yjmc">
        <Property></Property>
        <Property name="label">药剂名称</Property>
      </PropertyDef>
      <PropertyDef name="yjlx">
        <Property></Property>
        <Property name="label">药剂类型/型号</Property>
      </PropertyDef>
      <PropertyDef name="yjyxqz">
        <Property name="dataType">Date</Property>
        <Property name="label">药剂有效期至</Property>
      </PropertyDef>
      <PropertyDef name="lqsl">
        <Property name="dataType">Double</Property>
        <Property name="label">领取数量</Property>
      </PropertyDef>
      <PropertyDef name="sysbjfs">
        <Property></Property>
        <Property name="label">施药设备及方式</Property>
      </PropertyDef>
      <PropertyDef name="zcdd">
        <Property></Property>
        <Property name="label">暂存地点</Property>
      </PropertyDef>
      <PropertyDef name="lqr">
        <Property></Property>
        <Property name="label">领取人</Property>
      </PropertyDef>
      <PropertyDef name="lqrq">
        <Property name="dataType">Date</Property>
        <Property name="label">领取时间</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property></Property>
        <Property name="label">操作标志</Property>
      </PropertyDef>
      <PropertyDef name="zhgxsj">
        <Property name="dataType">Date</Property>
        <Property name="label">更新时间</Property>
      </PropertyDef>
      <PropertyDef name="dtls">
        <Property></Property>
        <Property name="dataType">[dtDtl]</Property>
      </PropertyDef>
      <PropertyDef name="ways">
        <Property></Property>
        <Property name="dataType">[dtWay]</Property>
      </PropertyDef>
      <PropertyDef name="peoples">
        <Property></Property>
        <Property name="dataType">[dtPeople]</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtGBArea">
      <Property name="creationType">com.fzzy.api.entity.GbArea</Property>
      <PropertyDef name="code">
        <Property></Property>
        <Property name="label">接口编码</Property>
      </PropertyDef>
      <PropertyDef name="name">
        <Property></Property>
        <Property name="label">名称</Property>
      </PropertyDef>
      <PropertyDef name="parentCode">
        <Property></Property>
        <Property name="label">父编码</Property>
      </PropertyDef>
      <PropertyDef name="disabledTag">
        <Property></Property>
        <Property name="label">禁用</Property>
      </PropertyDef>
      <PropertyDef name="simple">
        <Property></Property>
        <Property name="label">是否默认</Property>
      </PropertyDef>
      <PropertyDef name="remark">
        <Property></Property>
        <Property name="label">备注说明</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtLog">
      <Property name="creationType">com.fzzy.api.entity.ApiLog</Property>
      <PropertyDef name="id">
        <Property></Property>
      </PropertyDef>
      <PropertyDef name="kqdm">
        <Property></Property>
        <Property name="label">库区代码</Property>
      </PropertyDef>
      <PropertyDef name="inteId">
        <Property></Property>
        <Property name="label">接口编号</Property>
      </PropertyDef>
      <PropertyDef name="uploadTime">
        <Property name="dataType">Date</Property>
        <Property name="label">上传时间</Property>
      </PropertyDef>
      <PropertyDef name="status">
        <Property name="dataType">int</Property>
        <Property name="label">上传结果</Property>
      </PropertyDef>
      <PropertyDef name="result">
        <Property></Property>
        <Property name="label">返回信息</Property>
      </PropertyDef>
      <PropertyDef name="dataId">
        <Property></Property>
        <Property name="label">接口数据主键</Property>
      </PropertyDef>
      <PropertyDef name="data">
        <Property></Property>
        <Property name="label">接口报文</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtParam">
      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
      <PropertyDef name="kqdm">
        <Property></Property>
        <Property name="label">所属库区</Property>
      </PropertyDef>
      <PropertyDef name="start">
        <Property name="dataType">Date</Property>
        <Property name="label">开始时间</Property>
      </PropertyDef>
      <PropertyDef name="end">
        <Property name="dataType">Date</Property>
        <Property name="label">截止时间</Property>
      </PropertyDef>
      <PropertyDef name="czbz">
        <Property></Property>
        <Property name="label">操作标志</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtPeople">
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023People</Property>
      <PropertyDef name="xm">
        <Property></Property>
        <Property name="label">姓名</Property>
      </PropertyDef>
      <PropertyDef name="zw">
        <Property></Property>
        <Property name="label">职务</Property>
      </PropertyDef>
      <PropertyDef name="zyzg">
        <Property></Property>
        <Property name="label">职业资格</Property>
      </PropertyDef>
      <PropertyDef name="stzk">
        <Property></Property>
        <Property name="label">身体状况</Property>
      </PropertyDef>
      <PropertyDef name="xzrwfg">
        <Property></Property>
        <Property name="label">熏蒸任务分工</Property>
      </PropertyDef>
      <PropertyDef name="sfwb">
        <Property></Property>
        <Property name="label">是否外包</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtWay">
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023Way</Property>
      <PropertyDef name="xznd">
        <Property></Property>
        <Property name="label">设定熏蒸浓度(ml/m3)</Property>
        <Property name="dataType">Double</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="mbsj">
        <Property></Property>
        <Property name="label">密闭时间(天)</Property>
        <Property name="dataType">Integer</Property>
      </PropertyDef>
      <PropertyDef name="xzfs">
        <Property></Property>
        <Property name="label">熏蒸方式</Property>
      </PropertyDef>
      <PropertyDef name="sqfs">
        <Property></Property>
        <Property name="label">散气方式</Property>
      </PropertyDef>
    </DataType>
    <DataType name="dtDtl">
      <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl</Property>
      <PropertyDef name="cfdm">
        <Property></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="keyProperty">code</Property>
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;LSDJ&quot;)}</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="lssl">
        <Property name="dataType">Double</Property>
        <Property name="label">粮食数量(吨)</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="sf">
        <Property name="dataType">Double</Property>
        <Property name="label">水份</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="zz">
        <Property name="dataType">Double</Property>
        <Property name="label">杂志</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="lw">
        <Property name="dataType">Double</Property>
        <Property name="label">粮温</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="cw">
        <Property name="dataType">Double</Property>
        <Property name="label">仓温</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="cnsd">
        <Property name="dataType">Double</Property>
        <Property name="label">仓内湿度</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="clfs">
        <Property></Property>
        <Property name="label">储粮方式</Property>
      </PropertyDef>
      <PropertyDef name="rkrq">
        <Property name="dataType">Date</Property>
        <Property name="label">入库日期</Property>
      </PropertyDef>
      <PropertyDef name="hc">
        <Property></Property>
        <Property name="label">害虫</Property>
      </PropertyDef>
      <PropertyDef name="cldjpd">
        <Property></Property>
        <Property name="label">虫粮等级判定</Property>
        <Property name="mapping">
          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CLDJPD&quot;)}</Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="ldtj">
        <Property name="dataType">Double</Property>
        <Property name="label">粮堆体积(m3)</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="kjtj">
        <Property name="dataType">Double</Property>
        <Property name="label">空间体积(m3)</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="lddwyyl">
        <Property name="dataType">Double</Property>
        <Property name="label">粮堆单位用药量</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="kjdwyyl">
        <Property name="dataType">Double</Property>
        <Property name="label">空间单位用药量</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="zyyl">
        <Property name="dataType">Double</Property>
        <Property name="label">总用药量</Property>
        <Property name="displayFormat">#0.000</Property>
      </PropertyDef>
      <PropertyDef name="qmx">
        <Property></Property>
        <Property name="label">气密性</Property>
      </PropertyDef>
      <PropertyDef name="jhxzksrq">
        <Property name="dataType">Date</Property>
        <Property name="label">计划熏蒸开始日期</Property>
      </PropertyDef>
      <PropertyDef name="jhxzjsrq">
        <Property name="dataType">Date</Property>
        <Property name="label">计划熏蒸结束日期</Property>
      </PropertyDef>
      <PropertyDef name="cfmc">
        <Property></Property>
        <Property name="label">仓房名称</Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="regionPadding:10">
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataType">[dtMain]</Property>
      <Property name="dataProvider">gDApi9201PR#pageList</Property>
      <Property name="pageSize">20</Property>
    </DataSet>
    <DataSet id="dsQuery">
      <ClientEvent name="onReady">self.insert();</ClientEvent>
      <Property name="dataType">dtParam</Property>
    </DataSet>
    <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>
    <ToolBar>
      <ToolBarLabel>
        <Property name="text">工具栏:</Property>
        <Property name="style">
          <Property name="font-weight">bold</Property>
        </Property>
      </ToolBarLabel>
      <ToolBarButton>
        <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).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>
        <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>
      </ToolBarButton>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#dialogMain&quot;).show();&#xD;
}else{&#xD;
    $alert(&quot;请勾选需要修改的数据!&quot;);&#xD;
}&#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>
      </ToolBarButton>
      <Separator/>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#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;
}else{&#xD;
    $alert(&quot;请勾选需要标记删除的数据!&quot;);&#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>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#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;
}else{&#xD;
    $alert(&quot;请勾选需要删除的数据!&quot;);&#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>
      <Separator/>
      <ToolBarButton>
        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#dialogDtl&quot;).show();&#xD;
}else{&#xD;
    $alert(&quot;请勾选需要修改的数据!&quot;);&#xD;
}</ClientEvent>
        <Property name="exClassName">toolbar-button-warm</Property>
        <Property name="iconClass">fa fa-search</Property>
        <Property name="width">100</Property>
        <Property name="caption">查看详情</Property>
      </ToolBarButton>
      <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;
}</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>
        <ClientEvent name="onClick">//显示记录&#xD;
view.get(&quot;#iFrame&quot;).reload();&#xD;
view.get(&quot;#dialogLog&quot;).show();</ClientEvent>
        <Property name="caption">上传记录</Property>
        <Property name="iconClass">fa fa-bars</Property>
        <Property name="exClassName">toolbar-button</Property>
      </ToolBarButton>
    </ToolBar>
    <DataGrid id="dgMain">
      <Property name="dataSet">dsMain</Property>
      <Property name="selectionMode">multiRows</Property>
      <Property name="readOnly">true</Property>
      <RowNumColumn/>
      <RowSelectorColumn>
        <Property name="caption">上传</Property>
      </RowSelectorColumn>
      <DataColumn name="xzbm">
        <Property name="property">xzbm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="kqmc">
        <Property name="property">kqmc</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="tbrq">
        <Property name="property">tbrq</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="dwdm">
        <Property name="property">dwdm</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="fzr">
        <Property name="property">fzr</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="fzrdh">
        <Property name="property">fzrdh</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="xcfzr">
        <Property name="property">xcfzr</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="czbz">
        <Property name="property">czbz</Property>
        <Property name="align">center</Property>
      </DataColumn>
      <DataColumn name="zhgxsj">
        <Property name="property">zhgxsj</Property>
        <Property name="align">center</Property>
      </DataColumn>
    </DataGrid>
    <ToolBar layoutConstraint="bottom">
      <Fill/>
      <DataPilot>
        <Property name="itemCodes">pageSize,pages</Property>
        <Property name="dataSet">dsMain</Property>
      </DataPilot>
    </ToolBar>
    <Dialog id="dialogMain" layout="regionPadding:5">
      <Property name="width">85%</Property>
      <Property name="closeable">false</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="caption">熏蒸备案信息</Property>
      <Property name="height">85%</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
});</ClientEvent>
          <Property name="caption">确定</Property>
          <Property name="iconClass">fa fa-check</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
if(cur) cur.cancel();</ClientEvent>
          <Property name="caption">取消</Property>
          <Property name="iconClass">fa fa-times</Property>
        </Button>
      </Buttons>
      <Children>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">基础信息</Property>
          <Buttons/>
          <Children>
            <AutoForm>
              <Property name="dataSet">dsMain</Property>
              <Property name="cols">*,*,*,*</Property>
              <Property name="labelPosition">top</Property>
              <Property name="labelSeparator">:</Property>
              <AutoFormElement>
                <Property name="name">xzbm</Property>
                <Property name="property">xzbm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">kqdm</Property>
                <Property name="property">kqdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">kqmc</Property>
                <Property name="property">kqmc</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tbrq</Property>
                <Property name="property">tbrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">dwdm</Property>
                <Property name="property">dwdm</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">dwmc</Property>
                <Property name="property">dwmc</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sqxzrq</Property>
                <Property name="property">sqxzrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fzr</Property>
                <Property name="property">fzr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fzrdh</Property>
                <Property name="property">fzrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xcfzr</Property>
                <Property name="property">xcfzr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xcfzrzw</Property>
                <Property name="property">xcfzrzw</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xcfzrdh</Property>
                <Property name="property">xcfzrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tbr</Property>
                <Property name="property">tbr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">tbrdh</Property>
                <Property name="property">tbrdh</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxd</Property>
                <Property name="property">sfszjjxd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxx</Property>
                <Property name="property">sfszjjxx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxn</Property>
                <Property name="property">sfszjjxn</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sfszjjxb</Property>
                <Property name="property">sfszjjxb</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">ssxzzystqybqk</Property>
                <Property name="property">ssxzzystqybqk</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xzssgcap</Property>
                <Property name="property">xzssgcap</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">aqfhjyjcccs</Property>
                <Property name="property">aqfhjyjcccs</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">xzzysx</Property>
                <Property name="property">xzzysx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">fileStorageId</Property>
                <Property name="property">fileStorageId</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">yjmc</Property>
                <Property name="property">yjmc</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">yjlx</Property>
                <Property name="property">yjlx</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">yjyxqz</Property>
                <Property name="property">yjyxqz</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">lqsl</Property>
                <Property name="property">lqsl</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">sysbjfs</Property>
                <Property name="property">sysbjfs</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">zcdd</Property>
                <Property name="property">zcdd</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">lqr</Property>
                <Property name="property">lqr</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">lqrq</Property>
                <Property name="property">lqrq</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">czbz</Property>
                <Property name="property">czbz</Property>
                <Editor/>
              </AutoFormElement>
              <AutoFormElement>
                <Property name="name">zhgxsj</Property>
                <Property name="property">zhgxsj</Property>
                <Editor/>
              </AutoFormElement>
            </AutoForm>
          </Children>
        </FieldSet>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">熏蒸作业人员信息</Property>
          <Buttons/>
          <Children>
            <Panel layout="regionPadding:5">
              <Property name="caption">人员信息</Property>
              <Property name="height">400</Property>
              <Buttons/>
              <Children>
                <Container layout="regionPadding:10">
                  <Property name="exClassName">bg-color</Property>
                  <Property name="contentOverflow">hidden</Property>
                  <Property name="height">55</Property>
                  <Label layoutConstraint="left">
                    <Property name="text">菜单栏:</Property>
                  </Label>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;way&quot;);&#xD;
list.insert({});</ClientEvent>
                    <Property name="caption">新增</Property>
                    <Property name="exClassName">btn-default</Property>
                    <Property name="iconClass">fa fa-plus</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var data = view.get(&quot;#dataPeoples.currentEntity&quot;);&#xD;
if(!data){&#xD;
 return;&#xD;
}&#xD;
data.remove();</ClientEvent>
                    <Property name="caption">删除</Property>
                    <Property name="iconClass">fa fa-minus</Property>
                    <Property name="exClassName">btn-warn</Property>
                  </Button>
                </Container>
                <DataGrid id="dataPeoples">
                  <Property name="dataPath">#.peoples</Property>
                  <Property name="dataSet">dsMain</Property>
                  <DataColumn name="xm">
                    <Property name="property">xm</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="zw">
                    <Property name="property">zw</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="zyzg">
                    <Property name="property">zyzg</Property>
                    <Property name="trigger">listDropZG</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="stzk">
                    <Property name="property">stzk</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="xzrwfg">
                    <Property name="property">xzrwfg</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="sfwb">
                    <Property name="property">sfwb</Property>
                    <Property name="trigger">listDropYN</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                </DataGrid>
              </Children>
              <Tools/>
            </Panel>
          </Children>
        </FieldSet>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">熏蒸备案方式信息</Property>
          <Buttons/>
          <Children>
            <Panel layout="regionPadding:5">
              <Property name="caption">熏蒸备案方式</Property>
              <Property name="height">400</Property>
              <Buttons/>
              <Children>
                <Container layout="regionPadding:10">
                  <Property name="exClassName">bg-color</Property>
                  <Property name="contentOverflow">hidden</Property>
                  <Property name="height">55</Property>
                  <Label layoutConstraint="left">
                    <Property name="text">菜单栏:</Property>
                  </Label>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;drugLogWays&quot;);&#xD;
list.insert({});</ClientEvent>
                    <Property name="caption">新增</Property>
                    <Property name="exClassName">btn-default</Property>
                    <Property name="iconClass">fa fa-plus</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var data = view.get(&quot;#dataWays.currentEntity&quot;);&#xD;
if(!data){&#xD;
 return;&#xD;
}&#xD;
data.remove();</ClientEvent>
                    <Property name="caption">删除</Property>
                    <Property name="iconClass">fa fa-minus</Property>
                    <Property name="exClassName">btn-warn</Property>
                  </Button>
                </Container>
                <DataGrid id="dataWays">
                  <Property name="dataPath">#.ways</Property>
                  <Property name="dataSet">dsMain</Property>
                  <DataColumn name="xznd">
                    <Property name="property">xznd</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="mbsj">
                    <Property name="property">mbsj</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="xzfs">
                    <Property name="property">xzfs</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="sqfs">
                    <Property name="property">sqfs</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                </DataGrid>
              </Children>
              <Tools/>
            </Panel>
          </Children>
        </FieldSet>
      </Children>
      <Tools/>
    </Dialog>
    <Dialog id="dialogDtl" layout="regionPadding:5">
      <Property name="caption">熏蒸作业的储粮粮情</Property>
      <Property name="width">90%</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Property name="height">90%</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
          <Property name="caption">确定</Property>
          <Property name="iconClass">fa fa-check</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
if(cur) cur.cancel();</ClientEvent>
          <Property name="caption">取消</Property>
          <Property name="iconClass">fa fa-times</Property>
        </Button>
      </Buttons>
      <Children>
        <FieldSet layout="regionPadding:5">
          <Property name="caption">熏蒸作业的储粮粮情明细</Property>
          <Buttons/>
          <Children>
            <Panel layout="regionPadding:5">
              <Property name="caption">储粮粮情明细</Property>
              <Buttons/>
              <Children>
                <Container layout="regionPadding:10">
                  <Property name="exClassName">bg-color</Property>
                  <Property name="contentOverflow">hidden</Property>
                  <Property name="height">55</Property>
                  <Label layoutConstraint="left">
                    <Property name="text">菜单栏:</Property>
                  </Label>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;dtls&quot;);&#xD;
list.insert();&#xD;
view.get(&quot;#addDtl&quot;).show();</ClientEvent>
                    <Property name="caption">新增</Property>
                    <Property name="exClassName">btn-default</Property>
                    <Property name="iconClass">fa fa-plus</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var cur = view.get(&quot;#dgDtl&quot;).getCurrentItem();&#xD;
if(cur){&#xD;
    view.get(&quot;#addDtl&quot;).show();&#xD;
}else{&#xD;
    $alert(&quot;请勾选需要修改的数据!&quot;);&#xD;
}</ClientEvent>
                    <Property name="caption">修改</Property>
                    <Property name="exClassName">btn-warm</Property>
                    <Property name="iconClass">fa fa-pencil</Property>
                  </Button>
                  <Button layoutConstraint="left">
                    <ClientEvent name="onClick">var list = view.get(&quot;#dsMain.data:#&quot;).get(&quot;dtls&quot;);&#xD;
list.remove();&#xD;
view.get(&quot;#updateDelDtl&quot;).execute(function(){&#xD;
});</ClientEvent>
                    <Property name="caption">删除</Property>
                    <Property name="iconClass">fa fa-minus</Property>
                    <Property name="exClassName">btn-warn</Property>
                  </Button>
                </Container>
                <DataGrid id="dgDtl">
                  <Property name="dataPath">#.dtls</Property>
                  <Property name="dataSet">dsMain</Property>
                  <DataColumn name="cfdm">
                    <Property name="property">cfdm</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                    <Property name="width">260</Property>
                  </DataColumn>
                  <DataColumn name="lspzdm">
                    <Property name="property">lspzdm</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="lsxzdm">
                    <Property name="property">lsxzdm</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="cldjpd">
                    <Property name="property">cldjpd</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="zyyl">
                    <Property name="property">zyyl</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="qmx">
                    <Property name="property">qmx</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="jhxzksrq">
                    <Property name="property">jhxzksrq</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                  <DataColumn name="jhxzjsrq">
                    <Property name="property">jhxzjsrq</Property>
                    <Property name="readOnly">true</Property>
                    <Property name="align">center</Property>
                  </DataColumn>
                </DataGrid>
              </Children>
              <Tools/>
            </Panel>
          </Children>
        </FieldSet>
      </Children>
      <Tools/>
    </Dialog>
    <CustomDropDown id="cddGbArea">
      <Property name="assignmentMap">xzqhdm=code,xzqhmc=name</Property>
      <Property name="height">500</Property>
      <Property name="minHeight">500</Property>
      <Property name="maxHeight">500</Property>
      <Property name="width">400</Property>
      <Container layout="regionPadding:5">
        <DataSet id="dsGBArea">
          <Property name="dataProvider">gbAreaPR#findByCode</Property>
          <Property name="dataType">[dtGBArea]</Property>
        </DataSet>
        <Container layout="hbox regionPadding:5">
          <TextEditor id="key2">
            <Property name="blankText"> -- ç¼–码或者名称 --</Property>
            <Property name="width">200</Property>
          </TextEditor>
          <Button>
            <ClientEvent name="onClick">var key = view.get(&quot;#key2.value&quot;);&#xD;
view.get(&quot;#dsGBArea&quot;).set(&quot;parameter&quot;,{key:key}).flushAsync();</ClientEvent>
            <Property name="iconClass">fa fa-search</Property>
            <Property name="caption">查询</Property>
          </Button>
          <Button>
            <ClientEvent name="onClick">var data = view.get(&quot;#dsGBArea.data:#&quot;);&#xD;
if (data) {&#xD;
    view.get(&quot;#cddGbArea&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
            <Property name="caption">确定</Property>
            <Property name="iconClass">fa fa-check</Property>
          </Button>
        </Container>
        <DataGrid>
          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsGBArea.data:#&quot;);&#xD;
if(data){&#xD;
    view.get(&quot;#cddGbArea&quot;).close(data.toJSON());&#xD;
}</ClientEvent>
          <Property name="dataSet">dsGBArea</Property>
          <Property name="readOnly">true</Property>
          <DataColumn name="code">
            <Property name="property">code</Property>
          </DataColumn>
          <DataColumn name="name">
            <Property name="property">name</Property>
          </DataColumn>
        </DataGrid>
      </Container>
    </CustomDropDown>
    <Dialog id="dialogLog">
      <Property name="width">90%</Property>
      <Property name="height">90%</Property>
      <Property name="caption">上传记录</Property>
      <Property name="iconClass">fa fa-sliders</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
          <Property name="caption">关闭</Property>
          <Property name="iconClass">fa fa-times</Property>
          <Property name="exClassName">toolbar-button-warn</Property>
        </Button>
      </Buttons>
      <Children>
        <Container>
          <IFrame id="iFrame">
            <Property name="path">com.fzzy.api.view.ApiLog.d</Property>
            <Property name="userData">
              <Entity>
                <Property name="deptId">deptId</Property>
              </Entity>
            </Property>
          </IFrame>
        </Container>
      </Children>
      <Tools/>
    </Dialog>
    <Dialog id="addDtl">
      <Property name="caption">熏蒸作业的储粮粮情明细</Property>
      <Property name="width">80%</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgDtl&quot;).getCurrentItem();&#xD;
view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
    self.get(&quot;parent&quot;).hide();&#xD;
});</ClientEvent>
          <Property name="caption">确定</Property>
          <Property name="iconClass">fa fa-check</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
self.get(&quot;parent&quot;).hide();&#xD;
if(cur) cur.cancel();</ClientEvent>
          <Property name="caption">取消</Property>
          <Property name="iconClass">fa fa-times</Property>
        </Button>
      </Buttons>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="cols">*,*,*,*</Property>
          <Property name="labelPosition">top</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="dataPath">#.dtls</Property>
          <AutoFormElement>
            <Property name="name">cfdm</Property>
            <Property name="property">cfdm</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">lssl</Property>
            <Property name="property">lssl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">sf</Property>
            <Property name="property">sf</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zz</Property>
            <Property name="property">zz</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lw</Property>
            <Property name="property">lw</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cw</Property>
            <Property name="property">cw</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cnsd</Property>
            <Property name="property">cnsd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">clfs</Property>
            <Property name="property">clfs</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">rkrq</Property>
            <Property name="property">rkrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">hc</Property>
            <Property name="property">hc</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cldjpd</Property>
            <Property name="property">cldjpd</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">ldtj</Property>
            <Property name="property">ldtj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">kjtj</Property>
            <Property name="property">kjtj</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">lddwyyl</Property>
            <Property name="property">lddwyyl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">kjdwyyl</Property>
            <Property name="property">kjdwyyl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">zyyl</Property>
            <Property name="property">zyyl</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">qmx</Property>
            <Property name="property">qmx</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jhxzksrq</Property>
            <Property name="property">jhxzksrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">jhxzjsrq</Property>
            <Property name="property">jhxzjsrq</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">cfmc</Property>
            <Property name="property">cfmc</Property>
            <Editor/>
          </AutoFormElement>
        </AutoForm>
      </Children>
      <Tools/>
    </Dialog>
    <UpdateAction id="updateDelDtl">
      <Property name="dataResolver">gDApi9201PR#updateSave</Property>
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <UpdateAction id="updateSave">
      <Property name="dataResolver">gDApi9201PR#updateSave</Property>
      <UpdateItem>
        <Property name="dataPath">[#current]</Property>
        <Property name="dataSet">dsMain</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxDel">
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
      <Property name="service">gDApi9201PR#delData</Property>
    </AjaxAction>
    <AjaxAction id="ajaxDelUpdate">
      <Property name="confirmMessage">当前数据删除后无法恢复,请确认要删除么?</Property>
      <Property name="service">gDApi9201PR#delUpdate</Property>
    </AjaxAction>
    <AjaxAction id="ajaxPush">
      <Property name="service">gDApi9201PR#pushData</Property>
    </AjaxAction>
    <ListDropDown id="listDropYN">
      <Property name="items">是,否</Property>
    </ListDropDown>
    <ListDropDown id="listDropZG">
      <Property name="items">初级,中级,高级,培训合格</Property>
    </ListDropDown>
  </View>
</ViewConfig>
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java
@@ -66,7 +66,7 @@
            @Override
            public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
                List<Predicate> predicates = new ArrayList<>(); //所有的断言
                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), ApiCodeConstant.API_1023);
                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), ApiCodeConstant.API_9201);
                predicates.add(predicate);
                if (null != param) {
                    if (StringUtils.isNotBlank(param.getKqdm())) {
@@ -169,7 +169,7 @@
        }
        //封装参数
        ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_1023);
        ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_9201);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
@@ -184,7 +184,7 @@
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    //推送成功,更新数据上传状态
                    List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") +  data.getXzbm(), data.getKqdm());
                    List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_9201, DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") +  data.getXzbm(), data.getKqdm());
                    data.setCzbz(Constant.CZBZ_U);
                    infoData = apiInfoList.get(0);
                    infoData.setUpdateTime(new Date());
src/main/java/com/fzzy/otherview/gd2022/pr/GDApi9201PR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,256 @@
package com.fzzy.otherview.gd2022.pr;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSON;
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.Api9201;
import com.fzzy.api.entity.ApiConfs;
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.Api9201Rep;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl;
import com.fzzy.push.gd2022.dto.Gd2022Api1023People;
import com.fzzy.push.gd2022.dto.Gd2022Api1023Way;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
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.List;
/**
 * å¹¿ä¸œçœæŽ¥å£-9201 ç†è’¸å¤‡æ¡ˆ
 *
 * @author czt
 * @date 2023/8/17
 */
@Component(value = "gDApi9201PR")
public class GDApi9201PR {
    @Autowired
    private Api9201Rep api9201Rep;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiPushManager apiPushManager;
    /**
     * gDApi9201PR#pageList
     *
     * @return
     */
    @DataProvider
    public void pageList(Page<Api9201> page, ApiParam param) {
        //多参数分页查询
        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "id");
        if (null == param) {
            org.springframework.data.domain.Page<Api9201> japPage = api9201Rep.findAll(pageable);
            page.setEntityCount((int) japPage.getTotalElements());
            for (Api9201 api9201 : japPage.getContent()) {
                api9201.setDtls(JSONArray.parseArray(api9201.getDtl(), Gd2022Api1023Dtl.class));
                api9201.setPeoples(JSONArray.parseArray(api9201.getPeople(), Gd2022Api1023People.class));
                api9201.setWays(JSONArray.parseArray(api9201.getWay(), Gd2022Api1023Way.class));
            }
            page.setEntities(japPage.getContent());
            return;
        }
        Specification<Api9201> specification = new Specification<Api9201>() {
            private static final long serialVersionUID = 1L;
            public Predicate toPredicate(Root<Api9201> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
                List<Predicate> predicates = new ArrayList<>(); //所有的断言
                if (StringUtils.isNotBlank(param.getKqdm())) {
                    Predicate predicate1 = cb.equal(root.get("hwdm"), param.getKqdm());
                    predicates.add(predicate1);
                }
                if (StringUtils.isNotBlank(param.getCzbz())) {
                    Predicate predicate2 = cb.equal(root.get("czbz"), param.getCzbz());
                    predicates.add(predicate2);
                }
                if (null != param.getStart()) {
                    Predicate predicate3 = cb.greaterThan(root.get("ywrq"), ContextUtil.getCurZero(param.getStart()));
                    predicates.add(predicate3);
                }
                if (null != param.getEnd()) {
                    Predicate predicate4 = cb.lessThan(root.get("ywrq"), ContextUtil.getNextZero(param.getEnd()));
                    predicates.add(predicate4);
                }
                return cb.and(predicates.toArray(new Predicate[0]));
            }
        };
        org.springframework.data.domain.Page<Api9201> japPage = api9201Rep.findAll(specification, pageable);
        page.setEntityCount((int) japPage.getTotalElements());
        for (Api9201 api9201 : japPage.getContent()) {
            api9201.setDtls(JSONArray.parseArray(api9201.getDtl(), Gd2022Api1023Dtl.class));
            api9201.setPeoples(JSONArray.parseArray(api9201.getPeople(), Gd2022Api1023People.class));
            api9201.setWays(JSONArray.parseArray(api9201.getWay(), Gd2022Api1023Way.class));
        }
        page.setEntities(japPage.getContent());
    }
    /**
     * gDApi9201PR#updateSave
     *
     * @param entity
     */
    @DataResolver
    public void updateSave(Api9201 entity) {
        // æ‰‹åЍ将doradoEntity对象转换为标准Bean对象
        Api9201 data = new Api9201();
        BeanUtils.copyProperties(entity, data);
        data.setDtl(JSON.toJSONString(data.getDtls()));
        data.setPeople(JSON.toJSONString(data.getPeoples()));
        data.setWay(JSON.toJSONString(data.getWays()));
        data.setKqdm(data.getKqdm().trim());
        api9201Rep.save(data);
    }
    /**
     * gDApi9201PR#delData
     *
     * @param data
     */
    @Expose
    public String delData(Api9201 data) {
        api9201Rep.deleteById(data.getId());
        return null;
    }
    /**
     * æ›´æ–°åˆ é™¤æ ‡è®° gDApi9201PR#delUpdate
     *
     * @param entity
     */
    @Expose
    public String delUpdate(Api9201 entity) {
        entity.setCzbz(Constant.CZBZ_D);
        Api9201 data = new Api9201();
        BeanUtils.copyProperties(entity, data);
        api9201Rep.save(data);
        return null;
    }
    /**
     * gDApi9201PR#pushData
     *
     * @param items
     */
    @Expose
    public String pushData(List<Api9201> items) {
        //获取配置
        String kqdm = items.get(0).getKqdm();
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) {
            return "系统没有获取到当前库区配置信息,执行失败";
        }
        //获取实现接口
        ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol());
        if (null == apiRemoteService) {
            return "系统没有当前推送协议配置,执行失败";
        }
        return pushDataSingle(items, apiRemoteService, apiConf);
    }
    /**
     * å•条数据json推送
     *
     * @param items
     * @param apiRemoteService
     * @param apiConf
     * @return
     */
    private String pushDataSingle(List<Api9201> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
        ResponseDto responseDto;
        String result = "";
        //封装参数
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_13, Constant.API_CODE_9201);
        Api9201 d;
        for (Api9201 data : items) {
            d = new Api9201();
            BeanUtils.copyProperties(data, d);
            param.setBizId(data.getBizId());
            responseDto = apiRemoteService.pushData(param, apiConf, d);
            result += responseDto.toString();
            if (responseDto.getSuccess() == 0) {
                if (Constant.CZBZ_I.equals(d.getCzbz())) {
                    api9201Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U);
                }
            }
        }
        return result;
    }
    /**
     * é›†åˆå½¢å¼æŽ¨é€
     *
     * @param items
     * @param apiRemoteService
     * @param apiConf
     * @return
     */
    private String pushDataList(List<Api9201> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
        //封装参数
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_13, Constant.API_CODE_9201);
        //推送,数据为集合形式
        ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            for (Api9201 data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    //更新状态
                    api9201Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U);
                }
            }
        }
        return responseDto.toString();
    }
}
src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java
@@ -9,6 +9,7 @@
    public static String API_1023 = "1023";
    public static String API_2001 = "2001";
    public static String API_2002 = "2002";
    public static String API_9201 = "9201";
    /**
     * æŽ¥å£ç¼–码-1001 èº«ä»½è®¤è¯æŽ¥å£
     */
src/main/java/com/fzzy/push/gd2022/GD2022ApiRemoteService2022.java
@@ -789,6 +789,11 @@
            apiData.setZhgxsj(DateUtils.addSeconds(new Date(), -10));
            return JSON.toJSONString(apiData);
        }
        if (Constant.API_CODE_9201.equals(inteId)) {
            Api9201 apiData = (Api9201) data;
            apiData.setZhgxsj(DateUtils.addSeconds(new Date(), -10));
            return JSON.toJSONString(apiData);
        }
        if (ApiCodeConstant.API_2001.equals(inteId)) {
            Gd2022Api2001 apiData = (Gd2022Api2001) data;
            //校验统一编码是否为空,为空则查询信息进行赋值
src/main/java/com/fzzy/web/TestController.java
@@ -1,4 +1,5 @@
package com.fzzy.web;
import com.bstek.dorado.util.DateUtils;
import com.fzzy.api.data.ApiParam;
import com.fzzy.async.fzzy30.Fzzy30SyncService12;
@@ -8,6 +9,21 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import ws.schild.jave.Encoder;
import ws.schild.jave.EncoderException;
import ws.schild.jave.MultimediaObject;
import ws.schild.jave.encode.AudioAttributes;
import ws.schild.jave.encode.EncodingAttributes;
import ws.schild.jave.encode.VideoAttributes;
import ws.schild.jave.info.AudioInfo;
import ws.schild.jave.info.VideoSize;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.math.BigDecimal;
/**
 * @author vince.xu
@@ -22,6 +38,7 @@
public class TestController {
    @Autowired
    private Fzzy30SyncService12 fzzySyncService12;
    /**
     *
     */
@@ -41,4 +58,171 @@
        }
        return "";
    }
    public static void main(String[] args) throws EncoderException {
        // åŽ‹ç¼©å‰æ–‡ä»¶è·¯å¾„
        File source = new File("D:\\IGDS\\FILE\\COMMON\\202412\\20241218100601.mp4");
        // åŽ‹ç¼©åŽçš„æ–‡ä»¶è·¯å¾„
        File target = new File("D:\\IGDS\\FILE\\COMMON\\202412\\202412181006.mp4");
        compre(source, target, 1);
    }
    /**
     * è§†é¢‘压缩
     *
     * @param source æºæ–‡ä»¶
     * @param target ç›®æ ‡æ–‡ä»¶
     * @param rate   åŽ‹ç¼©æ¯”
     */
    public static void compre(File source, File target, Integer rate) throws EncoderException {
        try {
            System.out.println("---------------开始压缩---------------");
            long start = System.currentTimeMillis();
            // éŸ³é¢‘编码属性配置
            AudioAttributes audio = new AudioAttributes();
            audio.setCodec("libmp3lame");
            // è®¾ç½®éŸ³é¢‘比特率,单位:b (比特率越高,清晰度/音质越好,当然文件也就越大 56000 = 56kb)
            // audio.setBitRate(new Integer(56_000));
            audio.setBitRate(new Integer(10));
            // è®¾ç½®é‡æ–°ç¼–码的音频流中使用的声道数(1 =单声道,2 = åŒå£°é“(立体声))
            audio.setChannels(1);
            // é‡‡æ ·çŽ‡è¶Šé«˜å£°éŸ³çš„è¿˜åŽŸåº¦è¶Šå¥½ï¼Œæ–‡ä»¶è¶Šå¤§
            // audio.setSamplingRate(new Integer(44100));
            audio.setSamplingRate(new Integer(22050));
            // è§†é¢‘编码属性配置
            VideoAttributes video = new VideoAttributes();
            // è®¾ç½®ç¼–码
            video.setCodec("mpeg4");
            //设置音频比特率,单位:b (比特率越高,清晰度/音质越好,当然文件也就越大 5600000 = 5600kb)
            // video.setBitRate(new Integer(5_600_000 / rate));
            video.setBitRate(new Integer(10 / rate));
            // è®¾ç½®è§†é¢‘帧率(帧率越低,视频会出现断层,越高让人感觉越连续),这里 é™¤1000是为了单位转换
            video.setFrameRate(new Integer(15));
            // ç¼–码设置
            EncodingAttributes attr = new EncodingAttributes();
            attr.setOutputFormat("mp4");
            attr.setAudioAttributes(audio);
            attr.setVideoAttributes(video);
            // è®¾ç½®å€¼ç¼–码
            Encoder ec = new Encoder();
            ec.encode(new MultimediaObject(source), target, attr);
            System.out.println("---------------结束压缩---------------");
            long end = System.currentTimeMillis();
            System.out.println("压缩前大小:" + source.length() + " åŽ‹ç¼©åŽå¤§å°ï¼š" + target.length());
            System.out.println("压缩耗时:" + (end - start));
        } catch (EncoderException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
    }
    /**
     * ä¼ è§†é¢‘File对象(这是一个具体的文件),返回压缩后File对象信息
     *
     * @param source
     */
    public static File compressionVideo(File source, String picName) {
        if (source == null) {
            return null;
        }
        String newPath = source.getAbsolutePath().substring(0, source.getAbsolutePath().lastIndexOf(File.separator)).concat(File.separator).concat(picName);
        File target = new File(newPath);
        try {
            MultimediaObject object = new MultimediaObject(source);
            AudioInfo audioInfo = object.getInfo().getAudio();
            // æ ¹æ®è§†é¢‘大小来判断是否需要进行压缩,
            int maxSize = 5;
            double mb = Math.ceil(source.length() / 1048576);
            int second = (int) object.getInfo().getDuration() / 1000;
            BigDecimal bd = new BigDecimal(String.format("%.4f", mb / second));
            System.out.println("开始压缩视频了--> è§†é¢‘每秒平均 " + bd + " MB ");
            // è§†é¢‘ > 5MB, æˆ–者每秒 > 0.5 MB æ‰åšåŽ‹ç¼©ï¼Œ ä¸éœ€è¦çš„话可以把判断去掉
            boolean temp = mb > maxSize || bd.compareTo(new BigDecimal(0.5)) > 0;
//            if(temp){
            long time = System.currentTimeMillis();
            //TODO è§†é¢‘属性设置
            int maxBitRate = 128000;
            int maxSamplingRate = 44100;
            int bitRate = 800000;
            int maxFrameRate = 20;
            int maxWidth = 1280;
            AudioAttributes audio = new AudioAttributes();
            // è®¾ç½®é€šç”¨ç¼–码格式10                   audio.setCodec("aac");
            // è®¾ç½®æœ€å¤§å€¼ï¼šæ¯”特率越高,清晰度/音质越好
            // è®¾ç½®éŸ³é¢‘比特率,单位:b (比特率越高,清晰度/音质越好,当然文件也就越大 128000 = 182kb)
            if (audioInfo.getBitRate() > maxBitRate) {
                audio.setBitRate(new Integer(maxBitRate));
            }
            // è®¾ç½®é‡æ–°ç¼–码的音频流中使用的声道数(1 =单声道,2 = åŒå£°é“(立体声))。如果未设置任何声道值,则编码器将选择默认值 0。
            audio.setChannels(audioInfo.getChannels());
            // é‡‡æ ·çŽ‡è¶Šé«˜å£°éŸ³çš„è¿˜åŽŸåº¦è¶Šå¥½ï¼Œæ–‡ä»¶è¶Šå¤§
            // è®¾ç½®éŸ³é¢‘采样率,单位:赫兹 hz
            // è®¾ç½®ç¼–码时候的音量值,未设置为0,如果256,则音量值不会改变
            // audio.setVolume(256);
            if (audioInfo.getSamplingRate() > maxSamplingRate) {
                audio.setSamplingRate(maxSamplingRate);
            }
            //TODO è§†é¢‘编码属性配置
            ws.schild.jave.info.VideoInfo videoInfo = object.getInfo().getVideo();
            VideoAttributes video = new VideoAttributes();
            video.setCodec("h264");
            //设置音频比特率,单位:b (比特率越高,清晰度/音质越好,当然文件也就越大 800000 = 800kb)
            if (videoInfo.getBitRate() > bitRate) {
                video.setBitRate(bitRate);
            }
            // è§†é¢‘帧率:15 f / s  å¸§çŽ‡è¶Šä½Žï¼Œæ•ˆæžœè¶Šå·®
            // è®¾ç½®è§†é¢‘帧率(帧率越低,视频会出现断层,越高让人感觉越连续),视频帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,简:FPS)或“赫兹”(Hz)。
            if (videoInfo.getFrameRate() > maxFrameRate) {
                video.setFrameRate(maxFrameRate);
            }
            // é™åˆ¶è§†é¢‘宽高
            int width = videoInfo.getSize().getWidth();
            int height = videoInfo.getSize().getHeight();
            if (width > maxWidth) {
                float rat = (float) width / maxWidth;
                video.setSize(new VideoSize(maxWidth, (int) (height / rat)));
            }
            EncodingAttributes attr = new EncodingAttributes();
//                attr.setFormat("mp4");
            attr.setAudioAttributes(audio);
            attr.setVideoAttributes(video);
            // é€Ÿåº¦æœ€å¿«çš„压缩方式, åŽ‹ç¼©é€Ÿåº¦ ä»Žå¿«åˆ°æ…¢ï¼š ultrafast, superfast, veryfast, faster, fast, medium,  slow, slower, veryslow and placebo.
//                attr.setPreset(PresetUtil.VERYFAST);
//                attr.setCrf(27);
//                // è®¾ç½®çº¿ç¨‹æ•°
//                attr.setEncodingThreads(Runtime.getRuntime().availableProcessors()/2);
            Encoder encoder = new Encoder();
            encoder.encode(new MultimediaObject(source), target, attr);
            System.out.println("压缩总耗时:" + (System.currentTimeMillis() - time) / 1000);
            return target;
//            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (target.length() > 0) {
                source.delete();
            }
        }
        return source;
    }
}
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
@@ -340,6 +340,9 @@
                                    <dd>
                                        <a lay-href="com.fzzy.otherview.gd2022.GdApi1023.d">熏蒸备案</a>
                                    </dd>
                                    <dd>
                                        <a lay-href="com.fzzy.otherview.gd2022.GdApi9201.d">熏蒸备案新</a>
                                    </dd>
                                </dl>
                            </dd>
                            <dd>