czt
2025-06-05 00acb9d6cb8d3455e9a7c2b51722fafeb820a92c
增加接口包及解析
已添加51个文件
已修改2个文件
4497 ■■■■■ 文件已修改
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/ColdValley.java 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/DicSysConf.java 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/DrugLog.java 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/InoutDepotRecord.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/MAreationData.java 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/N2Filling.java 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/AreationDataRepository.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/ColdValleyRepository.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/DrugLogRepository.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/GasRepository.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/GrainRepository.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/InoutDepotRecordRepository.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/N2FillingRepository.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/QualityManageRepository.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/sys/SysConfService.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/sys/repository/SysConfRepository.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/pom.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/ApiV1Manager.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/ApiV1Server.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/ApiV1Service.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1001.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1002.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1003.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1004.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1005.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2001.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2002.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2003.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2004.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2005.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2006.java 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2007.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2008.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1ReqDto.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1RespDto.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1001.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1002.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1003.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1004.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1005.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2001.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2002.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2003.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2004.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2005.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2006.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2007.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2008.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/util/ApiV1Utils.java 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-view/src/main/java/com/fzzy/igds/sys/SysConf.view.xml 525 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-view/src/main/java/com/fzzy/igds/sys/pr/SysConfPR.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-web/pom.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/ColdValley.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,159 @@
package com.fzzy.igds.dzhwk.domain;
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;
/**
 * æŽ¥å£è¡¨-谷冷作业
 *
 */
