From a3344947e1ff54fcae8f09140ab0d05e2ba26f31 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期五, 25 十月 2024 15:17:36 +0800 Subject: [PATCH] 新增配方记录功能并优化相关实体和VO --- jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryOrderService.java | 2 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java | 30 + jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/xml/DryHerbFormulaHisMapper.xml | 5 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java | 3 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbInfo.java | 6 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/BaseParam.java | 35 ++ jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/DryHerbFormulaHisMapper.java | 17 + jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryOrderServiceImpl.java | 8 jrebel-classpath-17592.jar | 0 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/OffsetParam.java | 24 + jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbInfoVo.java | 6 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java | 1 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formula.java | 24 + jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java | 132 +++++++ jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/StatisticsDataVo.java | 87 +++++ jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOrderController.java | 17 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java | 1 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/TypeParam.java | 20 + jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaHisController.java | 178 ++++++++++ jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryHerbFormulaHisServiceImpl.java | 19 + jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryHerbFormulaHisService.java | 14 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaController.java | 1 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java | 3 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbFormulaHisVo.java | 94 +++++ jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formulas.java | 17 + jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java | 37 + jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/WaterParam.java | 55 +++ jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormulaHis.java | 145 ++++++++ 28 files changed, 958 insertions(+), 23 deletions(-) diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java index 5c4c4aa..6a3d545 100644 --- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java @@ -36,20 +36,32 @@ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "id") private String id; + /**閰嶆柟缂栧彿*/ + @Excel(name = "閰嶆柟缂栧彿", width = 15) + @ApiModelProperty(value = "閰嶆柟缂栧彿") + private String code; /**鑽潗id*/ - @Excel(name = "鑽潗id", width = 15, dictTable = "dry_herb", dicText = "name", dicCode = "id") - @Dict(dictTable = "dry_herb", dicText = "name", dicCode = "id") + @Excel(name = "鑽潗id", width = 15, dictTable = "dry_herb_info", dicText = "name", dicCode = "id") + @Dict(dictTable = "dry_herb_info", dicText = "name", dicCode = "id") @ApiModelProperty(value = "鑽潗id") private String herbId; - /**鑽潗鍚嶇О*/ - @Excel(name = "鑽潗鍚嶇О", width = 15) - @ApiModelProperty(value = "鑽潗鍚嶇О") - private String herbName; + /**閰嶆柟鍚嶇О*/ + @Excel(name = "閰嶆柟鍚嶇О", width = 15) + @ApiModelProperty(value = "閰嶆柟鍚嶇О") + private String name; + /**鑽潗鎷奸煶*/ + @Excel(name = "鑽潗鎷奸煶", width = 15) + @ApiModelProperty(value = "鑽潗鎷奸煶") + private String pinyin; /**璁惧绫诲瀷*/ @Excel(name = "璁惧绫诲瀷", width = 15, dictTable = "dry_eqp_type", dicText = "name", dicCode = "id") @Dict(dictTable = "dry_eqp_type", dicText = "name", dicCode = "id") @ApiModelProperty(value = "璁惧绫诲瀷") private String eqpType; + /**閰嶆柟鍒嗙被*/ + @Excel(name = "閰嶆柟鍒嗙被", width = 15) + @ApiModelProperty(value = "閰嶆柟鍒嗙被") + private String category; /**鐩爣鍚按鐜�*/ @Excel(name = "鐩爣鍚按鐜�", width = 15) @ApiModelProperty(value = "鐩爣鍚按鐜�") @@ -66,6 +78,10 @@ @Excel(name = "鐑娓╁害", width = 15) @ApiModelProperty(value = "鐑娓╁害") private Double windTemp; + /**鍒濆椋庢満棰戠巼*/ + @Excel(name = "鍒濆椋庢満棰戠巼", width = 15) + @ApiModelProperty(value = "鍒濆椋庢満棰戠巼") + private Integer fanSpeed; /**鐜娓╁害*/ @Excel(name = "鐜娓╁害", width = 15) @ApiModelProperty(value = "鐜娓╁害") @@ -82,6 +98,15 @@ @Excel(name = "缈绘枡娆℃暟", width = 15) @ApiModelProperty(value = "缈绘枡娆℃暟") private Integer turn; + /**鍚按鐜囪ˉ鍋�*/ + @Excel(name = "鍚按鐜囪ˉ鍋�", width = 15) + @ApiModelProperty(value = "鍚按鐜囪ˉ鍋�") + private Double moisOffset; + + /**鍐烽鏃堕暱*/ + @Excel(name = "鍐烽鏃堕暱", width = 15) + @ApiModelProperty(value = "鍐烽鏃堕暱") + private Integer coolingDuration; /**绉熸埛id*/ @Excel(name = "绉熸埛id", width = 15) @ApiModelProperty(value = "绉熸埛id") diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormulaHis.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormulaHis.java new file mode 100644 index 0000000..2de7e1c --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormulaHis.java @@ -0,0 +1,145 @@ +package org.jeecg.modules.dry.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.TableLogic; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 閰嶆柟璁板綍 + * @Author: jeecg-boot + * @Date: 2024-08-19 + * @Version: V1.0 + */ +@Data +@TableName("dry_herb_formula_his") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="dry_herb_formula_his瀵硅薄", description="閰嶆柟璁板綍") +public class DryHerbFormulaHis implements Serializable { + private static final long serialVersionUID = 1L; + + /**id*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private String id; + /**璁惧*/ + @Excel(name = "璁惧", width = 15, dictTable = "dry_equipment", dicText = "name", dicCode = "id") + @Dict(dictTable = "dry_equipment", dicText = "name", dicCode = "id") + @ApiModelProperty(value = "璁惧") + private String eqpId; + /**宸ュ崟鍙�*/ + @Excel(name = "宸ュ崟鍙�", width = 15) + @ApiModelProperty(value = "宸ュ崟鍙�") + private String orderCode; + /**宸ュ崟鏃堕棿*/ + @Excel(name = "宸ュ崟鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "宸ュ崟鏃堕棿") + private Date orderTime; + /**绱㈠紩*/ + @Excel(name = "绱㈠紩", width = 15) + @ApiModelProperty(value = "绱㈠紩") + private String formulaIndex; + /**缂栫爜*/ + @Excel(name = "缂栫爜", width = 15) + @ApiModelProperty(value = "缂栫爜") + private String code; + /**鍚嶇О*/ + @Excel(name = "鍚嶇О", width = 15) + @ApiModelProperty(value = "鍚嶇О") + private String name; + /**绫诲瀷*/ + @Excel(name = "绫诲瀷", width = 15) + @ApiModelProperty(value = "绫诲瀷") + private String typ; + /**ab*/ + @Excel(name = "ab", width = 15) + @ApiModelProperty(value = "ab") + private String ab; + /**鎶曟枡閲忥紙绛愶級*/ + @Excel(name = "鎶曟枡閲忥紙绛愶級", width = 15) + @ApiModelProperty(value = "鎶曟枡閲忥紙绛愶級") + private Double weight1; + /**鍒濆閲嶉噺*/ + @Excel(name = "鍒濆閲嶉噺", width = 15) + @ApiModelProperty(value = "鍒濆閲嶉噺") + private Double weight2; + /**骞茬嚗鎬绘椂闂�*/ + @ApiModelProperty(value = "骞茬嚗鎬绘椂闂�") + private Integer times; + /**鐑娓╁害*/ + @Excel(name = "鐑娓╁害", width = 15) + @ApiModelProperty(value = "鐑娓╁害") + private Double temp1; + /**鐜娓╁害*/ + @Excel(name = "鐜娓╁害", width = 15) + @ApiModelProperty(value = "鐜娓╁害") + private Double temp2; + /**鐜婀垮害*/ + @Excel(name = "鐜婀垮害", width = 15) + @ApiModelProperty(value = "鐜婀垮害") + private Double temp3; + /**鑽℃枡寤舵椂ms*/ + @Excel(name = "鑽℃枡寤舵椂ms", width = 15) + @ApiModelProperty(value = "鑽℃枡寤舵椂ms") + private Double delay; + /**缈绘枡娆℃暟*/ + @Excel(name = "缈绘枡娆℃暟", width = 15) + @ApiModelProperty(value = "缈绘枡娆℃暟") + private Integer turntime; + /**鍒濆鍚按鐜�*/ + @Excel(name = "鍒濆鍚按鐜�", width = 15) + @ApiModelProperty(value = "鍒濆鍚按鐜�") + private Double moisture1; + /**鐩爣鍚按鐜�*/ + @Excel(name = "鐩爣鍚按鐜�", width = 15) + @ApiModelProperty(value = "鐩爣鍚按鐜�") + private Double moisture3; + /**鑽潗鍒嗙被*/ + @Excel(name = "鑽潗鍒嗙被", width = 15) + @ApiModelProperty(value = "鑽潗鍒嗙被") + private Integer mtype; + /**鍚按鐜囪ˉ鍋�*/ + @Excel(name = "鍚按鐜囪ˉ鍋�", width = 15) + @ApiModelProperty(value = "鍚按鐜囪ˉ鍋�") + private Double moisoffset; + /**鍐烽鏃堕暱*/ + @Excel(name = "鍐烽鏃堕暱", width = 15) + @ApiModelProperty(value = "鍐烽鏃堕暱") + private Double coldwind; + /**绉熸埛id*/ + @Excel(name = "绉熸埛id", width = 15) + @ApiModelProperty(value = "绉熸埛id") + private Integer tenantId; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃堕棿*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "鍒涘缓鏃堕棿") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃堕棿*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "鏇存柊鏃堕棿") + private Date updateTime; +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbInfo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbInfo.java index b808768..8725ed9 100644 --- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbInfo.java +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbInfo.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -49,6 +50,11 @@ @Excel(name = "鑻辨枃鍚�", width = 15) @ApiModelProperty(value = "鑻辨枃鍚�") private String english; + /**鑽潗鍒嗙被*/ + @Excel(name = "鑽潗鍒嗙被", width = 15, dictTable = "dry_herb_type", dicText = "name", dicCode = "id") + @Dict(dictTable = "dry_herb_type", dicText = "name", dicCode = "id") + @ApiModelProperty(value = "鑽潗鍒嗙被") + private String type; /**鑽敤閮ㄤ綅*/ @Excel(name = "鑽敤閮ㄤ綅", width = 15) @ApiModelProperty(value = "鑽敤閮ㄤ綅") diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java index 33cd2e2..29ac2c8 100644 --- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java @@ -48,7 +48,7 @@ private String code; /**鑽潗*/ @Excel(name = "鑽潗", width = 15, dictTable = "dry_herb", dicText = "name", dicCode = "id") - @Dict(dictTable = "dry_herb", dicText = "name", dicCode = "id") + @Dict(dictTable = "dry_herb_formula", dicText = "name", dicCode = "id") @ApiModelProperty(value = "鑽潗") private String herbId; /**鑽潗*/ @@ -138,6 +138,7 @@ private Date updateTime; /**宸ュ崟鐘舵��*/ @Excel(name = "宸ュ崟鐘舵��", width = 15) + @Dict(dicCode = "dry_order_status") @ApiModelProperty(value = "宸ュ崟鐘舵��") private Integer orderStatus; /**鎿嶄綔浜�*/ diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/BaseParam.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/BaseParam.java new file mode 100644 index 0000000..4cd16e5 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/BaseParam.java @@ -0,0 +1,35 @@ +package org.jeecg.modules.dry.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@Data +@XmlRootElement(name = "BaseParam") +@XmlAccessorType(XmlAccessType.FIELD) +public class BaseParam { + /**绱㈠紩*/ + @XmlElement(name = "index") + @ApiModelProperty(value = "绱㈠紩") + private String index; + /**缂栫爜*/ + @XmlElement(name = "code") + @ApiModelProperty(value = "缂栫爜") + private String code; + /**鍚嶇О*/ + @XmlElement(name = "name") + @ApiModelProperty(value = "鍚嶇О") + private String name; + /**绫诲瀷*/ + @XmlElement(name = "typ") + @ApiModelProperty(value = "绫诲瀷") + private String typ; + /**ab*/ + @XmlElement(name = "ab") + @ApiModelProperty(value = "ab") + private String ab; +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbFormulaHisVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbFormulaHisVo.java new file mode 100644 index 0000000..9a619ba --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbFormulaHisVo.java @@ -0,0 +1,94 @@ +package org.jeecg.modules.dry.vo; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; +import org.jeecg.modules.dry.entity.DryHerbFormula; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +@Data +@NoArgsConstructor +@ApiModel(value="dry_herb_formula_his vo瀵硅薄", description="閰嶆柟璁板綍VO") +public class DryHerbFormulaHisVo implements Serializable { + + /**璁惧*/ + @ApiModelProperty(value = "璁惧") + private String eqp; + /**宸ュ崟鍙�*/ + @ApiModelProperty(value = "宸ュ崟鍙�") + private String orderCode; + /**宸ュ崟鏃堕棿*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "宸ュ崟鏃堕棿") + private Date orderTime; + /**绱㈠紩*/ + @ApiModelProperty(value = "绱㈠紩") + private String index; + /**缂栫爜*/ + @ApiModelProperty(value = "缂栫爜") + private String code; + /**鍚嶇О*/ + @ApiModelProperty(value = "鍚嶇О") + private String name; + /**绫诲瀷*/ + @ApiModelProperty(value = "绫诲瀷") + private String typ; + /**ab*/ + @ApiModelProperty(value = "ab") + private String ab; + /**鎶曟枡閲忥紙绛愶級*/ + @ApiModelProperty(value = "鎶曟枡閲忥紙绛愶級") + private Double weight1; + /**鍒濆閲嶉噺*/ + @ApiModelProperty(value = "鍒濆閲嶉噺") + private Double weight2; + /**骞茬嚗鎬绘椂闂�*/ + @ApiModelProperty(value = "骞茬嚗鎬绘椂闂�") + private Integer times; + /**鐑娓╁害*/ + @ApiModelProperty(value = "鐑娓╁害") + private Double temp1; + /**鐜娓╁害*/ + @ApiModelProperty(value = "鐜娓╁害") + private Double temp2; + /**鐜婀垮害*/ + @ApiModelProperty(value = "鐜婀垮害") + private Double temp3; + /**鑽℃枡寤舵椂ms*/ + @ApiModelProperty(value = "鑽℃枡寤舵椂ms") + private Double delay; + /**缈绘枡娆℃暟*/ + @ApiModelProperty(value = "缈绘枡娆℃暟") + private Integer turntime; + /**鍒濆鍚按鐜�*/ + @ApiModelProperty(value = "鍒濆鍚按鐜�") + private Double moisture1; + /**鐩爣鍚按鐜�*/ + @ApiModelProperty(value = "鐩爣鍚按鐜�") + private Double moisture3; + /**鑽潗鍒嗙被*/ + @ApiModelProperty(value = "鑽潗鍒嗙被") + private Integer mtype; + /**鍚按鐜囪ˉ鍋�*/ + @ApiModelProperty(value = "鍚按鐜囪ˉ鍋�") + private Double moisoffset; + /**鍐烽鏃堕暱*/ + @ApiModelProperty(value = "鍐烽鏃堕暱") + private Double coldwind; + /**绉熸埛id*/ + @ApiModelProperty(value = "绉熸埛id") + private Integer tenantId; + +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbInfoVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbInfoVo.java index 886bfaa..1f2af1c 100644 --- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbInfoVo.java +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryHerbInfoVo.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -39,6 +40,11 @@ @Excel(name = "鑻辨枃鍚�", width = 15) @ApiModelProperty(value = "鑻辨枃鍚�") private String english; + /**鑽潗鍒嗙被*/ + @Excel(name = "鑽潗鍒嗙被", width = 15, dictTable = "dry_herb_type", dicText = "name", dicCode = "id") + @Dict(dictTable = "dry_herb_type", dicText = "name", dicCode = "id") + @ApiModelProperty(value = "鑽潗鍒嗙被") + private String type; /**鑽敤閮ㄤ綅*/ @Excel(name = "鑽敤閮ㄤ綅", width = 15) @ApiModelProperty(value = "鑽敤閮ㄤ綅") diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formula.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formula.java new file mode 100644 index 0000000..40d59b3 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formula.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.dry.vo; + +import lombok.Data; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@Data +@XmlRootElement(name = "Formula") +@XmlAccessorType(XmlAccessType.FIELD) +public class Formula { + @XmlElement(name = "BaseParam") + private BaseParam baseParam; + @XmlElement(name = "WaterParam") + private WaterParam waterParam; + @XmlElement(name = "TypeParam") + private TypeParam typeParam; + @XmlElement(name = "OffsetParam") + private OffsetParam offsetParam; + + +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formulas.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formulas.java new file mode 100644 index 0000000..46b8439 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/Formulas.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.dry.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.xml.bind.annotation.*; +import java.util.ArrayList; +import java.util.List; + +@Data +@NoArgsConstructor +@XmlRootElement(name = "Formulas") +@XmlAccessorType(XmlAccessType.FIELD) +public class Formulas { + @XmlElement(name = "Formula") + private List<Formula> dryFormulaList = new ArrayList<>(); +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/OffsetParam.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/OffsetParam.java new file mode 100644 index 0000000..3f103c6 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/OffsetParam.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.dry.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@Data +@XmlRootElement(name = "OffsetParam") +@XmlAccessorType(XmlAccessType.FIELD) +public class OffsetParam { + + /**鍚按鐜囪ˉ鍋�*/ + @XmlElement(name = "moisoffset") + @ApiModelProperty(value = "鍚按鐜囪ˉ鍋�") + private Double moisoffset; + /**鍐烽鏃堕暱*/ + @XmlElement(name = "coldwind") + @ApiModelProperty(value = "鍐烽鏃堕暱") + private Double coldwind; +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/StatisticsDataVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/StatisticsDataVo.java new file mode 100644 index 0000000..9d696b6 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/StatisticsDataVo.java @@ -0,0 +1,87 @@ +package org.jeecg.modules.dry.vo; + +import lombok.Data; +import lombok.ToString; +import org.jeecg.modules.dry.entity.DryEquipment; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Data +@ToString +public class StatisticsDataVo { + + /**宸ュ崟ID*/ + private String orderId; + /**宸ュ崟鍙�*/ + private String workorder; + /**閰嶆柟绱㈠紩*/ + private Integer index; + /**鑽潗鍚嶇О*/ + private String name; + + /**绉熸埛ID*/ + private Integer tenantid; + /**璁惧缂栧彿*/ + private String machineid; + + /**鏁呴殰**/ + private String eqp_fault; + + /**璁惧鎶ヨ**/ + private String eqp_warning; + + /**---------------------鐢熶骇璁板綍鐩稿叧瀛楁瀹氫箟---s-------------------------*/ + + private Boolean report_flag; // 鎻愪氦鏍囧織 + + private String report_head_name; // 鍝佸悕 + private String report_head_batch ; //鎵规 + private String report_head_num ; //鏁伴噺--16妗�/355.8Kg + private String report_head_machine ; //璁惧 + private String report_head_accepter; //鎺ユ枡浜� + private Date report_head_date ; //鐢熶骇鏃ユ湡 + private String report_head_leader ; //鐝粍闀� + private String report_head_techer ; //宸ヨ壓鍛� + //妫�鏌� + private Boolean report_check_field ; //鐢熶骇鐜板満 + private Boolean report_check_file ; //鎵ц鏂囦欢 + private Boolean report_check_tag ; //鐗╂枡鏍囩ず + private Boolean report_check_tool ; //绉伴噺鍣ㄥ叿 + private String report_check_man ; //妫�鏌ヤ汉 + private Boolean report_check_status; //妫�鏌ユ儏鍐� + private String report_check_qa ; //QA + private String report_check_record ; //寮傚父璁板綍 + //鐢熶骇 + private Boolean report_product_view ; //澶栬妫�鏌� + private Boolean report_product_wind ; //鍚归 + private Boolean report_product_sun ; //鏅� + private Boolean report_product_low_dry ; //浣庢俯骞茬嚗 + private Boolean report_product_dry ; //骞茬嚗 + private String report_product_start ; //寮�濮嬫椂闂� + private String report_product_end ; //缁撴潫鏃堕棿 + private Integer report_product_total ; //骞茬嚗鎬绘椂闂� + private Boolean report_product_check ; //骞茬嚗妫�鏌� + private String report_product_man1 ; //鎿嶄綔浜� + private String report_product_man2 ; //澶嶆牳浜� + private Double report_product_weight ; //鎿嶄綔鍚庨噸閲� + private Double report_product_waste ; //搴熸枡鏁伴噺 + private Double report_product_use ; //鏀剁巼 + private String report_product_qa ; //QA + //娓呭満 + private Boolean report_clean_machine ; //璁惧娓呯悊 + private Boolean report_clean_waste ; //搴熸枡娓呯悊 + private Boolean report_clean_tool ; //宸ュ叿娓呯悊 + private Boolean report_clean_door ; //闂ㄧ獥娓呯悊 + private Boolean report_clean_box ; //绠变綋娓呯悊 + private Boolean report_clean_record ; //鐢熶骇璁板綍娓呯悊 + private Date report_clean_date ; //娓呭満鏃ユ湡 + private String report_clean_man ; //娓呭満浜� + private Boolean report_clean_confirm ; //娓呭満纭 + private String report_clean_qa ; //QA + + /**---------------------鐢熶骇璁板綍鐩稿叧瀛楁瀹氫箟---e-------------------------*/ + + +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/TypeParam.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/TypeParam.java new file mode 100644 index 0000000..877286b --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/TypeParam.java @@ -0,0 +1,20 @@ +package org.jeecg.modules.dry.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@Data +@XmlRootElement(name = "TypeParam") +@XmlAccessorType(XmlAccessType.FIELD) +public class TypeParam { + + /**鑽潗鍒嗙被*/ + @XmlElement(name = "mtype") + @ApiModelProperty(value = "鑽潗鍒嗙被") + private Integer mtype; +} diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/WaterParam.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/WaterParam.java new file mode 100644 index 0000000..fbac2b7 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/WaterParam.java @@ -0,0 +1,55 @@ +package org.jeecg.modules.dry.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@Data +@XmlRootElement(name = "WaterParam") +@XmlAccessorType(XmlAccessType.FIELD) +public class WaterParam { + /**鎶曟枡閲忥紙绛愶級*/ + @XmlElement(name = "weight1") + @ApiModelProperty(value = "鎶曟枡閲忥紙绛愶級") + private Double weight1; + /**鍒濆閲嶉噺*/ + @XmlElement(name = "weight2") + @ApiModelProperty(value = "鍒濆閲嶉噺") + private Double weight2; + /**骞茬嚗鎬绘椂闂�*/ + @XmlElement(name = "times") + @ApiModelProperty(value = "骞茬嚗鎬绘椂闂�") + private Integer times; + /**鐑娓╁害*/ + @XmlElement(name = "temp1") + @ApiModelProperty(value = "鐑娓╁害") + private Double temp1; + /**鐜娓╁害*/ + @XmlElement(name = "temp2") + @ApiModelProperty(value = "鐜娓╁害") + private Double temp2; + /**鐜婀垮害*/ + @XmlElement(name = "temp3") + @ApiModelProperty(value = "鐜婀垮害") + private Double temp3; + /**鑽℃枡寤舵椂ms*/ + @XmlElement(name = "delay") + @ApiModelProperty(value = "鑽℃枡寤舵椂ms") + private Double delay; + /**缈绘枡娆℃暟*/ + @XmlElement(name = "turntime") + @ApiModelProperty(value = "缈绘枡娆℃暟") + private Integer turntime; + /**鍒濆鍚按鐜�*/ + @XmlElement(name = "moisture1") + @ApiModelProperty(value = "鍒濆鍚按鐜�") + private Double moisture1; + /**鐩爣鍚按鐜�*/ + @XmlElement(name = "moisture3") + @ApiModelProperty(value = "鐩爣鍚按鐜�") + private Double moisture3; +} diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java index 44bed1e..550479b 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java @@ -151,6 +151,7 @@ @RequiresPermissions("dry:dry_equipment:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody DryEquipment dryEquipment) { + // 鍒犻櫎redis缂撳瓨 redisUtil.del(CacheConstants.RedisKeyEnum.EQP_MAP.getCode()); dryEquipmentService.updateById(dryEquipment); diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaController.java index b9e46df..d6cc2c8 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaController.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaController.java @@ -81,6 +81,7 @@ return Result.OK(pageList); } + /** * 娣诲姞 * diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaHisController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaHisController.java new file mode 100644 index 0000000..24b54e0 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryHerbFormulaHisController.java @@ -0,0 +1,178 @@ +package org.jeecg.modules.dry.controller; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.dry.entity.DryHerbFormulaHis; +import org.jeecg.modules.dry.service.IDryHerbFormulaHisService; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecg.common.system.base.controller.JeecgController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 閰嶆柟璁板綍 + * @Author: jeecg-boot + * @Date: 2024-08-19 + * @Version: V1.0 + */ +@Api(tags="閰嶆柟璁板綍") +@RestController +@RequestMapping("/dry/dryHerbFormulaHis") +@Slf4j +public class DryHerbFormulaHisController extends JeecgController<DryHerbFormulaHis, IDryHerbFormulaHisService> { + @Autowired + private IDryHerbFormulaHisService dryHerbFormulaHisService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param dryHerbFormulaHis + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "閰嶆柟璁板綍-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="閰嶆柟璁板綍-鍒嗛〉鍒楄〃鏌ヨ", notes="閰嶆柟璁板綍-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<DryHerbFormulaHis>> queryPageList(DryHerbFormulaHis dryHerbFormulaHis, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<DryHerbFormulaHis> queryWrapper = QueryGenerator.initQueryWrapper(dryHerbFormulaHis, req.getParameterMap()); + Page<DryHerbFormulaHis> page = new Page<DryHerbFormulaHis>(pageNo, pageSize); + IPage<DryHerbFormulaHis> pageList = dryHerbFormulaHisService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param dryHerbFormulaHis + * @return + */ + @AutoLog(value = "閰嶆柟璁板綍-娣诲姞") + @ApiOperation(value="閰嶆柟璁板綍-娣诲姞", notes="閰嶆柟璁板綍-娣诲姞") + @RequiresPermissions("dry:dry_herb_formula_his:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody DryHerbFormulaHis dryHerbFormulaHis) { + dryHerbFormulaHisService.save(dryHerbFormulaHis); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param dryHerbFormulaHis + * @return + */ + @AutoLog(value = "閰嶆柟璁板綍-缂栬緫") + @ApiOperation(value="閰嶆柟璁板綍-缂栬緫", notes="閰嶆柟璁板綍-缂栬緫") + @RequiresPermissions("dry:dry_herb_formula_his:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody DryHerbFormulaHis dryHerbFormulaHis) { + dryHerbFormulaHisService.updateById(dryHerbFormulaHis); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "閰嶆柟璁板綍-閫氳繃id鍒犻櫎") + @ApiOperation(value="閰嶆柟璁板綍-閫氳繃id鍒犻櫎", notes="閰嶆柟璁板綍-閫氳繃id鍒犻櫎") + @RequiresPermissions("dry:dry_herb_formula_his:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + dryHerbFormulaHisService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "閰嶆柟璁板綍-鎵归噺鍒犻櫎") + @ApiOperation(value="閰嶆柟璁板綍-鎵归噺鍒犻櫎", notes="閰嶆柟璁板綍-鎵归噺鍒犻櫎") + @RequiresPermissions("dry:dry_herb_formula_his:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.dryHerbFormulaHisService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + //@AutoLog(value = "閰嶆柟璁板綍-閫氳繃id鏌ヨ") + @ApiOperation(value="閰嶆柟璁板綍-閫氳繃id鏌ヨ", notes="閰嶆柟璁板綍-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<DryHerbFormulaHis> queryById(@RequestParam(name="id",required=true) String id) { + DryHerbFormulaHis dryHerbFormulaHis = dryHerbFormulaHisService.getById(id); + if(dryHerbFormulaHis==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(dryHerbFormulaHis); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param dryHerbFormulaHis + */ + @RequiresPermissions("dry:dry_herb_formula_his:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, DryHerbFormulaHis dryHerbFormulaHis) { + return super.exportXls(request, dryHerbFormulaHis, DryHerbFormulaHis.class, "閰嶆柟璁板綍"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("dry:dry_herb_formula_his:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, DryHerbFormulaHis.class); + } + +} diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOrderController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOrderController.java index 1a2c405..c88e53a 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOrderController.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOrderController.java @@ -148,7 +148,22 @@ return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); } - /** + /** + * 鎵归噺涓嬪彂宸ュ崟 + * @param ids + * @return + */ + @AutoLog(value = "骞茬嚗宸ュ崟-鎵归噺涓嬪彂") + @ApiOperation(value="骞茬嚗宸ュ崟-鎵归噺涓嬪彂", notes="骞茬嚗宸ュ崟-鎵归噺涓嬪彂") + @RequiresPermissions("dry:dry_order:edit") + @PostMapping(value = "/sendBatch") + public Result<String> sendBatch(@RequestParam(name="ids",required=true) String ids) { + this.dryOrderService.sendByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺涓嬪彂鎴愬姛!"); + } + + + /** * 閫氳繃id鏌ヨ * * @param id diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java index b261d83..ff98cb4 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java @@ -4,24 +4,34 @@ import ai.djl.modality.Classifications; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; -import org.jeecg.modules.dry.entity.DryHerbInfo; +import org.jeecg.common.config.TenantContext; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.IpUtils; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.config.mybatis.MybatisPlusSaasConfig; +import org.jeecg.modules.dry.entity.*; import org.jeecg.modules.dry.service.*; //import org.jeecg.modules.dry.util.HerbUtil; -import org.jeecg.modules.dry.vo.CommandMessageVo; -import org.jeecg.modules.dry.vo.DryHerbInfoVo; -import org.jeecg.modules.dry.vo.RealTimeDataVo; +import org.jeecg.modules.dry.vo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; import java.io.InputStream; +import java.io.StringWriter; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -36,11 +46,27 @@ @Autowired private IDryRealTimeDataService dryRealTimeDataService; + @Autowired + private IDryHerbFormulaService dryHerbFormulaService; + + @Autowired + private IDryHerbInfoService dryHerbInfoService; + + @Autowired + private IDryEqpTypeService dryEqpTypeService; + // @Autowired // private HerbUtil herbUtil; @Autowired private IDryHerbInfoService herbInfoService; + + @Autowired + private IDryHerbFormulaHisService dryHerbFormulaHisService; + + @Autowired + private IDryEquipmentService dryEquipmentService; + @ApiOperation(value="娴嬭瘯", notes="杩斿洖Hello") @@ -123,5 +149,103 @@ // return Result.error("AI璇嗗埆鏈嶅姟寮傚父"); // } // } + @ApiOperation(value="骞茬嚗閰嶆柟鑾峰彇", notes="骞茬嚗閰嶆柟涓嬪彂") + @GetMapping(value = "/queryFormula") + public Result<String> queryFormulaByEqpType(Integer tenantId, String eqpCode) throws JAXBException { + //鑾峰彇request + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + // 鑾峰彇璇锋眰涓绘満鐨処P鍦板潃 + String ip = IpUtils.getIpAddr(request); + DryEquipment dryEquipment = dryEquipmentService.selectByTenantIdEquipmentId(tenantId+ "", eqpCode); + if (dryEquipment != null) { + if (dryEquipment.getIp().equals(ip)) { + } else { + return Result.error("璁惧IP鍦板潃鏈厤缃細" + ip); + } + } else { + return Result.error("璁惧涓嶅瓨鍦�"); + } + LambdaQueryWrapper<DryHerbFormula> queryWrapper = new LambdaQueryWrapper<DryHerbFormula>(); + queryWrapper.eq(DryHerbFormula::getEqpType, dryEquipment.getType()) + .eq(DryHerbFormula::getTenantId, tenantId); + List<DryHerbFormula> list = dryHerbFormulaService.list(queryWrapper); + Formulas formulas = new Formulas(); + list.forEach(item -> { + DryHerbInfo byId = dryHerbInfoService.getById(item.getHerbId()); + if (byId!=null) { + item.setPinyin(byId.getPinyin()); + item.setName(byId.getName()); + } + Formula formula = new Formula(); + BaseParam baseParam = new BaseParam(); + WaterParam waterParam = new WaterParam(); + TypeParam typeParam = new TypeParam(); + OffsetParam offsetParam = new OffsetParam(); + baseParam.setCode(item.getCode()); + baseParam.setIndex(item.getCode()); + baseParam.setName(item.getName()); + baseParam.setAb(item.getName()); + baseParam.setTyp(item.getCategory()); + waterParam.setDelay(Double.valueOf(item.getDelay())); + waterParam.setMoisture3(item.getTarget()); + waterParam.setWeight1(Double.valueOf(item.getFeed())); + waterParam.setTimes(item.getEt()); + waterParam.setTemp1(item.getWindTemp()); + waterParam.setTemp2(item.getEnvTemp()); + waterParam.setTemp3(item.getEnvHum()); + waterParam.setTurntime(item.getTurn()); + typeParam.setMtype(Integer.valueOf(item.getCategory())); + offsetParam.setMoisoffset(item.getMoisOffset()); + offsetParam.setColdwind(Double.valueOf(item.getCoolingDuration())); + + formula.setBaseParam(baseParam); + formula.setWaterParam(waterParam); + formula.setTypeParam(typeParam); + formula.setOffsetParam(offsetParam); + formulas.getDryFormulaList().add(formula); + }); + // 鎶妚os杞崲鎴恱ml + // 鍒涘缓JAXBContext瀹炰緥 + JAXBContext jaxbContext = JAXBContext.newInstance(Formulas.class); + + // 鍒涘缓Marshaller瀹炰緥 + Marshaller marshaller = jaxbContext.createMarshaller(); + + // 璁剧疆鏄惁鏍煎紡鍖栬緭鍑� + marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, false); + + // 灏嗗璞″簭鍒楀寲鍒板瓧绗︿覆 + StringWriter writer = new StringWriter(); + marshaller.marshal(formulas, writer); + + return Result.OK("璇锋眰鎴愬姛",writer.toString()); + + + } + + @ApiOperation(value="骞茬嚗閰嶆柟涓婃姤", notes="骞茬嚗閰嶆柟璁板綍涓婃姤") + @PostMapping(value = "/sendFormulaHistory") + public Result<?> sendFormulaHistory(DryHerbFormulaHisVo hisVo) { + //鑾峰彇request + HttpServletRequest request = SpringContextUtils.getHttpServletRequest(); + // 鑾峰彇璇锋眰涓绘満鐨処P鍦板潃 + String ip = IpUtils.getIpAddr(request); + DryHerbFormulaHis his = new DryHerbFormulaHis(); + BeanUtil.copyProperties(hisVo, his); + his.setFormulaIndex(hisVo.getIndex()); + DryEquipment dryEquipment = dryEquipmentService.selectByTenantIdEquipmentId(hisVo.getTenantId() + "", hisVo.getEqp()); + if (dryEquipment != null) { + if (dryEquipment.getIp().equals(ip)) { + his.setEqpId(dryEquipment.getId()); + } else { + return Result.error("璁惧IP鍦板潃鏈厤缃細" + ip); + } + + } else { + return Result.error("璁惧涓嶅瓨鍦�"); + } + dryHerbFormulaHisService.save(his); + return Result.OK("淇濆瓨鎴愬姛"); + } } diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/DryHerbFormulaHisMapper.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/DryHerbFormulaHisMapper.java new file mode 100644 index 0000000..469294b --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/DryHerbFormulaHisMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.dry.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.dry.entity.DryHerbFormulaHis; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 閰嶆柟璁板綍 + * @Author: jeecg-boot + * @Date: 2024-08-19 + * @Version: V1.0 + */ +public interface DryHerbFormulaHisMapper extends BaseMapper<DryHerbFormulaHis> { + +} diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/xml/DryHerbFormulaHisMapper.xml b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/xml/DryHerbFormulaHisMapper.xml new file mode 100644 index 0000000..6344655 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/xml/DryHerbFormulaHisMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.dry.mapper.DryHerbFormulaHisMapper"> + +</mapper> \ No newline at end of file diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryHerbFormulaHisService.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryHerbFormulaHisService.java new file mode 100644 index 0000000..a5c6995 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryHerbFormulaHisService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.dry.service; + +import org.jeecg.modules.dry.entity.DryHerbFormulaHis; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 閰嶆柟璁板綍 + * @Author: jeecg-boot + * @Date: 2024-08-19 + * @Version: V1.0 + */ +public interface IDryHerbFormulaHisService extends IService<DryHerbFormulaHis> { + +} diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryOrderService.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryOrderService.java index 455da56..b71fbff 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryOrderService.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryOrderService.java @@ -21,4 +21,6 @@ List<String> queryMonthOverview(String month, int tenantId); void queryRecentOrderAvg(DryOrderVo orderVo); + + void sendByIds(List<String> list); } diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java index e977ced..713ad91 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java @@ -3,6 +3,7 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.modules.dry.vo.CommandMessageVo; import org.jeecg.modules.dry.vo.RealTimeDataVo; +import org.jeecg.modules.dry.vo.StatisticsDataVo; public interface IDryRealTimeDataService { Result<?> realTimeDataHandle(RealTimeDataVo realTimeDataVo); @@ -12,4 +13,6 @@ Result<?> sendSocketMsg(CommandMessageVo msgVo); Result<?> queryWorkshopStatistics(RealTimeDataVo realTimeDataVo); + + Result<?> statisticsDataHandle(StatisticsDataVo statsDataVo); } diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java index 794a923..9644a12 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryEquipmentServiceImpl.java @@ -31,6 +31,7 @@ List<DryEquipment> list = this.list(); for (DryEquipment equipment : list) { redisUtil.hset(CacheConstants.RedisKeyEnum.EQP_MAP.getCode(),equipment.getTenantId()+equipment.getCode(),equipment); + // 璁剧疆杩囨湡鏃堕棿 if ((equipment.getTenantId()+equipment.getCode()).equals(tenantId + equipmentId)) { dryEquipment = equipment; } diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryHerbFormulaHisServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryHerbFormulaHisServiceImpl.java new file mode 100644 index 0000000..cc993c6 --- /dev/null +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryHerbFormulaHisServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.dry.service.impl; + +import org.jeecg.modules.dry.entity.DryHerbFormulaHis; +import org.jeecg.modules.dry.mapper.DryHerbFormulaHisMapper; +import org.jeecg.modules.dry.service.IDryHerbFormulaHisService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 閰嶆柟璁板綍 + * @Author: jeecg-boot + * @Date: 2024-08-19 + * @Version: V1.0 + */ +@Service +public class DryHerbFormulaHisServiceImpl extends ServiceImpl<DryHerbFormulaHisMapper, DryHerbFormulaHis> implements IDryHerbFormulaHisService { + +} diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryOrderServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryOrderServiceImpl.java index a14f1e9..5f7b69b 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryOrderServiceImpl.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryOrderServiceImpl.java @@ -1,5 +1,6 @@ package org.jeecg.modules.dry.service.impl; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.RedisUtil; @@ -58,4 +59,11 @@ } } + + @Override + public void sendByIds(List<String> list) { + LambdaUpdateWrapper<DryOrder> wrapper = new LambdaUpdateWrapper<>(); + wrapper.in(DryOrder::getId,list).set(DryOrder::getOrderStatus,1); + baseMapper.update(null,wrapper); + } } diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java index fa4ac48..c2c7ff0 100644 --- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java +++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java @@ -49,6 +49,9 @@ private IDryHerbService herbService; @Autowired + private IDryHerbFormulaService dryHerbFormulaService; + + @Autowired private IDryEquipmentService equipmentService; @Autowired @@ -233,13 +236,13 @@ private DryOrderVo saveNewOrder(RealTimeDataVo realTimeDataVo) { DryOrderVo orderVo; // 鏌ヨ鑽潗 - DryHerb herb = queryHerbByIndexTenant(realTimeDataVo); + DryHerbFormula herbFormula = queryHerbByIndexTenant(realTimeDataVo); // 鏌ヨ璁惧 DryEquipment equ = queryEquipmentByCodeTenant(realTimeDataVo); // 鍒涘缓鏂板伐鍗� orderVo = new DryOrderVo(realTimeDataVo); - orderVo.setHerbId(herb.getId()); + orderVo.setHerbId(herbFormula.getId()); orderVo.setEquId(equ.getId()); DryOrder dryOrder = BeanUtil.toBean(orderVo, DryOrder.class); boolean save = dryOrderService.save(dryOrder); @@ -269,15 +272,15 @@ * @param realTimeDataVo * @return */ - private DryHerb queryHerbByIndexTenant(RealTimeDataVo realTimeDataVo) { - LambdaQueryWrapper<DryHerb> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(DryHerb::getTenantId, realTimeDataVo.getTenantid()); - queryWrapper.eq(DryHerb::getCode, realTimeDataVo.getIndex()); - DryHerb one = herbService.getOne(queryWrapper); - if (one == null) { - one = new DryHerb(realTimeDataVo); - herbService.save(one); - } + private DryHerbFormula queryHerbByIndexTenant(RealTimeDataVo realTimeDataVo) { + LambdaQueryWrapper<DryHerbFormula> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DryHerbFormula::getTenantId, realTimeDataVo.getTenantid()); + queryWrapper.eq(DryHerbFormula::getCode, realTimeDataVo.getIndex()); + DryHerbFormula one = dryHerbFormulaService.getOne(queryWrapper); +// if (one == null) { +// one = new DryHerb(realTimeDataVo); +// herbService.save(one); +// } return one; } @@ -431,4 +434,9 @@ //redisUtil.get(CacheConstants.RedisKeyEnum.WORK_ORDER.getCode() return Result.OK(orderVo); } + + @Override + public Result<?> statisticsDataHandle(StatisticsDataVo statsDataVo) { + return null; + } } diff --git a/jrebel-classpath-17592.jar b/jrebel-classpath-17592.jar new file mode 100644 index 0000000..66f179e --- /dev/null +++ b/jrebel-classpath-17592.jar Binary files differ -- Gitblit v1.9.3