From 156e1f871e3d8b3f36de09ca4f5b58be8e20acb4 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期四, 11 九月 2025 15:28:02 +0800
Subject: [PATCH] 优化配方下发接口

---
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/HerbFormulaVo.java                     |   36 ++++++++++++
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java                |   22 +++++++
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java                        |   17 +++++
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java |  105 +++++++++++++++++++---------------
 4 files changed, 133 insertions(+), 47 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 9f63439..a04fef7 100755
--- 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
@@ -48,7 +48,11 @@
 	@Excel(name = "閰嶆柟鍚嶇О", width = 15)
     @ApiModelProperty(value = "閰嶆柟鍚嶇О")
     private String name;
-    /**鑽潗鎷奸煶*/
+    /**缂╁啓*/
+    @Excel(name = "缂╁啓", width = 15)
+    @ApiModelProperty(value = "缂╁啓")
+    private String abbr;
+	/**鑽潗鎷奸煶*/
     @Excel(name = "鑽潗鎷奸煶", width = 15)
     @ApiModelProperty(value = "鑽潗鎷奸煶")
     private String pinyin;
@@ -57,10 +61,22 @@
 	@Dict(dictTable = "dry_eqp_type", dicText = "name", dicCode = "id")
     @ApiModelProperty(value = "璁惧绫诲瀷")
     private String eqpType;
+    /**鐗圭鐗╂枡*/
+    @Excel(name = "鐗圭鐗╂枡", width = 15)
+    @ApiModelProperty(value = "鐗圭鐗╂枡")
+    private String special;
+    /**杞昏川鐗╂枡*/
+    @Excel(name = "杞昏川鐗╂枡", width = 15)
+    @ApiModelProperty(value = "杞昏川鐗╂枡")
+    private String light;
     /**閰嶆柟鍒嗙被*/
     @Excel(name = "閰嶆柟鍒嗙被", width = 15)
     @ApiModelProperty(value = "閰嶆柟鍒嗙被")
     private String category;
+    /**鍒濆鍚按鐜�*/
+    @Excel(name = "鍒濆鍚按鐜�", width = 15)
+    @ApiModelProperty(value = "鍒濆鍚按鐜�")
+    private Double initial;
 	/**鐩爣鍚按鐜�*/
 	@Excel(name = "鐩爣鍚按鐜�", width = 15)
     @ApiModelProperty(value = "鐩爣鍚按鐜�")
@@ -89,6 +105,10 @@
 	@Excel(name = "鐜婀垮害", width = 15)
     @ApiModelProperty(value = "鐜婀垮害")
     private Double envHum;
+    /**缈绘枡绛栫暐*/
+    @Excel(name = "缈绘枡绛栫暐", width = 15)
+    @ApiModelProperty(value = "缈绘枡绛栫暐")
+    private String strategy;
 	/**鑽℃枡寤舵椂ms*/
 	@Excel(name = "鑽℃枡寤舵椂ms", width = 15)
     @ApiModelProperty(value = "鑽℃枡寤舵椂ms")
diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java
index 7ceb381..7e930aa 100755
--- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java
@@ -185,6 +185,23 @@
     /**骞冲潎鐢佃��**/
     private Double wattAvg;
 
