From a5115a30066847baaf0d85ae8ba802b8f2fd5e58 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期一, 09 九月 2024 18:03:00 +0800 Subject: [PATCH] 设备功能 --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java | 12 +++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java | 40 ++++++++++++++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java | 8 ++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java | 16 ++++++++ jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/OptionVO.java | 19 +++++++++ 5 files changed, 94 insertions(+), 1 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java index bee8e5c..6e6ed41 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/DevModelController.java @@ -92,4 +92,20 @@ BeanUtils.toBean(list, DevModelRespVO.class)); } + @GetMapping("/brand-option") + @Operation(summary = "鑾峰緱鍝佺墝閫夐」") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:query')") + public CommonResult<List<OptionVO>> getBrandOption(String category) { + List<OptionVO> optionVOList = devModelService.getBrandOptions( category ); + return success( optionVOList ); + } + + @GetMapping("/model-option") + @Operation(summary = "鑾峰緱妯″瀷閫夐」") + @PreAuthorize("@ss.hasPermission('ecg:dev-model:query')") + public CommonResult<List<OptionVO>> getModelOption(String category, String brand) { + List<OptionVO> optionVOList = devModelService.getBrandModelOptions( category, brand ); + return success( optionVOList ); + } + } \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/OptionVO.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/OptionVO.java new file mode 100644 index 0000000..74c510c --- /dev/null +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/controller/admin/devmanage/vo/OptionVO.java @@ -0,0 +1,19 @@ +package cn.lihu.jh.module.ecg.controller.admin.devmanage.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; + +@Schema(description = "绠$悊鍚庡彴 - 璁惧鍨嬪彿鏂板/淇敼 Option VO") +@Data +public class OptionVO { + + @Schema(description = "鏄剧ず鍚�", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "鏄剧ず鍚嶄笉鑳戒负绌�") + private String label; + + @Schema(description = "閫夊瀷鍊�", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "閫夊瀷鍊间笉鑳戒负绌�") + private String value; +} \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java index c37aba5..df3a775 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/dal/mysql/devmanage/DevModelMapper.java @@ -8,6 +8,8 @@ import cn.lihu.jh.module.ecg.dal.dataobject.devmanage.DevModelDO; import org.apache.ibatis.annotations.Mapper; import cn.lihu.jh.module.ecg.controller.admin.devmanage.vo.*; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 璁惧鍨嬪彿 Mapper @@ -26,4 +28,10 @@ .orderByDesc(DevModelDO::getId)); } + @Select("select distinct brand from lihu.device_model where category=#{category}") + List<String> getBrandByCategory(@Param("category") String category); + + @Select("select model from lihu.device_model where category=#{category} and brand=#{brand}") + List<String> getModelByCategoryBrand(@Param("category") String category, @Param("brand") String brand); + } \ No newline at end of file diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java index ab17c84..526a30d 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelService.java @@ -5,6 +5,7 @@ import cn.lihu.jh.framework.common.pojo.PageResult; import javax.validation.Valid; +import java.util.List; /** * 璁惧鍨嬪彿 Service 鎺ュ彛 @@ -51,4 +52,13 @@ */ PageResult<DevModelDO> getDevModelPage(DevModelPageReqVO pageReqVO); -} \ No newline at end of file + /** + * 鏍规嵁鍒嗙被鑾峰彇鍝佺墝 + */ + List<OptionVO> getBrandOptions(String devCategory); + + /** + * 鏍规嵁鍒嗙被鍜屽搧鐗岋紝鑾峰彇鍨嬪彿 + */ + List<OptionVO> getBrandModelOptions(String devCategory, String devBrand); +} diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java index 29ec88b..7939b42 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/service/devmanage/DevModelServiceImpl.java @@ -1,5 +1,7 @@ package cn.lihu.jh.module.ecg.service.devmanage; +import cn.lihu.jh.module.system.api.dict.DictDataApi; +import cn.lihu.jh.module.system.api.dict.dto.DictDataRespDTO; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -11,6 +13,11 @@ import cn.lihu.jh.module.ecg.dal.mysql.devmanage.DevModelMapper; import javax.annotation.Resource; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import static cn.lihu.jh.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.lihu.jh.module.ecg.enums.ErrorCodeConstants.*; @@ -26,6 +33,9 @@ @Resource private DevModelMapper devModelMapper; + + @Resource + private DictDataApi dictDataApi; @Override public Integer createDevModel(DevModelSaveReqVO createReqVO) { @@ -69,4 +79,34 @@ return devModelMapper.selectPage(pageReqVO); } + @Override + public List<OptionVO> getBrandOptions(String devCategory) { + List<String> list = devModelMapper.getBrandByCategory(devCategory); + + List<DictDataRespDTO> dictDataRespDTOList = dictDataApi.getDictDataList("ecg_dev_brand"); + Map<String, String> map = dictDataRespDTOList.stream().collect(Collectors.toMap(DictDataRespDTO::getValue, DictDataRespDTO::getLabel)); + + List<OptionVO> optionVOList = new ArrayList<>(); + list.forEach(item -> { + OptionVO optionVO = new OptionVO(); + optionVO.setLabel( map.get(item) ); + optionVO.setValue( item ); + optionVOList.add( optionVO ); + }); + return optionVOList; + } + + @Override + public List<OptionVO> getBrandModelOptions(String devCategory, String devBrand) { + List<String> list = devModelMapper.getModelByCategoryBrand(devCategory, devBrand); + List<OptionVO> optionVOList = new ArrayList<>(); + list.forEach(item -> { + OptionVO optionVO = new OptionVO(); + optionVO.setLabel( item ); + optionVO.setValue( item ); + optionVOList.add( optionVO ); + }); + return optionVOList; + } + } \ No newline at end of file -- Gitblit v1.9.3