|
@@ -11,6 +11,8 @@ import org.jeecg.common.util.DateUtils;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
import org.jeecg.modules.actualControl.billetActual.billetActual.entity.BilletRulerConfig;
|
|
|
import org.jeecg.modules.actualControl.billetActual.billetActual.mapper.BilletRulerConfigMapper;
|
|
|
+import org.jeecg.modules.billet.billetHotsend.entity.BilletHotsend;
|
|
|
+import org.jeecg.modules.billet.billetHotsend.mapper.BilletHotsendBaseMapper;
|
|
|
import org.jeecg.modules.billet.billetHotsendChangeShift.entity.BilletHotsendChangeShift;
|
|
|
import org.jeecg.modules.billet.billetHotsendChangeShift.service.IBilletHotsendChangeShiftService;
|
|
|
import org.jeecg.modules.billet.billetOriginalProductRecord.dto.QualityInspectionQueryDTO;
|
|
@@ -31,7 +33,6 @@ import java.math.RoundingMode;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
-import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -60,6 +61,9 @@ public class BilletOriginalProductRecordServiceImpl extends ServiceImpl<BilletOr
|
|
|
@Autowired
|
|
|
private QualityInspectionStatisticsMapper qualityInspectionStatisticsMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BilletHotsendBaseMapper billetHotsendBaseMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public Map<String, Object> getQualityInspectionMenu(QualityInspectionQueryDTO queryDTO) {
|
|
|
if (queryDTO == null || StringUtils.isBlank(queryDTO.getCcmNo())) {
|
|
@@ -98,27 +102,6 @@ public class BilletOriginalProductRecordServiceImpl extends ServiceImpl<BilletOr
|
|
|
oneQueryWrapper.eq(BilletOriginalProductRecord::getShift, newBilletHotsendChangeShift.getShift());
|
|
|
oneQueryWrapper.eq(BilletOriginalProductRecord::getShiftGroup, newBilletHotsendChangeShift.getShiftGroup());
|
|
|
oneQueryWrapper.between(BilletOriginalProductRecord::getCreateTime, startChangeTime, endChangeTime);
|
|
|
-// else if (oConvertUtils.isNotEmpty(queryDTO.getStartTime()) && oConvertUtils.isNotEmpty(queryDTO.getEndTime())) {
|
|
|
-// oneQueryWrapper.between(BilletOriginalProductRecord::getCreateTime, queryDTO.getStartTime(), queryDTO.getEndTime());
|
|
|
-// search = false;
|
|
|
-// }
|
|
|
-
|
|
|
-// if (oConvertUtils.isNotEmpty(queryDTO.getQueryDate()) || search) {
|
|
|
-// if (oConvertUtils.isEmpty(queryDTO.getQueryDate())) {
|
|
|
-// String nowDate = DateUtils.getDate("yyyy-MM-dd");
|
|
|
-// Date startOneTime = DateUtils.getStartOfDayByDate(DateUtils.getStartOfDay(nowDate));
|
|
|
-// LambdaQueryWrapper<BilletHotsendChangeShift> changeQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
-// changeQueryWrapper.eq(BilletHotsendChangeShift::getCcmNo, queryDTO.getCcmNo()).orderByDesc(BilletHotsendChangeShift::getCreateTime).last("limit 1");
|
|
|
-// BilletHotsendChangeShift billetHotsendChangeShift = billetHotsendChangeShiftService.getOne(changeQueryWrapper);
|
|
|
-// oneQueryWrapper.ge(BilletOriginalProductRecord::getCreateTime,
|
|
|
-// oConvertUtils.isNotEmpty(billetHotsendChangeShift.getCreateTime()) ? billetHotsendChangeShift.getCreateTime() : startOneTime);
|
|
|
-// } else {
|
|
|
-// String queryDate = queryDTO.getQueryDate();
|
|
|
-// Date startTime = DateUtils.getStartOfDayByDate(DateUtils.getStartOfDay(queryDate));
|
|
|
-// Date endTime = DateUtils.getEndOfDayByDate(startTime);
|
|
|
-// oneQueryWrapper.between(BilletOriginalProductRecord::getCreateTime, startTime, endTime);
|
|
|
-// }
|
|
|
-// }
|
|
|
|
|
|
if (oConvertUtils.isNotEmpty(queryDTO.getHeatNo())) {
|
|
|
oneQueryWrapper.eq(BilletOriginalProductRecord::getHeatNo, queryDTO.getHeatNo());
|
|
@@ -163,12 +146,11 @@ public class BilletOriginalProductRecordServiceImpl extends ServiceImpl<BilletOr
|
|
|
int dayTotalCount = 0;
|
|
|
BigDecimal dayTotalWeight = BigDecimal.ZERO;
|
|
|
|
|
|
+ boolean isFirst = true;
|
|
|
+
|
|
|
for (BilletOriginalProductRecord record : records) {
|
|
|
QualityInspectionVO vo = new QualityInspectionVO();
|
|
|
vo.setHeatNo(record.getHeatNo());
|
|
|
-// String brandNum = Optional.ofNullable(record.getGrade())
|
|
|
-// .map(bn -> sysDictService.queryDictTextByKey("billet_spec", bn))
|
|
|
-// .orElseGet(() -> sysDictService.queryDictTextByKey("billet_spec", "5"));
|
|
|
vo.setBrandNum(
|
|
|
record.getBrandNum() != null ? record.getBrandNum() : record.getGrade()
|
|
|
);
|
|
@@ -180,6 +162,31 @@ public class BilletOriginalProductRecordServiceImpl extends ServiceImpl<BilletOr
|
|
|
vo.setNotes(record.getNotes());
|
|
|
}
|
|
|
|
|
|
+ // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
|
|
+ // 只处理第一条记录,设置 orderNum
|
|
|
+ if (isFirst) {
|
|
|
+ isFirst = false;
|
|
|
+
|
|
|
+ LambdaQueryWrapper<BilletHotsend> hotsendQuery = new LambdaQueryWrapper<>();
|
|
|
+ hotsendQuery.eq(BilletHotsend::getHeatNo, record.getHeatNo())
|
|
|
+ .eq(BilletHotsend::getCcmNo, record.getCcmNo());
|
|
|
+
|
|
|
+ List<BilletHotsend> billetHotsendList = billetHotsendBaseMapper.selectList(hotsendQuery);
|
|
|
+
|
|
|
+ long countSameGroup = billetHotsendList.stream()
|
|
|
+ .filter(h -> Objects.equals(h.getShift(), record.getShift())
|
|
|
+ && Objects.equals(h.getShiftGroup(), record.getShiftGroup()))
|
|
|
+ .count();
|
|
|
+
|
|
|
+ if (billetHotsendList.size() > countSameGroup) {
|
|
|
+ // 存在非当前班组的分炉记录
|
|
|
+ vo.setOrderNum(0);
|
|
|
+ } else {
|
|
|
+ // 只有当前班组的记录
|
|
|
+ vo.setOrderNum(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Map<String, Integer> mergedCount = new HashMap<>();
|
|
|
Map<String, BigDecimal> mergedWeight = new HashMap<>();
|
|
|
|