干燥机配套车间生产管理系统/云平台服务端
baoshiwei
2023-06-30 aa1cceece8b421c6f3647bfeddb9188562e2f77f
实时数据增加字段
已添加6个文件
已修改2个文件
549 ■■■■■ 文件已修改
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryProdRecord.java 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryProdRecordController.java 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/DryProdRecordMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/xml/DryProdRecordMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryProdRecordService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryProdRecordServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryProdRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,207 @@
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:   2023-06-26
 * @Version: V1.0
 */
@Data
@TableName("dry_prod_record")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="dry_prod_record对象", description="生产操作记录")
public class DryProdRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    /**id*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String id;
    /**品名*/
    @Excel(name = "品名", width = 15)
    @ApiModelProperty(value = "品名")
    private String reportHeadName;
    /**批次*/
    @Excel(name = "批次", width = 15)
    @ApiModelProperty(value = "批次")
    private String reportHeadBatch;
    /**数量*/
    @Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private String reportHeadNum;
    /**设备*/
    @Excel(name = "设备", width = 15)
    @ApiModelProperty(value = "设备")
    private String reportHeadMachine;
    /**接料人*/
    @Excel(name = "接料人", width = 15)
    @ApiModelProperty(value = "接料人")
    private String reportHeadAccepter;
    /**生产日期*/
    @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 reportHeadDate;
    /**班组长*/
    @Excel(name = "班组长", width = 15)
    @ApiModelProperty(value = "班组长")
    private String reportHeadLeader;
    /**工艺员*/
    @Excel(name = "工艺员", width = 15)
    @ApiModelProperty(value = "工艺员")
    private String reportHeadTecher;
    /**生产现场*/
    @Excel(name = "生产现场", width = 15)
    @ApiModelProperty(value = "生产现场")
    private Integer reportCheckField;
    /**执行文件*/
    @Excel(name = "执行文件", width = 15)
    @ApiModelProperty(value = "执行文件")
    private Integer reportCheckFile;
    /**物料标示*/
    @Excel(name = "物料标示", width = 15)
    @ApiModelProperty(value = "物料标示")
    private Integer reportCheckTag;
    /**称量器具*/
    @Excel(name = "称量器具", width = 15)
    @ApiModelProperty(value = "称量器具")
    private Integer reportCheckTool;
    /**检查人*/
    @Excel(name = "检查人", width = 15)
    @ApiModelProperty(value = "检查人")
    private String reportCheckMan;
    /**检查情况*/
    @Excel(name = "检查情况", width = 15)
    @ApiModelProperty(value = "检查情况")
    private Integer reportCheckStatus;
    /**QA*/
    @Excel(name = "QA", width = 15)
    @ApiModelProperty(value = "QA")
    private String reportCheckQa;
    /**异常记录*/
    @Excel(name = "异常记录", width = 15)
    @ApiModelProperty(value = "异常记录")
    private String reportCheckRecord;
    /**外观检查*/
    @Excel(name = "外观检查", width = 15)
    @ApiModelProperty(value = "外观检查")
    private Integer reportProductView;
    /**吹风*/
    @Excel(name = "吹风", width = 15)
    @ApiModelProperty(value = "吹风")
    private Integer reportProductWind;
    /**晒*/
    @Excel(name = "晒", width = 15)
    @ApiModelProperty(value = "晒")
    private Integer reportProductSun;
    /**低温干燥*/
    @Excel(name = "低温干燥", width = 15)
    @ApiModelProperty(value = "低温干燥")
    private Integer reportProductLowDry;
    /**干燥*/
    @Excel(name = "干燥", width = 15)
    @ApiModelProperty(value = "干燥")
    private Integer reportProductDry;
    /**开始时间*/
    @Excel(name = "开始时间", width = 15)
    @ApiModelProperty(value = "开始时间")
    private String reportProductStart;
    /**结束时间*/
    @Excel(name = "结束时间", width = 15)
    @ApiModelProperty(value = "结束时间")
    private String reportProductEnd;
    /**干燥总时间*/
    @Excel(name = "干燥总时间", width = 15)
    @ApiModelProperty(value = "干燥总时间")
    private Integer reportProductTotal;
    /**干燥检查*/
    @Excel(name = "干燥检查", width = 15)
    @ApiModelProperty(value = "干燥检查")
    private Integer reportProductCheck;
    /**操作人*/
    @Excel(name = "操作人", width = 15)
    @ApiModelProperty(value = "操作人")
    private String reportProductMan1;
    /**复核人*/
    @Excel(name = "复核人", width = 15)
    @ApiModelProperty(value = "复核人")
    private String reportProductMan2;
    /**操作后重量*/
    @Excel(name = "操作后重量", width = 15)
    @ApiModelProperty(value = "操作后重量")
    private Double reportProductWeight;
    /**废料数量*/
    @Excel(name = "废料数量", width = 15)
    @ApiModelProperty(value = "废料数量")
    private Double reportProductWaste;
    /**收率*/
    @Excel(name = "收率", width = 15)
    @ApiModelProperty(value = "收率")
    private Double reportProductUse;
    /**QA*/
    @Excel(name = "QA", width = 15)
    @ApiModelProperty(value = "QA")
    private String reportProductQa;
    /**设备清理*/
    @Excel(name = "设备清理", width = 15)
    @ApiModelProperty(value = "设备清理")
    private Integer reportCleanMachine;
    /**废料清理*/
    @Excel(name = "废料清理", width = 15)
    @ApiModelProperty(value = "废料清理")
    private Integer reportCleanWaste;
    /**工具清理*/
    @Excel(name = "工具清理", width = 15)
    @ApiModelProperty(value = "工具清理")
    private Integer reportCleanTool;
    /**门窗清理*/
    @Excel(name = "门窗清理", width = 15)
    @ApiModelProperty(value = "门窗清理")
    private Integer reportCleanDoor;
    /**箱体清理*/
    @Excel(name = "箱体清理", width = 15)
    @ApiModelProperty(value = "箱体清理")
    private Integer reportCleanBox;
    /**生产记录清理*/
    @Excel(name = "生产记录清理", width = 15)
    @ApiModelProperty(value = "生产记录清理")
    private Integer reportCleanRecord;
    /**清场日期*/
    @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 reportCleanDate;
    /**清场人*/
    @Excel(name = "清场人", width = 15)
    @ApiModelProperty(value = "清场人")
    private String reportCleanMan;
    /**清场确认*/
    @Excel(name = "清场确认", width = 15)
    @ApiModelProperty(value = "清场确认")
    private Integer reportCleanConfirm;
    /**QA*/
    @Excel(name = "QA", width = 15)
    @ApiModelProperty(value = "QA")
    private String reportCleanQa;
}
jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java
@@ -6,6 +6,7 @@
import lombok.ToString;
import org.jeecg.modules.dry.entity.DryEquipment;
import java.util.Date;
import java.util.List;
@Data
@@ -110,5 +111,56 @@
    /**工单状态*/
    private Integer workorder_status;
    /**---------------------生产记录相关字段定义---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-------------------------*/
}
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryProdRecordController.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.DryProdRecord;
import org.jeecg.modules.dry.service.IDryProdRecordService;
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:   2023-06-26
 * @Version: V1.0
 */
