Bläddra i källkod

炉次浇筑信息查询补充炉次实绩的创建时间以及直扎对应的定尺和数量

lingpeng.li 1 vecka sedan
förälder
incheckning
ed6ee2f888

+ 34 - 0
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/controller/StorageBillController.java

@@ -74,6 +74,9 @@ import org.springframework.web.servlet.ModelAndView;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -1942,6 +1945,24 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 
 		billetHotsendList.forEach(x -> {
 			HeatsActualsInfo heatsActualsInfo = new HeatsActualsInfo();
+
+			if(oConvertUtils.isNotEmpty(x.getHeatNo())){
+
+				LambdaQueryWrapper<HeatsActuals> heatsActualsQueryWrapper = new LambdaQueryWrapper<>();
+				heatsActualsQueryWrapper.eq(HeatsActuals::getCasterCode, x.getCcmNo())
+						.eq(HeatsActuals::getHeatsCode, x.getHeatNo())
+						.orderByDesc(HeatsActuals::getCreateTime).last("LIMIT 1");
+				HeatsActuals one = heatsActualsService.getOne(heatsActualsQueryWrapper);
+				if(oConvertUtils.isNotEmpty(one) && oConvertUtils.isNotEmpty(one.getCreateTime())){
+					DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+					String createTimeStr = one.getCreateTime() != null
+							? LocalDateTime.ofInstant(one.getCreateTime().toInstant(), ZoneId.of("GMT+8")).format(formatter)
+							: null;
+
+					heatsActualsInfo.setCreateTime(createTimeStr);
+				}
+
+			}
 			heatsActualsInfo.setShiftGroup(x.getShiftGroup());
 			heatsActualsInfo.setShift(x.getShift());
 			heatsActualsInfo.setHeatNo(x.getHeatNo());
@@ -2008,10 +2029,23 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
 				// 统计总数
 				int totalCount = filterDirectRollingList.size();
 
+				// 按定尺 length 分组统计每组数量(Long 类型)
+				Map<Integer, Long> lengthCountMapRaw = filterDirectRollingList.stream()
+						.filter(info -> info.getLength() != null)
+						.collect(Collectors.groupingBy(BilletBasicInfo::getLength, Collectors.counting()));
+
+				// 转换为 Map<String, Long>,确保 JSON key 是字符串
+				Map<String, Long> lengthCountMap = lengthCountMapRaw.entrySet().stream()
+						.collect(Collectors.toMap(
+								e -> String.valueOf(e.getKey()), // key 转字符串
+								Map.Entry::getValue
+						));
+
 				// 转为JSON字符串
 				Map<String, Object> directRollingMap = new HashMap<>();
 				directRollingMap.put("directRollingTotalWeight", totalWeight);
 				directRollingMap.put("directRollingTotalCount", totalCount);
+				directRollingMap.put("lengthGroupCount", lengthCountMap); // 定尺统计结果
 				String jsonResult = JSON.toJSONString(directRollingMap); // 使用FastJSON转换.
 				heatsActualsInfo.setDirectRolling(jsonResult);
 			}

+ 2 - 0
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/entity/HeatsActualsInfo.java

@@ -41,6 +41,8 @@ public class HeatsActualsInfo {
 
     private Boolean operateStatus;
 
+    private String createTime;
+
     /**班组*/
     private String shiftGroup;
     /**班别*/