From 7a1ab2693de593026b420fd89b977881eee484ff Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期三, 16 十月 2024 17:10:48 +0800
Subject: [PATCH] command crud
---
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java | 89 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 80 insertions(+), 9 deletions(-)
diff --git a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
index 871085b..7fd3d85 100644
--- a/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
+++ b/pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java
@@ -1,7 +1,12 @@
package com.dy.pmsOther.screen;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.dy.common.springUtil.SpringContextUtil;
+import com.dy.pmsGlobal.daoOth.OthStatisticWorkloadMapper;
+import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper;
import com.dy.pmsGlobal.daoSta.*;
import com.dy.pmsGlobal.pojoSta.*;
import lombok.extern.slf4j.Slf4j;
@@ -13,11 +18,14 @@
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAccessor;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
@Slf4j
@Service
@@ -27,6 +35,9 @@
private StaWipSnExMapper wipSnExDao;
private StaDeviceProductionLogMapper deviceProductionLogDao;
private StaRepairInfoMapper repairInfoDao;
+ private PrAssemblyPlanMapper assemblyPlanDao;
+ private OthStatisticWorkloadMapper workloadDao;
+
@Autowired
public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) {
this.deviceLastDao = deviceLastDao;
@@ -48,8 +59,18 @@
}
@Autowired
+ public void setAssemblyPlanDao(PrAssemblyPlanMapper assemblyPlanDao) {
+ this.assemblyPlanDao = assemblyPlanDao;
+ }
+
+ @Autowired
public void setRepairInfoDao(StaRepairInfoMapper repairInfoDao) {
this.repairInfoDao = repairInfoDao;
+ }
+
+ @Autowired
+ public void setWorkloadDao(OthStatisticWorkloadMapper workloadDao) {
+ this.workloadDao = workloadDao;
}
public Map<String, Object> getDeviceInfo(String deviceNo) {
@@ -61,7 +82,7 @@
if (deviceLast == null) {
return null;
}
- Map<String, Object> deviceInfo =new HashMap<>();
+ Map<String, Object> deviceInfo = new HashMap<>();
deviceInfo.put("deviceInfo", deviceLast);
//鏌ヨ璁惧鏃ュ織
List<StaDeviceProductionLog> log = deviceProductionLogDao.selectByDeviceNo(deviceNo);
@@ -79,25 +100,75 @@
}
public List<StaDeviceProductionLog> queryDeviceLog(String startTime, String endTime) {
- Date startDt = parseToDate(startTime,0);
- Date endDt = parseToDate(endTime,1);
+ Date startDt = parseToDate(startTime, 0);
+ Date endDt = parseToDate(endTime, 1);
//鏌ヨ璁惧鏃ュ織
- List<StaDeviceProductionLog> log = deviceProductionLogDao.selectProductLog("",startDt,endDt);
+ List<StaDeviceProductionLog> log = deviceProductionLogDao.selectProductLog("", startDt, endDt);
return log;
}
- private Date parseToDate(String strDt,long offDays) {
- LocalDateTime dt = LocalDateTime.of(LocalDate.now().plusDays(offDays), LocalTime.of(0,0,0)); // 浠婂ぉ24鐐�
+ private Date parseToDate(String strDt, long offDays) {
+ LocalDateTime dt = LocalDateTime.of(LocalDate.now().plusDays(offDays), LocalTime.of(0, 0, 0)); // 浠婂ぉ24鐐�
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
if (strDt.matches("\\d{4}(-\\d{2}){2} \\d{2}(:\\d{2}){2}")) {//2024-08-15 00:00:00
- dt = LocalDateTime.parse(strDt,dtf);
- }else if (strDt.matches("\\d{4}(-\\d{2}){2}")){
- dt = LocalDateTime.of(LocalDate.parse(strDt,dtf1), LocalTime.of(0,0,0));
+ dt = LocalDateTime.parse(strDt, dtf);
+ } else if (strDt.matches("\\d{4}(-\\d{2}){2}")) {
+ dt = LocalDateTime.of(LocalDate.parse(strDt, dtf1), LocalTime.of(0, 0, 0));
}
Date date = Date.from(dt.atZone(ZoneId.systemDefault()).toInstant());
return date;
}
+ public List<JSONObject> queryPlanList() {
+ List<JSONObject> list = assemblyPlanDao.queryPlanList();
+ Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 浣跨敤骞跺彂瀹夊叏鐨凪ap
+ for (JSONObject item : list) {
+ String planId = String.valueOf(item.getObj("planId"));
+ JSONObject innerObject = new JSONObject()
+ .set("nodeId", String.valueOf(item.getObj("nodeId")))
+ .set("content", item.getObj("content"));
+ if (map.containsKey(planId)) {
+ JSONArray array = (JSONArray) map.get(planId).get("nodes");
+ array.add(innerObject);
+ } else {
+ JSONArray array = new JSONArray();
+ array.add(innerObject);
+ JSONObject outObject = new JSONObject()
+ .set("planId", planId)
+ .set("planName", item.getObj("planName"))
+ .set("nodes", array);
+ map.put(planId, outObject);
+ }
+ }
+ return map.values().stream().collect(Collectors.toList());
+ }
+
+ public void test() {
+
+ //OthStatisticWorkloadMapper workloadMapper = SpringContextUtil.getBean(OthStatisticWorkloadMapper.class);
+ //鎵惧埌鏈�澶т竴鏉℃棩鏈熻褰�
+ Date maxDate = workloadDao.selectMaxDate();
+ //寰�鍚庡惊鐜ぉ鏁版眹鎬�
+ if (maxDate != null) {
+ //寰幆缁熻
+ LocalDate firstDay = maxDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+ LocalDate today = LocalDate.now();
+ LocalDate nextDate = firstDay.plusDays(1);
+ //today 瑕佺粺璁� firstday涓嶇粺璁�
+ long daysBetween = ChronoUnit.DAYS.between(firstDay, today);
+ if (daysBetween > 30) {
+ daysBetween = 30;
+ nextDate = firstDay.plusDays(daysBetween);
+ }
+ for (int i = 1; i <= daysBetween; i++) {
+ Date startDt = Date.from(LocalDateTime.of(nextDate, LocalTime.of(0, 0, 0)).atZone(ZoneId.systemDefault()).toInstant());
+ Date endDt = Date.from(LocalDateTime.of(nextDate, LocalTime.of(23, 59, 59)).atZone(ZoneId.systemDefault()).toInstant());
+ workloadDao.insertBatch(startDt, endDt);
+ nextDate = firstDay.plusDays(i);
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0