@Api(tags="生产操作记录")
@RestController
@RequestMapping("/dry/dryProdRecord")
@Slf4j
public class DryProdRecordController extends JeecgController<DryProdRecord, IDryProdRecordService> {
    @Autowired
    private IDryProdRecordService dryProdRecordService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param dryProdRecord
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "生产操作记录-分页列表查询")
    @ApiOperation(value="生产操作记录-分页列表查询", notes="生产操作记录-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<DryProdRecord>> queryPageList(DryProdRecord dryProdRecord,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<DryProdRecord> queryWrapper = QueryGenerator.initQueryWrapper(dryProdRecord, req.getParameterMap());
        Page<DryProdRecord> page = new Page<DryProdRecord>(pageNo, pageSize);
        IPage<DryProdRecord> pageList = dryProdRecordService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param dryProdRecord
     * @return
     */
    @AutoLog(value = "生产操作记录-添加")
    @ApiOperation(value="生产操作记录-添加", notes="生产操作记录-添加")
    @RequiresPermissions("dry:dry_prod_record:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody DryProdRecord dryProdRecord) {
        dryProdRecordService.save(dryProdRecord);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param dryProdRecord
     * @return
     */
    @AutoLog(value = "生产操作记录-编辑")
    @ApiOperation(value="生产操作记录-编辑", notes="生产操作记录-编辑")
    @RequiresPermissions("dry:dry_prod_record:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody DryProdRecord dryProdRecord) {
        dryProdRecordService.updateById(dryProdRecord);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "生产操作记录-通过id删除")
    @ApiOperation(value="生产操作记录-通过id删除", notes="生产操作记录-通过id删除")
    @RequiresPermissions("dry:dry_prod_record:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        dryProdRecordService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "生产操作记录-批量删除")
    @ApiOperation(value="生产操作记录-批量删除", notes="生产操作记录-批量删除")
    @RequiresPermissions("dry:dry_prod_record:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.dryProdRecordService.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<DryProdRecord> queryById(@RequestParam(name="id",required=true) String id) {
        DryProdRecord dryProdRecord = dryProdRecordService.getById(id);
        if(dryProdRecord==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(dryProdRecord);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param dryProdRecord
    */
    @RequiresPermissions("dry:dry_prod_record:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, DryProdRecord dryProdRecord) {
        return super.exportXls(request, dryProdRecord, DryProdRecord.class, "生产操作记录");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    @RequiresPermissions("dry:dry_prod_record:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, DryProdRecord.class);
    }
}
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/DryProdRecordMapper.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.DryProdRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: ç”Ÿäº§æ“ä½œè®°å½•
 * @Author: jeecg-boot
 * @Date:   2023-06-26
 * @Version: V1.0
 */
public interface DryProdRecordMapper extends BaseMapper<DryProdRecord> {
}
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/mapper/xml/DryProdRecordMapper.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.DryProdRecordMapper">
</mapper>
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryProdRecordService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.dry.service;
import org.jeecg.modules.dry.entity.DryProdRecord;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: ç”Ÿäº§æ“ä½œè®°å½•
 * @Author: jeecg-boot
 * @Date:   2023-06-26
 * @Version: V1.0
 */
public interface IDryProdRecordService extends IService<DryProdRecord> {
}
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryProdRecordServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.dry.service.impl;
import org.jeecg.modules.dry.entity.DryProdRecord;
import org.jeecg.modules.dry.mapper.DryProdRecordMapper;
import org.jeecg.modules.dry.service.IDryProdRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: ç”Ÿäº§æ“ä½œè®°å½•
 * @Author: jeecg-boot
 * @Date:   2023-06-26
 * @Version: V1.0
 */
@Service
public class DryProdRecordServiceImpl extends ServiceImpl<DryProdRecordMapper, DryProdRecord> implements IDryProdRecordService {
}
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
@@ -9,10 +9,7 @@
import org.jeecg.common.config.TenantContext;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.modules.dry.common.CacheConstants;
import org.jeecg.modules.dry.entity.DryEquipment;
import org.jeecg.modules.dry.entity.DryHerb;
import org.jeecg.modules.dry.entity.DryOrder;
import org.jeecg.modules.dry.entity.DryOrderTrend;
import org.jeecg.modules.dry.entity.*;
import org.jeecg.modules.dry.service.*;
import org.jeecg.modules.dry.vo.DryOrderTrendVo;
import org.jeecg.modules.dry.vo.DryOrderVo;
@@ -42,6 +39,9 @@
    @Autowired
    private RedisUtil redisUtil;
    @Autowired
    private IDryProdRecordService prodRecordService;
    @Override
    @Transactional
@@ -90,6 +90,55 @@
        orderVo.setOrderStatus(realTimeDataVo.getWorkorder_status());
        DryOrderTrendVo trendVo = new DryOrderTrendVo(realTimeDataVo);
        // 2.2 ä¿å­˜å·¥å•含水率变化 æˆ– é‡é‡å˜åŒ–
        if(realTimeDataVo.getReport_flag()) {
            DryProdRecord prodRecord = new DryProdRecord();
            prodRecord.setReportHeadName(realTimeDataVo.getReport_head_name());
            prodRecord.setReportHeadBatch(realTimeDataVo.getReport_head_batch());
            prodRecord.setReportHeadNum(realTimeDataVo.getReport_head_num());
            prodRecord.setReportHeadMachine(realTimeDataVo.getReport_head_machine());
            prodRecord.setReportHeadAccepter(realTimeDataVo.getReport_head_accepter());
            prodRecord.setReportHeadDate(realTimeDataVo.getReport_head_date());
            prodRecord.setReportHeadLeader(realTimeDataVo.getReport_head_leader());
            prodRecord.setReportHeadTecher(realTimeDataVo.getReport_head_techer());
            prodRecord.setReportCheckField(realTimeDataVo.getReport_check_field()?1:0);
            prodRecord.setReportCheckFile(realTimeDataVo.getReport_check_file()?1:0);
            prodRecord.setReportCheckTag(realTimeDataVo.getReport_check_tag()?1:0);
            prodRecord.setReportCheckTool(realTimeDataVo.getReport_check_tool()?1:0);
            prodRecord.setReportCheckMan(realTimeDataVo.getReport_check_man());
            prodRecord.setReportCheckStatus(realTimeDataVo.getReport_check_status()?1:0);
            prodRecord.setReportCheckQa(realTimeDataVo.getReport_check_qa());
            prodRecord.setReportCheckRecord(realTimeDataVo.getReport_check_record());
            prodRecord.setReportProductView(realTimeDataVo.getReport_product_view()?1:0);
            prodRecord.setReportProductWind(realTimeDataVo.getReport_product_wind()?1:0);
            prodRecord.setReportProductSun(realTimeDataVo.getReport_product_sun()?1:0);
            prodRecord.setReportProductLowDry(realTimeDataVo.getReport_product_low_dry()?1:0);
            prodRecord.setReportProductDry(realTimeDataVo.getReport_product_dry()?1:0);
            prodRecord.setReportProductStart(realTimeDataVo.getReport_product_start());
            prodRecord.setReportProductEnd(realTimeDataVo.getReport_product_end());
            prodRecord.setReportProductTotal(realTimeDataVo.getReport_product_total());
            prodRecord.setReportProductCheck(realTimeDataVo.getReport_product_check()?1:0);
            prodRecord.setReportProductMan1(realTimeDataVo.getReport_product_man1());
            prodRecord.setReportProductMan2(realTimeDataVo.getReport_product_man2());
            prodRecord.setReportProductWeight(realTimeDataVo.getReport_product_weight());
            prodRecord.setReportProductWaste(realTimeDataVo.getReport_product_waste());
            prodRecord.setReportProductUse(realTimeDataVo.getReport_product_use());
            prodRecord.setReportProductQa(realTimeDataVo.getReport_product_qa());
            prodRecord.setReportCleanMachine(realTimeDataVo.getReport_clean_machine()?1:0);
            prodRecord.setReportCleanWaste(realTimeDataVo.getReport_clean_waste()?1:0);
            prodRecord.setReportCleanTool(realTimeDataVo.getReport_clean_tool()?1:0);
            prodRecord.setReportCleanDoor(realTimeDataVo.getReport_clean_door()?1:0);
            prodRecord.setReportCleanBox(realTimeDataVo.getReport_clean_box()?1:0);
            prodRecord.setReportCleanRecord(realTimeDataVo.getReport_clean_record()?1:0);
            prodRecord.setReportCleanDate(realTimeDataVo.getReport_clean_date());
            prodRecord.setReportCleanMan(realTimeDataVo.getReport_clean_man());
            prodRecord.setReportCleanConfirm(realTimeDataVo.getReport_clean_confirm()?1:0);
            prodRecord.setReportCleanQa(realTimeDataVo.getReport_clean_qa());
            prodRecordService.save(prodRecord);
        }
        saveOrderTrendVo(trendVo, orderVo);
        orderVo.setTrendVo(trendVo);
        orderVo.getBellowsTemp().put(realTimeDataVo.getTime3(), realTimeDataVo.getTemp2());