From 9660ff90d9a58fb675c821d9ed31b627a59d4b76 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期日, 28 一月 2024 15:18:37 +0800
Subject: [PATCH] 近义词管理,界面和接口完善

---
 Source/UBCS-WEB/src/const/code/codeSynonym.js                                                                            |  259 +---------------
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java          |    7 
 Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java                      |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSynonymWrapper.java                       |   24 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSynonymMapper.xml                                       |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java                    |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateAttrService.java         |    9 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java              |  118 +++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |   14 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java  |    6 
 Source/UBCS/ubcs-service/ubcs-code/pom.xml                                                                               |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml                          |    3 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java          |    5 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSynonymMapper.java                         |   17 -
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSynonymVO.java               |   90 -----
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java             |    3 
 Source/UBCS-WEB/src/views/code/codeSynonym.vue                                                                           |  161 +++++++++-
 /dev/null                                                                                                                |   34 --
 Source/UBCS-WEB/src/api/code/codeSynonym.js                                                                              |   21 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSerialValueMapper.java                     |    1 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonym.java                       |   57 +++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeSynonymClient.java                          |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java                      |   46 ++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java                 |    4 
 24 files changed, 461 insertions(+), 435 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/code/codeSynonym.js b/Source/UBCS-WEB/src/api/code/codeSynonym.js
index 2b40dbc..f3f14b7 100644
--- a/Source/UBCS-WEB/src/api/code/codeSynonym.js
+++ b/Source/UBCS-WEB/src/api/code/codeSynonym.js
@@ -22,7 +22,7 @@
   })
 }
 
