|
@@ -9,12 +9,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
|
|
import org.jeecg.common.system.base.controller.JeecgController;
|
|
|
import org.jeecg.common.system.query.QueryGenerator;
|
|
|
import org.jeecg.common.util.oConvertUtils;
|
|
|
+import org.jeecg.modules.actualControl.heatsActuals.entity.HeatsActuals;
|
|
|
+import org.jeecg.modules.actualControl.heatsActuals.service.IHeatsActualsService;
|
|
|
import org.jeecg.modules.billet.billetHotsend.entity.BilletHotsendDetailsVo;
|
|
|
import org.jeecg.modules.billet.billetHotsendChangeShift.service.IBilletHotsendChangeShiftService;
|
|
|
import org.jeecg.modules.billet.operateLog.service.IOperateLogService;
|
|
@@ -86,6 +89,9 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
|
|
|
@Autowired
|
|
|
private IBilletHotsendChangeShiftService billetHotsendChangeShiftService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IHeatsActualsService heatsActualsService;
|
|
|
+
|
|
|
/**
|
|
|
* 分页列表查询
|
|
|
*
|
|
@@ -507,124 +513,279 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
|
|
|
return Result.OK(onDutyStatistics);
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation(value = "钢坯热装实绩-分页列表查询", notes = "钢坯热装实绩-分页列表查询")
|
|
|
+ @GetMapping(value = "/listHotChargingSJ")
|
|
|
+ public Result<IPage<StorageBill>> queryHotChargingPageSJList(StorageBill storageBill,
|
|
|
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
|
|
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
|
|
+ HttpServletRequest req) {
|
|
|
+ // 直接构造 HeatsActuals 查询条件
|
|
|
+ QueryWrapper<HeatsActuals> heatsQueryWrapper = new QueryWrapper<>();
|
|
|
+ heatsQueryWrapper.orderByDesc("create_time");
|
|
|
+
|
|
|
+ if (storageBill.getCcmNo() != null) {
|
|
|
+ heatsQueryWrapper.eq("caster_code", storageBill.getCcmNo());
|
|
|
+ }
|
|
|
+ if (storageBill.getShift() != null) {
|
|
|
+ heatsQueryWrapper.eq("shift", storageBill.getShift());
|
|
|
+ }
|
|
|
+ if (storageBill.getHeatNo() != null) {
|
|
|
+ heatsQueryWrapper.eq("heats_code", storageBill.getHeatNo());
|
|
|
+ }
|
|
|
+ if (storageBill.getShiftGroup() != null) {
|
|
|
+ heatsQueryWrapper.eq("shiftGroup", storageBill.getShiftGroup());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<HeatsActuals> actualsList = heatsActualsService.list(heatsQueryWrapper);
|
|
|
+ // 分页查询 HeatsActuals
|
|
|
+ Page<HeatsActuals> heatsPage = new Page<>(pageNo, pageSize);
|
|
|
+ IPage<HeatsActuals> heatsPageList = heatsActualsService.page(heatsPage, heatsQueryWrapper);
|
|
|
+
|
|
|
+ QueryWrapper<StorageBill> storageBillQueryWrapper = new QueryWrapper<>();
|
|
|
+ Page<StorageBill> billPage = new Page<>(pageNo, pageSize);
|
|
|
+ IPage<StorageBill> billPageList = storageBillService.page(billPage, storageBillQueryWrapper);
|
|
|
+
|
|
|
+ List<StorageBill> list = new ArrayList<>();
|
|
|
+
|
|
|
+ for (HeatsActuals heatsActuals : heatsPageList.getRecords()) {
|
|
|
+ StorageBill bill = new StorageBill();
|
|
|
+
|
|
|
+ //使用set去保存不重复的内容
|
|
|
+ Set<String> steels = new LinkedHashSet<>();
|
|
|
+ Set<String> specs = new LinkedHashSet<>();
|
|
|
+ Set<String> sizes = new LinkedHashSet<>();
|
|
|
+ Set<String> licensePlates = new LinkedHashSet<>();
|
|
|
+ Set<String> assemblyNumbers = new LinkedHashSet<>();
|
|
|
+ Set<String> destinations = new LinkedHashSet<>();
|
|
|
|
|
|
- @ApiOperation(value = "钢坯热装实绩-分页列表查询", notes = "钢坯热装实绩-分页列表查询")
|
|
|
- @GetMapping(value = "/listHotChargingSJ")
|
|
|
- public Result<IPage<StorageBill>> queryHotChargingPageSJList(StorageBill storageBill,
|
|
|
- @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
|
|
- @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
|
|
- HttpServletRequest req) {
|
|
|
- QueryWrapper<StorageBill> queryWrapper = QueryGenerator.initQueryWrapper(storageBill, req.getParameterMap());
|
|
|
- queryWrapper.isNotNull("heat_no");
|
|
|
- // 添加分组条件
|
|
|
- queryWrapper.groupBy("heat_no");
|
|
|
- // 如果需要统计每组的 amount_total 总和,可以添加聚合函数
|
|
|
- queryWrapper.select("GROUP_CONCAT( DISTINCT id ) AS id", "GROUP_CONCAT( DISTINCT ccm_no ) AS ccmNo",
|
|
|
- "GROUP_CONCAT( DISTINCT shift_group ) AS shiftGroup", "GROUP_CONCAT( DISTINCT shift ) AS shift",
|
|
|
- "heat_no", "GROUP_CONCAT( DISTINCT steel ) AS steel", "GROUP_CONCAT( DISTINCT spec ) AS spec",
|
|
|
- "GROUP_CONCAT( DISTINCT size ) AS size", "GROUP_CONCAT( DISTINCT license_plate ) AS licensePlate",
|
|
|
- "GROUP_CONCAT( DISTINCT btype ) AS btype", "GROUP_CONCAT( DISTINCT destination ) AS destination",
|
|
|
- "GROUP_CONCAT( DISTINCT type_config_id ) AS typeConfigId", "GROUP_CONCAT( DISTINCT unique_code ) AS uniqueCode",
|
|
|
- "SUM(amount_total) as amountTotal", "GROUP_CONCAT( DISTINCT assembly_number ) AS assemblyNumber", "MAX(create_time) as createTime");
|
|
|
- Page<StorageBill> page = new Page<>(pageNo, pageSize);
|
|
|
- IPage<StorageBill> pageList = storageBillService.page(page, queryWrapper);
|
|
|
-
|
|
|
- for (StorageBill bill : pageList.getRecords()) {
|
|
|
- List<String> storageBillIds = Arrays.stream(bill.getId().split(",")).collect(Collectors.toList());
|
|
|
// 统计总数
|
|
|
int totalNumsAll = 0;
|
|
|
- String totalBlankOutputStr = "";
|
|
|
- // 根据装运单ID查询对应的明细,统计总的出坯量
|
|
|
- if (bill.getDestination().contains("棒二") && oConvertUtils.listIsNotEmpty(storageBillIds)) {
|
|
|
- LambdaQueryWrapper<RollClubTwoDetails> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper1.eq(RollClubTwoDetails::getHeatNo, bill.getHeatNo());
|
|
|
- queryWrapper1.in(RollClubTwoDetails::getStorageBillId, storageBillIds);
|
|
|
- List<RollClubTwoDetails> rollClubTwoDetailsList = rollClubTwoDetailsService.list(queryWrapper1);
|
|
|
- // 使用 Stream API 统计 blankOutput 字段的总和
|
|
|
- OptionalDouble totalBlankOutputOptional = rollClubTwoDetailsList != null ?
|
|
|
- OptionalDouble.of(rollClubTwoDetailsList.stream()
|
|
|
- .mapToDouble(details -> details.getBlankOutput() != null ? details.getBlankOutput() : 0)
|
|
|
- .sum()) : OptionalDouble.empty();
|
|
|
- // 将总和转换为字符串,保留两位小时,四舍五入原则
|
|
|
- if (totalBlankOutputOptional.isPresent()) {
|
|
|
- // 使用 BigDecimal 进行精确计算和格式化
|
|
|
- BigDecimal total = BigDecimal.valueOf(totalBlankOutputOptional.getAsDouble());
|
|
|
- // 保留两位小数
|
|
|
- total = total.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
|
- totalBlankOutputStr = total.toString();
|
|
|
- } else {
|
|
|
- totalBlankOutputStr = "0";
|
|
|
- }
|
|
|
-
|
|
|
- int totalNums = rollClubTwoDetailsList.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
-
|
|
|
- totalNumsAll += totalNums;
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
- if (bill.getDestination().contains("棒三") && oConvertUtils.listIsNotEmpty(storageBillIds)) {
|
|
|
- LambdaQueryWrapper<RollClubThreeDetails> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper2.eq(RollClubThreeDetails::getHeatNo, bill.getHeatNo());
|
|
|
- queryWrapper2.in(RollClubThreeDetails::getStorageBillId, storageBillIds);
|
|
|
- List<RollClubThreeDetails> rollClubThreeDetailsList = rollClubThreeDetailsService.list(queryWrapper2);
|
|
|
- // 使用 Stream API 统计 blankOutput 字段的总和
|
|
|
- OptionalDouble totalBlankOutputOptional = rollClubThreeDetailsList != null ?
|
|
|
- OptionalDouble.of(rollClubThreeDetailsList.stream()
|
|
|
- .mapToDouble(details -> details.getBlankOutput() != null ? details.getBlankOutput() : 0)
|
|
|
- .sum()) : OptionalDouble.empty();
|
|
|
- // 将总和转换为字符串,保留两位小时,四舍五入原则
|
|
|
- if (totalBlankOutputOptional.isPresent()) {
|
|
|
- // 使用 BigDecimal 进行精确计算和格式化
|
|
|
- BigDecimal total = BigDecimal.valueOf(totalBlankOutputOptional.getAsDouble());
|
|
|
- // 保留两位小数
|
|
|
- total = total.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
|
- totalBlankOutputStr = total.toString();
|
|
|
- } else {
|
|
|
- totalBlankOutputStr = "0";
|
|
|
- }
|
|
|
-
|
|
|
- int totalNums = rollClubThreeDetailsList.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
-
|
|
|
- totalNumsAll += totalNums;
|
|
|
-
|
|
|
- }
|
|
|
- if (bill.getDestination().contains("上若") && oConvertUtils.listIsNotEmpty(storageBillIds)) {
|
|
|
- LambdaQueryWrapper<RollOutShippDetails> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper2.eq(RollOutShippDetails::getHeatNo, bill.getHeatNo());
|
|
|
- queryWrapper2.in(RollOutShippDetails::getStorageBillId, storageBillIds);
|
|
|
- List<RollOutShippDetails> rollOutShippDetailsList = rollOutShippDetailsService.list(queryWrapper2);
|
|
|
- // 使用 Stream API 统计 blankOutput 字段的总和
|
|
|
- OptionalDouble totalBlankOutputOptional = rollOutShippDetailsList != null ?
|
|
|
- OptionalDouble.of(rollOutShippDetailsList.stream()
|
|
|
- .mapToDouble(details -> details.getBlankOutput() != null ? details.getBlankOutput() : 0)
|
|
|
- .sum()) : OptionalDouble.empty();
|
|
|
- // 将总和转换为字符串,保留两位小时,四舍五入原则
|
|
|
- if (totalBlankOutputOptional.isPresent()) {
|
|
|
- // 使用 BigDecimal 进行精确计算和格式化
|
|
|
- BigDecimal total = BigDecimal.valueOf(totalBlankOutputOptional.getAsDouble());
|
|
|
- // 保留两位小数
|
|
|
- total = total.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
|
- totalBlankOutputStr = total.toString();
|
|
|
- } else {
|
|
|
- totalBlankOutputStr = "0";
|
|
|
- }
|
|
|
-
|
|
|
- int totalNums = rollOutShippDetailsList.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
-
|
|
|
- totalNumsAll += totalNums;
|
|
|
-
|
|
|
- }
|
|
|
- bill.setRemarks(totalBlankOutputStr);
|
|
|
+ String totalBlankOutputStr = "";
|
|
|
+ // 根据装运单ID查询对应的明细,统计总的出坯量
|
|
|
+
|
|
|
+ LambdaQueryWrapper<RollClubTwoDetails> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ if (StringUtils.isNotEmpty(heatsActuals.getHeatsCode())) {
|
|
|
+ queryWrapper1.eq(RollClubTwoDetails::getHeatNo, heatsActuals.getHeatsCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<RollClubTwoDetails> rollClubTwoDetailsList = rollClubTwoDetailsService.list(queryWrapper1);
|
|
|
+ // 使用 Stream API 统计 blankOutput 字段的总和
|
|
|
+ OptionalDouble totalBlankOutputOptional1 = rollClubTwoDetailsList != null ?
|
|
|
+ OptionalDouble.of(rollClubTwoDetailsList.stream()
|
|
|
+ .mapToDouble(details -> details.getBlankOutput() != null ? details.getBlankOutput() : 0)
|
|
|
+ .sum()) : OptionalDouble.empty();
|
|
|
+ // 将总和转换为字符串,保留两位小时,四舍五入原则
|
|
|
+ if (totalBlankOutputOptional1.isPresent()) {
|
|
|
+ // 使用 BigDecimal 进行精确计算和格式化
|
|
|
+ BigDecimal total = BigDecimal.valueOf(totalBlankOutputOptional1.getAsDouble());
|
|
|
+ // 保留两位小数
|
|
|
+ total = total.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
|
+ totalBlankOutputStr = total.toString();
|
|
|
+ } else {
|
|
|
+ totalBlankOutputStr = "0";
|
|
|
+ }
|
|
|
+
|
|
|
+ int totalNums1 = rollClubTwoDetailsList.stream()
|
|
|
+ .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
+ .sum();
|
|
|
+
|
|
|
+ totalNumsAll += totalNums1;
|
|
|
+
|
|
|
+ steels.addAll(
|
|
|
+ rollClubTwoDetailsList.stream()
|
|
|
+ .map(RollClubTwoDetails::getSteel)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ specs.addAll(
|
|
|
+ rollClubTwoDetailsList.stream()
|
|
|
+ .map(RollClubTwoDetails::getSpec)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ sizes.addAll(
|
|
|
+ rollClubTwoDetailsList.stream()
|
|
|
+ .map(RollClubTwoDetails::getSize)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ licensePlates.addAll(
|
|
|
+ rollClubTwoDetailsList.stream()
|
|
|
+ .map(RollClubTwoDetails::getLicensePlate)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ assemblyNumbers.addAll(
|
|
|
+ rollClubTwoDetailsList.stream()
|
|
|
+ .map(RollClubTwoDetails::getAssemblyNumber)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+
|
|
|
+ //如果查询出来的数据不为空,需要设置目的地为棒二
|
|
|
+ if(!rollClubTwoDetailsList.isEmpty()){
|
|
|
+ destinations.add("棒二");
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<RollClubThreeDetails> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ if (StringUtils.isNotEmpty(heatsActuals.getHeatsCode())) {
|
|
|
+ queryWrapper2.eq(RollClubThreeDetails::getHeatNo, heatsActuals.getHeatsCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<RollClubThreeDetails> rollClubThreeDetailsList = rollClubThreeDetailsService.list(queryWrapper2);
|
|
|
+ // 使用 Stream API 统计 blankOutput 字段的总和
|
|
|
+ OptionalDouble totalBlankOutputOptional2 = rollClubThreeDetailsList != null ?
|
|
|
+ OptionalDouble.of(rollClubThreeDetailsList.stream()
|
|
|
+ .mapToDouble(details -> details.getBlankOutput() != null ? details.getBlankOutput() : 0)
|
|
|
+ .sum()) : OptionalDouble.empty();
|
|
|
+ // 将总和转换为字符串,保留两位小时,四舍五入原则
|
|
|
+ if (totalBlankOutputOptional2.isPresent()) {
|
|
|
+ // 使用 BigDecimal 进行精确计算和格式化
|
|
|
+ BigDecimal total = BigDecimal.valueOf(totalBlankOutputOptional2.getAsDouble());
|
|
|
+ // 保留两位小数
|
|
|
+ total = total.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
|
+ totalBlankOutputStr = total.toString();
|
|
|
+ } else {
|
|
|
+ totalBlankOutputStr = "0";
|
|
|
+ }
|
|
|
+
|
|
|
+ int totalNums2 = rollClubThreeDetailsList.stream()
|
|
|
+ .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
+ .sum();
|
|
|
+
|
|
|
+ totalNumsAll += totalNums2;
|
|
|
+
|
|
|
+ steels.addAll(
|
|
|
+ rollClubThreeDetailsList.stream()
|
|
|
+ .map(RollClubThreeDetails::getSteel)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ specs.addAll(
|
|
|
+ rollClubThreeDetailsList.stream()
|
|
|
+ .map(RollClubThreeDetails::getSpec)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ sizes.addAll(
|
|
|
+ rollClubThreeDetailsList.stream()
|
|
|
+ .map(RollClubThreeDetails::getSize)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ licensePlates.addAll(
|
|
|
+ rollClubThreeDetailsList.stream()
|
|
|
+ .map(RollClubThreeDetails::getLicensePlate)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ assemblyNumbers.addAll(
|
|
|
+ rollClubThreeDetailsList.stream()
|
|
|
+ .map(RollClubThreeDetails::getAssemblyNumber)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+
|
|
|
+ //如果查询出来的数据不为空,需要设置目的地为棒三
|
|
|
+ if(!rollClubThreeDetailsList.isEmpty()){
|
|
|
+ destinations.add("棒三");
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<RollOutShippDetails> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
+ if (StringUtils.isNotEmpty(heatsActuals.getHeatsCode())) {
|
|
|
+ queryWrapper3.eq(RollOutShippDetails::getHeatNo, heatsActuals.getHeatsCode());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<RollOutShippDetails> rollOutShippDetailsList = rollOutShippDetailsService.list(queryWrapper3);
|
|
|
+ // 使用 Stream API 统计 blankOutput 字段的总和
|
|
|
+ OptionalDouble totalBlankOutputOptional = rollOutShippDetailsList != null ?
|
|
|
+ OptionalDouble.of(rollOutShippDetailsList.stream()
|
|
|
+ .mapToDouble(details -> details.getBlankOutput() != null ? details.getBlankOutput() : 0)
|
|
|
+ .sum()) : OptionalDouble.empty();
|
|
|
+ // 将总和转换为字符串,保留两位小时,四舍五入原则
|
|
|
+ if (totalBlankOutputOptional.isPresent()) {
|
|
|
+ // 使用 BigDecimal 进行精确计算和格式化
|
|
|
+ BigDecimal total = BigDecimal.valueOf(totalBlankOutputOptional.getAsDouble());
|
|
|
+ // 保留两位小数
|
|
|
+ total = total.setScale(3, BigDecimal.ROUND_HALF_UP);
|
|
|
+ totalBlankOutputStr = total.toString();
|
|
|
+ } else {
|
|
|
+ totalBlankOutputStr = "0";
|
|
|
+ }
|
|
|
+
|
|
|
+ int totalNums3 = rollOutShippDetailsList.stream()
|
|
|
+ .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
+ .sum();
|
|
|
+
|
|
|
+ totalNumsAll += totalNums3;
|
|
|
+
|
|
|
+ //如果查询出来的数据不为空,需要设置目的地为上若
|
|
|
+ if(!rollOutShippDetailsList.isEmpty()){
|
|
|
+ destinations.add("上若");
|
|
|
+ }
|
|
|
+
|
|
|
+ steels.addAll(
|
|
|
+ rollOutShippDetailsList.stream()
|
|
|
+ .map(RollOutShippDetails::getSteel)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ specs.addAll(
|
|
|
+ rollOutShippDetailsList.stream()
|
|
|
+ .map(RollOutShippDetails::getSpec)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ sizes.addAll(
|
|
|
+ rollOutShippDetailsList.stream()
|
|
|
+ .map(RollOutShippDetails::getSize)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ licensePlates.addAll(
|
|
|
+ rollOutShippDetailsList.stream()
|
|
|
+ .map(RollOutShippDetails::getLicensePlate)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ assemblyNumbers.addAll(
|
|
|
+ rollOutShippDetailsList.stream()
|
|
|
+ .map(RollOutShippDetails::getAssemblyNumber)
|
|
|
+ .filter(StringUtils::isNotEmpty)
|
|
|
+ .collect(Collectors.toSet())
|
|
|
+ );
|
|
|
+ //将分组去重的内容使用逗号去分割
|
|
|
+ String steelStr = String.join(",", steels);
|
|
|
+ String specStr = String.join(",", specs);
|
|
|
+ String sizeStr = String.join(",", sizes);
|
|
|
+ String licensePlateStr = String.join(",", licensePlates);
|
|
|
+ String assemblyNumberStr = String.join(",", assemblyNumbers);
|
|
|
+ String destinationStr = String.join(",", destinations);
|
|
|
+
|
|
|
+ bill.setId(heatsActuals.getId());
|
|
|
+ bill.setHeatNo(heatsActuals.getHeatsCode());
|
|
|
+ bill.setCreateBy(heatsActuals.getCreateBy());
|
|
|
+ bill.setCreateTime(heatsActuals.getCreateTime());
|
|
|
+ bill.setUpdateBy(heatsActuals.getUpdateBy());
|
|
|
+ bill.setUpdateTime(heatsActuals.getUpdateTime());
|
|
|
+ bill.setCcmNo(heatsActuals.getCasterCode());
|
|
|
+ bill.setShift(heatsActuals.getShift());
|
|
|
+ bill.setShiftGroup(heatsActuals.getShiftGroup());
|
|
|
+ bill.setRemarks(totalBlankOutputStr);
|
|
|
bill.setAmountTotal(totalNumsAll);
|
|
|
- }
|
|
|
- return Result.OK(pageList);
|
|
|
- }
|
|
|
+ bill.setSteel(steelStr);
|
|
|
+ bill.setSpec(specStr);
|
|
|
+ bill.setSize(sizeStr);
|
|
|
+ bill.setLicensePlate(licensePlateStr);
|
|
|
+ bill.setAssemblyNumber(assemblyNumberStr);
|
|
|
+ bill.setDestination(destinationStr);
|
|
|
+ list.add(bill);
|
|
|
+ }
|
|
|
+ //设置最后返回的分页内容
|
|
|
+ billPageList.setRecords(list);
|
|
|
+ billPageList.setTotal(actualsList.size());
|
|
|
+ return Result.OK(billPageList);
|
|
|
+ }
|
|
|
|
|
|
@ApiOperation(value="当班信息汇总-班次实绩", notes="当班信息汇总-班次实绩")
|
|
|
@GetMapping(value = "/queryOnDutyInfo")
|
|
@@ -673,4 +834,28 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
|
|
|
List<OnDutySizeVo> onDutySizeVos = storageBillService.queryOnDutySize(ccmNo, changeShiftId);
|
|
|
return Result.OK(onDutySizeVos);
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperation(value = "钢坯热装单棒二-班统计查询", notes = "钢坯热装单棒二-班统计查询")
|
|
|
+ @GetMapping(value = "/hotChargingTwo/statistics")
|
|
|
+ public Result<OnDutyStatistics> queryHotChargingTwoStatistics(@RequestParam(name = "ccmNo") String ccmNo) {
|
|
|
+ // 获取当前班组班次信息
|
|
|
+ OnDutyStatistics onDutyStatistics = storageBillService.queryHotChargingTwoStatistics(ccmNo);
|
|
|
+ return Result.OK(onDutyStatistics);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "钢坯热装单棒三-班统计查询", notes = "钢坯热装单棒三-班统计查询")
|
|
|
+ @GetMapping(value = "/hotChargingThree/statistics")
|
|
|
+ public Result<OnDutyStatistics> queryHotChargingThreeStatistics(@RequestParam(name = "ccmNo") String ccmNo) {
|
|
|
+ // 获取当前班组班次信息
|
|
|
+ OnDutyStatistics onDutyStatistics = storageBillService.queryHotChargingThreeStatistics(ccmNo);
|
|
|
+ return Result.OK(onDutyStatistics);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "钢坯热装单上若-班统计查询", notes = "钢坯热装单上若-班统计查询")
|
|
|
+ @GetMapping(value = "/hotChargingOut/statistics")
|
|
|
+ public Result<OnDutyStatistics> queryHotChargingOutStatistics(@RequestParam(name = "ccmNo") String ccmNo) {
|
|
|
+ // 获取当前班组班次信息
|
|
|
+ OnDutyStatistics onDutyStatistics = storageBillService.queryHotChargingOutStatistics(ccmNo);
|
|
|
+ return Result.OK(onDutyStatistics);
|
|
|
+ }
|
|
|
}
|