From d46df2ebd968ea2fde844da75e5df6b187532114 Mon Sep 17 00:00:00 2001 From: SjS Date: Fri, 11 Apr 2025 14:48:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=9E=8B=E5=8F=B7=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E7=89=88=E6=9C=AC=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-druid.yml | 4 ++-- .../src/views/device/model/index.vue | 20 ++++++++++++++++--- .../com/ruoyi/device/app/AppController.java | 10 ++++++++++ .../device/controller/AsModelController.java | 10 +++++++++- .../java/com/ruoyi/device/domain/AsModel.java | 8 ++++++++ .../com/ruoyi/device/domain/vo/AsModelVO.java | 17 ++++++++++++++++ .../device/mapper/AsDeviceVersionMapper.java | 2 ++ .../service/IAsDeviceVersionService.java | 2 ++ .../ruoyi/device/service/IAsModelService.java | 2 ++ .../impl/AsDeviceVersionServiceImpl.java | 6 ++++++ .../service/impl/AsModelServiceImpl.java | 14 +++++++++++++ .../mapper/device/AsDeviceVersionMapper.xml | 8 ++++++++ .../resources/mapper/device/AsModelMapper.xml | 1 + 13 files changed, 98 insertions(+), 6 deletions(-) create mode 100644 AutoSprout-watering/src/main/java/com/ruoyi/device/domain/vo/AsModelVO.java diff --git a/AutoSprout-admin/src/main/resources/application-druid.yml b/AutoSprout-admin/src/main/resources/application-druid.yml index 117e58c..2069690 100644 --- a/AutoSprout-admin/src/main/resources/application-druid.yml +++ b/AutoSprout-admin/src/main/resources/application-druid.yml @@ -10,9 +10,9 @@ spring: # username: root # password: 123456 master: - url: jdbc:mysql://localhost:3306/autosprout?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://47.120.68.19:3306/autosprout-dev?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: 123456 + password: d0dbe100b71c1d09 # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/AutoSprout-ui/src/views/device/model/index.vue b/AutoSprout-ui/src/views/device/model/index.vue index 911720d..e759bd1 100644 --- a/AutoSprout-ui/src/views/device/model/index.vue +++ b/AutoSprout-ui/src/views/device/model/index.vue @@ -258,6 +258,18 @@ export default { }, methods: { + /** 查询版本号 */ + getVersionByModel(modelId) { + listVersion({ modelId: modelId }) // 假设后端支持modelId参数过滤 + .then(response => { + this.versionOptions = response.rows; + // 保持当前选择的版本有效性 + if (this.form.versionId && + !this.versionOptions.some(v => v.versionId === this.form.versionId)) { + this.form.versionId = null; + } + }); + }, /** 查询型号列表列表 */ getList() { this.loading = true; @@ -320,17 +332,19 @@ export default { this.reset(); this.open = true; this.title = "添加型号"; - this.loading = true; + this.versionOptions = []; // 关键代码 }, /** 修改按钮操作 */ handleUpdate(row) { this.reset(); - const modelId = row.modelId || this.ids + const modelId = row.modelId || this.ids; getModel(modelId).then(response => { this.form = response.data; this.open = true; - this.title = "修改型号列表"; + this.title = "修改型号"; + + this.getVersionByModel(modelId); // 关键代码 }); }, /** 提交按钮 */ diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java index 032b1c2..9486593 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/app/AppController.java @@ -470,6 +470,16 @@ public class AppController extends BaseController return AjaxResult.success(asDevices); } + /** + * 获取型号详情信息 + */ + @GetMapping("/model/{id}") + public AjaxResult getModelDetail(@PathVariable Long id) + { + AsModel asModel = asModelService.selectAsModelDetail(id); + return AjaxResult.success(asModel); + } + /** * 所有型号列表 */ diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsModelController.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsModelController.java index 868b0f2..9b19f4f 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsModelController.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/controller/AsModelController.java @@ -2,6 +2,9 @@ package com.ruoyi.device.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.device.domain.AsDeviceVersion; +import com.ruoyi.device.service.IAsDeviceVersionService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -34,6 +37,8 @@ public class AsModelController extends BaseController @Autowired private IAsModelService asModelService; + @Autowired + private IAsDeviceVersionService asDeviceVersionService; /** * 查询型号列表列表 */ @@ -66,7 +71,10 @@ public class AsModelController extends BaseController @GetMapping(value = "/{modelId}") public AjaxResult getInfo(@PathVariable("modelId") Long modelId) { - return success(asModelService.selectAsModelByModelId(modelId)); + AsModel asModel = asModelService.selectAsModelByModelId(modelId); + List versionList = asDeviceVersionService.selectAsDeviceVersionByModelId(modelId); + asModel.setVersionList(versionList); + return success(asModel); } /** diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java index 0ac07f2..e00377b 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/AsModel.java @@ -5,6 +5,8 @@ import lombok.Data; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import java.util.List; + /** * 型号列表对象 as_model * @@ -59,4 +61,10 @@ public class AsModel extends BaseEntity @Excel(name = "在线率") private String onlineRate; + @Excel(name = "版本数据") + private AsDeviceVersion asDeviceVersion; + + @Excel(name = "版本号集合") + private List versionList; + } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/vo/AsModelVO.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/vo/AsModelVO.java new file mode 100644 index 0000000..2ed6ef7 --- /dev/null +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/domain/vo/AsModelVO.java @@ -0,0 +1,17 @@ +package com.ruoyi.device.domain.vo; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.device.domain.AsDeviceVersion; +import com.ruoyi.device.domain.AsModel; +import lombok.Data; + +import java.util.List; + +@Data +public class AsModelVO extends AsModel { + + /** 版本信息集合 */ + @Excel(name = "版本信息集合") + private List asDeviceVersions; + +} diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java index 5b0ba64..f4da7b7 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/mapper/AsDeviceVersionMapper.java @@ -66,4 +66,6 @@ public interface AsDeviceVersionMapper extends BaseMapper * @return 结果 */ public int deleteAsDeviceVersionByVersionIds(Long[] versionIds); + + public List selectAsDeviceVersionByModelId(Long modelId); } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceVersionService.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceVersionService.java index 4af6edf..49a5d1b 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceVersionService.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsDeviceVersionService.java @@ -67,4 +67,6 @@ public interface IAsDeviceVersionService * @return 结果 */ public int deleteAsDeviceVersionByVersionId(Long versionId); + + public List selectAsDeviceVersionByModelId(Long modelId); } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsModelService.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsModelService.java index b570bf7..77056fd 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsModelService.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/IAsModelService.java @@ -75,4 +75,6 @@ public interface IAsModelService * @return 结果 */ public boolean checkModelUnique(AsModel asModel); + + public AsModel selectAsModelDetail(Long modelId); } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java index b753dc3..591d9bf 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsDeviceVersionServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.device.service.impl; +import java.util.Collections; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -107,4 +108,9 @@ public class AsDeviceVersionServiceImpl extends ServiceImpl selectAsDeviceVersionByModelId(Long modelId) { + return asDeviceVersionMapper.selectAsDeviceVersionByModelId(modelId); + } } diff --git a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java index fdd7f9c..28d0d9d 100644 --- a/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java +++ b/AutoSprout-watering/src/main/java/com/ruoyi/device/service/impl/AsModelServiceImpl.java @@ -43,6 +43,7 @@ public class AsModelServiceImpl extends ServiceImpl impl @Resource private AsDeviceVersionMapper versionMapper; + /** * 查询型号列表 * @@ -184,4 +185,17 @@ public class AsModelServiceImpl extends ServiceImpl impl } return UserConstants.UNIQUE; } + + /** + * 获取型号详细信息以及对应的版本信息 + * @param modelId + * @return + */ + @Override + public AsModel selectAsModelDetail(Long modelId) { + AsModel asModel = asModelMapper.selectAsModelByModelId(modelId); + AsDeviceVersion asDeviceVersion = versionMapper.selectAsDeviceVersionByVersionId(asModel.getVersionId()); + asModel.setAsDeviceVersion(asDeviceVersion); + return asModel; + } } diff --git a/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceVersionMapper.xml b/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceVersionMapper.xml index d67c837..fa3006c 100644 --- a/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceVersionMapper.xml +++ b/AutoSprout-watering/src/main/resources/mapper/device/AsDeviceVersionMapper.xml @@ -34,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" v.upgrade_describe from as_device_version v left join as_model m on v.model_id = m.model_id + + + insert into as_device_version diff --git a/AutoSprout-watering/src/main/resources/mapper/device/AsModelMapper.xml b/AutoSprout-watering/src/main/resources/mapper/device/AsModelMapper.xml index d7b3cf3..b3e13c8 100644 --- a/AutoSprout-watering/src/main/resources/mapper/device/AsModelMapper.xml +++ b/AutoSprout-watering/src/main/resources/mapper/device/AsModelMapper.xml @@ -42,6 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where model_id = #{modelId} +