From b92caa380bb6242ae11a3606ea908c7029aaeeb6 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期一, 06 一月 2025 09:57:53 +0800
Subject: [PATCH] Handler
---
pms-parent/pms-web-other/src/main/java/com/dy/pmsOther/screen/ScreenReportSv.java | 86 ++++++++++++++++++++++++++++++-------------
1 files changed, 60 insertions(+), 26 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 7fd3d85..3520071 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
@@ -7,12 +7,20 @@
import com.dy.common.springUtil.SpringContextUtil;
import com.dy.pmsGlobal.daoOth.OthStatisticWorkloadMapper;
import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper;
+import com.dy.pmsGlobal.daoPr.PrOrderItemMapper;
+import com.dy.pmsGlobal.daoPr.PrOrderMapper;
import com.dy.pmsGlobal.daoSta.*;
+import com.dy.pmsGlobal.pojoPr.PrOrder;
+import com.dy.pmsGlobal.pojoPr.PrOrderItem;
import com.dy.pmsGlobal.pojoSta.*;
+import com.dy.pmsGlobal.util.UserUtil;
import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.common.utils.PojoUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -36,7 +44,15 @@
private StaDeviceProductionLogMapper deviceProductionLogDao;
private StaRepairInfoMapper repairInfoDao;
private PrAssemblyPlanMapper assemblyPlanDao;
+ private StaAssemblyWorkLastMapper assemblyWorkLastDao;
+
private OthStatisticWorkloadMapper workloadDao;
+ private PrOrderMapper orderDao;
+
+ @Autowired
+ public void setOrderDao(PrOrderMapper orderDao) {
+ this.orderDao = orderDao;
+ }
@Autowired
public void setDeviceLastDao(StaDeviceLastMapper deviceLastDao) {
@@ -61,6 +77,11 @@
@Autowired
public void setAssemblyPlanDao(PrAssemblyPlanMapper assemblyPlanDao) {
this.assemblyPlanDao = assemblyPlanDao;
+ }
+
+ @Autowired
+ public void setAssemblyWorkLastDao(StaAssemblyWorkLastMapper assemblyWorkLastDao) {
+ this.assemblyWorkLastDao = assemblyWorkLastDao;
}
@Autowired
@@ -122,7 +143,7 @@
public List<JSONObject> queryPlanList() {
List<JSONObject> list = assemblyPlanDao.queryPlanList();
- Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 浣跨敤骞跺彂瀹夊叏鐨凪ap
+ /*Map<String, JSONObject> map = new ConcurrentHashMap<>(); // 浣跨敤骞跺彂瀹夊叏鐨凪ap
for (JSONObject item : list) {
String planId = String.valueOf(item.getObj("planId"));
JSONObject innerObject = new JSONObject()
@@ -141,34 +162,47 @@
map.put(planId, outObject);
}
}
- return map.values().stream().collect(Collectors.toList());
+ return map.values().stream().collect(Collectors.toList());*/
+ return list;
+ }
+ public List<JSONObject> queryWorkList() {
+ List<JSONObject> list = assemblyWorkLastDao.queryWorkList();
+ return list;
}
- 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);
+ public List<JSONObject> queryOrderList() {
+ List<JSONObject> list = assemblyPlanDao.queryPlanList();
+ /* Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize();
+ List<PrOrder> orderList = orderDao.selectAll(params);
+ for (PrOrder prOrder : orderList) {
+ changeRate(prOrder);
+ }*/
+ return null;
+ }
+ private void changeRate(PrOrder prOrder) {
+ if (prOrder != null && prOrder.items != null) {
+ List<PrOrderItem> items = prOrder.items;
+ for (int i = 1; i < items.size(); i++) {
+ for (int j = i - 1; j >= 0; j--) {
+ //鎷跨潃i渚濇璺熶笂涓�涓瘮杈�,濡傛灉浜у搧鐩稿悓,鍒欎笂涓�涓褰昪omplete_number - number 濡傛灉 > 0 鍒嗙粰i ,濡傛灉 < 0 鍒欏皢 complete_number 缃负0
+ if (items.get(j).getProId().intValue() == items.get(i).getProId().intValue()) {
+ int remainNumber = items.get(j).getCompleteNumber() - items.get(j).getNumber();
+ if (remainNumber > 0) {
+ items.get(j).setCompleteNumber(items.get(j).getNumber());
+ items.get(j).setCompleteRate("100.00%");
+ items.get(i).setCompleteNumber(remainNumber);
+ BigDecimal remainBig = new BigDecimal(remainNumber * 100);
+ BigDecimal iNumberBig = new BigDecimal(items.get(i).getNumber());
+ BigDecimal result = remainBig.divide(iNumberBig, 2, RoundingMode.HALF_UP);
+ items.get(i).setCompleteRate(result.toString() + "%");
+ } else {
+ items.get(i).setCompleteNumber(0);
+ items.get(i).setCompleteRate("0.00%");
+ }
+ break;
+ }
+ }
}
}
}
-
-
}
--
Gitblit v1.8.0