干燥机配套车间生产管理系统/云平台服务端
baoshiwei
14 小时以前 156e1f871e3d8b3f36de09ca4f5b58be8e20acb4
优化配方下发接口
已修改3个文件
已添加1个文件
178 ■■■■ 文件已修改
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/HerbFormulaVo.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryHerbFormula.java
@@ -48,6 +48,10 @@
    @Excel(name = "配方名称", width = 15)
    @ApiModelProperty(value = "配方名称")
    private String name;
    /**缩写*/
    @Excel(name = "缩写", width = 15)
    @ApiModelProperty(value = "缩写")
    private String abbr;
    /**药材拼音*/
    @Excel(name = "药材拼音", width = 15)
    @ApiModelProperty(value = "药材拼音")
@@ -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")
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();
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;
}
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();
        // èŽ·å–è¯·æ±‚ä¸»æœºçš„IP地址
@@ -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);
        });
        // æŠŠvos转换成xml
        // åˆ›å»ºJAXBContext实例
        JAXBContext jaxbContext = JAXBContext.newInstance(Formulas.class);
//        // æŠŠvos转换成xml
//        // åˆ›å»º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);
    }