Jelajahi Sumber

加入白坯投放到产线小时数据

wukai 1 bulan lalu
induk
melakukan
76f9101020

+ 48 - 0
jjt-admin/src/test/java/com/jjt/inventory/BpOutTest.java

@@ -0,0 +1,48 @@
+package com.jjt.inventory;
+
+import com.jjt.JjtApplication;
+import com.jjt.inventory.service.ITwinCalcHourBpOutService;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+/**
+ * 印花机
+ */
+@SpringBootTest(classes = JjtApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class BpOutTest {
+    @Resource
+    ITwinCalcHourBpOutService bpOutService;
+
+    @Test
+    public void hour() {
+        String st = "2025-06-01";
+        String ed = "2025-06-12";
+        LocalDate localDate = LocalDate.parse(st);
+        LocalDate endDate = LocalDate.parse(ed);
+        LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN).plusHours(13);
+//        hourRzService.hour(start, start.plusHours(1));
+        LocalDateTime end = LocalDateTime.of(endDate.plusDays(1), LocalTime.MIN).plusHours(6);
+        LocalDateTime curr = LocalDateTime.now();
+        if (end.isAfter(curr)) {
+            end = curr.minusHours(1);
+        }
+        do {
+            int i = start.getHour();
+            System.err.println(start.toLocalDate().toString() + "\t" + i);
+            bpOutService.calc(start, start.plusHours(1));
+            start = start.plusHours(1);
+        } while (!start.isAfter(end));
+//        bpOutService.hour();
+    }
+
+    public static void main(String[] args) {
+        String v = "299.000";
+        System.out.println(new BigDecimal(v).intValue());
+    }
+}

+ 28 - 0
jjt-biz/src/main/java/com/jjt/biz/service/impl/ApiYrServiceImpl.java

@@ -10,6 +10,8 @@ import com.jjt.calc.service.ITwinCalcHourYhjService;
 import com.jjt.common.constant.CacheConstants;
 import com.jjt.common.core.redis.RedisCache;
 import com.jjt.common.utils.DateUtils;
+import com.jjt.inventory.domain.TwinCalcHourBpOut;
+import com.jjt.inventory.service.ITwinCalcHourBpOutService;
 import com.jjt.rz.domain.TwinCalcHourRz;
 import com.jjt.rz.service.ITwinCalcHourRzService;
 import com.jjt.rz.service.ITwinDeviceRzService;