@Data
@Entity
@Table(name = "H_COLD_VALLEY")
public class ColdValley implements Serializable {
    @Id
    @Column(name = "zydh", length = 40)
    @PropertyDef(label = "谷冷作业单号")
    private String zydh;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @Column(name = "ajdm", length = 40)
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @Column(name = "kssj")
    @PropertyDef(label = "通风开始时间")
    private Date kssj;
    @Column(name = "jssj")
    @PropertyDef(label = "通风结束时间")
    private Date jssj;
    @Column(name = "lspzdm", length = 40)
    @PropertyDef(label = "粮食品种")
    private String lspzdm;
    @Column(name = "lssl", length = 40)
    @PropertyDef(label = "粮食数量")
    private Double lssl;
    @Column(name = "lqtfmd", length = 40)
    @PropertyDef(label = "冷却通风目的")
    private String lqtfmd;
    @Column(name = "lqsfwd")
    @PropertyDef(label = "冷却送风温度")
    private Double lqsfwd;
    @Column(name = "lqsfsd")
    @PropertyDef(label = "冷却送风湿度")
    private Double lqsfsd;
    @Column(name = "ljtfsj")
    @PropertyDef(label = "累计通风时间")
    private Double ljtfsj;
    @Column(name = "wwzgz")
    @PropertyDef(label = "通风期间外温最高值")
    private Double wwzgz;
    @Column(name = "wwzdz")
    @PropertyDef(label = "通风期间外温最低值")
    private Double wwzdz;
    @Column(name = "wwpjz")
    @PropertyDef(label = "通风期间外温平均值")
    private Double wwpjz;
    @Column(name = "wszgz")
    @PropertyDef(label = "通风期间外湿最高值")
    private Double wszgz;
    @Column(name = "wszdz")
    @PropertyDef(label = "通风期间外湿最低值")
    private Double wszdz;
    @Column(name = "wspjz")
    @PropertyDef(label = "通风期间外湿平均值")
    private Double wspjz;
    @Column(name = "qlwzgz")
    @PropertyDef(label = "通风前粮温最高值")
    private Double qlwzgz;
    @Column(name = "qlwzdz")
    @PropertyDef(label = "通风前粮温最低值")
    private Double qlwzdz;
    @Column(name = "qlwpjz")
    @PropertyDef(label = "通风前粮温平均值")
    private Double qlwpjz;
    @Column(name = "hlwzgz")
    @PropertyDef(label = "通风后粮温最高值")
    private Double hlwzgz;
    @Column(name = "hlwzdz")
    @PropertyDef(label = "通风后粮温最低值")
    private Double hlwzdz;
    @Column(name = "hlwpjz")
    @PropertyDef(label = "通风后粮温平均值")
    private Double hlwpjz;
    @Column(name = "qlszgz")
    @PropertyDef(label = "通风前粮湿度最高值")
    private Double qlszgz;
    @Column(name = "qlszdz")
    @PropertyDef(label = "通风前粮湿度最低值")
    private Double qlszdz;
    @Column(name = "qlspjz")
    @PropertyDef(label = "通风前粮湿度平均值")
    private Double qlspjz;
    @Column(name = "hlszgz")
    @PropertyDef(label = "通风后粮湿度最高值")
    private Double hlszgz;
    @Column(name = "hlszdz")
    @PropertyDef(label = "通风后粮湿度最低值")
    private Double hlszdz;
    @Column(name = "hlspjz")
    @PropertyDef(label = "通风后粮湿度平均值")
    private Double hlspjz;
    @Column(name = "zhdl", length = 40)
    @PropertyDef(label = "总耗电量")
    private String zhdl;
    @Column(name = "czr", length = 40)
    @PropertyDef(label = "操作人")
    private String czr;
    @Column(name = "bz", length = 40)
    @PropertyDef(label = "备注")
    private String bz;
    @Column(name = "zhgxsj")
    @PropertyDef(label = "更新时间")
    private Date zhgxsj;
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/DicSysConf.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
package com.fzzy.igds.dzhwk.domain;
import com.bstek.dorado.annotation.PropertyDef;
import com.fzzy.igds.dzhwk.constant.Constant;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * @author: andy.jia
 * @description:
 * @version:
 * @data:2019å¹´12月17日
 */
@Entity
@Table(name = "d_dic_sys_conf")
@Data
public class DicSysConf implements Serializable {
    @Id
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "GRAIN_AUTO_", length = 1)
    @PropertyDef(label = "粮情自动优化功能")
    private String grainAuto = Constant.YN_N;
    @Column(name = "GRAIN_ERROR_AUTO_", length = 1)
    @PropertyDef(label = "粮情自动处理")
    private String grainErrorAuto = Constant.YN_N;
    @Column(name = "GRAIN_MAX_AUTO_", length = 1)
    @PropertyDef(label = "粮情高温优化")
    private String grainMaxAuto = Constant.YN_N;
    @Column(name = "GRAIN_MORE_TAG_", length = 1)
    @PropertyDef(label = "一分机多仓", description = "默认是否")
    private String grainMoreTag = Constant.YN_N;
    @Column(name = "WARN_TO_WX_TAG_", length = 1)
    @PropertyDef(label = "微信推送警告启用", description = "默认是")
    private String warnToWxTag = Constant.YN_Y;
    @Column(name = "INTERVAL_TIME_")
    @PropertyDef(label = "执行间隔时间", description = "针对无线模式情况下,单位:秒")
    private int intervalTime = 5;
    @Column(name = "INTERVAL_GAS_")
    @PropertyDef(label = "气体通道检测间隔", description = "单位:秒")
    private int intervalGas = 15;
    @Column(name = "INTERVAL_PEST_")
    @PropertyDef(label = "虫害通道检测间隔", description = "单位:秒")
    private int intervalPest = 15;
    @Column(name = "QUANTITY_PATH_", length = 50)
    @PropertyDef(label = "数量在线检测地址", description = "针对的是有自有服务的情况")
    private String quantityPath;
    @Column(name = "THREE_PATH_", length = 50)
    @PropertyDef(label = "三维可视化路径")
    private String threePath;
    @Column(name = "HWK_API_PATH_", length = 100)
    @PropertyDef(label = "电子货位卡接口路径")
    private String hwkApiPath;
    @Column(name = "SYS_NAME_", length = 20)
    @PropertyDef(label = "系统名称", description = "系统登录后左上系统名称")
    private String sysName = "智慧粮库管理系统";
    @Column(name = "SCREE_NAME_", length = 30)
    @PropertyDef(label = "大屏名称")
    private String screeName = "智慧粮库管理系统综合大屏";
    @Column(name = "GRAIN_ADD_POINT_", length = 1)
    @PropertyDef(label = "是否保存粮情采集点信息", description = "默认不保存")
    private String grainAddPoint = Constant.YN_N;
    @Column(name = "SUPPORT_", length = 50)
    @PropertyDef(label = "技术支持")
    private String support = "风正致远信息技术股份有限公司";
    @Column(name = "EMAIL_", length = 30)
    @PropertyDef(label = "公司邮箱")
    private String email = "business@fzzygf.com";
    @Column(name = "PHONE_", length = 20)
    @PropertyDef(label = "公司电话")
    private String phone = "400-627-1116";
    @Column(name = "WEB_SITE_", length = 30)
    @PropertyDef(label = "公司网站")
    private String website = "http://www.fzzygf.com";
    @Column(name = "ADDRESS_", length = 100)
    @PropertyDef(label = "公司地址")
    private String address = "河南省郑州市高新区国家大学科技园1号楼";
    public DicSysConf() {
        super();
    }
    public DicSysConf(String companyId) {
        super();
        this.companyId = companyId;
    }
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/DrugLog.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,313 @@
package com.fzzy.igds.dzhwk.domain;
import com.bstek.dorado.annotation.PropertyDef;
import com.fasterxml.jackson.annotation.JsonFormat;
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;
/**
 * çŽ¯æµç†è’¸-熏蒸作业记录
 *
 * @date 2023å¹´7月26日
 */
@Data
@Entity
@Table(name = "D_DRUG_LOG")
public class DrugLog implements Serializable {
    public static String SORT_PROP = "id";
    @Id
    @Column(name = "ID_", length = 40)
    @PropertyDef(label = "熏蒸作业单号", description = "作业日期 (yyyyMMdd) +3 ä½é¡ºåºå·")
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @Column(name = "DEPOT_ID_", length = 50)
    @PropertyDef(label = "仓库")
    private String depotId;
    @Column(name = "START_")
    @PropertyDef(label = "开始时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date start;
    @Column(name = "END_")
    @PropertyDef(label = "截至时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date end;
    @Column(name = "PEST_BATCH_ID_", length = 50)
    @PropertyDef(label = "虫害检测单号")
    private String pestBatchId;
    @Column(name = "NUM_")
    @PropertyDef(label = "第几次熏蒸")
    private Integer num = 0;
    @Column(name = "MODE_", length = 1)
    @PropertyDef(label = "熏蒸方式", description = "0:粮面潮解1:布袋埋藏2:探管3:综合施药")
    private String mode;
    @Column(name = "RECIR_MODE_", length = 1)
    @PropertyDef(label = "环流熏蒸方式", description = "0:固定式布置形式1:移动式布置形式")
    private String recirMode;
    @Column(name = "hlxzynhljsjh", length = 1)
    @PropertyDef(label = "环流熏蒸与内环流技术结合", description = "0:分别使用_固定式1:分别使用_移动式2:二合一应用_单向控制3:二合一应用_双向控制")
    private String hlxzynhljsjh;
    @PropertyDef(label = "熏蒸方案制定")
    @Column(name = "xzfazd", length = 128)
    private String xzfazd;
    @PropertyDef(label = "熏蒸方案起草人")
    @Column(name = "xzfaqcr", length = 64)
    private String xzfaqcr;
    @PropertyDef(label = "熏蒸方案批准人")
    @Column(name = "xzfapzr", length = 64)
    private String xzfapzr;
    @PropertyDef(label = "熏蒸方案报备情况")
    @Column(name = "xzfabbqk", length = 64)
    private String xzfabbqk;
    @PropertyDef(label = "施药人员资质情况")
    @Column(name = "syryzzqk", length = 64)
    private String syryzzqk;
    @PropertyDef(label = "施药资质审核")
    @Column(name = "syzzsh", length = 64)
    private String syzzsh;
    @Column(name = "DRUG_NAME_", length = 64)
    @PropertyDef(label = "药剂名称")
    private String drugName;
    @PropertyDef(label = "剂型")
    @Column(name = "jx", length = 64)
    private String jx;
    @Column(name = "CONCENTRATION_", length = 50)
    @PropertyDef(label = "药剂浓度", description = "%")
    private Double concentration = 0.0;
    @Column(name = "GRAIN_DOSE_")
    @PropertyDef(label = "粮堆单位用药量", description = "g/m³")
    private Double grainDose = 0.0;
    @Column(name = "SPACE_DOSE_")
    @PropertyDef(label = "空间单位用药量", description = "g/m³")
    private Double spaceDose = 0.0;
    @Column(name = "DOSE_")
    @PropertyDef(label = "总用药量", description = "kg")
    private Double dose = 0.0;
    @PropertyDef(label = "施药方法", description = "0:潮解法1:仓外发生器2:钢瓶气")
    @Column(name = "syff", length = 1)
    private String syff;
    @PropertyDef(label = "辅助施药措施")
    @Column(name = "fzsycs", length = 128)
    private String fzsycs;
    @PropertyDef(label = "空气呼吸器及安全检查情况")
    @Column(name = "kqhqjaqjcqk", length = 128)
    private String kqhqjaqjcqk;
    @PropertyDef(label = "磷化氢检测装置调试情况")
    @Column(name = "lhqjczztsqk", length = 128)
    private String lhqjczztsqk;
    @PropertyDef(label = "氧气深度检测装置调试情况")
    @Column(name = "yqsdjczztsqk", length = 128)
    private String yqsdjczztsqk;
    @PropertyDef(label = "磷化氢报警仪安全检查")
    @Column(name = "lhqbjyaqjc", length = 128)
    private String lhqbjyaqjc;
    @PropertyDef(label = "氧气报警仪安全检查")
    @Column(name = "yqbjyaqjc", length = 128)
    private String yqbjyaqjc;
    @PropertyDef(label = "补药前仓内磷化氢浓度")
    @Column(name = "byqcnlhqnd", precision = 20, scale = 3)
    private double byqcnlhqnd;
    @PropertyDef(label = "磷化氢浓度单位", description = "1:g/m³(默认);2:ppm;3:ml/m³;4:%VOL")
    @Column(name = "nlhqnddw", length = 1)
    private String nlhqnddw = "1";
    @PropertyDef(label = "目标浓度", description = "单位:g/m³")
    @Column(name = "mbnd", precision = 20, scale = 3)
    private double mbnd;
    @PropertyDef(label = "计算补药量", description = "单位:g")
    @Column(name = "jsbyl", precision = 20, scale = 3)
    private double jsbyl;
    @PropertyDef(label = "实际补药量", description = "单位:g")
    @Column(name = "sjbyl", precision = 20, scale = 3)
    private double sjbyl;
    @PropertyDef(label = "补药方法")
    @Column(name = "byff", length = 128)
    private String byff;
    @PropertyDef(label = "作业人数")
    @Column(name = "zyrs")
    private Integer zyrs;
    @PropertyDef(label = "补药作业批准人")
    @Column(name = "byzypzr", length = 64)
    private String byzypzr;
    @PropertyDef(label = "现场指挥人")
    @Column(name = "xczhr", length = 64)
    private String xczhr;
    @PropertyDef(label = "峰值浓度", description = "单位:g/m³")
    @Column(name = "fznd", precision = 20, scale = 3)
    private double fznd;
    @PropertyDef(label = "目标浓度维持天数", description = "单位:天")
    @Column(name = "mbndwcts")
    private Integer mbndwcts;
    @PropertyDef(label = "漏气位置监测")
    @Column(name = "lswzjc", length = 128)
    private String lswzjc;
    @PropertyDef(label = "漏气部位采取的补救措施")
    @Column(name = "lqbwcqdbjcs", length = 128)
    private String lqbwcqdbjcs;
    @PropertyDef(label = "密闭时间", description = "单位:天")
    @Column(name = "mbsj")
    private Integer mbsj;
    @PropertyDef(label = "CT值")
    @Column(name = "ctz", precision = 20, scale = 3)
    private double ctz;
    @PropertyDef(label = "散气前磷化氢浓度", description = "单位:g/m³")
    @Column(name = "sqqlhqnd", precision = 20, scale = 3)
    private double sqqlhqnd;
    @Column(name = "VENTILATE_TIME_")
    @PropertyDef(label = "散气时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ventilateTime;
    @Column(name = "VENTILATE_METHOD_", length = 100)
    @PropertyDef(label = "散气方法")
    private String ventilateMethod;
    @PropertyDef(label = "散气批准人")
    @Column(name = "sqpzr", length = 64)
    private String sqpzr;
    @PropertyDef(label = "散气持续天数", description = "单位:天")
    @Column(name = "sqcsts")
    private Integer sqcsts;
    @Column(name = "AFTER_PH3_")
    @PropertyDef(label = "散气后磷化氢浓度", description = "单位:g/m³")
    private Double afterPh3;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @PropertyDef(label = "残渣收集作业时间")
    @Column(name = "czsjzysj")
    private Date czsjzysj;
    @PropertyDef(label = "残渣收集作业人数")
    @Column(name = "czsjzyrs")
    private Integer czsjzyrs;
    @PropertyDef(label = "残渣收集方法")
    @Column(name = "czsjff", length = 128)
    private String czsjff;
    @PropertyDef(label = "残渣收集作业批准人")
    @Column(name = "czsjzypzr", length = 64)
    private String czsjzypzr;
    @PropertyDef(label = "残渣处理措施")
    @Column(name = "czclcs", length = 128)
    private String czclcs;
    @PropertyDef(label = "残渣处理作业人数")
    @Column(name = "czclzyrs")
    private Integer czclzyrs;
    @PropertyDef(label = "残渣处理批准人")
    @Column(name = "czclpzr", length = 64)
    private String czclpzr;
    @PropertyDef(label = "熏蒸后活虫检出情况")
    @Column(name = "xzhhcjcqk", length = 128)
    private String xzhhcjcqk;
    @PropertyDef(label = "熏蒸后虫口密度", description = "单位:头/kg")
    @Column(name = "xzhckmd")
    private Integer xzhckmd;
    @PropertyDef(label = "培养15天后活虫数", description = "单位:头/kg")
    @Column(name = "pyswthhcs")
    private Integer pyswthhcs;
    @PropertyDef(label = "培养45天后活虫数", description = "单位:头/kg")
    @Column(name = "pysswthhcs")
    private Integer pysswthhcs;
    /**
     * 0:良好
     * 1:一般
     * 2:不好
     */
    @Column(name = "EVALUATE_", length = 1)
    @PropertyDef(label = "熏蒸评价", description = "0:良好 1:一般 2:不好")
    private String evaluate;
    @PropertyDef(label = "熏蒸负责人")
    @Column(name = "xzfzr", length = 64)
    private String xzfzr;
    @PropertyDef(label = "熏蒸作业人员")
    @Column(name = "xzzyry", length = 128)
    private String xzzyry;
    @Column(name = "USER_", length = 30)
    @PropertyDef(label = "操作人")
    private String user;
    @PropertyDef(label = "更新人")
    @Column(name = "UPDATE_USER_", length = 30)
    private String updateUser;
    @PropertyDef(label = "更新时间")
    @Column(name = "UPDATE_TIME_")
    private Date updateTime;
    @Column(name = "REMARKS_", length = 500)
    @PropertyDef(label = "备注说明")
    private String remarks;
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/InoutDepotRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.fzzy.igds.dzhwk.domain;
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;
/**
 * è¿›å‡ºä»“记录实体
 */
@Data
@Entity
@Table(name = "H_INOUT_DEPOT_RECORD")
public class InoutDepotRecord implements Serializable {
    @Id
    @Column(name = "jccdh", length = 40)
    @PropertyDef(label = "单号" )
    private String jccdh;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @Column(name = "ajdm", length = 10)
    @PropertyDef(label = "廒间代码" )
    private String ajdm;
    @Column(name = "jcry", length = 10)
    @PropertyDef(label = "进出仓人员" )
    private String jcry;
    @Column(name = "jcsj", length = 10)
    @PropertyDef(label = "进仓时间" )
    private Date jcsj;
    @Column(name = "ccsj", length = 10)
    @PropertyDef(label = "出仓时间" )
    private Date ccsj;
    @Column(name = "jcmd", length = 10)
    @PropertyDef(label = "入仓目的" )
    private String jcmd;
    @Column(name = "jcsm", length = 10)
    @PropertyDef(label = "入仓说明" )
    private String jcsm;
    @Column(name = "zhgxsj", length = 10)
    @PropertyDef(label = "更新时间" )
    private Date zhgxsj;
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/MAreationData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,267 @@
package com.fzzy.igds.dzhwk.domain;
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 vince
 *
 */
@Data
@Entity
@Table(name = "D_AREATION_DATA")
public class MAreationData implements Serializable {
    public static String SORT_PROP = "id";
    @Id
    @Column(name = "ID_", length = 41)
    @PropertyDef(label = "主键")
    private String id;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @Column(name = "DEPOT_ID_", length = 50)
    @PropertyDef(label = "操作仓库")
    private String depotId;
    @Column(name = "OBJECTIVE_", length = 100)
    @PropertyDef(label = "通风目的")
    private String objective;
    @PropertyDef(label = "粮堆孔隙度")
    @Column(name = "ldkxd", precision = 10, scale = 3)
    private Double ldkxd;
    /**
     * 1:自然空气通风
     * 2:加热空气通风
     * 3:冷却空气通风
     * 4:内循环控温
     * 5:空调控温通风
     * 6:维持通风
     */
    @Column(name = "TYPE_", length = 10)
    @PropertyDef(label = "通风类型")
    private String type;
    /**
     * 1:地槽
     * 2:地上笼
     * 3:移动式
     * 4:箱式
     * 5:径向
     * 6:夹底
     * 9:其他
     */
    @Column(name = "WIND_NET_TYPE_", length = 10)
    @PropertyDef(label = "风网类型")
    private String windNetType;
    @PropertyDef(label = "风网设置方式")
    @Column(name = "fwszfs", length = 64)
    private String fwszfs;
    @PropertyDef(label = "主风道截面积")
    @Column(name = "zfdjmj", precision = 10, scale = 3)
    private Double zfdjmj;
    @PropertyDef(label = "支风道截面积")
    @Column(name = "zhfdjmj", precision = 10, scale = 3)
    private Double zhfdjmj;
    @PropertyDef(label = "支风道总长度")
    @Column(name = "zfdzcd", precision = 20, scale = 3)
    private Double zfdzcd;
    @PropertyDef(label = "风网开孔率")
    @Column(name = "fwkkl", precision = 10, scale = 3)
    private Double fwkkl;
    @PropertyDef(label = "空气途径比")
    @Column(name = "kqtjb", precision = 10, scale = 3)
    private Double kqtjb;
    @PropertyDef(label = "通风口设置个数")
    @Column(name = "tfkszgs")
    private Integer tfkszgs;
    @PropertyDef(label = "通风机型号")
    @Column(name = "tfjxh", length = 128)
    private String tfjxh;
    @PropertyDef(label = "通风机台数")
    @Column(name = "tfjts")
    private Integer tfjts;
    @PropertyDef(label = "单台风机额定全压")
    @Column(name = "dtfjedqy", precision = 10, scale = 3)
    private Double dtfjedqy;
    @PropertyDef(label = "单台风机额定风量")
    @Column(name = "dtfjedfl", precision = 10, scale = 3)
    private Double dtfjedfl;
    @PropertyDef(label = "单台风机额定功率")
    @Column(name = "dtfjedgl", precision = 10, scale = 3)
    private Double dtfjedgl;
    /**
     * 1:压入式通风
     * 2:吸出式通风
     * 3:压入与吸出相结合式通风
     * 4:环流通风
     * 9:其它
     */
    @Column(name = "AIR_SUPPLY_MODE_", length = 10)
    @PropertyDef(label = "送风方式")
    private String airSupplyMode;
    @PropertyDef(label = "单台风机实测风量")
    @Column(name = "dtfjscfl", precision = 10, scale = 3)
    private Double dtfjscfl;
    @PropertyDef(label = "单台风机轴功率")
    @Column(name = "dtfjzgl", precision = 10, scale = 3)
    private Double dtfjzgl;
    @PropertyDef(label = "总风量")
    @Column(name = "zfl", precision = 10, scale = 3)
    private Double zfl;
    @PropertyDef(label = "单位通风量")
    @Column(name = "dwtfl", precision = 10, scale = 3)
    private Double dwtfl;
    @PropertyDef(label = "实测系统阻力")
    @Column(name = "scxtzl", precision = 10, scale = 3)
    private Double scxtzl;
    /**
     * æ€»è€—电量 åƒç“¦
     */
    @Column(name = "TOTAL_ES_")
    @PropertyDef(label = "总耗电量")
    private Double totalEs;
    @PropertyDef(label = "作业时气温")
    @Column(name = "zysqw", precision = 10, scale = 3)
    private double zysqw;
    @PropertyDef(label = "作业时气湿")
    @Column(name = "zysqs", precision = 10, scale = 3)
    private double zysqs;
    @Column(name = "BEFORE_TEMP_AVG_")
    @PropertyDef(label = "作业前平均粮温")
    private Double beforeTempAvg;
    @Column(name = "AFTER_TEMP_AVG_")
    @PropertyDef(label = "作业后平均粮温")
    private Double afterTempAvg;
    @PropertyDef(label = "降温幅度")
    @Column(name = "jwfd", precision = 10, scale = 3)
    private double jwfd;
    @PropertyDef(label = "吨粮降温能耗")
    @Column(name = "dljwnh", precision = 10, scale = 3)
    private double dljwnh;
    @PropertyDef(label = "失水率")
    @Column(name = "ssl_", precision = 10, scale = 3)
    private double ssl;
    @PropertyDef(label = "保水效果评价结果")
    @Column(name = "bsxgpjjg", length = 128)
    private String bsxgpjjg;
    @PropertyDef(label = "通风降温均匀性评价_整仓")
    @Column(name = "tfjwjyxpjzc", length = 128)
    private String tfjwjyxpjzc;
    @PropertyDef(label = "通风降温均匀性评价_上层")
    @Column(name = "tfjwjyxpjsc", length = 128)
    private String tfjwjyxpjsc;
    @PropertyDef(label = "通风降温均匀性评价_中(间)层")
    @Column(name = "tfjwjyxpjzjc", length = 128)
    private String tfjwjyxpjzjc;
    @PropertyDef(label = "通风降温均匀性评价_下层")
    @Column(name = "tfjwjyxpjxc", length = 128)
    private String tfjwjyxpjxc;
    @Column(name = "BEFORE_PER_WET_AVG_")
    @PropertyDef(label = "作业前平均水分")
    private Double beforPerWetAvg;
    @Column(name = "AFTER_PER_WET_AVG_")
    @PropertyDef(label = "作业后平均水分")
    private Double afterPerWetAvg;
    @PropertyDef(label = "降水幅度")
    @Column(name = "jsfd", precision = 10, scale = 3)
    private Double jsfd;
    @PropertyDef(label = "吨粮降水能耗")
    @Column(name = "dljsnh", precision = 10, scale = 3)
    private Double dljsnh;
    @PropertyDef(label = "通风降水均匀性分析_整仓")
    @Column(name = "tfjsjyxfxzc", length = 128)
    private String tfjsjyxfxzc;
    @PropertyDef(label = "通风降水均匀性分析_上层")
    @Column(name = "tfjsjyxfxsc", length = 128)
    private String tfjsjyxfxsc;
    @PropertyDef(label = "通风降水均匀性分析_中(间)层")
    @Column(name = "tfjsjyxfxzjc", length = 128)
    private String tfjsjyxfxzjc;
    @PropertyDef(label = "通风降水均匀性分析_下层")
    @Column(name = "tfjsjyxfxxc", length = 128)
    private String tfjsjyxfxxc;
    @Column(name = "CHARGE_USER_", length = 30)
    @PropertyDef(label = "负责人", description = "通风作业负责人")
    private String chargeUser;
    @Column(name = "OPERATORS_", length = 30)
    @PropertyDef(label = "作业人员", description = "通风作业人")
    private String operators;
    @Column(name = "START_TIME_")
    @PropertyDef(label = "通风作业时间")
    private Date startTime;
    @Column(name = "LONG_TIME_")
    @PropertyDef(label = "通风时长,单位小时")
    private Double longTime;
    @Column(name = "UPDATE_TIME_")
    @PropertyDef(label = "修改时间", description = "最后修改时间")
    private Date updateTime;
    @Column(name = "UPDATE_USER_", length = 30)
    @PropertyDef(label = "修改人", description = "最后修改人")
    private String updateUser;
    @Column(name = "REMARK_", length = 200)
    @PropertyDef(label = "备注信息")
    private String remark;
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/domain/N2Filling.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,199 @@
package com.fzzy.igds.dzhwk.domain;
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;
/**
 * æŽ¥å£è¡¨-充氮气调作业
 *
 */
@Data
@Entity
@Table(name = "H_N2_FILLING")
public class N2Filling implements Serializable {
    @Id
    @Column(name = "zydh", length = 40)
    @PropertyDef(label = "作业单号")
    private String zydh;
    @Column(name = "COMPANY_ID_", length = 10)
    @PropertyDef(label = "组织编码")
    private String companyId;
    @Column(name = "DEPT_ID_", length = 40)
    @PropertyDef(label = "所属分库")
    private String deptId;
    @Column(name = "ajdm", length = 40)
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @Column(name = "kssj")
    @PropertyDef(label = "开始时间")
    private Date kssj;
    @Column(name = "jssj")
    @PropertyDef(label = "结束时间")
    private Date jssj;
    @Column(name = "lspzdm", length = 40)
    @PropertyDef(label = "粮食品种")
    private String lspzdm;
    @Column(name = "lssl", length = 40)
    @PropertyDef(label = "粮食数量")
    private Double lssl;
    @Column(name = "qmxsfdb", length = 40)
    @PropertyDef(label = "仓房气密性是否达标")
    private String qmxsfdb;
    @Column(name = "qtmd", length = 40)
    @PropertyDef(label = "气调目的")
    private String qtmd;
    @Column(name = "mbfs", length = 40)
    @PropertyDef(label = "粮堆密闭方式")
    private String mbfs;
    @Column(name = "sddqnd")
    @PropertyDef(label = "设定氮气浓度")
    private Double sddqnd;
    @Column(name = "cqfs", length = 40)
    @PropertyDef(label = "充气方式")
    private String cqfs;
    @Column(name = "ljqtsj")
    @PropertyDef(label = "累计气调时间")
    private Double ljqtsj;
    @Column(name = "wwzgz")
    @PropertyDef(label = "气调期间大气温度最高值")
    private Double wwzgz;
    @Column(name = "wwzdz")
    @PropertyDef(label = "气调期间大气温度最低值")
    private Double wwzdz;
    @Column(name = "wwpjz")
    @PropertyDef(label = "气调期间大气温度平均值")
    private Double wwpjz;
    @Column(name = "cnwwzgz")
    @PropertyDef(label = "气调期间仓内温度最高值")
    private Double cnwwzgz;
    @Column(name = "cnwwzdz")
    @PropertyDef(label = "气调期间仓内温度最低值")
    private Double cnwwzdz;
    @Column(name = "cnwwpjz")
    @PropertyDef(label = "气调期间仓内温度平均值")
    private Double cnwwpjz;
    @Column(name = "cnwszgz")
    @PropertyDef(label = "气调期间仓内湿度最高值")
    private Double cnwszgz;
    @Column(name = "cnwszdz")
    @PropertyDef(label = "气调期间仓内湿度最低值")
    private Double cnwszdz;
    @Column(name = "cnwspjz")
    @PropertyDef(label = "气调期间仓内湿度平均值")
    private Double cnwspjz;
    @Column(name = "ldndzgz")
    @PropertyDef(label = "气调期间粮堆氮气浓度最高值")
    private Double ldndzgz;
    @Column(name = "ldndzdz")
    @PropertyDef(label = "气调期间粮堆氮气浓度最低值")
    private Double ldndzdz;
    @Column(name = "ldndpjz")
    @PropertyDef(label = "气调期间粮堆氮气浓度平均值")
    private Double ldndpjz;
    @Column(name = "qtqlwzgz")
    @PropertyDef(label = "气调前粮温最高值")
    private Double qtqlwzgz;
    @Column(name = "qtqlwzdz")
    @PropertyDef(label = "气调前粮温最低值")
    private Double qtqlwzdz;
    @Column(name = "qtqlwpjz")
    @PropertyDef(label = "气调前粮温平均")
    private Double qtqlwpjz;
    @Column(name = "qthlwzgz")
    @PropertyDef(label = "气调后粮温最高值")
    private Double qthlwzgz;
    @Column(name = "qthlwzdz")
    @PropertyDef(label = "气调后粮温最低值")
    private Double qthlwzdz;
    @Column(name = "qthlwpjz")
    @PropertyDef(label = "气调后粮温平均")
    private Double qthlwpjz;
    @Column(name = "qtqsfzgz")
    @PropertyDef(label = "气调前粮水分最高值")
    private Double qtqsfzgz;
    @Column(name = "qtqsfzdz")
    @PropertyDef(label = "气调前粮水分最低值")
    private Double qtqsfzdz;
    @Column(name = "qtqsfpjz")
    @PropertyDef(label = "气调前粮水分平均")
    private Double qtqsfpjz;
    @Column(name = "qthsfzgz")
    @PropertyDef(label = "气调后粮水分最高值")
    private Double qthsfzgz;
    @Column(name = "qthsfzdz")
    @PropertyDef(label = "气调后粮水分最低值")
    private Double qthsfzdz;
    @Column(name = "qthsfpjz")
    @PropertyDef(label = "气调后粮水分平均")
    private Double qthsfpjz;
    @Column(name = "qtqchqk", length = 40)
    @PropertyDef(label = "气调前虫害情况")
    private String qtqchqk;
    @Column(name = "qthchqk", length = 40)
    @PropertyDef(label = "气调后虫害情况")
    private String qthchqk;
    @Column(name = "ycms", length = 40)
    @PropertyDef(label = "气调间异常情况描述")
    private String ycms;
    @Column(name = "czr", length = 40)
    @PropertyDef(label = "操作人")
    private String czr;
    @Column(name = "bz", length = 40)
    @PropertyDef(label = "备注")
    private String bz;
    @Column(name = "zhgxsj")
    @PropertyDef(label = "更新时间")
    private Date zhgxsj;
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/AreationDataRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.MAreationData;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
 * @Description
 * @Author CZT
 * @Date 2024/12/21 10:59
 */
@Service
public interface AreationDataRepository extends JpaRepository<MAreationData, String> , JpaSpecificationExecutor<MAreationData> {
    /**
     * èŽ·å–ä¿¡æ¯
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from MAreationData where startTime >=:start and startTime <:end order by id DESC")
    List<MAreationData> getDataByTime(@Param("start") Date start, @Param("end") Date end);
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/ColdValleyRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.ColdValley;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Service;
/**
 * @Description
 * @Author CZT
 * @Date 2025/6/05 14:46
 */
@Service
public interface ColdValleyRepository extends JpaRepository<ColdValley, String>, JpaSpecificationExecutor<ColdValley> {
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/DrugLogRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.DrugLog;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
 * @Description
 * @Author CZT
 * @Date 2024/12/25 19:39
 */
@Service
public interface DrugLogRepository extends JpaRepository<DrugLog, String> , JpaSpecificationExecutor<DrugLog> {
    /**
     * èŽ·å–ä¿¡æ¯
     *
     * @param start
     * @param end
     * @return
     */
    @Query("from DrugLog where updateTime >=:start and updateTime <:end order by id DESC")
    List<DrugLog> getDataByTime(@Param("start") Date start, @Param("end") Date end);
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/GasRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.Gas;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Service;
/**
 * @Description
 * @Author CZT
 * @Date 2024/12/21 10:36
 */
@Service
public interface GasRepository extends JpaRepository<Gas, String>, JpaSpecificationExecutor<Gas> {
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/GrainRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.Grain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @Description
 * @Author CZT
 * @Date 2024/12/21 10:36
 */
@Service
public interface GrainRepository extends JpaRepository<Grain, String>, JpaSpecificationExecutor<Grain> {
    /**
     * æ ¹æ®ç»„织编码和库区编码获取信息
     *
     * @param companyId
     * @param depotId
     * @return
     */
    @Query("from Grain where companyId =:companyId and depotId =:depotId order by batchId DESC")
    List<Grain> listGrain(@Param("companyId") String companyId, @Param("depotId") String depotId);
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/InoutDepotRecordRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.InoutDepotRecord;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Service;
/**
 * @Description
 * @Author CZT
 * @Date 2025/06/05 10:36
 */
@Service
public interface InoutDepotRecordRepository extends JpaRepository<InoutDepotRecord, String>, JpaSpecificationExecutor<InoutDepotRecord> {
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/N2FillingRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.N2Filling;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Service;
/**
 * @Description
 * @Author CZT
 * @Date 2025/6/05 14:46
 */
@Service
public interface N2FillingRepository extends JpaRepository<N2Filling, String>, JpaSpecificationExecutor<N2Filling> {
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/dzhwk/service/repository/QualityManageRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
package com.fzzy.igds.dzhwk.service.repository;
import com.fzzy.igds.dzhwk.domain.MQuality;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @Description
 * @Author CZT
 * @Date 2024/12/02 16:33
 */
@Service
public interface QualityManageRepository extends JpaRepository<MQuality, String>, JpaSpecificationExecutor<MQuality> {
    /**
     * æ ¹æ®ç»„织编码和仓库编码获取信息
     *
     * @param companyId
     * @param depotId
     * @return
     */
    @Query("from MQuality where companyId =:companyId and depotId =:depotId order by time DESC")
    List<MQuality> getDataByDepotId(@Param("companyId") String companyId, @Param("depotId") String depotId);
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/sys/SysConfService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.fzzy.igds.sys;
import com.fzzy.igds.dzhwk.constant.RedisConst;
import com.fzzy.igds.dzhwk.domain.DicSysConf;
import com.fzzy.igds.sys.repository.SysConfRepository;
import com.fzzy.igds.util.ContextUtil;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * @Description ç³»ç»Ÿé…ç½®service层
 * @Author CZT
 * @Date 2024/11/20 19:01
 */
@Slf4j
@Service("sys.sysConfService")
public class SysConfService {
    @Resource
    private SysConfRepository sysConfRepository;
    @Resource
    private RedisCache redisCache;
    /**
     * æ ¹æ®ç»„织编码获取系统参数配置信息
     * @param companyId
     * @return
     */
    public DicSysConf getSysConf(String companyId) {
        if(StringUtils.isEmpty(companyId)){
            companyId = ContextUtil.getCompanyId();
        }
        return sysConfRepository.getSysConf(companyId);
    }
    /**
     * æ›´æ–°ç³»ç»Ÿé…ç½®ä¿¡æ¯
     * @param data
     */
    public void saveSysConf(DicSysConf data) {
        if(StringUtils.isEmpty(data.getCompanyId())){
            data.setCompanyId(ContextUtil.getCompanyId());
        }
        sysConfRepository.save(data);
    }
    /**
     * åˆ·æ–°ç³»ç»Ÿé…ç½®ç¼“å­˜
     * @param companyId
     */
    public void flushCacheSysConf(String companyId) {
        if(StringUtils.isEmpty(companyId)){
            companyId = ContextUtil.getCompanyId();
        }
        DicSysConf sysConf = sysConfRepository.getSysConf(companyId);
        this.setCacheSysConf(companyId, sysConf);
    }
    /**
     * è®¾ç½®ç³»ç»Ÿé…ç½®ç¼“å­˜
     * @param companyId
     * @param data
     */
    public void setCacheSysConf(String companyId, DicSysConf data) {
        String key = RedisConst.buildKey(companyId, RedisConst.KEY_SYS_CONF);
        redisCache.setCacheObject(key, data);
    }
    /**
     * èŽ·å–ç³»ç»Ÿé…ç½®ç¼“å­˜
     * @param companyId
     * @return
     */
    public DicSysConf getCacheSysConf(String companyId) {
        String key = RedisConst.buildKey(companyId, RedisConst.KEY_SYS_CONF);
        DicSysConf data = (DicSysConf) redisCache.getCacheObject(key);
        if (null == data) {
            log.error("没有获取到当前组织={}的系统配置系统,取默认值。", companyId);
            return new DicSysConf(companyId);
        }
        return data;
    }
}
igds-dzhwk-core/src/main/java/com/fzzy/igds/sys/repository/SysConfRepository.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,25 @@
package com.fzzy.igds.sys.repository;
import com.fzzy.igds.dzhwk.domain.DicSysConf;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Service;
/**
 * @Description SysConf JPA持久层
 * @Author CZT
 * @Date 2024/11/19 18:36
 */
@Service
public interface SysConfRepository extends JpaRepository<DicSysConf, String> {
    /**
     * æ ¹æ®ç»„织编码获取系统配置信息
     * @param companyId
     * @return
     */
    @Query("from DicSysConf where companyId =:companyId ")
    DicSysConf getSysConf(@Param("companyId") String companyId);
}
igds-dzhwk-inte/pom.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.fzzy</groupId>
    <artifactId>igds-dzhwk-inte</artifactId>
    <version>${igds.dzhwk.version}</version>
    <parent>
        <artifactId>igds-dzhwk-parent</artifactId>
        <groupId>com.fzzy</groupId>
        <version>6.0.0</version>
        <relativePath>../igds-dzhwk-parent/pom.xml</relativePath>
    </parent>
    <description>
        æŽ¥å£æ¨¡å—
    </description>
    <dependencies>
        <dependency>
            <groupId>com.fzzy</groupId>
            <artifactId>igds-dzhwk-core</artifactId>
            <version>${igds.dzhwk.version}</version>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
</project>
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/ApiV1Manager.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package com.fzzy.igds.dzhwk.v1;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.Map;
/**
 * @Description è§£æžæ•°æ®æŽ¥å£åˆ†å‘
 * @Author CZT
 * @Date 2025/6/04 16:10
 */
@Component
public class ApiV1Manager implements ApplicationContextAware {
    private static Map<String, ApiV1Service> serviceMap;
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        Map<String, ApiV1Service> map = applicationContext
                .getBeansOfType(ApiV1Service.class);
        serviceMap = new HashMap<>();
        for (String key : map.keySet()) {
            serviceMap.put(map.get(key).getInterfaceId(), map.get(key));
        }
    }
    /**
     * ä¸šåŠ¡æ‰§è¡Œå…¥å£
     * @param
     * @return
     * @throws Exception
     */
    @Async
    public void analysis(String interfaceId, String dataStr, ApiV1ReqDto reqDto){
        ApiV1Service service = serviceMap.get(interfaceId);
        if(null == service){
            return;
        }
        service.analysis(dataStr, reqDto);
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/ApiV1Server.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
package com.fzzy.igds.dzhwk.v1;
import com.alibaba.fastjson.JSON;
import com.fzzy.igds.dzhwk.domain.DicSysConf;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1RespDto;
import com.fzzy.igds.dzhwk.v1.util.ApiV1Utils;
import com.fzzy.igds.sys.SysConfService;
import com.fzzy.igds.util.ContextUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.http.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Date;
/**
 * @Description é­”墙数据接口服务
 * @Author CZT
 * @Date 2025/6/04 16:10
 */
@Slf4j
@Component
public class ApiV1Server {
    @Resource
    private SysConfService confService;
    @Resource
    private ApiV1Manager apiManager;
    /**
     * æ‹‰å–数据
     * @param interfaceId æŽ¥å£ç¼–码
     * @param startTime   èµ·å§‹æ—¶é—´
     * @param endTime     æˆªæ­¢æ—¶é—´
     * @return
     */
    public String pullData(String interfaceId, Date startTime, Date endTime) {
        if (StringUtils.isEmpty(interfaceId)) {
            log.error("接口编码为空,接口编码={}", interfaceId);
            return "接口编码为空!";
        }
        if (null == startTime || null == endTime) {
            log.error("请求时间段为空,startTime={}, endTime={}", startTime, endTime);
            return "请求时间段为空!";
        }
        DicSysConf sysConf = confService.getCacheSysConf(ContextUtil.getDefaultCompanyId());
        if (null == sysConf) {
            log.error("未配置系统配置信息");
            return "未配置系统配置信息!";
        }
        if (StringUtils.isEmpty(sysConf.getHwkApiPath())) {
            log.error("未配置接口请求地址,请求地址={}", sysConf.getHwkApiPath());
            return "未配置接口请求地址!";
        }
        //组装请求数据
        ApiV1ReqDto reqDto = new ApiV1ReqDto();
        reqDto.setInterfaceId(interfaceId);
        reqDto.setDeptId("");
        reqDto.setDeptId("");
        reqDto.setReqDate(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        reqDto.setStartTime(DateFormatUtils.format(startTime, "yyyy-MM-dd HH:mm:ss"));
        reqDto.setEndTime(DateFormatUtils.format(endTime, "yyyy-MM-dd HH:mm:ss"));
        String jsonString = JSON.toJSONString(reqDto);
        //POST请求获取数据
        String result = HttpUtils.sendPost(sysConf.getHwkApiPath(), jsonString);
        log.info("请求接口,返回数据={}", result);
        if(StringUtils.isEmpty(result)){
            log.error("请求接口失败,返回数据={}", result);
            return "请求接口失败!";
        }
        //解析返回数据
        ApiV1RespDto respDto = JSON.parseObject(result, ApiV1RespDto.class);
        if (null == respDto) {
            log.error("请求接口失败,返回数据={}", respDto);
            return "请求接口失败!";
        }
        if(!"200".equals(respDto.getCode())){
            log.error("请求接口失败,返回数据={}", respDto.getMsg());
            return respDto.getMsg();
        }
        //解密报文
        String dataStr = ApiV1Utils.decrypt(respDto.getData(), null);
        log.info("请求接口,返回数据,解密后={}", dataStr);
        if (dataStr == null) {
            log.error("解密后数据为空,解密数据={}", dataStr);
            return "解密后数据为空!";
        }
        try {
            //异步解析数据
            apiManager.analysis(interfaceId, dataStr, reqDto);
            return null;
        } catch (Exception e) {
            log.error("魔墙数据接口服务异常", e);
            return "魔墙数据接口服务异常!";
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/ApiV1Service.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.fzzy.igds.dzhwk.v1;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
/**
 * @Description æ•°æ®æŽ¥å£V1解析分发
 * @Author CZT
 * @Date 2025/6/04 16:10
 */
public interface ApiV1Service {
    /**
     * èŽ·å–æŽ¥å£ç¼–ç 
     * @return
     */
    public String getInterfaceId();
    /**
     * è§£æžæ•°æ®
     * @param dataStr
     */
    public void analysis(String dataStr, ApiV1ReqDto reqDto);
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1001.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * @Description ä»“储单位信息
 * @Author CZT
 * @Date 2025/02/24 09:35
 */
@Data
public class ApiV1Data1001 {
    @PropertyDef(label = "单位代码")
    private String dwdm;
    @PropertyDef(label = "单位名称")
    private String dwmc;
    @PropertyDef(label = "单位类型")
    private String dwlx;
    @PropertyDef(label = "注册日期")
    private String zcrq;
    @PropertyDef(label = "注册资本")
    private Double zczb;
    @PropertyDef(label = "资产总额")
    private Double zcze;
    @PropertyDef(label = "法定代表人")
    private String fddbr;
    @PropertyDef(label = "法人身份证号")
    private String frsfzh;
    @PropertyDef(label = "法人联系方式")
    private String frlxfs;
    @PropertyDef(label = "企业联系人")
    private String qylxr;
    @PropertyDef(label = "办公电话")
    private String bgdh;
    @PropertyDef(label = "注册地址")
    private String zcdz;
    @PropertyDef(label = "电子邮箱")
    private String dzyx;
    @PropertyDef(label = "企业官方网站地址")
    private String qygfwzdz;
    @PropertyDef(label = "传真号码")
    private String czhm;
    @PropertyDef(label = "邮政编码")
    private String yzbm;
    @PropertyDef(label = "行政区划代码")
    private String xzqhdm;
    @PropertyDef(label = "库区数")
    private Integer kqs;
    @PropertyDef(label = "仓房数")
    private Integer cfs;
    @PropertyDef(label = "油罐数")
    private Integer ygs;
    @PropertyDef(label = "经度")
    private Double jd;
    @PropertyDef(label = "纬度")
    private Double wd;
    @PropertyDef(label = "单位状态")
    private String dwzt;
    @PropertyDef(label = "更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1002.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * @Description åº“区信息
 * @Author CZT
 * @Date 2025/02/24 09:35
 */
@Data
public class ApiV1Data1002 {
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @PropertyDef(label = "统一库区编码")
    private String tykqbm;
    @PropertyDef(label = "单位代码")
    private String dwdm;
    @PropertyDef(label = "库区名称")
    private String kqmc;
    @PropertyDef(label = "库区地址")
    private String kqdz;
    @PropertyDef(label = "行政区划代码")
    private String xzqhdm;
    @PropertyDef(label = "库区产权", description = "1: è‡ªæœ‰ 2:租赁 3:共有 4:混合 9:其他")
    private String kqcq;
    @PropertyDef(label = "有效仓容")
    private Double yxcr;
    @PropertyDef(label = "有效罐容")
    private Double yxgr;
    @PropertyDef(label = "占地面积")
    private Double zdmj;
    @PropertyDef(label = "仓房数")
    private Integer cfs;
    @PropertyDef(label = "油罐数")
    private Integer ygs;
    @PropertyDef(label = "库区经度")
    private Double jd;
    @PropertyDef(label = "库区纬度")
    private Double wd;
    @PropertyDef(label = "库区状态", description = "1:正常(默认) 2:退出储备粮承储")
    private String kqzt;
    @PropertyDef(label = "最后更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1003.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * @Description ä»“房信息
 * @Author CZT
 * @Date 2025/02/24 09:35
 */
@Data
public class ApiV1Data1003 {
    @PropertyDef(label = "仓房编码")
    private String cfdm;
    @PropertyDef(label = "仓房名称")
    private String cfmc;
    @PropertyDef(label = "仓房类型代码")
    private String cflxdm;
    @PropertyDef(label = "交付使用日期")
    private String jfsyrq;
    @PropertyDef(label = "地面结构")
    private String dmjg;
    @PropertyDef(label = "墙体结构")
    private String qtjg;
    @PropertyDef(label = "屋顶结构")
    private String fdjg;
    @PropertyDef(label = "屋架结构")
    private String fjjg;
    @PropertyDef(label = "设计储量", description = "单位:吨")
    private Double sjcr;
    @PropertyDef(label = "仓房高度", description = "单位:米")
    private Double cwg;
    @PropertyDef(label = "仓房长度", description = "单位:米")
    private Double cwc;
    @PropertyDef(label = "仓房宽度", description = "单位:米")
    private Double cwk;
    @PropertyDef(label = "保管员")
    private String bgr;
    @PropertyDef(label = "经度")
    private Double jd;
    @PropertyDef(label = "纬度")
    private Double wd;
    @PropertyDef(label = "更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1004.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * @Description å»’间信息
 * @Author CZT
 * @Date 2025/02/24 09:35
 */
@Data
public class ApiV1Data1004 {
    @PropertyDef(label = "廒间代码")
    private String ajdh;
    @PropertyDef(label = "廒间名称")
    private String ajmc;
    @PropertyDef(label = "仓房(或油罐)编码")
    private String cfbh;
    @PropertyDef(label = "廒间长度")
    private double ajcd;
    @PropertyDef(label = "廒间宽度")
    private double ajkd;
    @PropertyDef(label = "廒间高度")
    private double ajgd;
    @PropertyDef(label = "廒间设计仓容")
    private double ajsjcr;
    @PropertyDef(label = "廒间启用日期")
    private String ajqyrq;
    @PropertyDef(label = "廒间状态")
    private String ajzt;
    @PropertyDef(label = "最后更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data1005.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * @Description è´§ä½ä¿¡æ¯
 * @Author CZT
 * @Date 2025/02/24 09:35
 */
@Data
public class ApiV1Data1005 {
    @PropertyDef(label = "货位代码" )
    private String hwdm;
    @PropertyDef(label = "货位名称" )
    private String hwmc;
    @PropertyDef(label = "廒间代码" )
    private String ajdm;
    @PropertyDef(label = "货位启用日期" )
    private String hwqyrq;
    @PropertyDef(label = "货位容量" )
    private Double hwrl;
    @PropertyDef(label = "保管单位" )
    private String bgdw;
    @PropertyDef(label = "保管员" )
    private String bgy;
    @PropertyDef(label = "粮食品种代码")
    private String lspzdm;
    @PropertyDef(label = "粮食性质代码")
    private String lsxzdm;
    @PropertyDef(label = "粮食等级代码")
    private String lsdjdm;
    @PropertyDef(label = "收获年度")
    private String shnd;
    @PropertyDef(label = "国别")
    private String gb;
    @PropertyDef(label = "产地")
    private String cd;
    @PropertyDef(label = "货位(油罐)状态")
    private String hwzt;
    @PropertyDef(label = "入仓时间")
    private String rcsj;
    @PropertyDef(label = "实际数量(公斤)")
    private double sjsl;
    @PropertyDef(label = "最后更新时间" )
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2001.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-粮情
 */
@Data
public class ApiV1Data2001 {
    @PropertyDef(label = "检测单号")
    private String jcdj;
    @PropertyDef(label = "检测时间")
    private String jcsj;
    @PropertyDef(label = "仓库编码")
    private String hwdm;
    @PropertyDef(label = "仓房外温")
    private Double cfww;
    @PropertyDef(label = "仓房外湿")
    private Double cfws;
    @PropertyDef(label = "仓房内温")
    private Double cfnw;
    @PropertyDef(label = "仓房内湿")
    private Double cfns;
    @PropertyDef(label = "粮食最高温")
    private Double lszgw;
    @PropertyDef(label = "粮食最低温")
    private Double lszdw;
    @PropertyDef(label = "粮食平均温")
    private Double lspjw;
    @PropertyDef(label = "粮食温度值 é›†åˆ")
    private String lswdzjh;
    @PropertyDef(label = "天气")
    private String weather;
    @PropertyDef(label = "检测人")
    private String jcr;
    @PropertyDef(label = "备注信息")
    private String remarks;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2002.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-气体
 */
@Data
public class ApiV1Data2002 {
    @PropertyDef(label = "检测单号")
    private String qtndjcdh;
    @PropertyDef(label = "检测时间")
    private String jcsj;
    @PropertyDef(label = "仓库编码")
    private String hwdm;
    @PropertyDef(label = "氧气含量值集合")
    private String yqhlzjh;
    @PropertyDef(label = "二氧化碳含量值集合")
    private String eyhthlzjh;
    @PropertyDef(label = "氧气含量值集合")
    private String lhqndzjh;
    @PropertyDef(label = "氮气含量值集合")
    private String dqndzjh;
    @PropertyDef(label = "作业类型")
    private Integer zylx;
    @PropertyDef(label = "更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2003.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import java.util.Date;
/**
 * æŽ¥å£è¡¨-质检数据表
 */
@Data
public class ApiV1Data2003  {
    @PropertyDef(label = "质检报告单号" )
    private String zjbgdh;
    @PropertyDef(label = "货位代码" )
    private String hwdm;
    @PropertyDef(label = "粮食品种代码" )
    private String lspzdm;
    @PropertyDef(label = "粮食等级代码" )
    private String lsdjdm;
    @PropertyDef(label = "入库日期" )
    private String rkrq;
    @PropertyDef(label = "检验时间" )
    private String jysj;
    @PropertyDef(label = "检验单位" )
    private String jydw;
    @PropertyDef(label = "检验类别" )
    private String jylb;
    @PropertyDef(label = "检验人" )
    private String jyr;
    @PropertyDef(label = "检验依据" )
    private String jyyj;
    @PropertyDef(label = "指标类别" )
    private String zblb;
    @PropertyDef(label = "检验项目" )
    private String jyxm;
    @PropertyDef(label = "检验项目值" )
    private String jyxmz;
    @PropertyDef(label = "指标结果判定" )
    private String zbjgpd;
    @PropertyDef(label = "食品安全指标是否合格" )
    private String spaqzbsfhg;
    @PropertyDef(label = "报告出具时间" )
    private String bgcjsj;
    @PropertyDef(label = "审核人姓名" )
    private String shrxm;
    @PropertyDef(label = "扦样单编号" )
    private String qydbh;
    @PropertyDef(label = "扦样时间" )
    private String qysj;
    @PropertyDef(label = "扦样区域" )
    private String qyqy;
    @PropertyDef(label = "扦样人姓名" )
    private String qyrxm;
    @PropertyDef(label = "监督人姓名" )
    private String jdrxm;
    @PropertyDef(label = "样品编号" )
    private String ypbh;
    @PropertyDef(label = "样品数量" )
    private Double ypsl;
    @PropertyDef(label = "代表数量" )
    private Double dbsl;
    @PropertyDef(label = "样品等级" )
    private String ypdj;
    @PropertyDef(label = "是否正常存储年限" )
    private String sfzcccnx;
    @PropertyDef(label = "备注" )
    private String bz;
    @PropertyDef(label = "最后更新时间" )
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2004.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-进出仓记录
 */
@Data
public class ApiV1Data2004 {
    @PropertyDef(label = "单号" )
    private String jccdh;
    @PropertyDef(label = "廒间代码" )
    private String ajdm;
    @PropertyDef(label = "进出仓人员" )
    private String jcry;
    @PropertyDef(label = "进仓时间" )
    private String jcsj;
    @PropertyDef(label = "出仓时间" )
    private String ccsj;
    @PropertyDef(label = "入仓目的" )
    private String jcmd;
    @PropertyDef(label = "入仓说明" )
    private String jcsm;
    @PropertyDef(label = "更新时间" )
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2005.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-通风作业
 *
 */
@Data
public class ApiV1Data2005 {
    @PropertyDef(label = "通风作业单号" )
    private String tfzydh;
    @PropertyDef(label = "通风日期" )
    private String tfrq;
    @PropertyDef(label = "廒间代码" )
    private String ajdm;
    @PropertyDef(label = "通风目的" )
    private String tfmd;
    @PropertyDef(label = "通风类型" )
    private String tflx;
    @PropertyDef(label = "送风方式" )
    private String sffs;
    @PropertyDef(label = "作业时气温" )
    private Double zysqw;
    @PropertyDef(label = "作业时气湿" )
    private Double zysqs;
    @PropertyDef(label = "通风时长" )
    private Double tfsc;
    @PropertyDef(label = "作业前平均粮温" )
    private Double zyqpjlw;
    @PropertyDef(label = "结束后平均粮温" )
    private Double jshpjlw;
    @PropertyDef(label = "作业前平均水分" )
    private Double zyqpjsf;
    @PropertyDef(label = "结束后平均水分" )
    private Double zyhpjsf;
    @PropertyDef(label = "通风作业负责人" )
    private String tfzyfzr;
    @PropertyDef(label = "通风作业人员" )
    private String tfzyry;
    @PropertyDef(label = "最后更新时间" )
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2006.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,142 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-熏蒸作业
 *
 */
@Data
public class ApiV1Data2006 {
    @PropertyDef(label = "熏蒸作业单号")
    private String xzzydh;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "熏蒸开始时间")
    private String xzkssj;
    @PropertyDef(label = "熏蒸结束时间")
    private String xzjssj;
    @PropertyDef(label = "封仓后熏蒸的次数 ç¬¬å‡ æ¬¡ç†è’¸")
    private Integer djcxz;
    @PropertyDef(label = "常规熏蒸方式")
    private String cgxzfs;
    @PropertyDef(label = "环流熏蒸方式")
    private String hlxzfs;
    @PropertyDef(label = "药剂名称")
    private String yjmc;
    @PropertyDef(label = "剂型")
    private String jx;
    @PropertyDef(label = "浓度")
    private Double nd;
    @PropertyDef(label = "总用药量")
    private Double zyyl;
    @PropertyDef(label = "施药方法")
    private String syff;
    @PropertyDef(label = "辅助施药措施")
    private String fzsycs;
    @PropertyDef(label = "空气呼吸器及安全检查情况")
    private String kqhqjaqjcqk;
    @PropertyDef(label = "磷化氢检测装置调试情况")
    private String lhqjczztsqk;
    @PropertyDef(label = "氧气深度检测装置调试情况")
    private String yqsdjczztsqk;
    @PropertyDef(label = "磷化氢报警仪安全检查")
    private String lhqbjyaqjc;
    @PropertyDef(label = "氧气报警仪安全检查")
    private String yqbjyaqjc;
    @PropertyDef(label = "补药前仓内磷化氢浓度")
    private Double byqcnlhqnd;
    @PropertyDef(label = "磷化氢浓度单位",description = "1:g/m³ (默认)  2:ppm 3:ml/m³ 4:%VOL。")
    private String nlhqnddw;
    @PropertyDef(label = "目标浓度")
    private Double mbnd;
    @PropertyDef(label = "作业人数")
    private Integer zyrs;
    @PropertyDef(label = "现场指挥人")
    private String xczhr;
    @PropertyDef(label = "漏气位置监测")
    private String lswzjc;
    @PropertyDef(label = "漏气部位采取的补救措施")
    private String lqbwcqdbjcs;
    @PropertyDef(label = "密闭时间")
    private Integer mbsj;
    @PropertyDef(label = "散气前磷化氢浓度")
    private Double sqqlhqnd;
    @PropertyDef(label = "散气日期")
    private String sqrq;
    @PropertyDef(label = "散气方法")
    private String sqff;
    @PropertyDef(label = "散气批准人")
    private String sqpzr;
    @PropertyDef(label = "散气持续天数")
    private Integer sqcsts;
    @PropertyDef(label = "散气结束时磷化氢浓度")
    private Double sqjsslhqnd;
    @PropertyDef(label = "残渣收集作业时间")
    private String czsjzysj;
    @PropertyDef(label = "残渣收集作业人数")
    private Integer czsjzyrs;
    @PropertyDef(label = "残渣收集方法")
    private String czsjff;
    @PropertyDef(label = "残渣收集作业批准人")
    private String czsjzypzr;
    @PropertyDef(label = "残渣处理措施")
    private String czclcs;
    @PropertyDef(label = "残渣处理作业人数")
    private Integer czclzyrs;
    @PropertyDef(label = "残渣处理批准人")
    private String czclpzr;
    @PropertyDef(label = "熏蒸效果评价")
    private String xzxgpj;
    @PropertyDef(label = "熏蒸负责人")
    private String xzfzr;
    @PropertyDef(label = "熏蒸作业人员")
    private String xzzyry;
    @PropertyDef(label = "最后更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2007.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-谷冷作业
 *
 */
@Data
public class ApiV1Data2007 {
    @PropertyDef(label = "谷冷作业单号")
    private String zydh;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "通风开始时间")
    private String kssj;
    @PropertyDef(label = "通风结束时间")
    private String jssj;
    @PropertyDef(label = "粮食品种")
    private String lspzdm;
    @PropertyDef(label = "粮食数量")
    private Double lssl;
    @PropertyDef(label = "冷却通风目的")
    private String lqtfmd;
    @PropertyDef(label = "冷却送风温度")
    private Double lqsfwd;
    @PropertyDef(label = "冷却送风湿度")
    private Double lqsfsd;
    @PropertyDef(label = "累计通风时间")
    private Double ljtfsj;
    @PropertyDef(label = "通风期间外温最高值")
    private Double wwzgz;
    @PropertyDef(label = "通风期间外温最低值")
    private Double wwzdz;
    @PropertyDef(label = "通风期间外温平均值")
    private Double wwpjz;
    @PropertyDef(label = "通风期间外湿最高值")
    private Double wszgz;
    @PropertyDef(label = "通风期间外湿最低值")
    private Double wszdz;
    @PropertyDef(label = "通风期间外湿平均值")
    private Double wspjz;
    @PropertyDef(label = "通风前粮温最高值")
    private Double qlwzgz;
    @PropertyDef(label = "通风前粮温最低值")
    private Double qlwzdz;
    @PropertyDef(label = "通风前粮温平均值")
    private Double qlwpjz;
    @PropertyDef(label = "通风后粮温最高值")
    private Double hlwzgz;
    @PropertyDef(label = "通风后粮温最低值")
    private Double hlwzdz;
    @PropertyDef(label = "通风后粮温平均值")
    private Double hlwpjz;
    @PropertyDef(label = "通风前粮湿度最高值")
    private Double qlszgz;
    @PropertyDef(label = "通风前粮湿度最低值")
    private Double qlszdz;
    @PropertyDef(label = "通风前粮湿度平均值")
    private Double qlspjz;
    @PropertyDef(label = "通风后粮湿度最高值")
    private Double hlszgz;
    @PropertyDef(label = "通风后粮湿度最低值")
    private Double hlszdz;
    @PropertyDef(label = "通风后粮湿度平均值")
    private Double hlspjz;
    @PropertyDef(label = "总耗电量")
    private String zhdl;
    @PropertyDef(label = "操作人")
    private String czr;
    @PropertyDef(label = "备注")
    private Integer bz;
    @PropertyDef(label = "更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1Data2008.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,139 @@
package com.fzzy.igds.dzhwk.v1.dto;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
/**
 * æŽ¥å£è¡¨-充氮气调作业
 *
 */
@Data
public class ApiV1Data2008 {
    @PropertyDef(label = "谷冷作业单号")
    private String zydh;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "通风开始时间")
    private String kssj;
    @PropertyDef(label = "通风结束时间")
    private String jssj;
    @PropertyDef(label = "粮食品种")
    private String lspzdm;
    @PropertyDef(label = "粮食数量")
    private String lssl;
    @PropertyDef(label = "仓房气密性是否达标")
    private String qmxsfdb;
    @PropertyDef(label = "气调目的")
    private String qtmd;
    @PropertyDef(label = "粮堆密闭方式")
    private Double mbfs;
    @PropertyDef(label = "设定氮气浓度")
    private Double sddqnd;
    @PropertyDef(label = "充气方式")
    private String cqfs;
    @PropertyDef(label = "累计气调时间")
    private Double ljqtsj;
    @PropertyDef(label = "气调期间大气温度最高值")
    private Double wwzgz;
    @PropertyDef(label = "气调期间大气温度最低值")
    private Double wwzdz;
    @PropertyDef(label = "气调期间大气温度平均值")
    private Double wwpjz;
    @PropertyDef(label = "气调期间仓内温度最高值")
    private Double cnwwzgz;
    @PropertyDef(label = "气调期间仓内温度最低值")
    private Double cnwwzdz;
    @PropertyDef(label = "气调期间仓内温度平均值")
    private Double cnwwpjz;
    @PropertyDef(label = "气调期间仓内湿度最高值")
    private Double cnwszgz;
    @PropertyDef(label = "气调期间仓内湿度最低值")
    private Double cnwszdz;
    @PropertyDef(label = "气调期间仓内湿度平均值")
    private Double cnwspjz;
    @PropertyDef(label = "气调期间粮堆氮气浓度最高值")
    private Double ldndzgz;
    @PropertyDef(label = "气调期间粮堆氮气浓度最低值")
    private Double ldndzdz;
    @PropertyDef(label = "气调期间粮堆氮气浓度平均值")
    private Double ldndpjz;
    @PropertyDef(label = "气调前粮温最高值")
    private Double qtqlwzgz;
    @PropertyDef(label = "气调前粮温最低值")
    private Double qtqlwzdz;
    @PropertyDef(label = "气调前粮温平均")
    private Double qtqlwpjz;
    @PropertyDef(label = "气调后粮温最高值")
    private Double qthlwzgz;
    @PropertyDef(label = "气调后粮温最低值")
    private Double qthlwzdz;
    @PropertyDef(label = "气调后粮温平均")
    private Double qthlwpjz;
    @PropertyDef(label = "气调前粮水分最高值")
    private Double qtqsfzgz;
    @PropertyDef(label = "气调前粮水分最低值")
    private Double qtqsfzdz;
    @PropertyDef(label = "气调前粮水分平均")
    private Double qtqsfpjz;
    @PropertyDef(label = "气调后粮水分最高值")
    private Double qthsfzgz;
    @PropertyDef(label = "气调后粮水分最低值")
    private Double qthsfzdz;
    @PropertyDef(label = "气调后粮水分平均")
    private Double qthsfpjz;
    @PropertyDef(label = "气调前虫害情况")
    private String qtqchqk;
    @PropertyDef(label = "气调后虫害情况")
    private String qthchqk;
    @PropertyDef(label = "气调间异常情况描述")
    private String ycms;
    @PropertyDef(label = "czr")
    private String æ“ä½œäºº;
    @PropertyDef(label = "备注")
    private Integer bz;
    @PropertyDef(label = "更新时间")
    private String zhgxsj;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1ReqDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.fzzy.igds.dzhwk.v1.dto;
import lombok.Data;
import java.io.Serializable;
/**
 * @Description æ•°æ®æŽ¥å£V1-参数
 * @Author CZT
 * @Date 2025/6/04 16:10
 */
@Data
public class ApiV1ReqDto implements Serializable {
    private String interfaceId;
    private String sign;
    private String deptId;
    private String reqDate;
    private String startTime;
    private String endTime;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/dto/ApiV1RespDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
package com.fzzy.igds.dzhwk.v1.dto;
import lombok.Data;
import java.io.Serializable;
/**
 * @Description æ•°æ®æŽ¥å£V1-响应数据
 * @Author CZT
 * @Date 2025/6/04 16:10
 */
@Data
public class ApiV1RespDto implements Serializable {
    /**
     * å“åº”编码
     */
    private String code;
    /**
     * å“åº”信息
     */
    private String msg;
    /**
     * å“åº”æ—¶é—´(yyyy-MM-dd HH:mm:ss)
     */
    private String respDate;
    /**
     * ä¸šåŠ¡æ•°æ®
     */
    private String data;
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1001.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,60 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Company;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data1001;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.fzzy.igds.sys.repository.CompanyRepository;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @Description è§£æžå•位信息
 * @Author CZT
 * @Date 2025/06/04 17:26
 */
@Slf4j
@Service
public class ApiV1ServiceImpl1001 implements ApiV1Service {
    @Autowired
    private CompanyRepository companyRepository;
    @Override
    public String getInterfaceId() {
        return "1001";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData){
        List<ApiV1Data1001> list = JSONObject.parseArray(dataStr, ApiV1Data1001.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到单位信息,不解析---------");
            return;
        }
        try{
            Company company;
            for (ApiV1Data1001 api1001 : list) {
                company = companyRepository.getDataById(configData.getSign());
                if(null == company){
                    company = new Company();
                }
                company.setId(configData.getSign());
                company.setCompanyId(configData.getSign());
                //赋值属性值
                BeanUtils.copyProperties(api1001, company);
                company.setZcrq(DateUtils.parseDate(api1001.getZcrq(), "yyyy-MM-dd"));
                company.setZhgxsj(DateUtils.parseDate(api1001.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                companyRepository.save(company);
            }
        }catch (Exception e){
            log.error("-----解析失败={}---------", e);
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1002.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,59 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Dept;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data1002;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.fzzy.igds.sys.repository.DeptRepository;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžåº“区信息
 * @Author CZT
 * @Date 2025/06/04 17:26
 */
@Slf4j
@Service
public class ApiV1ServiceImpl1002 implements ApiV1Service {
    @Resource
    private DeptRepository deptRepository;
    @Override
    public String getInterfaceId() {
        return "1002";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData){
        List<ApiV1Data1002> list = JSONObject.parseArray(dataStr, ApiV1Data1002.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到库区信息,不解析---------");
            return;
        }
        try{
            Dept dept;
            for (ApiV1Data1002 api2002 : list) {
                dept = deptRepository.getDataById(configData.getDeptId());
                if(null == dept){
                    dept = new Dept();
                }
                dept.setId(configData.getDeptId());
                dept.setCompanyId(configData.getSign());
                //赋值属性值
                BeanUtils.copyProperties(api2002, dept);
                dept.setZhgxsj(DateUtils.parseDate(api2002.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                deptRepository.save(dept);
            }
        }catch (Exception e){
            log.error("-----解析失败={}---------", e);
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1003.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Building;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data1003;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.fzzy.igds.sys.BuildingService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžä»“房信息
 * @Author CZT
 * @Date 2025/06/04 17:26
 */
@Slf4j
@Service
public class ApiV1ServiceImpl1003 implements ApiV1Service {
    @Resource
    private BuildingService buildingService;
    @Override
    public String getInterfaceId() {
        return "1003";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData){
        List<ApiV1Data1003> list = JSONObject.parseArray(dataStr, ApiV1Data1003.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到仓房信息,不解析---------");
            return;
        }
        try{
            Building building;
            for (ApiV1Data1003 api2003 : list) {
                building = new Building();
                building.setId(api2003.getCfdm());
                building.setCompanyId(configData.getSign());
                building.setDeptId(configData.getDeptId());
                building.setName(api2003.getCfmc());
                building.setStorage(api2003.getSjcr());
                building.setHeight(api2003.getCwg());
                building.setLength(api2003.getCwc());
                building.setWidth(api2003.getCwk());
                building.setGround(api2003.getDmjg());
                building.setWall(api2003.getQtjg());
                building.setRoof(api2003.getFdjg());
                building.setRoofTruss(api2003.getFjjg());
                building.setLon(api2003.getJd());
                building.setLat(api2003.getWd());
                building.setUserDate(DateUtils.parseDate(api2003.getJfsyrq(), "yyyy-MM-dd"));
                building.setUpdateTime(DateUtils.parseDate(api2003.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                buildingService.saveOrUpdate(building);
            }
        }catch (Exception e){
            log.error("-----解析失败={}---------", e);
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1004.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Granary;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data1004;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.fzzy.igds.sys.GranaryService;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžå»’间信息
 * @Author CZT
 * @Date 2025/6/04 18:20
 */
@Slf4j
@Service
public class ApiV1ServiceImpl1004 implements ApiV1Service {
    @Resource
    private GranaryService granaryService;
    @Override
    public String getInterfaceId() {
        return "1004";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData){
        List<ApiV1Data1004> list = JSONObject.parseArray(dataStr, ApiV1Data1004.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到廒间信息,不解析---------");
            return;
        }
        try{
            Granary granary;
            for (ApiV1Data1004 api2004 : list) {
                granary = new Granary();
                granary.setAjdh(api2004.getAjdh());
                granary.setCompanyId(configData.getSign());
                granary.setDeptId(configData.getDeptId());
                granary.setAjmc(api2004.getAjmc());
                granary.setCfbh(api2004.getCfbh());
                granary.setAjcd(api2004.getAjcd());
                granary.setAjkd(api2004.getAjkd());
                granary.setAjgd(api2004.getAjgd());
                granary.setAjsjcr(api2004.getAjsjcr());
                if(StringUtils.isNotEmpty(api2004.getAjqyrq())){
                    granary.setAjqyrq(DateUtils.parseDate(api2004.getAjqyrq(), "yyyy-MM-dd"));
                }
                if(StringUtils.isNotEmpty(api2004.getZhgxsj())){
                    granary.setUpdateTime(DateUtils.parseDate(api2004.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                }
                granaryService.saveOrUpdate(granary);
            }
        }catch (Exception e){
            log.error("-----解析失败={}---------", e);
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl1005.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Depot;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data1005;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.fzzy.igds.sys.DepotService;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžè´§ä½ä¿¡æ¯
 * @Author CZT
 * @Date 2025/6/04 18:50
 */
@Slf4j
@Service
public class ApiV1ServiceImpl1005 implements ApiV1Service {
    @Resource
    private DepotService depotService;
    @Override
    public String getInterfaceId() {
        return "1005";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data1005> list = JSONObject.parseArray(dataStr, ApiV1Data1005.class);
        if (null == list || list.isEmpty()) {
            log.error("-----未获取到货位信息,不解析---------");
            return;
        }
        try {
            Depot depot;
            for (ApiV1Data1005 apiData : list) {
                depot = depotService.getCacheDepot(configData.getSign(), apiData.getHwdm());
                if (null == depot) {
                    depot = new Depot();
                }
                depot.setId(apiData.getHwdm());
                depot.setName(apiData.getHwmc());
                depot.setCompanyId(configData.getSign());
                depot.setDeptId(configData.getDeptId());
                depot.setBuildingId(apiData.getAjdm().substring(0, 25));
                depot.setGranaryId(apiData.getAjdm());
                depot.setStorageMax(apiData.getHwrl());
                depot.setStoreKeeperName(apiData.getBgy());
                depot.setFoodVariety(apiData.getLspzdm());
                depot.setFoodType(apiData.getLsxzdm());
                depot.setFoodLevel(apiData.getLsdjdm());
                depot.setFoodYear(apiData.getShnd());
                depot.setFoodLocation(apiData.getCd());
                depot.setDepotStatus(apiData.getHwzt());
                if (StringUtils.isNotEmpty(apiData.getRcsj())) {
                    depot.setStoreDate(DateUtils.parseDate(apiData.getRcsj(), "yyyy-MM-dd HH:mm:ss"));
                }
                if (StringUtils.isNotEmpty(apiData.getZhgxsj())) {
                    depot.setUpdateTime(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                }
                depot.setStorageReal(apiData.getSjsl());
                depotService.saveDepot(depot);
            }
        } catch (Exception e) {
            log.error("-----解析失败={}---------", e);
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2001.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Grain;
import com.fzzy.igds.dzhwk.service.repository.GrainRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2001;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžç²®æƒ…信息
 * @Author CZT
 * @Date 2025/6/04 19:11
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2001 implements ApiV1Service {
    @Resource
    private GrainRepository grainRepository;
    @Override
    public String getInterfaceId() {
        return "2001";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2001> list = JSONObject.parseArray(dataStr, ApiV1Data2001.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到粮情信息,不解析---------");
            return;
        }
        try {
            Grain grain;
            for (ApiV1Data2001 apiData : list) {
                grain = new Grain();
                BeanUtils.copyProperties(apiData, grain);
                grain.setBatchId(apiData.getJcdj());
                grain.setCompanyId(configData.getSign());
                grain.setDepotId(apiData.getHwdm());
                grain.setTempMin(apiData.getLszdw());//粮情最低温
                grain.setTempMax(apiData.getLszgw());//粮情最高温
                grain.setTempIn(apiData.getCfnw());//仓内温度
                grain.setTempOut(apiData.getCfww());//仓外温度
                grain.setTempAve(apiData.getLspjw());//粮食平均温
                grain.setHumidityOut(apiData.getCfws());//仓外湿度
                grain.setHumidityIn(apiData.getCfww());//仓内湿度
                grain = grainGbToGrain01(grain, apiData.getLswdzjh());
                grain.setWeather(apiData.getWeather());
                grain.setReceiveDate(DateUtils.parseDate(apiData.getJcsj(), "yyyy-MM-dd HH:mm:ss"));
                grain.setCheckUser(apiData.getJcr());
                grain.setRemark(apiData.getRemarks());
                grainRepository.save(grain);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
    /**
     * å°†æ¸©åº¦ä¿¡æ¯è½¬ä¸ºç³»ç»Ÿå†…粮情点位信息
     *
     * @param lswdzjh
     * @return
     */
    public Grain grainGbToGrain01(Grain grain, String lswdzjh) {
        String[] pointList = lswdzjh.split("\\|");
        //获取最大层行列
        String[] split;
        Integer z = 0; //层
        Integer y = 0; //行
        Integer x = 0; //列
        for (String s : pointList) {
            if (s.startsWith(",")) {
                s = s.substring(1);
            }
            split = s.split(",");
            if (Integer.valueOf(split[1]) > z) {
                z = Integer.valueOf(split[1]);
            }
            if (Integer.valueOf(split[2]) > y) {
                y = Integer.valueOf(split[2]);
            }
            if (Integer.valueOf(split[3]) > x) {
                x = Integer.valueOf(split[3]);
            }
        }
        grain.setCable(z + "-" + y + "-" + x);
        String points = "";
        //将温湿度点转为系统使用格式
        for (int a = 1; a <= x; a++) {         //列
            for (int b = 1; b <= y; b++) {     //行
                for (int c = 1; c <= z; c++) { //层
                    for (String s : pointList) {
                        if (s.startsWith(",")) {
                            s = s.substring(1);
                        }
                        split = s.split(",");
                        if (Integer.valueOf(split[1]) == c && Integer.valueOf(split[2]) == b && Integer.valueOf(split[3]) == a) {
                            points += split[0] + ",";
                        }
                    }
                }
            }
        }
        grain.setPoints(points);
        return grain;
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2002.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,182 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.Gas;
import com.fzzy.igds.dzhwk.service.repository.GasRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2002;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * @Description è§£æžæ°”体信息
 * @Author CZT
 * @Date 2025/6/04 20:11
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2002 implements ApiV1Service {
    @Resource
    private GasRepository gasRepository;
    @Override
    public String getInterfaceId() {
        return "2002";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2002> list = JSONObject.parseArray(dataStr, ApiV1Data2002.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到气体检测信息,不解析---------");
            return;
        }
        try {
            Gas gas;
            List<String> co2List = new ArrayList<>();
            List<String> o2List = new ArrayList<>();
            List<String> ph3List = new ArrayList<>();
            List<String> n2List = new ArrayList<>();
            Double max = 0.0;
            Double min = 0.0;
            Double sum = 0.0;
            Double temp = 0.0;
            for (ApiV1Data2002 apiData : list) {
                gas = new Gas();
                gas.setBatchId(apiData.getQtndjcdh());
                gas.setCompanyId(configData.getSign());
                gas.setDepotId(apiData.getHwdm());
                gas.setType(apiData.getZylx() + "");
                //CO2
                if(StringUtils.isNotEmpty(apiData.getEyhthlzjh())){
                    String[] split = apiData.getEyhthlzjh().split("\\|");
                    String points = split[0];
                    String[] values = points.split(",");
                    for(int i = 0; i < values.length; i++){
                        temp = Double.valueOf(values[i]);
                        if (i ==0) {
                            sum = 0.0;
                            max = temp;
                            min = temp;
                        }
                        if(temp > max){
                            max = temp;
                        }
                        if(temp < min){
                            min = temp;
                        }
                        sum += temp;
                        o2List.add(values[i]);
                    }
                    gas.setPerCo2(sum / values.length);
                    gas.setPerCo2Max(max);
                    gas.setPerCo2Min(min);
                }
                //O2
                if(StringUtils.isNotEmpty(apiData.getYqhlzjh())){
                    String[] split = apiData.getYqhlzjh().split("\\|");
                    String points = split[0];
                    String[] values = points.split(",");
                    for(int i = 0; i < values.length; i++){
                        temp = Double.valueOf(values[i]);
                        if (i ==0) {
                            sum = 0.0;
                            max = temp;
                            min = temp;
                        }
                        if(temp > max){
                            max = temp;
                        }
                        if(temp < min){
                            min = temp;
                        }
                        sum += temp;
                        o2List.add(values[i]);
                    }
                    gas.setPerO2(sum / values.length);
                    gas.setPerO2Max(max);
                    gas.setPerO2Min(min);
                }
                //Ph3
                if(StringUtils.isNotEmpty(apiData.getLhqndzjh())){
                    String[] split = apiData.getLhqndzjh().split("\\|");
                    String points = split[0];
                    String[] values = points.split(",");
                    for(int i = 0; i < values.length; i++){
                        temp = Double.valueOf(values[i]);
                        if (i ==0) {
                            sum = 0.0;
                            max = temp;
                            min = temp;
                        }
                        if(temp > max){
                            max = temp;
                        }
                        if(temp < min){
                            min = temp;
                        }
                        sum += temp;
                        o2List.add(values[i]);
                    }
                    gas.setPerPh3(sum / values.length);
                    gas.setPerPh3Max(max);
                    gas.setPerPh3Min(min);
                }
                //N2
                if(StringUtils.isNotEmpty(apiData.getDqndzjh())){
                    String[] split = apiData.getDqndzjh().split("\\|");
                    String points = split[0];
                    String[] values = points.split(",");
                    for(int i = 0; i < values.length; i++){
                        temp = Double.valueOf(values[i]);
                        if (i ==0) {
                            sum = 0.0;
                            max = temp;
                            min = temp;
                        }
                        if(temp > max){
                            max = temp;
                        }
                        if(temp < min){
                            min = temp;
                        }
                        sum += temp;
                        o2List.add(values[i]);
                    }
                    gas.setPerN2(sum / values.length);
                    gas.setPerN2Max(max);
                    gas.setPerN2Min(min);
                }
                //点位各气体浓度
                String pointStr = "";
                for(int i = 0; i < o2List.size(); i++){
                    pointStr += i + "," + co2List.get(i) + "," + o2List.get(i) + "," + ph3List.get(i) + "," + n2List.get(i) + ";";
                }
                gas.setPoints(pointStr);
                gas.setReceiveDate(DateUtils.parseDate(apiData.getJcsj(), "yyyy-MM-dd HH:mm:ss"));
                gas.setCheckUser("");
                gas.setRemark("");
                gasRepository.save(gas);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2003.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.MQuality;
import com.fzzy.igds.dzhwk.service.repository.QualityManageRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2003;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžè´¨æ£€ä¿¡æ¯
 * @Author CZT
 * @Date 2025/6/05 10:01
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2003 implements ApiV1Service {
    @Resource
    private QualityManageRepository qualityManageRepository;
    @Override
    public String getInterfaceId() {
        return "2003";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2003> list = JSONObject.parseArray(dataStr, ApiV1Data2003.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到质检信息,不解析---------");
            return;
        }
        try {
            MQuality quality;
            for (ApiV1Data2003 apiData : list) {
                quality =new MQuality();
                BeanUtils.copyProperties(apiData, quality);
                quality.setCompanyId(configData.getSign());
                quality.setDeptId(configData.getDeptId());
                quality.setStoreDate(DateUtils.parseDate(apiData.getRkrq(), "yyyy-MM-dd"));
                quality.setTime(DateUtils.parseDate(apiData.getJysj(), "yyyy-MM-dd HH:mm:ss"));
                quality.setBgcjsj(DateUtils.parseDate(apiData.getBgcjsj(), "yyyy-MM-dd HH:mm:ss"));
                quality.setCheckTime(DateUtils.parseDate(apiData.getQysj(), "yyyy-MM-dd HH:mm:ss"));
                quality.setUpdateTime(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                qualityManageRepository.save(quality);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2004.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.InoutDepotRecord;
import com.fzzy.igds.dzhwk.service.repository.InoutDepotRecordRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2004;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžè¿›å‡ºä»“记录信息
 * @Author CZT
 * @Date 2025/6/05 10:21
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2004 implements ApiV1Service {
    @Resource
    private InoutDepotRecordRepository repository;
    @Override
    public String getInterfaceId() {
        return "2004";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2004> list = JSONObject.parseArray(dataStr, ApiV1Data2004.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到进出仓记录信息,不解析---------");
            return;
        }
        try {
            InoutDepotRecord record;
            for (ApiV1Data2004 apiData : list) {
                record = new InoutDepotRecord();
                BeanUtils.copyProperties(apiData, record);
                record.setJcsj(DateUtils.parseDate(apiData.getJcsj(), "yyyy-MM-dd HH:mm:ss"));
                record.setCcsj(DateUtils.parseDate(apiData.getCcsj(), "yyyy-MM-dd HH:mm:ss"));
                record.setZhgxsj(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                repository.save(record);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2005.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,76 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.MAreationData;
import com.fzzy.igds.dzhwk.service.repository.AreationDataRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2005;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžæœºæ¢°é€šé£Žä¿¡æ¯
 * @Author CZT
 * @Date 2025/6/04 20:11
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2005 implements ApiV1Service {
    @Resource
    private AreationDataRepository repository;
    @Override
    public String getInterfaceId() {
        return "2005";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2005> list = JSONObject.parseArray(dataStr, ApiV1Data2005.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到信息,不解析---------");
            return;
        }
        try {
            MAreationData data;
            for (ApiV1Data2005 apiData : list) {
                data = new MAreationData();
                data.setCompanyId(configData.getSign());
                data.setDeptId(configData.getDeptId());
                BeanUtils.copyProperties(apiData, data);
                data.setDepotId(apiData.getAjdm());
                data.setObjective(apiData.getTfmd());
                data.setType(apiData.getTflx());
                data.setAirSupplyMode(apiData.getSffs());
                data.setZysqw(apiData.getZysqw());
                data.setZysqs(apiData.getZysqs());
                data.setStartTime(DateUtils.parseDate(apiData.getTfrq(), "yyyy-MM-dd"));
                data.setLongTime(apiData.getTfsc());
                data.setBeforeTempAvg(apiData.getZyqpjlw());
                data.setAfterTempAvg(apiData.getJshpjlw());
                data.setBeforPerWetAvg(apiData.getZyqpjsf());
                data.setAfterPerWetAvg(apiData.getZyhpjsf());
                data.setChargeUser(apiData.getTfzyfzr());
                data.setOperators(apiData.getTfzyry());
                data.setUpdateTime(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                repository.save(data);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2006.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,73 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.DrugLog;
import com.fzzy.igds.dzhwk.service.repository.DrugLogRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2006;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžç†è’¸ä½œä¸šä¿¡æ¯
 * @Author CZT
 * @Date 2025/6/04 20:11
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2006 implements ApiV1Service {
    @Resource
    private DrugLogRepository repository;
    @Override
    public String getInterfaceId() {
        return "2006";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2006> list = JSONObject.parseArray(dataStr, ApiV1Data2006.class);
        if (null == list || list.isEmpty()) {
            log.error("-----未获取到熏蒸作业信息,不解析---------");
            return;
        }
        try {
            DrugLog data;
            for (ApiV1Data2006 apiData : list) {
                data = new DrugLog();
                BeanUtils.copyProperties(apiData, data);
                data.setId(apiData.getXzzydh());
                data.setCompanyId(configData.getSign());
                data.setDeptId(configData.getDeptId());
                data.setDepotId(apiData.getAjdm());
                data.setStart(DateUtils.parseDate(apiData.getXzkssj(), "yyyy-MM-dd HH:mm:ss"));
                data.setEnd(DateUtils.parseDate(apiData.getXzjssj(), "yyyy-MM-dd HH:mm:ss"));
                data.setNum(apiData.getDjcxz());
                data.setMode(apiData.getCgxzfs());
                data.setRecirMode(apiData.getHlxzfs());
                data.setDrugName(apiData.getYjmc());
                data.setJx(apiData.getJx());
                data.setConcentration(apiData.getNd());
                data.setDose(apiData.getZyyl());
                data.setVentilateMethod(apiData.getSqff());
                data.setVentilateTime(DateUtils.parseDate(apiData.getSqrq(), "yyyy-MM-dd"));
                data.setUpdateTime(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                repository.save(data);
            }
        } catch (Exception e) {
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2007.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.ColdValley;
import com.fzzy.igds.dzhwk.service.repository.ColdValleyRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2007;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžè°·å†·ä½œä¸šä¿¡æ¯
 * @Author CZT
 * @Date 2025/6/05 14:46
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2007 implements ApiV1Service {
    @Resource
    private ColdValleyRepository repository;
    @Override
    public String getInterfaceId() {
        return "2007";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2007> list = JSONObject.parseArray(dataStr, ApiV1Data2007.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到谷冷作业信息,不解析---------");
            return;
        }
        try {
            ColdValley data;
            for (ApiV1Data2007 apiData : list) {
                data = new ColdValley();
                BeanUtils.copyProperties(apiData, data);
                data.setCompanyId(configData.getSign());
                data.setDeptId(configData.getDeptId());
                data.setKssj(DateUtils.parseDate(apiData.getKssj(), "yyyy-MM-dd HH:mm:ss"));
                data.setJssj(DateUtils.parseDate(apiData.getJssj(), "yyyy-MM-dd HH:mm:ss"));
                data.setZhgxsj(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                repository.save(data);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/impl/ApiV1ServiceImpl2008.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,63 @@
package com.fzzy.igds.dzhwk.v1.impl;
import com.alibaba.fastjson.JSONObject;
import com.fzzy.igds.dzhwk.domain.N2Filling;
import com.fzzy.igds.dzhwk.service.repository.N2FillingRepository;
import com.fzzy.igds.dzhwk.v1.ApiV1Service;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1Data2008;
import com.fzzy.igds.dzhwk.v1.dto.ApiV1ReqDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
 * @Description è§£æžå……氮气调作业信息
 * @Author CZT
 * @Date 2025/6/04 20:11
 */
@Slf4j
@Service
public class ApiV1ServiceImpl2008 implements ApiV1Service {
    @Resource
    private N2FillingRepository repository;
    @Override
    public String getInterfaceId() {
        return "2008";
    }
    @Override
    public void analysis(String dataStr, ApiV1ReqDto configData) {
        List<ApiV1Data2008> list = JSONObject.parseArray(dataStr, ApiV1Data2008.class);
        if(null == list || list.isEmpty()){
            log.error("-----未获取到信息,不解析---------");
            return;
        }
        try {
            N2Filling data;
            for (ApiV1Data2008 apiData : list) {
                data = new N2Filling();
                BeanUtils.copyProperties(apiData, data);
                data.setCompanyId(configData.getSign());
                data.setDeptId(configData.getDeptId());
                data.setKssj(DateUtils.parseDate(apiData.getKssj(), "yyyy-MM-dd HH:mm:ss"));
                data.setJssj(DateUtils.parseDate(apiData.getJssj(), "yyyy-MM-dd HH:mm:ss"));
                data.setZhgxsj(DateUtils.parseDate(apiData.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
                repository.save(data);
            }
        }catch (Exception e){
            log.error("-----解析错误={}---------", e.toString());
        }
    }
}
igds-dzhwk-inte/src/main/java/com/fzzy/igds/dzhwk/v1/util/ApiV1Utils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,148 @@
package com.fzzy.igds.dzhwk.v1.util;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Cipher;
import java.io.ByteArrayOutputStream;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Arrays;
import java.util.Base64;
@Slf4j
public class ApiV1Utils {
    public static final String KEY_ALGORITHM = "RSA";
    public static final String PRIVATE_KEY = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJGxqYyI/k6nYkm2nf4ggkAMViEvbnplbQqw6Qweu4neFXCC+iKY8cq5RZEj8JLfrm/gHBTPN8FF1sQIwWwsDV7UUc88DS5KwAi5JXBHMdcbh2tftkINr0YVn6rIgUBTbmPZ7Y8L2iW8psYsF9nxwvUUtcbFJXIMJfi39Qxl0NQvAgMBAAECgYBKWLHfoCy9sFbMrN7UxnwQ+PqetpiW5tkNApf58ljbErQ4FO5V51xDieXBGejy2igmuOM7jz6xZtUgdiNV8uji/RtiNRqsBekVBPMeYAnPwA4GQ0HNwyHJ3ebJNQqT9bwrk8QpRUuCnrx/U1l7P1QNR5o52H1HpEKPlS0ga0fuQQJBAMdiSFYKt8/PwsYclvU/GqXrPy4cxMBhtE/ZssH9KourxnJcyfRz7EPgfSZykxlGHn8j/r8C2XxtAIYW6mRckqECQQC7EIZCZ3eV8abSIB33oKmw2jZlPQrHXMt8DWz8FYbNIA/9bvk9e9O42iQwMUtHfOMcNMWbcvKR/J+83bcE08TPAkA1ErdYl+/H1HDvVUrlq0+HnPArcSL6ZsedfcB0nNRHa4kehg6IEJdylf4aTuNTFfQmOcmkxLhpw4YhK1ZnMrEhAkEAuiMLNXA3MmCumk+TAiBAOdYoYjyHSTEw2VOSqpPQ+rN4tbmDEIbyefG2KK4kNhIy+pIYP0H11QYG/KuxvX/rSQJBALs0TqUgcGOp9+IkOq4jCXiVkP5/r7JWinQ4d6bYhJ4wspQYloYFCHljKKXtst1m8I3PC+vJY8R6va/3xtQKT8U=";
    private static final String CHARSET = "utf-8";
    private static final int RESERVE_BYTES = 11;
    private static final int KEYSIZE = 1024;// å¯†é’¥ä½æ•°
    // 2048 bits çš„ RSA å¯†é’¥å¯¹ï¼Œæœ€å¤§è§£å¯†å¯†æ–‡å¤§å°
    private static final int MAX_DECRYPT_BLOCK = KEYSIZE / 8;
    // 2048 bits çš„ RSA å¯†é’¥å¯¹ï¼Œæœ€å¤§åŠ å¯†æ˜Žæ–‡å¤§å°
    private static final int MAX_ENCRYPT_BLOCK = MAX_DECRYPT_BLOCK - RESERVE_BYTES;
    // èŽ·å–å…¬é’¥
    public static PublicKey getPublicKey(String publicKeyString) throws Exception {
        byte[] publicKeyByte = Base64.getDecoder().decode(publicKeyString);
        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyByte);
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        return keyFactory.generatePublic(keySpec);
    }
    // èŽ·å–ç§é’¥
    public static PrivateKey getPrivateKey(String privateKeyString) throws Exception {
        byte[] privateKeyByte = Base64.getDecoder().decode(privateKeyString);
        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(privateKeyByte);
        KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
        return keyFactory.generatePrivate(keySpec);
    }
    /**
     * ç§é’¥è§£å¯†
     *
     * @param secretText    å¾…解密的密文字符串
     * @param privateKeyStr ç§é’¥
     * @return è§£å¯†åŽçš„æ˜Žæ–‡
     */
    public static String decrypt(String secretText, String privateKeyStr) {
        try {
            if (StringUtils.isEmpty(privateKeyStr)) {
                privateKeyStr = PRIVATE_KEY;
            }
            // ç”Ÿæˆç§é’¥
            Cipher cipher = Cipher.getInstance(KEY_ALGORITHM);
            cipher.init(Cipher.DECRYPT_MODE, getPrivateKey(privateKeyStr));
            // å¯†æ–‡è§£ç 
            byte[] data = Base64.getDecoder().decode(secretText);
            // è¿”回UTF-8编码的解密信息
            int inputLen = data.length;
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            int offSet = 0;
            byte[] cache;
            int i = 0;
            // å¯¹æ•°æ®åˆ†æ®µè§£å¯†
            while (inputLen - offSet > 0) {
                if (inputLen - offSet > MAX_DECRYPT_BLOCK) {
                    cache = cipher.doFinal(data, offSet, MAX_DECRYPT_BLOCK);
                } else {
                    cache = cipher.doFinal(data, offSet, inputLen - offSet);
                }
                out.write(cache, 0, cache.length);
                i++;
                offSet = i * MAX_DECRYPT_BLOCK;
            }
            out.close();
            return out.toString(CHARSET);
        } catch (Exception e) {
            throw new RuntimeException("解密字符串[" + secretText + "]时遇到异常", e);
        }
    }
    /**
     * å…¬é’¥åР坆
     *
     * @param text         å¾…加密的明文字符串
     * @param publicKeyStr å…¬é’¥
     * @return åŠ å¯†åŽçš„å¯†æ–‡
     */
    public static String encrypt(String text, String publicKeyStr) {
        String result = "";
        try {
//            log.info("明文字符串为:[{}]", text);
            // åР坆
            Cipher cipher = Cipher.getInstance(KEY_ALGORITHM);
            cipher.init(Cipher.ENCRYPT_MODE, getPublicKey(publicKeyStr));
            byte[] textArray = text.getBytes();
            int textLength = textArray.length;
//            log.info("加密字节数={}", textLength);
            // æœ€å¤§åŠ å¯†å­—èŠ‚æ•°ï¼Œè¶…å‡ºæœ€å¤§å­—èŠ‚æ•°éœ€è¦åˆ†ç»„åŠ å¯†
            int MAX_ENCRYPT_BLOCK = 117;
            // æ ‡è¯†
            int offSet = 0;
            byte[] resultBytes = {};
            byte[] cache = {};
            while (textLength - offSet > 0) {
                if (textLength - offSet > MAX_ENCRYPT_BLOCK) {
                    cache = cipher.doFinal(textArray, offSet, MAX_ENCRYPT_BLOCK);
                    offSet += MAX_ENCRYPT_BLOCK;
                } else {
                    cache = cipher.doFinal(textArray, offSet, textLength - offSet);
                    offSet = textLength;
                }
                resultBytes = Arrays.copyOf(resultBytes, resultBytes.length + cache.length);
                System.arraycopy(cache, 0, resultBytes, resultBytes.length - cache.length, cache.length);
            }
            result = Base64.getEncoder().encodeToString(resultBytes);
        } catch (Exception e) {
            throw new RuntimeException("加密字符串[" + text + "]时遇到异常", e);
        }
        return result;
    }
    public static void main(String[] args) {
        String pri = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJGxqYyI/k6nYkm2nf4ggkAMViEvbnplbQqw6Qweu4neFXCC+iKY8cq5RZEj8JLfrm/gHBTPN8FF1sQIwWwsDV7UUc88DS5KwAi5JXBHMdcbh2tftkINr0YVn6rIgUBTbmPZ7Y8L2iW8psYsF9nxwvUUtcbFJXIMJfi39Qxl0NQvAgMBAAECgYBKWLHfoCy9sFbMrN7UxnwQ+PqetpiW5tkNApf58ljbErQ4FO5V51xDieXBGejy2igmuOM7jz6xZtUgdiNV8uji/RtiNRqsBekVBPMeYAnPwA4GQ0HNwyHJ3ebJNQqT9bwrk8QpRUuCnrx/U1l7P1QNR5o52H1HpEKPlS0ga0fuQQJBAMdiSFYKt8/PwsYclvU/GqXrPy4cxMBhtE/ZssH9KourxnJcyfRz7EPgfSZykxlGHn8j/r8C2XxtAIYW6mRckqECQQC7EIZCZ3eV8abSIB33oKmw2jZlPQrHXMt8DWz8FYbNIA/9bvk9e9O42iQwMUtHfOMcNMWbcvKR/J+83bcE08TPAkA1ErdYl+/H1HDvVUrlq0+HnPArcSL6ZsedfcB0nNRHa4kehg6IEJdylf4aTuNTFfQmOcmkxLhpw4YhK1ZnMrEhAkEAuiMLNXA3MmCumk+TAiBAOdYoYjyHSTEw2VOSqpPQ+rN4tbmDEIbyefG2KK4kNhIy+pIYP0H11QYG/KuxvX/rSQJBALs0TqUgcGOp9+IkOq4jCXiVkP5/r7JWinQ4d6bYhJ4wspQYloYFCHljKKXtst1m8I3PC+vJY8R6va/3xtQKT8U=";
        String s = "{\"sign\":\"5363\",\"deptId\":\"5363_001\",\"reqDate\":\"2025-01-22 17:16:23\",\"data\":[{\"jcdj\":\"202501220001\",\"jcsj\":\"2025-01-22 17:16:23\",\"hwdm\":\"100010101\",\"cfww\":17.5,\"cfws\":75.5,\"cfnw\":17.5,\"cfns\":75.5,\"lszgw\":17.5,\"lszdw\":17.5,\"lspjw\":17.5,\"lswdzjh\":\"27.7,1,1,1|25.1,1,1,2|24.6,1,1,3|26.3,1,2,1|19.3,1,2,2|19.3,1,2,3|27.7,2,1,1|25.1,2,1,2|24.6,2,1,3|26.3,2,2,1|19.3,2,2,2|19.3,2, 2,3\",\"weather\":\"晴\",\"jcr\":\"检测人\",\"remarks\":\"备注信息\"},{\"jcdj\":\"202501220001\",\"jcsj\":\"2025-01-22 17:16:23\",\"hwdm\":\"100010101\",\"cfww\":17.5,\"cfws\":75.5,\"cfnw\":17.5,\"cfns\":75.5,\"lszgw\":17.5,\"lszdw\":17.5,\"lspjw\":17.5,\"lswdzjh\":\"27.7,1,1,1|25.1,1,1,2|24.6,1,1,3|26.3,1,2,1|19.3,1,2,2|19.3,1,2,3|27.7,2,1,1|25.1,2,1,2|24.6,2,1,3|26.3,2,2,1|19.3,2,2,2|19.3,2, 2,3\",\"weather\":\"晴\",\"jcr\":\"检测人\",\"remarks\":\"备注信息111\"}]}";
        String pub = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRsamMiP5Op2JJtp3+IIJADFYhL256ZW0KsOkMHruJ3hVwgvoimPHKuUWRI/CS365v4BwUzzfBRdbECMFsLA1e1FHPPA0uSsAIuSVwRzHXG4drX7ZCDa9GFZ+qyIFAU25j2e2PC9olvKbGLBfZ8cL1FLXGxSVyDCX4t/UMZdDULwIDAQAB";
        log.info("明文字符串:{}", s);
        log.info("公钥:{}", pub);
        String rsaPublicKey = encrypt(s, pub);
        log.info("公钥加密后密文:{}", rsaPublicKey);
        String decrypt = decrypt(rsaPublicKey, pri);
        log.info("解密后明文:{}", decrypt);
    }
}
igds-dzhwk-view/src/main/java/com/fzzy/igds/sys/SysConf.view.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,525 @@
<?xml version="1.0" encoding="UTF-8"?>
<ViewConfig>
  <Arguments/>
  <Context/>
  <Model>
    <DataType name="dtMain">
      <Property name="creationType">com.fzzy.igds.dzhwk.domain.DicSysConf</Property>
      <PropertyDef name="id">
        <Property></Property>
        <Property name="label">编号</Property>
      </PropertyDef>
      <PropertyDef name="companyId">
        <Property></Property>
        <Property name="label">组织编码</Property>
      </PropertyDef>
      <PropertyDef name="grainAuto">
        <Property></Property>
        <Property name="label">粮情批次自动优化</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">关闭</Property>
              </Entity>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">开启</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
      </PropertyDef>
      <PropertyDef name="grainErrorAuto">
        <Property></Property>
        <Property name="label">粮情异常自动处理</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">关闭</Property>
              </Entity>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">开启</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="grainMaxAuto">
        <Property></Property>
        <Property name="label">粮情高温优化</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">关闭</Property>
              </Entity>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">开启</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="grainMoreTag">
        <Property></Property>
        <Property name="label">一分机多仓</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">关闭</Property>
              </Entity>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">开启</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="grainOffset">
        <Property name="dataType">Double</Property>
        <Property name="label">偏移量</Property>
      </PropertyDef>
      <PropertyDef name="warnToWxTag">
        <Property></Property>
        <Property name="label">警告推送微信启用</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">关闭</Property>
              </Entity>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">开启</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="intervalTime">
        <Property name="dataType">int</Property>
        <Property name="label">执行间隔时间</Property>
        <Property name="displayFormat">0.0 ç§’</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="intervalGas">
        <Property name="dataType">int</Property>
        <Property name="label">气体检测间隔</Property>
        <Property name="displayFormat">0.0 ç§’</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="intervalPest">
        <Property name="dataType">int</Property>
        <Property name="label">虫害检测间隔</Property>
        <Property name="displayFormat">0.0 ç§’</Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="grainAddPoint">
        <Property></Property>
        <Property name="label">粮情点走势开启</Property>
        <Property name="mapping">
          <Property name="mapValues">
            <Collection>
              <Entity>
                <Property name="code">N</Property>
                <Property name="name">关闭</Property>
              </Entity>
              <Entity>
                <Property name="code">Y</Property>
                <Property name="name">开启</Property>
              </Entity>
            </Collection>
          </Property>
          <Property name="keyProperty">code</Property>
          <Property name="valueProperty">name</Property>
        </Property>
        <Property name="required">true</Property>
      </PropertyDef>
      <PropertyDef name="quantityPath">
        <Property></Property>
        <Property name="label">数量检测服务地址</Property>
      </PropertyDef>
      <PropertyDef name="hwkApiPath">
        <Property></Property>
        <Property name="label">货位卡接口路径</Property>
      </PropertyDef>
      <PropertyDef name="sysName">
        <Property></Property>
        <Property name="label">系统名称</Property>
        <Property name="required">true</Property>
        <Validator name="validator1" type="length">
          <Property name="maxLength">8</Property>
          <Property name="minLength">1</Property>
          <Property name="resultMessage">长度要求1-8个汉字</Property>
        </Validator>
      </PropertyDef>
      <PropertyDef name="threePath">
        <Property></Property>
        <Property name="label">三维可视化路径</Property>
      </PropertyDef>
      <PropertyDef name="screeName">
        <Property></Property>
        <Property name="label">大屏名称</Property>
        <Property name="required">true</Property>
        <Validator name="validator1" type="length">
          <Property name="maxLength">20</Property>
          <Property name="minLength">1</Property>
          <Property name="resultMessage">长度要求1-14个汉字</Property>
        </Validator>
      </PropertyDef>
      <PropertyDef name="support">
        <Property></Property>
        <Property name="label">技术支持</Property>
        <Property name="required">true</Property>
        <Validator name="validator1" type="length">
          <Property name="maxLength">25</Property>
          <Property name="minLength">1</Property>
          <Property name="resultMessage">长度要求1-25个汉字</Property>
        </Validator>
      </PropertyDef>
      <PropertyDef name="email">
        <Property></Property>
        <Property name="label">公司邮箱</Property>
      </PropertyDef>
      <PropertyDef name="phone">
        <Property></Property>
        <Property name="label">公司电话</Property>
      </PropertyDef>
      <PropertyDef name="website">
        <Property></Property>
        <Property name="label">公司网站</Property>
      </PropertyDef>
      <PropertyDef name="address">
        <Property></Property>
        <Property name="label">公司地址</Property>
      </PropertyDef>
    </DataType>
  </Model>
  <View layout="padding:5;regionPadding:5">
    <ClientEvent name="onReady">view.get(&quot;#dialogPwd&quot;).show();</ClientEvent>
    <Property name="packages">font-awesome,css-common</Property>
    <DataSet id="dsMain">
      <Property name="dataProvider">sysConfPR#getSysConf</Property>
      <Property name="dataType">dtMain</Property>
    </DataSet>
    <Container layout="regionPadding:10" layoutConstraint="top">
      <Property name="exClassName">bg-color</Property>
      <Property name="height">55</Property>
      <Property name="contentOverflow">hidden</Property>
      <Label layoutConstraint="left">
        <Property name="text">菜单栏:</Property>
      </Label>
      <Button id="btnUpdate" layoutConstraint="left">
        <Property name="caption">确认修改</Property>
        <Property name="exClassName">btn1</Property>
        <Property name="iconClass">fa fa-check</Property>
        <Property name="action">updateData</Property>
      </Button>
      <Button layoutConstraint="left">
        <Property name="caption">刷新缓存</Property>
        <Property name="exClassName">btn2</Property>
        <Property name="iconClass">fa fa-refresh</Property>
        <Property name="action">ajaxRefreshCache</Property>
      </Button>
      <Button layoutConstraint="left">
        <ClientEvent name="onClick">window.location.reload();</ClientEvent>
        <Property name="caption">重新验证</Property>
        <Property name="exClassName">btn4</Property>
        <Property name="iconClass">fa fa-key</Property>
        <Property name="icon">S</Property>
      </Button>
      <Button layoutConstraint="left">
        <Property name="caption">刷新所有缓存</Property>
        <Property name="exClassName">btn1</Property>
        <Property name="iconClass">fa fa-refresh</Property>
        <Property name="action">ajaxRefreshCacheALL</Property>
      </Button>
    </Container>
    <Panel>
      <Property name="caption">高级系统参数配置</Property>
      <Property name="iconClass">fa fa-cog</Property>
      <Property name="tags">tagShow</Property>
      <Property name="visible">false</Property>
      <Buttons/>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="labelAlign">right</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="labelWidth">140</Property>
          <Property name="cols">*,*,*,*</Property>
          <Control/>
          <AutoFormElement>
            <Property name="name">grainAuto</Property>
            <Property name="property">grainAuto</Property>
            <Property name="hideMode">display</Property>
            <Property name="visible">false</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:开启后,粮情批次根据上一个批次自动优化</Property>
            <Property name="hideMode">display</Property>
            <Property name="visible">false</Property>
          </Label>
          <Control>
            <Property name="hideMode">display</Property>
            <Property name="visible">false</Property>
          </Control>
          <AutoFormElement>
            <Property name="name">grainErrorAuto</Property>
            <Property name="property">grainErrorAuto</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:开启后,粮情异常点自动优化</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">grainMaxAuto</Property>
            <Property name="property">grainMaxAuto</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:开启后,粮情高温点自动优化调整</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">grainMoreTag</Property>
            <Property name="property">grainMoreTag</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:一分机多仓需要开启</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">intervalTime</Property>
            <Property name="property">intervalTime</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:网络模式=【无线】有效</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">intervalGas</Property>
            <Property name="property">intervalGas</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">intervalPest</Property>
            <Property name="property">intervalPest</Property>
            <Editor/>
          </AutoFormElement>
          <Label/>
          <Control/>
          <AutoFormElement>
            <Property name="name">warnToWxTag</Property>
            <Property name="property">warnToWxTag</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:开启微信警告通知功能</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">grainAddPoint</Property>
            <Property name="property">grainAddPoint</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:开启后支持粮情点走势查看</Property>
          </Label>
        </AutoForm>
      </Children>
      <Tools/>
    </Panel>
    <Panel>
      <Property name="caption">系统运维参数配置</Property>
      <Property name="iconClass">fa fa-cog</Property>
      <Property name="tags">tagShow</Property>
      <Property name="visible">false</Property>
      <Buttons/>
      <Children>
        <AutoForm>
          <Property name="dataSet">dsMain</Property>
          <Property name="labelAlign">right</Property>
          <Property name="labelSeparator">:</Property>
          <Property name="labelWidth">140</Property>
          <Property name="cols">*,*,*,*</Property>
          <Control/>
          <AutoFormElement>
            <Property name="name">sysName</Property>
            <Property name="property">sysName</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:系统菜单上面名称,如果配置为:SUB_NAME è¡¨ç¤ºå½“前所属分库名称</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">screeName</Property>
            <Property name="property">screeName</Property>
            <Editor/>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:大屏名称,如果配置为:SUB_NAME智慧粮库综合大屏,表示:XX粮库智慧粮库综合大屏</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">support</Property>
            <Property name="property">support</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">website</Property>
            <Property name="property">website</Property>
            <Editor>
              <TextEditor>
                <Property name="blankText"> -- å¿…须以 http:// å¼€å¤´--</Property>
              </TextEditor>
            </Editor>
          </AutoFormElement>
          <Control/>
          <Control/>
          <AutoFormElement>
            <Property name="name">phone</Property>
            <Property name="property">phone</Property>
            <Editor/>
          </AutoFormElement>
          <AutoFormElement>
            <Property name="name">email</Property>
            <Property name="property">email</Property>
            <Editor/>
          </AutoFormElement>
          <Control/>
          <Control/>
          <AutoFormElement layoutConstraint="colSpan:2">
            <Property name="name">address</Property>
            <Property name="property">address</Property>
            <Editor/>
          </AutoFormElement>
          <Control/>
          <Control/>
          <AutoFormElement>
            <Property name="name">quantityPath</Property>
            <Property name="property">quantityPath</Property>
            <Editor>
              <TextEditor>
                <Property name="blankText"> -- å¿…须以 http:// å¼€å¤´--</Property>
              </TextEditor>
            </Editor>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:数量在线检测独立服务地址</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">threePath</Property>
            <Property name="property">threePath</Property>
            <Editor>
              <TextEditor>
                <Property name="blankText"> -- å¿…须以 http:// å¼€å¤´--</Property>
              </TextEditor>
            </Editor>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:三维可视化独立服务地址</Property>
          </Label>
          <Control/>
          <AutoFormElement>
            <Property name="name">hwkApiPath</Property>
            <Property name="property">hwkApiPath</Property>
            <Editor>
              <TextEditor>
                <Property name="blankText"> -- å¿…须以 http:// å¼€å¤´--</Property>
              </TextEditor>
            </Editor>
          </AutoFormElement>
          <Label layoutConstraint="colSpan:2">
            <Property name="text">说明:电子货位卡接口路径</Property>
          </Label>
        </AutoForm>
      </Children>
      <Tools/>
    </Panel>
    <AjaxAction id="ajaxRefreshCache">
      <Property name="service">sysConfPR#flushCacheSysConf</Property>
      <Property name="successMessage">刷新成功!</Property>
      <Property name="confirmMessage">确定要刷新缓存么?</Property>
    </AjaxAction>
    <AjaxAction id="ajaxCheckPwd">
      <Property name="service">sysConfPR#checkUserByPwd</Property>
    </AjaxAction>
    <UpdateAction id="updateData">
      <Property name="dataResolver">sysConfPR#saveSysConf</Property>
      <Property name="confirmMessage">确定要执行更新么?</Property>
      <Property name="successMessage">数据更新完成!!!</Property>
      <UpdateItem>
        <Property name="dataSet">dsMain</Property>
        <Property name="dataPath">[#current]</Property>
      </UpdateItem>
    </UpdateAction>
    <AjaxAction id="ajaxRefreshCacheALL">
      <Property name="service">systemRunner#flushAllCache</Property>
      <Property name="successMessage">刷新成功!</Property>
      <Property name="confirmMessage">确定要刷新所有缓存么?</Property>
    </AjaxAction>
    <Dialog id="dialogPwd">
      <Property name="caption">二次密码验证</Property>
      <Buttons>
        <Button>
          <ClientEvent name="onClick">var pwd = view.get(&quot;#passwordEditor&quot;).get(&quot;value&quot;);&#xD;
view.get(&quot;#ajaxCheckPwd&quot;).set(&quot;parameter&quot;,pwd).execute(function(result){&#xD;
    if(result){&#xD;
        $alert(result);&#xD;
    }else{&#xD;
        self.get(&quot;parent&quot;).close();&#xD;
        view.get(&quot;^tagShow&quot;).set(&quot;visible&quot;,true);&#xD;
        view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
    }&#xD;
});</ClientEvent>
          <Property name="width">85</Property>
          <Property name="caption">确定</Property>
          <Property name="exClassName">btn1</Property>
        </Button>
        <Button>
          <ClientEvent name="onClick">self.get(&quot;parent&quot;).close();&#xD;
</ClientEvent>
          <Property name="width">85</Property>
          <Property name="caption">取消</Property>
          <Property name="exClassName">btn3</Property>
        </Button>
      </Buttons>
      <Children>
        <PasswordEditor id="passwordEditor" layoutConstraint="padding:10"/>
      </Children>
      <Tools/>
    </Dialog>
  </View>
</ViewConfig>
igds-dzhwk-view/src/main/java/com/fzzy/igds/sys/pr/SysConfPR.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
package com.fzzy.igds.sys.pr;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.igds.dzhwk.domain.DicSysConf;
import com.fzzy.igds.sys.SysConfService;
import com.fzzy.igds.util.ContextUtil;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.ShiroUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
 * @Description ç³»ç»Ÿé…ç½®ç®¡ç†
 * @Author CZT
 * @Date 2024/11/19 18:36
 */
@Component
public class SysConfPR {
    @Resource
    private SysConfService sysConfService;
    /**
     * sysConfPR#getSysConf
     *
     * @return èŽ·å–æ•°æ®åº“ä¸­çš„é…ç½®ï¼Œå¦‚æžœæ²¡æœ‰åˆ™åˆ›å»ºä¸€ä¸ªæ–°å¯¹è±¡
     */
    @DataProvider
    public DicSysConf getSysConf() {
        return sysConfService.getSysConf(ContextUtil.getCompanyId());
    }
    /**
     * sysConfPR#saveSysConf æ•°æ®æ›´æ–°
     *
     * @return
     */
    @DataResolver
    public void saveSysConf(DicSysConf data) {
        DicSysConf sysConf = new DicSysConf();
        BeanUtils.copyProperties(data, sysConf);
        sysConfService.saveSysConf(sysConf);
    }
    /**
     * sysConfPR#flushCacheSysConf
     */
    @Expose
    public void flushCacheSysConf() {
        sysConfService.flushCacheSysConf(ContextUtil.getCompanyId());
    }
    /**
     * sysConfPR#checkUserByPwd
     * systemPR#checkUserByPwd
     * å½“前登陆人密码验证
     * @param pwd
     * @return
     */
    @Expose
    public String checkUserByPwd(String pwd){
        SysUser user = ShiroUtils.getSysUser();
        if(null == user){
            return "您已经掉线,请重新登录后确认!";
        }
        UsernamePasswordToken token = new UsernamePasswordToken(user.getLoginName(), pwd, false);
        Subject subject = SecurityUtils.getSubject();
        try {
            subject.login(token);
            return null;
        } catch (AuthenticationException e) {
            return "密码错误";
        }
    }
}
igds-dzhwk-web/pom.xml
@@ -44,6 +44,13 @@
            <version>${igds.dzhwk.version}</version>
        </dependency>
        <!-- æŽ¥å£åŒ…-->
        <dependency>
            <groupId>com.fzzy</groupId>
            <artifactId>igds-dzhwk-inte</artifactId>
            <version>${igds.dzhwk.version}</version>
        </dependency>
        <!-- d7皮肤包 -->
        <dependency>
            <groupId>dorado.skins</groupId>
pom.xml
@@ -18,6 +18,7 @@
        <module>igds-dzhwk-view</module>
        <module>igds-dzhwk-web</module>
        <module>igds-dzhwk-doc</module>
        <module>igds-dzhwk-inte</module>
    </modules>
</project>