-export const remove = (ids) => {
+export const remove = (oids) => {
   return request({
     url: '/api/ubcs-code/codeSynonym/remove',
     method: 'post',
@@ -34,7 +34,7 @@
 
 export const add = (row) => {
   return request({
-    url: '/api/ubcs-code/codeSynonym/submit',
+    url: '/api/ubcs-code/codeSynonym/save',
     method: 'post',
     data: row
   })
@@ -42,9 +42,24 @@
 
 export const update = (row) => {
   return request({
-    url: '/api/ubcs-code/codeSynonym/submit',
+    url: '/api/ubcs-code/codeSynonym/update',
     method: 'post',
     data: row
   })
 }
 
+export const updateStatus = (data) => {
+  return request({
+    url: '/api/ubcs-code/codeSynonym/updateStatus',
+    method: 'post',
+    data: data
+  })
+}
+
+export const listUseRange = (oid) => {
+  return request({
+    url: '/api/ubcs-code/codeSynonym/listUseRange',
+    method: 'get',
+    params: oid
+  })
+}
diff --git a/Source/UBCS-WEB/src/const/code/codeSynonym.js b/Source/UBCS-WEB/src/const/code/codeSynonym.js
index 6103410..9d90982 100644
--- a/Source/UBCS-WEB/src/const/code/codeSynonym.js
+++ b/Source/UBCS-WEB/src/const/code/codeSynonym.js
@@ -4,262 +4,61 @@
   tip: false,
   searchShow: true,
   columnBtn:false,
-  searchMenuSpan: 6,
+  searchMenuSpan: 7,
   searchLabelWidth:120,
   border: true,
   index: true,
-  viewBtn: true,
+  viewBtn: false,
   selection: true,
   dialogClickModal: false,
   highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
   rowKey: "oid", //琛屾暟鎹殑 Key锛岀敤鏉ヤ紭鍖� Table 鐨勬覆鏌�
   column: [
     {
-      label: "",
-      prop: "oid",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "revisionoid",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "nameoid",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "btmname",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "lastr",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "firstr",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "lastv",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "firstv",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "creator",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "createtime",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "lastmodifier",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "lastmodifytime",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "revisionrule",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "versionrule",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "revisionseq",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "revisionvalue",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "versionseq",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "versionvalue",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "lctid",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "lcstatus",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "ts",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "鎵�灞炶涓�",
+      label: "缂栧彿",
       prop: "id",
       type: "input",
       search: true,
+      searchLabelWidth: 45,
+      searchSpan: 4,
     },
     {
-      label: "鎵�灞炶涓氬悕绉�",
+      label: "鍚嶇О",
       prop: "name",
       type: "input",
-      labelWidth:110,
       search: true,
-    },
-    {
-      label: "",
-      prop: "description",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "owner",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "",
-      prop: "copyfromversion",
-      type: "input",
-      addDisplay: false,
-      editDisplay: false,
-      viewDisplay: false,
-      hide: true,
-    },
-    {
-      label: "鎵�灞炴ā鏉�",
-      prop: "codeclassifytemplateoid",
-      type: "input",
-      search: true,
+      searchLabelWidth: 45,
+      searchSpan: 4,
     },
     {
       label: "婧愬��",
-      prop: "sourcevalue",
+      prop: "sourceValue",
       type: "input",
       search: true,
+      searchLabelWidth: 45,
+      searchSpan: 4,
     },
     {
-      label: "鍚屼箟璇�",
-      prop: "synonymvalue",
+      label: "杩戜箟璇�",
+      prop: "synonymValue",
       type: "input",
       search: true,
+      searchLabelWidth: 60,
+      searchSpan: 4,
     },
+    {
+      label: "鐘舵��",
+      prop: "lcStatusText",
+      type: "input",
+      addDisplay: false,
+      editDisplay: false,
+      viewDisplay: false,
+    },
+    // {
+    //   label: "鎵�灞炴ā鏉�",
+    //   prop: "codeclassifytemplateoid",
+    //   type: "input",
+    //   search: true,
+    // },
   ]
 }
diff --git a/Source/UBCS-WEB/src/views/code/codeSynonym.vue b/Source/UBCS-WEB/src/views/code/codeSynonym.vue
index e991719..fe54a36 100644
--- a/Source/UBCS-WEB/src/views/code/codeSynonym.vue
+++ b/Source/UBCS-WEB/src/views/code/codeSynonym.vue
@@ -1,38 +1,85 @@
 <template>
   <basic-container>
     <avue-crud :option="option"
-               :table-loading="loading"
-               :data="data"
-               :page.sync="page"
-               :permission="permissionList"
-               :before-open="beforeOpen"
-               v-model="form"
-               ref="crud"
-               @row-update="rowUpdate"
-               @row-save="rowSave"
-               @row-del="rowDel"
-               @search-change="searchChange"
-               @search-reset="searchReset"
-               @selection-change="selectionChange"
-               @current-change="currentChange"
-               @size-change="sizeChange"
-               @refresh-change="refreshChange"
-               @on-load="onLoad">
+      :table-loading="loading"
+      :data="data"
+      :page.sync="page"
+      :permission="permissionList"
+      :before-open="beforeOpen"
+      v-model="form"
+      ref="crud"
+      @row-update="rowUpdate"
+      @row-save="rowSave"
+      @row-del="rowDel"
+      @row-click="rowClick"
+      @search-change="searchChange"
+      @search-reset="searchReset"
+      @selection-change="selectionChange"
+      @current-change="currentChange"
+      @size-change="sizeChange"
+      @refresh-change="refreshChange"
+      @on-load="onLoad">
       <template slot="menuLeft">
         <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   plain
-                   v-if="permission.codeSynonym_delete"
-                   @click="handleDelete">鍒� 闄�
+          size="small"
+          icon="el-icon-delete"
+          plain
+          v-if="permissionList.delBtn"
+          @click="handleDelete">鍒� 闄�
+        </el-button>
+        <el-button type="primary"
+          size="small"
+          icon="el-icon-zoom-in"
+          plain
+          @click="viewUseRange">
+          鏌ョ湅浣跨敤鑼冨洿
+        </el-button>
+      </template>
+      <template slot="menu" slot-scope="scope">
+        <el-button v-if="(scope.row.lcStatus == 'Disabled' ? true : false)"
+          icon="el-icon-position"
+          plain
+          size="small"
+          type="text"
+          @click="enableOrDeactivatse(scope.row.oid, 'Released')"
+          >鍚� 鐢�
+        </el-button>
+        <el-button v-if="(scope.row.lcStatus == 'Released' ? true : false)"
+          icon="el-icon-video-pause"
+          plain
+          size="small"
+          type="text"
+          @click="enableOrDeactivatse(scope.row.oid, 'Disabled')"
+        > 鍋� 鐢�
         </el-button>
       </template>
     </avue-crud>
+
+    <!-- 浣跨敤鑼冨洿瀵硅瘽妗� -->
+    <el-dialog
+      :visible.sync="isUseRangeVisible"
+      append-to-body
+      class="avue-dialog avue-dialog--top"
+      style="height: 100vh"
+      top="-3%"
+      width="800px"
+      title="杩戜箟璇嶈鍒欎娇鐢ㄨ寖鍥�"
+    >
+      <avue-crud :option="useRangeOption"
+        :table-loading="useRangeloading"
+        :data="useRangeData"
+        style="margin-top: -40px"
+        ref="useRangeCrud">
+      </avue-crud>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="isUseRangeVisible = false">鍏� 闂�</el-button>
+      </span>
+    </el-dialog>
   </basic-container>
 </template>
 
 <script>
-  import {getList, getDetail, add, update, remove} from "@/api/code/codeSynonym";
+  import { getList, getDetail, add, update, remove, listUseRange, updateStatus } from "@/api/code/codeSynonym";
   import option from "@/const/code/codeSynonym";
   import {mapGetters} from "vuex";
 
@@ -49,12 +96,48 @@
         },
         selectionList: [],
         option: option,
-        data: []
+        data: [],
+
+        isUseRangeVisible: false,
+        useRangeloading: true,
+        useRangeData: [],
+        useRangeOption: {
+          height: "auto",
+          calcHeight: 150,
+          tip: false,
+          searchShow: false,
+          searchMenuSpan: 6,
+          border: true,
+          index: true,
+          disablePage: false,
+          refreshBtn: false,
+          columnBtn: false,
+          viewBtn: false,
+          addBtn: false,
+          menu: false,
+          selection: false,
+          dialogClickModal: false,
+          align: "center",
+          dialogWidth: 400,
+          column: [
+            {
+              label: "妯℃澘鍚嶇О",
+              prop: "classifyTemplateOidName",
+              span: 24,
+            },
+            {
+              label: "灞炴�у悕绉�",
+              prop: "name",
+              span: 24,
+            },
+          ],
+        },
       };
     },
     computed: {
       ...mapGetters(["permission"]),
       permissionList() {
+        // console.log(this.permission.codeSynonym);
         return {
           addBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_add, false),
           viewBtn: this.vaildData(this.permission.codeSynonym.codeSynonym_view, false),
@@ -136,6 +219,30 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      /** 鏌ョ湅浣跨敤鑼冨洿 */
+      viewUseRange(){
+        if (this.selectionList.length === 0) {
+          this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+          return;
+        }
+        this.isUseRangeVisible = true;
+        this.useRangeloading = true;
+        listUseRange({"oid":this.selectionList[0].oid}).then(res=>{
+          // console.log(res);
+          this.useRangeData = res.data.data;
+          this.useRangeloading = false;
+        })
+      },
+      /** 鍋滅敤鍚敤杩戜箟璇嶆煡璇㈣鍒� */
+      async enableOrDeactivatse(oid, update) {
+        updateStatus({oid:oid,lcStatus:update}).then(res=>{
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "鎿嶄綔鎴愬姛!",
+          });
+        });
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           getDetail(this.form.oid).then(res => {
@@ -156,6 +263,12 @@
       },
       selectionChange(list) {
         this.selectionList = list;
+        this.$refs.crud.setCurrentRow(this.selectionList[list.length - 1]);
+      },
+      /** 鍗曞嚮琛屽疄鐜拌閫夋嫨*/
+      rowClick(row) {
+        this.$refs.crud.toggleSelection();
+        this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
       },
       selectionClear() {
         this.selectionList = [];
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java
index da4b3a1..a30a0f8 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/CodeClassifyTemplateAttrDTO.java
@@ -44,6 +44,7 @@
 	 * 鎵�灞炴ā鏉挎樉绀烘枃鏈�
 	 */
 	private String classifyTemplateOidName;
+
 	/**
 	 * 鎵�灞炲垎绫讳腑鐨勫睘鎬т富閿�
 	 */
@@ -53,6 +54,7 @@
 	 * 鎵�灞炲垎绫讳腑鐨勫睘鎬т富閿樉绀烘枃鏈�
 	 */
 	private String classifyAttributeOidName;
+
 	/**
 	 * 灞炴�х殑绫诲瀷
 	 */
@@ -79,6 +81,11 @@
 	private String sameRepeatAttrFlag;
 
 	/**
+	 * 杩戜箟璇嶆煡璇㈣鍒�
+	 */
+	private String sysonymRuleOids;
+
+	/**
 	 * 鏄惁鎺掑簭
 	 */
 	private String sortAttrFlag;
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java
index 5708185..833a3a0 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeClassifyTemplateAttr.java
@@ -75,6 +75,11 @@
     @VciFieldType(VciFieldTypeEnum.VTBoolean)
     private String sameRepeatAttrFlag;
 
+	/**
+	 * 杩戜箟璇嶆煡璇㈣鍒�
+	 */
+	private String sysonymRuleOids;
+
     /**
      * 鏄惁鎺掑簭
      */
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonym.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonym.java
new file mode 100644
index 0000000..ab2bc01
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonym.java
@@ -0,0 +1,57 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.code.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.constant.CodeTableNameConstant;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 杩戜箟璇嶇淮鎶� 瀹炰綋绫�
+ *
+ * @author yuxc
+ * @since 2023-04-04
+ */
+@Data
+@TableName(CodeTableNameConstant.PL_CODE_SYNONYM)
+@ApiModel(value = "PlCodeSynonym瀵硅薄", description = "杩戜箟璇嶇淮鎶�")
+public class CodeSynonym extends BaseModel implements Serializable {
+
+	/**
+	 * 鎵�灞炴ā鏉� TODO:鍚庣画璁ㄨ杩戜箟璇嶇鐞嗗彧鍋氱淮鎶や笉鍋氱粦瀹氭搷浣�
+	 */
+	/*@ApiModelProperty(value = "鎵�灞炴ā鏉�")
+	private String codeclassifytemplateoid;*/
+
+	/**
+	 * 婧愬��
+	 */
+	@ApiModelProperty(value = "婧愬��")
+	private String sourceValue;
+
+	/**
+	 * 鍚屼箟璇�
+	 */
+	@ApiModelProperty(value = "鍚屼箟璇�")
+	private String synonymValue;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonymEntity.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonymEntity.java
deleted file mode 100644
index d02faa7..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/CodeSynonymEntity.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 搴勯獮 (smallchill@163.com)
- */
-package com.vci.ubcs.code.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.vci.ubcs.starter.constant.CodeTableNameConstant;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 杩戜箟璇嶇淮鎶� 瀹炰綋绫�
- *
- * @author yuxc
- * @since 2023-04-04
- */
-@Data
-@TableName(CodeTableNameConstant.PL_CODE_SYNONYM)
-@ApiModel(value = "PlCodeSynonym瀵硅薄", description = "杩戜箟璇嶇淮鎶�")
-//@EqualsAndHashCode(callSuper = true)
-public class CodeSynonymEntity implements Serializable {
-
-	@JsonSerialize(
-		using = ToStringSerializer.class
-	)
-	@ApiModelProperty("涓婚敭id")
-	@TableId(
-		value = "oid",
-		type = IdType.ASSIGN_ID
-	)
-	private String oid;
-	@ApiModelProperty(value = "")
-	private String id;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String revisionoid;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String nameoid;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String btmname;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String lastr;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String firstr;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String lastv;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String firstv;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String creator;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private Date createtime;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String lastmodifier;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private Date lastmodifytime;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String revisionrule;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String versionrule;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private Short revisionseq;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String revisionvalue;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private Short versionseq;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String versionvalue;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String lctid;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String lcstatus;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	@JsonFormat(
-		  pattern = "yyyy-MM-dd HH:mm:ss.SSS"
-	)
-	private Date ts;
-	/**
-	 * 鎵�灞炶涓氬悕绉�
-	 */
-	@ApiModelProperty(value = "鎵�灞炶涓氬悕绉�")
-	private String name;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String description;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String owner;
-	/**
-	 *
-	 */
-	@ApiModelProperty(value = "")
-	private String copyfromversion;
-	/**
-	 * 鎵�灞炴ā鏉�
-	 */
-	@ApiModelProperty(value = "鎵�灞炴ā鏉�")
-	private String codeclassifytemplateoid;
-	/**
-	 * 婧愬��
-	 */
-	@ApiModelProperty(value = "婧愬��")
-	private String sourcevalue;
-	/**
-	 * 鍚屼箟璇�
-	 */
-	@ApiModelProperty(value = "鍚屼箟璇�")
-	private String synonymvalue;
-
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java
index f906fdf..cfdf0d6 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/ICodeSynonymClient.java
@@ -16,7 +16,7 @@
  */
 package com.vci.ubcs.code.feign;
 
-import com.vci.ubcs.code.entity.CodeSynonymEntity;
+import com.vci.ubcs.code.entity.CodeSynonym;
 import org.springblade.core.mp.support.BladePage;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -44,6 +44,6 @@
      * @return BladePage
      */
     @GetMapping(TOP)
-    BladePage<CodeSynonymEntity> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
+    BladePage<CodeSynonym> top(@RequestParam("current") Integer current, @RequestParam("size") Integer size);
 
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSynonymVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSynonymVO.java
deleted file mode 100644
index 2ac520a..0000000
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/CodeSynonymVO.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
- *
- *  Redistribution and use in source and binary forms, with or without
- *  modification, are permitted provided that the following conditions are met:
- *
- *  Redistributions of source code must retain the above copyright notice,
- *  this list of conditions and the following disclaimer.
- *  Redistributions in binary form must reproduce the above copyright
- *  notice, this list of conditions and the following disclaimer in the
- *  documentation and/or other materials provided with the distribution.
- *  Neither the name of the dreamlu.net developer nor the names of its
- *  contributors may be used to endorse or promote products derived from
- *  this software without specific prior written permission.
- *  Author: Chill 搴勯獮 (smallchill@163.com)
- */
-package com.vci.ubcs.code.vo;
-
-import com.vci.ubcs.code.entity.CodeSynonymEntity;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * 杩戜箟璇嶇淮鎶� 瑙嗗浘瀹炰綋绫�
- *
- * @author yuxc
- * @since 2023-04-04
- */
-@Data
-@EqualsAndHashCode(callSuper = true)
-public class CodeSynonymVO extends CodeSynonymEntity {
-	private static final long serialVersionUID = 1L;
-
-}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
index 14bc1ab..a45eefb 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeClassifyTemplateAttrVO.java
@@ -68,6 +68,11 @@
 	private String sameRepeatAttrFlag;
 
 	/**
+	 * 杩戜箟璇嶆煡璇㈣鍒�
+	 */
+	private String sysonymRuleOids;
+
+	/**
 	* 鏄惁鎺掑簭
 	*/
 	private String sortAttrFlag;
@@ -291,6 +296,7 @@
 	 * 绾ц仈鏌ヨ灞炴��
 	 */
 	private String parentQueryAttr;
+
 	/**
 	 * 杈撳叆鎻愮ず
 	 */
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSynonymVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSynonymVO.java
index 972ab47..ce9de06 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSynonymVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/CodeSynonymVO.java
@@ -1,6 +1,9 @@
 package com.vci.ubcs.code.vo.pagemodel;
 
+import com.vci.ubcs.code.entity.CodeSynonym;
 import com.vci.ubcs.starter.revision.model.BaseModel;
+
+import java.io.Serializable;
 
 /**
  * 鍚屼箟璇嶉厤缃樉绀哄璞�
@@ -8,96 +11,11 @@
  * @author weidy
  * @date 2022-02-17
  */
-public class CodeSynonymVO extends BaseModel {
+public class CodeSynonymVO extends CodeSynonym implements Serializable {
 
 	/**
      * 绂佹淇敼杩欎釜鍊�
      */
 	private static final long serialVersionUID = 4615707118039132189L;
 
-	/**
-	* 鎵�灞炵紪鐮佽鍒�
-	*/
-	private String codeclassifytemplateoid;
-
-	/**
-	* 鎵�灞炵紪鐮佽鍒欐樉绀烘枃鏈�
-	*/
-	private String codeclassifytemplateoidName;
-
-	/**
-	* 婧愬��
-	*/
-	private String sourcevalue;
-
-
-	/**
-	* 鍚屼箟璇�
-	*/
-	private String synonymvalue;
-
-
-
-	/**
-	 * 鑾峰彇 鎵�灞炵紪鐮佽鍒�
-	 */
-	public String getCodeclassifytemplateoid (){
-		return codeclassifytemplateoid;
-	}
-
-	/**
-	* 璁剧疆 鎵�灞炵紪鐮佽鍒�
-	*/
-	public void setCodeclassifytemplateoid (String codeclassifytemplateoid){
-		this.codeclassifytemplateoid = codeclassifytemplateoid;
-	}
-	/**
-	 * 鑾峰彇鎵�灞炵紪鐮佽鍒欐樉绀烘枃鏈�
-	 */
-	public String getCodeclassifytemplateoidName (){
-		return codeclassifytemplateoidName;
-	}
-
-	/**
-	* 璁剧疆鎵�灞炵紪鐮佽鍒欐樉绀烘枃鏈�
-	*/
-	public void setCodeclassifytemplateoidName (String codeclassifytemplateoidName){
-		this.codeclassifytemplateoidName = codeclassifytemplateoidName;
-	}
-	/**
-	 * 鑾峰彇 婧愬��
-	 */
-	public String getSourcevalue (){
-		return sourcevalue;
-	}
-
-	/**
-	* 璁剧疆 婧愬��
-	*/
-	public void setSourcevalue (String sourcevalue){
-		this.sourcevalue = sourcevalue;
-	}
-	/**
-	 * 鑾峰彇 鍚屼箟璇�
-	 */
-	public String getSynonymvalue (){
-		return synonymvalue;
-	}
-
-	/**
-	* 璁剧疆 鍚屼箟璇�
-	*/
-	public void setSynonymvalue (String synonymvalue){
-		this.synonymvalue = synonymvalue;
-	}
-
-	@Override
-	public String toString() {
-		return "CodeSynonymVO{" +
-		"codeclassifytemplateoid='" + codeclassifytemplateoid +"'," +
-		"codeclassifytemplateoidName='" + codeclassifytemplateoidName +"'," +
-		"sourcevalue='" + sourcevalue +"'," +
-		"synonymvalue='" + synonymvalue +"'," +
-		"}" + super.toString();
-	}
 }
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
index 1af769d..3ff89a8 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/BtmTypeAttributeVO.java
@@ -171,5 +171,5 @@
 	/**
 	 * 鏄惁榛樿灞炴��
 	 */
-	private Boolean iseDfaultAttr;
+	private Boolean isDefaultAttr;
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
index aed5804..698c2fe 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -153,6 +153,10 @@
             <version>3.0.1.RELEASE</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
index c998c70..b9d1367b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeRuleController.java
@@ -160,8 +160,7 @@
 	@ApiOperationSupport(order = 11)
 	@ApiOperation(value = "鏌ョ湅涓绘暟鎹紪鐮佽鍒欑殑浣跨敤鑼冨洿", notes = "浼犲叆oid")
 	public R<Collection<CodeClassifyVO>> listUseRange(@Valid @RequestParam String oid){
-		Collection<CodeClassifyVO> voList = codeRuleService.listUseRangeInCodeClassify(oid);
-		return R.data(voList);
+		return R.data(codeRuleService.listUseRangeInCodeClassify(oid));
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeSynonymClient.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeSynonymClient.java
index 108382b..674798b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeSynonymClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/CodeSynonymClient.java
@@ -18,7 +18,7 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.vci.ubcs.code.entity.CodeSynonymEntity;
+import com.vci.ubcs.code.entity.CodeSynonym;
 import com.vci.ubcs.code.mapper.CodeSynonymMapper;
 import com.vci.ubcs.code.service.ICodeSynonymService;
 import lombok.AllArgsConstructor;
@@ -45,11 +45,11 @@
 	CodeSynonymMapper codeSynonymMapper;
     @Override
     @GetMapping(TOP)
-    public BladePage<CodeSynonymEntity> top(Integer current, Integer size) {
+    public BladePage<CodeSynonym> top(Integer current, Integer size) {
         Query query = new Query();
         query.setCurrent(current);
         query.setSize(size);
-        IPage<CodeSynonymEntity> page = codeSynonymMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
+        IPage<CodeSynonym> page = codeSynonymMapper.selectPage(Condition.getPage(query), Wrappers.emptyWrapper());
         return BladePage.of(page);
 //        return null;
     }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSerialValueMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSerialValueMapper.java
index d885b39..e4169fa 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSerialValueMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSerialValueMapper.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.vci.ubcs.code.entity.CodeSerialValue;
-import com.vci.ubcs.code.entity.CodeSynonymEntity;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSynonymMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSynonymMapper.java
index b6e3b00..1a92a73 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSynonymMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeSynonymMapper.java
@@ -17,11 +17,7 @@
 package com.vci.ubcs.code.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.vci.ubcs.code.entity.CodeSynonymEntity;
-import com.vci.ubcs.code.vo.CodeSynonymVO;
-
-import java.util.List;
+import com.vci.ubcs.code.entity.CodeSynonym;
 
 /**
  * 杩戜箟璇嶇淮鎶� Mapper 鎺ュ彛
@@ -29,16 +25,7 @@
  * @author yuxc
  * @since 2023-04-04
  */
-public interface CodeSynonymMapper extends BaseMapper<CodeSynonymEntity> {
-
-	/**
-	 * 鑷畾涔夊垎椤�
-	 *
-	 * @param page
-	 * @param plCodeSynonym
-	 * @return
-	 */
-	List<CodeSynonymVO> selectPlCodeSynonymPage(IPage page, CodeSynonymVO plCodeSynonym);
+public interface CodeSynonymMapper extends BaseMapper<CodeSynonym> {
 
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateAttrService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateAttrService.java
index 9d26d0e..4836a16 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateAttrService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeClassifyTemplateAttrService.java
@@ -1,9 +1,11 @@
 package com.vci.ubcs.code.service;
 
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO;
+import com.vci.ubcs.code.entity.CodeClassify;
 import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
 import com.vci.ubcs.omd.vo.BtmTypeAttributeVO;
@@ -146,4 +148,11 @@
 	 */
 	R copyto(CodeClassifyTemplateAttrDTO codeClassifyAttrDTO);
 
+	/**
+	 * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ
+	 * @param wrapper 鏌ヨ灏佽鍣�
+	 * @return 鏁版嵁瀵硅薄
+	 */
+	List<CodeClassifyTemplateAttr> selectByWrapper(Wrapper wrapper);
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java
index 21e1a35..e938244 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeSynonymService.java
@@ -16,8 +16,13 @@
  */
 package com.vci.ubcs.code.service;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.vci.ubcs.code.vo.CodeSynonymVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.code.entity.CodeSynonym;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import org.springblade.core.tool.api.R;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 杩戜箟璇嶇淮鎶� 鏈嶅姟绫�
@@ -25,16 +30,41 @@
  * @author yuxc
  * @since 2023-04-04
  */
-public interface ICodeSynonymService  {
+public interface ICodeSynonymService extends IService<CodeSynonym> {
 
 	/**
-	 * 鑷畾涔夊垎椤�
-	 *
-	 * @param page
-	 * @param plCodeSynonym
+	 * 杩戜箟璇嶇淮鎶� 鏂板
+	 * @param codeSynonym
 	 * @return
 	 */
-	IPage<CodeSynonymVO> selectPlCodeSynonymPage(IPage<CodeSynonymVO> page, CodeSynonymVO plCodeSynonym);
+	boolean addSave( CodeSynonym codeSynonym);
 
+	/**
+	 * 杩戜箟璇嶇淮鎶� 淇敼
+	 * @param codeSynonym
+	 * @return
+	 */
+	boolean editSave(CodeSynonym codeSynonym);
+
+	/**
+	 * 杩戜箟璇嶇姸鎬佸仠鐢ㄥ惎鐢�
+	 * @param map
+	 * @return
+	 */
+	boolean updateStatus(Map<String,String> map);
+
+	/**
+	 * 鍒犻櫎
+	 * @param oids
+	 * @return
+	 */
+	R deleteDataByIds(String oids);
+
+	/**
+	 * 鏌ョ湅杩戜箟璇嶆煡璇㈣鍒欎娇鐢ㄨ寖鍥�
+	 * @param oid
+	 * @return
+	 */
+	List<CodeClassifyTemplateAttrVO> listUseRangeInClsTempAttr(String oid);
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 01c5850..906046e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -122,6 +122,7 @@
 	 * 涓婄骇鑺傜偣鐨勫睘鎬у悕绉�
 	 */
 	public static  final String PARENT_FIELD_NAME = "parentCodeClassifyOid";
+
 	/**
 	 * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ
 	 * @param wrapper 鏌ヨ灏佽鍣�
@@ -1526,7 +1527,5 @@
 		wrapper.eq("parentCodeClassifyOid",codeClassifyOid);
 		return codeClassifyMapper.selectCount(wrapper).intValue();
 	}
-
-
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index f9bfc98..22e0bb7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -9,6 +10,7 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 
 import com.vci.ubcs.code.dto.CodeClassifyTemplateAttrDTO;
+import com.vci.ubcs.code.entity.CodeClassify;
 import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
 import com.vci.ubcs.code.entity.CodeClassifyTemplate;
 import com.vci.ubcs.code.enumpack.CodeLevelTypeEnum;
@@ -205,7 +207,7 @@
 	 * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
 	 */
 	@Override
-	public  CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{
+	public CodeClassifyTemplateAttrVO codeClassifyTemplateAttrDO2VO(CodeClassifyTemplateAttr codeClassifyTemplateAttrDO) throws VciBaseException{
 		CodeClassifyTemplateAttrVO vo = new CodeClassifyTemplateAttrVO();
 		if(codeClassifyTemplateAttrDO != null){
 			BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateAttrDO,vo);
@@ -870,4 +872,14 @@
 		return R.success("鎿嶄綔鎴愬姛锛�");
 	}
 
+	/**
+	 * 浣跨敤鏌ヨ灏佽鍣ㄦ潵鏌ヨ
+	 * @param wrapper 鏌ヨ灏佽鍣�
+	 * @return 鏁版嵁瀵硅薄
+	 */
+	@Override
+	public List<CodeClassifyTemplateAttr> selectByWrapper(Wrapper wrapper) {
+		return codeClassifyTemplateAttrMapper.selectList(wrapper);
+	}
+
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
index 9f70d4a..c3cdf88 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeSynonymServiceImpl.java
@@ -16,13 +16,33 @@
  */
 package com.vci.ubcs.code.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
+import com.vci.ubcs.code.entity.CodeClassifyTemplate;
+import com.vci.ubcs.code.entity.CodeClassifyTemplateAttr;
+import com.vci.ubcs.code.entity.CodeSynonym;
 import com.vci.ubcs.code.mapper.CodeSynonymMapper;
+import com.vci.ubcs.code.service.ICodeClassifyTemplateAttrService;
 import com.vci.ubcs.code.service.ICodeSynonymService;
-import com.vci.ubcs.code.vo.CodeSynonymVO;
+import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
+import com.vci.ubcs.code.wrapper.CodeClassifyTemplateAttrWrapper;
+import com.vci.ubcs.starter.enumpack.CodeTableNameEnum;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
+import com.vci.ubcs.starter.util.UBCSCondition;
+import lombok.AllArgsConstructor;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 杩戜箟璇嶇淮鎶� 鏈嶅姟瀹炵幇绫�
@@ -31,15 +51,97 @@
  * @since 2023-04-04
  */
 @Service
-public class CodeSynonymServiceImpl implements ICodeSynonymService {
+@AllArgsConstructor
+public class CodeSynonymServiceImpl extends ServiceImpl<CodeSynonymMapper, CodeSynonym> implements ICodeSynonymService {
 
-	@Resource
-	CodeSynonymMapper codeSynonymMapper;
+	private final CodeSynonymMapper codeSynonymMapper;
 
+	private final ICodeClassifyTemplateAttrService codeClassifyTemplateAttrService;
+
+	/**
+	 * 杩戜箟璇嶇淮鎶� 鏂板
+	 * @param codeSynonym
+	 * @return
+	 */
 	@Override
-	public IPage<CodeSynonymVO> selectPlCodeSynonymPage(IPage<CodeSynonymVO> page, CodeSynonymVO plCodeSynonym) {
-		return page.setRecords(codeSynonymMapper.selectPlCodeSynonymPage(page, plCodeSynonym));
+	public boolean addSave(CodeSynonym codeSynonym) {
+		if(codeSynonym.getSynonymValue().isEmpty() || codeSynonym.getSourceValue().isEmpty()){
+			throw new ServiceException("婧愬�煎拰杩戜箟璇嶄笉鑳戒负绌�");
+		}
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeSynonym, MdmBtmTypeConstant.CODE_SYNONYM);
+		// 娣诲姞鏃堕粯璁や负缂栬緫涓�
+		codeSynonym.setLcStatus(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_RELEASED);
+		return SqlHelper.retBool(codeSynonymMapper.insert(codeSynonym));
 	}
 
+	/**
+	 * 杩戜箟璇嶇淮鎶� 淇敼
+	 * @param codeSynonym
+	 * @return
+	 */
+	@Override
+	public boolean editSave(CodeSynonym codeSynonym) {
+		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeSynonym);
+		return SqlHelper.retBool(codeSynonymMapper.updateById(codeSynonym));
+	}
+
+	/**
+	 * 杩戜箟璇嶇姸鎬佸仠鐢ㄥ惎鐢�
+	 * @param map
+	 * @return
+	 */
+	@Override
+	public boolean updateStatus(Map<String, String> map) {
+		if(Func.isEmpty(map.getOrDefault("oid",""))){
+			throw new ServiceException("蹇呬紶鍙傛暟oid涓嶈兘涓虹┖锛�");
+		}
+		if(Func.isEmpty(map.getOrDefault("lcStatus",""))){
+			throw new ServiceException("鐢熷懡鍛ㄦ湡鐘舵�佷笉鑳戒负绌猴紒");
+		}
+		LambdaUpdateWrapper<CodeSynonym> updateWrapper = Wrappers.<CodeSynonym>update()
+			.lambda().eq(CodeSynonym::getOid, map.get("oid"))
+			.set(CodeSynonym::getLcStatus, map.get("lcStatus"));
+		return SqlHelper.retBool(this.codeSynonymMapper.update(null,updateWrapper));
+	}
+
+	/**
+	 * 鍒犻櫎
+	 * @param oids
+	 * @return
+	 */
+	@Override
+	public R deleteDataByIds(String oids) {
+		if(Func.isBlank(oids)){
+			return R.fail("鏈幏鍙栫殑鍙傛暟oid");
+		}
+		List<Long> oidList = Func.toLongList(oids);
+		LambdaQueryWrapper<CodeClassifyTemplateAttr> wrapper = Wrappers.<CodeClassifyTemplateAttr>query().lambda();
+		oidList.stream().forEach(item->{
+			wrapper.or().like(CodeClassifyTemplateAttr::getSysonymRuleOids, item);
+		});
+		List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(wrapper);
+		if(!voList.isEmpty()){
+			return R.fail("鍒犻櫎鐨勮鍒欎腑瀛樺湪琚紩鐢ㄧ殑杩戜箟璇嶆煡璇㈣鍒欙紒");
+		}
+		return R.status(SqlHelper.retBool(codeSynonymMapper.deleteBatchIds(oidList)));
+	}
+
+	/**
+	 * 鏌ョ湅杩戜箟璇嶆煡璇㈣鍒欎娇鐢ㄨ寖鍥�
+	 * @param oid
+	 * @return
+	 */
+	@Override
+	public List<CodeClassifyTemplateAttrVO> listUseRangeInClsTempAttr(String oid) {
+		MPJLambdaWrapper<CodeClassifyTemplateAttr> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeClassifyTemplateAttr.class, CodeTableNameEnum.PL_CODE_CLSTEMPATTR.getText())
+			.selectAll(CodeClassifyTemplateAttr.class)
+			.selectAs(CodeClassifyTemplate::getName,CodeClassifyTemplateAttr::getClassifyTemplateOidName)
+			.leftJoin(CodeClassifyTemplate.class,CodeTableNameEnum.PL_CODE_CLSTEMPLATE.getText(),CodeClassifyTemplate::getOid,CodeClassifyTemplateAttr::getClassifyTemplateOid)
+			.like(CodeClassifyTemplateAttr::getSysonymRuleOids, oid);
+		List<CodeClassifyTemplateAttr> voList = codeClassifyTemplateAttrService.selectByWrapper(
+			mpjLambdaWrapper
+		);
+		return CodeClassifyTemplateAttrWrapper.build().listVO(voList);
+	}
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSynonymWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSynonymWrapper.java
index 04e3812..175e456 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSynonymWrapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/CodeSynonymWrapper.java
@@ -16,8 +16,11 @@
  */
 package com.vci.ubcs.code.wrapper;
 
-import com.vci.ubcs.code.entity.CodeSynonymEntity;
-import com.vci.ubcs.code.vo.CodeSynonymVO;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.vci.ubcs.code.entity.CodeSynonym;
+import com.vci.ubcs.code.vo.pagemodel.CodeSynonymVO;
+import com.vci.ubcs.omd.cache.EnumCache;
+import com.vci.ubcs.omd.enums.EnumEnum;
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.utils.BeanUtil;
 import java.util.Objects;
@@ -28,23 +31,20 @@
  * @author yuxc
  * @since 2023-04-04
  */
-public class CodeSynonymWrapper extends BaseEntityWrapper<CodeSynonymEntity, CodeSynonymVO>  {
+public class CodeSynonymWrapper extends BaseEntityWrapper<CodeSynonym, CodeSynonymVO>  {
 
 	public static CodeSynonymWrapper build() {
 		return new CodeSynonymWrapper();
  	}
 
 	@Override
-	public CodeSynonymVO entityVO(CodeSynonymEntity plCodeSynonym) {
-		CodeSynonymVO plCodeSynonymVO = Objects.requireNonNull(BeanUtil.copy(plCodeSynonym, CodeSynonymVO.class));
+	public CodeSynonymVO entityVO(CodeSynonym plCodeSynonym) {
+		CodeSynonymVO codeSynonymVO = Objects.requireNonNull(BeanUtil.copy(plCodeSynonym, CodeSynonymVO.class));
+		if(StringUtils.isNotBlank(codeSynonymVO.getLcStatus())){
+			codeSynonymVO.setLcStatusText(EnumCache.getValue(EnumEnum.CODE_RULE_LC,codeSynonymVO.getLcStatus()));
+		}
 
-		//User createUser = UserCache.getUser(plCodeSynonym.getCreateUser());
-		//User updateUser = UserCache.getUser(plCodeSynonym.getUpdateUser());
-		//plCodeSynonymVO.setCreateUserName(createUser.getName());
-		//plCodeSynonymVO.setUpdateUserName(updateUser.getName());
-
-		return plCodeSynonymVO;
+		return codeSynonymVO;
 	}
-
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml
index c94b4c4..c6ae7bd 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeClassifyTemplateAttrMapper.xml
@@ -2,7 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.vci.ubcs.code.mapper.CodeClassifyTemplateAttrMapper">
 
-
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="CodeClstempattrResultMap" type="com.vci.ubcs.code.entity.CodeClassifyTemplateAttr">
         <result column="OID" property="oid"/>
@@ -36,6 +35,7 @@
         <result column="KEYATTRFLAG" property="keyAttrFlag"/>
         <result column="QUERYATTRFLAG" property="qrcodeFlag"/>
         <result column="SENIORQUERYATTRFLAG" property="seniorQueryAttrFlag"/>
+        <result column="SYSONYMRULEOIDS" property="sysonymRuleOids"/>
         <result column="SAMEREPEATATTRFLAG" property="sameRepeatAttrFlag"/>
         <result column="SORTATTRFLAG" property="sortAttrFlag"/>
         <result column="QRCODEFLAG" property="qrcodeFlag"/>
@@ -107,6 +107,5 @@
           AND PCC.classifytemplateoid IN (${oid})
         ORDER BY PCC.ORDERNUM ASC
     </select>
-
 
 </mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSynonymMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSynonymMapper.xml
index d853fc9..cd1cc57 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSynonymMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeSynonymMapper.xml
@@ -3,7 +3,7 @@
 <mapper namespace="com.vci.ubcs.code.mapper.CodeSynonymMapper">
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
-    <resultMap id="plCodeSynonymResultMap" type="com.vci.ubcs.code.entity.CodeSynonymEntity">
+    <resultMap id="plCodeSynonymResultMap" type="com.vci.ubcs.code.entity.CodeSynonym">
         <result column="OID" property="oid"/>
         <result column="REVISIONOID" property="revisionoid"/>
         <result column="NAMEOID" property="nameoid"/>

--
Gitblit v1.9.3