Преглед изворни кода

bugfix:
1、厂商管理-新增-厂商key和厂商标识建议统一名称
2、厂商管理-新增-设备型号无重复校验;厂商key和设备型号能填写为空格

lihao16 пре 5 месеци
родитељ
комит
0d651f19b7

+ 12 - 1
smsb-modules/smsb-device/src/main/java/com/inspur/device/service/impl/SmsbDeviceManufacturerServiceImpl.java

@@ -1,5 +1,6 @@
 package com.inspur.device.service.impl;
 
+import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -111,7 +112,17 @@ public class SmsbDeviceManufacturerServiceImpl implements ISmsbDeviceManufacture
      * 保存前的数据校验
      */
     private void validEntityBeforeSave(SmsbDeviceManufacturer entity){
-        //TODO 做一些数据校验,如唯一约束
+        //校验信号唯一性
+        SmsbDeviceManufacturer smsbDeviceManufacturer = baseMapper.selectOne(new LambdaQueryWrapper<SmsbDeviceManufacturer>()
+            .eq(SmsbDeviceManufacturer::getDeviceModel,entity.getDeviceModel()).last("limit 1"));
+        // 新增校验
+        if (null == entity.getId() && null != smsbDeviceManufacturer && entity.getDeviceModel().equals(smsbDeviceManufacturer.getDeviceModel())) {
+            throw new ServiceException("设备型号已存在!");
+        }
+        // 更新校验
+        if (null != smsbDeviceManufacturer && !entity.getId().equals(smsbDeviceManufacturer.getId())) {
+            throw new ServiceException("设备型号已存在!");
+        }
     }
 
     /**

+ 15 - 5
smsb-plus-ui/src/views/smsb/manufacturer/index.vue

@@ -90,20 +90,20 @@
       <el-form ref="deviceManufacturerFormRef" :model="form" :rules="rules" label-width="80px">
         <el-row :gutter="20">
           <el-col :span="12">
-            <el-form-item label="厂商KEY" prop="manufacturerKey">
-              <el-input v-model="form.manufacturerKey" placeholder="请输入厂商KEY" />
+            <el-form-item label="厂商标识" prop="manufacturerKey">
+              <el-input v-model="form.manufacturerKey" @input="removeSpaces" placeholder="请输入厂商标识" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="厂商名称" prop="manufacturerName">
-              <el-input v-model="form.manufacturerName" placeholder="请输入厂商名称" />
+              <el-input v-model="form.manufacturerName" @input="removeSpaces" placeholder="请输入厂商名称" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="设备型号" prop="deviceModel">
-              <el-input v-model="form.deviceModel" placeholder="请输入设备型号" />
+              <el-input v-model="form.deviceModel" @input="removeSpaces" placeholder="请输入设备型号" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -195,7 +195,17 @@ const getList = async () => {
   total.value = res.total;
   loading.value = false;
 };
-
+const removeSpaces = () => {
+  if (form.value.manufacturerKey != null) {
+    form.value.manufacturerKey = form.value.manufacturerKey.replace(/\s+/g, '');
+  }
+  if (form.value.manufacturerName != null) {
+    form.value.manufacturerName = form.value.manufacturerName.replace(/\s+/g, '');
+  }
+  if (form.value.deviceModel != null) {
+    form.value.deviceModel = form.value.deviceModel.replace(/\s+/g, '');
+  }
+};
 /** 取消按钮 */
 const cancel = () => {
   reset();