ludc
2023-09-28 de25a25c52aa3119fd80afb2804f8c570f0a8829
Merge remote-tracking branch 'origin/master'
已修改21个文件
已添加2个文件
2349 ■■■■■ 文件已修改
Source/UBCS-WEB/src/api/system/user.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue 1296 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/page/login/userlogin.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/docking/infoForm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/views/integration/systemInfo.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyPanelFor410ActionListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/VciBaseUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/resources/properties/RMIPFramework.properties 797 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntParamDTO.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS-WEB/src/api/system/user.js
@@ -162,7 +162,6 @@
//单点登录接口
export const ssoLogin =(empCode) => {
  const params = new URLSearchParams();
  console.log(empCode);
  params.append('empCode', empCode);
  return request({
    url: '/api/ubcs-code/passwordFree/ssoLogin',
Source/UBCS-WEB/src/components/BatchImport/ShowImportData.vue
@@ -1,646 +1,650 @@
<template>
  <el-dialog
    :title="title"
    :visible.sync="dialogVisible"
    width="1300px"
    append-to-body
    top="5vh"
  >
    <div class="flex_box">
      <div
        class="left"
        :style="{ width: leftWidth + 'px' }"
        v-show="type !== 'batchImportApply'"
      >
        <div class="isExpand_box">
          <el-link type="primary" @click="hideTree">
            <i
              :class="isExpand ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"
            ></i>
            {{ isExpand ? "收缩" : "展开" }}
          </el-link>
        </div>
        <el-input
          placeholder="输入关键字进行过滤"
          v-model="filterText"
          size="small"
          v-show="isExpand"
        >
        </el-input>
        <el-tree
          v-show="isExpand"
          class="filter_tree"
          :data="leftTree"
          node-key="codeClassifyOid"
          default-expand-all
          highlight-current
          :filter-node-method="filterNode"
          @node-click="treeNodeClick"
          ref="tree"
          :props="{
            label: 'name',
          }"
        >
        </el-tree>
      </div>
      <div class="right" :style="{ width: 1280 - leftWidth - 60 + 'px' }">
        <div class="tab_box" style="width: 100%">
          <el-tabs
            style="width: 100%"
            v-model="activeTab"
            type="card"
            @tab-click="handleClick"
            size="small"
          >
            <el-tab-pane :label="tab1Name" name="tab1">
              <el-table
                border
                :data="tab1Table"
                style="width: 100%"
                height="40vh"
                highlight-current-row
                @current-change="resembleRowChange"
                @selection-change="tab1TableSelectChange"
                v-if="cloNamesList.length > 1"
                v-loading="tab1Loading"
              >
                <el-table-column
                  v-if="type !== 'batchApplyCode'"
                  type="selection"
                  width="100px"
                  align="center"
                ></el-table-column>
                <el-table-column
                  v-else
                  type="operate"
                  width="100px"
                  align="center"
                >
                  <template #default="{ row }">
                    <el-button type="text" @click="reEdit(row)"
                      >重新编辑</el-button
                    >
                  </template>
                </el-table-column>
                <el-table-column
                  type="index"
                  label="序号"
                  width="100px"
                  align="center"
                ></el-table-column>
                <el-table-column
                  v-for="item in cloNamesList"
                  :key="item.field"
                  :prop="item.field"
                  :label="item.title"
                  :width="item.width"
                  align="center"
                >
                </el-table-column>
              </el-table>
              <div v-else style="height: 400px"></div>
              <div>
                <el-table
                  border
                  :data="currentSelectedResemble"
                  style="width: 100%"
                  height="20vh"
                  v-loading="tab1BottomTableLoading"
                >
                  <el-table-column
                    v-for="item in resembleColumList"
                    :key="item.field"
                    :prop="item.field"
                    :label="item.title"
                    :minWidth="item.minWidth"
                    align="center"
                  >
                    <template #default="{ row }">
                      <span v-if="item.field === 'id'">
                        <el-link
                          type="primary"
                          @click="openFormTemlpate(row)"
                          >{{ row[item.field] }}</el-link
                        >
                      </span>
                      <span v-else>
                        {{ row[item.field] }}
                      </span>
                    </template>
                  </el-table-column>
                  <el-table-column
                    v-show="resembleColumList.length > 0"
                    prop="rowIndex"
                    label="excel行数"
                    align="center"
                  ></el-table-column>
                </el-table>
              </div>
            </el-tab-pane>
            <el-tab-pane :label="tab2Name" name="tab2">
              <el-table
                border
                v-loading="tab2Loading"
                :data="tab2Table"
                height="60vh"
              >
                <el-table-column
                  v-for="item in successTableColumns"
                  :key="item.field"
                  :prop="item.field"
                  :label="item.title"
                  :width="item.width"
                  align="center"
                >
                </el-table-column>
              </el-table>
              <el-card
                style="min-height: 200px; margintop: 10px"
                v-if="type === 'batchApplyCode' && tab2Table.length > 0"
              >
                <div slot="header" class="clearfix">
                  <h4>编码申请</h4>
                </div>
                <FormTemplate
                  v-if="type === 'batchApplyCode'"
                  type="add"
                  :selfColumnType="selfColumnType"
                  :selfColumnConfig="selfColumnConfig"
                  ref="CodeApply"
                  @getFormData="getCodeApplyFormData"
                  @referConfigDataUpdate="referConfigDataUpdate"
                ></FormTemplate>
              </el-card>
            </el-tab-pane>
          </el-tabs>
        </div>
      </div>
    </div>
    <template #footer>
      <div>
        <el-button size="small" type="primary" @click="submit" :loading="submitLoading"
          >确定导入</el-button
        >
        <el-button size="small" @click="dialogVisible = false">取消</el-button>
      </div>
    </template>
    <FormTemplateDialog
      ref="FormTemplateDialog"
      v-bind="currentSelectedResembleRow"
      :visible.sync="currentSelectedResembleRow.formTemplateVisible"
      @submit="FormTemplateSubmit"
    ></FormTemplateDialog>
  </el-dialog>
</template>
<script>
import {
  getSuccessTable,
  getResembleTable,
  getFormTemplate,
  getCurretnSelectedRowResemble,
  submitHistoryimport,
  addSaveCode,
} from "../../api/batchImport/index";
import ResembleQuery from "../FormTemplate/ResembleQuery.vue";
import FormTemplate from "../FormTemplate/FormTemplate.vue";
import codeApply from "@/mixins/codeApply.js";
export default {
  name: "ShowImportData",
  components: { ResembleQuery, FormTemplate },
  mixins: [codeApply],
  props: {
    title: {
      type: String,
      default: "历史数据导入",
    },
    visible: false,
    leftTree: {
      type: Array,
      default: () => [],
    },
    redisOid: {
      type: String,
      default: "",
    },
    classifyAttr: {
      type: String,
      default: "id",
    },
    codeClassifyOid: {
      type: String,
      default: "",
    },
    type: String,
    secDTOList: {
      type: Array,
      default: () => ({}),
    },
    resetTable: Function
  },
  computed: {
    dialogVisible: {
      get() {
        return this.visible;
      },
      set(val) {
        this.$emit("update:visible", val);
      },
    },
    successTableColumns() {
      if (this.type === "batchApplyCode") {
        return this.cloNamesList.slice(1);
      } else {
        return this.cloNamesList;
      }
    },
  },
  data() {
    return {
      isExpand: true,
      filterText: "",
      leftWidth: 200,
      templateOid: null,
      tab1Name: "相似项",
      tab2Name: "正确数据",
      tab1Table: [],
      selectedTab1Table: [],
      tab2Table: [],
      activeTab: "tab1",
      cloNamesList: [], //列表头部字段
      localCodeClassifyOid: "",
      codeRuleOid: "",
      resembleColumList: [], //相似项查出来的列表字段
      currentSelectedResemble: [],
      currentSelectedResembleRow: {
        templateOid: "",
        codeClassifyOid: "",
        rowOid: "",
        formTemplateVisible: false,
        type: "detail",
        title: "查看详细信息",
        setForm: {},
      },
      batchSelectTableData: {},
      savedList: [],
      tab1Loading: false,
      tab2Loading: false,
      tab1BottomTableLoading: false,
      submitLoading: false
    };
  },
  methods: {
    filterNode(value, data) {
      if (!value) return true;
      return data.name.indexOf(value) !== -1;
    },
    hideTree() {
      if (this.isExpand) {
        this.leftWidth = 50;
      } else {
        this.leftWidth = 200;
      }
      this.isExpand = !this.isExpand;
    },
    async treeNodeClick(data, first) {
      if (this.type === "batchApplyCode") {
        if (first === true) {
          this.codeRuleOid = data.codeRuleOid;
          // ç¬¬ä¸€æ¬¡æ‰“开直接赋值不校验
          this.batchSelectTableData[data.codeRuleOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            codeRuleOid: data.codeRuleOid,
          };
          // ä¸æ˜¯ç¬¬ä¸€æ¬¡æ‰“开需要优先校验
        } else if (this.localCodeClassifyOid === data.codeClassifyOid) {
          console.log("重复点击");
        } else {
          if (this.$refs.CodeApply) {
            if (!(await this.$refs.CodeApply.validate())) {
              this.$message.warning("请填写便编码申请!");
              this.activeTab = "tab2";
              this.$refs.tree.setCurrentKey(this.localCodeClassifyOid);
              return false;
            }
          }
        }
        if (!this.batchSelectTableData[data.codeRuleOid]) {
          this.batchSelectTableData[data.codeRuleOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            codeRuleOid: data.codeRuleOid,
          };
        }
      }
      if (this.type === 'historyImport') {
        if (first === true) {
          // ç¬¬ä¸€æ¬¡æ‰“开直接赋值不校验
          this.batchSelectTableData[data.codeClassifyOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            codeRuleOid: data.codeRuleOid,
          };
          // ä¸æ˜¯ç¬¬ä¸€æ¬¡æ‰“开需要优先校验
        }else if (this.localCodeClassifyOid === data.codeClassifyOid) {
          console.log("重复点击");
        }
        if (!this.batchSelectTableData[data.codeClassifyOid]) {
          this.batchSelectTableData[data.codeClassifyOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            tab1Selected: []
          };
        }
        this.selection = this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected']
      }
      this.localCodeClassifyOid = data.codeClassifyOid;
      this.cloNamesList = data.cloNamesList;
      this.templateOid = data.oid;
      this.tab1Loading = true
      getResembleTable({
        codeClassifyOid:
          this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid,
        redisOid: this.redisOid + "-resemble",
      }).then((res) => {
        this.tab1Loading = false
        this.tab1Table = res.data.data.filter(
          (item) => !this.savedList.includes(item.oid)
        );
        if (this.type === "batchApplyCode") {
          this.batchSelectTableData[data.codeRuleOid]["tab1"] =
            this.tab1Table;
        }
        if (this.type === "historyImport") {
          this.batchSelectTableData[data.codeClassifyOid]["tab1"] =
            this.tab1Table;
        }
      });
      this.tab2Loading = true
      // èŽ·å–æ­£ç¡®æ•°æ®
      getSuccessTable({
        codeClassifyOid:
          this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid,
        redisOid: this.redisOid + "-ok",
      }).then((res) => {
        this.tab2Loading = false
        this.tab2Table = res.data.data;
        if (this.tab2Table.length > 0 && this.type === "batchApplyCode") {
          this.batchSelectTableData[data.codeRuleOid]["codeApply"] = {};
          this.batchSelectTableData[data.codeRuleOid]["tab2"] =
            this.tab2Table
          if (this.$refs.CodeApply) {
            this.$refs.CodeApply.loading = true;
          }
          this.getCodeRule();
        }
        if (this.type === "historyImport") {
          this.batchSelectTableData[data.codeClassifyOid]["tab2"] =
            this.tab2Table
        }
      });
      getFormTemplate({
        templateOid: data.oid,
        codeClassifyOid: this.localCodeClassifyOid,
      }).then((res) => {
        this.resembleColumList = res.data.resembleTableVO.cols[0];
      });
    },
    tab1TableSelectChange(selection) {
      this.selectedTab1Table = selection;
      if (this.batchSelectTableData[this.localCodeClassifyOid]) {
        this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected'] = selection
      }
    },
    resembleRowChange(row) {
      if (!row || !row.oid) {
        return;
      }
      this.tab1BottomTableLoading = true
      getCurretnSelectedRowResemble({
        redisOid: this.redisOid + "-resemble-data",
        dataOid: row.oid,
      }).then((res) => {
        this.tab1BottomTableLoading = false
        this.currentSelectedResemble = res.data.data;
      });
    },
    openFormTemlpate(row) {
      this.currentSelectedResembleRow = {
        formTemplateVisible: true,
        templateOid: row.codetemplateoid,
        codeClassifyOid: this.localCodeClassifyOid,
        rowOid: row.rowOid,
        type: "detail",
        title: "查看详细信息",
        setForm: {},
      };
    },
    async submit() {
      let params = {
        classifyAttr:
          this.type === "historyImport" || this.type === "batchApplyCode"
            ? this.classifyAttr
            : undefined,
        improt: this.type === "historyImport" ? true : false,
      };
      if (this.type === "batchApplyCode") {
        if (this.$refs.CodeApply) {
          if (!(await this.$refs.CodeApply.validate())) {
            this.$message.warning("请填写便编码申请!");
            this.activeTab = "tab2";
            return false;
          }
        }
        let lookedCodeRuleOidList = Object.keys(this.batchSelectTableData);
        let noLookCodeRuleOidList = this.leftTree.filter(
          (item) => !lookedCodeRuleOidList.includes(item.codeRuleOid)
        );
        let noLookName = noLookCodeRuleOidList.map((item) => item.name);
        if (noLookName.length > 0) {
          this.$message.warning(`数据${noLookName}还未曾查看,请先查看!`);
          return false;
        }
        let errorData = [];
        let successData = [];
        for (const key in this.batchSelectTableData) {
          if (Object.hasOwnProperty.call(this.batchSelectTableData, key)) {
            const element = this.batchSelectTableData[key];
            if (element.tab1.length > 0) {
              errorData.push(element);
            }
            if (element.tab2.length > 0) {
              successData.push(element);
            }
          }
        }
        if (successData.length === 0) {
          this.$message.warning("导入的数据中没有正确的数据!");
          return;
        }
        if (errorData.length > 0) {
          await this.$confirm(
            errorData.map((item) => item.name).join("、") +
              ",这几个编码规则下的有错误数据和相似项数据没有处理,您如果继续保存的话,这些数据将会被自动舍弃,是否继续?",
            "提示",
            {
              confirmButtonText: "确定",
              cancelButtonText: "取消",
              type: "warning",
            }
          );
        }
        params.codeImprotSaveDatVOList = successData.map((item) => {
          return {
            Clos: item.cloNamesList,
            dataList: item.tab2,
            orderDTO: {
              codeClassifyOid: item.codeClassifyOid,
              templateOid: item.templateOid,
              secDTOList: item.localSecVOList.map((itm) => {
                return {
                  secOid: itm.oid,
                  secValue: item.codeApply[itm.oid],
                };
              }),
            },
          };
        });
      } else if (this.type === 'historyImport') {
        let lookedCodeRuleOidList = Object.keys(this.batchSelectTableData);
        let noLookCodeRuleOidList = this.leftTree.filter(
          (item) => !lookedCodeRuleOidList.includes(item.codeClassifyOid)
        );
        let noLookName = noLookCodeRuleOidList.map((item) => item.name);
        if (noLookName.length > 0) {
          this.$message.warning(`数据${noLookName}还未曾查看,请先查看!`);
          return false;
        }
        params.codeImprotSaveDatVOList = this.batchSelectTableData.map(item => {
          return {
            Clos: item.cloNamesList,
            dataList: item.tab2.concat(item.tab1Selected),
            orderDTO: {
              codeClassifyOid: item.codeClassifyOid,
              templateOid: item.templateOid,
              secDTOList: this.secDTOList,
            },
          }
        })
      } else {
        params.codeImprotSaveDatVOList = [
          {
            Clos: this.cloNamesList.map((item) => item.title),
            dataList: this.tab2Table.concat(this.selectedTab1Table),
            orderDTO: {
              codeClassifyOid: this.codeClassifyOid,
              templateOid: this.templateOid,
              secDTOList: this.secDTOList,
            },
          },
        ];
      }
      this.submitLoading = true
      submitHistoryimport(params).then((res) => {
        this.submitLoading = false
        if (res.data.code === 200) {
          this.$message.success(res.data.msg);
          this.$parent.dialogVisible = false
          this.resetTable()
        }
      });
    },
    // é‡æ–°ç¼–辑
    reEdit(row) {
      this.currentSelectedResembleRow = {
        templateOid: row.codetemplateoid,
        codeClassifyOid: row.codeclassifyid,
        rowOid: row.oid,
        formTemplateVisible: true,
        type: "add",
        title: "编辑数据后重新入库",
        setForm: row,
      };
    },
    // ç›´æŽ¥ç¼–辑后保存
    FormTemplateSubmit(form) {
      addSaveCode(form).then((res) => {
        if (res.data.code === 200) {
          this.savedList.push(form.oid);
          this.$message.success("新增成功!");
          this.treeNodeClick(
            this.leftTree.find((item) => item.codeRuleOid === this.codeRuleOid)
          );
          this.currentSelectedResembleRow = {
            templateOid: "",
            codeClassifyOid: "",
            rowOid: "",
            formTemplateVisible: false,
            type: "detail",
            title: "查看详细信息",
            setForm: {},
          };
        }
      });
    },
  },
  watch: {
    filterText(val) {
      this.$refs.tree.filter(val);
    },
    leftTree: {
      immediate: true,
      deep: true,
      handler(arr) {
        if (arr.length > 0) {
          this.treeNodeClick(arr[0], true);
          this.$nextTick(() => {
            this.$refs.tree.setCurrentKey(arr[0]["codeClassifyOid"]);
          });
          if (this.type === "batchImportApply") {
            this.leftWidth = 0;
          } else if (this.type === "batchApplyCode") {
            this.tab1Name = "有相似项或错误数据";
            this.tab2Name = "正确数据";
            this.leftWidth = 200;
          }
        }
      },
    },
  },
};
</script>
<style lang="scss" scoped>
.flex_box {
  display: flex;
  width: 1280px;
  .left {
    transition: all 0.5s;
    .isExpand_box {
      margin-bottom: 10px;
      text-align: right;
    }
    .filter_tree {
      margin-top: 15px;
      max-height: 400px;
      overflow-y: scroll;
    }
  }
  .right {
    transition: all 0.5s;
    margin-left: 20px;
    margin-top: 30px;
  }
}
</style>
<template>
  <el-dialog
    :title="title"
    :visible.sync="dialogVisible"
    width="1300px"
    append-to-body
    top="5vh"
  >
    <div class="flex_box">
      <div
        class="left"
        :style="{ width: leftWidth + 'px' }"
        v-show="type !== 'batchImportApply'"
      >
        <div class="isExpand_box">
          <el-link type="primary" @click="hideTree">
            <i
              :class="isExpand ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"
            ></i>
            {{ isExpand ? "收缩" : "展开" }}
          </el-link>
        </div>
        <el-input
          placeholder="输入关键字进行过滤"
          v-model="filterText"
          size="small"
          v-show="isExpand"
        >
        </el-input>
        <el-tree
          v-show="isExpand"
          class="filter_tree"
          :data="leftTree"
          node-key="codeClassifyOid"
          default-expand-all
          highlight-current
          :filter-node-method="filterNode"
          @node-click="treeNodeClick"
          ref="tree"
          :props="{
            label: 'name',
          }"
        >
        </el-tree>
      </div>
      <div class="right" :style="{ width: 1280 - leftWidth - 60 + 'px' }">
        <div class="tab_box" style="width: 100%">
          <el-tabs
            style="width: 100%"
            v-model="activeTab"
            type="card"
            @tab-click="handleClick"
            size="small"
          >
            <el-tab-pane :label="tab1Name" name="tab1">
              <el-table
                border
                :data="tab1Table"
                style="width: 100%"
                height="40vh"
                highlight-current-row
                @current-change="resembleRowChange"
                @selection-change="tab1TableSelectChange"
                v-if="cloNamesList.length > 1"
                v-loading="tab1Loading"
              >
                <el-table-column
                  v-if="type !== 'batchApplyCode'"
                  type="selection"
                  width="100px"
                  align="center"
                ></el-table-column>
                <el-table-column
                  v-else
                  type="operate"
                  width="100px"
                  align="center"
                >
                  <template #default="{ row }">
                    <el-button type="text" @click="reEdit(row)"
                      >重新编辑</el-button
                    >
                  </template>
                </el-table-column>
                <el-table-column
                  type="index"
                  label="序号"
                  width="100px"
                  align="center"
                ></el-table-column>
                <el-table-column
                  v-for="item in cloNamesList"
                  :key="item.field"
                  :prop="item.field"
                  :label="item.title"
                  :width="item.width"
                  align="center"
                >
                </el-table-column>
              </el-table>
              <div v-else style="height: 400px"></div>
              <div>
                <el-table
                  border
                  :data="currentSelectedResemble"
                  style="width: 100%"
                  height="20vh"
                  v-loading="tab1BottomTableLoading"
                >
                  <el-table-column
                    v-for="item in resembleColumList"
                    :key="item.field"
                    :prop="item.field"
                    :label="item.title"
                    :minWidth="item.minWidth"
                    align="center"
                  >
                    <template #default="{ row }">
                      <span v-if="item.field === 'id'">
                        <el-link
                          type="primary"
                          @click="openFormTemlpate(row)"
                          >{{ row[item.field] }}</el-link
                        >
                      </span>
                      <span v-else>
                        {{ row[item.field] }}
                      </span>
                    </template>
                  </el-table-column>
                  <el-table-column
                    v-show="resembleColumList.length > 0"
                    prop="rowIndex"
                    label="excel行数"
                    align="center"
                  ></el-table-column>
                </el-table>
              </div>
            </el-tab-pane>
            <el-tab-pane :label="tab2Name" name="tab2">
              <el-table
                border
                v-loading="tab2Loading"
                :data="tab2Table"
                height="60vh"
              >
                <el-table-column
                  v-for="item in successTableColumns"
                  :key="item.field"
                  :prop="item.field"
                  :label="item.title"
                  :width="item.width"
                  align="center"
                >
                </el-table-column>
              </el-table>
              <el-card
                style="min-height: 200px; margintop: 10px"
                v-if="type === 'batchApplyCode' && tab2Table.length > 0"
              >
                <div slot="header" class="clearfix">
                  <h4>编码申请</h4>
                </div>
                <FormTemplate
                  v-if="type === 'batchApplyCode'"
                  type="add"
                  :selfColumnType="selfColumnType"
                  :selfColumnConfig="selfColumnConfig"
                  ref="CodeApply"
                  @getFormData="getCodeApplyFormData"
                  @referConfigDataUpdate="referConfigDataUpdate"
                ></FormTemplate>
              </el-card>
            </el-tab-pane>
          </el-tabs>
        </div>
      </div>
    </div>
    <template #footer>
      <div>
        <el-button size="small" type="primary" @click="submit" :loading="submitLoading"
          >确定导入</el-button
        >
        <el-button size="small" @click="dialogVisible = false">取消</el-button>
      </div>
    </template>
    <FormTemplateDialog
      ref="FormTemplateDialog"
      v-bind="currentSelectedResembleRow"
      :visible.sync="currentSelectedResembleRow.formTemplateVisible"
      @submit="FormTemplateSubmit"
    ></FormTemplateDialog>
  </el-dialog>
</template>
<script>
import {
  getSuccessTable,
  getResembleTable,
  getFormTemplate,
  getCurretnSelectedRowResemble,
  submitHistoryimport,
  addSaveCode,
} from "../../api/batchImport/index";
import ResembleQuery from "../FormTemplate/ResembleQuery.vue";
import FormTemplate from "../FormTemplate/FormTemplate.vue";
import codeApply from "@/mixins/codeApply.js";
export default {
  name: "ShowImportData",
  components: { ResembleQuery, FormTemplate },
  mixins: [codeApply],
  props: {
    title: {
      type: String,
      default: "历史数据导入",
    },
    visible: false,
    leftTree: {
      type: Array,
      default: () => [],
    },
    redisOid: {
      type: String,
      default: "",
    },
    classifyAttr: {
      type: String,
      default: "id",
    },
    codeClassifyOid: {
      type: String,
      default: "",
    },
    type: String,
    secDTOList: {
      type: Array,
      default: () => ({}),
    },
    resetTable: Function
  },
  computed: {
    dialogVisible: {
      get() {
        return this.visible;
      },
      set(val) {
        this.$emit("update:visible", val);
      },
    },
    successTableColumns() {
      if (this.type === "batchApplyCode") {
        return this.cloNamesList.slice(1);
      } else {
        return this.cloNamesList;
      }
    },
  },
  data() {
    return {
      isExpand: true,
      filterText: "",
      leftWidth: 200,
      templateOid: null,
      tab1Name: "相似项",
      tab2Name: "正确数据",
      tab1Table: [],
      selectedTab1Table: [],
      tab2Table: [],
      activeTab: "tab1",
      cloNamesList: [], //列表头部字段
      localCodeClassifyOid: "",
      codeRuleOid: "",
      resembleColumList: [], //相似项查出来的列表字段
      currentSelectedResemble: [],
      currentSelectedResembleRow: {
        templateOid: "",
        codeClassifyOid: "",
        rowOid: "",
        formTemplateVisible: false,
        type: "detail",
        title: "查看详细信息",
        setForm: {},
      },
      batchSelectTableData: {},
      savedList: [],
      tab1Loading: false,
      tab2Loading: false,
      tab1BottomTableLoading: false,
      submitLoading: false
    };
  },
  methods: {
    filterNode(value, data) {
      if (!value) return true;
      return data.name.indexOf(value) !== -1;
    },
    hideTree() {
      if (this.isExpand) {
        this.leftWidth = 50;
      } else {
        this.leftWidth = 200;
      }
      this.isExpand = !this.isExpand;
    },
    async treeNodeClick(data, first) {
      if (this.type === "batchApplyCode") {
        if (first === true) {
          this.codeRuleOid = data.codeRuleOid;
          // ç¬¬ä¸€æ¬¡æ‰“开直接赋值不校验
          this.batchSelectTableData[data.codeRuleOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            codeRuleOid: data.codeRuleOid,
          };
          // ä¸æ˜¯ç¬¬ä¸€æ¬¡æ‰“开需要优先校验
        } else if (this.localCodeClassifyOid === data.codeClassifyOid) {
          console.log("重复点击");
        } else {
          if (this.$refs.CodeApply) {
            if (!(await this.$refs.CodeApply.validate())) {
              this.$message.warning("请填写便编码申请!");
              this.activeTab = "tab2";
              this.$refs.tree.setCurrentKey(this.localCodeClassifyOid);
              return false;
            }
          }
        }
        if (!this.batchSelectTableData[data.codeRuleOid]) {
          this.batchSelectTableData[data.codeRuleOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            codeRuleOid: data.codeRuleOid,
          };
        }
      }
      if (this.type === 'historyImport') {
        if (first === true) {
          // ç¬¬ä¸€æ¬¡æ‰“开直接赋值不校验
          this.batchSelectTableData[data.codeClassifyOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            codeRuleOid: data.codeRuleOid,
          };
          // ä¸æ˜¯ç¬¬ä¸€æ¬¡æ‰“开需要优先校验
        }else if (this.localCodeClassifyOid === data.codeClassifyOid) {
          console.log("重复点击");
        }
        if (!this.batchSelectTableData[data.codeClassifyOid]) {
          this.batchSelectTableData[data.codeClassifyOid] = {
            name: data.name,
            templateOid: data.oid,
            cloNamesList: data.cloNamesList,
            codeClassifyOid: data.codeClassifyOid,
            tab1Selected: []
          };
        }
        // this.selection = this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected']
        if (this.batchSelectTableData[this.localCodeClassifyOid] &&
          this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected']) {
          this.selection = this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected'];
        }
      }
      this.localCodeClassifyOid = data.codeClassifyOid;
      this.cloNamesList = data.cloNamesList;
      this.templateOid = data.oid;
      this.tab1Loading = true
      getResembleTable({
        codeClassifyOid:
          this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid,
        redisOid: this.redisOid + "-resemble",
      }).then((res) => {
        this.tab1Loading = false
        this.tab1Table = res.data.data.filter(
          (item) => !this.savedList.includes(item.oid)
        );
        if (this.type === "batchApplyCode") {
          this.batchSelectTableData[data.codeRuleOid]["tab1"] =
            this.tab1Table;
        }
        if (this.type === "historyImport") {
          this.batchSelectTableData[data.codeClassifyOid]["tab1"] =
            this.tab1Table;
        }
      });
      this.tab2Loading = true
      // èŽ·å–æ­£ç¡®æ•°æ®
      getSuccessTable({
        codeClassifyOid:
          this.type === "batchApplyCode" ? data.codeRuleOid : this.templateOid,
        redisOid: this.redisOid + "-ok",
      }).then((res) => {
        this.tab2Loading = false
        this.tab2Table = res.data.data;
        if (this.tab2Table.length > 0 && this.type === "batchApplyCode") {
          this.batchSelectTableData[data.codeRuleOid]["codeApply"] = {};
          this.batchSelectTableData[data.codeRuleOid]["tab2"] =
            this.tab2Table
          if (this.$refs.CodeApply) {
            this.$refs.CodeApply.loading = true;
          }
          this.getCodeRule();
        }
        if (this.type === "historyImport") {
          this.batchSelectTableData[data.codeClassifyOid]["tab2"] =
            this.tab2Table
        }
      });
      getFormTemplate({
        templateOid: data.oid,
        codeClassifyOid: this.localCodeClassifyOid,
      }).then((res) => {
        this.resembleColumList = res.data.resembleTableVO.cols[0];
      });
    },
    tab1TableSelectChange(selection) {
      this.selectedTab1Table = selection;
      if (this.batchSelectTableData[this.localCodeClassifyOid]) {
        this.batchSelectTableData[this.localCodeClassifyOid]['tab1Selected'] = selection
      }
    },
    resembleRowChange(row) {
      if (!row || !row.oid) {
        return;
      }
      this.tab1BottomTableLoading = true
      getCurretnSelectedRowResemble({
        redisOid: this.redisOid + "-resemble-data",
        dataOid: row.oid,
      }).then((res) => {
        this.tab1BottomTableLoading = false
        this.currentSelectedResemble = res.data.data;
      });
    },
    openFormTemlpate(row) {
      this.currentSelectedResembleRow = {
        formTemplateVisible: true,
        templateOid: row.codetemplateoid,
        codeClassifyOid: this.localCodeClassifyOid,
        rowOid: row.rowOid,
        type: "detail",
        title: "查看详细信息",
        setForm: {},
      };
    },
    async submit() {
      let params = {
        classifyAttr:
          this.type === "historyImport" || this.type === "batchApplyCode"
            ? this.classifyAttr
            : undefined,
        improt: this.type === "historyImport" ? true : false,
      };
      if (this.type === "batchApplyCode") {
        if (this.$refs.CodeApply) {
          if (!(await this.$refs.CodeApply.validate())) {
            this.$message.warning("请填写便编码申请!");
            this.activeTab = "tab2";
            return false;
          }
        }
        let lookedCodeRuleOidList = Object.keys(this.batchSelectTableData);
        let noLookCodeRuleOidList = this.leftTree.filter(
          (item) => !lookedCodeRuleOidList.includes(item.codeRuleOid)
        );
        let noLookName = noLookCodeRuleOidList.map((item) => item.name);
        if (noLookName.length > 0) {
          this.$message.warning(`数据${noLookName}还未曾查看,请先查看!`);
          return false;
        }
        let errorData = [];
        let successData = [];
        for (const key in this.batchSelectTableData) {
          if (Object.hasOwnProperty.call(this.batchSelectTableData, key)) {
            const element = this.batchSelectTableData[key];
            if (element.tab1.length > 0) {
              errorData.push(element);
            }
            if (element.tab2.length > 0) {
              successData.push(element);
            }
          }
        }
        if (successData.length === 0) {
          this.$message.warning("导入的数据中没有正确的数据!");
          return;
        }
        if (errorData.length > 0) {
          await this.$confirm(
            errorData.map((item) => item.name).join("、") +
              ",这几个编码规则下的有错误数据和相似项数据没有处理,您如果继续保存的话,这些数据将会被自动舍弃,是否继续?",
            "提示",
            {
              confirmButtonText: "确定",
              cancelButtonText: "取消",
              type: "warning",
            }
          );
        }
        params.codeImprotSaveDatVOList = successData.map((item) => {
          return {
            Clos: item.cloNamesList,
            dataList: item.tab2,
            orderDTO: {
              codeClassifyOid: item.codeClassifyOid,
              templateOid: item.templateOid,
              secDTOList: item.localSecVOList.map((itm) => {
                return {
                  secOid: itm.oid,
                  secValue: item.codeApply[itm.oid],
                };
              }),
            },
          };
        });
      } else if (this.type === 'historyImport') {
        let lookedCodeRuleOidList = Object.keys(this.batchSelectTableData);
        let noLookCodeRuleOidList = this.leftTree.filter(
          (item) => !lookedCodeRuleOidList.includes(item.codeClassifyOid)
        );
        let noLookName = noLookCodeRuleOidList.map((item) => item.name);
        if (noLookName.length > 0) {
          this.$message.warning(`数据${noLookName}还未曾查看,请先查看!`);
          return false;
        }
        params.codeImprotSaveDatVOList = this.batchSelectTableData.map(item => {
          return {
            Clos: item.cloNamesList,
            dataList: item.tab2.concat(item.tab1Selected),
            orderDTO: {
              codeClassifyOid: item.codeClassifyOid,
              templateOid: item.templateOid,
              secDTOList: this.secDTOList,
            },
          }
        })
      } else {
        params.codeImprotSaveDatVOList = [
          {
            Clos: this.cloNamesList.map((item) => item.title),
            dataList: this.tab2Table.concat(this.selectedTab1Table),
            orderDTO: {
              codeClassifyOid: this.codeClassifyOid,
              templateOid: this.templateOid,
              secDTOList: this.secDTOList,
            },
          },
        ];
      }
      this.submitLoading = true
      submitHistoryimport(params).then((res) => {
        this.submitLoading = false
        if (res.data.code === 200) {
          this.$message.success(res.data.msg);
          this.$parent.dialogVisible = false
          this.resetTable()
        }
      });
    },
    // é‡æ–°ç¼–辑
    reEdit(row) {
      this.currentSelectedResembleRow = {
        templateOid: row.codetemplateoid,
        codeClassifyOid: row.codeclassifyid,
        rowOid: row.oid,
        formTemplateVisible: true,
        type: "add",
        title: "编辑数据后重新入库",
        setForm: row,
      };
    },
    // ç›´æŽ¥ç¼–辑后保存
    FormTemplateSubmit(form) {
      addSaveCode(form).then((res) => {
        if (res.data.code === 200) {
          this.savedList.push(form.oid);
          this.$message.success("新增成功!");
          this.treeNodeClick(
            this.leftTree.find((item) => item.codeRuleOid === this.codeRuleOid)
          );
          this.currentSelectedResembleRow = {
            templateOid: "",
            codeClassifyOid: "",
            rowOid: "",
            formTemplateVisible: false,
            type: "detail",
            title: "查看详细信息",
            setForm: {},
          };
        }
      });
    },
  },
  watch: {
    filterText(val) {
      this.$refs.tree.filter(val);
    },
    leftTree: {
      immediate: true,
      deep: true,
      handler(arr) {
        if (arr.length > 0) {
          this.treeNodeClick(arr[0], true);
          this.$nextTick(() => {
            this.$refs.tree.setCurrentKey(arr[0]["codeClassifyOid"]);
          });
          if (this.type === "batchImportApply") {
            this.leftWidth = 0;
          } else if (this.type === "batchApplyCode") {
            this.tab1Name = "有相似项或错误数据";
            this.tab2Name = "正确数据";
            this.leftWidth = 200;
          }
        }
      },
    },
  },
};
</script>
<style lang="scss" scoped>
.flex_box {
  display: flex;
  width: 1280px;
  .left {
    transition: all 0.5s;
    .isExpand_box {
      margin-bottom: 10px;
      text-align: right;
    }
    .filter_tree {
      margin-top: 15px;
      max-height: 400px;
      overflow-y: scroll;
    }
  }
  .right {
    transition: all 0.5s;
    margin-left: 20px;
    margin-top: 30px;
  }
}
</style>
Source/UBCS-WEB/src/page/login/userlogin.vue
@@ -299,6 +299,7 @@
  },
  props: [],
  methods: {
    //单点登录跳转
    ChandleLogin() {
      this.$router.push({ path: '/sso' });
    },
Source/UBCS-WEB/src/views/docking/infoForm.vue
@@ -548,7 +548,7 @@
      })
      this.$nextTick(function (){
        if(pass){
          that.formData.sysIntParamDTOs=this.formData.sysIntParamVOs.map(item=>{
          that.formData.sysIntParamDTOS=this.formData.sysIntParamVOs.map(item=>{
            return {
              ...item,
              ordernNo:item.$index
Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -59,7 +59,7 @@
    return {
      checkAll: {},
      ParentList: [],
      ParentRemoveList:[],
      ParentRemoveList: [],
      //避免缓存
      reload: Math.random(),
      TreeLoading: false,
@@ -147,7 +147,7 @@
    //分类授权多选回调
    checkChange(row, checked) {
      if (checked) {
        if (!row.parentId && row.children) {
        if (!row.parentId) {
          const parentRecord = {
            oid: row.oid,
            classifyId: row.attributes.classifyId,
@@ -179,26 +179,41 @@
              }
            }
          }
          console.log(this.ParentList);
        }
      } else {
        if (!row.parentId && row.children) {
          this.ParentRemoveList = this.ParentList.filter(record => record.oid !== row.oid);
        // å–消勾选的节点是父节点
        if (!row.parentId) {
          // æ‰¾åˆ°çˆ¶èŠ‚ç‚¹åœ¨ParentList中的索引
          const parentIndex = this.ParentList.findIndex(item => item.oid === row.oid);
          if (parentIndex !== -1) {
            const parentOid = this.ParentList[parentIndex].classifyOid;
          if (row.children && row.children.length > 0) {
            for (let child of row.children) {
              this.ParentRemoveList = this.ParentList.filter(record => record.oid !== child.oid);
              if (child.children && child.children.length > 0) {
                for (let subChild of child.children) {
                  this.ParentRemoveList = this.ParentList.filter(record => record.oid !== subChild.oid);
                }
            // æŸ¥æ‰¾æ‰€æœ‰éœ€è¦åˆ é™¤çš„子节点的索引
            const childIndexes = this.ParentList.reduce((indexes, item, index) => {
              if (item.classParentOid === parentOid && item.classifyOid !== parentOid) {
                indexes.push(index);
              }
              return indexes;
            }, []);
            // ä»ŽåŽå¾€å‰åˆ é™¤å­èŠ‚ç‚¹çš„æ•°æ®ï¼Œä¿è¯ç´¢å¼•çš„æ­£ç¡®æ€§
            for (let i = childIndexes.length - 1; i >= 0; i--) {
              this.ParentList.splice(childIndexes[i], 1);
            }
            // åˆ é™¤çˆ¶èŠ‚ç‚¹çš„æ•°æ®
            this.ParentList.splice(parentIndex, 1);
          }
        } else {
          // å–消勾选的节点是子节点
          const childIndex = this.ParentList.findIndex(item => item.oid === row.oid);
          if (childIndex !== -1) {
            // åˆ é™¤å­èŠ‚ç‚¹çš„æ•°æ®
            this.ParentList.splice(childIndex, 1);
          }
        }
        console.log(this.ParentRemoveList)
      }
      console.log(this.ParentList);
    },
    //分类授权
    classifyHandler(row) {
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java
@@ -15,6 +15,9 @@
import org.apache.commons.lang.StringUtils;
import java.awt.*;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -127,8 +130,8 @@
        headerMap.put("Tenant-Id",ConfigUtils.getConfigValue("410.code.token.tenantId","000000"));
        headerMap.put("Authorization",ConfigUtils.getConfigValue("410.code.token.authorization","Basic c3dvcmQ6c3dvcmRfc2VjcmV0"));
        headerMap.put("Content-Type",ConfigUtils.getConfigValue("410.code.token.contentType","application/x-www-form-urlencoded"));
        UserObject userObject=new UserObject();
        String userName=ConfigUtils.getConfigValue("410.code.token.username","pdmUser");
        String password=ConfigUtils.getConfigValue("410.code.token.password","21232f297a57a5a743894a0e4a801fc3");
        Map<String,String> parmarMap=new HashMap<>();
        //userObject.set("Tenant-Id",ConfigUtils.getConfigValue("410.code.token.tenantId","000000"));
        /*userObject.setUsername("admin");
@@ -136,8 +139,9 @@
        userObject.setGrant_type("password");
        userObject.setScope("all");
        Object object = JSONObject.toJSON(userObject);*/
        parmarMap.put("username","admin");
        parmarMap.put("password","21232f297a57a5a743894a0e4a801fc3");
        parmarMap.put("username",userName);
        password=MD5PassWord(password);
        parmarMap.put("password",password);
        parmarMap.put("scope","all");
        parmarMap.put("grant_type","password");
        String result=HttpUtil.sendFormPost(tokenUrl,parmarMap,headerMap);
@@ -147,6 +151,18 @@
            throw  new Exception("验证用户鉴权信息失败!");
        }
    }
    private String MD5PassWord (String passWord){
        try {
            MessageDigest   md = MessageDigest.getInstance("MD5");
            byte[] a=md.digest(passWord.getBytes());
            String codestr = new BigInteger(1,a ).toString(16);
            System.out.println(codestr);
            return codestr;
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return passWord;
    }
    public void buildDialog() {
        Dimension dime = Toolkit.getDefaultToolkit().getScreenSize();
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyPanelFor410ActionListener.java
@@ -166,7 +166,7 @@
                    Object applyGroupCodeData = JSONObject.toJSON(applyMap);
                    R applyResult= HttpUtil.sendPost(url+"/DockingPreApplyCode/applyGroupCode",applyGroupCodeData.toString(),headerMap);
                    if(!applyResult.isSuccess()){
                        VCIOptionPane.showMessage(this.owner, "集团码申请失败,"+r.getMsg());
                        VCIOptionPane.showMessage(this.owner, "集团码申请失败,"+applyResult.getMsg());
                    }else{
                        VCIOptionPane.showMessage(this.owner, "保存数据成功,等待集团码申请!");
                    }
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/ListUtil.java
@@ -6,6 +6,7 @@
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
import java.text.ParseException;
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/VciBaseUtil.java
@@ -321,7 +321,7 @@
    }
    public static String list2String(List<String> ls) {
        return ls != null && ls.size() != 0 ? (String) org.apache.commons.lang.StringUtils.join(ls,"") : "";
        return ls != null && ls.size() != 0 ? (String) StringUtils.join(ls,"") : "";
    }
    public static boolean isNull(String o) {
@@ -890,7 +890,7 @@
                sameMethods.add(mthod);
            }
        }
        return !CollectionUtils.isEmpty(sameMethods) ? (Method)sameMethods.get(0) : null;
    }
Source/UBCS/ubcs-codeApply/src/main/resources/properties/RMIPFramework.properties
@@ -1,770 +1,33 @@
\uFEFF#\u5173\u95EDFrame\u63D0\u793A\u5BF9\u8BDD\u6846\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.exit.system=\u9000\u51FA\u7CFB\u7EDF
rmip.framework.logManagementModel=\u65E5\u5FD7\u7BA1\u7406\u6A21\u5757
rmip.framework.exit.confirm=\u786E\u5B9A\u8981\u9000\u51FA\u7CFB\u7EDF\u5417\uFF1F
rmip.framework.button.confirm=\u786E\u5B9A
rmip.framework.button.cancel=\u53D6\u6D88
#Menu\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.menu.file=\u6587\u4EF6
rmip.framework.menu.file.relogon=\u91CD\u65B0\u767B\u5F55
rmip.framework.menu.file.update.password=\u66F4\u6539\u5BC6\u7801
rmip.framework.menu.file.exit=\u9000\u51FA
rmip.framework.menu.help=\u5E2E\u52A9
rmip.framework.menu.help.use=\u4F7F\u7528\u5E2E\u52A9
rmip.framework.menu.about=\u5173\u4E8E
rmip.framework.reload.title=\u91CD\u65B0\u767B\u9646
rmip.framework.reload.message=\u60A8\u786E\u5B9A\u8981\u91CD\u65B0\u767B\u9646\u5417?
#\u63D0\u793A\u5BF9\u8BDD\u6846\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.info.message.dialog.title=\u4FE1\u606F\u63D0\u793A
rmip.framework.error.message.dialog.title=\u9519\u8BEF\u63D0\u793A
rmip.framework.warn.message.dialog.title=\u8B66\u544A\u63D0\u793A
rmip.framework.friend.message.dialog.title=\u6E29\u99A8\u63D0\u793A
rmip.framework.friend.message.dialog.message=\u60A8\u786E\u5B9A\u6267\u884C\u6B64\u64CD\u4F5C\u5417\uFF1F
#Frame\u9875\u9762\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.current.user=VCI-RMIP \u5F53\u524D\u7528\u6237\:
#\u767B\u5F55\u9875\u9762\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.logon.name=\u7528\u6237\u540D\uFF1A
rmip.framework.logon.password=\u5BC6\u7801\uFF1A
rmip.framework.logon.new.passwork=\u65B0\u5BC6\u7801\uFF1A
rmip.framework.logon.confirm.password=\u65B0\u5BC6\u7801\u786E\u8BA4\uFF1A
rmip.framework.modify.password=\u4FEE\u6539\u5BC6\u7801
rmip.framework.logon.isSave.password=\u662F\u5426\u4FDD\u5B58\u7528\u6237\u7684\u5BC6\u7801
rmip.framework.logon.button.logon=\u767B\u5F55
rmip.framework.logon.name.isNotNull=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A\!
rmip.framework.logon.password.isNotNull=\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A\!
rmip.framework.logon.welcome.msg=\u6B22\u8FCE\u4F7F\u7528VCI-RMIP
########################################################################
##\u7CFB\u7EDF\u914D\u7F6E\u6A21\u5757\u56FD\u9645\u5316\u4FE1\u606F
########################################################################
##\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.systemConfigModule = \u7CFB\u7EDF\u914D\u7F6E\u7BA1\u7406
rmip.framework.sysconfig.specialChar = \u7279\u6B8A\u5B57\u7B26
rmip.framework.sysconfig.attrManagement = \u5C5E\u6027\u7BA1\u7406
rmip.framework.sysconfig.specialCharClsf = \u7279\u6B8A\u5B57\u7B26\u5206\u7C7B
rmip.framework.sysconfig.unit = \u5355\u4F4D
rmip.framework.sysconfig.name = \u540D\u79F0\uFF1A
rmip.framework.sysconfig.desc = \u63CF\u8FF0\uFF1A
rmip.framework.sysconfig.add = \u589E\u52A0
rmip.framework.sysconfig.modify = \u4FEE\u6539
rmip.framework.sysconfig.delete = \u5220\u9664
rmip.framework.sysconfig.value = \u503C
rmip.framework.sysconfig.sort = \u6392\u5E8F
rmip.framework.sysconfig.valueName = \u540D\u79F0
rmip.framework.sysconfig.modifyCharAlert1 = \u8BF7\u9009\u62E9\u8981\u4FEE\u6539\u7684\u5B57\u7B26\uFF01
rmip.framework.sysconfig.modifyCharAlert2 = \u8981\u4FEE\u6539\u7684\u503C\u53EA\u80FD\u662F\u4E00\u4E2A\u5B57\u7B26\uFF01
rmip.framework.sysconfig.modifyCharAlert3 = \u8BF7\u9009\u4E2D\u8981\u4FEE\u6539\u7684\u5B57\u7B26\u8FDB\u884C\u4FEE\u6539\u64CD\u4F5C\uFF01
rmip.framework.sysconfig.valueAlert = \u503C\u4E0D\u80FD\u4E3A\u7A7A\uFF01
rmip.framework.sysconfig.addCharAlert1 = \u6DFB\u52A0\u7684 '
rmip.framework.sysconfig.addCharAlert2 = ' \u5B57\u7B26\u4E0D\u80FD\u6DFB\u52A0\u591A\u4E2A\uFF0C\u8BF7\u4FEE\u6539\uFF01
rmip.framework.sysconfig.modifySuccess = \u4FEE\u6539\u6210\u529F!
rmip.framework.sysconfig.deleteAttrAlert=\u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u5C5E\u6027!
rmip.framework.sysconfig.deleteAttrAlert1=\u5C5E\u6027\u5DF2\u88AB\u5F15\u7528,\u4E0D\u80FD\u5220\u9664!
rmip.framework.sysconfig.deleteCharAlert1 = \u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u5B57\u7B26\uFF01
rmip.framework.sysconfig.deleteCharAlert2 = \u5220\u9664\u5931\u8D25\uFF0C\u4E0D\u5E94\u8BE5\u5305\u542B\u7B2C '
rmip.framework.sysconfig.deleteCharAlert3 = ' \u884C
rmip.framework.sysconfig.deleteCharAlert4 = \u7B2C '
rmip.framework.sysconfig.deleteCharAlert5 = ' \u5217\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.framework.sysconfig.deleteConfirm = \u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u5B57\u7B26\u5417\uFF1F
rmip.framework.sysconfig.warmTip = \u6E29\u99A8\u63D0\u793A
rmip.framework.sysconfig.selectDeleteNode = \u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u8282\u70B9\uFF01
rmip.framework.sysconfig.deleteClsfAlert = \u9009\u62E9\u5220\u9664\u7684\u8282\u70B9\u5305\u62EC\u975E\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u8282\u70B9\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.framework.sysconfig.deleteClsfConfirm = \u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u5206\u7C7B\u5417?
rmip.framework.sysconfig.nameAlert = \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.framework.sysconfig.nameLengthAlert = \u540D\u79F0\u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF01
rmip.framework.sysconfig.descLengthAlert = \u63CF\u8FF0\u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7255\u4E2A\u5B57\u7B26\uFF01
rmip.framework.sysconfig.internalnameAlert = \u5185\u90E8\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.framework.sysconfig.internalnameLenghAlert = \u5185\u90E8\u540D\u79F0\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF01
rmip.framework.sysconfig.internalnameLeeter = \u5185\u90E8\u540D\u79F0\u53EA\u80FD\u4E3A\u5B57\u6BCD\u5F00\u5934\uFF0C\u8BF7\u66F4\u6539\uFF01
rmip.framework.sysconfig.attrLengthAlert = \u957F\u5EA6\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.framework.sysconfig.attrLengthIsNum = \u957F\u5EA6\u53EA\u80FD\u4E3A\u6570\u5B57\uFF0C\u8BF7\u91CD\u586B\u5199\uFF01
rmip.framework.sysconfig.attrLengthMax = \u957F\u5EA6\u4E3A1~4000\u4E4B\u95F4\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.framework.sysconfig.query = \u67E5\u8BE2
rmip.framework.sysconfig.allAttr = \u6240\u6709\u5C5E\u6027
rmip.framework.sysconfig.defaultValue = \u9ED8\u8BA4\u503C:
rmip.framework.sysconfig.isEmpty = \u53EF\u4EE5\u4E3A\u7A7A:
rmip.framework.sysconfig.isGroup = \u662F\u5426\u96C6\u56E2\u5C5E\u6027:
rmip.framework.sysconfig.groupAttr = \u96C6\u56E2\u5C5E\u6027
rmip.framework.sysconfig.groupAppendAttr = \u96C6\u56E2\u9644\u52A0\u5C5E\u6027
rmip.framework.sysconfig.enterpriseAttr = \u4F01\u4E1A\u5C5E\u6027
rmip.framework.sysconfig.isKey = \u662F\u5426\u5173\u952E\u5C5E\u6027:
rmip.framework.sysconfig.dataType = \u6570\u636E\u7C7B\u578B\uFF1A
rmip.framework.sysconfig.valueRange = \u53D6\u503C\u8303\u56F4
rmip.framework.sysconfig.attrrule=\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\uFF1A
rmip.framework.sysconfig.attLengh=\u957F\u5EA6\uFF1A
rmip.framework.sysconfig.isOnly=\u56FA\u6709\u5C5E\u6027
rmip.framework.sysconfig.internalname=\u5185\u90E8\u540D\u79F0\uFF1A
rmip.framework.sysconfig.queryAlert = \u6CA1\u6709\u7B26\u5408\u67E5\u8BE2\u8981\u6C42\u7684\u8BB0\u5F55!
rmip.framework.sysconfig.defaultValLengthAlert = \u9ED8\u8BA4\u503C\u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7255\u4E2A\u5B57\u7B26\uFF01
rmip.framework.sysconfig.valueRangeNotNull = \u53D6\u503C\u8303\u56F4\u503C\u4E0D\u80FD\u4E3A\u7A7A\uFF01
rmip.framework.sysconfig.valueRangeLengthAlert = \u53D6\u503C\u8303\u56F4\u503C\u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF01
rmip.framework.sysconfig.valueRangeLength = \u53D6\u503C\u8303\u56F4\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7\u5C5E\u6027\u957F\u5EA6\uFF01
rmip.framework.sysconfig.valRangeModifyAlert = \u8BF7\u9009\u4E2D\u8981\u4FEE\u6539\u7684\u53D6\u503C\u8303\u56F4\u8FDB\u884C\u4FEE\u6539\u64CD\u4F5C\uFF01
rmip.framework.sysconfig.selectRootNode = \u8BF7\u5148\u9009\u62E9\u6839\u8282\u70B9!
rmip.framework.sysconfig.selectAttrNode = \u8BF7\u5148\u9009\u62E9\u5C5E\u6027\u8282\u70B9!
rmip.framework.sysconfig.deleteAttrConfirm = \u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u5C5E\u6027\u5417?
rmip.framework.sysconfig.selectDeleteValRange = \u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u53D6\u503C\u8303\u56F4\uFF01
rmip.framework.sysconfig.deleteValRangeConfirm = \u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u53D6\u503C\u8303\u56F4\u5417\uFF1F
rmip.framework.sysconfig.modifyValFail = \u8981\u4FEE\u6539\u7684\u503C\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4FEE\u6539\u5931\u8D25\uFF01
rmip.framework.sysconfig.addValFail = \u8981\u6DFB\u52A0\u7684\u503C\u5DF2\u7ECF\u5B58\u5728\uFF0C\u6DFB\u52A0\u5931\u8D25\uFF01
rmip.framework.sysconfig.updateordelete=\u662F\u5C5E\u6027\u9ED8\u8BA4\u503C,\u4E0D\u53EF\u5220\u9664\u6216\u4FEE\u6539!
rmip.framework.sysconfig.defaultvaluewrong=\u5C5E\u6027\u9ED8\u8BA4\u503C\u4E0D\u80FD\u901A\u8FC7\u5C5E\u6027\u89C4\u5219\u6821\u9A8C,\u683C\u5F0F\u4E0D\u6B63\u786E,\u8BF7\u4FEE\u6539!
rmip.framework.sysconfig.scopeValueWrong=\u53D6\u503C\u8303\u56F4\u503C\u4E0D\u80FD\u901A\u8FC7\u5C5E\u6027\u89C4\u5219\u6821\u9A8C,\u683C\u5F0F\u4E0D\u6B63\u786E,\u8BF7\u4FEE\u6539!
rmip.framework.sysconfig.attrRangeIsUsed=\u7684\u53D6\u503C\u8303\u56F4\u5DF2\u7ECF\u88AB\u5F15\u7528,\u4E0D\u80FD\u5220\u9664\u6216\u4FEE\u6539!
rmip.framework.sysconfig.firstSelectAttrNode=\u8BF7\u9009\u62E9\u5C5E\u6027\u518D\u6DFB\u52A0\u5C5E\u6027\u503C!
rmip.framework.sysconfig.attrRangeNameError=\u53D6\u503C\u8303\u56F4\u7684\u540D\u79F0\u5728\u8BE5\u5C5E\u6027\u4E0B\u5DF2\u7ECF\u5B58\u5728,\u8BF7\u66F4\u6539!
rmip.framework.sysconfig.attrRangeNameError1=\u53D6\u503C\u8303\u56F4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7128\u4E2A\u5B57\u7B26!
rmip.framework.sysconfig.attrGroupAlert=\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.submit=\u63D0\u4EA4
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.cancel=\u53D6\u6D88
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.moveup=\u4E0A\u79FB
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.down=\u4E0B\u79FB
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.top=\u6700\u4E0A\u7AEF
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.bottom=\u6700\u4E0B\u7AEF
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.attrRange=\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u6392\u5E8F
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.range=\u5C5E\u6027\u503C
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.selecttoup=\u8BF7\u9009\u62E9\u5C5E\u6027\u503C\u8FDB\u884C\u4E0A\u79FB\u64CD\u4F5C\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.selectonlyone=\u6BCF\u6B21\u53EA\u5141\u8BB8\u9009\u62E9\u4E00\u6761\u5C5E\u6027\u503C\u8FDB\u884C\u64CD\u4F5C\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.selectisnull=\u8BF7\u9009\u62E9\u5C5E\u6027\u503C\u8FDB\u884C\u64CD\u4F5C\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.selecttodown=\u8BF7\u9009\u62E9\u5C5E\u6027\u503C\u8FDB\u884C\u4E0B\u79FB\u64CD\u4F5C\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.existup=\u5C5E\u6027\u503C\u5DF2\u7ECF\u5728\u6700\u4E0A\u7AEF\uFF0C\u4E0D\u5141\u8BB8\u79FB\u52A8\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.existdown=\u5C5E\u6027\u503C\u5DF2\u7ECF\u5728\u6700\u4E0B\u7AEF\uFF0C\u4E0D\u5141\u8BB8\u79FB\u52A8\uFF01
com.vci.rmip.framework.client.systemConfig.attribute.AttrRangeSortDialog.success=\u4FDD\u5B58\u6210\u529F\uFF01
##\u5F02\u5E38\u9519\u8BEF\u4FE1\u606F
150001 = \u5220\u9664\u7279\u6B8A\u5B57\u7B26\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150002 = \u5220\u9664\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150003 = \u83B7\u53D6\u7279\u6B8A\u5B57\u7B26\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150004 = \u83B7\u53D6\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150005 = \u8981\u4FDD\u6301\u7684\u7279\u6B8A\u5B57\u7B26\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\uFF01
150006 = \u4FDD\u5B58\u7279\u6B8A\u5B57\u7B26\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150007 = \u8981\u4FDD\u5B58\u7684\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\uFF01
150008 = \u4FDD\u5B58\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150009 = \u66F4\u65B0\u540E\u7684\u7279\u6B8A\u5B57\u7B26\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\uFF01
150010 = \u66F4\u65B0\u7279\u6B8A\u5B57\u7B26\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150011 = \u66F4\u65B0\u540E\u7684\u7279\u6B8A\u5B57\u7B26\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\uFF01
150012 = \u66F4\u65B0\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150101 = \u5220\u9664\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150102 = \u5220\u9664\u5C5E\u6027\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150103 = \u83B7\u53D6\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150104 = \u83B7\u53D6\u5C5E\u6027\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150105 = \u6B64\u53D6\u503C\u8303\u56F4\u5DF2\u7ECF\u5B58\u5728
150106 = \u4FDD\u5B58\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150107 = \u4FDD\u5B58\u7684\u5C5E\u6027\u5B58\u5728\u91CD\u590D\u6570\u636E\uFF0C\u8BF7\u68C0\u67E5\uFF01
150108 = \u4FDD\u5B58\u5C5E\u6027\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150109 = \u66F4\u65B0\u540E\u7684\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\uFF01
150110 = \u66F4\u65B0\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150111 = \u66F4\u65B0\u540E\u7684\u5C5E\u6027\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5\uFF01
150112 = \u66F4\u65B0\u5C5E\u6027\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150113 = \u8FDE\u63A5\u670D\u52A1\u5668\u65F6\u53D1\u751F\u5F02\u5E38\uFF01
150114 = \u67E5\u8BE2\u5C5E\u6027\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150115 = \u5220\u9664\u6216\u4FEE\u6539\u5C5E\u6027\u53D6\u503C\u8303\u56F4\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
150116 = \u5C5E\u6027\u7684\u5185\u90E8\u540D\u79F0\u5B58\u5728\u91CD\u590D\uFF01
10060=\u8981\u6DFB\u52A0\u7684\u7279\u6B8A\u5B57\u7B26\u5728\u8BE5\u5206\u7C7B\u4E0B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4FDD\u5B58\u5931\u8D25\uFF01
10062=\u8981\u4FEE\u6539\u7684\u7279\u6B8A\u5B57\u7B26\u5728\u8BE5\u5206\u7C7B\u4E0B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4FDD\u5B58\u5931\u8D25\uFF01
10061=\u8981\u521B\u5EFA\u7684\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4FDD\u5B58\u5931\u8D25\uFF01
10063=\u8981\u4FEE\u6539\u7684\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u4FDD\u5B58\u5931\u8D25\uFF01
150117=\u83B7\u53D6\u7279\u6B8A\u5B57\u7B26\u5206\u7C7B\u53D1\u751F\u9519\u8BEF\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
########################################################################
##\u7CFB\u7EDF\u914D\u7F6E\u6A21\u5757\u56FD\u9645\u5316\u4FE1\u606F     END
########################################################################
########################################################################
##\u89C4\u5219\u7BA1\u7406\u6A21\u5757\u56FD\u9645\u5316\u4FE1\u606F
########################################################################
##\u56FD\u9645\u5316\u4FE1\u606F
rmip.framework.ruleManagementModule = \u89C4\u5219\u7BA1\u7406
rmip.framework.rMTypeTemplateModule = \u8D44\u6E90\u7C7B\u578B\u6A21\u677F\u7BA1\u7406
##\u5F02\u5E38\u9519\u8BEF\u4FE1\u606F
########################################################################
##\u89C4\u5219\u7BA1\u7406\u6A21\u5757\u56FD\u9645\u5316\u4FE1\u606F END
########################################################################
-10000=\u65E0\u6CD5\u8FDE\u63A5\u5230\u670D\u52A1\u5668\uFF0C\u8BF7\u68C0\u67E5\n1:JacORB\u670D\u52A1\u662F\u5426\u6B63\u5E38\u542F\u52A8\uFF0C\n1:\u4E3B\u670D\u52A1\u662F\u5426\u6B63\u5E38\u542F\u52A8\uFF0C\n1:\u68C0\u67E5\u662F\u5426\u6709\u9632\u706B\u5899\u5BF9\u7A0B\u5E8F\u7AEF\u53E3\u8FDB\u884C\u4E86\u9650\u5236\uFF01
-99999=\u6587\u4EF6\u7B2C{0}\u884C\u7B2C{1}\u5217\u683C\u5F0F\u9519\u8BEF\uFF0C\u8BF7\u5C06\u5176\u4FEE\u6539\u4E3A\u5B57\u7B26\u4E32\u7C7B\u578B\u3002
100001=\u65E0\u6CD5\u83B7\u53D6\u767B\u5F55\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100002=\u65E0\u6CD5\u83B7\u53D6\u6846\u67B6\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100003=\u65E0\u6CD5\u83B7\u53D6CODE\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100004=\u65E0\u6CD5\u83B7\u53D6RM\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100005=\u65E0\u6CD5\u83B7\u53D6BOM\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100006=\u65E0\u6CD5\u83B7\u53D6workFlow\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100007=\u65E0\u6CD5\u83B7\u53D6simpleNews\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100008=\u65E0\u6CD5\u83B7\u53D6EquipmentService\u670D\u52A1\uFF0C\u8BF7\u91CD\u65B0\u542F\u52A8\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458\u3002
100009=\u65E0\u6CD5\u83B7\u53D6Bom\u96C6\u6210\u670D\u52A1\uFF0C\u8BF7\u91CD\u542F\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458.
100010=\u65E0\u6CD5\u83B7\u53D6014\u96C6\u6210\u670D\u52A1\uFF0C\u8BF7\u91CD\u542F\u6216\u8005\u8054\u7CFB\u7BA1\u7406\u5458.
#############################################
##  \u6A21\u5757\u6743\u9650\u914D\u7F6E
##  \u7CFB\u7EDF\u6A21\u5757\u6784\u5EFA
##
#############################################
#\u7CFB\u7EDF\u6A21\u5757\u6784\u5EFA
#\u6A21\u5757\u663E\u793A\u4FE1\u606F
rmip.framework.systemFunctionTree.systemFunctionModel = \u529F\u80FD\u6A21\u5757\u7BA1\u7406
rmip.framework.systemFunctionTree.root = \u7CFB\u7EDF\u529F\u80FD\u6A21\u5757\u7BA1\u7406
rmip.framework.systemFunctionTree.title = \u6A21\u5757\u7BA1\u7406
rmip.framework.systemFunctionTree.modelManagment.isValid = \u662F\u5426\u6709\u6548
rmip.framework.systemFunctionTree.modelManagment.modelName = \u6A21\u5757\u540D\:
rmip.framework.systemFunctionTree.modelManagment.description = \u63CF\u8FF0\:
rmip.framework.systemFunctionTree.modelManagment.addButton = \u589E\u52A0
rmip.framework.systemFunctionTree.modelManagment.modifyButton = \u4FEE\u6539
rmip.framework.systemFunctionTree.modelManagment.deleteButton = \u5220\u9664
rmip.framework.systemFunctionTree.modelManagment.addOperationTypeButton = \u589E\u52A0\u64CD\u4F5C\u7C7B\u578B
rmip.framework.systemFunctionTree.dialog.title = \u64CD\u4F5C\u7C7B\u578B\u5206\u7C7B
rmip.framework.systemFunctionTree.dialog.type = \u64CD\u4F5C\u5206\u7C7B
rmip.framework.systemFunctionTree.dialog.okButton = \u786E\u8BA4
rmip.framework.systemFunctionTree.dialog.cancelButton = \u53D6\u6D88
rmip.framework.systemFunctionTree.root.notSelect = \u8BF7\u9009\u62E9\u8282\u70B9\u8FDB\u884C\u64CD\u4F5C\!
rmip.framework.systemFunctionTree.root.delete = \u6839\u8282\u70B9\u65E0\u6CD5\u5220\u9664\!
rmip.framework.systemFunctionTree.modelName.duplicate = \u6A21\u5757\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\!
rmip.framework.systemFunctionTree.model.delete = \u8BF7\u9009\u62E9\u6A21\u5757\u8282\u70B9\u8FDB\u884C\u5220\u9664\u64CD\u4F5C\!
rmip.framework.systemFunctionTree.model.deleteQuery = \u4F60\u786E\u5B9A\u8981\u5220\u9664\u9009\u62E9\u7684\u6570\u636E\u548C\u5B50\u8282\u70B9\u6570\u636E\u5417\uFF1F
rmip.framework.systemFunctionTree.model.relation = \u6A21\u5757\u6216\u5B50\u6A21\u5757\u88AB\u5F15\u7528\uFF0C\u65E0\u6CD5\u5220\u9664\!
rmip.framework.systemFunctionTree.modelNmae.isNull = \u6A21\u5757\u540D\u79F0\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\!
rmip.framework.systemFunctionTree.modelNmae.lenght = \u6A21\u5757\u540D\u79F0\u957F\u5EA6\u8D85\u8FC7\u89C4\u5B9A\u8303\u56F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\!
rmip.framework.systemFunctionTree.desc.lenght = \u63CF\u8FF0\u5927\u5C0F\u8D85\u8FC7\u89C4\u5B9A\u8303\u56F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\!
rmip.framework.systemFunctionTree.model.modifyInfo = \u6A21\u5757\u4FE1\u606F\u4FEE\u6539\u6210\u529F\!
rmip.framework.systemFunctionTree.model.operateTypeInfo = \u8BF7\u9009\u62E9\u64CD\u4F5C\u7C7B\u578B\u8FDB\u884C\u64CD\u4F5C\uFF01
rmip.framework.systemFunctionTree.model.operateTypeRight = \u8BF7\u9009\u62E9\u6B63\u786E\u7684\u64CD\u4F5C\u7C7B\u578B\u8FDB\u884C\u64CD\u4F5C\uFF01
rmip.framework.systemFunctionTree.cs.lenght = C/S\u540D\u79F0\u957F\u5EA6\u8D85\u8FC7\u89C4\u5B9A\u8303\u56F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
rmip.framework.systemFunctionTree.cs.name = C/S\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF01
#\u5F02\u5E38\u4FE1\u606F
110000 = \u521B\u5EFA\u6A21\u5757\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110001 = \u68C0\u7D22\u6A21\u5757\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110002 = \u5220\u9664\u6A21\u5757\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110003 = \u66F4\u65B0\u6A21\u5757\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110004 = corba\u5BF9\u8C61\u548C\u5B9E\u4F53\u7C7B\u8F6C\u6362\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110005 = \u66F4\u65B0\u6A21\u5757\u6811\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
################################################################
## Tab\u9875\u4FE1\u606F \u6743\u9650\u914D\u7F6E\u6A21\u5757
#\u64CD\u4F5C\u7C7B\u578B
rmip.framework.operateType.operateTypeModel.file=\u64CD\u4F5C\u7C7B\u578B\u7BA1\u7406
rmip.framework.operateType.operateTypeLab.file=\u64CD\u4F5C\u7C7B\u578B
rmip.framework.operateType.designationLab.file=\u540D\u79F0
rmip.framework.operateType.typeLab.file=\u7C7B\u578B
rmip.framework.operateType.identifyingLab.file=\u6807\u8BC6
rmip.framework.operateType.describeLab.file=\u63CF\u8FF0
rmip.framework.operateType.addButton.file=\u6DFB\u52A0
rmip.framework.operateType.updateButton.file=\u4FEE\u6539
rmip.framework.moudelConfig.file=\u7CFB\u7EDF\u6A21\u5757\u914D\u7F6E
rmip.framework.operateType.delButton.file=\u5220\u9664
rmip.framework.operateType.savesusses.message=\u6DFB\u52A0\u6210\u529F\!
rmip.framework.operateType.savefail.message=\u6DFB\u52A0\u5931\u8D25\!
rmip.framework.operateType.updatesusses.message=\u4FEE\u6539\u6210\u529F\!
rmip.framework.operateType.updatefail.message=\u4FEE\u6539\u5931\u8D25\!
rmip.framework.operateType.deletesusses.message=\u5220\u9664\u6210\u529F\!
rmip.framework.operateType.deletefail.message=\u5220\u9664\u5931\u8D25\!
rmip.framework.operateType.designationTextNotNull.message=\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\!
rmip.framework.operateType.designationTextLength.message=\u540D\u79F0\u4E0D\u80FD\u592A\u957F\!
rmip.framework.operateType.describeTextAreaLength.message=\u63CF\u8FF0\u4E0D\u80FD\u8D85\u8FC7255\u5B57\!
rmip.framework.operateType.treeNode.message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u8282\u70B9\!
rmip.framework.operateType.nameIsExist.message=\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728\!
rmip.framework.operateType.operateTypeIsExist.message=\u64CD\u4F5C\u7C7B\u578B\u6B63\u5728\u88AB\u4F7F\u7528\u4E0D\u80FD\u5220\u9664\!
rmip.framework.operateType.operateTypeIsExistNoChange.message=\u64CD\u4F5C\u7C7B\u578B\u6B63\u5728\u88AB\u4F7F\u7528\u4E0D\u80FD\u4FEE\u6539\!
rmip.framework.operateType.operateTypeIsChoice.message=\u8BF7\u9009\u62E9\u64CD\u4F5C\u7C7B\u578B\!
rmip.framework.operateType.modelIsChoice.message=\u8BF7\u9009\u62E9\u6A21\u5757\!
rmip.framework.operateType.typeIsChoice.message=\u8BF7\u9009\u62E9\u7C7B\u578B\!
rmip.framework.operateType.identifyingIsChoice.message=\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A\!
rmip.framework.operateType.identifyingIsTooLong.message=\u6807\u8BC6\u5B57\u7B26\u4E0D\u80FD\u8D85\u8FC7128\u5B57\u7B26\uFF01
rmip.framework.operateType.identifyingIsExist.message=\u6807\u8BC6\u5DF2\u7ECF\u5B58\u5728\!
rmip.framework.operateType.aliasTextNotNull.message=\u522B\u540D\u4E0D\u80FD\u4E3A\u7A7A\!
rmip.framework.operateType.aliasTextLength.message=\u522B\u540D\u7684\u5B57\u7B26\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7128\u5B57\u7B26\uFF01
rmip.framework.sysConfNode.sysConfModel=\u7CFB\u7EDF\u914D\u7F6E\u9879\u7BA1\u7406
rmip.framework.sysConfNode.sysConfClsfModel=\u914D\u7F6E\u5206\u7C7B\u7BA1\u7406
#\u5F02\u5E38\u4FE1\u606F
110100 = \u521B\u5EFA\u64CD\u4F5C\u7C7B\u578B\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110101 = \u68C0\u7D22\u64CD\u4F5C\u7C7B\u578B\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110102 = \u5220\u9664\u64CD\u4F5C\u7C7B\u578B\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110103 = \u66F4\u65B0\u64CD\u4F5C\u7C7B\u578B\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110104 = \u68C0\u7D22\u5E94\u7528\u6570\u636E\u64CD\u4F5C\u8868\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110105 = \u68C0\u7D22\u64CD\u4F5C\u7C7B\u578B\u6811\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110106 = \u68C0\u7D22\u64CD\u4F5C\u7C7B\u578B\u6811\u8282\u70B9\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110107 = \u68C0\u7D22\u529F\u80FD\u5E94\u7528\u8868\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
#\u7279\u6B8A\u6570\u636E\u5BF9\u8C61
rmip.framework.specialData.specialDataModel.file=\u7279\u6B8A\u6570\u636E\u7BA1\u7406
rmip.framework.specialData.specialDataLab.file=\u6570\u636E\u5BF9\u8C61
rmip.framework.specialData.designationLab.file=\u540D\u79F0
rmip.framework.specialData.modelLab.file=\u6A21\u5757
rmip.framework.specialData.describe.file=\u63CF\u8FF0
rmip.framework.specialData.operateTypeLab.file=\u64CD\u4F5C\u7C7B\u578B
rmip.framework.specialData.addButton.file=\u6DFB\u52A0
rmip.framework.specialData.updateButton.file=\u4FEE\u6539
rmip.framework.specialData.specialDataModel.file=\u7279\u6B8A\u6570\u636E\u7BA1\u7406
rmip.framework.specialData.specialDataLab.file=\u6570\u636E\u5BF9\u8C61
rmip.framework.specialData.designationLab.file=\u540D\u79F0
rmip.framework.specialData.modelLab.file=\u6A21\u5757
rmip.framework.specialData.describe.file=\u63CF\u8FF0
rmip.framework.specialData.operateTypeLab.file=\u64CD\u4F5C\u7C7B\u578B(*\u8BF7\u6309\u4F4FCtrl\u8FDB\u884C\u591A\u9009)
rmip.framework.specialData.addButton.file=\u6DFB\u52A0
rmip.framework.specialData.updateButton.file=\u4FEE\u6539
rmip.framework.specialData.specialDataModel.file=\u7279\u6B8A\u6570\u636E\u7BA1\u7406
rmip.framework.specialData.specialDataLab.file=\u6570\u636E\u5BF9\u8C61
rmip.framework.specialData.designationLab.file=\u540D\u79F0
rmip.framework.specialData.modelLab.file=\u6A21\u5757
rmip.framework.specialData.describe.file=\u63CF\u8FF0
rmip.framework.specialData.operateTypeLab.file=\u64CD\u4F5C\u7C7B\u578B(*\u8BF7\u6309\u4F4FCtrl\u8FDB\u884C\u591A\u9009)
rmip.framework.specialData.addButton.file=\u6DFB\u52A0
rmip.framework.specialData.updateButton.file=\u4FEE\u6539
rmip.framework.specialData.delButton.file=\u5220\u9664
rmip.framework.workFlowNode.workFlowModelfile=\u6D41\u7A0B\u914D\u7F6E\u7BA1\u7406
#\u6D41\u7A0B\u914D\u7F6E
com.vci.rmip.framework.client.rightConfig.workflow.WorkFlowConfPanel.deleteConfirmMessage = \u60A8\u786E\u5B9A\u8981\u5220\u9664\u6570\u636E\u5417\uFF1F\u5220\u9664\u540E\u7684\u6570\u636E\u4E0D\u53EF\u6062\u590D\uFF01
com.vci.rmip.framework.client.rightConfig.workflow.AssignProcessDialog.selectProcess = \u9009\u62E9\u6D41\u7A0B\u6A21\u677F
com.vci.rmip.framework.client.rightConfig.workflow.AssignProcessDialog.btnOk = \u786E\u5B9A
com.vci.rmip.framework.client.rightConfig.workflow.AssignProcessDialog.btnCancel = \u53D6\u6D88
com.vci.rmip.framework.client.rightConfig.workflow.AssignProcessDialog.treeRootNodeName = \u6D41\u7A0B\u6A21\u677F
com.vci.rmip.framework.client.rightConfig.workflow.AssignProcessDialog.plsSelectProcessDefinition = \u8BF7\u9009\u62E9\u6D41\u7A0B\u6A21\u677F\uFF01
#\u4EBA\u5458\u7EC4\u7EC7\u7BA1\u7406\u6807\u7B7E
rmip.framework.menu.staffOrgManage=\u4EBA\u5458\u7EC4\u7EC7\u7BA1\u7406
#\u5F02\u5E38\u4FE1\u606F
110200 = \u521B\u5EFA\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110201 = \u68C0\u7D22\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110202 = \u5220\u9664\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110203 = \u66F4\u65B0\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110204 = \u68C0\u7D22\u5E94\u7528\u6570\u636E\u64CD\u4F5C\u8868\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110205 = \u68C0\u7D22\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u6811\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110206 = \u68C0\u7D22\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u6811\u8282\u70B9\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110207 = \u68C0\u7D22\u529F\u80FD\u5E94\u7528\u8868\u4FE1\u606F\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110208 = \u68C0\u7D22\u64CD\u4F5C\u7C7B\u578B\u5217\u8868\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110209 = \u4FDD\u5B58\u5E94\u7528\u6570\u636E\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110211 = \u66F4\u65B0\u5E94\u7528\u6570\u636E\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110212 = \u5220\u9664\u5E94\u7528\u6570\u636E\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
rmip.stafforg.menu.staffOrg=\u4EBA\u5458\u7EC4\u7EC7
rmip.stafforg.menu.department=\u90E8\u95E8
rmip.stafforg.menu.group=\u7EC4
rmip.stafforg.menu.role=\u89D2\u8272
rmip.stafforg.menu.staff=\u6210\u5458
rmip.stafforg.menu.name1=\u3010\u603B\u6570\uFF1A
rmip.stafforg.menu.name2=\u3011
rmip.stafforg.logal.name=\u540D\u79F0\uFF1A
rmip.stafforg.logal.num=\u7F16\u53F7\uFF1A
rmip.stafforg.logal.desc=\u63CF\u8FF0\uFF1A
rmip.stafforg.logal.username=\u8D26\u53F7\uFF1A
rmip.stafforg.logal.password=\u5BC6\u7801\uFF1A
rmip.stafforg.logal.confpassword=\u786E\u8BA4\u5BC6\u7801\uFF1A
rmip.stafforg.logal.department=\u90E8\u95E8\uFF1A
rmip.stafforg.logal.firstname=\u59D3\u540D\uFF1A
rmip.stafforg.logal.lastname=\u540D\u5B57\uFF1A
rmip.stafforg.logal.empno=\u7F16\u53F7\uFF1A
rmip.stafforg.logal.duty=\u804C\u52A1\uFF1A
rmip.stafforg.logal.email=\u7535\u5B50\u90AE\u4EF6\uFF1A
rmip.stafforg.logal.businessTel=\u5546\u52A1\u7535\u8BDD\uFF1A
rmip.stafforg.logal.homephone=\u5BB6\u5EAD\u7535\u8BDD\uFF1A
rmip.stafforg.logal.mobelphone=\u79FB\u52A8\u7535\u8BDD\uFF1A
rmip.stafforg.logal.businessfax=\u5546\u52A1\u4F20\u771F\uFF1A
rmip.stafforg.logal.rolelist=\u73B0\u6709\u89D2\u8272:
rmip.stafforg.logal.choosedrolelist=\u62E5\u6709\u89D2\u8272:
rmip.stafforg.logal.grouplist=\u73B0\u6709\u7EC4:
rmip.stafforg.logal.choosedgrouplist=\u6240\u5C5E\u7EC4:
rmip.stafforg.logal.roling=\u5206\u914D\u89D2\u8272
rmip.stafforg.logal.grouping=\u5206\u914D\u7EC4\u7EC7
rmip.stafforg.operate.add=\u589E\u52A0
rmip.stafforg.operate.modify=\u4FEE\u6539
rmip.stafforg.operate.delete=\u5220\u9664
rmip.stafforg.operate.syn=\u540C\u6B65
rmip.stafforg.operate.grouping=\u5206\u914D\u7EC4\u7EC7
rmip.stafforg.operate.roling=\u5206\u914D\u89D2\u8272
rmip.stafforg.operate.conform=\u786E\u5B9A
rmip.stafforg.operate.cancel=\u53D6\u6D88
rmip.stafforg.operate.toselectgroup=\u8BF7\u9009\u62E9\u8981\u589E\u52A0\u7684\u7EC4\uFF01
rmip.stafforg.operate.toreselectgroup=\u8981\u589E\u52A0\u7684\u7EC4\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.stafforg.operate.toremovegroup=\u8BF7\u9009\u62E9\u8981\u79FB\u9664\u7684\u7EC4\uFF01
rmip.stafforg.operate.toselectrole=\u8BF7\u9009\u62E9\u8981\u589E\u52A0\u7684\u89D2\u8272\uFF01
rmip.stafforg.operate.toreselectrole=\u8981\u589E\u52A0\u7684\u89D2\u8272\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.stafforg.operate.toremoverole=\u8BF7\u9009\u62E9\u8981\u79FB\u9664\u7684\u89D2\u8272\uFF01
rmip.stafforg.operate.toadddeptname=\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\uFF01
rmip.stafforg.operate.nameerror=\u540D\u79F0\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E128\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.descerror=\u63CF\u8FF0\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E255\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.deptnameerror=\u90E8\u95E8\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.numtoolong=\u7F16\u53F7\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E64\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199!
rmip.stafforg.operate.rolenameerror=\u89D2\u8272\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.groupnameerror=\u7EC4\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.updateok=\u4FEE\u6539\u6210\u529F\uFF01
rmip.stafforg.operate.toselectdel=\u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u8282\u70B9\uFF01
rmip.stafforg.operate.syndeptselect=\u8BF7\u9009\u4E2D\u8981\u540C\u6B65\u7684\u90E8\u95E8\uFF01
rmip.stafforg.operate.syndept.selectone=\u53EA\u80FD\u9009\u62E9\u4E00\u4E2A\u90E8\u95E8\u8282\u70B9\u8FDB\u884C\u540C\u6B65\uFF01
rmip.stafforg.operate.syndept.success=\u90E8\u95E8\u540C\u6B65\u6210\u529F\uFF01
rmip.stafforg.operate.toreselectdeldept=\u9009\u62E9\u5220\u9664\u7684\u8282\u70B9\u5305\u62EC\u975E\u90E8\u95E8\u8282\u70B9\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.stafforg.operate.toshowdeldepterror1=\u9009\u62E9\u5220\u9664\u7684\u90E8\u95E8\u8282\u70B9\u4E2D
rmip.stafforg.operate.toshowdeleteerror=\u88AB\u7528\u6237
rmip.stafforg.operate.toshowdeleteerror1=\u5F15\u7528\uFF0C\u8BF7\u89E3\u9664\u5173\u7CFB\u540E\u518D\u8FDB\u884C\u5220\u9664\u64CD\u4F5C\uFF01
rmip.stafforg.operate.conformdeldept=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u90E8\u95E8\u5417\uFF1F
rmip.stafforg.operate.toreselectdelgroup=\u9009\u62E9\u5220\u9664\u7684\u8282\u70B9\u5305\u62EC\u975E\u7EC4\u8282\u70B9\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.stafforg.operate.conformdelgroup=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u7EC4\u8282\u70B9\u5417\uFF1F
rmip.stafforg.operate.toshowdelgrouperror1=\u9009\u62E9\u5220\u9664\u7684\u7EC4\u8282\u70B9\u4E2D
rmip.stafforg.operate.toreselectdelrole=\u9009\u62E9\u5220\u9664\u7684\u8282\u70B9\u4E2D\u5305\u62EC\u975E\u89D2\u8272\u51E0\u70B9\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.stafforg.operate.conformdelrole=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u89D2\u8272\u5417\uFF1F
rmip.stafforg.operate.toshowdelroleerror1=\u9009\u62E9\u5220\u9664\u7684\u89D2\u8272\u8282\u70B9\u4E2D
rmip.stafforg.operate.toshowdelusererror=\u9009\u62E9\u5220\u9664\u7684\u8282\u70B9\u5305\u62EC\u975E\u7528\u6237\u8282\u70B9\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\uFF01
rmip.stafforg.operate.conformdeluser=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u6210\u5458\u5417\uFF1F
rmip.stafforg.operate.usernameerror1=\u7528\u6237\u540D\uFF1Aadmin\u662F\u4FDD\u7559\u7528\u6237\uFF0C\u8BF7\u6539\u6210\u5176\u5B83\u540D\u79F0\uFF01
rmip.stafforg.operate.usernameerror2=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\uFF01
rmip.stafforg.operate.usernameerror3=\u7528\u6237\u540D\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.usernameerror4=\u7528\u6237\u540D\u53EA\u80FD\u4E3A\u6570\u5B57\u5B57\u6BCD\u6216\u8005\u4E0B\u5212\u7EBF\uFF01
rmip.stafforg.operate.usernameerror5=\u7528\u6237\u540D\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.pwderror1=\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\uFF01
rmip.stafforg.operate.conformpwderror=\u786E\u8BA4\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\uFF01
rmip.stafforg.operate.pwderror2=\u5BC6\u7801\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.pwderror3=\u5BC6\u7801\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.pwderror4=\u5BC6\u7801\u53EA\u80FD\u4E3A\u6570\u5B57\u5B57\u6BCD\u6216\u8005\u4E0B\u5212\u7EBF\uFF01
rmip.stafforg.operate.firstnameerror=\u59D3\u6C0F\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC764\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.firstnameerror1=\u6210\u5458\u7684\u59D3\u6C0F\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u8F93\u5165\uFF01
rmip.stafforg.operate.lastnameerror=\u540D\u5B57\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC764\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.lastnameerror1=\u6210\u5458\u7684\u540D\u5B57\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u8F93\u5165\uFF01
rmip.stafforg.operate.dutyerror=\u804C\u52A1\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.emailerror=\u7535\u5B50\u90AE\u4EF6\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199
rmip.stafforg.operate.emailerror1=\u7535\u5B50\u90AE\u4EF6\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.telerror=\u6240\u6709\u7535\u8BDD\u957F\u5EA6\u90FD\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC764\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u68C0\u67E5\u5E76\u4FEE\u6539\uFF01
rmip.stafforg.operate.businessfaxerror=\u5546\u52A1\u4F20\u771F\u957F\u5EA6\u90FD\u4E0D\u80FD\u5927\u4E8E\u8D85\u8FC764\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.businessfaxerror1=\u5546\u52A1\u4F20\u771F\u53EA\u80FD\u4E3A\u6570\u5B57\u4E0E'-'\u7684\u7EC4\u5408\uFF01
rmip.stafforg.operate.homephoneerror=\u5BB6\u5EAD\u7535\u8BDD\u53EA\u80FD\u4E3A\u6570\u5B57\u4E0E'-'\u7684\u7EC4\u5408\uFF01
rmip.stafforg.operate.businesstelerror=\u5546\u52A1\u7535\u8BDD\u53EA\u80FD\u4E3A\u6570\u5B57\u4E0E'-'\u7684\u7EC4\u5408\uFF01
rmip.stafforg.operate.mobelerror=\u79FB\u52A8\u7535\u8BDD\u53EA\u80FD\u4E3A\u6570\u5B57\u4E0E'-'\u7684\u7EC4\u5408\uFF01
rmip.stafforg.operate.loginerror=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF\uFF01\n\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
rmip.stafforg.operate.descerror=\u63CF\u8FF0\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E255\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.empnonull=\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199\uFF01
rmip.stafforg.operate.empnotoolong=\u7F16\u53F7\u957F\u5EA6\u4E0D\u80FD\u5927\u4E8E128\u4E2A\u5B57\u7B26\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.empnorepeat=\u7F16\u53F7\u91CD\u590D\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.stafforg.operate.deptIdnull=\u90E8\u95E8\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u82E5\u7CFB\u7EDF\u4E2D\u6CA1\u6709\u90E8\u95E8\uFF0C\u8BF7\u5148\u521B\u5EFA\u90E8\u95E8\uFF01
rmip.stafforg.operate.numcannotchange=\u8BE5\u90E8\u95E8\u5DF2\u7ECF\u88AB\u540C\u6B65\uFF0C\u4E0D\u80FD\u5BF9\u5176\u7F16\u53F7\u8FDB\u884C\u4FEE\u6539\uFF01
rmip.stafforg.operate.usercreateok=\u7528\u6237\u6210\u529F\u6DFB\u52A0\u5230\u7CFB\u7EDF\uFF01
rmip.stafforg.operate.useredit1=\u8BF7\u94A9\u9009\u8981\u8FDB\u884C\u4FEE\u6539\u7684\u6210\u5458!
rmip.stafforg.operate.useredit2=\u4E00\u6B21\u53EA\u80FD\u5BF9\u4E00\u4E2A\u6210\u5458\u8FDB\u884C\u4FEE\u6539\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9!
rmip.stafforg.operate.userdelete1=\u8BF7\u94A9\u9009\u8981\u5220\u9664\u7684\u6210\u5458!
rmip.stafforg.operate.userdelete2=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6240\u9009\u62E9\u7684\u6210\u5458\u5417?
rmip.stafforg.operate.deptedit1=\u8BF7\u94A9\u9009\u8981\u8FDB\u884C\u4FEE\u6539\u7684\u5BF9\u8C61!
rmip.stafforg.operate.deptedit2=\u4E00\u6B21\u53EA\u80FD\u5BF9\u4E00\u4E2A\u5BF9\u8C61\u8FDB\u884C\u4FEE\u6539\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9!
rmip.stafforg.operate.deptdelete1=\u8BF7\u94A9\u9009\u8981\u5220\u9664\u7684\u5BF9\u8C61!
rmip.stafforg.operate.deptdelete2=\u60A8\u786E\u5B9A\u8981\u5220\u9664\u6240\u9009\u62E9\u7684\u5BF9\u8C61\u5417?
rmip.stafforg.operate.pwdgroupdelete=\u786E\u5B9A\u8981\u5220\u9664\u6240\u9009\u62E9\u7684\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u5417?
rmip.stafforg.operate.deptselect=\u60A8\u8981\u5220\u9664\u7684\u6D41\u7A0B\u6A21\u677F\u5DF2\u7ECF\u88AB\u5F15\u7528\uFF0C\u8BF7\u5148\u89E3\u9664\u5173\u7CFB\uFF0C\u5728\u8FDB\u884C\u5220\u9664\u64CD\u4F5C\uFF01
## Tab\u9875   \u4EBA\u5458\u7EC4\u7EC7\u5F02\u5E38\u4FE1\u606F
120101=\u83B7\u53D6\u6240\u6709\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120102=\u6839\u636E\u7528\u6237\u7C7B\u578B\u83B7\u53D6\u6240\u6709\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120103=\u6839\u636E\u7528\u6237\u7C7B\u578B\u83B7\u53D6\u9876\u7EA7\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120104=\u83B7\u53D6\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120105=\u83B7\u53D6\u9876\u7EA7\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120106=\u83B7\u53D6\u90E8\u95E8\u4E0B\u7684\u5B50\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120107=\u83B7\u53D6\u90E8\u95E8\u53CA\u5176\u5B50\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120108=\u5220\u9664\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120109=\u589E\u52A0\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120110=\u4FEE\u6539\u90E8\u95E8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120111=\u4FEE\u6539\u4EBA\u5458\u4E0E\u90E8\u95E8\u5173\u7CFB\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u4E0E\u7BA1\u7406\u5458\u8054\u7CFB!
120201=\u83B7\u53D6\u516C\u53F8\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120202=\u83B7\u53D6\u9876\u7EA7\u7EC4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120203=\u6839\u636E\u7528\u6237\u7C7B\u578B\u83B7\u53D6\u9876\u7EA7\u7EC4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120204=\u6839\u636E\u7528\u6237\u7C7B\u578B\u83B7\u53D6\u7EC4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120205=\u83B7\u53D6\u7EC4\u4E0B\u7684\u5B50\u7EC4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120206=\u83B7\u53D6\u7EC4\u53CA\u5176\u5B50\u7EC4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120207=\u5220\u9664\u516C\u53F8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120208=\u589E\u52A0\u516C\u53F8\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120209=\u4FEE\u6539\u7EC4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120301=\u83B7\u53D6\u6240\u6709\u89D2\u8272\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120302=\u6839\u636E\u7528\u6237\u7C7B\u578B\u83B7\u53D6\u89D2\u8272\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120303=\u5220\u9664\u89D2\u8272\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120304=\u589E\u52A0\u89D2\u8272\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120305=\u4FEE\u6539\u89D2\u8272\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120306=\u4FDD\u5B58\u4EBA\u5458\u4E0E\u89D2\u8272\u7684\u5173\u7CFB\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB!
120307=\u9A8C\u8BC1\u89D2\u8272\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u4E0E\u7BA1\u7406\u5458\u8054\u7CFB!
120308=\u6839\u636E\u7528\u6237\u540D\u83B7\u53D6\u5173\u8054\u89D2\u8272\u603B\u6570\u65F6\u53D1\u751F\u9519\u8BEF\uFF0C\u8BF7\u4E0E\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120401=\u83B7\u53D6\u4EBA\u5458\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120402=\u6839\u636E\u7528\u6237\u7C7B\u578B\u83B7\u53D6\u6240\u6709\u6210\u5458\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120403=\u5220\u9664\u4EBA\u5458\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120404=\u589E\u52A0\u4EBA\u5458\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120405=\u4FEE\u6539\u4EBA\u5458\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120406=\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120407=\u767B\u5F55\u65F6\u83B7\u53D6\u7528\u6237\u767B\u5F55\u4FE1\u606F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120408=\u90E8\u95E8\u540C\u6B65\u65F6\u51FA\u9519\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120409=\u66F4\u65B0\u90E8\u95E8\u540C\u6B65\u72B6\u6001\u65F6\u51FA\u9519\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120410=\u90E8\u95E8\u5DF2\u7ECF\u540C\u6B65\u5B8C\u6210\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u8981\u540C\u6B65\u7684\u90E8\u95E8\uFF01
120411=\u6839\u636E\u90E8\u95E8\u83B7\u53D6\u5BF9\u5E94\u7684\u4EBA\u5458\u4FE1\u606F\u65F6\u51FA\u9519\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120412=\u5728\u8FDB\u884C\u505C\u7528/\u542F\u7528\u64CD\u4F5C\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u67E5\u770B!
120413=\u6839\u636E\u6761\u4EF6\u83B7\u53D6\u4EBA\u5458\u603B\u6570\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
120501=\u83B7\u53D6\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120502=\u6DFB\u52A0\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120503=\u66F4\u65B0\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120504=\u5220\u9664\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120505=\u83B7\u53D6\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u53D6\u503C\u8303\u56F4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120506=\u6DFB\u52A0\u5BC6\u7801\u7EC4\u5408\u65B9\u5F0F\u53D6\u503C\u8303\u56F4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120507=\u6DFB\u52A0\u7684\u53D6\u503C\u8303\u56F4\u503C\u5728\u8BE5\u7EC4\u5408\u65B9\u5F0F\u4E0B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u6DFB\u52A0\u5931\u8D25\uFF01
120508=\u66F4\u65B0\u5BC6\u7801\u7EC4\u5408\u53D6\u503C\u8303\u56F4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120509=\u5220\u9664\u5BC6\u7801\u7EC4\u5408\u53D6\u503C\u8303\u56F4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u4E0E\u7CFB\u7EDF\u7BA1\u7406\u5458\u8054\u7CFB\uFF01
120510=\u66F4\u65B0\u7279\u6B8A\u5B57\u7B26\u7684\u53D6\u503C\u5728\u8BE5\u5206\u7C7B\u4E0B\u5DF2\u7ECF\u5B58\u5728\uFF0C\u6DFB\u52A0\u5931\u8D25\uFF01
#################################################
####\u65E5\u5FD7\u7BA1\u7406
#################################################
rmip.framework.log.adminLog=\u7BA1\u7406\u5458\u65E5\u5FD7
rmip.framework.log.userLog=\u666E\u901A\u7528\u6237\u65E5\u5FD7
rmip.framework.log.startDate=\u67E5\u8BE2\u65E5\u671F\uFF1A\u7531
rmip.framework.log.to=\u5230
rmip.framework.log.operateType=\u64CD\u4F5C\u7C7B\u578B
rmip.framework.log.create=\u521B\u5EFA
rmip.framework.log.update=\u4FEE\u6539
rmip.framework.log.delete=\u5220\u9664
rmip.framework.log.operateUser=\u64CD\u4F5C\u7528\u6237\uFF1A
rmip.framework.log.savePeriod=\u4FDD\u5B58\u671F\u9650\uFF1A
rmip.framework.log.backupPeriod=\u5907\u4EFD\u671F\u9650\uFF1A
rmip.framework.log.save=\u4FDD\u5B58
rmip.framework.log.selectDate=\u8BF7\u9009\u62E9\u65E5\u671F\uFF1A
rmip.framework.log.firstPage=\u9996\u9875
rmip.framework.log.prePage=\u4E0A\u4E00\u9875
rmip.framework.log.nextPage=\u4E0B\u4E00\u9875
rmip.framework.log.lastPage=\u5C3E\u9875
rmip.framework.log.query=\u67E5\u8BE2
rmip.framework.log.export=\u5BFC\u51FA
rmip.framework.log.logDelete=\u65E5\u5FD7\u5220\u9664
rmip.framework.log.logBackup=\u65E5\u5FD7\u5907\u4EFD
rmip.framework.log.date=\u65F6\u95F4
rmip.framework.log.user=\u7528\u6237
rmip.framework.log.userIp=\u7528\u6237IP
rmip.framework.log.operateObj=\u64CD\u4F5C\u5BF9\u8C61
rmip.framework.log.operateModule=\u64CD\u4F5C\u6A21\u5757
rmip.framework.log.objID=\u5BF9\u8C61ID
rmip.framework.log.objDesc=\u63CF\u8FF0
rmip.framework.log.objAttr=\u5BF9\u8C61\u5C5E\u6027
rmip.framework.log.previousValue=\u64CD\u4F5C\u524D\u7684\u503C
rmip.framework.log.newValue=\u64CD\u4F5C\u540E\u7684\u503C
rmip.framework.log.pageSizeAlert=\u83B7\u53D6\u9875\u9762\u663E\u793A\u6761\u6570\u914D\u7F6E\u51FA\u9519\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u6587\u4EF6\uFF0C\u6B64\u5904\u9ED8\u8BA4\u66F4\u6539\u9875\u9762\u663E\u793A\u6761\u6570\u4E3A10\uFF01
rmip.framework.log.pageInfo1=\u603B\u5171\u6709
rmip.framework.log.pageInfo2=\u6761\u8BB0\u5F55,\u5171
rmip.framework.log.pageInfo3=\u9875,\u5F53\u524D\u4E3A\u7B2C
rmip.framework.log.pageInfo4=\u9875
rmip.framework.log.savePeriodAlert=\u4FDD\u5B58\u671F\u9650\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u9009\u62E9\uFF01
rmip.framework.log.saveSuccess=\u4FDD\u5B58\u6210\u529F
rmip.framework.log.exportSuccess=\u5BFC\u51FA\u6210\u529F
rmip.framework.log.deleteDateAlert=\u8BF7\u9009\u62E9\u5220\u9664\u65E5\u671F\uFF01
rmip.framework.log.deleteLogConfirm=\u5C06\u5220\u9664\u6240\u9009\u65E5\u671F\u4E4B\u524D\u7684\u65E5\u5FD7\uFF0C\u786E\u8BA4\u6267\u884C\u5220\u9664\uFF1F
rmip.framework.log.deleteSuccess=\u5220\u9664\u6210\u529F
rmip.framework.log.backupPeriodAlert=\u5907\u4EFD\u671F\u9650\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u9009\u62E9\uFF01
rmip.framework.log.exportPath=\u5BFC\u51FA\u4F4D\u7F6E
rmip.framework.log.exportFile=\u5BFC\u51FA\u6587\u4EF6
rmip.framework.log.exportFile.fail=\u6CA1\u6709\u8981\u5230\u51FA\u7684\u6570\u636E\uFF01
140101=\u83B7\u53D6\u65E5\u5FD7\u5220\u9664\u914D\u7F6E\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140102=\u83B7\u53D6\u65E5\u5FD7\u914D\u7F6E\u671F\u9650\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140103=\u83B7\u53D6\u65E5\u5FD7\u9875\u9762\u663E\u793A\u6761\u6570\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140104=\u83B7\u53D6\u672C\u6B21\u67E5\u8BE2\u65E5\u5FD7\u603B\u6570\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140105=\u67E5\u8BE2\u65E5\u5FD7\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140106=\u4FDD\u5B58\u671F\u9650\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140107=\u83B7\u53D6\u671F\u9650\u6570\u503C\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
140108=\u5220\u9664\u65E5\u5FD7\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\uFF01
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.logDelete=\u65E5\u5FD7\u5220\u9664\uFF1A
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.autoDelete=\u81EA\u52A8\u5220\u9664
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.manualDelete=\u624B\u52A8\u5220\u9664
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.savePeriod=\u4FDD\u5B58\u671F\u9650\uFF1A
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.saveBtn=\u4FDD\u5B58
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.logBasicConf=\u65E5\u5FD7\u57FA\u7840\u914D\u7F6E
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.deleteDateAlert=\u8BF7\u9009\u62E9\u5220\u9664\u65E5\u671F\uFF01
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.deleteLogConfirm=\u5C06\u5220\u9664\u6240\u9009\u65E5\u671F\u4E4B\u524D\u7684\u65E5\u5FD7\uFF0C\u786E\u8BA4\u6267\u884C\u5220\u9664\uFF1F
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.deleteSuccess=\u5220\u9664\u6210\u529F
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.savePeriodAlert=\u4FDD\u5B58\u671F\u9650\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u9009\u62E9\uFF01
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.saveSuccess=\u4FDD\u5B58\u6210\u529F
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.selectDate=\u8BF7\u9009\u62E9\u65E5\u671F\uFF1A
com.vci.rmip.framework.client.systemConfig.log.LogBasicConfPanel.delete=\u5220\u9664
##########################################################################
#############################################
##  \u6A21\u5757\u6743\u9650\u5206\u914D
##
##
#############################################
rmip.framework.rightdistribution.title.name = \u6743\u9650\u5206\u914D
rmip.framework.rightdistribution.file = \u6743\u9650\u5206\u914D\u7BA1\u7406
#\u6570\u636E\u6388\u6743
rmip.framework.rightdistribution.datadistribute.name = \u6570\u636E\u6388\u6743
rmip.framework.rightdistribution.datadistribute.title.name = \u540D\u79F0\uFF1A
rmip.framework.rightdistribution.datadistribute.title.desc = \u63CF\u8FF0\uFF1A
rmip.framework.rightdistribution.datadistribute.title.policyname = \u7B56\u7565\u57FA\u672C\u4FE1\u606F
rmip.framework.rightdistribution.datadistribute.btnSubmit.name = \u63D0\u4EA4
rmip.framework.rightdistribution.datadistribute.btnDeletePolicy.name = \u5220\u9664\u7B56\u7565\u5BF9\u8C61
rmip.framework.rightdistribution.datadistribute.policyconf.name = \u7B56\u7565\u6743\u9650\u914D\u7F6E
rmip.framework.rightdistribution.datadistribute.create.name = \u521B\u5EFA\u8005
rmip.framework.rightdistribution.datadistribute.role.name = \u540C\u89D2\u8272\u7528\u6237
rmip.framework.rightdistribution.datadistribute.normal.name = \u666E\u901A\u7528\u6237
rmip.framework.rightdistribution.datadistribute.admin.name = \u7BA1\u7406\u5458
rmip.framework.rightdistribution.datadistribute.table.checkbox = \u9009\u62E9
rmip.framework.rightdistribution.datadistribute.table.name = \u89D2\u8272
rmip.framework.rightdistribution.datadistribute.input.check.name.null = \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF01
rmip.framework.rightdistribution.datadistribute.input.check.name.length = \u540D\u79F0\u957F\u5EA6\u592A\u957F\uFF01
rmip.framework.rightdistribution.datadistribute.input.check.desc.length = \u63CF\u8FF0\u957F\u5EA6\u592A\u957F\uFF01
rmip.framework.rightdistribution.savepolicy.success = \u64CD\u4F5C\u6210\u529F!
rmip.framework.rightdistribution.savepolicy.error = \u64CD\u4F5C\u7684\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u9519\u8BEF!
rmip.framework.rightdistribution.datadistribute.delete.policydata = \u8BF7\u5148\u9009\u62E9\u8981\u5220\u9664\u7684\u6570\u636E!
rmip.framework.rightdistribution.datadistribute.delete.query = \u60A8\u786E\u5B9A\u8981\u5220\u9664\u6240\u9009\u62E9\u7684\u6570\u636E\u5417?(\u6CE8\u610F:\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D,\u786E\u5B9A\u8981\u5220\u9664?)
rmip.framework.rightdistribution.data = \u6CA1\u6709\u6570\u636E\u9879,\u4E0D\u80FD\u63D0\u4EA4!
rmip.framework.rightdistribution.delete.selectnode = \u8BF7\u9009\u4E2D\u8282\u70B9\u5220\u9664\uFF01
rmip.framework.rightdistribution.delete.fail = \u5220\u9664\u6570\u636E\u7B56\u7565\u5931\u8D25\uFF01
rmip.framework.rightdistribution.datadistribute.name = \u6570\u636E\u6388\u6743
rmip.framework.rightdistribution.strategyconf.isnull = \u6570\u636E\u7B56\u7565\u914D\u7F6E\u4E3A\u7A7A\uFF0C\u4E0D\u5141\u8BB8\u63D0\u4EA4\uFF01
rmip.framework.rightdistribution.datastrategy.name = \u7B56\u7565\u540D\u79F0\u91CD\u590D\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
#\u5F02\u5E38\u4FE1\u606F
130000 = \u7B56\u7565\u914D\u7F6E\u5931\u8D25\uFF01
130001 = \u83B7\u53D6\u7B56\u7565\u6570\u636E\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\uFF01
130002 = \u83B7\u53D6\u6570\u636E\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\uFF01
130003 = \u5220\u9664\u6570\u636E\u7B56\u7565\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5\uFF01
130004 = \u540C\u4E00\u4E2A\u89D2\u8272\u7528\u6237\uFF0C\u4E0D\u80FD\u6388\u6743\u591A\u6B21\uFF01
#\u6A21\u5757\u6743\u9650\u914D\u7F6E
rmip.framework.rightdistribution.moduleRight.name = \u89D2\u8272\u529F\u80FD\u6A21\u5757\u6743\u9650\u914D\u7F6E
rmip.framework.rightdistribution.moduleRight.moduleTree = \u529F\u80FD\u6A21\u5757
rmip.framework.rightdistribution.moduleRight.RoleList = \u89D2\u8272
rmip.framework.rightdistribution.moduleRight.addButton.file=\u6388\u6743
rmip.framework.rightdistribution.moduleRight.updateButton.file=\u4FEE\u6539
rmip.framework.rightdistribution.moduleRight.delButton.file=\u91CD\u7F6E
rmip.framework.rightdistribution.moduleRight.roleListNotNull.message=\u8BF7\u9009\u62E9\u4E00\u4E2A\u89D2\u8272\uFF01
rmip.framework.rightdistribution.moduleRight.changes.message=\u60A8\u8FD8\u6CA1\u6709\u4FDD\u5B58\uFF0C\u786E\u5B9A\u653E\u5F03\u5F53\u524D\u64CD\u4F5C\u5417\uFF1F
#\u5F02\u5E38\u4FE1\u606F
130100 = \u4FDD\u5B58\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
130101 = \u68C0\u7D22\u7279\u6B8A\u6570\u636E\u5BF9\u8C61\u4FE1\u606F\u5931\u8D25\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
rmip.framework.rightdistribution.moduleRight.name = \u6A21\u5757\u6743\u9650\u914D\u7F6E
rmip.framework.rightdistribution.moduleRight.RoleList = \u89D2\u8272
rmip.framework.rightdistribution.datadistribute.name = \u6570\u636E\u6388\u6743
#\u6A21\u5757\u6743\u9650\u914D\u7F6E
rmip.framework.rightdistribution.moduleRight.name = \u6A21\u5757\u6743\u9650\u914D\u7F6E
rmip.framework.rightdistribution.moduleRight.RoleList = \u89D2\u8272
#\u7279\u6B8A\u6570\u636E\u6388\u6743 \u9875\u9762\u663E\u793A\u4FE1\u606F
rmip.framework.rightdistribution.specialdatadistribute.name=\u7279\u6B8A\u6570\u636E\u6388\u6743
rmip.framework.rightdistribution.specialdatadistribute.add=\u52A0\u4E00\u884C
rmip.framework.rightdistribution.specialdatadistribute.submit=\u63D0\u4EA4
rmip.framework.rightdistribution.specialdatadistribute.delete=\u51CF\u4E00\u884C
rmip.framework.rightdistribution.specialdatadistribute.ok=\u64CD\u4F5C\u6210\u529F\uFF01
rmip.framework.rightdistribution.specialdatadistribute.remove=\u8BF7\u9009\u62E9\u8981\u79FB\u9664\u7684\u9879\uFF01
rmip.framework.rightdistribution.specialdatadistribute.conformremove=\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\u5417?\n\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D,\u786E\u5B9A?
rmip.framework.rightdistribution.specialdatadistribute.redeploy=\u8981\u63D0\u4EA4\u7684\u6570\u636E\u4E2D\u5B58\u5728\u91CD\u590D\u7684\u914D\u7F6E\uFF0C\n\u8BF7\u8BF7\u68C0\u67E5\u540E\u91CD\u65B0\u914D\u7F6E\uFF01
rmip.framework.rightdistribution.specialdatadistribute.deployedwrong=\u6B64\u6A21\u5757\u914D\u7F6E\u6709\u8BEF\uFF01
rmip.framework.rightdistribution.specialdatadistribute.norule=\u7CFB\u7EDF\u4E2D\u6CA1\u6709\u5BF9\u5E94\u7684\u89C4\u5219\uFF0C\u8BF7\u627E\u7BA1\u7406\u5458\u914D\u7F6E\uFF01
rmip.framework.rightdistribution.specialdatadistribute.norole=\u7CFB\u7EDF\u4E2D\u6CA1\u6709\u8981\u8FDB\u884C\u6743\u9650\u5206\u914D\u7684\u89D2\u8272\uFF0C\u8BF7\u5148\u521B\u5EFA\u89D2\u8272\u3002
#\u7279\u6B8A\u6570\u636E\u6388\u6743 \u5F02\u5E38\u4FE1\u606F
110501=\u5206\u914D\u7279\u6B8A\u6570\u636E\u6743\u9650\u65F6\u51FA\u73B0\u5F02\u5E38\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110502=\u83B7\u53D6\u7279\u6B8A\u6570\u636E\u914D\u6743\u9650\u65F6\u51FA\u73B0\u5F02\u5E38\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110503=\u5220\u9664\u7279\u6B8A\u6570\u636E\u6743\u9650\u65F6\u51FA\u73B0\u5F02\u5E38\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
110504=\u4ECEconfig.priperties\u6587\u4EF6\u4E2D\u83B7\u53D6\u914D\u7F6E\u4FE1\u606F\u9519\u8BEF\uFF0C/n\u8BF7\u68C0\u67E5\u662F\u5426\u6709\u76F8\u5173\u914D\u7F6E\uFF01
#\u4FEE\u6539\u5BC6\u7801 \u5F39\u51FA\u9519\u8BEF\u63D0\u793A\u4FE1\u606F
rmip.framework.logon.changepwd.notnull=\u586B\u5199\u6846\u4E0D\u80FD\u6709\u7A7A\u503C\uFF0C\u8BF7\u8F93\u5165\uFF01
rmip.framework.logon.changepwd.notsame=\u60A8\u8F93\u5165\u7684\u5BC6\u7801\u4E0E\u767B\u5F55\u5BC6\u7801\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
rmip.framework.logon.changepwd.notsame1=\u786E\u8BA4\u5BC6\u7801\u4E0E\u4FEE\u6539\u5BC6\u7801\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
rmip.framework.logon.changepwd.error=\u5BC6\u7801\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
rmip.framework.logon.changepwd.nochange=\u5BC6\u7801\u524D\u540E\u6CA1\u6709\u6539\u53D8\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165\uFF01
rmip.framework.logon.changepwd.fail=\u64CD\u4F5C\u5931\u8D25\uFF01
rmip.framework.logon.changepwd.success=\u5BC6\u7801\u4FEE\u6539\u6210\u529F!
rmip.framework.logon.password.lengthIsTen = \u5BC6\u7801\u957F\u5EA6\u4E0D\u80FD\u5C0F\u4E8E10\uFF01
rmip.framework.logon.password.levelIsLow = \u5BC6\u7801\u5B89\u5168\u7EA7\u522B\u592A\u4F4E\uFF01
#\u89C4\u5219\u7BA1\u7406
rmip.framework.ruleManager.title=\u89C4\u5219\u7BA1\u7406
rmip.framework.ruleManager.name=\u540D\u79F0
rmip.framework.ruleManager.desc=\u63CF\u8FF0
rmip.framework.ruleManager.pipelining=\u6D41\u6C34\u65B9\u5F0F
rmip.framework.ruleManager.documentDescription=\u8BF4\u660E\u6587\u6863
rmip.framework.ruleManager.browsing.button=\u6D4F\u89C8
rmip.framework.ruleManager.upload.button=\u4E0A\u4F20
rmip.framework.ruleManager.add.button=\u589E\u52A0
rmip.framework.ruleManager.update.button=\u4FEE\u6539
rmip.framework.ruleManager.del.button=\u5220\u9664
rmip.framework.ruleManager.ruleInfo=\u89C4\u5219\u5217\u8868
rmip.framework.ruleManager.codeRule=\u4EE3\u7801\u89C4\u5219\u7801\u6BB5
rmip.framework.ruleManager.nameAlert=\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.framework.ruleManager.nameisexist=\u540D\u79F0\u5DF2\u7ECF\u5B58\u5728\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199\uFF01
rmip.framework.ruleManager.flowtypeAlert=\u6D41\u6C34\u65B9\u5F0F\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u9009\u62E9\uFF01
rmip.framework.codesection.title=\u89C4\u5219\u7801\u6BB5
rmip.framework.codesection.addButton=\u6DFB\u52A0
rmip.framework.codesection.cancelButton=\u53D6\u6D88
rmip.framework.codesection.nameLengthAlert = \u540D\u79F0\u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7128\u4E2A\u5B57\u7B26\uFF01
rmip.framework.codesection.descLengthAlert = \u63CF\u8FF0\u7684\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC7255\u4E2A\u5B57\u7B26\uFF01
rmip.framework.codesection.selectRootNode = \u8BF7\u5148\u9009\u62E9\u6839\u8282\u70B9!
rmip.framework.ruleManager.modifySuccess = \u4FEE\u6539\u6210\u529F!
rmip.framework.ruleManager.selectDeleteNode = \u8BF7\u9009\u62E9\u8981\u5220\u9664\u7684\u8282\u70B9\uFF01
rmip.framework.ruleManager.selectRuleNode = \u8BF7\u9009\u62E9\u8981\u6E05\u9664\u7684\u89C4\u5219\uFF01
rmip.framework.ruleManager.meaasge.donotdelete = \u5DF2\u7ECF\u5B58\u5728\u89C4\u5219\u4E0D\u80FD\u5220\u9664\uFF01
rmip.framework.editOnlyOne= \u6BCF\u6B21\u53EA\u80FD\u4FEE\u6539\u4E00\u6761\u6570\u636E!
rmip.framework.editObject= \u8BF7\u9009\u62E9\u4FEE\u6539\u6570\u636E!
rmip.framework.deleteObject= \u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u7684\u5BF9\u8C61\u5417?
rmip.framework.AttributeGroupPanel.deleteAttributeGroup= \u9009\u4E2D\u7684\u5C5E\u6027\u5206\u7C7B\u5305\u542B\u5C5E\u6027\uFF0C\u4E0D\u53EF\u4EE5\u5220\u9664\uFF01
#\u8D44\u6E90\u7C7B\u578B\u6A21\u677F\u7BA1\u7406
rmip.framework.RMTypeTemplateModule=\u8D44\u6E90\u7C7B\u578B\u6A21\u677F\u7BA1\u7406
#\u8D44\u6E90\u6570\u636E\u5206\u7C7B
rmip.framework.RMTypeModule=\u8D44\u6E90\u6570\u636E\u7BA1\u7406
#\u4F18\u9009\u5E93
rmip.framework.RMPreferLibraryModule=\u4F18\u9009\u5E93
#\u67E5\u8BE2
rmip.sherch.RMSherchModel=\u67E5\u8BE2
106001=\u4E3B\u952E\u91CD\u590D\uFF0C\u8BF7\u4FEE\u6539\u540E\u63D0\u4EA4\uFF01
106002=\u65B0\u5EFA\u914D\u7F6E\u9879\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u521B\u5EFA\uFF01
106003=\u66F4\u6539\u914D\u7F6E\u9879\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u4FEE\u6539\uFF01
106004=\u5220\u9664\u914D\u7F6E\u9879\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u914D\u7F6E\uFF01
106005=\u83B7\u53D6\u6240\u6709\u914D\u7F6E\u9879\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6\uFF01
106006=\u83B7\u53D6\u914D\u7F6E\u9879\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6\uFF01
107001=\u540D\u79F0\u91CD\u590D\uFF0C\u8BF7\u4FEE\u6539\u540E\u63D0\u4EA4\uFF01
107002=\u65B0\u5EFA\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u521B\u5EFA\uFF01
107003=\u4FEE\u6539\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u4FEE\u6539\uFF01
107004=\u5220\u9664\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u5220\u9664\uFF01
107005=\u83B7\u53D6\u6240\u6709\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6\uFF01
107006=\u83B7\u53D6\u5206\u7C7B\u51FA\u9519\uFF0C\u8BF7\u91CD\u65B0\u83B7\u53D6\uFF01
107007=\u5206\u7C7B\u4E0B\u5B58\u5728\u914D\u7F6E\u9879\uFF0C\u4E0D\u80FD\u5220\u9664\uFF01
555555=\u83B7\u53D6\u5BC6\u7801\u7B56\u7565\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555556=\u4FDD\u5B58\u5BC6\u7801\u7B56\u7565\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555557=\u4FEE\u6539\u5BC6\u7801\u7B56\u7565\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555558=\u5220\u9664\u5BC6\u7801\u7B56\u7565\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555559=\u83B7\u53D6\u5BC6\u7EA7\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555560=\u4FDD\u5B58\u5BC6\u7EA7\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555561=\u4FEE\u6539\u5BC6\u7EA7\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555562=\u9A8C\u8BC1\u5BC6\u7EA7\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555563=\u5220\u9664\u5BC6\u7EA7\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555565=\u9A8C\u8BC1\u5BC6\u7801\u7B56\u7565\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555564=\u4FDD\u5B58\u5BC6\u7EA7\u7B56\u7565\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555566=\u83B7\u53D6\u5BC6\u7EA7\u7B56\u7565\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555567=\u4FDD\u5B58\u4EBA\u5458-\u5BC6\u7EA7\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38,\u8BF7\u68C0\u67E5!
555568=\u83B7\u53D6\u4EBA\u5458\u767B\u5F55\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5!
555569=\u83B7\u53D6\u670D\u52A1\u5668\u5F53\u524D\u65F6\u95F4\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5!
555570=\u4FEE\u6539\u4EBA\u5458\u767B\u5F55\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5!
555571=\u4E3A\u4EBA\u5458\u89E3\u9501\u65F6\u7CFB\u7EDF\u53D1\u751F\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5!
##\u5C5E\u6027\u6821\u9A8C\u89C4\u5219
210601=\u4FDD\u5B58\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
210602=\u66F4\u65B0\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
210603=\u5220\u9664\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
210604=\u83B7\u53D6\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0\uFF01
210605=\u8BE5\u5C5E\u6027\u6821\u9A8C\u89C4\u5219\u5DF2\u7ECF\u88AB\u5F15\u7528\uFF0C\u65E0\u6CD5\u8FDB\u884C\u5F53\u524D\u64CD\u4F5C\uFF01
150118=\u4E3A\u5C5E\u6027\u914D\u7F6E\u6821\u9A8C\u89C4\u5219\u65F6\u7CFB\u7EDF\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0!
150119=\u6E05\u9664\u5C5E\u6027\u7684\u6821\u9A8C\u89C4\u5219\u65F6\u7CFB\u7EDF\u51FA\u9519\uFF0C\u8BF7\u67E5\u627E\u539F\u56E0!
##\u5C5E\u6027\u540C\u4E49\u8BCD\u914D\u7F6E
220101=\u521B\u5EFA\u5C5E\u6027\u540C\u4E49\u8BCD\u914D\u7F6E\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u67E5\u627E\u539F\u56E0!
220102=\u4FEE\u6539\u5C5E\u6027\u540C\u4E49\u8BCD\u914D\u7F6E\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u67E5\u627E\u539F\u56E0!
220103=\u5220\u9664\u5C5E\u6027\u540C\u4E49\u8BCD\u914D\u7F6E\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u67E5\u627E\u539F\u56E0!
220104=\u83B7\u53D6\u5C5E\u6027\u540C\u4E49\u8BCD\u914D\u7F6E\u4FE1\u606F\u65F6\u7CFB\u7EDF\u53D1\u751F\u9519\u8BEF,\u8BF7\u67E5\u627E\u539F\u56E0!
#?????????????????
# ??????????????????????????????????
RMData.MaxAttrInLine=2
# ?????????????TextArea???true:?? false????????true
RMData.TextArea.Enable=true
# ???TextArea???TextArea?PreferredSize?MinimumSize?MaximumSize?Width?Height
RMData.TextArea.PreferredSize.Width=100
RMData.TextArea.PreferredSize.Height=50
RMData.TextArea.MinimumSize.Width=100
RMData.TextArea.MinimumSize.Height=30
RMData.TextArea.MaximumSize.Width=100
RMData.TextArea.MaximumSize.Height=80
# ?String??????????????????????TextArea????????????100
RMData.MaxStringLength=500
#??????????
410.code.codeApply.classifyGroupCode=1010-19
#PDM????????????????????????????????????????#??
410.PDM.LibCodeName=\u5de5\u827a\u6587\u4ef6#Part
#code????
410.code.url=http://dev.vci-tech.com:37000/ubcs-code/codeApplySwingController
#410.code.url=http://127.0.0.1:37000/ubcs-code/codeApplySwingController
#????tocken
410.code.token.url=http://dev.vci-tech.com:37000/ubcs-auth/oauth/token
#410.code.token.url=http://127.0.0.1:37000/ubcs-auth/oauth/token
#??????
410.code.token.username=admin
410.code.token.password=admin
410.code.token.tenantId=000000
410.code.token.authorization=Basic c3dvcmQ6c3dvcmRfc2VjcmV0
410.code.token.contentType=application/x-www-form-urlencoded
Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties
@@ -25,6 +25,9 @@
#获取用户tocken
410.code.token.url=http://dev.vci-tech.com:37000/ubcs-auth/oauth/token
#410.code.token.url=http://127.0.0.1:37000/ubcs-auth/oauth/token
#固定账号信息
410.code.token.username=admin
410.code.token.password=admin
410.code.token.tenantId=000000
410.code.token.authorization=Basic c3dvcmQ6c3dvcmRfc2VjcmV0
410.code.token.contentType=application/x-www-form-urlencoded
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSysIntParamDTO.java
@@ -26,17 +26,17 @@
    /**
     * å‚æ•°key
     */
    private String paramkey;
    private String paramKey;
    /**
     * å‚æ•°value
     */
    private String paramvalue;
    private String paramValue;
    /**
     * æ˜¯å¦ä½¿ç”¨
     */
    private String usedflag;
    private String usedFlag;
    /***
@@ -44,14 +44,43 @@
     */
    private String usedFlagText;
    @Override
    public String toString() {
        return "DockingSysIntParamDTO{" +
            "infoOid='" + infoOid + '\'' +
            ", paramkey='" + paramkey + '\'' +
            ", paramvalue='" + paramvalue + '\'' +
            ", usedflag='" + usedflag + '\'' +
            ", usedFlagText='" + usedFlagText + '\'' +
            '}';
    public String getInfoOid() {
        return infoOid;
    }
    public void setInfoOid(String infoOid) {
        this.infoOid = infoOid;
    }
    public String getParamKey() {
        return paramKey;
    }
    public void setParamKey(String paramKey) {
        this.paramKey = paramKey;
    }
    public String getParamValue() {
        return paramValue;
    }
    public void setParamValue(String paramValue) {
        this.paramValue = paramValue;
    }
    public String getUsedFlag() {
        return usedFlag;
    }
    public void setUsedFlag(String usedFlag) {
        this.usedFlag = usedFlag;
    }
    public String getUsedFlagText() {
        return usedFlagText;
    }
    public void setUsedFlagText(String usedFlagText) {
        this.usedFlagText = usedFlagText;
    }
}
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/data.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<data>
    <object itemId="" code="0020010012000000003330010243" status="Released" library="wupin" classCode="020201">
        <pro filedName="xiaoshouwl" outname="销售物料" filedValue="22"/>
        <pro filedName="xinghaoguige" outname="规格型号" filedValue=""/>
        <pro filedName="createtime" outname="创建时间" filedValue="2023-09-05 21:37:37.668"/>
        <pro filedName="creator" outname="创建人" filedValue="0"/>
        <pro filedName="lastmodifier" outname="最后修改人" filedValue="0"/>
        <pro filedName="secondfl" outname="二级管理分类" filedValue="标准件"/>
        <pro filedName="caigouwl" outname="采购物料" filedValue="22"/>
        <pro filedName="tuhao" outname="图号" filedValue="2"/>
        <pro filedName="kucunwl" outname="库存物料" filedValue="2"/>
        <pro filedName="shifoupihaoguanli" outname="是否批号管理" filedValue="22"/>
        <pro filedName="thrifl" outname="三级管理分类" filedValue="锁"/>
        <pro filedName="revisionvalue" outname="版本" filedValue=""/>
        <pro filedName="firstfl" outname="一级管理分类" filedValue="物品"/>
        <pro filedName="chukufangshi" outname="出库方式" filedValue=""/>
        <pro filedName="hesuanfenlei" outname="核算分类" filedValue="F06FFFA8-F334-0CB6-9147-4A14DCC09B08"/>
        <pro filedName="jiliangdw" outname="计量单位" filedValue="1673904662408990721"/>
        <pro filedName="oldcode" outname="历史编号" filedValue="22"/>
        <pro filedName="materialclassify" outname="物料分类" filedValue="020201"/>
        <pro filedName="id" outname="代号" filedValue="0020010012000000003330010243"/>
        <pro filedName="morengongys" outname="供应商" filedValue=""/>
        <pro filedName="lcstatus" outname="状态" filedValue="Released"/>
        <pro filedName="zuixiaoqiding" outname="最小起订量" filedValue="2"/>
    </object>
</data>
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/data/result.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<data>
    <object erroid="0"  msg="测试成功" code="0201040133" itemId="0000001">
    </object>
</data>
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/datapush/result/ResultNodeObjectDTO.java
@@ -14,7 +14,7 @@
     * æ•°æ®oid
     */
    @XStreamAsAttribute
    private  String oid;
    private  String itemid;
    /***
     * é”™è¯¯æ ‡è¯†
     */
@@ -34,15 +34,15 @@
        this.code = code;
    }
    public String getOid() {
        return oid;
    }
    public String getItemid() {
        return itemid;
    }
    public void setOid(String oid) {
        this.oid = oid;
    }
    public void setItemid(String itemid) {
        this.itemid = itemid;
    }
    public String getErroid() {
    public String getErroid() {
        return erroid;
    }
@@ -62,7 +62,7 @@
    public String toString() {
        return "ResultNodeObjectDTO{" +
                "code='" + code + '\'' +
                ", oid='" + oid + '\'' +
                ", oid='" + itemid + '\'' +
                ", erroid='" + erroid + '\'' +
                ", msg='" + msg + '\'' +
                '}';
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/constant/MdmEngineConstant.java
@@ -42,7 +42,7 @@
    /**
     * ç æ®µçš„长度的字段,-这不是数据库里的字段
     */
    public static final String CODE_SEC_LENGTH_FIELD = "codeSecLengthField";
    public static final String CODE_SEC_LENGTH_FIELD = "codeseclengthfield";
    /**
     * å¯†çº§çš„字段
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -166,4 +166,17 @@
        universalInterfaceI.setThreadLocal(threadLocal);
    }
    /***
     *
     * @param dataString
     * @param dataType
     * @param request
     * @return
     */
    @PostMapping("/test")
    public String test(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType,HttpServletRequest request){
        String result="tttt";
        return result;
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
@@ -260,27 +260,41 @@
    /**
     * æŽ¥å£param列表
     * @param dockingSysIntParam åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @param queryObject åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return é›†æˆæ—¥å¿—显示对象列表
     */
    @GetMapping("/gridParam")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "dockingSysIntParam")
    public R<IPage<DockingSysIntParamVO>>gridParam(DockingSysIntParam dockingSysIntParam, Query query){
        IPage<DockingSysIntParamVO> pages = dokingSysManaentService.gridParam(dockingSysIntParam,query);
    public R<IPage<DockingSysIntParamVO>>gridParam(BaseQueryObject queryObject){
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingSysIntParamVO> pages = dokingSysManaentService.gridParam(condtionMap,query);
        return R.data(pages);
    }
    /**
     * æŽ¥å£param列表
     * @param dockingSysIntHeader åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @param queryObject åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return é›†æˆæ—¥å¿—显示对象列表
     */
    @GetMapping("/gridHeader")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "DockingSysIntHeaderVO")
    public R<IPage<DockingSysIntHeaderVO>>gridHeader(DockingSysIntHeader dockingSysIntHeader, Query query){
        IPage<DockingSysIntHeaderVO>  pages=dokingSysManaentService.gridHeader(dockingSysIntHeader,query);
    public R<IPage<DockingSysIntHeaderVO>>gridHeader(BaseQueryObject queryObject){
        Map<String,String> condtionMap=queryObject.getConditionMap();
        Query query=new Query();
        if(CollectionUtils.isEmpty(condtionMap)){
            condtionMap=new HashMap<>();
        }
        query.setCurrent(queryObject.getPage());
        query.setSize(queryObject.getLimit());
        IPage<DockingSysIntHeaderVO>  pages=dokingSysManaentService.gridHeader(condtionMap,query);
        return R.data(pages);
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDokingSysManaentService.java
@@ -35,17 +35,17 @@
    /**
     * æŽ¥å£param列表
     * @param dockingSysIntParam åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @param condtionMap åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return é›†æˆæ—¥å¿—显示对象列表
     */
    IPage<DockingSysIntParamVO>gridParam(DockingSysIntParam dockingSysIntParam, Query query);
    IPage<DockingSysIntParamVO>gridParam(Map<String,String> condtionMap ,  Query query);
    /**
     * æŽ¥å£param列表
     * @param dockingSysIntHeader åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @param condtionMap åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return é›†æˆæ—¥å¿—显示对象列表
     */
    IPage<DockingSysIntHeaderVO>gridHeader(DockingSysIntHeader dockingSysIntHeader, Query query);
    IPage<DockingSysIntHeaderVO>gridHeader(Map<String,String> condtionMap , Query query);
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -516,7 +516,7 @@
            resultNodeObjectDTO.setErroid("1");
            resultNodeObjectDTO.setMsg(msg);
            resultNodeObjectDTO.setCode(dockingSystemConfig.getPushType().equalsIgnoreCase("2")?dockingTask.getClassifyId():dockingTask.getId());
            resultNodeObjectDTO.setOid(dockingTask.getBtmOid());
            resultNodeObjectDTO.setItemid(dockingTask.getBtmOid());
            resultNodeObjectDTOS.add(resultNodeObjectDTO);
        }finally {
            boolean isSend = false;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -571,7 +571,7 @@
                    String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString;
                    //拼接param
                    for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) {
                        sendurl = sendurl + "&" + sysIntParamVO.getParamkey() + "=" + sysIntParamVO.getParamvalue();
                        sendurl = sendurl + "&" + sysIntParamVO.getParamKey() + "=" + sysIntParamVO.getParamValue();
                    }
                    paramString = sendurl;
                    backString = HttpUtils.get(sendurl);
@@ -579,7 +579,7 @@
                    MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
                    if(!CollectionUtils.isEmpty(sysIntParamVOList)) {
                        for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) {
                            params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue());
                            params.add(sysIntParamVO.getParamKey(), sysIntParamVO.getParamValue());
                        }
                    }
                    params.add(DATA_PARAM_NAME,sendString);
@@ -609,7 +609,7 @@
            }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver请求
                MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
                for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) {
                    params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue());
                    params.add(sysIntParamVO.getParamKey(), sysIntParamVO.getParamValue());
                }
                paramString = sendString;
                MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
@@ -645,7 +645,7 @@
            resultNodeObjectDTO.setErroid("1");
            resultNodeObjectDTO.setMsg(msg);
            resultNodeObjectDTO.setCode(dockingSystemConfigDTO.getClassifyId());
            resultNodeObjectDTO.setOid(dockingSystemConfigDTO.getClassifyOid());
            resultNodeObjectDTO.setItemid(dockingSystemConfigDTO.getClassifyOid());
            resultNodeObjectDTOS.add(resultNodeObjectDTO);
        }finally {
            boolean isSend = false;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DokingSysManaentServiceImpl.java
@@ -86,18 +86,18 @@
    }
    @Override
    public IPage<DockingSysIntParamVO> gridParam(DockingSysIntParam dockingSysIntParam, Query query) {
        IPage<DockingSysIntParam> pages=dockingSysIntParamService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingSysIntParam));
    public IPage<DockingSysIntParamVO> gridParam(Map<String,String> condtionMap, Query query) {
        IPage<DockingSysIntParam> pages=dockingSysIntParamService.page(Condition.getPage(query), UBCSSqlKeyword.buildConditionByMapString(condtionMap));
        return DockingSysIntParamWrapper.build().pageVO(pages);
    }
    /**
     * æŽ¥å£param列表
     * @param dockingSysIntHeader åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @param condtionMap åŸºç¡€æŸ¥è¯¢å¯¹è±¡ï¼ŒåŒ…含查询条件,分页,排序等
     * @return é›†æˆæ—¥å¿—显示对象列表
     */
    @Override
    public IPage<DockingSysIntHeaderVO> gridHeader(DockingSysIntHeader dockingSysIntHeader , Query query) {
        IPage<DockingSysIntHeader> pages = dockingSysIntHeaderService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingSysIntHeader));
    public IPage<DockingSysIntHeaderVO> gridHeader(Map<String,String> condtionMap , Query query) {
        IPage<DockingSysIntHeader> pages = dockingSysIntHeaderService.page(Condition.getPage(query), UBCSSqlKeyword.buildConditionByMapString(condtionMap));
        return DockingSysIntHeaderWrapper.build().pageVO(pages);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -1394,7 +1394,8 @@
        //set给表格配置属性
        uiFormReferVO.setTableConfig(uiTableConfigVO);
        //字段名不一致,需要手动set
        uiFormReferVO.setMuti(Func.toBoolean(codeReferConfig.getIsMuti()));
        uiFormReferVO.setMuti(StringUtils.isBlank(codeReferConfig.getIsMuti())?false:true);
        uiFormReferVO.setInitSort(new UIFieldSortVO(codeReferConfig.getSortField(),codeReferConfig.getSortType()));
        // ç­›é€‰æ¡ä»¶
        HashMap<String, String> whereMap = new HashMap<>();