From f36d85dc1e2d49ee0ddff64473f784982e215983 Mon Sep 17 00:00:00 2001 From: hayu <1604366271@qq.com> Date: Fri, 6 Jun 2025 09:11:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=99=A8=E5=85=B7=E5=8F=B0=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ComplexQueryController.java | 11 ++++ .../basic/domain/RetainedEquipmentInfo.java | 5 ++ .../basic/mapper/ComplexQueryMapper.java | 7 +++ .../basic/service/ComplexQueryService.java | 7 +++ .../service/impl/ComplexQueryServiceImpl.java | 52 +++++++++++++++++++ .../material/basic/ComplexQueryMapper.xml | 52 +++++++++++++++++++ 6 files changed, 134 insertions(+) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java index 00eecbab..9781542a 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java @@ -48,6 +48,17 @@ public class ComplexQueryController extends BaseController { return AjaxResult.success(getDataTable(pageList)); } + /** + * 工器具台账--APP + * @param bean + * @return + */ + @ApiOperation(value = "工器具台账查询") + @GetMapping("/getToolsLedgerList") + public AjaxResult getToolsLedgerList(RetainedEquipmentInfo bean) { + return AjaxResult.success(complexQueryService.getToolsLedgerList(bean)); + } + /** * 保有设备总量查询不带分页 * @param bean diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java index 25214e89..caf1766b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java @@ -9,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * @description 综合查询--保有设备总量查询 @@ -157,4 +158,8 @@ public class RetainedEquipmentInfo { @ApiModelProperty(value = "三级类型id") private Integer thirdTypeId; + private List modelList; + + private boolean expanded = false; + } \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java index bfdaccb0..f667d6b0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/mapper/ComplexQueryMapper.java @@ -145,4 +145,11 @@ public interface ComplexQueryMapper { * @return */ String getPartInfoList(MaTypeSelectInfo dto); + + /** + * 工器具台账查询 + * @param bean + * @return + */ + List getToolsLedgerList(RetainedEquipmentInfo bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java index 626ec9a7..39184872 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java @@ -109,4 +109,11 @@ public interface ComplexQueryService { * @return */ List getMaTypeSelectList(MaTypeSelectInfo bean); + + /** + * 工器具台账查询 + * @param bean + * @return + */ + List getToolsLedgerList(RetainedEquipmentInfo bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java index 6ad736a2..dde40803 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java @@ -511,4 +511,56 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { } return list; } + + @Override + public List getToolsLedgerList(RetainedEquipmentInfo bean) { + List list1 =new ArrayList<>(); + try { + List list = complexQueryMapper.getToolsLedgerList(bean); + if (list.size()>0){ + list1 = groupByThirdTypeId(list); + } + return list1; + } catch (Exception e){ + log.error("获取设备台账列表失败,参数:{}", bean, e); + return new ArrayList<>(); + } + } + + public List groupByThirdTypeId(List dbList) { + // 按thirdTypeId分组,同时保留typeName + Map> groupedMap = dbList.stream() + .collect(Collectors.groupingBy( + RetainedEquipmentInfo::getThirdTypeId, + Collectors.toList() + )); + + // 转换为目标格式 + List result = new ArrayList<>(); + + groupedMap.forEach((thirdTypeId, items) -> { + if (!items.isEmpty()) { + RetainedEquipmentInfo category = new RetainedEquipmentInfo(); + category.setThirdTypeId(thirdTypeId); + category.setTypeName(items.get(0).getTypeName()); // 取第一个元素的typeName + + List specs = items.stream() + .map(item -> { + RetainedEquipmentInfo spec = new RetainedEquipmentInfo(); + spec.setTypeModelName(item.getTypeModelName()); + spec.setUnit(item.getUnit()); + spec.setBuyPrice(item.getBuyPrice()); + spec.setStoreNum(item.getStoreNum()); + spec.setManageType(item.getManageType()); + return spec; + }) + .collect(Collectors.toList()); + + category.setModelList(specs); + result.add(category); + } + }); + + return result; + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index da35e49b..008300f3 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -1129,5 +1129,57 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND rar.ma_id = #{maId} +