+
+
+
+    @ApiModelProperty(value = "缂╁啓")
+    private String abbr;
+    @ApiModelProperty(value = "鐗圭鐗╂枡")
+    private String special;
+    @ApiModelProperty(value = "杞昏川鐗╂枡")
+    private String light;
+
+    @ApiModelProperty(value = "鍒濆椋庢満棰戠巼")
+    private Integer fanSpeed;
+    @ApiModelProperty(value = "缈绘枡绛栫暐")
+    private String strategy;
+    @ApiModelProperty(value = "鍐烽鏃堕暱")
+    private Integer coolingDuration;
+
     public DryOrderVo(RealTimeDataVo realTimeDataVo) {
         this.id = IdUtil.fastSimpleUUID();
         this.code = realTimeDataVo.getWorkorder();
diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/HerbFormulaVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/HerbFormulaVo.java
new file mode 100644
index 0000000..6cc264c
--- /dev/null
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/HerbFormulaVo.java
@@ -0,0 +1,36 @@
+package org.jeecg.modules.dry.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+@Data
+public class HerbFormulaVo {
+
+    @ApiModelProperty(value = "閰嶆柟缂栧彿")
+    private String code;
+    @ApiModelProperty(value = "閰嶆柟鍚嶇О")
+    private String name;
+    @ApiModelProperty(value = "缂╁啓")
+    private String abbr;
+    @ApiModelProperty(value = "鐗圭鐗╂枡")
+    private String special;
+    @ApiModelProperty(value = "杞昏川鐗╂枡")
+    private String light;
+    @ApiModelProperty(value = "鍒濆鍚按鐜�")
+    private Double initial;
+    @ApiModelProperty(value = "鐩爣鍚按鐜�")
+    private Double target;
+    @ApiModelProperty(value = "鎶曟枡閲�")
+    private Integer feed;
+    @ApiModelProperty(value = "棰勮骞茬嚗鏃堕棿")
+    private Integer et;
+    @ApiModelProperty(value = "鐑娓╁害")
+    private Double windTemp;
+    @ApiModelProperty(value = "鍒濆椋庢満棰戠巼")
+    private Integer fanSpeed;
+    @ApiModelProperty(value = "缈绘枡绛栫暐")
+    private String strategy;
+    @ApiModelProperty(value = "鍐烽鏃堕暱")
+    private Integer coolingDuration;
+}
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 0f1b58f..3d9e86f 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
@@ -2,6 +2,7 @@
 
 
 import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import io.swagger.annotations.Api;
@@ -192,7 +193,7 @@
      */
     @ApiOperation(value = "骞茬嚗閰嶆柟鑾峰彇", notes = "骞茬嚗閰嶆柟涓嬪彂")
     @GetMapping(value = "/queryFormula")
-    public Result<String> queryFormulaByEqpType(Integer tenantId, String eqpCode) throws JAXBException {
+    public Result<List<HerbFormulaVo>> queryFormulaByEqpType(Integer tenantId, String eqpCode) throws JAXBException {
         //鑾峰彇request
         HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
         // 鑾峰彇璇锋眰涓绘満鐨処P鍦板潃
@@ -210,56 +211,68 @@
         queryWrapper.eq(DryHerbFormula::getEqpType, dryEquipment.getType())
                 .eq(DryHerbFormula::getTenantId, tenantId);
         List<DryHerbFormula> list = dryHerbFormulaService.list(queryWrapper);
-        Formulas formulas = new Formulas();
+
+        List<HerbFormulaVo> voList = new ArrayList<>();
+
         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()));
+//            DryHerbInfo byId = dryHerbInfoService.getById(item.getHerbId());
+//            if (byId != null) {
+//                item.setPinyin(byId.getPinyin());
+//                item.setName(byId.getName());
+//            }
 
-            formula.setBaseParam(baseParam);
-            formula.setWaterParam(waterParam);
-            formula.setTypeParam(typeParam);
-            formula.setOffsetParam(offsetParam);
-            formulas.getDryFormulaList().add(formula);
+//            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);
+
+            HerbFormulaVo  vo = new HerbFormulaVo();
+            BeanUtil.copyProperties(item, vo);
+            voList.add(vo);
         });
-        // 鎶妚os杞崲鎴恱ml
-        // 鍒涘缓JAXBContext瀹炰緥
-        JAXBContext jaxbContext = JAXBContext.newInstance(Formulas.class);
+//        // 鎶妚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);
 
-        // 鍒涘缓Marshaller瀹炰緥
-        Marshaller marshaller = jaxbContext.createMarshaller();
+//        String jsonString = JSONObject.toJSONString(voList);
+//
+//        String json = JSON.toJSONString(voList);
+//        System.out.println(jsonString);
 
-        // 璁剧疆鏄惁鏍煎紡鍖栬緭鍑�
-        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, false);
-
-        // 灏嗗璞″簭鍒楀寲鍒板瓧绗︿覆
-        StringWriter writer = new StringWriter();
-        marshaller.marshal(formulas, writer);
-
-        return Result.OK("璇锋眰鎴愬姛", writer.toString());
+        return Result.OK("璇锋眰鎴愬姛", voList);
 
 
     }

--
Gitblit v1.9.3