@@ -52,6 +54,9 @@ public class ApiYrServiceImpl implements IApiYrService {
     private ITwinCalcHourRzService hourRzService;
     @Resource
     private ITwinDeviceTypeService typeService;
+    @Resource
+    ITwinCalcHourBpOutService bpOutService;
+
 
     /**
      * 获取产线状态
@@ -313,12 +318,35 @@ public class ApiYrServiceImpl implements IApiYrService {
             CompareVO vo = itemProcessor(req, flag);
             int totalLength = getTotalLength(req);
             vo.setLength(totalLength);
+
+            vo.setBp(getBpLength(req));
             result.add(vo);
         }
         return result;
     }
 
     /**
+     * 获取白坯投放量
+     *
+     * @param req 输入参数
+     * @return 结果
+     */
+    private Integer getBpLength(YrCompareBackReq req) {
+        //获取印花产量数据
+        TwinCalcHourBpOut bpOut = new TwinCalcHourBpOut();
+        bpOut.setDeviceId(req.getLine());
+        Map<String, Object> params = new HashMap<>(16);
+        params.put("sTime", DateUtils.toDate(req.getStart()));
+        params.put("eTime", DateUtils.toDate(req.getEnd()));
+        bpOut.setParams(params);
+        List<TwinCalcHourBpOut> yhjList = bpOutService.selectTwinCalcHourBpOutList(bpOut);
+        int totalLength = yhjList.stream()
+                .mapToInt(TwinCalcHourBpOut::getLength)
+                .sum();
+        return totalLength;
+    }
+
+    /**
      * 获取印花产量数据
      *
      * @param req 请求

+ 113 - 0
jjt-biz/src/main/java/com/jjt/inventory/controller/TwinCalcHourBpOutController.java

@@ -0,0 +1,113 @@
+package com.jjt.inventory.controller;
+
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.jjt.common.annotation.Log;
+import com.jjt.common.core.controller.BaseController;
+import com.jjt.common.core.domain.AjaxResult;
+import com.jjt.common.enums.BusinessType;
+import com.jjt.inventory.domain.TwinCalcHourBpOut;
+import com.jjt.inventory.service.ITwinCalcHourBpOutService;
+import com.jjt.common.utils.poi.ExcelUtil;
+import com.jjt.common.core.page.TableDataInfo;
+
+/**
+ * 白坯投放量小时数据Controller
+ *
+ * @author wukai
+ * @date 2025-06-11
+ */
+@Api(tags="白坯投放量小时数据")
+@RestController
+@RequestMapping("/inventory/out")
+public class TwinCalcHourBpOutController extends BaseController{
+    @Resource
+    private ITwinCalcHourBpOutService twinCalcHourBpOutService;
+
+    /**
+     * 查询白坯投放量小时数据列表
+     */
+    @ApiOperation("查询白坯投放量小时数据列表")
+    @PreAuthorize("@ss.hasPermi('inventory:out:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TwinCalcHourBpOut twinCalcHourBpOut)
+    {
+        startPage();
+        List<TwinCalcHourBpOut> list = twinCalcHourBpOutService.selectTwinCalcHourBpOutList(twinCalcHourBpOut);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出白坯投放量小时数据列表
+     */
+    @ApiOperation("导出白坯投放量小时数据列表")
+    @PreAuthorize("@ss.hasPermi('inventory:out:export')")
+    @Log(title = "白坯投放量小时数据", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TwinCalcHourBpOut twinCalcHourBpOut)
+    {
+        List<TwinCalcHourBpOut> list = twinCalcHourBpOutService.selectTwinCalcHourBpOutList(twinCalcHourBpOut);
+        ExcelUtil<TwinCalcHourBpOut> util = new ExcelUtil<TwinCalcHourBpOut>(TwinCalcHourBpOut.class);
+        util.exportExcel(response, list, "白坯投放量小时数据数据");
+    }
+
+    /**
+     * 获取白坯投放量小时数据详细信息
+     */
+    @ApiOperation("获取白坯投放量小时数据详细信息")
+    @PreAuthorize("@ss.hasPermi('inventory:out:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(twinCalcHourBpOutService.selectTwinCalcHourBpOutById(id));
+    }
+
+    /**
+     * 新增白坯投放量小时数据
+     */
+    @ApiOperation("新增白坯投放量小时数据")
+    @PreAuthorize("@ss.hasPermi('inventory:out:add')")
+    @Log(title = "白坯投放量小时数据", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TwinCalcHourBpOut twinCalcHourBpOut)
+    {
+        return toAjax(twinCalcHourBpOutService.insertTwinCalcHourBpOut(twinCalcHourBpOut));
+    }
+
+    /**
+     * 修改白坯投放量小时数据
+     */
+    @ApiOperation("修改白坯投放量小时数据")
+    @PreAuthorize("@ss.hasPermi('inventory:out:edit')")
+    @Log(title = "白坯投放量小时数据", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TwinCalcHourBpOut twinCalcHourBpOut)
+    {
+        return toAjax(twinCalcHourBpOutService.updateTwinCalcHourBpOut(twinCalcHourBpOut));
+    }
+
+    /**
+     * 删除白坯投放量小时数据
+     */
+    @ApiOperation("删除白坯投放量小时数据")
+    @PreAuthorize("@ss.hasPermi('inventory:out:remove')")
+    @Log(title = "白坯投放量小时数据", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(twinCalcHourBpOutService.deleteTwinCalcHourBpOutByIds(ids));
+    }
+}

+ 56 - 0
jjt-biz/src/main/java/com/jjt/inventory/domain/TwinCalcHourBpOut.java

@@ -0,0 +1,56 @@
+package com.jjt.inventory.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.jjt.common.annotation.Excel;
+import com.jjt.common.core.domain.BaseEntity;
+
+/**
+ * 白坯投放量小时数据对象 TWIN_CALC_HOUR_BP_OUT
+ *
+ * @author wukai
+ * @date 2025-06-11
+ */
+@ApiModel(value = "TwinCalcHourBpOut", description = "白坯投放量小时数据")
+@Data
+public class TwinCalcHourBpOut extends BaseEntity{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    @ApiModelProperty("ID")
+    @TableId
+    private Long id;
+
+    /** 日期 */
+    @ApiModelProperty("日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date dataDate;
+
+    /** 小时;0-23 */
+    @ApiModelProperty("小时;0-23")
+    @Excel(name = "小时;0-23")
+    private Integer hour;
+
+    /** 设备ID */
+    @ApiModelProperty("设备ID")
+    @Excel(name = "设备ID")
+    private Integer deviceId;
+
+    /** 投放米数 */
+    @ApiModelProperty("投放米数")
+    @Excel(name = "投放米数")
+    private Integer length;
+
+    /** 投放重量 */
+    @ApiModelProperty("投放重量")
+    @Excel(name = "投放重量")
+    private Integer weight;
+
+}

+ 62 - 0
jjt-biz/src/main/java/com/jjt/inventory/mapper/TwinCalcHourBpOutMapper.java

@@ -0,0 +1,62 @@
+package com.jjt.inventory.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jjt.inventory.domain.TwinCalcHourBpOut;
+
+/**
+ * 白坯投放量小时数据Mapper接口
+ * 
+ * @author wukai
+ * @date 2025-06-11
+ */
+public interface TwinCalcHourBpOutMapper extends BaseMapper<TwinCalcHourBpOut>
+{
+    /**
+     * 查询白坯投放量小时数据
+     * 
+     * @param id 白坯投放量小时数据主键
+     * @return 白坯投放量小时数据
+     */
+    public TwinCalcHourBpOut selectTwinCalcHourBpOutById(Long id);
+
+    /**
+     * 查询白坯投放量小时数据列表
+     * 
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 白坯投放量小时数据集合
+     */
+    public List<TwinCalcHourBpOut> selectTwinCalcHourBpOutList(TwinCalcHourBpOut twinCalcHourBpOut);
+
+    /**
+     * 新增白坯投放量小时数据
+     * 
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 结果
+     */
+    public int insertTwinCalcHourBpOut(TwinCalcHourBpOut twinCalcHourBpOut);
+
+    /**
+     * 修改白坯投放量小时数据
+     * 
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 结果
+     */
+    public int updateTwinCalcHourBpOut(TwinCalcHourBpOut twinCalcHourBpOut);
+
+    /**
+     * 删除白坯投放量小时数据
+     * 
+     * @param id 白坯投放量小时数据主键
+     * @return 结果
+     */
+    public int deleteTwinCalcHourBpOutById(Long id);
+
+    /**
+     * 批量删除白坯投放量小时数据
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTwinCalcHourBpOutByIds(Long[] ids);
+}

+ 74 - 0
jjt-biz/src/main/java/com/jjt/inventory/service/ITwinCalcHourBpOutService.java

@@ -0,0 +1,74 @@
+package com.jjt.inventory.service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import com.jjt.inventory.domain.TwinCalcHourBpOut;
+
+/**
+ * 白坯投放量小时数据Service接口
+ *
+ * @author wukai
+ * @date 2025-06-11
+ */
+public interface ITwinCalcHourBpOutService {
+    /**
+     * 查询白坯投放量小时数据
+     *
+     * @param id 白坯投放量小时数据主键
+     * @return 白坯投放量小时数据
+     */
+    public TwinCalcHourBpOut selectTwinCalcHourBpOutById(Long id);
+
+    /**
+     * 查询白坯投放量小时数据列表
+     *
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 白坯投放量小时数据集合
+     */
+    public List<TwinCalcHourBpOut> selectTwinCalcHourBpOutList(TwinCalcHourBpOut twinCalcHourBpOut);
+
+    /**
+     * 新增白坯投放量小时数据
+     *
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 结果
+     */
+    public int insertTwinCalcHourBpOut(TwinCalcHourBpOut twinCalcHourBpOut);
+
+    /**
+     * 修改白坯投放量小时数据
+     *
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 结果
+     */
+    public int updateTwinCalcHourBpOut(TwinCalcHourBpOut twinCalcHourBpOut);
+
+    /**
+     * 批量删除白坯投放量小时数据
+     *
+     * @param ids 需要删除的白坯投放量小时数据主键集合
+     * @return 结果
+     */
+    public int deleteTwinCalcHourBpOutByIds(Long[] ids);
+
+    /**
+     * 删除白坯投放量小时数据信息
+     *
+     * @param id 白坯投放量小时数据主键
+     * @return 结果
+     */
+    public int deleteTwinCalcHourBpOutById(Long id);
+    /**
+     * 按小时白坯投放数据
+     */
+    void hour();
+
+    /**
+     * 指定时间白坯投放数据
+     *
+     * @param start 开始
+     * @param end   结束
+     */
+    void calc(LocalDateTime start, LocalDateTime end);
+
+}

+ 179 - 0
jjt-biz/src/main/java/com/jjt/inventory/service/impl/TwinCalcHourBpOutServiceImpl.java

@@ -0,0 +1,179 @@
+package com.jjt.inventory.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.jjt.common.utils.DateUtils;
+import com.jjt.inventory.domain.TwinCalcHourBpOut;
+import com.jjt.inventory.mapper.TwinCalcHourBpOutMapper;
+import com.jjt.inventory.service.ITwinCalcHourBpOutService;
+import com.jjt.inventory.vo.StockBpOutVO;
+import com.jjt.utils.MssqlService;
+import com.jjt.utils.Tools;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 白坯投放量小时数据Service业务层处理
+ *
+ * @author wukai
+ * @date 2025-06-11
+ */
+@Service
+public class TwinCalcHourBpOutServiceImpl implements ITwinCalcHourBpOutService {
+    @Resource
+    private TwinCalcHourBpOutMapper twinCalcHourBpOutMapper;
+    @Resource
+    private MssqlService mssqlService;
+
+    @Resource
+    private SqlSessionFactory factory;
+
+    /**
+     * 查询白坯投放量小时数据
+     *
+     * @param id 白坯投放量小时数据主键
+     * @return 白坯投放量小时数据
+     */
+    @Override
+    public TwinCalcHourBpOut selectTwinCalcHourBpOutById(Long id) {
+        return twinCalcHourBpOutMapper.selectTwinCalcHourBpOutById(id);
+    }
+
+    /**
+     * 查询白坯投放量小时数据列表
+     *
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 白坯投放量小时数据
+     */
+    @Override
+    public List<TwinCalcHourBpOut> selectTwinCalcHourBpOutList(TwinCalcHourBpOut twinCalcHourBpOut) {
+        return twinCalcHourBpOutMapper.selectTwinCalcHourBpOutList(twinCalcHourBpOut);
+    }
+
+    /**
+     * 新增白坯投放量小时数据
+     *
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 结果
+     */
+    @Override
+    public int insertTwinCalcHourBpOut(TwinCalcHourBpOut twinCalcHourBpOut) {
+        return twinCalcHourBpOutMapper.insertTwinCalcHourBpOut(twinCalcHourBpOut);
+    }
+
+    /**
+     * 修改白坯投放量小时数据
+     *
+     * @param twinCalcHourBpOut 白坯投放量小时数据
+     * @return 结果
+     */
+    @Override
+    public int updateTwinCalcHourBpOut(TwinCalcHourBpOut twinCalcHourBpOut) {
+        return twinCalcHourBpOutMapper.updateTwinCalcHourBpOut(twinCalcHourBpOut);
+    }
+
+    /**
+     * 批量删除白坯投放量小时数据
+     *
+     * @param ids 需要删除的白坯投放量小时数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTwinCalcHourBpOutByIds(Long[] ids) {
+        return twinCalcHourBpOutMapper.deleteTwinCalcHourBpOutByIds(ids);
+    }
+
+    /**
+     * 删除白坯投放量小时数据信息
+     *
+     * @param id 白坯投放量小时数据主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTwinCalcHourBpOutById(Long id) {
+        return twinCalcHourBpOutMapper.deleteTwinCalcHourBpOutById(id);
+    }
+
+    /**
+     * 按小时白坯投放数据
+     */
+    @Override
+    public void hour() {
+        LocalDateTime ldt = Tools.currWholeTime();
+        LocalDateTime start = ldt.minusHours(1);
+        LocalDateTime end = ldt.minusSeconds(1);
+        calc(start, end);
+    }
+
+    /**
+     * 指定时间白坯投放数据
+     *
+     * @param start 开始
+     * @param end   结束
+     */
+    @Override
+    public void calc(LocalDateTime start, LocalDateTime end) {
+        String sqlSuffix = " AND [时间] BETWEEN CONVERT(DATETIME, '" + start.toString().replace("T", " ") + "') AND CONVERT(DATETIME, '" + end.toString().replace("T", " ") + "')";
+        String outSql = "SELECT [时间] TIME,[仓库编码] CODE,[仓库名称] NAME,[物料编码] SKU,[物料描述] SKU_DESCRC,[当日出库量] NUM,[单托_支数_米数] LENGTH,[单重_KG] WEIGHT,[产线_目标库位名称] TARGET FROM V_MES_FAYUN t" +
+                " WHERE [仓库编码]='WH04' AND [产线_目标库位名称] LIKE '%上料点'" + sqlSuffix;
+        List<Map<String, Object>> outList = mssqlService.executeQuery(outSql);
+        Map<String, StockBpOutVO> stats = new HashMap<>(16);
+        outList.forEach(map -> {
+            String target = (String) map.get("TARGET");
+            //“染整白坯7#上料点”,解析产线
+            String line = target.replace("染整白坯", "").replace("#上料点", "");
+            int length = map.get("LENGTH") != null ? new BigDecimal(map.get("LENGTH").toString()).intValue() : 0;
+            int weight = map.get("WEIGHT") != null ? new BigDecimal(map.get("WEIGHT").toString()).intValue() : 0;
+
+            StockBpOutVO vo = stats.computeIfAbsent(line, k -> new StockBpOutVO());
+            vo.setLine(line);
+            vo.addLength(length);
+            vo.addWeight(weight);
+        });
+
+        List<StockBpOutVO> list = new ArrayList<>(stats.values());
+        List<TwinCalcHourBpOut> bpOuts = new ArrayList<>();
+        list.forEach(vo -> {
+            TwinCalcHourBpOut out = new TwinCalcHourBpOut();
+            out.setDataDate(DateUtils.toDate(start.toLocalDate()));
+            out.setHour(start.getHour());
+            out.setDeviceId(Integer.parseInt(vo.getLine()));
+            out.setLength(vo.getLength());
+            out.setWeight(vo.getWeight());
+            bpOuts.add(out);
+        });
+        delete(start.toLocalDate(), start.getHour());
+        try (SqlSession sqlSession = factory.openSession(ExecutorType.BATCH, false)) {
+            if (bpOuts.size() > 0) {
+                TwinCalcHourBpOutMapper mapper = sqlSession.getMapper(TwinCalcHourBpOutMapper.class);
+                bpOuts.forEach(mapper::insertTwinCalcHourBpOut);
+                sqlSession.commit();
+            }
+        }
+    }
+
+
+    /**
+     * 删除白坯仓库小时数据信息
+     *
+     * @param date 日期
+     * @param hour 小时
+     */
+    public void delete(LocalDate date, int hour) {
+        QueryWrapper<TwinCalcHourBpOut> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("data_date", date);
+        queryWrapper.eq("hour", hour);
+        twinCalcHourBpOutMapper.delete(queryWrapper);
+    }
+
+}

+ 36 - 0
jjt-biz/src/main/java/com/jjt/inventory/vo/StockBpOutVO.java

@@ -0,0 +1,36 @@
+package com.jjt.inventory.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 库存视图
+ *
+ * @author ruoyi
+ * @date 2024-12-30
+ */
+@Data
+@ApiModel(value = "StockBpOutVO", description = "白坯布出库到目标产线")
+public class StockBpOutVO {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(name = "目标产线")
+    private String line;
+    @ApiModelProperty(name = "米长")
+    private Integer length;
+    @ApiModelProperty(name = "重量")
+    private Integer weight;
+
+    public StockBpOutVO() {
+        this.length = 0;
+        this.weight = 0;
+    }
+
+    public void addLength(Integer para) {
+        this.length += para;
+    }
+
+    public void addWeight(Integer para) {
+        this.weight += para;
+    }
+}

+ 2 - 0
jjt-biz/src/main/java/com/jjt/rz/vo/CompareVO.java

@@ -41,6 +41,8 @@ public class CompareVO {
     private BigDecimal oil;
     @ApiModelProperty("产能")
     private Integer length;
+    @ApiModelProperty("白坯投放量")
+    private Integer bp;
 
     @Data
     public static class Qz {

+ 3 - 6
jjt-biz/src/main/java/com/jjt/task/InventoryTask.java

@@ -1,9 +1,7 @@
 package com.jjt.task;
 
-import com.jjt.calc.service.ITwinCalcDayYhjService;
-import com.jjt.calc.service.ITwinCalcHourYhjService;
 import com.jjt.inventory.service.IInventoryService;
-import com.jjt.rz.service.ITwinCalcHourRzService;
+import com.jjt.inventory.service.ITwinCalcHourBpOutService;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
@@ -20,15 +18,14 @@ public class InventoryTask {
     @Resource
     private IInventoryService inventoryService;
     @Resource
-    private ITwinCalcDayYhjService dayService;
-    @Resource
-    private ITwinCalcHourRzService rzService;
+    private ITwinCalcHourBpOutService bpOutService;
 
     /**
      * 统计上一时段数据
      */
     public void last() {
         inventoryService.hour();
+        bpOutService.hour();
     }
 
     /**

+ 88 - 0
jjt-biz/src/main/resources/mapper/inventory/TwinCalcHourBpOutMapper.xml

@@ -0,0 +1,88 @@
+<?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="com.jjt.inventory.mapper.TwinCalcHourBpOutMapper">
+
+    <resultMap type="TwinCalcHourBpOut" id="TwinCalcHourBpOutResult">
+        <result property="id" column="ID"/>
+        <result property="dataDate" column="DATA_DATE"/>
+        <result property="hour" column="HOUR"/>
+        <result property="deviceId" column="DEVICE_ID"/>
+        <result property="length" column="LENGTH"/>
+        <result property="weight" column="WEIGHT"/>
+        <result property="remark" column="REMARK"/>
+    </resultMap>
+
+    <sql id="selectTwinCalcHourBpOutVo">
+        select ID, DATA_DATE, HOUR, DEVICE_ID, LENGTH, WEIGHT, REMARK
+        from TWIN_CALC_HOUR_BP_OUT
+    </sql>
+
+    <select id="selectTwinCalcHourBpOutList" parameterType="TwinCalcHourBpOut" resultMap="TwinCalcHourBpOutResult">
+        <include refid="selectTwinCalcHourBpOutVo"/>
+        <where>
+            <if test="dataDate != null ">and DATA_DATE = #{dataDate}</if>
+            <if test="hour != null ">and HOUR = #{hour}</if>
+            <if test="deviceId != null ">and DEVICE_ID = #{deviceId}</if>
+            <if test="length != null ">and LENGTH = #{length}</if>
+            <if test="weight != null ">and WEIGHT = #{weight}</if>
+            <if test="remark != null  and remark != ''">and REMARK = #{remark}</if>
+            <if test="params.sTime != null and params.eTime != null">
+                and DATEADD(hour, HOUR, DATA_DATE) between #{params.sTime} and #{params.eTime}
+            </if>
+        </where>
+        order by ID desc
+    </select>
+
+    <select id="selectTwinCalcHourBpOutById" parameterType="Long" resultMap="TwinCalcHourBpOutResult">
+        <include refid="selectTwinCalcHourBpOutVo"/>
+        where ID = #{id}
+    </select>
+
+    <insert id="insertTwinCalcHourBpOut" parameterType="TwinCalcHourBpOut">
+        insert into TWIN_CALC_HOUR_BP_OUT
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="dataDate != null">DATA_DATE,</if>
+            <if test="hour != null">HOUR,</if>
+            <if test="deviceId != null">DEVICE_ID,</if>
+            <if test="length != null">LENGTH,</if>
+            <if test="weight != null">WEIGHT,</if>
+            <if test="remark != null">REMARK,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="dataDate != null">#{dataDate},</if>
+            <if test="hour != null">#{hour},</if>
+            <if test="deviceId != null">#{deviceId},</if>
+            <if test="length != null">#{length},</if>
+            <if test="weight != null">#{weight},</if>
+            <if test="remark != null">#{remark},</if>
+        </trim>
+    </insert>
+
+    <update id="updateTwinCalcHourBpOut" parameterType="TwinCalcHourBpOut">
+        update TWIN_CALC_HOUR_BP_OUT
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="dataDate != null">DATA_DATE = #{dataDate},</if>
+            <if test="hour != null">HOUR = #{hour},</if>
+            <if test="deviceId != null">DEVICE_ID = #{deviceId},</if>
+            <if test="length != null">LENGTH = #{length},</if>
+            <if test="weight != null">WEIGHT = #{weight},</if>
+            <if test="remark != null">REMARK = #{remark},</if>
+        </trim>
+        where ID = #{id}
+    </update>
+
+    <delete id="deleteTwinCalcHourBpOutById" parameterType="Long">
+        delete
+        from TWIN_CALC_HOUR_BP_OUT
+        where ID = #{id}
+    </delete>
+
+    <delete id="deleteTwinCalcHourBpOutByIds" parameterType="String">
+        delete from TWIN_CALC_HOUR_BP_OUT where ID in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>