From 1d91a31301494b9f0b7e17b3eef280f8d54e2806 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期二, 23 五月 2023 14:24:04 +0800
Subject: [PATCH] 新增状态池管理和版本规则管理
---
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java | 113 -
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/ModifyAttributeInfoVO.java | 241 ---
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/RevisionRuleMapper.java | 14
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/RevisionRuleServiceImpl.java | 563 ++++++++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/StatusWrapper.java | 46
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java | 158 --
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/RevisionRule.java | 104 +
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java | 122 -
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/RevisionRuleController.java | 97 +
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/StatusController.java | 102 +
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java | 459 ++++++
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java | 2
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/Status.java | 82 +
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java | 150 --
Source/UBCS-WEB/src/api/omd/revisionRule.js | 75 +
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java | 4
Source/UBCS-WEB/src/views/modeling/Version.vue | 90
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/RevisionRuleMapper.xml | 32
Source/UBCS-WEB/src/views/modeling/Business.vue | 5
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeAttributeVO.java | 4
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/RevisionRuleVO.java | 155 --
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/RevisionRuleClient.java | 97 +
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IStatusService.java | 164 ++
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeMapper.java | 3
Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/StatusMapper.xml | 26
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IRevisionRuleService.java | 191 ++
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusFallback.java | 51
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java | 2
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusClient.java | 69 +
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/RevisionRuleWrapper.java | 46
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/StatusMapper.java | 13
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/StatusVO.java | 117 -
Source/UBCS-WEB/src/views/modeling/original.vue | 27
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java | 2
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java | 4
Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 172 ++
Source/UBCS-WEB/src/views/modeling/status.vue | 141 ++
Source/UBCS-WEB/src/api/omd/status.js | 75 +
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/StatusClient.java | 79 +
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleClient.java | 92 +
Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleFallback.java | 74 +
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java | 3
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 25
43 files changed, 2,972 insertions(+), 1,119 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/omd/revisionRule.js b/Source/UBCS-WEB/src/api/omd/revisionRule.js
new file mode 100644
index 0000000..ac3ce70
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/omd/revisionRule.js
@@ -0,0 +1,75 @@
+import request from '@/router/axios';
+
+export const getPage = (current,size,params) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ }
+ })
+}
+
+export const getDetail = (oid) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/detail',
+ method: 'get',
+ params: {
+ oid: oid
+ }
+ })
+}
+
+export const add = (rule) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/submit',
+ method: 'post',
+ data: rule
+ })
+}
+
+export const batchAdd = (rules) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/batch-submit',
+ method: 'post',
+ data: rules
+ })
+}
+
+export const update = (rule) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/submit',
+ method: 'post',
+ data: rule
+ })
+}
+
+export const batchUpdate = (rules) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/batch-submit',
+ method: 'post',
+ data: rules
+ })
+}
+
+export const remove = (rule) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/remove',
+ method: 'post',
+ data: rule
+ })
+}
+
+export const refList = (currentPage,pageSize,params) => {
+ return request({
+ url: '/api/ubcs-omd/revision-rule/ref',
+ method: 'get',
+ params: {
+ ...params,
+ currentPage,
+ pageSize
+ }
+ })
+}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/api/omd/status.js b/Source/UBCS-WEB/src/api/omd/status.js
new file mode 100644
index 0000000..e80f0f8
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/omd/status.js
@@ -0,0 +1,75 @@
+import request from '@/router/axios';
+
+export const getPage = (current,size,params) => {
+ return request({
+ url: '/api/ubcs-omd/status/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ }
+ })
+}
+
+export const getDetail = (oid) => {
+ return request({
+ url: '/api/ubcs-omd/status/detail',
+ method: 'get',
+ params: {
+ oid: oid
+ }
+ })
+}
+
+export const add = (rule) => {
+ return request({
+ url: '/api/ubcs-omd/status/submit',
+ method: 'post',
+ data: rule
+ })
+}
+
+export const batchAdd = (rules) => {
+ return request({
+ url: '/api/ubcs-omd/status/batch-submit',
+ method: 'post',
+ data: rules
+ })
+}
+
+export const update = (rule) => {
+ return request({
+ url: '/api/ubcs-omd/status/submit',
+ method: 'post',
+ data: rule
+ })
+}
+
+export const batchUpdate = (rules) => {
+ return request({
+ url: '/api/ubcs-omd/status/batch-submit',
+ method: 'post',
+ data: rules
+ })
+}
+
+export const remove = (rule) => {
+ return request({
+ url: '/api/ubcs-omd/status/remove',
+ method: 'post',
+ data: rule
+ })
+}
+
+export const refList = (currentPage,pageSize,params) => {
+ return request({
+ url: '/api/ubcs-omd/status/ref',
+ method: 'get',
+ params: {
+ ...params,
+ currentPage,
+ pageSize
+ }
+ })
+}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/views/modeling/Business.vue b/Source/UBCS-WEB/src/views/modeling/Business.vue
index bcdfec8..483d1b1 100644
--- a/Source/UBCS-WEB/src/views/modeling/Business.vue
+++ b/Source/UBCS-WEB/src/views/modeling/Business.vue
@@ -119,10 +119,13 @@
</el-main>
<el-dialog :visible="ref.visible" title="浠庢暟鎹簱涓坊鍔�" width="700px" append-to-body @close="dialoghandelfalse">
閫夋嫨棰嗗煙锛�
- <el-select v-model="domain" placeholder="璇烽�夋嫨" @change="refOnLoad">
+ <el-select v-model="domain" placeholder="璇烽�夋嫨" @change="refOnLoad" size="small">
<el-option v-for="item in domainOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
+ <div class="sep" style="height:7px">
+
+ </div>
<avue-crud class="businessCrud" v-model="ref.form" :option="ref.option" :data="ref.data" @selection-change="selectionChange">
</avue-crud>
<span slot="footer" class="dialog-footer">
diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
index 909692e..92098e3 100644
--- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -5,6 +5,7 @@
append-to-body
@close="closeSubmitDialog"
width="70%"
+ style="height: 115vh;"
>
<el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm">
@@ -24,7 +25,8 @@
</el-select>
</el-form-item>
<el-form-item label="鐗堟湰瑙勫垯" label-width="100px">
- <el-input v-model="btmType.revisionRuleId" :prefix-icon="icons.revisionRule" class="revisionRule">
+ <el-input v-model="btmType.revisionRuleName" :prefix-icon="icons.revisionRule" class="revisionRule"
+ @focus="openRevision" clearable @clear="clearRevision">
<i slot="suffix" class="el-input__icon el-icon-search"></i>
</el-input>
</el-form-item>
@@ -45,6 +47,7 @@
<el-input v-model="btmType.description"
:prefix-icon="icons.desc"
class="descClass"
+ id="descId"
></el-input>
</el-form-item>
</el-form>
@@ -63,11 +66,11 @@
</avue-crud>
<div slot="footer" class="dialog-footer">
- <el-button @click="submitBtmType">纭畾</el-button>
+ <el-button type="primary" @click="submitBtmType">纭畾</el-button>
<el-button @click="cancleSubmitBtmType">鍙栨秷</el-button>
</div>
-
+<!-- 灞炴�ф睜鐨勯�夋嫨 -->
<el-dialog title="灞炴�ф睜"
:visible="attrRef.visible"
append-to-body
@@ -91,6 +94,30 @@
<el-button @click="cancleSelectAttr">鍙栨秷</el-button>
</div>
</el-dialog>
+<!-- 鐗堟湰瑙勫垯鐨勫弬鐓� -->
+ <el-dialog title="璇烽�夋嫨鐗堟湰瑙勫垯"
+ :visible.sync="revisionRef.visible"
+ append-to-body
+ width="80%">
+
+ <avue-crud class="revisionRef"
+ :option="revisionRef.option"
+ :data="revisionRef.data"
+ :page.sync="revisionRef.page"
+ ref="revisionRef"
+ @row-click="revisionClick">
+ <template slot="radio"
+ slot-scope="{row}">
+ <el-radio v-model="revisionRef.selectRow"
+ :label="row.$index">
+ </el-radio>
+ </template>
+ </avue-crud>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="confirmRevision">纭畾</el-button>
+ <el-button @click="cancelRevision">鍙栨秷</el-button>
+ </div>
+ </el-dialog>
</el-dialog>
</template>
@@ -99,6 +126,7 @@
import { add,update } from '@/api/omd/btmType';
import { queryPage } from '@/api/omd/OmdAttribute';
+import { getPage } from '@/api/omd/revisionRule';
export default {
name: 'BusinessAdd',
props: {
@@ -125,6 +153,7 @@
rowKey: 'id',
tabs: true,
menu: false,
+ addBtn:false,
highlightCurrentRow: true,
column: [
{
@@ -146,14 +175,12 @@
{
label: "榛樿鍊�",
prop: "defaultValue",
- cell: 'true',
align: 'center',
cell: true
},
{
label: "璇存槑",
prop: "description",
- cell: 'true',
align: 'center',
cell:true
}
@@ -176,6 +203,7 @@
border: true,
reserveSelection: true,
searchMenuSpan:8,
+ highlightCurrentRow: true,
column: [
{
label: '鑻辨枃鍚嶇О',
@@ -223,13 +251,77 @@
},
data: [],
queryNotIn: null
- }
+ },
+ revisionRef: {
+ visible: false,
+ page: {
+ currentPage:1,
+ pageSize: 10
+ },
+ selectRow:'',
+ searchKey: null,
+ option:{
+ height: 360,
+ addBtn: false,
+ refreshBtn: false,
+ columnBtn: false,
+ menu: false,
+ border: true,
+ reserveSelection: true,
+ searchMenuSpan:8,
+ searchShowBtn: false,
+ highlightCurrentRow: true,
+ column:[{
+ label: '閫夋嫨',
+ prop: 'radio',
+ width: 60,
+ hide: false
+ },
+ {
+ label:'鑻辨枃鍚嶇О',
+ prop: 'id',
+ search:true
+ },
+ {
+ label:"涓枃鍚嶇О",
+ prop:"name",
+ search:true,
+ },
+ {
+ label:"璺宠穬瀛楃",
+ prop: "skipCode"
+ },
+ {
+ label: "鍒濆鍊�",
+ prop:"startCode"
+ },
+ {
+ label: "姝ラ暱",
+ prop: "serialStep"
+ },
+ {
+ label: "鍓嶇紑",
+ prop:"prefixCode"
+ },
+ {
+ label: "鍚庣紑",
+ prop: "suffixCode"
+ },
+ {
+ label: "鎻忚堪",
+ prop:"description",
+ type:"textarea"
+ }
+ ]
+ },
+ },
}
},
created() {
},
methods: {
+ // 鍏抽棴缁勪欢寮圭獥
closeSubmitDialog(){
this.showSubmitDialog = false;
this.btmType.attributes = [];
@@ -237,13 +329,16 @@
this.attrRef.selectData = [];
this.attrRef.queryNotIn = null;
},
+ // 鍏抽棴灞炴�ф睜鏌ヨ寮圭獥
closeAttrDialog(){
this.attrRef.visible = false;
},
+ // 娣诲姞
rowAdd(){
this.attrRef.visible = true;
this.attrRefOnLoad();
},
+ // 灞炴�ф睜鍔犺浇
attrRefOnLoad(){
queryPage(this.attrRef.key,this.attrRef.queryNotIn,this.attrRef.page.currentPage, this.attrRef.page.pageSize).then(res => {
const data = res.data.data;
@@ -254,15 +349,18 @@
this.$refs.attrRef.refreshTable();
});
},
+ // 灞炴�ф睜妫�绱�
attrRefSearch(form,done){
this.attrRef.key = form.key;
this.attrRefOnLoad();
done();
this.attrRef.key = null;
},
+ // 灞炴�ф睜鍕鹃�変簨浠�
selectionChange(list){
this.attrRef.selectData = list;
},
+ // 纭灞炴�ф睜鍕鹃��
confirmSelectAttr(){
this.btmType.attributes = [];
this.attrRef.queryNotIn = "";
@@ -281,10 +379,12 @@
});
this.closeAttrDialog();
},
+ // 鍙栨秷灞炴�ф睜鍕鹃��
cancleSelectAttr(){
this.attrRef.selectData = [];
this.closeAttrDialog();
},
+ // 娣诲姞涓氬姟绫诲瀷
submitBtmType(){
console.log(this.btmType);
add(this.btmType,true).then(res => {
@@ -294,28 +394,78 @@
this.$emit('refreshTable');
})
},
+ // 鍙栨秷娣诲姞涓氬姟绫诲瀷
cancleSubmitBtmType(){
this.btmType = {};
this.btmType.attributes = [];
this.showSubmitDialog = false;
},
+ // 鍒锋柊灞炴�у垪琛�
refreshAttrTable(){
this.$nextTick( () => {
this.$refs.attrTable.refreshTable();
})
},
+ //
viewChange(){
},
+ // 鍒楄〃缂栬緫
cellEditClick(cell){
cell.$cellEdit = true;
},
+ // 鍒楄〃缂栬緫淇濆瓨
cellEditSave(row){
this.btmType.attributes[row.$index].name = row.name
this.btmType.attributes[row.$index].defaultValue = row.defaultValue;
this.btmType.attributes[row.$index].description = row.description;
row.$cellEdit = false;
- }
+ },
+ // 鎵撳紑鐗堟湰瑙勫垯鍙傜収
+ async openRevision(){
+ await getPage().then(res => {
+ this.revisionRef.data = res.data.data.records;
+ });
+ this.revisionRef.visible = true;
+ },
+ // 鍏抽棴鐗堟湰瑙勫垯鍙傜収寮圭獥
+ closeRevisionDialog(){
+ this.revisionRef.visible = false;
+ },
+ // 鐗堟湰瑙勫垯鍙傜収鍒楄〃妫�绱�
+ revisionRefSearch(){
+
+ },
+ // 鐗堟湰瑙勫垯閫変腑浜嬩欢
+ revisionChange(){},
+ // 纭閫変腑鐗堟湰瑙勫垯
+ confirmRevision(){
+ this.btmType.revisionFlag = true;
+ this.btmType.revisionRuleId = this.revisionRef.selectData.id;
+ this.btmType.revisionRuleName = this.revisionRef.selectData.name;
+ this.btmType.inputRevisionFlag = false;
+ this.cancelRevision();
+ },
+ // 鍙栨秷閫変腑鐗堟湰瑙勫垯
+ cancelRevision(){
+ this.revisionRef.selectRow = '';
+ this.revisionRef.selectData = {};
+ this.closeRevisionDialog();
+ },
+ // 鐗堟湰瑙勫垯鍗曢��
+ revisionClick(row){
+ this.revisionRef.selectRow = row.$index;
+ this.revisionRef.selectData = {
+ id: row.id,
+ name: row.name,
+ };
+ },
+ clearRevision(){
+ this.$delete(this.btmType,'revisionFlag');
+ this.$delete(this.btmType,'revisionRuleId');
+ this.$delete(this.btmType,'revisionRuleName');
+ this.$delete(this.btmType,'inputRevisionFlag');
+ }
}
}
</script>
@@ -323,6 +473,10 @@
<style>
/* 灞炴�ф睜鍙傜収鍒楄〃 */
.attrRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{
+ display: none !important;
+}
+
+.revisionRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu{
display: none !important;
}
@@ -337,4 +491,8 @@
.descClass > .el-input__inner {
width: 57vw
}
+
+#descId {
+ width: 57vw;
+}
</style>
diff --git a/Source/UBCS-WEB/src/views/modeling/Version.vue b/Source/UBCS-WEB/src/views/modeling/Version.vue
index 929a250..3941b86 100644
--- a/Source/UBCS-WEB/src/views/modeling/Version.vue
+++ b/Source/UBCS-WEB/src/views/modeling/Version.vue
@@ -34,6 +34,7 @@
</template>
<script>
+import { getPage,add,update,remove } from '../../api/omd/revisionRule';
export default {
name: "Version",
data(){
@@ -47,36 +48,6 @@
total: 100
},
data:[
- {
- name:"娴嬭瘯1",
- tag:"娴嬭瘯",
- char:"娴嬭瘯",
- Initial:"娴嬭瘯",
- Step:"娴嬭瘯",
- prefix:"娴嬭瘯",
- suffix:"娴嬭瘯",
- desc:"娴嬭瘯"
- },
- {
- name:"娴嬭瘯2",
- tag:"娴嬭瘯",
- char:"娴嬭瘯",
- Initial:"娴嬭瘯",
- Step:"娴嬭瘯",
- prefix:"娴嬭瘯",
- suffix:"娴嬭瘯",
- desc:"娴嬭瘯"
- },
- {
- name:"娴嬭瘯3",
- tag:"娴嬭瘯",
- char:"娴嬭瘯",
- Initial:"娴嬭瘯",
- Step:"娴嬭瘯",
- prefix:"娴嬭瘯",
- suffix:"娴嬭瘯",
- desc:"娴嬭瘯"
- }
],
form:{},
option:{
@@ -87,37 +58,37 @@
searchMenuSpan:5,
column:[
{
- label:"鍚嶇О",
+ label:'鑻辨枃鍚嶇О',
+ prop: 'id'
+ },
+ {
+ label:"涓枃鍚嶇О",
prop:"name",
search:true,
},
{
- label: "鏍囩",
- prop:"tag"
- },
- {
label:"璺宠穬瀛楃",
- prop:"char"
+ prop: "skipCode"
},
{
label: "鍒濆鍊�",
- prop:"Initial"
+ prop:"startCode"
},
{
- label:"姝ラ暱",
- prop:"Step"
+ label: "姝ラ暱",
+ prop: "serialStep"
},
{
label: "鍓嶇紑",
- prop:"prefix"
+ prop:"prefixCode"
},
{
label: "鍚庣紑",
- prop: "suffix"
+ prop: "suffixCode"
},
{
label: "鎻忚堪",
- prop:"desc",
+ prop:"description",
type:"textarea"
}
]
@@ -128,25 +99,17 @@
handleSearch(){
this.packageSearchBox=true
},
- // getList() {
- // this.loading = true;
- // const data = Object.assign({
- // pageNum: this.page.currentPage,
- // pageSize: this.page.pageSize,
- // }, this.params)
- // this.data = [];
- // getList(data).then(res => {
- // const data = res.data.data
- // this.loading = false;
- // this.page.total = data.total;
- // const result = data.list;
- // this.data = result;
- // })
- // },
+ getList() {
+ this.loading = true;
+ getPage(this.page.currentPage,this.page.pageSize,this.params).then(res => {
+ const data = res.data.data
+ this.loading = false;
+ this.page.total = data.total;
+ this.data = data.records;
+ })
+ },
rowSave(row, done, loading) {
- add(Object.assign({
- createUser: this.userInfo.name
- }, row)).then(() => {
+ add(row).then(() => {
this.$message.success('鏂板鎴愬姛')
done();
this.getList();
@@ -155,9 +118,7 @@
})
},
rowUpdate(row, index, done, loading) {
- update(Object.assign({
- updateUser: this.userInfo.name
- }, row)).then(() => {
+ update(row).then(() => {
this.$message.success('淇敼鎴愬姛')
done()
this.getList();
@@ -171,7 +132,8 @@
cancelButtonText: '鍙栨秷',
type: 'warning'
}).then(() => {
- return del(row.id)
+ console.log(row);
+ return remove({oid : row.oid})
}).then(() => {
this.$message.success('鍒犻櫎鎴愬姛')
this.getList();
diff --git a/Source/UBCS-WEB/src/views/modeling/original.vue b/Source/UBCS-WEB/src/views/modeling/original.vue
index 72a86fc..0521748 100644
--- a/Source/UBCS-WEB/src/views/modeling/original.vue
+++ b/Source/UBCS-WEB/src/views/modeling/original.vue
@@ -4,14 +4,19 @@
<basic-container>
<avue-crud v-model="form" :option="option" :data="data" ref="crud" @on-load="onLoad" @row-save="rowSave"
@row-update="rowUpdate" :before-open="beforeOpen" @row-del="rowDel" :page.sync="page"
- @refresh-change="refreshChange" @row-click="rowClick">
+ @refresh-change="refreshChange" @row-click="rowClick"
+ @selection-change="selectChange">
<template slot-scope="{row,index,type}" slot="selInputForm">
<div style="margin-left: 75px">
<el-input v-model="form.text" :size="size" style="width: 210px" :readonly="true" @focus="selectBtmType" :disabled="referType.disable"></el-input>
- <!-- <el-button type="primary" style="margin-left: 10px" @click="addHandle">閫夋嫨</el-button> -->
- <!-- <el-button type="info">鍙栨秷</el-button> -->
</div>
</template>
+ <template slot="radio"
+ slot-scope="{row}">
+ <el-radio v-model="selectRow"
+ :label="row.$index">
+ </el-radio>
+ </template>
</avue-crud>
<el-dialog :visible.sync="referType.display" append-to-body :title="referType.title" width="1000px">
<original-range @rowchange="rowchange"></original-range>
@@ -136,18 +141,24 @@
currentPage: 1,
total: 100
},
+ selectRow: '',
data: [
],
option: {
height: "550px",
- selection: true,
headerAlign: 'center',
border: true,
index: true,
rowKey: 'id',
tabs: true,
- column: [
+ highlightCurrentRow: true,
+ column: [{
+ label: '閫夋嫨',
+ prop: 'radio',
+ width: 60,
+ hide: false
+ },
{
label: '灞炴�х紪鍙�',
prop: 'key',
@@ -544,12 +555,14 @@
})
},
rowClick(row) {
- this.itemData = row
+ this.itemData = row;
+ this.selectRow = row.$index;
+
}
,selectBtmType(){
this.referType.display = true;
this.referType.title = "璇烽�夋嫨" + this.referType.value
- }
+ },
},
}
</script>
diff --git a/Source/UBCS-WEB/src/views/modeling/status.vue b/Source/UBCS-WEB/src/views/modeling/status.vue
new file mode 100644
index 0000000..b6fac49
--- /dev/null
+++ b/Source/UBCS-WEB/src/views/modeling/status.vue
@@ -0,0 +1,141 @@
+<template>
+ <basic-container>
+ <avue-crud ref="crud"
+ v-model="form"
+ :data="data"
+ :option="option"
+ :page.sync="page"
+ @on-load="getList"
+ @row-update="rowUpdate"
+ @row-save="rowSave"
+ @row-del="rowDel"
+ @refresh-change="refreshChange"
+ @search-reset="searchChange"
+ @search-change="searchChange">
+ <template slot="menuLeft">
+ <el-tooltip class="item" effect="dark" content="鏌ユ壘鐘舵�佹睜浣跨敤鑼冨洿" placement="top">
+ <el-button size="small"
+ plain
+ type="primary"
+ icon="el-icon-zoom-in"
+ @click="handleSearch">鏌ョ湅浣跨敤鑼冨洿
+ </el-button>
+ </el-tooltip>
+ </template>>
+ </avue-crud>
+ <el-dialog title="鏌ョ湅浣跨敤鑼冨洿"
+ append-to-body
+ :visible.sync="packageSearchBox"
+ width="1200px">
+ <versionpackage></versionpackage>
+ </el-dialog>
+ </basic-container>
+
+ </template>
+
+ <script>
+ import { getPage,add,update,remove } from '../../api/omd/status';
+ export default {
+ name: "status",
+ data(){
+ return {
+ //鏌ョ湅浣跨敤鑼冨洿
+ packageSearchBox:false,
+ //鍒嗛〉鏁版嵁
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 100
+ },
+ data:[
+ ],
+ form:{},
+ option:{
+ headerAlign:'center',
+ align: 'center',
+ border: true,
+ index: true,
+ searchMenuSpan:5,
+ column:[
+ {
+ label:'鑻辨枃鍚嶇О',
+ prop: 'id',
+ search: true
+ },
+ {
+ label:"涓枃鍚嶇О",
+ prop:"name",
+ search:true,
+ },
+ {
+ label: "鎻忚堪",
+ prop:"description",
+ type:"textarea"
+ }
+ ]
+ }
+ }
+ },
+ methods:{
+ handleSearch(){
+ this.packageSearchBox=true
+ },
+ getList() {
+ this.loading = true;
+ getPage(this.page.currentPage,this.page.pageSize,this.params).then(res => {
+ const data = res.data.data
+ this.loading = false;
+ this.page.total = data.total;
+ this.data = data.records;
+ })
+ },
+ rowSave(row, done, loading) {
+ add(row).then(() => {
+ this.$message.success('鏂板鎴愬姛')
+ done();
+ this.getList();
+ }).catch(() => {
+ loading()
+ })
+ },
+ rowUpdate(row, index, done, loading) {
+ update(row).then(() => {
+ this.$message.success('淇敼鎴愬姛')
+ done()
+ this.getList();
+ }).catch(() => {
+ loading()
+ })
+ },
+ rowDel(row) {
+ this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ console.log(row);
+ return remove({oid : row.oid})
+ }).then(() => {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.getList();
+ })
+ },
+ searchChange(params, done) {
+ if (done) done();
+ this.params = params;
+ this.page.currentPage = 1;
+ this.getList();
+ this.$message.success('鎼滅储鎴愬姛')
+ },
+ refreshChange() {
+ this.getList();
+ this.$message.success('鍒锋柊鎴愬姛')
+ }
+ }
+ }
+ </script>
+
+ <style scoped>
+
+ </style>
+
\ No newline at end of file
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
index 1832c80..73adf55 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleEvent.java
@@ -14,7 +14,7 @@
* @date 2019/10/17 9:32
*/
@Data
-@TableName("pl_omd_lift_cycle_event")
+@TableName("pl_omd_life_cycle_event")
@ApiModel(value = "鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎", description = "鐢熷懡鍛ㄦ湡浜嬩欢闆嗗悎")
public class LifeCycleEvent implements java.io.Serializable{
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java
index 1d3b5ff..88fd971 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLine.java
@@ -14,7 +14,7 @@
* @date 2019/10/10 6:56 PM
*/
@Data
-@TableName("pl_omd_lift_cycle_line")
+@TableName("pl_omd_life_cycle_line")
@ApiModel(value = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎", description = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎")
public class LifeCycleLine implements java.io.Serializable {
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java
index 74760c2..ad1f478 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleLineEvent.java
@@ -14,7 +14,7 @@
* @date 2019/10/11 2:49 PM
*/
@Data
-@TableName("pl_omd_lift_cycle_line_event")
+@TableName("pl_omd_life_cycle_line_event")
@ApiModel(value = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎", description = "鐢熷懡鍛ㄦ湡鐘舵�佽繛鎺ョ嚎")
public class LifeCycleLineEvent implements java.io.Serializable{
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
index af28860..bebe70c 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/LifeCycleRule.java
@@ -14,7 +14,7 @@
* @date 2019/10/10 5:59 PM
*/
@Data
-@TableName("pl_omd_lift_cycle_rule")
+@TableName("pl_omd_life_cycle_rule")
@ApiModel(value = "鐢熷懡鍛ㄦ湡瑙勫垯", description = "鐢熷懡鍛ㄦ湡瑙勫垯")
public class LifeCycleRule implements java.io.Serializable {
@@ -60,7 +60,7 @@
/**
* 涓氬姟绫诲瀷鍚嶇О
*/
- private String btmname;
+ private String btmName;
/**
* 鎷ユ湁鑰�
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/RevisionRule.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/RevisionRule.java
new file mode 100644
index 0000000..12964ad
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/RevisionRule.java
@@ -0,0 +1,104 @@
+package com.vci.ubcs.omd.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Description: 鐗堟湰瑙勫垯
+ *
+ * @author LiHang
+ * @date 2023/5/17
+ */
+@Data
+@TableName("pl_omd_revision_rule")
+@ApiModel(value = "鐗堟湰瑙勫垯", description = "鐗堟湰瑙勫垯")
+public class RevisionRule implements Serializable {
+ /**
+ * 搴忓垪鍖�
+ */
+ private static final long serialVersionUID = -8011164573572900457L;
+ /**
+ * 涓婚敭
+ */
+ private String oid;
+
+ /**
+ * 鑻辨枃鍚嶇О
+ */
+ private String id;
+
+ /**
+ * 涓枃鍚嶇О
+ */
+ private String name;
+
+ /**
+ * 璺宠穬瀛楃
+ */
+ private String skipCode;
+
+ /**
+ * 鍒濆鍊�
+ */
+ private String startCode;
+
+ /**
+ * 姝ラ暱
+ */
+ private Integer serialStep;
+
+ /**
+ * 鍓嶇紑
+ */
+ private String prefixCode;
+
+ /**
+ * 鍚庣紑
+ */
+ private String suffixCode;
+
+ /**
+ * 鎻忚堪
+ */
+ private String description;
+
+
+ /**
+ * 涓氬姟绫诲瀷鍚嶇О
+ */
+ private String btmName;
+
+ /**
+ * 鎷ユ湁鑰�
+ */
+ private String owner;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private String creator;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date createTime;
+
+ /**
+ * 鏈�鍚庝慨鏀逛汉
+ */
+ private String lastModifier;
+
+ /**
+ * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
+ */
+ private Date lastModifyTime;
+
+ /**
+ * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
+ */
+ private Date ts;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/Status.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/Status.java
new file mode 100644
index 0000000..5bf9899
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/entity/Status.java
@@ -0,0 +1,82 @@
+package com.vci.ubcs.omd.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Description:鐘舵�佹睜瀵硅薄
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+@Data
+@TableName("pl_omd_status")
+@ApiModel(value = "鐘舵�佹睜瀵硅薄", description = "鐘舵�佹睜瀵硅薄")
+public class Status implements Serializable {
+
+ /**
+ * 搴忓垪鍖�
+ */
+ private static final long serialVersionUID = 5914235157247110985L;
+
+ /**
+ * 涓婚敭
+ */
+ private String oid;
+
+ /**
+ * 鐘舵�佽嫳鏂囧悕绉�
+ */
+ private String id;
+
+ /**
+ * 鐘舵�佷腑鏂囧悕绉�
+ */
+ private String name;
+
+ /**
+ * 鎻忚堪
+ */
+ private String description;
+
+ /**
+ * 涓氬姟绫诲瀷鍚嶇О
+ */
+ private String btmName;
+
+ /**
+ * 鎷ユ湁鑰�
+ */
+ private String owner;
+
+ /**
+ * 鍒涘缓浜�
+ */
+ private String creator;
+
+ /**
+ * 鍒涘缓鏃堕棿
+ */
+ private Date createTime;
+
+ /**
+ * 鏈�鍚庝慨鏀逛汉
+ */
+ private String lastModifier;
+
+ /**
+ * 鏈�鍚庝慨鏀规椂闂达紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss
+ */
+ private Date lastModifyTime;
+
+ /**
+ * 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
+ */
+ private Date ts;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleClient.java
new file mode 100644
index 0000000..ef2da98
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleClient.java
@@ -0,0 +1,92 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * Description:鐗堟湰瑙勫垯Feign鎺ュ彛绫�
+ *
+ * @author LiHang
+ * @date 2023/5/22
+ */
+@FeignClient(
+ value = AppConstant.APPLICATION_NAME_OMD,
+ fallback = IRevisionRuleFallback.class
+)
+public interface IRevisionRuleClient {
+
+ /**
+ * 鍓嶇紑
+ */
+ String API_PREFIX = "/client";
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ */
+ String GET_REF_PAGE = API_PREFIX + "/revision-rule/get-ref-page";
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ鏃犲垎椤�
+ */
+ String GET_REF = API_PREFIX + "/revision-rule/get-ref";
+ /**
+ * 鍙傜収鏄庣粏
+ */
+ String GET_DETAIL = API_PREFIX + "/revision-rule/get-detail";
+ /**
+ * 鑻辨枃鍚嶇О鎵归噺鏌ヨ
+ */
+ String GET_BY_IDS = API_PREFIX + "/revision-rule/get-by-ids";
+ /**
+ * 涓婚敭鎵归噺鏌ヨ
+ */
+ String GET_BY_OIDS = API_PREFIX + "/revision-rule/get-by-oids";
+
+ /**
+ * 鑾峰彇鐗堟湰瑙勫垯璇︽儏淇℃伅
+ *
+ * @param oid 涓婚敭
+ * @return 鐗堟湰瑙勫垯璇︽儏淇℃伅
+ */
+ @GetMapping(GET_DETAIL)
+ R<RevisionRuleVO> getDetail(@RequestParam("oid") String oid);
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ * @param baseQueryObject 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @GetMapping(GET_REF_PAGE)
+ R<IPage<RevisionRuleVO>> getRefPage(@RequestParam("baseQueryObject") BaseQueryObject baseQueryObject);
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ * @param baseQueryObject 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @GetMapping(GET_REF)
+ R<List<RevisionRuleVO>> getRef(@RequestParam("baseQueryObject")BaseQueryObject baseQueryObject);
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
+ * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000
+ * @return 涓氬姟瀵硅薄
+ */
+ @GetMapping(GET_BY_IDS)
+ R<List<RevisionRuleVO>> selectByIdCollection(List<String> ids);
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ * @param pkBtmTypeCollection 鐗堟湰瑙勫垯涓婚敭闆嗗悎
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ */
+ @GetMapping(GET_BY_OIDS)
+ R<List<RevisionRuleVO>> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection);
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleFallback.java
new file mode 100644
index 0000000..ebd891e
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IRevisionRuleFallback.java
@@ -0,0 +1,74 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description: Feign澶辫触绫�
+ *
+ * @author LiHang
+ * @date 2023/5/22
+ */
+public class IRevisionRuleFallback implements IRevisionRuleClient{
+ /**
+ * 鑾峰彇鐗堟湰瑙勫垯璇︽儏淇℃伅
+ *
+ * @param oid 涓婚敭
+ * @return 鐗堟湰瑙勫垯璇︽儏淇℃伅
+ */
+ @Override
+ public R<RevisionRuleVO> getDetail(String oid) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public R<IPage<RevisionRuleVO>> getRefPage(BaseQueryObject baseQueryObject) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public R<List<RevisionRuleVO>> getRef(BaseQueryObject baseQueryObject) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
+ *
+ * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000
+ * @return 涓氬姟瀵硅薄
+ */
+ @Override
+ public R<List<RevisionRuleVO>> selectByIdCollection(List<String> ids) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param pkBtmTypeCollection 鐗堟湰瑙勫垯涓婚敭闆嗗悎
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ */
+ @Override
+ public R<List<RevisionRuleVO>> listBtmTypeByOidCollection(Collection<String> pkBtmTypeCollection) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusClient.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusClient.java
new file mode 100644
index 0000000..16af72e
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusClient.java
@@ -0,0 +1,69 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.omd.entity.Status;
+import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description: 鐘舵�佹睜Feign鎺ュ彛绫�
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+@FeignClient(
+ value = AppConstant.APPLICATION_NAME_OMD,
+ fallback = IRevisionRuleFallback.class
+)
+public interface IStatusClient {
+ /**
+ * 鍓嶇紑
+ */
+ String API_PREFIX = "/client";
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ */
+ String GET_REF_PAGE = API_PREFIX + "/status/get-ref-page";
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ鏃犲垎椤�
+ */
+ String GET_REF = API_PREFIX + "/status/get-ref";
+
+ /**
+ * 鑻辨枃鍚嶇О鎵归噺鏌ヨ
+ */
+ String GET_NAME_BY_IDS = API_PREFIX + "/status/get-name-by-ids";
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鎵ц缁撴灉
+ */
+ @GetMapping(GET_REF_PAGE)
+ R<IPage<StatusVO>> getRefPage(BaseQueryObject baseQueryObject);
+
+ /**
+ * 鍙傜収鏌ヨ
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鎵ц缁撴灉
+ */
+ @GetMapping(GET_REF)
+ R<List<StatusVO>> getRef(BaseQueryObject baseQueryObject);
+
+ /**
+ * 鑻辨枃鏌ヨ涓枃鍚嶇О
+ * @param ids 鑻辨枃
+ * @return 鏌ヨ缁撴灉
+ */
+ @GetMapping(GET_NAME_BY_IDS)
+ R<Map<String,String>> getNameByIds(String ids);
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusFallback.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusFallback.java
new file mode 100644
index 0000000..2d2c6dd
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/feign/IStatusFallback.java
@@ -0,0 +1,51 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.KeyValue;
+import org.springblade.core.tool.api.R;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description:
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+public class IStatusFallback implements IStatusClient{
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public R<IPage<StatusVO>> getRefPage(BaseQueryObject baseQueryObject) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鍙傜収鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public R<List<StatusVO>> getRef(BaseQueryObject baseQueryObject) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ /**
+ * 鑻辨枃鏌ヨ涓枃鍚嶇О
+ *
+ * @param ids 鑻辨枃
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public R<Map<String,String>> getNameByIds(String ids) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java
index f3600ee..8ca36cb 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleEventVO.java
@@ -1,12 +1,15 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
/**
* 鐢熷懡鍛ㄦ湡浜嬩欢鏄剧ず瀵硅薄
- * @author weidy
- * @date 2019/10/17 9:46
+ * @author LiHang
+ * @date 2023/4/3
*/
+@Data
public class LifeCycleEventVO implements java.io.Serializable{
/**
@@ -68,110 +71,4 @@
* 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
*/
private Date ts;
-
- public String getEventFullName() {
- return eventFullName;
- }
-
- public void setEventFullName(String eventFullName) {
- this.eventFullName = eventFullName;
- }
-
- public String getEventShowName() {
- return eventShowName;
- }
-
- public void setEventShowName(String eventShowName) {
- this.eventShowName = eventShowName;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- @Override
- public String toString() {
- return "OsLifeCycleEventVO{" +
- "oid='" + oid + '\'' +
- ", eventFullName='" + eventFullName + '\'' +
- ", eventShowName='" + eventShowName + '\'' +
- ", description='" + description + '\'' +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- '}';
- }
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java
index 6770a11..9db39af 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineEventVO.java
@@ -1,13 +1,16 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
/**
* 鐢熷懡鍛ㄦ湡杩炴帴绾夸簨浠�
- * @author weidy
- * @date 2019/10/11 4:54 PM
+ * @author LiHang
+ * @date 2023/4/3
*/
+@Data
public class LifeCycleLineEventVO implements java.io.Serializable{
/**
@@ -74,119 +77,4 @@
* 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
*/
private Date ts;
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
- public String getPkLifeCycleLine() {
- return pkLifeCycleLine;
- }
-
- public void setPkLifeCycleLine(String pkLifeCycleLine) {
- this.pkLifeCycleLine = pkLifeCycleLine;
- }
-
- public String getEventFullName() {
- return eventFullName;
- }
-
- public void setEventFullName(String eventFullName) {
- this.eventFullName = eventFullName;
- }
-
- public String getEventShowName() {
- return eventShowName;
- }
-
- public void setEventShowName(String eventShowName) {
- this.eventShowName = eventShowName;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
- public Integer getOrderNum() {
- return orderNum;
- }
-
- public void setOrderNum(Integer orderNum) {
- this.orderNum = orderNum;
- }
-
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- @Override
- public String toString() {
- return "OsLifeCycleLineEventVO{" +
- "oid='" + oid + '\'' +
- ", pkLifeCycleLine='" + pkLifeCycleLine + '\'' +
- ", eventFullName='" + eventFullName + '\'' +
- ", eventShowName='" + eventShowName + '\'' +
- ", orderNum=" + orderNum +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- '}';
- }
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java
index 3cb2461..9ae40f7 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleLineVO.java
@@ -1,13 +1,16 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
import java.util.List;
/**
* 鐢熷懡鍛ㄦ湡杩炴帴绾�
- * @author weidy
- * @date 2019/10/11 4:48 PM
+ * @author LiHang
+ * @date 2023/4/3
*/
+@Data
public class LifeCycleLineVO implements java.io.Serializable {
/**
@@ -94,155 +97,4 @@
* 鍖呭惈浜嬩欢
*/
private List<LifeCycleLineEventVO> events;
-
- public String getPkLifeCycle() {
- return pkLifeCycle;
- }
-
- public void setPkLifeCycle(String pkLifeCycle) {
- this.pkLifeCycle = pkLifeCycle;
- }
-
- public String getSourceLifeStatus() {
- return sourceLifeStatus;
- }
-
- public void setSourceLifeStatus(String sourceLifeStatus) {
- this.sourceLifeStatus = sourceLifeStatus;
- }
-
- public String getSourceLifeStatusName() {
- return sourceLifeStatusName;
- }
-
- public void setSourceLifeStatusName(String sourceLifeStatusName) {
- this.sourceLifeStatusName = sourceLifeStatusName;
- }
-
- public String getTargetLifeStatus() {
- return targetLifeStatus;
- }
-
- public void setTargetLifeStatus(String targetLifeStatus) {
- this.targetLifeStatus = targetLifeStatus;
- }
-
- public String getTargetLifeStatusName() {
- return targetLifeStatusName;
- }
-
- public void setTargetLifeStatusName(String targetLifeStatusName) {
- this.targetLifeStatusName = targetLifeStatusName;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getTransLineSiteInfo() {
- return transLineSiteInfo;
- }
-
- public void setTransLineSiteInfo(String transLineSiteInfo) {
- this.transLineSiteInfo = transLineSiteInfo;
- }
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
- public List<LifeCycleLineEventVO> getEvents() {
- return events;
- }
-
- public void setEvents(List<LifeCycleLineEventVO> events) {
- this.events = events;
- }
-
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- @Override
- public String toString() {
- return "OsLifeCycleLineVO{" +
- "pkLifeCycle='" + pkLifeCycle + '\'' +
- ", sourceLifeStatus='" + sourceLifeStatus + '\'' +
- ", sourceLifeStatusName='" + sourceLifeStatusName + '\'' +
- ", targetLifeStatus='" + targetLifeStatus + '\'' +
- ", targetLifeStatusName='" + targetLifeStatusName + '\'' +
- ", name='" + name + '\'' +
- ", transLineSiteInfo='" + transLineSiteInfo + '\'' +
- ", oid='" + oid + '\'' +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- ", events=" + events +
- '}';
- }
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java
index b6b0bdb..164824e 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LifeCycleVO.java
@@ -1,13 +1,16 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
import java.util.List;
/**
* 鐢熷懡鍛ㄦ湡鏄剧ず瀵硅薄
- * @author weidy
- * @date 2019/10/11 4:45 PM
+ * @author LiHang
+ * @date 2023/4/3
*/
+@Data
public class LifeCycleVO implements java.io.Serializable{
/**
@@ -88,146 +91,5 @@
/**
* 鍖呭惈杩炴帴绾�
*/
- private List<LifeCycleLineVO> lines ;
-
- public String getClassFullName() {
- return classFullName;
- }
-
- public void setClassFullName(String classFullName) {
- this.classFullName = classFullName;
- }
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getStartStatus() {
- return startStatus;
- }
-
- public void setStartStatus(String startStatus) {
- this.startStatus = startStatus;
- }
-
- public String getStartStatusName() {
- return startStatusName;
- }
-
- public void setStartStatusName(String startStatusName) {
- this.startStatusName = startStatusName;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
- public List<LifeCycleLineVO> getLines() {
- return lines;
- }
-
- public void setLines(List<LifeCycleLineVO> lines) {
- this.lines = lines;
- }
-
- @Override
- public String toString() {
- return "OsLifeCycleVO{" +
- "oid='" + oid + '\'' +
- ", id='" + id + '\'' +
- ", name='" + name + '\'' +
- ", description='" + description + '\'' +
- ", classFullName='" + classFullName + '\'' +
- ", startStatus='" + startStatus + '\'' +
- ", startStatusName='" + startStatusName + '\'' +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- ", lines=" + lines +
- '}';
- }
+ private List<LifeCycleLineVO> lines;
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeAttributeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeAttributeVO.java
index 7f71297..6d80554 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeAttributeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeAttributeVO.java
@@ -5,8 +5,8 @@
/**
* 閾炬帴绫诲瀷鍖呭惈鐨勫睘鎬�
- * @author weidy
- * @date 2019/10/11 6:16 PM
+ * @author LiHang
+ * @date 2023/4/3
*/
public class LinkTypeAttributeVO implements java.io.Serializable{
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java
index 1c43b92..264ddb6 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/LinkTypeVO.java
@@ -8,8 +8,8 @@
/**
*
* 閾炬帴绫诲瀷鏄剧ず瀵硅薄
- * @author weidy
- * @date 2019/10/11 6:04 PM
+ * @author LiHang
+ * @date 2023/4/3
*/
@Data
public class LinkTypeVO implements java.io.Serializable {
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/ModifyAttributeInfoVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/ModifyAttributeInfoVO.java
index a19b3f0..977af15 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/ModifyAttributeInfoVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/ModifyAttributeInfoVO.java
@@ -1,12 +1,15 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
/**
* 闇�瑕佷慨鏀规暟鎹簱琛ㄤ腑瀛楁鐨勪俊鎭�
- * @author weidy
- * @date 2019/10/18 11:48
+ * @author LiHang
+ * @date 2023/4/3
*/
+@Data
public class ModifyAttributeInfoVO implements java.io.Serializable{
/**
@@ -107,7 +110,7 @@
/**
* 涓氬姟绫诲瀷鍚嶇О
*/
- private String btmname;
+ private String btmName;
/**
* 鎷ユ湁鑰�
@@ -138,236 +141,4 @@
* 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
*/
private Date ts;
-
- public String getBtmTypeId() {
- return btmTypeId;
- }
-
- public void setBtmTypeId(String btmTypeId) {
- this.btmTypeId = btmTypeId;
- }
-
- public String getBtmTypeName() {
- return btmTypeName;
- }
-
- public void setBtmTypeName(String btmTypeName) {
- this.btmTypeName = btmTypeName;
- }
-
- public String getLinkTypeFlag() {
- return linkTypeFlag;
- }
-
- public void setLinkTypeFlag(String linkTypeFlag) {
- this.linkTypeFlag = linkTypeFlag;
- }
-
- public String getTableName() {
- return tableName;
- }
-
- public void setTableName(String tableName) {
- this.tableName = tableName;
- }
-
- public String getModifyAttributeType() {
- return modifyAttributeType;
- }
-
- public void setModifyAttributeType(String modifyAttributeType) {
- this.modifyAttributeType = modifyAttributeType;
- }
-
- public String getModifyAttributeTypeText() {
- return modifyAttributeTypeText;
- }
-
- public void setModifyAttributeTypeText(String modifyAttributeTypeText) {
- this.modifyAttributeTypeText = modifyAttributeTypeText;
- }
-
- public String getColumnName() {
- return columnName;
- }
-
- public void setColumnName(String columnName) {
- this.columnName = columnName;
- }
-
- public String getModifyColumnReason() {
- return modifyColumnReason;
- }
-
- public void setModifyColumnReason(String modifyColumnReason) {
- this.modifyColumnReason = modifyColumnReason;
- }
-
- public String getOrderModifyUserName() {
- return orderModifyUserName;
- }
-
- public void setOrderModifyUserName(String orderModifyUserName) {
- this.orderModifyUserName = orderModifyUserName;
- }
-
- public Date getOrderModifyDate() {
- return orderModifyDate;
- }
-
- public void setOrderModifyDate(Date orderModifyDate) {
- this.orderModifyDate = orderModifyDate;
- }
-
- public String getAttributeDataTypeBefore() {
- return attributeDataTypeBefore;
- }
-
- public void setAttributeDataTypeBefore(String attributeDataTypeBefore) {
- this.attributeDataTypeBefore = attributeDataTypeBefore;
- }
-
- public String getAttributeDataTypeAfter() {
- return attributeDataTypeAfter;
- }
-
- public void setAttributeDataTypeAfter(String attributeDataTypeAfter) {
- this.attributeDataTypeAfter = attributeDataTypeAfter;
- }
-
- public String getDeleteColumnFlag() {
- return deleteColumnFlag;
- }
-
- public void setDeleteColumnFlag(String deleteColumnFlag) {
- this.deleteColumnFlag = deleteColumnFlag;
- }
-
- public boolean isHandleFinishFlag() {
- return handleFinishFlag;
- }
-
- public void setHandleFinishFlag(boolean handleFinishFlag) {
- this.handleFinishFlag = handleFinishFlag;
- }
-
- public String getHandleUserName() {
- return handleUserName;
- }
-
- public void setHandleUserName(String handleUserName) {
- this.handleUserName = handleUserName;
- }
-
- public Date getHandleDate() {
- return handleDate;
- }
-
- public void setHandleDate(Date handleDate) {
- this.handleDate = handleDate;
- }
-
- public String getHandleResult() {
- return handleResult;
- }
-
- public void setHandleResult(String handleResult) {
- this.handleResult = handleResult;
- }
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- @Override
- public String toString() {
- return "OsModifyAttributeInfoVO{" +
- "btmTypeId='" + btmTypeId + '\'' +
- ", btmTypeName='" + btmTypeName + '\'' +
- ", linkTypeFlag='" + linkTypeFlag + '\'' +
- ", tableName='" + tableName + '\'' +
- ", modifyAttributeType='" + modifyAttributeType + '\'' +
- ", modifyAttributeTypeText='" + modifyAttributeTypeText + '\'' +
- ", columnName='" + columnName + '\'' +
- ", modifyColumnReason='" + modifyColumnReason + '\'' +
- ", orderModifyUserName='" + orderModifyUserName + '\'' +
- ", orderModifyDate=" + orderModifyDate +
- ", attributeDataTypeBefore='" + attributeDataTypeBefore + '\'' +
- ", attributeDataTypeAfter='" + attributeDataTypeAfter + '\'' +
- ", deleteColumnFlag='" + deleteColumnFlag + '\'' +
- ", handleFinishFlag=" + handleFinishFlag +
- ", handleUserName='" + handleUserName + '\'' +
- ", handleDate=" + handleDate +
- ", handleResult='" + handleResult + '\'' +
- ", oid='" + oid + '\'' +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- '}';
- }
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/RevisionRuleVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/RevisionRuleVO.java
index ad5f3b2..3668011 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/RevisionRuleVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/RevisionRuleVO.java
@@ -1,5 +1,7 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
/**
@@ -7,6 +9,7 @@
* @author weidy
* @date 2019/10/11 5:19 PM
*/
+@Data
public class RevisionRuleVO implements java.io.Serializable{
/**
@@ -62,7 +65,7 @@
/**
* 涓氬姟绫诲瀷鍚嶇О
*/
- private String btmname;
+ private String btmName;
/**
* 鎷ユ湁鑰�
@@ -93,155 +96,5 @@
* 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
*/
private Date ts;
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getSkipCode() {
- return skipCode;
- }
-
- public void setSkipCode(String skipCode) {
- this.skipCode = skipCode;
- }
-
- public String getStartCode() {
- return startCode;
- }
-
- public void setStartCode(String startCode) {
- this.startCode = startCode;
- }
-
- public Integer getSerialStep() {
- return serialStep;
- }
-
- public void setSerialStep(Integer serialStep) {
- this.serialStep = serialStep;
- }
-
- public String getPrefixCode() {
- return prefixCode;
- }
-
- public void setPrefixCode(String prefixCode) {
- this.prefixCode = prefixCode;
- }
-
- public String getSuffixCode() {
- return suffixCode;
- }
-
- public void setSuffixCode(String suffixCode) {
- this.suffixCode = suffixCode;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- @Override
- public String toString() {
- return "OsRevisionRuleVO{" +
- "oid='" + oid + '\'' +
- ", id='" + id + '\'' +
- ", name='" + name + '\'' +
- ", skipCode='" + skipCode + '\'' +
- ", startCode='" + startCode + '\'' +
- ", serialStep=" + serialStep +
- ", prefixCode='" + prefixCode + '\'' +
- ", suffixCode='" + suffixCode + '\'' +
- ", description='" + description + '\'' +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- '}';
- }
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/StatusVO.java b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/StatusVO.java
index fd8a951..568972b 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/StatusVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-omd-api/src/main/java/com/vci/ubcs/omd/vo/StatusVO.java
@@ -1,12 +1,15 @@
package com.vci.ubcs.omd.vo;
+import lombok.Data;
+
import java.util.Date;
/**
- * 鐘舵��
- * @author weidy
- * @date 2019/10/11 4:40 PM
+ * 鐘舵�佹睜
+ * @author lihang
+ * @date 2023/05/23
*/
+@Data
public class StatusVO implements java.io.Serializable {
@@ -38,7 +41,7 @@
/**
* 涓氬姟绫诲瀷鍚嶇О
*/
- private String btmname;
+ private String btmName;
/**
* 鎷ユ湁鑰�
@@ -69,110 +72,4 @@
* 鏃堕棿鎴筹紝鏍煎紡鏄痽yyy-MM-dd HH:mm:ss.SSS
*/
private Date ts;
-
- public String getOid() {
- return oid;
- }
-
- public void setOid(String oid) {
- this.oid = oid;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public String getCreator() {
- return creator;
- }
-
- public void setCreator(String creator) {
- this.creator = creator;
- }
-
- public Date getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(Date createTime) {
- this.createTime = createTime;
- }
-
- public String getLastModifier() {
- return lastModifier;
- }
-
- public void setLastModifier(String lastModifier) {
- this.lastModifier = lastModifier;
- }
-
- public Date getLastModifyTime() {
- return lastModifyTime;
- }
-
- public void setLastModifyTime(Date lastModifyTime) {
- this.lastModifyTime = lastModifyTime;
- }
-
- public Date getTs() {
- return ts;
- }
-
- public void setTs(Date ts) {
- this.ts = ts;
- }
-
-
- public String getBtmname() {
- return btmname;
- }
-
- public void setBtmname(String btmname) {
- this.btmname = btmname;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- @Override
- public String toString() {
- return "OsStatusVO{" +
- "oid='" + oid + '\'' +
- ", id='" + id + '\'' +
- ", name='" + name + '\'' +
- ", description='" + description + '\'' +
- ", btmname='" + btmname + '\'' +
- ", owner='" + owner + '\'' +
- ", creator='" + creator + '\'' +
- ", createTime=" + createTime +
- ", lastModifier='" + lastModifier + '\'' +
- ", lastModifyTime=" + lastModifyTime +
- ", ts=" + ts +
- '}';
- }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/RevisionRuleController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/RevisionRuleController.java
new file mode 100644
index 0000000..5df32ff
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/RevisionRuleController.java
@@ -0,0 +1,97 @@
+package com.vci.ubcs.omd.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.omd.dto.RevisionRuleDTO;
+import com.vci.ubcs.omd.entity.RevisionRule;
+import com.vci.ubcs.omd.service.IRevisionRuleService;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import com.vci.ubcs.omd.wrapper.RevisionRuleWrapper;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Description: 鐗堟湰瑙勫垯鎺у埗鍣�
+ *
+ * @author LiHang
+ * @date 2023/5/17
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/revision-rule")
+@Api(value = "鐗堟湰瑙勫垯鎺у埗鍣�", tags = "鐗堟湰瑙勫垯鎺ュ彛")
+public class RevisionRuleController {
+
+ private final IRevisionRuleService revisionRuleService;
+
+ /**
+ * 鏌ョ湅璇︽儏
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "鏌ョ湅璇︽儏", notes = "鐗堟湰瑙勫垯")
+ public R<RevisionRuleVO> detail(RevisionRuleDTO ruleDTO){
+ RevisionRule rule = revisionRuleService.getOne(Condition.getQueryWrapper(BeanUtil.copy(ruleDTO, RevisionRule.class)));
+ return R.data(RevisionRuleWrapper.build().entityVO(rule));
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ */
+ @GetMapping("page")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "鍒嗛〉鏌ヨ鐗堟湰瑙勫垯",notes = "鍒嗛〉鏌ヨ鐗堟湰瑙勫垯")
+ public R<IPage<RevisionRuleVO>> page(BaseQueryObject baseQueryObject){
+ return R.data(revisionRuleService.pageQueryVO(baseQueryObject));
+ }
+
+ /**
+ * 鏂板鎴栦慨鏀�
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "鏂板鎴栦慨鏀�",notes = "浼犲叆鐗堟湰瑙勫垯椤甸潰瀵硅薄")
+ public R<RevisionRuleVO> submit(@RequestBody RevisionRuleDTO ruleDTO){
+ return R.data(revisionRuleService.addSave(ruleDTO));
+ }
+
+ /**
+ * 鏂板鎴栦慨鏀�
+ */
+ @PostMapping("/batch-submit")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "鏂板鎴栦慨鏀�",notes = "浼犲叆鐗堟湰瑙勫垯椤甸潰瀵硅薄")
+ public R<List<RevisionRuleVO>> batchSubmit(@RequestBody List<RevisionRuleDTO> ruleDTOList){
+ return R.data(revisionRuleService.batchAddSave(ruleDTOList));
+ }
+
+ /**
+ * 鍒犻櫎
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "閫昏緫鍒犻櫎", notes = "浼犲叆涓婚敭")
+ public R remove(@RequestBody RevisionRuleVO revisionRuleVO){
+ revisionRuleService.delete(revisionRuleVO);
+ return R.status(true);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎
+ */
+ @PostMapping("/batch-remove")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "鎵归噺鍒犻櫎",notes = "浼犲叆涓婚敭")
+ public R batchRemove(@RequestBody List<RevisionRuleVO> revisionRuleVOList){
+ revisionRuleService.batchDelete(revisionRuleVOList);
+ return R.status(true);
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/StatusController.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/StatusController.java
new file mode 100644
index 0000000..a7562b9
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/controller/StatusController.java
@@ -0,0 +1,102 @@
+package com.vci.ubcs.omd.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.vci.ubcs.omd.entity.Status;
+import com.vci.ubcs.omd.service.IStatusService;
+import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.omd.wrapper.StatusWrapper;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description: 鐘舵�佹睜鎺у埗鍣�
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/status")
+@Api(value = "鐘舵�佹睜鎺у埗鍣�", tags = "鐘舵�佹睜鎺ュ彛")
+public class StatusController {
+
+ private final IStatusService statusService;
+
+ /**
+ * 鏌ョ湅璇︽儏
+ */
+ @GetMapping("/detail")
+ @ApiOperationSupport(order = 1)
+ @ApiOperation(value = "鏌ョ湅璇︽儏", notes = "鐘舵�佹睜")
+ public R<StatusVO> detail(StatusVO statusVO){
+ Status status = statusService.getOne(Condition.getQueryWrapper(BeanUtil.copy(statusVO, Status.class)));
+ return R.data(StatusWrapper.build().entityVO(status));
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ */
+ @GetMapping("page")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "鍒嗛〉鏌ヨ鐘舵�佹睜",notes = "鍒嗛〉鏌ヨ鐘舵�佹睜")
+ public R<IPage<StatusVO>> page(BaseQueryObject baseQueryObject){
+ Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+ if (conditionMap == null){
+ conditionMap = new HashMap<>();
+ }
+ return R.data(statusService.listStatus(conditionMap,baseQueryObject.getPageHelper()));
+ }
+
+ /**
+ * 鏂板鎴栦慨鏀�
+ */
+ @PostMapping("/submit")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "鏂板鎴栦慨鏀�",notes = "浼犲叆鐘舵�佹睜椤甸潰瀵硅薄")
+ public R<StatusVO> submit(@RequestBody StatusVO statusVO){
+ return R.data(statusService.addSave(statusVO));
+ }
+
+ /**
+ * 鏂板鎴栦慨鏀�
+ */
+ @PostMapping("/batch-submit")
+ @ApiOperationSupport(order = 3)
+ @ApiOperation(value = "鏂板鎴栦慨鏀�",notes = "浼犲叆鐘舵�佹睜椤甸潰瀵硅薄")
+ public R<List<StatusVO>> batchSubmit(@RequestBody List<StatusVO> statusVOList){
+ return R.data(statusService.batchAddSave(statusVOList));
+ }
+
+ /**
+ * 鍒犻櫎
+ */
+ @PostMapping("/remove")
+ @ApiOperationSupport(order = 4)
+ @ApiOperation(value = "閫昏緫鍒犻櫎", notes = "浼犲叆涓婚敭")
+ public R remove(@RequestBody StatusVO StatusVO){
+ statusService.delete(StatusVO);
+ return R.status(true);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎
+ */
+ @PostMapping("/batch-remove")
+ @ApiOperationSupport(order = 5)
+ @ApiOperation(value = "鎵归噺鍒犻櫎",notes = "浼犲叆涓婚敭")
+ public R batchRemove(@RequestBody List<StatusVO> StatusVOList){
+ statusService.batchDelete(StatusVOList);
+ return R.status(true);
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/RevisionRuleClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/RevisionRuleClient.java
new file mode 100644
index 0000000..91090da
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/RevisionRuleClient.java
@@ -0,0 +1,97 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.vci.ubcs.omd.entity.RevisionRule;
+import com.vci.ubcs.omd.service.IRevisionRuleService;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import com.vci.ubcs.omd.wrapper.RevisionRuleWrapper;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.*;
+
+/**
+ * Description:
+ *
+ * @author LiHang
+ * @date 2023/5/22
+ */
+@NonDS
+@ApiIgnore()
+@RestController
+@AllArgsConstructor
+public class RevisionRuleClient implements IRevisionRuleClient{
+
+ private final IRevisionRuleService service;
+ /**
+ * 鑾峰彇鐗堟湰瑙勫垯璇︽儏淇℃伅
+ *
+ * @param oid 涓婚敭
+ * @return 鐗堟湰瑙勫垯璇︽儏淇℃伅
+ */
+ @GetMapping(GET_DETAIL)
+ @Override
+ public R<RevisionRuleVO> getDetail(String oid) {
+ return R.data(RevisionRuleWrapper.build().entityVO(service.getOne(Wrappers.<RevisionRule>query().lambda().eq(RevisionRule::getOid,oid))));
+ }
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @GetMapping(GET_REF_PAGE)
+ @Override
+ public R<IPage<RevisionRuleVO>> getRefPage(BaseQueryObject baseQueryObject) {
+ return R.data(service.pageQueryVO(baseQueryObject));
+ }
+
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ @GetMapping(GET_REF)
+ public R<List<RevisionRuleVO>> getRef(BaseQueryObject baseQueryObject) {
+ RevisionRule query = new RevisionRule();
+ BeanMap.create(query).putAll(Optional.ofNullable(baseQueryObject.getConditionMap()).orElseGet(HashMap::new));
+ return R.data(RevisionRuleWrapper.build().listEntityVO(service.list(Condition.getQueryWrapper(query))));
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鏌ヨ瀵硅薄
+ *
+ * @param ids 瀵硅薄鑻辨枃鍚嶇О 浣嗘槸涓嶈兘瓒呰繃1000
+ * @return 涓氬姟瀵硅薄
+ */
+ @Override
+ @GetMapping(GET_BY_IDS)
+ public R<List<RevisionRuleVO>> selectByIdCollection(List<String> ids) {
+ return R.data(service.listRevisionRuleByIdCollection(ids));
+ }
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param oidCollection 鐗堟湰瑙勫垯涓婚敭闆嗗悎
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ */
+ @Override
+ @GetMapping(GET_BY_OIDS)
+ public R<List<RevisionRuleVO>> listBtmTypeByOidCollection(Collection<String> oidCollection) {
+ return R.data(service.listRevisionRuleByOidCollection(oidCollection));
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/StatusClient.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/StatusClient.java
new file mode 100644
index 0000000..2158d86
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/feign/StatusClient.java
@@ -0,0 +1,79 @@
+package com.vci.ubcs.omd.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.vci.ubcs.omd.entity.Status;
+import com.vci.ubcs.omd.service.IStatusService;
+import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description: 鐘舵�佹睜鐨凢eign
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+@NonDS
+@ApiIgnore
+@RestController
+@AllArgsConstructor
+public class StatusClient implements IStatusClient{
+
+ private final IStatusService service;
+ /**
+ * 鍙傜収鍒楄〃鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public R<IPage<StatusVO>> getRefPage(BaseQueryObject baseQueryObject) {
+ Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+ if (conditionMap == null) {
+ conditionMap = new HashMap<>(16);
+ }
+ return R.data(service.listStatus(conditionMap,baseQueryObject.getPageHelper()));
+ }
+
+ /**
+ * 鍙傜収鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ鏉′欢瀵硅薄
+ * @return 鎵ц缁撴灉
+ */
+ @Override
+ public R<List<StatusVO>> getRef(BaseQueryObject baseQueryObject) {
+ return R.data(service.listStatusNoPage(baseQueryObject.getConditionMap()));
+ }
+
+ /**
+ * 鑻辨枃鏌ヨ涓枃鍚嶇О
+ *
+ * @param ids 鑻辨枃
+ * @return 鏌ヨ缁撴灉
+ */
+ @Override
+ public R<Map<String,String>> getNameByIds(String ids) {
+ VciBaseUtil.alertNotNull(ids,"鑻辨枃鍚嶇О");
+ List<String> idList = Func.toStrList(",", ids);
+ List<Status> list = service.list(Wrappers.<Status>query().lambda().in(Status::getId, idList));
+ Map<String,String> map = new HashMap<>(16);
+ list.stream().peek(s -> {
+ String key = idList.stream().filter(id -> StringUtil.equals(id, s.getId())).findFirst().get();
+ map.put(key,s.getName());
+ });
+ return R.data(map);
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java
index 23db8b1..01bc4e0 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeAttributeMapper.java
@@ -1,5 +1,6 @@
package com.vci.ubcs.omd.mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import org.apache.ibatis.annotations.Param;
import org.springblade.core.mp.mapper.BladeMapper;
@@ -13,7 +14,7 @@
* @author LiHang
* @date 2023/4/23
*/
-public interface BtmTypeAttributeMapper extends BladeMapper<BtmTypeAttribute> {
+public interface BtmTypeAttributeMapper extends BaseMapper<BtmTypeAttribute> {
int batchDelete(@Param("records") List<String> records);
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeMapper.java
index 7d153eb..a8a804c 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeMapper.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.omd.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.entity.BtmType;
import org.apache.ibatis.annotations.Param;
@@ -10,7 +11,7 @@
import java.util.Collection;
import java.util.List;
-public interface BtmTypeMapper extends BladeMapper<BtmType> {
+public interface BtmTypeMapper extends BaseMapper<BtmType> {
/**
* 鏍规嵁涓婚敭鍒犻櫎瀵硅薄
* @param oid 鐢熷懡鍛ㄦ湡涓婚敭
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/RevisionRuleMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/RevisionRuleMapper.java
new file mode 100644
index 0000000..29aeb60
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/RevisionRuleMapper.java
@@ -0,0 +1,14 @@
+package com.vci.ubcs.omd.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.omd.entity.RevisionRule;
+
+/**
+ * Description: 鐗堟湰瑙勫垯鏁版嵁灞�
+ *
+ * @author LiHang
+ * @date 2023/5/17
+ */
+public interface RevisionRuleMapper extends BaseMapper<RevisionRule> {
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/StatusMapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/StatusMapper.java
new file mode 100644
index 0000000..775603a
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/StatusMapper.java
@@ -0,0 +1,13 @@
+package com.vci.ubcs.omd.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.omd.entity.Status;
+
+/**
+ * Description: 鐘舵�佹睜鏁版嵁灞�
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+public interface StatusMapper extends BaseMapper<Status> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IRevisionRuleService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IRevisionRuleService.java
new file mode 100644
index 0000000..3310980
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IRevisionRuleService.java
@@ -0,0 +1,191 @@
+package com.vci.ubcs.omd.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.omd.dto.RevisionRuleDTO;
+import com.vci.ubcs.omd.entity.RevisionRule;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import org.springblade.core.mp.support.Query;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description: 鐗堟湰瑙勫垯鏈嶅姟瀹氫箟
+ *
+ * @author LiHang
+ * @date 2023/5/17
+ */
+public interface IRevisionRuleService extends IService<RevisionRule> {
+ /**
+ * 鑾峰彇鐗堟湰瑙勫垯鍒楄〃
+ * @param condition 鏌ヨ鏉′欢
+ * @param query 鍒嗛〉淇℃伅鍜屾帓搴忎俊鎭紝榛樿浣跨敤id鎺掑簭
+ * @return 鐗堟湰瑙勫垯瀵硅薄鍒楄〃
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ IPage<RevisionRuleVO> listRevisionRule(Map<String, String> condition, Query query) throws VciBaseException;
+
+ /**
+ * 鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ * @param pkRevisionRule 鐗堟湰瑙勫垯涓婚敭
+ * @return 鐗堟湰瑙勫垯锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ RevisionRuleVO getRevisionRuleByOid(String pkRevisionRule) throws VciBaseException;
+
+ /**
+ * 鏍规嵁涓婚敭鎵归噺鑾峰彇鐗堟湰瑙勫垯
+ * @param pkRevisionRules 鐗堟湰瑙勫垯涓婚敭锛岀敤閫楀彿鍒嗛殧
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<RevisionRuleVO> listRevisionRuleByOids(String pkRevisionRules) throws VciBaseException;
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ * @param pkRevisionRuleCollection 鐗堟湰瑙勫垯涓婚敭闆嗗悎
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<RevisionRuleVO> listRevisionRuleByOidCollection(Collection<String> pkRevisionRuleCollection) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鑾峰彇鐗堟湰瑙勫垯
+ * @param id 鑻辨枃鍚嶇О
+ * @return 鐗堟湰瑙勫垯锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException
+ */
+ RevisionRuleVO getRevisionRuleById(String id) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鑾峰彇鐗堟湰瑙勫垯
+ * @param ids 鑻辨枃鍚嶇О锛屼娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<RevisionRuleVO> listRevisionRuleByIds(String ids) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О闆嗗悎鎵归噺鑾峰彇鐗堟湰瑙勫垯
+ * @param revisionRuleIdCollection 鑻辨枃鍚嶇О闆嗗悎锛屼娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<RevisionRuleVO> listRevisionRuleByIdCollection(Collection<String> revisionRuleIdCollection) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鐗堟湰瑙勫垯涓婚敭鑾峰彇涓枃鍚嶇О
+ * @param oid 鐗堟湰瑙勫垯涓婚敭锛屽涓娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull;澶氫釜浼氫互閫楀彿鍒嗛殧
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ String getNameByOid(String oid) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鐗堟湰瑙勫垯鑻辨枃鍚嶇О鑾峰彇涓枃鍚嶇О
+ * @param id 鐗堟湰瑙勫垯鑻辨枃鍚嶇О
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull;澶氫釜浼氫互閫楀彿鍒嗛殧
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ String getNameById(String id) throws VciBaseException;
+ /**
+ * 娣诲姞鐗堟湰瑙勫垯
+ * @param revisionRuleDTO 鐗堟湰瑙勫垯鏄剧ず瀵硅薄锛堝拰DTO鍏辩敤锛�
+ * @return 娣诲姞鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ RevisionRuleVO addSave(RevisionRuleDTO revisionRuleDTO) throws VciBaseException;
+
+ /**
+ * 鎵归噺娣诲姞鐗堟湰瑙勫垯
+ * @param revisionRuleDTOList 鐗堟湰瑙勫垯鏄剧ず瀵硅薄鍒楄〃(鍜孌TO鍏辩敤)
+ * @return 鎵归噺娣诲姞鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ List<RevisionRuleVO> batchAddSave(List<RevisionRuleDTO> revisionRuleDTOList) throws VciBaseException;
+
+
+ /**
+ * 淇敼鐗堟湰瑙勫垯
+ * @param revisionRuleDTO 鐗堟湰瑙勫垯鏄剧ず瀵硅薄锛堝拰DTO鍏辩敤锛�
+ * @return 淇敼鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ RevisionRuleVO editSave(RevisionRuleDTO revisionRuleDTO) throws VciBaseException;
+
+ /**
+ * 鎵归噺淇敼鐗堟湰瑙勫垯
+ * @param revisionRuleDTOList 鐗堟湰瑙勫垯鏄剧ず瀵硅薄鍒楄〃锛堝拰DTO鍏辩敤锛�
+ * @return 鎵归噺淇敼鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ List<RevisionRuleVO> batchEditSave(List<RevisionRuleDTO> revisionRuleDTOList) throws VciBaseException;
+
+ /**
+ * 鍒犻櫎鐗堟湰瑙勫垯
+ * @param revisionRuleVO 鐗堟湰瑙勫垯鏄剧ず瀵硅薄
+ * @throws VciBaseException 濡傛灉鐗堟湰瑙勫垯琚紩鐢紝鎴栬�呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ void delete(RevisionRuleVO revisionRuleVO) throws VciBaseException;
+
+ /**
+ * 鎵归噺鍒犻櫎鐗堟湰瑙勫垯
+ * @param revisionRuleVOList 瑕佸垹闄ょ殑鐗堟湰瑙勫垯鏄剧ず瀵硅薄鍒楄〃
+ * @throws VciBaseException 濡傛灉鐗堟湰瑙勫垯琚紩鐢紝鎴栬�呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ void batchDelete(List<RevisionRuleVO> revisionRuleVOList) throws VciBaseException;
+
+ /**
+ * 鎵归噺鏍¢獙鐗堟湰瑙勫垯鏄惁琚娇鐢�
+ * @param oidCollection 涓婚敭闆嗗悎
+ * @return true琛ㄧず琚紩鐢�
+ */
+ boolean batchCheckRevisionRuleUsed(Collection<String> oidCollection);
+
+ /**
+ * 鑾峰彇浣跨敤鐗堟湰瑙勫垯鐨勪笟鍔$被鍨�
+ * @param pkRevisionRule 鐗堟湰瑙勫垯鐨勪富閿�
+ * @return 寮曠敤鐨勪笟鍔$被鍨�
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ List<BtmTypeVO> listRevisionRuleUsedInfo(String pkRevisionRule) throws VciBaseException;
+
+ /**
+ * 鏍¢獙鐗堟湰瑙勫垯鏄惁琚紩鐢�
+ * @param pkRevisionRule 鐗堟湰瑙勫垯鐨勪富閿�
+ * @return true琛ㄧず琚紩鐢紝 false琛ㄧず娌℃湁琚紩鐢�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ boolean checkRevisionRuleUsed(String pkRevisionRule) throws VciBaseException;
+
+ /**
+ * 鍒ゆ柇鐗堟湰瑙勫垯鏄惁瀛樺湪
+ * @param revisionRuleId 鐗堟湰瑙勫垯鐨勮嫳鏂囧悕绉�
+ * @return true琛ㄧず閮藉瓨鍦紝false琛ㄧず涓嶅瓨鍦�
+ * @throws VciBaseException 鍙傛暟閿欒鎴栬�呮煡璇㈠嚭閿欎細鎶涘嚭寮傚父
+ */
+ boolean checkRevisionRuleExist(String revisionRuleId) throws VciBaseException;
+
+ /**
+ * 鑾峰彇涓嬩竴涓増鏈殑鍊�
+ * @param ruleId 鐗堟湰鐨勮鍒�
+ * @param currentRevisionValue 褰撳墠鐗堟湰鐨勫�硷紝涓虹┖鐨勬椂鍊欙紝璇存槑鏄柊澧�
+ * @return 涓嬩竴涓増鏈彿
+ * @throws VciBaseException 鐗堟湰瑙勫垯涓嶅瓨鍦ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ String getNextRevisionValue(String ruleId, String currentRevisionValue) throws VciBaseException;
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ * @param baseQueryObject 鏌ヨ瀵硅薄
+ * @return 鏌ヨ缁撴灉
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃舵姏鍑哄紓甯�
+ */
+ IPage<RevisionRuleVO> pageQueryVO(BaseQueryObject baseQueryObject) throws VciBaseException;
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IStatusService.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IStatusService.java
new file mode 100644
index 0000000..2ce2f32
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/IStatusService.java
@@ -0,0 +1,164 @@
+package com.vci.ubcs.omd.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.omd.entity.Status;
+import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Description: 鐘舵�佹睜鐨勬湇鍔�
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+public interface IStatusService extends IService<Status> {
+
+ /**
+ * 鑾峰彇鐘舵�佸垪琛�
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉淇℃伅鍜屾帓搴忎俊鎭紝榛樿浣跨敤id鎺掑簭
+ * @return 鐘舵�佸璞″垪琛�
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ IPage<StatusVO> listStatus(Map<String,String> conditionMap, PageHelper pageHelper) throws VciBaseException;
+
+ /**
+ * 鑾峰彇鐘舵�佸垪琛�
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @return 鐘舵�佸璞″垪琛�
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ List<StatusVO> listStatusNoPage(Map<String,String> conditionMap) throws VciBaseException;
+
+ /**
+ * 鏍规嵁涓婚敭鑾峰彇鐘舵��
+ * @param pkStatus 鐘舵�佷富閿�
+ * @return 鐘舵�侊紝濡傛灉涓嶅瓨鍦ㄤ細杩斿洖null
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ StatusVO getStatusByOid(String pkStatus) throws VciBaseException;
+
+ /**
+ * 鏍规嵁涓婚敭鎵归噺鑾峰彇鐘舵��
+ * @param primaryKeys 鐘舵�佷富閿紝鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<StatusVO> listStatusByOids(String primaryKeys) throws VciBaseException;
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐘舵��
+ * @param pkStatusCollection 鐘舵�佷富閿泦鍚�
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<StatusVO> listStatusByOidCollection(Collection<String> pkStatusCollection) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鑾峰彇鐘舵��
+ * @param id 鑻辨枃鍚嶇О
+ * @return 鐘舵�侊紝濡傛灉涓嶅瓨鍦ㄤ細杩斿洖null
+ * @throws VciBaseException 鏌ヨ鍑洪敊鎶涘嚭寮傚父
+ */
+ StatusVO getStatusById(String id) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鑾峰彇鐘舵��
+ * @param ids 鑻辨枃鍚嶇О锛屼娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<StatusVO> listStatusByIds(String ids) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О闆嗗悎鎵归噺鑾峰彇鐘舵��
+ * @param idCollection 鑻辨枃鍚嶇О闆嗗悎
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ List<StatusVO> listStatusByIdCollection(Collection<String> idCollection) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鐘舵�佷富閿幏鍙栦腑鏂囧悕绉�
+ * @param oid 鐘舵�佷富閿紝澶氫釜浣跨敤閫楀彿鍒嗛殧
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ String getNameByOid(String oid) throws VciBaseException;
+
+ /**
+ * 鏍规嵁鐘舵�佽嫳鏂囧悕绉拌幏鍙栦腑鏂囧悕绉�
+ * @param id 鐘舵�佽嫳鏂囧悕绉�
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ String getNameById(String id) throws VciBaseException;
+ /**
+ * 娣诲姞鐘舵��
+ * @param statusVO 鐘舵�佹樉绀哄璞★紙鍜孌TO鍏辩敤锛�
+ * @return 娣诲姞鍚庣殑鐘舵��
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ StatusVO addSave(StatusVO statusVO) throws VciBaseException;
+
+ /**
+ * 鎵归噺娣诲姞鐘舵��
+ * @param statusVOList 鐘舵�佹樉绀哄璞″垪琛�(鍜孌TO鍏辩敤)
+ * @return 鎵归噺娣诲姞鍚庣殑鐘舵��
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ List<StatusVO> batchAddSave(List<StatusVO> statusVOList) throws VciBaseException;
+
+
+ /**
+ * 淇敼鐘舵��
+ * @param statusVO 鐘舵�佹樉绀哄璞★紙鍜孌TO鍏辩敤锛�
+ * @return 淇敼鍚庣殑鐘舵��
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ StatusVO editSave(StatusVO statusVO) throws VciBaseException;
+
+ /**
+ * 鎵归噺淇敼鐘舵��
+ * @param statusVOList 鐘舵�佹樉绀哄璞″垪琛紙鍜孌TO鍏辩敤锛�
+ * @return 鎵归噺淇敼鍚庣殑鐘舵��
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ List<StatusVO> batchEditSave(List<StatusVO> statusVOList) throws VciBaseException;
+
+ /**
+ * 鍒犻櫎鐘舵��
+ * @param statusVO 鐘舵�佹樉绀哄璞�
+ * @throws VciBaseException 濡傛灉鐘舵�佽寮曠敤锛屾垨鑰呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ void delete(StatusVO statusVO) throws VciBaseException;
+
+ /**
+ * 鎵归噺鍒犻櫎鐘舵��
+ * @param statusVOList 瑕佸垹闄ょ殑鐘舵�佹樉绀哄璞″垪琛�
+ * @throws VciBaseException 濡傛灉鐘舵�佽寮曠敤锛屾垨鑰呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ void batchDelete(List<StatusVO> statusVOList) throws VciBaseException;
+
+ /**
+ * 鎵归噺鏍¢獙鐘舵�佹槸鍚﹁浣跨敤
+ * @param oidCollection 涓婚敭闆嗗悎
+ * @return true琛ㄧず琚紩鐢�
+ */
+ boolean checkStatusUseds(Collection<String> oidCollection);
+
+ /**
+ * 鏍¢獙鐘舵�佹槸鍚﹁寮曠敤
+ * @param pkStatus 鐘舵�佺殑涓婚敭
+ * @return true琛ㄧず琚紩鐢紝 false琛ㄧず娌℃湁琚紩鐢�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ boolean checkStatusUsed(String pkStatus) throws VciBaseException;
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
index c12be50..154d4a0 100644
--- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java
@@ -11,9 +11,7 @@
import com.vci.ubcs.omd.dto.BtmAndLinkTypeDdlDTO;
import com.vci.ubcs.omd.entity.Attribute;
import com.vci.ubcs.omd.repeater.DomainRepeater;
-import com.vci.ubcs.omd.service.IAttributeService;
-import com.vci.ubcs.omd.service.IBtmTypeAttributeService;
-import com.vci.ubcs.omd.service.IModifyAttributeService;
+import com.vci.ubcs.omd.service.*;
import com.vci.ubcs.omd.vo.*;
import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
import com.vci.ubcs.omd.wrapper.ModifyAttributeWrapper;
@@ -24,7 +22,6 @@
import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.entity.ModifyAttributeInfo;
import com.vci.ubcs.omd.mapper.BtmTypeMapper;
-import com.vci.ubcs.omd.service.IBtmTypeService;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
@@ -75,6 +72,12 @@
*/
@Autowired
private IModifyAttributeService modifyAttributeService;
+
+ /**
+ * 鐗堟湰瑙勫垯鐨勬湇鍔�
+ */
+ @Autowired
+ private IRevisionRuleService revisionRuleService;
/**
* 灞炴�х殑鏈嶅姟
@@ -589,12 +592,12 @@
if (btmTypeDTO.isRevisionFlag()){
// 闇�瑕佹帶鍒剁増鏈�
// 妫�鏌ヤ娇鐢ㄧ殑鐗堟湰瑙勫垯鏄惁瀛樺湪
-// if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) {
-// if (revisionRuleServiceI.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) {
-// throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
-// new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()});
-// }
-// }
+ if (StringUtils.isNotBlank(btmTypeDTO.getRevisionRuleId())) {
+ if (revisionRuleService.checkRevisionRuleExist(btmTypeDTO.getRevisionRuleId())) {
+ throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦紝璇峰厛鏌ヨ瘉",
+ new Object[]{btmTypeDTO.getRevisionRuleId(), btmTypeDTO.getRevisionRuleName()});
+ }
+ }
btmTypeDTO.setAttributes(addAttributeByFieldMap(btmTypeDTO.getAttributes(),BtmTypeFieldConstant.REVISION_MANAGE_FIELD_MAP));
}
if (btmTypeDTO.isLifeCycleFlag()){
@@ -798,7 +801,7 @@
attributeService.saveBatch(idAttrMap.values());
}else {
List<Attribute> addList = idAttrMap.values().stream().filter(a -> existAttr.stream().noneMatch(b -> StringUtils.equals(a.getKey(), b.getKey()))).collect(Collectors.toList());
- if (CollectionUtils.isEmpty(addList)) {
+ if (!CollectionUtils.isEmpty(addList)) {
attributeService.saveBatch(addList);
}
}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/RevisionRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/RevisionRuleServiceImpl.java
new file mode 100644
index 0000000..01f6cf0
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/RevisionRuleServiceImpl.java
@@ -0,0 +1,563 @@
+package com.vci.ubcs.omd.service.impl;
+
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.vci.ubcs.omd.dto.RevisionRuleDTO;
+import com.vci.ubcs.omd.entity.BtmType;
+import com.vci.ubcs.omd.entity.RevisionRule;
+import com.vci.ubcs.omd.mapper.BtmTypeMapper;
+import com.vci.ubcs.omd.mapper.RevisionRuleMapper;
+import com.vci.ubcs.omd.service.IRevisionRuleService;
+import com.vci.ubcs.omd.vo.BtmTypeVO;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import com.vci.ubcs.omd.wrapper.BtmTypeWrapper;
+import com.vci.ubcs.omd.wrapper.RevisionRuleWrapper;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
+import com.vci.ubcs.starter.util.MybatisParameterUtil;
+import com.vci.ubcs.starter.web.constant.RegExpConstant;
+import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import com.vci.ubcs.starter.web.util.BeanUtil;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+/**
+ * Description: 鐗堟湰瑙勫垯鐨勬湇鍔�
+ *
+ * @author LiHang
+ * @date 2023/5/17
+ */
+@Service
+public class RevisionRuleServiceImpl extends ServiceImpl<RevisionRuleMapper, RevisionRule> implements IRevisionRuleService {
+
+ private final Pattern pattern = Pattern.compile("\\d+");
+
+ @Resource
+ private BtmTypeMapper btmTypeMapper;
+
+ /**
+ * 鑾峰彇鐗堟湰瑙勫垯鍒楄〃
+ *
+ * @param condition 鏌ヨ鏉′欢
+ * @param query 鍒嗛〉淇℃伅鍜屾帓搴忎俊鎭紝榛樿浣跨敤id鎺掑簭
+ * @return 鐗堟湰瑙勫垯瀵硅薄鍒楄〃
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public IPage<RevisionRuleVO> listRevisionRule(Map<String, String> condition, Query query) throws VciBaseException {
+ RevisionRule queryConditionObj = new RevisionRule();
+ BeanMap beanMap = BeanMap.create(queryConditionObj);
+ beanMap.putAll(condition);
+ return RevisionRuleWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(queryConditionObj).lambda().orderByAsc(RevisionRule::getId)));
+ }
+
+ /**
+ * 鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param pkRevisionRule 鐗堟湰瑙勫垯涓婚敭
+ * @return 鐗堟湰瑙勫垯锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public RevisionRuleVO getRevisionRuleByOid(String pkRevisionRule) throws VciBaseException {
+ VciBaseUtil.alertNotNull(pkRevisionRule,"鐗堟湰瑙勫垯涓婚敭");
+ return RevisionRuleWrapper.build().entityVO(getOne(Wrappers.<RevisionRule>query().lambda().eq(RevisionRule::getOid,pkRevisionRule)));
+ }
+
+ /**
+ * 鏍规嵁涓婚敭鎵归噺鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param pkRevisionRules 鐗堟湰瑙勫垯涓婚敭锛岀敤閫楀彿鍒嗛殧
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<RevisionRuleVO> listRevisionRuleByOids(String pkRevisionRules) throws VciBaseException {
+ VciBaseUtil.alertNotNull(pkRevisionRules,"鐗堟湰瑙勫垯涓婚敭");
+ List<String> oidList = Func.toStrList(",", pkRevisionRules);
+ return RevisionRuleWrapper.build().listVO(list(MybatisParameterUtil.cutInParameter(Wrappers.<RevisionRule>query().lambda(),RevisionRule::getOid,oidList)));
+ }
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param pkRevisionRuleCollection 鐗堟湰瑙勫垯涓婚敭闆嗗悎
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<RevisionRuleVO> listRevisionRuleByOidCollection(Collection<String> pkRevisionRuleCollection) throws VciBaseException {
+ VciBaseUtil.alertNotNull(pkRevisionRuleCollection,"鐗堟湰瑙勫垯涓婚敭闆嗗悎");
+ return RevisionRuleWrapper.build().listVO(list(MybatisParameterUtil.cutInParameter(Wrappers.<RevisionRule>query().lambda(),RevisionRule::getOid, Arrays.asList(pkRevisionRuleCollection.toArray()))));
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param id 鑻辨枃鍚嶇О
+ * @return 鐗堟湰瑙勫垯锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public RevisionRuleVO getRevisionRuleById(String id) throws VciBaseException {
+ VciBaseUtil.alertNotNull(id,"鑻辨枃鍚嶇О");
+ return RevisionRuleWrapper.build().entityVO(getOne(Wrappers.<RevisionRule>query().lambda().eq(RevisionRule::getId,id)));
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param ids 鑻辨枃鍚嶇О锛屼娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<RevisionRuleVO> listRevisionRuleByIds(String ids) throws VciBaseException {
+ VciBaseUtil.alertNotNull(ids,"鑻辨枃鍚嶇О");
+ List<String> idList = Func.toStrList(",", ids);
+ return RevisionRuleWrapper.build().listVO(baseMapper.selectList(Wrappers.<RevisionRule>query().lambda().in(RevisionRule::getId,idList)));
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О闆嗗悎鎵归噺鑾峰彇鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleIdCollection 鑻辨枃鍚嶇О闆嗗悎锛屼娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐗堟湰瑙勫垯鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<RevisionRuleVO> listRevisionRuleByIdCollection(Collection<String> revisionRuleIdCollection) throws VciBaseException {
+ VciBaseUtil.alertNotNull(revisionRuleIdCollection,"鑻辨枃鍚嶇О闆嗗悎");
+// return RevisionRuleWrapper.build().listVO(list(MybatisParameterUtil.cutInParameter(Wrappers.<RevisionRule>query().lambda(),RevisionRule::getId, Collections.singletonList(revisionRuleIdCollection))));
+ List<RevisionRule> list = baseMapper.selectList(Wrappers.<RevisionRule>query().lambda().in(RevisionRule::getId, revisionRuleIdCollection));
+ return RevisionRuleWrapper.build().listVO(list);
+ }
+
+ /**
+ * 鏍规嵁鐗堟湰瑙勫垯涓婚敭鑾峰彇涓枃鍚嶇О
+ *
+ * @param oid 鐗堟湰瑙勫垯涓婚敭锛屽涓娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull;澶氫釜浼氫互閫楀彿鍒嗛殧
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public String getNameByOid(String oid) throws VciBaseException {
+ VciBaseUtil.alertNotNull(oid,"鐗堟湰瑙勫垯涓婚敭");
+ return getRevisionRuleByOid(oid).getName();
+ }
+
+ /**
+ * 鏍规嵁鐗堟湰瑙勫垯鑻辨枃鍚嶇О鑾峰彇涓枃鍚嶇О
+ *
+ * @param id 鐗堟湰瑙勫垯鑻辨枃鍚嶇О
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull;澶氫釜浼氫互閫楀彿鍒嗛殧
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public String getNameById(String id) throws VciBaseException {
+ VciBaseUtil.alertNotNull(id,"鐗堟湰瑙勫垯鑻辨枃鍚嶇О");
+ return getRevisionRuleById(id).getName();
+ }
+
+ /**
+ * 娣诲姞鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleVO 鐗堟湰瑙勫垯鏄剧ず瀵硅薄锛堝拰DTO鍏辩敤锛�
+ * @return 娣诲姞鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public RevisionRuleVO addSave(RevisionRuleDTO revisionRuleVO) throws VciBaseException {
+ VciBaseUtil.alertNotNull(revisionRuleVO,"瑕佹坊鍔犵殑鐗堟湰瑙勫垯",revisionRuleVO.getId(),"鐗堟湰瑙勫垯鑻辨枃鍚嶇О",revisionRuleVO.getName(),"鐗堟湰瑙勫垯涓枃鍚嶇О");
+ List<RevisionRuleVO> voList = batchAddSave(Collections.singletonList(revisionRuleVO));
+ if (!CollectionUtils.isEmpty(voList)){
+ return voList.get(0);
+ }
+ return null;
+ }
+
+ /**
+ * 鎵归噺娣诲姞鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleDTOList 鐗堟湰瑙勫垯鏄剧ず瀵硅薄鍒楄〃
+ * @return 鎵归噺娣诲姞鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<RevisionRuleVO> batchAddSave(List<RevisionRuleDTO> revisionRuleDTOList) throws VciBaseException {
+ if(CollectionUtils.isEmpty(revisionRuleDTOList)){
+ throw new VciBaseException("瑕佹坊鍔犵殑鐗堟湰瑙勫垯瀵硅薄涓嶈兘涓虹┖");
+ }
+ //1. 鍒ゆ柇鍚勪釜灞炴�ф槸鍚﹀繀杈撻」閮借緭鍏ヤ簡
+ //2. 鍒ゆ柇鐨勮嫳鏂囧悕绉版槸鍚﹂噸澶�
+ Set<String> idSet = new HashSet<>();
+ String creator = AuthUtil.getUserAccount();
+ Date now = new Date();
+ String btmName = "revision-rule";
+ List<RevisionRule> revisionRuleList = new ArrayList<>();
+ revisionRuleDTOList.forEach(s -> {
+ //鍒ゆ柇涓虹┖
+ VciBaseUtil.alertNotNull(s.getId(),"鐗堟湰瑙勫垯鑻辨枃鍚嶇О",s.getName(),"鐗堟湰瑙勫垯涓枃鍚嶇О",s.getStartCode(),"璧峰瀛楃",s.getSerialStep(),"姝ラ暱");
+ //鍒ゆ柇鏈鏄惁瀛樺湪
+ if(idSet.contains(s.getId().toLowerCase().trim())){
+ throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勭姸鎬佸凡缁忓瓨鍦�",new Object[]{s.getId()});
+ }else{
+ idSet.add(s.getId().toLowerCase().trim());
+ }
+ RevisionRule ruleDO = org.springblade.core.tool.utils.BeanUtil.copy(s, RevisionRule.class);
+ if(StringUtils.isBlank(ruleDO.getOid())){
+ ruleDO.setOid(VciBaseUtil.getPk());
+ }
+ //鍒ゆ柇灞炴�ф槸鍚︾鍚堣姹�
+ ruleDO.setCreator(creator);
+ ruleDO.setCreateTime(now);
+ ruleDO.setOwner(creator);
+ ruleDO.setBtmName(btmName);
+ ruleDO.setTs(now);
+ ruleDO.setLastModifier(creator);
+ ruleDO.setLastModifyTime(now);
+ ruleDO.setTs(now);
+ revisionRuleList.add(ruleDO);
+ });
+ //鍒ゆ柇鏄惁瀛樺湪
+ List<RevisionRuleVO> checkExistList = listRevisionRuleByIdCollection(idSet);
+ if(!CollectionUtils.isEmpty(checkExistList)){
+ String existIds = checkExistList.stream().map(RevisionRuleVO::getId).collect(Collectors.joining(","));
+ throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勭増鏈鍒欑殑宸茬粡鍦ㄧ郴缁熶腑瀛樺湪锛堜笉鍖哄垎澶у皬鍐欙級锛屼笉鑳芥坊鍔�",new Object[]{existIds});
+ }
+ VciBaseUtil.switchCollectionForOracleIn(revisionRuleList,1000).forEach(this::saveOrUpdateBatch);
+ return RevisionRuleWrapper.build().listEntityVO(revisionRuleList);
+ }
+
+ /**
+ * 淇敼鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleDTO 鐗堟湰瑙勫垯鏄剧ず瀵硅薄锛堝拰DTO鍏辩敤锛�
+ * @return 淇敼鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public RevisionRuleVO editSave(RevisionRuleDTO revisionRuleDTO) throws VciBaseException {
+ VciBaseUtil.alertNotNull(revisionRuleDTO,"瑕佷慨鏀圭殑鐗堟湰瑙勫垯瀵硅薄",revisionRuleDTO.getOid(),"瑕佷慨鏀圭殑鐗堟湰瑙勫垯瀵硅薄鐨勪富閿�");
+ List<RevisionRuleVO> voList = batchEditSave(Collections.singletonList(revisionRuleDTO));
+ if (!CollectionUtils.isEmpty(voList)){
+ return voList.get(0);
+ }
+ return null;
+ }
+
+ /**
+ * 鎵归噺淇敼鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleDTOList 鐗堟湰瑙勫垯鏄剧ず瀵硅薄鍒楄〃锛堝拰DTO鍏辩敤锛�
+ * @return 鎵归噺淇敼鍚庣殑鐗堟湰瑙勫垯
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<RevisionRuleVO> batchEditSave(List<RevisionRuleDTO> revisionRuleDTOList) throws VciBaseException {
+ if(CollectionUtils.isEmpty(revisionRuleDTOList)){
+ throw new VciBaseException("瑕佷慨鏀圭殑鐗堟湰瑙勫垯瀵硅薄涓嶈兘涓虹┖");
+ }
+ //1. 鍒ゆ柇鍚勪釜灞炴�ф槸鍚﹀繀杈撻」閮借緭鍏ヤ簡
+ //2. 鍒ゆ柇鐨勮嫳鏂囧悕绉版槸鍚﹂噸澶�
+ Set<String> idSet = new HashSet<>();
+ Map<String,RevisionRuleDTO> oidObjectMap = new HashMap<>(16);
+ String creator = AuthUtil.getUserAccount();
+ Date now = new Date();
+ List<RevisionRule> revisionRuleList = new ArrayList<>();
+ revisionRuleDTOList.forEach(s -> {
+ //鍒ゆ柇涓虹┖
+ VciBaseUtil.alertNotNull(s.getOid(),"鐗堟湰瑙勫垯涓婚敭",s.getId(),"鐗堟湰瑙勫垯鑻辨枃鍚嶇О",s.getName(),"鐗堟湰瑙勫垯涓枃鍚嶇О",s.getStartCode(),"璧峰瀛楃",s.getSerialStep(),"姝ラ暱");
+ //鍒ゆ柇鏈鏄惁瀛樺湪
+ if(idSet.contains(s.getId().toLowerCase().trim())){
+ throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勭増鏈鍒欏凡缁忓瓨鍦紙涓嶅尯鍒嗗ぇ灏忓啓锛�",new Object[]{s.getId()});
+ }else{
+ idSet.add(s.getId().toLowerCase().trim());
+ }
+ oidObjectMap.put(s.getOid(),s);
+ RevisionRule ruleDO = org.springblade.core.tool.utils.BeanUtil.copy(s, RevisionRule.class);
+ ruleDO.setLastModifier(creator);
+ ruleDO.setLastModifyTime(now);
+ ruleDO.setTs(now);
+ revisionRuleList.add(ruleDO);
+ });
+ //鍒ゆ柇鏄惁瀛樺湪
+ List<RevisionRuleVO> checkExistList = listRevisionRuleByOidCollection(oidObjectMap.keySet());
+ if(CollectionUtils.isEmpty(checkExistList)){
+ throw new VciBaseException("杩欎簺鐗堟湰瑙勫垯鍦ㄧ郴缁熶腑鍧囦笉瀛樺湪",new Object[]{});
+ }
+ //鍒ゆ柇灞炴�у悕绉版槸鍚︿慨鏀�
+ Set<String> oidInDbSet = new HashSet<>();
+ checkExistList.forEach(s -> {
+ RevisionRuleDTO revisionRuleDTO = oidObjectMap.get(s.getOid());
+ if(!revisionRuleDTO.getId().equalsIgnoreCase(s.getId())){
+ throw new VciBaseException("鐗堟湰瑙勫垯[{0}]鐨勮嫳鏂囧悕绉颁笉鍏佽淇敼锛屽師鍚嶇О{1},鏂板悕绉皗2}",new Object[]{s.getName(),s.getId(),revisionRuleDTO.getId()});
+ }
+ BeanUtil.convert(revisionRuleDTO,s);
+ oidInDbSet.add(s.getOid());
+ });
+ //鐪嬬湅鏄惁鏈変笉鍦ㄧ郴缁熶腑瀛樺湪鐨�
+ oidObjectMap.forEach( (k,v) ->{
+ if(!oidInDbSet.contains(k)){
+ throw new VciBaseException("鐗堟湰瑙勫垯{0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦�",new Object[]{v.getId(),v.getName()});
+ }
+ });
+ VciBaseUtil.switchCollectionForOracleIn(revisionRuleList,1000).forEach(this::saveOrUpdateBatch);
+ return RevisionRuleWrapper.build().listEntityVO(revisionRuleList);
+ }
+
+ /**
+ * 鍒犻櫎鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleVO 鐗堟湰瑙勫垯鏄剧ず瀵硅薄
+ * @throws VciBaseException 濡傛灉鐗堟湰瑙勫垯琚紩鐢紝鎴栬�呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ @Override
+ public void delete(RevisionRuleVO revisionRuleVO) throws VciBaseException {
+ VciBaseUtil.alertNotNull(revisionRuleVO,"瑕佸垹闄ょ殑鐗堟湰瀵硅薄",revisionRuleVO.getOid(),"瑕佸垹闄ょ殑鐗堟湰瀵硅薄鐨勪富閿�");
+ batchDelete(Collections.singletonList(revisionRuleVO));
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鐗堟湰瑙勫垯
+ *
+ * @param revisionRuleVOList 瑕佸垹闄ょ殑鐗堟湰瑙勫垯鏄剧ず瀵硅薄鍒楄〃
+ * @throws VciBaseException 濡傛灉鐗堟湰瑙勫垯琚紩鐢紝鎴栬�呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ @Override
+ @Transactional(rollbackFor = VciBaseException.class)
+ public void batchDelete(List<RevisionRuleVO> revisionRuleVOList) throws VciBaseException {
+ VciBaseUtil.alertNotNull(revisionRuleVOList,"鐗堟湰瑙勫垯");
+ Set<String> oidSet = revisionRuleVOList.stream().map(RevisionRuleVO::getOid).peek(s -> VciBaseUtil.alertNotNull(StringUtil.isBlank(s))).collect(Collectors.toSet());
+ List<RevisionRuleVO> revisionRuleList = listRevisionRuleByOidCollection(oidSet);
+ if(CollectionUtils.isEmpty(revisionRuleList)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐗堟湰瑙勫垯鍦ㄧ郴缁熶腑涓嶅瓨鍦�,鍙兘鎮ㄩ渶瑕佸埛鏂板悗鍐嶈瘯");
+ }
+ Set<String> oidInDbSet = revisionRuleList.stream().map(RevisionRuleVO::getOid).collect(Collectors.toSet());
+ oidSet.forEach( s -> {
+ if(!oidInDbSet.contains(s)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐗堟湰瑙勫垯鍦ㄧ郴缁熶腑涓嶅瓨鍦�,鍙兘鎮ㄩ渶瑕佸埛鏂板悗鍐嶈瘯");
+ }
+ });
+ //妫�鏌ュ睘鎬ф槸鍚﹁寮曠敤
+ if(batchCheckRevisionRuleUsed(oidSet)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐗堟湰瑙勫垯鍦ㄤ笟鍔$被鍨嬩腑琚娇鐢紝鏃犳硶鍒犻櫎");
+ }
+ //鎵ц鎵归噺鍒犻櫎
+ Collection<Collection<String>> oidCollections = VciBaseUtil.switchCollectionForOracleIn(oidInDbSet);
+ for(Collection<String> oidCollection : oidCollections){
+ baseMapper.delete(Wrappers.<RevisionRule>query().lambda().in(RevisionRule::getOid,oidCollection));
+ }
+
+ }
+
+ /**
+ * 鎵归噺鏍¢獙鐗堟湰瑙勫垯鏄惁琚娇鐢�
+ *
+ * @param oidCollection 涓婚敭闆嗗悎
+ * @return true琛ㄧず琚紩鐢�
+ */
+ @Override
+ public boolean batchCheckRevisionRuleUsed(Collection<String> oidCollection) {
+ VciBaseUtil.alertNotNull("鏍¢獙鏄惁寮曠敤鐨勭増鏈鍒欑殑涓婚敭",oidCollection);
+ //妫�鏌ヤ笟鍔$被鍨�
+ Collection<Collection<String>> oidCollections = VciBaseUtil.switchCollectionForOracleIn(oidCollection);
+ for(Collection<String> oids : oidCollections) {
+ MPJLambdaWrapper<BtmType> join = Map2MPJLambdaUtil.getMPJLambdaWrapper(new BtmType())
+ .join("join", RevisionRule.class, RevisionRule::getId, BtmType::getRevisionRuleId)
+ .in(RevisionRule::getOid, oids);
+ Long count = btmTypeMapper.selectCount(join);
+ if(count>0){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * 鑾峰彇浣跨敤鐗堟湰瑙勫垯鐨勪笟鍔$被鍨�
+ *
+ * @param pkRevisionRule 鐗堟湰瑙勫垯鐨勪富閿�
+ * @return 寮曠敤鐨勪笟鍔$被鍨�
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<BtmTypeVO> listRevisionRuleUsedInfo(String pkRevisionRule) throws VciBaseException {
+ VciBaseUtil.alertNotNull(pkRevisionRule,"鐗堟湰瑙勫垯瀵硅薄鐨勪富閿�");
+ List<BtmType> result = btmTypeMapper.selectList(
+ Map2MPJLambdaUtil.getMPJLambdaWrapper(new BtmType())
+ .join("join", RevisionRule.class, RevisionRule::getId, BtmType::getRevisionRuleId)
+ .eq(RevisionRule::getOid, pkRevisionRule));
+ return BtmTypeWrapper.build().listEntityVO(result);
+ }
+
+ /**
+ * 鏍¢獙鐗堟湰瑙勫垯鏄惁琚紩鐢�
+ *
+ * @param pkRevisionRule 鐗堟湰瑙勫垯鐨勪富閿�
+ * @return true琛ㄧず琚紩鐢紝 false琛ㄧず娌℃湁琚紩鐢�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public boolean checkRevisionRuleUsed(String pkRevisionRule) throws VciBaseException {
+ VciBaseUtil.alertNotNull(pkRevisionRule,"瑕佹牎楠屾槸鍚﹀紩鐢ㄧ殑鐗堟湰瑙勫垯瀵硅薄鐨勪富閿�");
+ return batchCheckRevisionRuleUsed(Func.toStrList(",",pkRevisionRule));
+ }
+
+ /**
+ * 鍒ゆ柇鐗堟湰瑙勫垯鏄惁瀛樺湪
+ *
+ * @param revisionRuleId 鐗堟湰瑙勫垯鐨勮嫳鏂囧悕绉�
+ * @return true琛ㄧず閮藉瓨鍦紝false琛ㄧず涓嶅瓨鍦�
+ * @throws VciBaseException 鍙傛暟閿欒鎴栬�呮煡璇㈠嚭閿欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public boolean checkRevisionRuleExist(String revisionRuleId) throws VciBaseException {
+ VciBaseUtil.alertNotNull(revisionRuleId,"鐗堟湰瑙勫垯鐨勮嫳鏂囧悕绉�");
+ List<String> idList = Func.toStrList(",",revisionRuleId.toLowerCase(Locale.ROOT));
+ List<RevisionRuleVO> revisionRuleDOList = listRevisionRuleByIdCollection(idList);
+ if(CollectionUtils.isEmpty(revisionRuleDOList)){
+ return false;
+ }else{
+ Set<String> existIdList = revisionRuleDOList.stream().map(RevisionRuleVO::getId)
+ .collect(Collectors.toList()).stream()
+ .map(String::toLowerCase).collect(Collectors.toSet());
+ //涓婃柟宸茬粡杞崲涓轰簡灏忓啓
+ return idList.stream().allMatch(s -> existIdList.contains(s.toLowerCase().trim()));
+ }
+ }
+
+ /**
+ * 鑾峰彇涓嬩竴涓増鏈殑鍊�
+ *
+ * @param ruleId 鐗堟湰鐨勮鍒�
+ * @param currentRevisionValue 褰撳墠鐗堟湰鐨勫�硷紝涓虹┖鐨勬椂鍊欙紝璇存槑鏄柊澧�
+ * @return 涓嬩竴涓増鏈彿
+ * @throws VciBaseException 鐗堟湰瑙勫垯涓嶅瓨鍦ㄧ殑鏃跺�欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public String getNextRevisionValue(String ruleId, String currentRevisionValue) throws VciBaseException {
+ VciBaseUtil.alertNotNull(ruleId,"瑙勫垯鐨勮嫳鏂囧悕绉�");
+ boolean isFirstRevision = StringUtils.isBlank(currentRevisionValue);
+ RevisionRuleVO revisionRuleVO = getRevisionRuleByOid(ruleId);
+ String ruleValue;
+ if(isFirstRevision){
+ //鍓嶇紑+ 璧峰 + 鍚庣紑
+ return (StringUtils.isBlank(revisionRuleVO.getPrefixCode())?"":revisionRuleVO.getPrefixCode().trim()) + revisionRuleVO.getStartCode() +
+ (StringUtils.isBlank(revisionRuleVO.getSuffixCode())?"":revisionRuleVO.getSuffixCode().trim());
+ }else{
+ ruleValue = replacePrefixAndSubfix(currentRevisionValue, revisionRuleVO.getPrefixCode(), revisionRuleVO.getSuffixCode());
+ String lastChar = ruleValue.substring(ruleValue.length()-1);
+ String unHasLastCharRule = ruleValue.substring(0,ruleValue.length()-1);
+ Integer step = revisionRuleVO.getSerialStep();
+ if(step == null){
+ step = 1;
+ }
+ if(lastChar.matches(RegExpConstant.LETTER)){
+ //鏄瓧姣嶇殑锛屽姞杩囧幓鍚庡鏋滆秴杩囦簡Z锛岄偅灏卞緱鍔犱竴浣�
+ //鐢╝scii鐮佹潵娣诲姞
+ int ascInt = lastChar.toCharArray()[0];
+ int ascForZ = "Z".toCharArray()[0];
+ int ascForA = "A".toCharArray()[0];
+ int newValueAsc;
+
+ if((ascInt + step) > ascForZ){
+ newValueAsc = (ascInt + step) - ascForZ + ascForA;
+ ruleValue = unHasLastCharRule + "A" + (char)newValueAsc;
+ }else {
+ ruleValue = unHasLastCharRule + (char)(ascInt + step);
+ }
+ }else{
+ //鏄暟瀛�
+ String lastNumberInString = getNumbers(ruleValue);
+ String nextNumber = String.valueOf(Integer.parseInt(lastNumberInString) + step);
+ if(ruleValue.length() > lastNumberInString.length()){
+ ruleValue = ruleValue.substring(0,ruleValue.length() - lastNumberInString.length()-1) + nextNumber;
+ }else{
+ ruleValue = nextNumber;
+ }
+ }
+ }
+ return ruleValue;
+ }
+
+ /**
+ * 鑾峰彇瀛楃涓蹭腑鐨勬暟瀛楅儴鍒�
+ * @param content 瀛楃涓插唴瀹�
+ * @return 鏁板瓧鐨勯儴鍒�,鏈�鍚庣殑閭i儴鍒�
+ */
+ private String getNumbers(String content) {
+ Matcher matcher = pattern.matcher(content);
+ while (matcher.find()) {
+ return matcher.group(matcher.groupCount()-1);
+ }
+ return "";
+ }
+
+
+ /**
+ * 鏇挎崲鍓嶇紑鍜屽悗缂�
+ * @param ruleValue 褰撳墠鐗堟湰鐨勫��
+ * @param prefix 鍓嶇紑
+ * @param subfix 鍚庣紑
+ * @return 鍘婚櫎鍓嶇紑鍜屽悗缂�鐨勭増鏈鍒�
+ */
+ private String replacePrefixAndSubfix(String ruleValue, String prefix, String subfix){
+ if(prefix==null){
+ prefix = "";
+ }
+ if(subfix == null){
+ subfix = "";
+ }
+ if(StringUtils.isNotBlank(prefix) && ruleValue.startsWith(prefix)){
+ ruleValue = ruleValue.substring(prefix.length());
+ }
+ if(StringUtils.isNotBlank(subfix) && ruleValue.endsWith(subfix)){
+ ruleValue = ruleValue.substring(0,ruleValue.length()-subfix.length()-1);
+ }
+ return ruleValue;
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param baseQueryObject 鏌ヨ瀵硅薄
+ * @return 鏌ヨ缁撴灉
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃舵姏鍑哄紓甯�
+ */
+ @Override
+ public IPage<RevisionRuleVO> pageQueryVO(BaseQueryObject baseQueryObject) throws VciBaseException {
+ Map<String, String> conditionMap = baseQueryObject.getConditionMap();
+ if (conditionMap == null){
+ conditionMap = new HashMap<>();
+ }
+ PageHelper pageHelper = baseQueryObject.getPageHelper();
+ Query query = new Query();
+ query.setCurrent(pageHelper.getPage());
+ query.setSize(pageHelper.getLimit());
+ query.setAscs(pageHelper.getSort());
+ RevisionRule queryConditionObj = new RevisionRule();
+ BeanMap beanMap = BeanMap.create(queryConditionObj);
+ beanMap.putAll(conditionMap);
+ return RevisionRuleWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(queryConditionObj).lambda().orderByAsc(RevisionRule::getId)));
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
new file mode 100644
index 0000000..460ec37
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/StatusServiceImpl.java
@@ -0,0 +1,459 @@
+package com.vci.ubcs.omd.service.impl;
+
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.omd.entity.Status;
+import com.vci.ubcs.omd.mapper.StatusMapper;
+import com.vci.ubcs.omd.service.IStatusService;
+import com.vci.ubcs.omd.vo.StatusVO;
+import com.vci.ubcs.omd.wrapper.StatusWrapper;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
+import com.vci.ubcs.starter.web.util.BeanUtil;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.cglib.beans.BeanMap;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.*;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+/**
+ * Description: 鐘舵�佹睜鐨勫疄鐜扮被
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+@Service
+public class StatusServiceImpl extends ServiceImpl<StatusMapper, Status> implements IStatusService {
+
+ private final String REGEXP = "^[A-Za-z]+$";
+
+ /**
+ * 鑾峰彇鐘舵�佸垪琛�
+ *
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @param pageHelper 鍒嗛〉淇℃伅鍜屾帓搴忎俊鎭紝榛樿浣跨敤id鎺掑簭
+ * @return 鐘舵�佸璞″垪琛�
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public IPage<StatusVO> listStatus(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException {
+ Query query = new Query();
+ query.setCurrent(pageHelper.getPage());
+ query.setSize(pageHelper.getLimit());
+ query.setAscs("id");
+ Status queryVO = new Status();
+ BeanMap.create(queryVO).putAll(conditionMap);
+ return StatusWrapper.build().pageVO(baseMapper.selectPage(Condition.getPage(query), Condition.getQueryWrapper(queryVO).lambda().orderByAsc(Status::getId)));
+ }
+
+ /**
+ * 鑾峰彇鐘舵�佸垪琛�
+ *
+ * @param conditionMap 鏌ヨ鏉′欢
+ * @return 鐘舵�佸璞″垪琛�
+ * @throws VciBaseException 鏌ヨ鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<StatusVO> listStatusNoPage(Map<String, String> conditionMap) throws VciBaseException {
+ Status queryVO = new Status();
+ BeanMap.create(queryVO).putAll(conditionMap);
+ return StatusWrapper.build().listEntityVO(baseMapper.selectList(Condition.getQueryWrapper(queryVO).lambda().orderByAsc(Status::getId)));
+ }
+
+ /**
+ * 鏍规嵁涓婚敭鑾峰彇鐘舵��
+ *
+ * @param pkStatus 鐘舵�佷富閿�
+ * @return 鐘舵�侊紝濡傛灉涓嶅瓨鍦ㄤ細杩斿洖null
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public StatusVO getStatusByOid(String pkStatus) throws VciBaseException {
+ List<StatusVO> statusVOList = listStatusByOids(pkStatus);
+ if (!CollectionUtils.isEmpty(statusVOList)){
+ return statusVOList.get(0);
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁涓婚敭鎵归噺鑾峰彇鐘舵��
+ *
+ * @param primaryKeys 鐘舵�佷富閿紝鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<StatusVO> listStatusByOids(String primaryKeys) throws VciBaseException {
+ VciBaseUtil.alertNotNull(primaryKeys,"鐘舵�佺殑涓婚敭");
+ List<String> pkList = Func.toStrList(",", primaryKeys);
+ return listStatusByOidCollection(pkList);
+ }
+
+ /**
+ * 鎵归噺鏍规嵁涓婚敭鑾峰彇鐘舵��
+ *
+ * @param pkStatusCollection 鐘舵�佷富閿泦鍚�
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<StatusVO> listStatusByOidCollection(Collection<String> pkStatusCollection) throws VciBaseException {
+ if(!CollectionUtils.isEmpty(pkStatusCollection)){
+ List<Status> statusDOList = listStatusByOidCollectionDO(pkStatusCollection);
+ if(!CollectionUtils.isEmpty(statusDOList)) {
+ return StatusWrapper.build().listEntityVO(statusDOList);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁涓婚敭闆嗗悎鑾峰彇鏁版嵁瀵硅薄
+ * @param oidCollection 涓婚敭闆嗗悎
+ * @return 鏌ヨ鍑烘潵鐨勬暟鎹璞�
+ * @throws VciBaseException mybatis鎵ц鍑洪敊鏃朵細鎶涘嚭寮傚父
+ */
+ private List<Status> listStatusByOidCollectionDO(Collection<String> oidCollection) throws VciBaseException{
+ if(!CollectionUtils.isEmpty(oidCollection)){
+ List<Status> statusDOList = new ArrayList<>();
+ Collection<Collection<String>> pksCollections = VciBaseUtil.switchCollectionForOracleIn(oidCollection);
+ if(!CollectionUtils.isEmpty(pksCollections)) {
+ pksCollections.forEach(s -> {
+ List<Status> queryResult = baseMapper.selectList(Wrappers.<Status>query().lambda().in(Status::getOid,s));
+ if(!CollectionUtils.isEmpty(queryResult)){
+ statusDOList.addAll(queryResult);
+ }
+ });
+ }
+ return statusDOList;
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鑾峰彇鐘舵��
+ *
+ * @param id 鑻辨枃鍚嶇О
+ * @return 鐘舵�侊紝濡傛灉涓嶅瓨鍦ㄤ細杩斿洖null
+ * @throws VciBaseException 鏌ヨ鍑洪敊鎶涘嚭寮傚父
+ */
+ @Override
+ public StatusVO getStatusById(String id) throws VciBaseException {
+ List<StatusVO> statusVOList = listStatusByIds(id);
+ if(!CollectionUtils.isEmpty(statusVOList)){
+ return statusVOList.get(0);
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О鎵归噺鑾峰彇鐘舵��
+ *
+ * @param ids 鑻辨枃鍚嶇О锛屼娇鐢ㄩ�楀彿鍒嗛殧
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<StatusVO> listStatusByIds(String ids) throws VciBaseException {
+ VciBaseUtil.alertNotNull(ids,"鐘舵�佺殑鑻辨枃鍚嶇О");
+ List<String> idList = Func.toStrList(",", ids);
+ return listStatusByIdCollection(idList);
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О闆嗗悎鎵归噺鑾峰彇鐘舵��
+ *
+ * @param idCollection 鑻辨枃鍚嶇О闆嗗悎
+ * @return 鐘舵�佸垪琛紝濡傛灉鏈変笉瀛樺湪鐨勪笉浼氳繑鍥烇紝鍏ㄩ儴涓嶅瓨鍦ㄧ殑鍒欒繑鍥炵┖鍒楄〃
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public List<StatusVO> listStatusByIdCollection(Collection<String> idCollection) throws VciBaseException {
+ if(!CollectionUtils.isEmpty(idCollection)){
+ List<Status> statusDOList = listStatusByIdCollectionDO(idCollection);
+ if(!CollectionUtils.isEmpty(statusDOList)) {
+ return StatusWrapper.build().listEntityVO(statusDOList);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁鑻辨枃鍚嶇О闆嗗悎鑾峰彇鏁版嵁瀵硅薄
+ * @param idCollection 鑻辨枃鍚嶇О闆嗗悎
+ * @return 鏁版嵁瀵硅薄鍒楄〃锛屽鏋滄湁涓嶅瓨鍦ㄧ殑涓嶄細杩斿洖锛屽叏閮ㄤ笉瀛樺湪鐨勫垯杩斿洖绌哄垪琛�
+ * @throws VciBaseException mybatis鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ private List<Status> listStatusByIdCollectionDO(Collection<String> idCollection) throws VciBaseException {
+ if(CollectionUtils.isEmpty(idCollection)) {
+ return null;
+ }
+ List<Status> statusDOList = new ArrayList<>();
+ Collection<Collection<String>> idCollections = VciBaseUtil.switchCollectionForOracleIn(idCollection);
+ if(!CollectionUtils.isEmpty(idCollections)) {
+ idCollections.forEach(s -> {
+ List<Status> queryResult = baseMapper.selectList(Wrappers.<Status>query().lambda().in(Status::getId,s));
+ if(!CollectionUtils.isEmpty(queryResult)){
+ statusDOList.addAll(queryResult);
+ }
+ });
+ }
+ return statusDOList;
+ }
+
+ /**
+ * 鏍规嵁鐘舵�佷富閿幏鍙栦腑鏂囧悕绉�
+ *
+ * @param oid 鐘舵�佷富閿紝澶氫釜浣跨敤閫楀彿鍒嗛殧
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public String getNameByOid(String oid) throws VciBaseException {
+ VciBaseUtil.alertNotNull(oid,"鐘舵�佸璞′富閿�");
+ return Optional.ofNullable(getStatusByOid(oid)).orElseGet(StatusVO::new).getName();
+ }
+
+ /**
+ * 鏍规嵁鐘舵�佽嫳鏂囧悕绉拌幏鍙栦腑鏂囧悕绉�
+ *
+ * @param id 鐘舵�佽嫳鏂囧悕绉�
+ * @return 涓枃鍚嶇О锛屽鏋滀笉瀛樺湪浼氳繑鍥瀗ull
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public String getNameById(String id) throws VciBaseException {
+ VciBaseUtil.alertNotNull(id,"鐘舵�佸璞′富閿�");
+ return Optional.ofNullable(getStatusById(id)).orElseGet(StatusVO::new).getName();
+ }
+
+ /**
+ * 娣诲姞鐘舵��
+ *
+ * @param statusVO 鐘舵�佹樉绀哄璞★紙鍜孌TO鍏辩敤锛�
+ * @return 娣诲姞鍚庣殑鐘舵��
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public StatusVO addSave(StatusVO statusVO) throws VciBaseException {
+ VciBaseUtil.alertNotNull(statusVO,"瑕佹坊鍔犵殑鐘舵��",statusVO.getId(),"鐘舵�佽嫳鏂囧悕绉�",statusVO.getName(),"鐘舵�佷腑鏂囧悕绉�");
+ List<StatusVO> statusVOS = new ArrayList<>();
+ statusVOS.add(statusVO);
+ List<StatusVO> statusVOList = batchAddSave(statusVOS);
+ if(CollectionUtils.isEmpty(statusVOList)){
+ return null;
+ }
+ return statusVOList.get(0);
+ }
+
+ /**
+ * 鎵归噺娣诲姞鐘舵��
+ *
+ * @param statusVOList 鐘舵�佹樉绀哄璞″垪琛�(鍜孌TO鍏辩敤)
+ * @return 鎵归噺娣诲姞鍚庣殑鐘舵��
+ * @throws VciBaseException 娣诲姞鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<StatusVO> batchAddSave(List<StatusVO> statusVOList) throws VciBaseException {
+ if(CollectionUtils.isEmpty(statusVOList)){
+ throw new VciBaseException("瑕佹坊鍔犵殑鐘舵�佸璞′笉鑳戒负绌�");
+ }
+ //1. 鍒ゆ柇鍚勪釜灞炴�ф槸鍚﹀繀杈撻」閮借緭鍏ヤ簡
+ //2. 鍒ゆ柇鑻辨枃鍚嶇О鏄惁閲嶅
+ Set<String> idSet = new HashSet<>();
+ String creator = AuthUtil.getUserAccount();
+ Date now = new Date();
+ String btmName = "status";
+ Pattern pattern = Pattern.compile(REGEXP);
+ statusVOList.forEach(s -> {
+ if (!pattern.matcher(s.getId()).matches()){
+ throw new VciBaseException("鑻辨枃鍚嶇О{0}鍙兘鏄嫳鏂囧瓧姣�",new Object[]{s.getId()});
+ }
+ VciBaseUtil.alertNotNull(s.getId(),"鐘舵�佽嫳鏂囧悕绉�",s.getName(),"鐘舵�佷腑鏂囧悕绉�");
+ if(idSet.contains(s.getId().toLowerCase().trim())){
+ throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勭姸鎬佸凡缁忓瓨鍦紙涓嶅尯鍒嗗ぇ灏忓啓锛�",new Object[]{s.getId()});
+ }else{
+ idSet.add(s.getId().toLowerCase().trim());
+ }
+ if(StringUtils.isBlank(s.getOid())){
+ s.setOid(VciBaseUtil.getPk());
+ }
+ s.setBtmName(btmName);
+ s.setOwner(creator);
+ s.setCreator(creator);
+ s.setCreateTime(now);
+ s.setLastModifier(creator);
+ s.setLastModifyTime(now);
+ s.setTs(now);
+ });
+ //鍒ゆ柇鏄惁瀛樺湪
+ List<Status> checkExistStatusDOList = listStatusByIdCollectionDO(idSet);
+ if(!CollectionUtils.isEmpty(checkExistStatusDOList)){
+ String existIds = checkExistStatusDOList.stream().map(Status::getId).collect(Collectors.joining(","));
+ throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勭姸鎬佺殑宸茬粡鍦ㄧ郴缁熶腑瀛樺湪锛堜笉鍖哄垎澶у皬鍐欙級锛屼笉鑳芥坊鍔�",new Object[]{existIds});
+ }
+ List<Status> statusDOList = StatusWrapper.build().batchCopyVO2DO(statusVOList);
+ VciBaseUtil.switchCollectionForOracleIn(statusDOList,1000).forEach(this::saveBatch);
+ return statusVOList;
+ }
+
+ /**
+ * 淇敼鐘舵��
+ *
+ * @param statusVO 鐘舵�佹樉绀哄璞★紙鍜孌TO鍏辩敤锛�
+ * @return 淇敼鍚庣殑鐘舵��
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public StatusVO editSave(StatusVO statusVO) throws VciBaseException {
+ VciBaseUtil.alertNotNull(statusVO,"瑕佷慨鏀圭殑鐘舵�佸璞�",statusVO.getOid(),"瑕佷慨鏀圭殑鐘舵�佸璞$殑涓婚敭");
+ List<StatusVO> needEditVOList = new ArrayList<>();
+ needEditVOList.add(statusVO);
+ List<StatusVO> statusVOList = batchEditSave(needEditVOList);
+ if(!CollectionUtils.isEmpty(statusVOList)){
+ return statusVOList.get(0);
+ }
+ return null;
+ }
+
+ /**
+ * 鎵归噺淇敼鐘舵��
+ *
+ * @param statusVOList 鐘舵�佹樉绀哄璞″垪琛紙鍜孌TO鍏辩敤锛�
+ * @return 鎵归噺淇敼鍚庣殑鐘舵��
+ * @throws VciBaseException 淇敼鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父
+ */
+ @Override
+ public List<StatusVO> batchEditSave(List<StatusVO> statusVOList) throws VciBaseException {
+ if(CollectionUtils.isEmpty(statusVOList)){
+ throw new VciBaseException("瑕佷慨鏀圭殑鐘舵�佸璞′笉鑳戒负绌�");
+ }
+ //1. 鍒ゆ柇鍚勪釜灞炴�ф槸鍚﹀繀杈撻」閮借緭鍏ヤ簡
+ //2. 鍒ゆ柇鐘舵�佺殑鑻辨枃鍚嶇О鏄惁閲嶅
+ Set<String> idSet = new HashSet<>();
+ Map<String,StatusVO> oidObjectMap = new HashMap<>();
+ String creator = AuthUtil.getUserAccount();
+ Date now = new Date();
+ statusVOList.forEach(s -> {
+ //鍒ゆ柇涓虹┖
+ VciBaseUtil.alertNotNull(s.getOid(),"鐘舵�佷富閿�",s.getId(),"鐘舵�佽嫳鏂囧悕绉�",s.getName(),"鐘舵�佷腑鏂囧悕绉�");
+ //鍒ゆ柇鏈鏄惁瀛樺湪
+ if(idSet.contains(s.getId().toLowerCase().trim())){
+ throw new VciBaseException("鑻辨枃鍚嶇О涓簕0}鐨勭姸鎬佸凡缁忓瓨鍦紙涓嶅尯鍒嗗ぇ灏忓啓锛�",new Object[]{s.getId()});
+ }else{
+ idSet.add(s.getId().toLowerCase().trim());
+ }
+ oidObjectMap.put(s.getOid(),s);
+ s.setLastModifier(creator);
+ s.setLastModifyTime(now);
+ s.setTs(now);
+ });
+ //鍒ゆ柇鏄惁瀛樺湪
+ List<Status> statusDOList = listStatusByOidCollectionDO(oidObjectMap.keySet());
+ if(CollectionUtils.isEmpty(statusDOList)){
+ throw new VciBaseException("杩欎簺鐘舵�佸湪绯荤粺涓潎涓嶅瓨鍦�",new Object[]{});
+ }
+ //鍒ゆ柇灞炴�у悕绉版槸鍚︿慨鏀�
+ Set<String> oidInDbSet = new HashSet<>();
+ statusDOList.forEach(s -> {
+ StatusVO statusVO = oidObjectMap.get(s.getOid());
+ if(!statusVO.getId().equalsIgnoreCase(s.getId())){
+ throw new VciBaseException("鐘舵�乕{0}]鐨勮嫳鏂囧悕绉颁笉鍏佽淇敼锛屽師鍚嶇О{1},鏂板悕绉皗2}",new Object[]{s.getName(),s.getId(),statusVO.getId()});
+ }
+ BeanUtil.convert(statusVO,s);
+ oidInDbSet.add(s.getOid());
+ });
+ oidObjectMap.forEach( (k,v) ->{
+ if(!oidInDbSet.contains(k)){
+ throw new VciBaseException("鐘舵�亄0}[{1}]鍦ㄧ郴缁熶腑涓嶅瓨鍦�",new Object[]{v.getId(),v.getName()});
+ }
+ });
+ //鐪嬬湅鏄惁鏈変笉鍦ㄧ郴缁熶腑瀛樺湪鐨�
+ VciBaseUtil.switchCollectionForOracleIn(statusDOList).forEach(this::saveOrUpdateBatch);
+ return statusVOList;
+ }
+
+ /**
+ * 鍒犻櫎鐘舵��
+ *
+ * @param statusVO 鐘舵�佹樉绀哄璞�
+ * @throws VciBaseException 濡傛灉鐘舵�佽寮曠敤锛屾垨鑰呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ @Override
+ public void delete(StatusVO statusVO) throws VciBaseException {
+ VciBaseUtil.alertNotNull(statusVO,"瑕佸垹闄ょ殑鐘舵�佸璞�",statusVO.getOid(),"瑕佸垹闄ょ殑鐘舵�佸璞$殑涓婚敭");
+ List<StatusVO> needDeleteVOList = new ArrayList<>();
+ needDeleteVOList.add(statusVO);
+ batchDelete(needDeleteVOList);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎鐘舵��
+ *
+ * @param statusVOList 瑕佸垹闄ょ殑鐘舵�佹樉绀哄璞″垪琛�
+ * @throws VciBaseException 濡傛灉鐘舵�佽寮曠敤锛屾垨鑰呭垹闄ゅ嚭閿欐椂浼氭姏鍑哄紓甯�
+ */
+ @Override
+ public void batchDelete(List<StatusVO> statusVOList) throws VciBaseException {
+ if(CollectionUtils.isEmpty(statusVOList)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐘舵�佸璞′笉鑳戒负绌�");
+ }
+ Set<String> oidSet= new HashSet<>();
+ statusVOList.stream().forEach( s -> {
+ VciBaseUtil.alertNotNull(s.getOid(),"瑕佸垹闄ょ殑鐘舵�佸璞$殑涓婚敭");
+ oidSet.add(s.getOid());
+ });
+ //鏌ヨ
+ List<Status> statusDOList = listStatusByOidCollectionDO(oidSet);
+ if(CollectionUtils.isEmpty(statusDOList)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐘舵�佸湪绯荤粺涓笉瀛樺湪,鍙兘鎮ㄩ渶瑕佸埛鏂板悗鍐嶈瘯");
+ }
+ Set<String> oidInDbSet = statusDOList.stream().map(Status::getOid).collect(Collectors.toSet());
+ oidSet.forEach( s -> {
+ if(!oidInDbSet.contains(s)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐘舵�佸湪绯荤粺涓笉瀛樺湪,鍙兘鎮ㄩ渶瑕佸埛鏂板悗鍐嶈瘯");
+ }
+ });
+ //妫�鏌ュ睘鎬ф槸鍚﹁寮曠敤
+ if(checkStatusUseds(oidSet)){
+ throw new VciBaseException("瑕佸垹闄ょ殑鐘舵�佸湪鐢熷懡鍛ㄦ湡瀵硅薄涓浣跨敤锛屾棤娉曞垹闄�");
+ }
+ Collection<Collection<String>> oidCollections = VciBaseUtil.switchCollectionForOracleIn(oidInDbSet);
+ for(Collection<String> oidCollection : oidCollections){
+ baseMapper.delete(Wrappers.<Status>query().lambda().in(Status::getOid,oidCollection));
+ }
+ }
+
+ /**
+ * 鎵归噺鏍¢獙鐘舵�佹槸鍚﹁浣跨敤
+ *
+ * @param oidCollection 涓婚敭闆嗗悎
+ * @return true琛ㄧず琚紩鐢�
+ */
+ @Override
+ public boolean checkStatusUseds(Collection<String> oidCollection) {
+ return false;
+ }
+
+ /**
+ * 鏍¢獙鐘舵�佹槸鍚﹁寮曠敤
+ *
+ * @param pkStatus 鐘舵�佺殑涓婚敭
+ * @return true琛ㄧず琚紩鐢紝 false琛ㄧず娌℃湁琚紩鐢�
+ * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮煡璇㈠嚭閿欐椂浼氭姏鍑洪敊璇�
+ */
+ @Override
+ public boolean checkStatusUsed(String pkStatus) throws VciBaseException {
+ return false;
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/RevisionRuleWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/RevisionRuleWrapper.java
new file mode 100644
index 0000000..407f696
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/RevisionRuleWrapper.java
@@ -0,0 +1,46 @@
+package com.vci.ubcs.omd.wrapper;
+
+import com.vci.ubcs.omd.dto.RevisionRuleDTO;
+import com.vci.ubcs.omd.entity.RevisionRule;
+import com.vci.ubcs.omd.vo.RevisionRuleVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * Description: 鐗堟湰瑙勫垯鐨勫寘瑁呯被
+ *
+ * @author LiHang
+ * @date 2023/5/17
+ */
+public class RevisionRuleWrapper extends BaseEntityWrapper<RevisionRule, RevisionRuleVO> {
+
+ public static RevisionRuleWrapper build() {
+ return new RevisionRuleWrapper();
+ }
+
+ @Override
+ public RevisionRuleVO entityVO(RevisionRule entity) {
+ Objects.requireNonNull(entity);
+ RevisionRuleVO vo = BeanUtil.copy(entity, RevisionRuleVO.class);
+ // 鍦ㄨ繖閲屽鐞嗘灇涓惧�肩浉鍏崇殑鏄犲皠
+ return vo;
+ }
+
+ public List<RevisionRuleVO> listEntityVO(List<RevisionRule> entityList){
+ return entityList.stream().map(this::entityVO).collect(Collectors.toList());
+ }
+
+ public List<RevisionRule> batchCopyDTO2DO(List<RevisionRuleDTO> revisionRuleVOList) {
+ return revisionRuleVOList.stream().map(this::copyDTO2DO).collect(Collectors.toList());
+ }
+
+ public RevisionRule copyDTO2DO(RevisionRuleDTO vo){
+ Objects.requireNonNull(vo);
+ RevisionRule rule = BeanUtil.copy(vo, RevisionRule.class);
+ return rule;
+ }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/StatusWrapper.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/StatusWrapper.java
new file mode 100644
index 0000000..0377794
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/wrapper/StatusWrapper.java
@@ -0,0 +1,46 @@
+package com.vci.ubcs.omd.wrapper;
+
+import com.vci.ubcs.omd.entity.Status;
+import com.vci.ubcs.omd.vo.StatusVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+/**
+ * Description:鐘舵�佹睜鐨勫寘瑁呯被
+ *
+ * @author LiHang
+ * @date 2023/5/23
+ */
+public class StatusWrapper extends BaseEntityWrapper<Status, StatusVO> {
+
+ public static StatusWrapper build() {
+ return new StatusWrapper();
+ }
+
+ @Override
+ public StatusVO entityVO(Status entity) {
+ StatusVO vo = BeanUtil.copy(entity, StatusVO.class);
+ //杩欓噷澶勭悊鏋氫妇鐩稿叧鐨�
+ return vo;
+ }
+
+ public List<StatusVO> listEntityVO(List<Status> statusList){
+ return Optional.ofNullable(statusList).orElseGet(ArrayList::new).stream().map(this::entityVO).collect(Collectors.toList());
+ }
+
+ public List<Status> batchCopyVO2DO(List<StatusVO> statusVOList) {
+ return Optional.ofNullable(statusVOList).orElseGet(ArrayList::new).stream().map(this::copyVO2DO).collect(Collectors.toList());
+ }
+
+ private Status copyVO2DO(StatusVO statusVO) {
+ Status status = BeanUtil.copy(statusVO, Status.class);
+ return status;
+ }
+
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/RevisionRuleMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/RevisionRuleMapper.xml
new file mode 100644
index 0000000..e129aa4
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/RevisionRuleMapper.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.omd.mapper.RevisionRuleMapper">
+ <resultMap id="BaseResultMap" type="com.vci.ubcs.omd.entity.RevisionRule">
+ <id column="oid" jdbcType="VARCHAR" property="oid" />
+ <result column="id" jdbcType="VARCHAR" property="id" />
+ <result column="name" jdbcType="VARCHAR" property="name" />
+ <result column="description" jdbcType="VARCHAR" property="description" />
+ <result column="skip_code" jdbcType="VARCHAR" property="skipCode" />
+ <result column="start_code" jdbcType="VARCHAR" property="startCode" />
+ <result column="serial_step" jdbcType="DECIMAL" property="serialStep" />
+ <result column="prefix_code" jdbcType="VARCHAR" property="prefixCode" />
+ <result column="suffix_code" jdbcType="VARCHAR" property="suffixCode" />
+ <result column="btm_name" property="btmName" jdbcType="VARCHAR" />
+ <result column="owner" property="owner" jdbcType="VARCHAR" />
+ <result column="creator" jdbcType="VARCHAR" property="creator" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="last_modifier" jdbcType="VARCHAR" property="lastModifier" />
+ <result column="last_modify_time" jdbcType="TIMESTAMP" property="lastModifyTime" />
+ <result column="ts" jdbcType="TIMESTAMP" property="ts" />
+ </resultMap>
+
+ <sql id="base_query_column">
+ oid, id, name, description, skip_code, start_code, serial_step, prefix_code, suffix_code,
+ btm_name, owner, creator, create_time, last_modifier, last_modify_time, ts
+ </sql>
+
+ <sql id="tableName">
+ pl_omd_revision_rule
+ </sql>
+
+</mapper>
diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/StatusMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/StatusMapper.xml
new file mode 100644
index 0000000..ab1a809
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/StatusMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.omd.mapper.StatusMapper">
+ <resultMap id="BaseResultMap" type="com.vci.ubcs.omd.entity.Status">
+ <id column="oid" jdbcType="VARCHAR" property="oid" />
+ <result column="id" jdbcType="VARCHAR" property="id" />
+ <result column="name" jdbcType="VARCHAR" property="name" />
+ <result column="description" jdbcType="VARCHAR" property="description" />
+ <result column="btm_name" property="btmname" jdbcType="VARCHAR" />
+ <result column="owner" property="owner" jdbcType="VARCHAR" />
+ <result column="creator" jdbcType="VARCHAR" property="creator" />
+ <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+ <result column="last_modifier" jdbcType="VARCHAR" property="lastModifier" />
+ <result column="last_modify_time" jdbcType="TIMESTAMP" property="lastModifyTime" />
+ <result column="ts" jdbcType="TIMESTAMP" property="ts" />
+ </resultMap>
+
+ <sql id="base_query_column">
+ oid, id, name, description, btm_name, owner, creator, create_time, last_modifier, last_modify_time,ts
+ </sql>
+
+ <sql id="tableName">
+ pl_omd_status
+ </sql>
+
+</mapper>
--
Gitblit v1.9.3