From c073ce668c0acfea1a92fcc30a3336a8cda530af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 19 Jan 2026 10:46:21 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AF=B9=E6=9C=8D=E5=8A=A1=E6=9C=88=E6=8A=A5?= =?UTF-8?q?=E7=9A=84=E4=B8=8A=E4=BC=A0=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/request/FileSearch1Request.java | 2 +- .../gongfu/controller/FileController.java | 55 +++++++++++++++++-- .../gongfu/pojo/query/FileUploadQuery.java | 29 ++++++++++ 3 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/FileUploadQuery.java diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FileSearch1Request.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FileSearch1Request.java index 39dae663..4485a4ca 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FileSearch1Request.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/FileSearch1Request.java @@ -11,7 +11,7 @@ public class FileSearch1Request extends PageRequest { private String key; /** - * 类型,0:派工单 + * 类型,0:派工单,1:服务月报 */ private Integer type; } diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/FileController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/FileController.java index d7c0f5d8..678a87d4 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/FileController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/FileController.java @@ -1,21 +1,30 @@ package com.nflg.mobilebroken.gongfu.controller; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.FileSearch1Request; +import com.nflg.mobilebroken.common.util.AdminUserUtil; +import com.nflg.mobilebroken.gongfu.pojo.query.FileUploadQuery; import com.nflg.mobilebroken.repository.entity.GongfuFile; +import com.nflg.mobilebroken.repository.service.IFileUploadRecordService; import com.nflg.mobilebroken.repository.service.IGongfuFileService; +import com.nflg.mobilebroken.starter.service.FileUploadService; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.apache.commons.io.FilenameUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.Valid; import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Objects; @@ -27,14 +36,19 @@ import java.util.Objects; @RequestMapping("/file") public class FileController extends ControllerBase { + private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd"); + @Resource private IGongfuFileService fileService; + @Resource + private FileUploadService fileUploadService; + /** * 文件搜索 */ @PostMapping("/search") - public ApiResult> search(@Valid @RequestBody FileSearch1Request request) { + public ApiResult> search(@RequestBody FileSearch1Request request) { return ApiResult.success( fileService.lambdaQuery() .eq(Objects.nonNull(request.getType()), GongfuFile::getType, request.getType()) @@ -43,6 +57,37 @@ public class FileController extends ControllerBase { ); } + /** + * 文件上传 + * @param type 类型,1:服务月报 + * @param fileName 文件名称 + * @param file 文件 + */ + @PostMapping("/upload") + public ApiResult upload(@RequestParam Integer type,@RequestParam String fileName,@RequestParam MultipartFile file) throws IOException { + String url = fileUploadService.upload(buildFilePath(getFileType(file.getOriginalFilename())), file); + fileService.save( + new GongfuFile() + .setType(type) + .setFileName(fileName) + .setFileSize(file.getSize()) + .setFileSuffix(FilenameUtils.getExtension(file.getOriginalFilename())) + .setFileUrl(url) + .setCreateBy(AdminUserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()) + ); + return ApiResult.success(); + } + + private String buildFilePath(String fileType) { + return StrUtil.format("gongfu/{}/{}/{}/{}{}", LocalDateTime.now().format(FORMATTER), AdminUserUtil.getUserId() + , RandomUtil.randomString(4), IdUtil.fastUUID(), fileType); + } + + private String getFileType(String fileName) { + return "." + FilenameUtils.getExtension(fileName).toLowerCase(); + } + /** * 文件删除 */ diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/FileUploadQuery.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/FileUploadQuery.java new file mode 100644 index 00000000..f86bdabb --- /dev/null +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/FileUploadQuery.java @@ -0,0 +1,29 @@ +package com.nflg.mobilebroken.gongfu.pojo.query; + +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class FileUploadQuery { + + /** + * 类型,1:服务月报 + */ + @NotNull + private Integer type; + + /** + * 文件名称 + */ + @NotBlank + private String fileName; + + /** + * 文件 + */ + @NotNull + private MultipartFile file; +} From 9ea1e02e60fb5892c12f76719f37864a02d7ee7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 21 Jan 2026 16:56:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?hotfix=20=E6=B7=BB=E5=8A=A0=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/nflg/mobilebroken/admin/pojo/query/DeviceQuery.java | 5 +++++ .../common/pojo/request/AdminTicketSearchRequest.java | 3 +++ .../com/nflg/mobilebroken/gongfu/pojo/query/DeviceQuery.java | 5 +++++ .../src/main/resources/mapper/DeviceMapper.xml | 3 +++ .../src/main/resources/mapper/GongfuDeviceMapper.xml | 3 +++ .../src/main/resources/mapper/GongfuTicketMapper.xml | 3 +++ .../src/main/resources/mapper/TicketMapper.xml | 3 +++ 7 files changed, 25 insertions(+) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/DeviceQuery.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/DeviceQuery.java index 5a92d3ff..487a821d 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/DeviceQuery.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/pojo/query/DeviceQuery.java @@ -39,4 +39,9 @@ public class DeviceQuery extends PageBaseQuery { * 质保结束日期(区间查询) */ private String warrantyEndDate; + + /** + * 搜索设备编号和机型 + */ + private String key; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java index b103b7f2..e5cd053d 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AdminTicketSearchRequest.java @@ -40,4 +40,7 @@ public class AdminTicketSearchRequest extends TicketSearchRequest { * 搜索关键字,同时搜索标题、设备编号、设备机型、问题描述、问题部位 */ private String key; + + //工单编号或者标题 + private String no; } \ No newline at end of file diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/DeviceQuery.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/DeviceQuery.java index 09118587..37020c79 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/DeviceQuery.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/DeviceQuery.java @@ -39,4 +39,9 @@ public class DeviceQuery extends PageBaseQuery { * 质保结束日期(区间查询) */ private String warrantyEndDate; + + /** + * 搜索设备编号和机型 + */ + private String key; } diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/DeviceMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/DeviceMapper.xml index 0d236cbf..ae46e199 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/DeviceMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/DeviceMapper.xml @@ -42,6 +42,9 @@ and a.start_warranty_date >= #{query.warrantyStartDate} and start_warranty_date <= #{query.warrantyEndDate} + + and concat(a.customer_name,a.device_no) LIKE concat('%', #{query.key}, '%') + diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuTicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuTicketMapper.xml index 567649c3..559212a1 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuTicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuTicketMapper.xml @@ -74,6 +74,9 @@ AND (t.title LIKE CONCAT('%', #{request.title}, '%') OR t.no LIKE CONCAT('%', #{request.title}, '%')) + + AND (t.title LIKE CONCAT('%', #{request.no}, '%') OR t.no LIKE CONCAT('%', #{request.no}, '%')) + AND t.device_no LIKE CONCAT('%', #{request.deviceNo}, '%') diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index e39b9f25..291f73f8 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -77,6 +77,9 @@ AND (t.title LIKE CONCAT('%', #{request.title}, '%') OR t.no LIKE CONCAT('%', #{request.title}, '%')) + + AND (t.title LIKE CONCAT('%', #{request.no}, '%') OR t.no LIKE CONCAT('%', #{request.no}, '%')) + AND t.device_no LIKE CONCAT('%', #{request.deviceNo}, '%') From a27906a75f974d2d53607d463832584c8d1fb8eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 26 Jan 2026 15:44:37 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=B7=A5=E6=9C=8D=E8=B0=83=E6=95=B42026012?= =?UTF-8?q?6=201=E3=80=81=E5=88=9B=E5=BB=BA=E8=AE=A2=E5=8D=95=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E5=8C=BA=E5=9F=9F=E7=9A=84=E5=85=88=E9=9A=90=E8=97=8F?= =?UTF-8?q?=EF=BC=8C=E5=85=88=E9=BB=98=E8=AE=A4=E4=B8=BA=E7=A9=BA=EF=BC=9B?= =?UTF-8?q?=202=E3=80=81=E6=89=80=E6=9C=89=E7=9A=84=E7=B1=BB=E5=88=AB?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E7=A7=BB=E9=99=A4=EF=BC=9B=203=E3=80=81?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E9=85=8D=E7=BD=AE=E8=B0=83=E6=95=B4=EF=BC=8C?= =?UTF-8?q?=E9=83=A8=E4=BB=B6=E4=B8=8D=E5=86=8D=E7=BB=91=E5=AE=9A=E6=9C=BA?= =?UTF-8?q?=E5=9E=8B=EF=BC=8C=E6=94=B9=E4=B8=BA=E7=BB=91=E5=AE=9A=E4=BA=A7?= =?UTF-8?q?=E5=93=81=E7=BA=BF=EF=BC=9B=204=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=96=B9=E6=A1=88=E6=B7=BB=E5=8A=A0=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/GongFuDeviceComponentExportDTO.java | 20 ++ .../dto/GongFuDeviceComponentImportDTO.java | 20 ++ .../request/SolutionMeasuresSaveRequest.java | 5 + .../common/pojo/request/TicketAddRequest.java | 2 +- .../controller/DeviceComponentController.java | 209 +++++++++++------- .../gongfu/controller/DeviceController.java | 8 +- .../query/GongFuDeviceComponentQuery.java | 20 ++ .../gongfu/pojo/query/PartQuery.java | 8 +- .../gongfu/pojo/vo/GongFuDeviceTypeVO.java | 29 +++ .../gongfu/service/AdminBasePartService.java | 4 +- .../service/AdminDeviceComponentService.java | 15 +- .../gongfu/service/AdminDeviceService.java | 8 +- .../entity/GongfuDeviceComponent.java | 9 +- .../repository/entity/GongfuDevicePart.java | 8 +- .../mapper/GongfuDeviceComponentMapper.java | 3 +- .../IGongfuDeviceComponentService.java | 3 +- .../GongfuDeviceComponentServiceImpl.java | 3 +- .../impl/TicketSolutionServiceImpl.java | 1 + .../mapper/GongfuDeviceComponentMapper.xml | 8 +- .../mapper/GongfuDevicePartMapper.xml | 36 +-- 20 files changed, 288 insertions(+), 131 deletions(-) create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentExportDTO.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentImportDTO.java create mode 100644 nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/GongFuDeviceComponentQuery.java create mode 100644 nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/vo/GongFuDeviceTypeVO.java diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentExportDTO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentExportDTO.java new file mode 100644 index 00000000..0731c404 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentExportDTO.java @@ -0,0 +1,20 @@ +package com.nflg.mobilebroken.common.pojo.dto; + +import lombok.Data; +import org.ttzero.excel.annotation.ExcelColumn; + +@Data +public class GongFuDeviceComponentExportDTO extends GongFuDeviceComponentImportDTO{ + + /** + * 创建人 + */ + @ExcelColumn(value = "创建人",colIndex = 2) + private String createBy; + + /** + * 创建时间 + */ + @ExcelColumn(value = "创建时间",colIndex = 3) + private String createTime; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentImportDTO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentImportDTO.java new file mode 100644 index 00000000..2118855b --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/dto/GongFuDeviceComponentImportDTO.java @@ -0,0 +1,20 @@ +package com.nflg.mobilebroken.common.pojo.dto; + +import lombok.Data; +import org.ttzero.excel.annotation.ExcelColumn; + +@Data +public class GongFuDeviceComponentImportDTO { + + /** + * 产品线 + */ + @ExcelColumn("产品线") + private String productLine; + + /** + * 机型部件 + */ + @ExcelColumn("部件名称") + private String modelPartName; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SolutionMeasuresSaveRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SolutionMeasuresSaveRequest.java index e40bc9e8..ff937fc3 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SolutionMeasuresSaveRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SolutionMeasuresSaveRequest.java @@ -38,6 +38,11 @@ public class SolutionMeasuresSaveRequest { */ private List imageIds; + /** + * 问题部件id + */ + private Long componentId; + /** * 解决措施 */ diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/TicketAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/TicketAddRequest.java index 404c3e3e..84b204cf 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/TicketAddRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/TicketAddRequest.java @@ -66,7 +66,7 @@ public class TicketAddRequest { private String handlerUserName; /** - * 工单区域id,工服工单必填 + * 工单区域id */ private Long areaId; diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceComponentController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceComponentController.java index c1d80ab5..1b40e339 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceComponentController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceComponentController.java @@ -2,26 +2,26 @@ package com.nflg.mobilebroken.gongfu.controller; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import com.nflg.mobilebroken.common.constant.STATE; import com.nflg.mobilebroken.common.exception.NflgException; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.pojo.PageData; -import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel; import com.nflg.mobilebroken.common.pojo.dto.DevComponentImportExcel; -import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery; -import com.nflg.mobilebroken.common.pojo.vo.DeviceComponent1VO; -import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO; -import com.nflg.mobilebroken.common.pojo.vo.DeviceTypeVO; import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.EecExcelUtil; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.gongfu.annotation.ApiMark; import com.nflg.mobilebroken.gongfu.pojo.dto.DeviceComponentDTO; import com.nflg.mobilebroken.gongfu.pojo.dto.DeviceComponentDetailDTO; +import com.nflg.mobilebroken.common.pojo.dto.GongFuDeviceComponentExportDTO; +import com.nflg.mobilebroken.common.pojo.dto.GongFuDeviceComponentImportDTO; +import com.nflg.mobilebroken.gongfu.pojo.query.GongFuDeviceComponentQuery; +import com.nflg.mobilebroken.gongfu.pojo.vo.GongFuDeviceTypeVO; import com.nflg.mobilebroken.repository.entity.GongfuDeviceComponent; import com.nflg.mobilebroken.repository.entity.GongfuDeviceComponentDetail; import com.nflg.mobilebroken.repository.entity.GongfuDevicePart; @@ -29,6 +29,7 @@ import com.nflg.mobilebroken.repository.service.IGongfuDeviceComponentDetailServ import com.nflg.mobilebroken.repository.service.IGongfuDeviceComponentService; import com.nflg.mobilebroken.repository.service.IGongfuDevicePartService; import com.nflg.mobilebroken.starter.annotation.MethodInfoMark; +import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -41,12 +42,12 @@ import javax.validation.Valid; import java.io.IOException; import java.time.LocalDateTime; import java.util.*; -import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; /** * 机型部件管理 */ +@Slf4j @RestController @RequestMapping("/deviceComponent") public class DeviceComponentController extends ControllerBase { @@ -67,32 +68,66 @@ public class DeviceComponentController extends ControllerBase { */ @PostMapping("getList") @ApiMark(moduleName = "机型部件管理", apiName = "获取设备机型列表") - public ApiResult> getList(@RequestBody DeviceComponentQuery query) { - List deviceComponents = deviceComponentService.getWithDeviceType(query.getModelNo(), query.getComponentSort()); - Map> mps = deviceComponents.stream().collect(Collectors.groupingBy(DeviceComponent1VO::getDeviceType)); - AtomicInteger index = new AtomicInteger(); - int first = (query.getPage() - 1) * query.getPageSize(); - int last = query.getPage() * query.getPageSize(); - PageData pageData = new PageData<>(); - List items = new ArrayList<>(); - mps.forEach((k, v) -> { - if (index.get() >= first && index.get() < last) { - DeviceTypeVO vo = new DeviceTypeVO(); - vo.setDeviceType(k); - vo.setItems(v.stream().map(d -> new DeviceComponentVO() - .setId(d.getId()) - .setModelNo(d.getModelNo()) - .setPartList(deviceComponentDetailService.getByModelNo(d.getModelNo()))).collect(Collectors.toList()) - ); - items.add(vo); - } - index.getAndIncrement(); + public ApiResult> getList(@RequestBody GongFuDeviceComponentQuery query) { +// List deviceComponents = deviceComponentService.getByProductLine(query.getProductLine(), query.getComponentSort()); +// Map> mps = deviceComponents.stream().collect(Collectors.groupingBy(DeviceComponent1VO::getDeviceType)); +// AtomicInteger index = new AtomicInteger(); +// int first = (query.getPage() - 1) * query.getPageSize(); +// int last = query.getPage() * query.getPageSize(); +// PageData pageData = new PageData<>(); +// List items = new ArrayList<>(); +// mps.forEach((k, v) -> { +// if (index.get() >= first && index.get() < last) { +// DeviceTypeVO vo = new DeviceTypeVO(); +// vo.setDeviceType(k); +// vo.setItems(v.stream().map(d -> new DeviceComponentVO() +// .setId(d.getId()) +// .setModelNo(d.getModelNo()) +// .setPartList(deviceComponentDetailService.getByModelNo(d.getModelNo()))).collect(Collectors.toList()) +// ); +// items.add(vo); +// } +// index.getAndIncrement(); +// }); +// pageData.setItems(items); +// pageData.setPage(query.getPage()); +// pageData.setPageSize(query.getPageSize()); +// pageData.setTotal(mps.size()); +// return ApiResult.success(pageData); + List productLines = deviceComponentService.lambdaQuery() + .select(GongfuDeviceComponent::getId, GongfuDeviceComponent::getProductLine) + .eq(GongfuDeviceComponent::getEnable, true) + .like(StrUtil.isNotBlank(query.getProductLine()), GongfuDeviceComponent::getProductLine, query.getProductLine()) + .list(); + List details = deviceComponentDetailService.list(); + details.forEach(d -> d.setId(d.getDeviceComponentId())); + List datas = new ArrayList<>(); + productLines.forEach(p -> { + GongFuDeviceTypeVO vo = datas.stream() + .filter(d -> StrUtil.equals(p.getProductLine(), d.getProductLine())) + .findFirst() + .orElseGet(() -> { + GongFuDeviceTypeVO v = new GongFuDeviceTypeVO() + .setProductLine(p.getProductLine()); + datas.add(v); + return v; + }); + vo.getItems().addAll( + details.stream() + .filter(d -> Objects.equals(d.getDeviceComponentId(), p.getId())) + .collect(Collectors.toList()) + ); }); - pageData.setItems(items); - pageData.setPage(query.getPage()); - pageData.setPageSize(query.getPageSize()); - pageData.setTotal(mps.size()); - return ApiResult.success(pageData); + if (query.getComponentSort()) { + datas.sort(Comparator.comparing(GongFuDeviceTypeVO::getSort).reversed()); + } else { + datas.sort(Comparator.comparing(GongFuDeviceTypeVO::getSort)); + } + List pageData = datas.stream() + .skip((long) (query.getPage() - 1) * query.getPageSize()) + .limit(query.getPageSize()) + .collect(Collectors.toList()); + return ApiResult.success(pageData, query, datas.size()); } /** @@ -181,10 +216,9 @@ public class DeviceComponentController extends ControllerBase { // @MethodInfoMark(value = "导入模板下载",menuName = "设备管理") public void downTemplate(HttpServletResponse response) throws IOException { EecExcelUtil.setResponseExcelHeader(response, "机型部件导入模板"); - - final ListSheet listSheet = new ListSheet() { + final ListSheet listSheet = new ListSheet<>() { @Override - protected List more() { + protected List more() { return null; } }; @@ -196,13 +230,14 @@ public class DeviceComponentController extends ControllerBase { * 检查重复行 * @param list */ - private List checkDuplicates(List list) { + private List checkDuplicates(List list) { List checkResult = new ArrayList<>(); list.stream() - .collect(Collectors.groupingBy(d -> d.getModelNo() + "-" + d.getModelPartName())) - .entrySet().stream() + .collect(Collectors.groupingBy(d -> d.getProductLine() + "-" + d.getModelPartName())) + .entrySet() + .stream() .filter(e -> e.getValue().size() > 1) - .forEach(e -> checkResult.add(e.getKey() + " -> " + e.getValue())); + .forEach(e -> checkResult.add(e.getKey().replace("-","->"))); return checkResult; } @@ -211,61 +246,80 @@ public class DeviceComponentController extends ControllerBase { * @param file * @return */ + @Transactional @PostMapping("importData") public ApiResult importData(@RequestParam(value = "file") MultipartFile file) { - try { - List data = EecExcelUtil.getExcelContext(file.getInputStream(), DevComponentExcel.class); + List data = EecExcelUtil.getExcelContext(file.getInputStream(), GongFuDeviceComponentImportDTO.class); VUtils.trueThrowBusinessError(CollUtil.isEmpty(data)).throwMessage("导入文件内容为空"); //检查内容是否重复 List checkResult = checkDuplicates(data); - VUtils.trueThrow(CollUtil.isNotEmpty(checkResult)).throwMessage(STATE.PageError, StrUtil.join(",", checkResult) + "内容重复,请检查导入的数据"); - - Set modeNos = data.stream().map(DevComponentExcel::getModelNo).collect(Collectors.toSet()); - List extstsModes = deviceComponentService.lambdaQuery().in(GongfuDeviceComponent::getModelNo, modeNos).list(); - Set extstsModesSet = extstsModes.stream().map(GongfuDeviceComponent::getModelNo).collect(Collectors.toSet()); - Set difference = Sets.difference(modeNos, extstsModesSet); - VUtils.trueThrow(CollUtil.isNotEmpty(difference)).throwMessage(STATE.ParamErr, StrUtil.join(",", difference) + " 设备机型不存"); + VUtils.trueThrow(CollUtil.isNotEmpty(checkResult)).throwMessage(STATE.PageError, "以下内容重复:"+StrUtil.join(",", checkResult)); //检查部件是否存在 - Set partNames = data.stream().map(DevComponentExcel::getModelPartName).collect(Collectors.toSet()); + Set partNames = data.stream().map(GongFuDeviceComponentImportDTO::getModelPartName).collect(Collectors.toSet()); List exitsParts = basePartService.lambdaQuery().in(GongfuDevicePart::getPartName, partNames).list(); Set exitsPartSet = exitsParts.stream().map(GongfuDevicePart::getPartName).collect(Collectors.toSet()); Set diffParts = Sets.difference(partNames, exitsPartSet); VUtils.trueThrow(CollUtil.isNotEmpty(diffParts)).throwMessage(STATE.ParamErr, StrUtil.join(",", diffParts) + " 部件名称不存在,请在部件管理中维护"); - Map> dataMap = data.stream().collect(Collectors.groupingBy(DevComponentExcel::getModelNo)); - Map extstsModeMap = extstsModes.stream().collect(Collectors.toMap(GongfuDeviceComponent::getModelNo, u -> u)); + Map> dataMap = data.stream().collect(Collectors.groupingBy(GongFuDeviceComponentImportDTO::getProductLine)); + List exitsComponent = deviceComponentService.list(); + Map extstsModeMap = exitsComponent.stream().collect(Collectors.toMap(GongfuDeviceComponent::getProductLine, u -> u)); Map exitsPartMap = exitsParts.stream().collect(Collectors.toMap(GongfuDevicePart::getPartName, u -> u)); - List result = new ArrayList<>(); - List deviceComponentResult = new ArrayList<>(); + List details = new ArrayList<>(); + List componentsForAdd = new ArrayList<>(); + List componentsForUpdate = new ArrayList<>(); for (String key : dataMap.keySet()) { - List componments = dataMap.get(key); - GongfuDeviceComponent dev = new GongfuDeviceComponent(); - dev.setId(extstsModeMap.get(key).getId()); - dev.setComponent(StrUtil.join(",", componments.stream().map(DevComponentExcel::getModelPartName).collect(Collectors.toSet()))); - deviceComponentResult.add(dev); - //删除现有部件 - deviceComponentDetailService.removeByMap(ImmutableMap.of("device_component_id", dev.getId())); - for (DevComponentExcel componment : componments) { - GongfuDeviceComponentDetail ent = new GongfuDeviceComponentDetail(); - ent.setDeviceComponentId(extstsModeMap.get(key).getId()); - ent.setModelPartId(exitsPartMap.get(componment.getModelPartName()).getId()); - ent.setModelPartName(componment.getModelPartName()); - ent.setCreateBy(AdminUserUtil.getUserName()); - ent.setCreateTime(LocalDateTime.now()); - result.add(ent); + Set components = dataMap.get(key).stream() + .map(GongFuDeviceComponentImportDTO::getModelPartName) + .collect(Collectors.toSet()); + if (extstsModeMap.containsKey(key)) { + StrUtil.split(extstsModeMap.get(key).getComponent(), ",").forEach(components::remove); + if (CollectionUtil.isNotEmpty(components)) { + GongfuDeviceComponent dev = extstsModeMap.get(key); + dev.setComponent(dev.getComponent() + "," + StrUtil.join(",", components)); + dev.setUpdateBy(AdminUserUtil.getUserName()); + dev.setUpdateTime(LocalDateTime.now()); + componentsForUpdate.add(dev); + for (String component : components) { + GongfuDeviceComponentDetail ent = new GongfuDeviceComponentDetail(); + ent.setDeviceComponentId(extstsModeMap.get(key).getId()); + ent.setModelPartId(exitsPartMap.get(component).getId()); + ent.setModelPartName(component); + ent.setCreateBy(AdminUserUtil.getUserName()); + ent.setCreateTime(LocalDateTime.now()); + details.add(ent); + } + } + } else { + GongfuDeviceComponent dev = new GongfuDeviceComponent(); + dev.setId(IdUtil.getSnowflakeNextId()); + dev.setProductLine(key); + dev.setComponent(StrUtil.join(",", components)); + dev.setCreateBy(AdminUserUtil.getUserName()); + dev.setCreateTime(LocalDateTime.now()); + componentsForAdd.add(dev); + for (String component : components) { + GongfuDeviceComponentDetail ent = new GongfuDeviceComponentDetail(); + ent.setDeviceComponentId(dev.getId()); + ent.setModelPartId(exitsPartMap.get(component).getId()); + ent.setModelPartName(component); + ent.setCreateBy(AdminUserUtil.getUserName()); + ent.setCreateTime(LocalDateTime.now()); + details.add(ent); + } } - - } - if (CollUtil.isNotEmpty(deviceComponentResult)) { - deviceComponentService.saveOrUpdateBatch(deviceComponentResult); + if (CollUtil.isNotEmpty(componentsForAdd)) { + deviceComponentService.saveBatch(componentsForAdd); } - if (CollUtil.isNotEmpty(result)) { - deviceComponentDetailService.saveOrUpdateBatch(result); + if (CollUtil.isNotEmpty(componentsForUpdate)) { + deviceComponentService.updateBatchById(componentsForUpdate); + } + if (CollUtil.isNotEmpty(details)) { + deviceComponentDetailService.saveOrUpdateBatch(details); } - } catch (IOException e) { throw new NflgException(STATE.BusinessError, "导入失败:" + e.getMessage()); } @@ -276,13 +330,12 @@ public class DeviceComponentController extends ControllerBase { /** * 导出部件 * @param response - * @throws IOException */ @GetMapping("exportData") @ApiMark(moduleName = "机型部件管理", apiName = "导出部件") - public void exportData(HttpServletResponse response) throws IOException { + public void exportData(HttpServletResponse response) { EecExcelUtil.setResponseExcelHeader(response, "机型部件管理"); - List list = deviceComponentService.getExportData(); + List list = deviceComponentService.getExportData(); if (CollUtil.isEmpty(list)) { throw new NflgException(STATE.BusinessError, "没有可导出的数据"); } diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java index 206886db..c3223ee0 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/controller/DeviceController.java @@ -456,9 +456,9 @@ public class DeviceController extends ControllerBase { ent.setDataModifyTime(LocalDateTime.now()); deviceTypes.add(ent); } - if (!deviceComponentService.lambdaQuery().eq(GongfuDeviceComponent::getModelNo, dto.getModelNo()).exists()) { + if (!deviceComponentService.lambdaQuery().eq(GongfuDeviceComponent::getProductLine, dto.getProductLine()).exists()) { GongfuDeviceComponent ent = new GongfuDeviceComponent(); - ent.setModelNo(dto.getModelNo()); + ent.setProductLine(dto.getProductLine()); ent.setComponent(""); ent.setEnable(true); ent.setCreateBy(AdminUserUtil.getUserName()); @@ -714,9 +714,9 @@ public class DeviceController extends ControllerBase { ent.setDataModifyTime(LocalDateTime.now()); deviceTypes.add(ent); } - if (!deviceComponentService.lambdaQuery().eq(GongfuDeviceComponent::getModelNo, dto.getModelNo()).exists()) { + if (!deviceComponentService.lambdaQuery().eq(GongfuDeviceComponent::getProductLine, dto.getProductLine()).exists()) { GongfuDeviceComponent ent = new GongfuDeviceComponent(); - ent.setModelNo(dto.getModelNo()); + ent.setProductLine(dto.getProductLine()); ent.setComponent(""); ent.setEnable(true); ent.setCreateBy(AdminUserUtil.getUserName()); diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/GongFuDeviceComponentQuery.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/GongFuDeviceComponentQuery.java new file mode 100644 index 00000000..ee7dcffd --- /dev/null +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/GongFuDeviceComponentQuery.java @@ -0,0 +1,20 @@ +package com.nflg.mobilebroken.gongfu.pojo.query; + +import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery; +import lombok.Data; + +@Data +public class GongFuDeviceComponentQuery extends PageBaseQuery { + + /** + * 产品线 + */ + private String productLine; + +// private String component; + + /** + * 组件排序,true:有组件在前,false:无组件在前,null:按id倒序 + */ + private Boolean componentSort=false; +} diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/PartQuery.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/PartQuery.java index fb1d0685..8343c857 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/PartQuery.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/query/PartQuery.java @@ -18,10 +18,10 @@ public class PartQuery extends PageBaseQuery { */ private String partName; - /** - * 类别属性 - */ - private String typeAttr; +// /** +// * 类别属性 +// */ +// private String typeAttr; /** * 状态 0-禁用 1-启用 diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/vo/GongFuDeviceTypeVO.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/vo/GongFuDeviceTypeVO.java new file mode 100644 index 00000000..8eb831c3 --- /dev/null +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/pojo/vo/GongFuDeviceTypeVO.java @@ -0,0 +1,29 @@ +package com.nflg.mobilebroken.gongfu.pojo.vo; + +import com.nflg.mobilebroken.repository.entity.GongfuDeviceComponentDetail; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Accessors(chain = true) +public class GongFuDeviceTypeVO { + + /** + * 产品线 + */ + private String productLine; + + /** + * 部件列表 + */ + private List items = new ArrayList<>(); + + private Integer sort; + + public Integer getSort() { + return items.size(); + } +} diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminBasePartService.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminBasePartService.java index c78e307c..c708765f 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminBasePartService.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminBasePartService.java @@ -153,13 +153,13 @@ public class AdminBasePartService { List languageDataList = new ArrayList<>(); for (Map mp : data) { String partName = mp.get("部件名称").toString(); - String typeAttr = mp.get("类别属性").toString(); +// String typeAttr = mp.get("类别属性").toString(); GongfuDevicePart partEnt = partService.lambdaQuery().eq(GongfuDevicePart::getPartName, partName).one(); if (partEnt == null) { partEnt = new GongfuDevicePart(); partEnt.setPartNo(UniqueSequenceGenerator.generateCode(Constant1.PartCodePrefix)); partEnt.setPartName(partName); - partEnt.setTypeAttr(typeAttr); +// partEnt.setTypeAttr(typeAttr); partEnt.setEnable(true); partEnt.setCreateBy(AdminUserUtil.getUserName()); partEnt.setCreateTime(LocalDateTime.now()); diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceComponentService.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceComponentService.java index 853e526b..03e0d3f0 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceComponentService.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceComponentService.java @@ -21,21 +21,20 @@ public class AdminDeviceComponentService { @Resource IGongfuDeviceComponentService deviceComponentService; - public void batchAddModelNo(List modelNos) { + public void batchAdd(List productLines) { List existDeviceTypes = deviceComponentService.lambdaQuery() - .in(GongfuDeviceComponent::getModelNo, modelNos) - .select(GongfuDeviceComponent::getModelNo).list(); + .in(GongfuDeviceComponent::getProductLine, productLines) + .select(GongfuDeviceComponent::getProductLine).list(); - Set existDeviceModelSet = existDeviceTypes.stream().map(GongfuDeviceComponent::getModelNo).collect(Collectors.toSet()); - HashSet addTypeSet = Sets.newHashSet(modelNos); + Set existDeviceModelSet = existDeviceTypes.stream().map(GongfuDeviceComponent::getProductLine).collect(Collectors.toSet()); + HashSet addTypeSet = Sets.newHashSet(productLines); Sets.SetView needAddModels = Sets.difference(addTypeSet, existDeviceModelSet); if (CollUtil.isNotEmpty(needAddModels)) { List modelList = new ArrayList<>(); - for (String model : needAddModels) { + for (String productLine : needAddModels) { GongfuDeviceComponent ent = new GongfuDeviceComponent(); ent.setId(null); - - ent.setModelNo(model); + ent.setProductLine(productLine); ent.setEnable(Boolean.TRUE); ent.setCreateBy(AdminUserUtil.getUserName()); ent.setCreateTime(LocalDateTime.now()); diff --git a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java index 1aad402c..f627b5e8 100644 --- a/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java +++ b/nflg-mobilebroken-gongfu/src/main/java/com/nflg/mobilebroken/gongfu/service/AdminDeviceService.java @@ -64,7 +64,7 @@ public class AdminDeviceService { dataTypes.put(deviceDTO.getProductLine(), Set.of(deviceDTO.getModelNo())); adminDeviceTypeService.batchAddDeviceType(dataTypes); //将设备机型 - adminDeviceComponentService.batchAddModelNo(ImmutableList.of(deviceDTO.getModelNo())); + adminDeviceComponentService.batchAdd(ImmutableList.of(deviceDTO.getProductLine())); } @Transactional(rollbackFor = Exception.class) @@ -83,7 +83,7 @@ public class AdminDeviceService { dataTypes.put(deviceDTO.getProductLine(), Set.of(deviceDTO.getModelNo())); adminDeviceTypeService.batchAddDeviceType(dataTypes); //将设备机型 - adminDeviceComponentService.batchAddModelNo(ImmutableList.of(deviceDTO.getModelNo())); + adminDeviceComponentService.batchAdd(ImmutableList.of(deviceDTO.getProductLine())); } // /** @@ -230,8 +230,8 @@ public class AdminDeviceService { }); adminDeviceTypeService.batchAddDeviceType(dataTypes); //将设备机型 - List models = result.stream().map(GongfuDevice::getModelNo).collect(Collectors.toList()); - adminDeviceComponentService.batchAddModelNo(models); + List productLines = result.stream().map(GongfuDevice::getProductLine).collect(Collectors.toList()); + adminDeviceComponentService.batchAdd(productLines); deviceService.lambdaUpdate() .set(GongfuDevice::getDataValidState, false) .eq(GongfuDevice::getDataValidState, true) diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDeviceComponent.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDeviceComponent.java index 68ee96b8..4e5c3cc0 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDeviceComponent.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDeviceComponent.java @@ -28,10 +28,15 @@ public class GongfuDeviceComponent implements Serializable { @TableId(value = "id", type = IdType.ASSIGN_ID) private Long id; +// /** +// * 设备机型 +// */ +// private String modelNo; + /** - * 设备机型 + * 产品线 */ - private String modelNo; + private String productLine; /** * 机型部件 diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDevicePart.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDevicePart.java index a37faeba..a45ed9a6 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDevicePart.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/GongfuDevicePart.java @@ -38,10 +38,10 @@ public class GongfuDevicePart implements Serializable { */ private String partName; - /** - * 类别属性 - */ - private String typeAttr; +// /** +// * 类别属性 +// */ +// private String typeAttr; /** * 是否启用 diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDeviceComponentMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDeviceComponentMapper.java index 14aeaaab..bd088c6a 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDeviceComponentMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/GongfuDeviceComponentMapper.java @@ -2,6 +2,7 @@ package com.nflg.mobilebroken.repository.mapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel; +import com.nflg.mobilebroken.common.pojo.dto.GongFuDeviceComponentExportDTO; import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery; import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery; import com.nflg.mobilebroken.common.pojo.vo.DeviceComponent1VO; @@ -29,7 +30,7 @@ public interface GongfuDeviceComponentMapper extends BaseMapper selectListByPage(@Param("page") Page page, @Param("query") DeviceComponentQuery query); - List getExportData(); + List getExportData(); List getWithDeviceType(String modelNo, Boolean componentSort); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDeviceComponentService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDeviceComponentService.java index 6036f3e5..dc4811af 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDeviceComponentService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IGongfuDeviceComponentService.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel; +import com.nflg.mobilebroken.common.pojo.dto.GongFuDeviceComponentExportDTO; import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery; import com.nflg.mobilebroken.common.pojo.vo.DeviceComponent1VO; import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO; @@ -37,7 +38,7 @@ public interface IGongfuDeviceComponentService extends IService data); - List getExportData(); + List getExportData(); List getWithDeviceType(String modelNo, Boolean componentSort); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDeviceComponentServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDeviceComponentServiceImpl.java index 6cb1edcb..1b7cd4bc 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDeviceComponentServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/GongfuDeviceComponentServiceImpl.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel; +import com.nflg.mobilebroken.common.pojo.dto.GongFuDeviceComponentExportDTO; import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery; import com.nflg.mobilebroken.common.pojo.vo.DeviceComponent1VO; import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO; @@ -58,7 +59,7 @@ public class GongfuDeviceComponentServiceImpl extends ServiceImpl getExportData() { + public List getExportData() { return this.getBaseMapper().getExportData(); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java index 2421bb1a..3c8cea02 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java @@ -271,6 +271,7 @@ public class TicketSolutionServiceImpl extends ServiceImpl - + select a.product_line,b.model_part_name,b.create_by,b.create_time from gongfu_device_component a - join gongfu_device_component_detail b on a.id=b.device_component_id - join t_base_part c on b.model_part_id=c.id + join gongfu_device_component_detail b on a.id=b.device_component_id + join gongfu_device_part c on b.model_part_id=c.id - select * from gongfu_device_part where 1=1 - - + select * from gongfu_device_part + + + +