Sfoglia il codice sorgente

修改故障管理输入限制、验证

ouyj 3 mesi fa
parent
commit
0b79ccd004

+ 4 - 4
ygtx-gxt/src/main/java/com/ygtx/gxt/controller/GxtFaultCodesController.java

@@ -110,8 +110,8 @@ public class GxtFaultCodesController extends BaseController
     @PostMapping
     public AjaxResult add(@RequestBody GxtFaultCodes gxtFaultCodes)
     {
-        if (!gxtFaultCodesService.checkFaultCodeUnique(gxtFaultCodes)) {
-            return error("新增故障代码'" + gxtFaultCodes.getFaultCode() + "'失败,故障代码已存在");
+        if (!gxtFaultCodesService.checkGxtFaultCodesByStationModelFaultCode(gxtFaultCodes)) {
+            return error("新增失败,已存在相同的场站、机型、故障代码组合");
         }
         if (!gxtFaultCodesService.checkGxtFaultCodesByStationModelBarcode(gxtFaultCodes)) {
             return error("新增失败,已存在相同的场站、机型、故障条文组合");
@@ -128,8 +128,8 @@ public class GxtFaultCodesController extends BaseController
     @PutMapping
     public AjaxResult edit(@RequestBody GxtFaultCodes gxtFaultCodes)
     {
-        if (!gxtFaultCodesService.checkFaultCodeUnique(gxtFaultCodes)) {
-            return error("修改故障代码'" + gxtFaultCodes.getFaultCode() + "'失败,故障代码已存在");
+        if (!gxtFaultCodesService.checkGxtFaultCodesByStationModelFaultCode(gxtFaultCodes)) {
+            return error("修改失败,已存在相同的场站、机型、故障代码组合");
         }
         if (!gxtFaultCodesService.checkGxtFaultCodesByStationModelBarcode(gxtFaultCodes)) {
             return error("修改失败,已存在相同的场站、机型、故障条文组合");

+ 8 - 0
ygtx-gxt/src/main/java/com/ygtx/gxt/mapper/GxtFaultCodesMapper.java

@@ -43,6 +43,14 @@ public interface GxtFaultCodesMapper
      */
     public GxtFaultCodes selectGxtFaultCodesByStationModelBarcode(GxtFaultCodes gxtFaultCodes);
 
+    /**
+     * 根据场站、机型和故障代码查询故障代码管理
+     * 
+     * @param gxtFaultCodes 故障代码管理对象
+     * @return 故障代码管理
+     */
+    public GxtFaultCodes selectGxtFaultCodesByStationModelFaultCode(GxtFaultCodes gxtFaultCodes);
+
     /**
      * 新增故障代码管理
      * 

+ 9 - 1
ygtx-gxt/src/main/java/com/ygtx/gxt/service/IGxtFaultCodesService.java

@@ -86,10 +86,18 @@ public interface IGxtFaultCodesService
     public String importGxtFaultCodes(List<GxtFaultCodes> faultCodesList, Boolean updateSupport, String operName);
 
     /**
-     * 验证故障代码是否唯一
+     * 验证场站、机型、故障条文组合是否唯一
      *
      * @param gxtFaultCodes 故障代码信息
      * @return 结果
      */
     public boolean checkGxtFaultCodesByStationModelBarcode(GxtFaultCodes gxtFaultCodes);
+
+    /**
+     * 验证场站、机型、故障代码组合是否唯一
+     *
+     * @param gxtFaultCodes 故障代码信息
+     * @return 结果
+     */
+    public boolean checkGxtFaultCodesByStationModelFaultCode(GxtFaultCodes gxtFaultCodes);
 }

+ 16 - 4
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtFaultCodesServiceImpl.java

@@ -208,9 +208,9 @@ public class GxtFaultCodesServiceImpl implements IGxtFaultCodesService
                 // 检查是否已存在相同场站、机型、故障条文的组合数据
                 GxtFaultCodes faultCodesByCondition = gxtFaultCodesMapper.selectGxtFaultCodesByStationModelBarcode(faultCodes);
                 if (faultCodesByCondition == null) {
-                    if(!checkFaultCodeUnique(faultCodes)){
+                    if(!checkGxtFaultCodesByStationModelFaultCode(faultCodes)){
                         failureNum++;
-                        failureMsg.append("<br/>第" + row + "行故障代码已存在");
+                        failureMsg.append("<br/>第" + row + "行场站、机型、故障代码组合已存在");
                         continue;
                     }
                     // 新增
@@ -222,9 +222,9 @@ public class GxtFaultCodesServiceImpl implements IGxtFaultCodesService
                 } else if (updateSupport) {
                     // 更新
                     faultCodes.setId(faultCodesByCondition.getId());
-                    if(!checkFaultCodeUnique(faultCodes)){
+                    if(!checkGxtFaultCodesByStationModelFaultCode(faultCodes)){
                         failureNum++;
-                        failureMsg.append("<br/>第" + row + "行故障代码已存在");
+                        failureMsg.append("<br/>第" + row + "行场站、机型、故障代码组合已存在");
                         continue;
                     }
                     faultCodes.setUpdateBy(operName);
@@ -262,4 +262,16 @@ public class GxtFaultCodesServiceImpl implements IGxtFaultCodesService
         }
         return true;
     }
+
+    @Override
+    public boolean checkGxtFaultCodesByStationModelFaultCode(GxtFaultCodes gxtFaultCodes) {
+        if(StringUtils.isNotEmpty(gxtFaultCodes.getFaultCode())){
+            Long id = gxtFaultCodes.getId() == null ? -1L : gxtFaultCodes.getId();
+            GxtFaultCodes info = gxtFaultCodesMapper.selectGxtFaultCodesByStationModelFaultCode(gxtFaultCodes);
+            if (info != null && info.getId().longValue() != id.longValue()) {
+                return false;
+            }
+        }
+        return true;
+    }
 }

+ 5 - 0
ygtx-gxt/src/main/resources/mapper/gxt/GxtFaultCodesMapper.xml

@@ -50,6 +50,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectGxtFaultCodesVo"/>
         where station = #{station} and model = #{model} and fault_barcode = #{faultBarcode}
     </select>
+    
+    <select id="selectGxtFaultCodesByStationModelFaultCode" parameterType="GxtFaultCodes" resultMap="GxtFaultCodesResult">
+        <include refid="selectGxtFaultCodesVo"/>
+        where station = #{station} and model = #{model} and fault_code = #{faultCode}
+    </select>
 
     <insert id="insertGxtFaultCodes" parameterType="GxtFaultCodes" useGeneratedKeys="true" keyProperty="id">
         insert into gxt_fault_codes

+ 4 - 4
ygtx-ui/src/views/gxt/faultCodes/index.vue

@@ -184,12 +184,12 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="故障代码" prop="faultCode">
-              <el-input v-model="form.faultCode" placeholder="请输入故障代码" maxlength="50" show-word-limit v-chinese-limit/>
+              <el-input v-model="form.faultCode" placeholder="请输入故障代码" maxlength="10" show-word-limit v-chinese-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="故障条文" prop="faultBarcode">
-              <el-input v-model="form.faultBarcode" placeholder="请输入故障条文" maxlength="100" show-word-limit/>
+              <el-input v-model="form.faultBarcode" placeholder="请输入故障条文" maxlength="20" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -211,14 +211,14 @@
         <el-row :gutter="20">
           <el-col :span="24">
             <el-form-item label="故障描述" prop="faultDescription">
-              <el-input v-model="form.faultDescription" type="textarea" placeholder="请输入内容" :rows="4" maxlength="500" show-word-limit/>
+              <el-input v-model="form.faultDescription" type="textarea" placeholder="请输入内容" :rows="4" maxlength="200" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :span="24">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :rows="4" maxlength="500" show-word-limit/>
+              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" :rows="4" maxlength="200" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>