Browse Source

染整线参数数据补录

wukai 1 month ago
parent
commit
6b79965fca

+ 2 - 2
jjt-admin/src/test/java/com/jjt/task/RzTest.java

@@ -127,11 +127,11 @@ public class RzTest {
     @Test
     public void hour() {
         iotService.setToken();
-        String st = "2025-06-01";
+        String st = "2025-06-05";
         String ed = "2025-06-06";
         LocalDate localDate = LocalDate.parse(st);
         LocalDate endDate = LocalDate.parse(ed);
-        LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN).plusHours(7);
+        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();

+ 6 - 0
jjt-biz/src/main/java/com/jjt/rz/mapper/TwinCalcHourRzMapper.java

@@ -68,4 +68,10 @@ public interface TwinCalcHourRzMapper extends BaseMapper<TwinCalcHourRz> {
      * @param hour 小时
      */
     void deleteTwinCalcHourRz(@Param("date") String date, @Param("hour") int hour);
+
+    /**
+     * 查询最后一条记录
+     * @return 结果
+     */
+    TwinCalcHourRz lastRecord();
 }

+ 4 - 0
jjt-biz/src/main/java/com/jjt/rz/service/ITwinCalcHourRzService.java

@@ -81,4 +81,8 @@ public interface ITwinCalcHourRzService {
      * @param hour 时间
      */
     void deleteTwinCalcHourRz(LocalDate date, int hour);
+    /**
+     * 补录数据至当前时间
+     */
+    void calc2Curr();
 }

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

@@ -4,6 +4,8 @@ import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson2.JSON;
+import com.jjt.calc.domain.TwinCalcHourYhj;
+import com.jjt.common.utils.DateUtils;
 import com.jjt.common.utils.StringUtils;
 import com.jjt.rz.domain.TwinCalcHourRz;
 import com.jjt.rz.domain.TwinDeviceRz;
@@ -16,6 +18,7 @@ import com.jjt.rz.service.ITwinDeviceTypeService;
 import com.jjt.utils.IotService;
 import com.jjt.utils.Tools;
 import javafx.util.Pair;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
@@ -24,6 +27,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.LocalTime;
 import java.time.ZoneOffset;
 import java.util.*;
 
@@ -34,6 +38,7 @@ import java.util.*;
  * @date 2025-06-03
  */
 @Service
+@Slf4j
 public class TwinCalcHourRzServiceImpl implements ITwinCalcHourRzService {
     @Resource
     private TwinCalcHourRzMapper twinCalcHourRzMapper;
@@ -304,4 +309,27 @@ public class TwinCalcHourRzServiceImpl implements ITwinCalcHourRzService {
     public void deleteTwinCalcHourRz(LocalDate date, int hour) {
         twinCalcHourRzMapper.deleteTwinCalcHourRz(date.toString(), hour);
     }
+
+    /**
+     * 补录数据至当前时间
+     */
+    @Override
+    public void calc2Curr() {
+        TwinCalcHourRz last = lastRecord();
+        LocalDate localDate = DateUtils.toLocalDate(last.getDataDate());
+        LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN).plusHours(last.getHour() + 1);
+        LocalDateTime end = start.plusHours(1);
+
+        LocalDateTime stop = Tools.currWholeTime();
+        while (!end.isAfter(stop)) {
+            hour(start, end);
+            log.info("补录数据===========start:{},end:{},stop:{}", start, end, stop);
+            start = end;
+            end = end.plusHours(1);
+        }
+    }
+
+    private TwinCalcHourRz lastRecord() {
+        return twinCalcHourRzMapper.lastRecord();
+    }
 }

+ 5 - 0
jjt-biz/src/main/java/com/jjt/utils/InitService.java

@@ -4,6 +4,7 @@ import com.jjt.biz.service.IApiService;
 import com.jjt.calc.service.ITwinCalcHourEnergyService;
 import com.jjt.calc.service.ITwinCalcHourService;
 import com.jjt.calc.service.ITwinCalcHourYhjService;
+import com.jjt.rz.service.ITwinCalcHourRzService;
 import com.jjt.vms.service.IWmsService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.core.env.Environment;
@@ -35,6 +36,8 @@ public class InitService {
     private ITwinCalcHourYhjService twinCalcHourYhjService;
     @Resource
     private ITwinCalcHourEnergyService twinCalcHourEnergyService;
+    @Resource
+    private ITwinCalcHourRzService rzService;
 
     @PostConstruct
     public void init() {
@@ -51,6 +54,8 @@ public class InitService {
             iotService.setToken();
             //补录印花线数据
             twinCalcHourYhjService.calc2Curr();
+            //补录染整参数数据
+            rzService.calc2Curr();
             //补录能耗数据至当前时间
             twinCalcHourEnergyService.calc2Curr();
             //补录经编车间数据至当前时间

+ 5 - 0
jjt-biz/src/main/resources/mapper/rz/TwinCalcHourRzMapper.xml

@@ -68,6 +68,11 @@
         <include refid="selectTwinCalcHourRzVo"/>
         where ID = #{id}
     </select>
+    <select id="lastRecord" resultType="com.jjt.rz.domain.TwinCalcHourRz">
+        select top 1 *
+        from TWIN_CALC_HOUR_RZ
+        order by id desc
+    </select>
 
     <insert id="insertTwinCalcHourRz" parameterType="TwinCalcHourRz">
         insert into TWIN_CALC_HOUR_RZ