From 02dbaaa04bc443e860a715cf907bc0fb5c1a7da4 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 11 七月 2023 09:09:34 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java | 60 ++ Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 66 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java | 11 Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue | 21 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java | 15 Source/UBCS/pom.xml | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java | 73 +++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java | 67 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java | 90 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java | 3 Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java | 7 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java | 7 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/mapper/BtmTypeMapper.java | 1 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java | 32 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java | 561 +++++++++++++++++++++++ Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java | 194 ++++++++ Source/UBCS/ubcs-service/ubcs-code/pom.xml | 42 + Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java | 2 Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/BtmTypeAttributeMapper.xml | 2 Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 6 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java | 4 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java | 19 Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java | 2 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml | 41 + Source/UBCS-WEB/src/components/Tree/attrCrud.vue | 19 Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmTypeServiceImpl.java | 11 30 files changed, 1,282 insertions(+), 86 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue index e73549b..faa8b02 100644 --- a/Source/UBCS-WEB/src/components/Tree/attrCrud.vue +++ b/Source/UBCS-WEB/src/components/Tree/attrCrud.vue @@ -1,6 +1,6 @@ <template> <div> - <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag"> + <div style="display: flex;flex-wrap: wrap;" v-if="this.crudArrayFlag" class="app"> <el-button-group> <!--鏂板--> <el-button v-if="attrEditVisible == false && attrFlagChiledren==false" size="small" type="primary" icon="el-icon-plus" @click="busineHandle">娣诲姞 {{ msg }}</el-button> @@ -242,7 +242,7 @@ </div> <el-table :data="ProData" style="width: 100%" - height="280" + :height='attrEditVisible == false && attrFlagChiledren==false?400 :750' @cell-click="handleCellClicks" @select="selectHandle" @selection-change="selectionChange" @@ -936,11 +936,13 @@ column: [ { label: "灞炴�ц嫳鏂囧悕绉�", - prop: "id" + prop: "id", + width:110 }, { label: "灞炴�т腑鏂囧悕绉�", - prop: "name" + prop: "name", + width:110 }, { label: "闀垮害", @@ -1484,6 +1486,7 @@ //涓氬姟绫诲瀷閫夋嫨 businessSelect(selection, row) { this.busineSelectList = selection + console.log(selection) }, // 浠庝笟鍔$被鍨嬩腑閫夋嫨鏁版嵁寮圭獥 busineHandle() { @@ -1813,7 +1816,11 @@ </script> <style scoped lang="scss" > -/deep/ .el-button { - margin: 0 10px 10px 0; +///deep/ .el-button { +// margin: 0 10px 10px 0; +//} +.app el-button{ + z-index: 1; + margin: 0 10px 10px 0 !important; } </style> diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue index facc6d9..5eb3f23 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTreeform.vue @@ -110,7 +110,7 @@ import {TreeEditSave} from '@/api/template/templateAttr' export default { name: "classifyTreeform.vue", - props: ['loneTreeNewForm','flag','Editclose','TreeFlag'], + props: ['loneTreeNewForm','flag','Editclose','TreeFlag','nodeClickList'], data() { return { SelectFInd:"", @@ -288,7 +288,7 @@ labelWidth:128, focus:this.btmFoucus, readonly: true, - hide:this.TreeFlag, + display:false, rules: [{ required: true, message: "瀛樺偍鐨勪笟鍔$被鍨�", @@ -326,15 +326,16 @@ btmSelectList:[] } }, - created() { - }, watch:{ - // TreeFlag:{ - // handler(newval){ - // const falg=newval; - // this.findObject(this.) - // } - // } + nodeClickList:{ + handler(newval,oldval){ + console.log('newVal',newval,oldval) + }, + deep:true, + immediate:true + } + }, + created() { }, methods: { submits(form,done){ diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index 106a39c..9512d4b 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -2,8 +2,9 @@ <template> <el-container> <!-- 宸︿晶鑿滃崟--> - <el-aside> - <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"> + <el-aside > + <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"@click.native="handleClickOutside" > + <div @click.native="handleClickOutside"> <div> <div style="display: flex;justify-content: space-around"> <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button> @@ -51,7 +52,7 @@ </el-dialog> <!-- 淇敼瀵硅瘽妗�--> <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被"> - <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlag"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'edit'" @MasterHandler="MasterHandler" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="TreeFlag" ::nodeClickList="nodeClickList"></classifyTreeform> </el-dialog> <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" :option="Treeoption" @@ -60,6 +61,7 @@ @check-change="checkChange" > </avue-tree> + </div> </basic-container> </el-aside> <el-main> @@ -67,7 +69,7 @@ <!-- 鍙充晶琛ㄦ牸--> <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> <span v-if="type.prop==='tab1'"> - <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'"></classifyTreeform> + <classifyTreeform ref="childForm" :loneTreeNewForm="TreeList" :nodeList="nodeList" :flag="'renonly'" ></classifyTreeform> </span> <span v-else-if="type.prop==='tab2'"> <basic-container> @@ -117,7 +119,7 @@ <el-aside width="300px"> <div style="margin-bottom: 5px"><el-tag>涓婚搴撳垎绫�</el-tag></div> <!-- 鍏嬮殕妯℃澘鐨勬爲 娌跨敤棣栭〉鏍戠殑loading鍜宱ption锛屼絾鏄痙ata鍜寁-model缁戝畾鐨勬暟鎹垱寤轰竴涓柊鐨勫彉閲忥紝鍙﹀鐐瑰嚮鏂规硶涔熸槸閲嶆柊鑾峰彇鏉ユ搷浣滃厠闅嗘ā鏉跨殑鏁版嵁--> - <avue-tree ref="tree" v-model="TreeAvueform" v-loading="loading" :data="Treedata" + <avue-tree v-model="TreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false" :option="Treeoption" style="height: 50.5vh;margin-right: 10px" @@ -286,7 +288,7 @@ </template> <avue-crud :data="BtmData" :option="masterOption" @select="btmSelect"></avue-crud> <div style="height: 30px"> - <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.btmtypename}}]</div> + <div style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px " >宸茶缃殑鍊间负:[{{this.TreeAddform.btmTypeName}}]</div> <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden" > <el-button type="primary" size="small" @click="btmHandlerClick">纭畾</el-button> <el-button size="small" @click="BtmdialogVisible=false">鍙栨秷</el-button> @@ -540,11 +542,21 @@ column: [ { label: "妯℃澘缂栧彿", - prop: "id" + prop: "id", + rules: [{ + required: true, + message: "妯℃澘缂栧彿", + trigger: "blur" + }] }, { label: "妯℃澘鍚嶇О", prop: "name", + rules: [{ + required: true, + message: "妯℃澘鍚嶇О", + trigger: "blur" + }] }, { label: "妯℃澘鎻忚堪", @@ -628,11 +640,21 @@ column: [ { label: "妯℃澘缂栧彿", - prop: "id" + prop: "id", + rules: [{ + required: true, + message: "妯℃澘缂栧彿", + trigger: "blur" + }] }, { - label:"妯℃澘鍚嶇О", - prop:"name" + label: "妯℃澘鍚嶇О", + prop: "name", + rules: [{ + required: true, + message: "妯℃澘鍚嶇О", + trigger: "blur" + }] }, { label: "妯℃澘鎻忚堪", @@ -653,6 +675,18 @@ } }, methods: { + //鏍戣妭鐐瑰け鍘荤劍鐐� + handleClickOutside(event) { + const treeElement = this.$refs.tree.$el; + const targetElement = event.target; + if (!treeElement.contains(targetElement)) { + // 鍦ㄦ爲缁勪欢澶栭儴鐐瑰嚮锛屾竻绌洪�夋嫨鐘舵�� + // this.nodeClickList=[]; + // this.CloneTreeAvueform={} + console.log(this.nodeClickList ) + console.log(this.CloneTreeAvueform) + } + }, //缂栫爜瑙勫垯澶辩劍 CodeFoucus(){ this.MasterdialogVisible=true; @@ -829,8 +863,8 @@ }else { this.BtmdialogVisible=false; this.btmSelectList=[] - this.$set(this.loneTreeNewForm,'btmtypename',this.btmName ||this.btmOid) - this.$set(this.loneTreeNewForm,'btmtypeid',this.btmOid) + this.$set(this.TreeAddform,'btmTypeName',this.btmName) + this.$set(this.TreeAddform,'btmTypeId',this.btmOid) this.$emit('MasterHandler',this.loneTreeNewForm) } }, @@ -918,18 +952,20 @@ //鏍戣妭鐐规坊鍔犱簨浠� TreeAddHandler() { const data = this.TreeAddform; - data.btmTypeName= this.TreeList.btmtypename + // data.btmtypename= this.TreeList.btmtypename this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid); - // console.log("data", data); + console.log("data", data); TreeSave(data) .then(() => { this.$message({ type: "success", message: "娣诲姞鎴愬姛!", }); + Object.keys(this.TreeAddform).forEach(key => { + this.TreeAddform[key] = ""; + }); this.getAttr(); this.TreeAddFormVisible = false; - this.TreeAddform = ""; }) .catch((res) => { this.$message({ diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue index cf1f1f7..3a057e4 100644 --- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue +++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue @@ -359,6 +359,12 @@ }, // 灞炴�ф睜鍔犺浇 attrRefOnLoad(){ + if (!this.attrRef.queryNotIn || (this.attrRef.queryNotIn === '' && this.btmType.attributes !== [])){ + this.attrRef.queryNotIn = ''; + this.btmType.attributes.forEach(item => { + this.attrRef.queryNotIn += (item.id + ",") + }) + } this.attrRef.loading = true; queryPage(this.attrRef.key,this.attrRef.queryNotIn,this.attrRef.page.currentPage, this.attrRef.page.pageSize).then(res => { const data = res.data.data; diff --git a/Source/UBCS/pom.xml b/Source/UBCS/pom.xml index 8d31ce1..5757e07 100644 --- a/Source/UBCS/pom.xml +++ b/Source/UBCS/pom.xml @@ -21,7 +21,7 @@ <spring.cloud.version>2021.0.3</spring.cloud.version> <spring.platform.version>Cairo-SR8</spring.platform.version> <maven.plugin.version>3.8.1</maven.plugin.version> - + <axis2.version>1.7.5</axis2.version> <!-- 鎺ㄨ崘浣跨敤Harbor --> <docker.registry.url>192.168.0.157</docker.registry.url> <docker.registry.host>http://${docker.registry.url}:2375</docker.registry.host> diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java index 8473859..d5d0221 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java @@ -186,7 +186,7 @@ private String classPath; /** - * 鏁版嵁娴佸悜鏂瑰紡 + * 鏁版嵁娴佸悜鏂瑰紡1:鎺ュ彈2锛氬垎鍙� */ private String dataFlowType; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java new file mode 100644 index 0000000..8d36382 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java @@ -0,0 +1,73 @@ +package com.vci.ubcs.code.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.vci.ubcs.starter.constant.CodeTableNameConstant; +import com.vci.ubcs.starter.revision.model.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/*** + * 寰呴泦鎴愭暟鎹� + */ +@Data +@TableName(CodeTableNameConstant.PL_CODE_DOCKINGPADATA) +@ApiModel(value = "DockingData", description = "寰呴泦鎴愭暟鎹�") +@EqualsAndHashCode(callSuper = true) +public class DockingData extends BaseModel { + + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 5020487634341415429L; + + /** + * 鍥惧彿 + */ + @ApiModelProperty(value = "鍥惧彿") + private String uniqueCode; + + /** + * 绯荤粺鎺ュ彛oid + */ + @ApiModelProperty(value = "鍒嗙被涓婚敭") + private String classifyOid; + + /** + * 涓氬姟绫诲瀷涓婚敭 + */ + @ApiModelProperty(value = "涓氬姟绫诲瀷涓婚敭") + private String btmOid; + + /** + * 涓氬姟绫诲瀷缂栧彿 + */ + @ApiModelProperty(value = "涓氬姟绫诲瀷缂栧彿") + private String btmId; + + /** + * 鍙戦�佺被鍨� + */ + @ApiModelProperty(value = "鍙戦�佺被鍨�") + private String sendType; + + /** + * 浠诲姟鏄惁鐢熸垚 + */ + @ApiModelProperty(value = "浠诲姟鏄惁鐢熸垚") + private String sendFlag; + + /** + * 鍒嗙被缂栧彿 + */ + @ApiModelProperty(value = "鍒嗙被缂栧彿") + private String classifyId; + + /** + * 绯荤粺id + */ + @ApiModelProperty(value = "鍒嗙被鍚嶇О") + private String classifyName; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java index d94e7fc..70efd0f 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java @@ -14,7 +14,7 @@ * 鎺ュ彛澶村崗璁� */ @Data -@TableName(CodeTableNameConstant.PL_CODE_SYSINTPAREMTER) +@TableName(CodeTableNameConstant.PL_CODE_SYSINTHEADER) @ApiModel(value = "DockingSysIntHeader", description = "闆嗘垚鎺ュ彛-鎺ュ彛澶村崗璁璞�") @EqualsAndHashCode(callSuper = true) public class DockingSysIntHeader extends BaseModel { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java index c18ddf3..393a0ee 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java @@ -284,9 +284,9 @@ /*** - * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ�� + * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ */ - @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��") + @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ") private String pushType; /*** * 鎺ㄩ�佺被鍨嬫樉绀哄�� diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java index 9e7d7fe..67c61d6 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.vci.ubcs.starter.constant.CodeTableNameConstant; import com.vci.ubcs.starter.revision.model.BaseModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,7 +13,7 @@ * 瀹氭椂鍒嗗彂浠诲姟瀵硅薄 */ @Data -@TableName("PL_CODE_DOCKINGTASK") +@TableName(CodeTableNameConstant.PL_CODE_DOCKINGTASK) @ApiModel(value = "DockingTask", description = "瀹氭椂鍒嗗彂浠诲姟瀵硅薄") @EqualsAndHashCode public class DockingTask extends BaseModel { diff --git a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java index 3de4dc4..038400b 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-ddl-api/src/main/java/com/vci/ubcs/ddl/bo/DdlFieldMappingAttrBO.java @@ -59,11 +59,10 @@ @Override public String toString() { StringBuilder stringBuilder = new StringBuilder().append(dataType); - if (dataLength != null){ + if (dataLength != null && dataPrecision != null){ + stringBuilder.append(StringPool.SPACE).append(StringPool.LEFT_BRACKET).append(dataLength).append(StringPool.COMMA).append(dataPrecision).append(StringPool.RIGHT_BRACKET).append(StringPool.SPACE); + }else if (dataLength != null) { stringBuilder.append(StringPool.SPACE).append(StringPool.LEFT_BRACKET).append(dataLength).append(StringPool.RIGHT_BRACKET).append(StringPool.SPACE); - } - if (dataPrecision != null){ - stringBuilder.append(StringPool.SPACE).append(StringPool.LEFT_BRACKET).append(dataLength == null ? 22 : dataLength).append(StringPool.COMMA).append(dataPrecision).append(StringPool.RIGHT_BRACKET).append(StringPool.SPACE); } if (!nullable){ stringBuilder.append(StringPool.SPACE).append("not null").append(StringPool.SPACE); diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java index 84b8d0f..94db481 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java @@ -118,14 +118,29 @@ public static final String PL_CODE_SYSINTBASE = "PL_CODE_SYSINTBASE"; /** - * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄 + * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛閰嶇疆瀵硅薄 */ public static final String PL_CODE_SYSINTINFO = "PL_CODE_SYSINTINFO"; /** - * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄 + * 闆嗘垚鎺ュ彛-闆嗘垚鍙傛暟绠$悊瀵硅薄 * platformbtm_sysintparemter */ public static final String PL_CODE_SYSINTPAREMTER = "PL_CODE_SYSINTPAREMTER"; + /** + * 鎺ュ彛澶村崗璁� + */ + public static final String PL_CODE_SYSINTHEADER = "PL_CODE_SYSINTHEADER"; + /*** + * 寰呴泦鎴愭暟鎹� + */ + public static final String PL_CODE_DOCKINGPADATA = "PL_CODE_DOCKINGPADATA"; + /*** + * 瀹氭椂鍒嗗彂浠诲姟瀵硅薄 + */ + public static final String PL_CODE_DOCKINGTASK = "PL_CODE_DOCKINGTASK"; + + + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml index ceed936..a6f8417 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml @@ -97,6 +97,48 @@ <artifactId>DmJdbcDriver18</artifactId> <optional>true</optional> </dependency>--> + + <!--axis2 begin --> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-adb</artifactId> + <version>${axis2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-transport-http</artifactId> + <version>${axis2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-transport-local</artifactId> + <version>${axis2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-kernel</artifactId> + <version>${axis2.version}</version> + <exclusions> + <exclusion> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + </exclusion> + <exclusion> + <artifactId>commons-io</artifactId> + <groupId>commons-io</groupId> + </exclusion> + <exclusion> + <artifactId>geronimo-activation_1.1_spec</artifactId> + <groupId>org.apache.geronimo.specs</groupId> + </exclusion> + <exclusion> + <artifactId>commons-logging</artifactId> + <groupId>commons-logging</groupId> + </exclusion> + </exclusions> + </dependency> + <!--axis2 end --> + </dependencies> <build> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java index 0ddb3ad..c24f718 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java @@ -4,19 +4,19 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.dto.DockingSystemConfigDTO; import com.vci.ubcs.code.dto.DockingSystemDTO; -import com.vci.ubcs.code.entity.CodeRule; +import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; +import com.vci.ubcs.code.entity.DockingData; import com.vci.ubcs.code.entity.DockingSystem; import com.vci.ubcs.code.entity.DockingSystemConfig; +import com.vci.ubcs.code.service.IDockingDataService; import com.vci.ubcs.code.service.IDockingSystemConfigService; import com.vci.ubcs.code.service.IDockingSystemService; -import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; +import com.vci.ubcs.code.vo.pagemodel.DockingDataVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; -import com.vci.ubcs.code.wrapper.CodeRuleWrapper; -import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper; +import com.vci.ubcs.code.wrapper.DockingDataWrapper; import com.vci.ubcs.code.wrapper.DockingSystemWrapper; import com.vci.ubcs.starter.exception.VciBaseException; -import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -40,12 +40,17 @@ * 闆嗘垚绯荤粺绠$悊鏈嶅姟 */ private final IDockingSystemService dockingSystemService; + /*** * 闆嗘垚鎺ュ彛閰嶇疆鏈嶅姟 */ private final IDockingSystemConfigService dockingSystemConfigService; + /*** + * 寰呴泦鎴愭暟鎹湇鍔� + */ + private final IDockingDataService dockingDataService; /**绯荤粺闆嗘垚鐨勭郴缁熶俊鎭垪琛� @@ -89,8 +94,8 @@ * @param oids 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� */ - @DeleteMapping( "/deleteDataById") - public R deleteDataById( String oids) { + @DeleteMapping( "/deleteSystemsById") + public R deleteSystemsById( String oids) { try { return R.status(dockingSystemService.deleteDataById(oids)); }catch (VciBaseException e){ @@ -100,15 +105,15 @@ } /** * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃 - * @param DockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @param dockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃 */ @GetMapping("/gridSystemConfig") @ApiOperationSupport(order = 3) - @ApiOperation(value = "鍒嗛〉", notes = "DockingSystemConfig") - public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig DockingSystemConfig, Query query){ - IPage<DockingSystemConfig> pages = dockingSystemConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig)); - return R.data(DockingSystemConfigWrapper.build().pageVO(pages)); + @ApiOperation(value = "鍒嗛〉", notes = "dockingSystemConfig") + public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig dockingSystemConfig, Query query){ + IPage<DockingSystemConfigVO> pages=dockingSystemConfigService.page(dockingSystemConfig,query); + return R.data(pages); } /** @@ -125,4 +130,65 @@ return R.fail("淇濆瓨澶辫触!"); } } + + /** + * 澧炲姞 绯荤粺闆嗘垚鍩虹淇℃伅 + * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄 + * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� + */ + @PostMapping( "/editSystemConfig") + public R editSystemConfig(@RequestBody DockingSystemConfigDTO dockingSystemConfigDTO){ + try { + boolean res = dockingSystemConfigService.editSave(dockingSystemConfigDTO); + return R.success("淇濆瓨鎴愬姛!"); + }catch (Throwable e){ + return R.fail("淇濆瓨澶辫触!"); + } + } + /** + * 鍒犻櫎绯荤粺闆嗘垚绯荤粺閰嶇疆淇℃伅 + * @param oids 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈� + * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� + */ + @DeleteMapping( "/deleteSystemConfigsById") + public R deleteSystemConfigsById( String oids) { + try { + return R.status(dockingSystemConfigService.deleteDataById(oids)); + }catch (VciBaseException e){ + R.fail(e.getMessage()); + } + return R.success("鎿嶄綔鎴愬姛"); + } + /*** + * 鎺ュ彛淇℃伅鏄惁鍚敤/鍋滅敤 + * @param sysInfoStatusDTO + * @return + */ + @PostMapping("/updateStatus") + public R updateStatus(@RequestBody UpdateSysInfoStatusDTO sysInfoStatusDTO){ + return dockingSystemConfigService.updateStatus(sysInfoStatusDTO); + } + + /*** + * 鎵嬪姩鎺ㄩ�佸垎绫�/鏁版嵁 + * @param dockingSystemConfigDTO + * @return + */ + @PostMapping("/pushData") + public R pushData(@RequestBody DockingSystemConfigDTO dockingSystemConfigDTO){ + return dockingSystemConfigService.pushData(dockingSystemConfigDTO); + } + + /** + * 寰呴泦鎴愭暟鎹� + * @param dockingData 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃 + */ + @GetMapping("/gridDockingData") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "鍒嗛〉", notes = "DockingDataVO") + public R<IPage<DockingDataVO>> gridDockingData(DockingData dockingData, Query query){ + IPage<DockingData> pages = dockingDataService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingData)); + return R.data(DockingDataWrapper.build().pageVO(pages)); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java index 316825f..403a381 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java @@ -15,9 +15,9 @@ */ PUSH("push","鎺ㄩ��"), /** - * 閫氱煡鍜屾煡璇� + * 鎺ュ彈 */ - NOTICE_AND_QUERY("noticeAndQuery","閫氱煡鍜屾煡璇�"); + ACCEPT("accept","鎺ユ敹"); /** * 鏋氫妇鐨勫�� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java new file mode 100644 index 0000000..e177ebd --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java @@ -0,0 +1,7 @@ +package com.vci.ubcs.code.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.vci.ubcs.code.entity.DockingData; + +public interface DockingDataMapper extends BaseMapper<DockingData> { +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java new file mode 100644 index 0000000..64e6361 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java @@ -0,0 +1,11 @@ +package com.vci.ubcs.code.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.vci.ubcs.code.entity.DockingData; + +/*** + * @author xj + * @date 2023-07-10 + */ +public interface IDockingDataService extends IService<DockingData> { +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java index 373ccab..1cee607 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java @@ -1,9 +1,15 @@ package com.vci.ubcs.code.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.dto.DockingSystemConfigDTO; +import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; import com.vci.ubcs.code.entity.DockingSystemConfig; +import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; +import com.vci.ubcs.starter.exception.VciBaseException; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; /*** * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟 @@ -12,19 +18,41 @@ */ public interface IDockingSystemConfigService extends IService<DockingSystemConfig> { + + /** + * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃 + * @param dockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃 + */ + IPage<DockingSystemConfigVO> page(DockingSystemConfig dockingSystemConfig, Query query); + /** * 澧炲姞 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� */ - public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO); + boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO); /** * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� */ - DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemConfigDTO); + boolean editSave(DockingSystemConfigDTO dockingSystemConfigDTO); + + /*** + * 鏇存柊鎺ュ彛閰嶇疆淇℃伅鐘舵�� + * @param sysInfoStatusDTO + * @return + */ + public R updateStatus(UpdateSysInfoStatusDTO sysInfoStatusDTO); + /*** + * 鎵嬪姩鍚屾鎺ュ彛锛屽彧鏈夋帹閫佺殑鎵嶄細 + * @param dockingSystemConfig + * @return + * @throws VciBaseException + */ + R pushData(DockingSystemConfigDTO dockingSystemConfigDTO) throws VciBaseException; boolean deleteDataById(String oids); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java new file mode 100644 index 0000000..1efcbef --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java @@ -0,0 +1,15 @@ +package com.vci.ubcs.code.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.code.entity.DockingData; +import com.vci.ubcs.code.mapper.DockingDataMapper; +import com.vci.ubcs.code.service.IDockingDataService; +import org.springframework.stereotype.Service; + +/*** + * @author xj + * @date 2023-07-10 + */ +@Service +public class DockingDataServiceImpl extends ServiceImpl<DockingDataMapper, DockingData> implements IDockingDataService { +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java index 4d9af0a..db243fa 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java @@ -1,36 +1,62 @@ package com.vci.ubcs.code.service.impl; +import com.alibaba.cloud.commons.lang.StringUtils; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; +import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; +import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.DockingSysIntHeaderDTO; import com.vci.ubcs.code.dto.DockingSystemConfigDTO; import com.vci.ubcs.code.dto.DockingSysIntParamDTO; -import com.vci.ubcs.code.entity.DockingSysIntHeader; -import com.vci.ubcs.code.entity.DockingSysIntParam; -import com.vci.ubcs.code.entity.DockingSystem; -import com.vci.ubcs.code.entity.DockingSystemConfig; -import com.vci.ubcs.code.enumpack.SysIntegrationRequestTypeEnum; -import com.vci.ubcs.code.mapper.DockingSysIntHeaderMapper; -import com.vci.ubcs.code.mapper.DockingSysIntParamMapper; -import com.vci.ubcs.code.mapper.DockingSystemConfigMapper; -import com.vci.ubcs.code.mapper.DockingSystemMapper; -import com.vci.ubcs.code.service.IDockingSysIntHeaderService; -import com.vci.ubcs.code.service.IDockingSysIntParamService; -import com.vci.ubcs.code.service.IDockingSystemConfigService; -import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO; -import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; +import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; +import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeLibraryDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultJsonDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeDataDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; +import com.vci.ubcs.code.entity.*; +import com.vci.ubcs.code.enumpack.*; +import com.vci.ubcs.code.mapper.*; +import com.vci.ubcs.code.service.*; +import com.vci.ubcs.code.util.HttpUtils; +import com.vci.ubcs.code.util.WsErpClientUtil; +import com.vci.ubcs.code.vo.pagemodel.*; +import com.vci.ubcs.code.wrapper.DockingSysIntHeaderWrapper; +import com.vci.ubcs.code.wrapper.DockingSysIntParamWrapper; +import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.web.constant.QueryOptionConstant; +import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import com.vci.ubcs.starter.web.util.VciDateUtil; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; + +import static com.vci.ubcs.code.constant.MdmDuckingConstant.*; +import static com.vci.ubcs.starter.util.MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD; /*** * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟 @@ -41,6 +67,8 @@ @Service public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{ + @Value("${dataSyncPush.dataParamName:xmlData}") + public String DATA_PARAM_NAME; /*** * 闆嗘垚绯荤粺绠$悊鏈嶅姟 */ @@ -53,8 +81,6 @@ @Autowired(required = false) private IDockingSysIntParamService dockingSysIntParamService; - - /*** * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟 */ @@ -62,17 +88,71 @@ private IDockingSysIntHeaderService dockingSysIntHeaderService; + + /*** * 闆嗘垚鎺ュ彛-闆嗘垚绯荤粺鏈嶅姟 */ @Autowired(required = false) private DockingSystemMapper dockingSystemMapper; + /*** + * 浠诲姟鐢熸垚鏈嶅姟 + */ + @Autowired(required = false) + private IDockingTaskService dockingTaskService; + + /** + * 涓绘暟鎹紩鎿庣殑鏈嶅姟 + */ + @Resource + private MdmEngineService engineService; + + + /** + * 涓婚搴撳垎绫荤殑鏈嶅姟 + */ + @Resource + private ICodeClassifyService classifyService; /** * 瀵硅薄鐨勬搷浣� */ @Autowired private RevisionModelUtil revisionModelUtil; + + /** + * 閫氱敤鏌ヨ + */ + @Resource + private CommonsMapper commonsMapper; + + + /** + * 鏃ュ織鏂囦欢鏈嶅姟 + */ + @Resource + private IDockingLogeService dockingLogeService; + + @Override + public IPage<DockingSystemConfigVO> page(DockingSystemConfig DockingSystemConfig, Query query) { + + IPage<DockingSystemConfig> pages = page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig)); + List<DockingSystemConfig> dockingSystemConfigList= pages.getRecords(); + dockingSystemConfigList.stream().forEach(dockingSystemConfig -> { + dockingSystemConfig.setDataFlowTypeText(SysIntegrationDataFlowTypeEnum.getTextByValue(dockingSystemConfig.getDataFlowType())); + dockingSystemConfig.setAuthorityTypeText(SysIntegrationAuthorityTypeEnum.getTextByValue(dockingSystemConfig.getAuthorityType())); + dockingSystemConfig.setParamTypeText(SysIntegrationParamAndReturnTypeEnum.getTextByValue(dockingSystemConfig.getParamType())); + dockingSystemConfig.setReturnTypeText(SysIntegrationParamAndReturnTypeEnum.getTextByValue(dockingSystemConfig.getReturnType())); + dockingSystemConfig.setInterfaceTypeText(SysIntegrationRequestTypeEnum.getValueByText(dockingSystemConfig.getInterfaceType())); + dockingSystemConfig.setPushTypeText(sysIntegrationPushTypeEnum.getTextByValue(dockingSystemConfig.getPushType())); + dockingSystemConfig.setRequestMethodText(SysIntegrationRequestMethodEnum.getTextByValue(dockingSystemConfig.getRequestMethod())); + //dockingSystemConfig.setSysBaseName(""); + // dockingSystemConfig.setSourceSysName(""); + //dockingSystemConfig.setTargetSysName(""); + }); + return DockingSystemConfigWrapper.build().pageVO(pages); + } + /** * 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� @@ -127,9 +207,154 @@ } + /** + * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� + * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� + * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� + */ + @Transactional(rollbackFor = Exception.class) @Override - public DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemDTO) { - return null; + public boolean editSave(DockingSystemConfigDTO dockingSystemConfigDTO) { + VciBaseUtil.alertNotNull(dockingSystemConfigDTO,"鏁版嵁瀵硅薄",dockingSystemConfigDTO.getOid(),"绯荤粺闆嗘垚鍩虹淇℃伅涓婚敭"); + String sourcesystemoid = dockingSystemConfigDTO.getSourceSystemOid();//.getSourcesystemoid(); + DockingSystem dockingSystem = dockingSystemMapper.selectById(sourcesystemoid); + dockingSystemConfigDTO.setSysBaseOid(sourcesystemoid); + dockingSystemConfigDTO.setSysBaseId(dockingSystem.getId()); + dockingSystemConfigDTO.setBtmname(dockingSystem.getName()); + //灏咲TO杞崲涓篋O + DockingSystemConfig dockingSystemConfig = dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid()); + revisionModelUtil.copyFromDTOIgnore(dockingSystemConfigDTO,dockingSystemConfig); + String sysInfoOid=dockingSystemConfigDTO.getOid(); + List<DockingSysIntParamDTO> dockingSysIntParamDTOS= dockingSystemConfigDTO.getSysIntParamDTOS(); + List<DockingSysIntParam> dockingSysIntParamList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingSysIntParamDTOS)) { + dockingSysIntParamDTOS.stream().forEach(dockingSysIntParamDTO -> { + DockingSysIntParam dockingSysIntParam = new DockingSysIntParam(); + BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSysIntParamDTO, dockingSysIntParam); + dockingSysIntParamList.add(dockingSysIntParam); + }); + } + List<DockingSysIntHeaderDTO> dockingSysIntHeaderDTOS= dockingSystemConfigDTO.getSysIntHeaderDTOS(); + List<DockingSysIntHeader> dockingSysIntHeaderList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingSysIntHeaderDTOS)) { + dockingSysIntHeaderDTOS.stream().forEach(dockingSysIntHeaderDTO -> { + DockingSysIntHeader dockingSysIntHeader = new DockingSysIntHeader(); + BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSysIntHeaderDTO, dockingSysIntHeader); + dockingSysIntHeaderList.add(dockingSysIntHeader); + }); + } + + //鎵归噺澶勭悊淇濆瓨header瀵硅薄 + if(!CollectionUtils.isEmpty(dockingSysIntHeaderList)) { + List<String> idList=new ArrayList<>(); + List<DockingSysIntHeader> headers_old =this.dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,sysInfoOid));; + for (DockingSysIntHeader sysIntHeader:headers_old){ + sysIntHeader.setUsedFlag(FLAG_FAIL); + idList.add(sysIntHeader.getOid()); + } + if(idList.size()!=0){ + boolean res=dockingSysIntHeaderService.removeBatchByIds(idList); + } + //鍐嶆柊澧瀐eaders + for(DockingSysIntHeader sysIntHeader:dockingSysIntHeaderList){ + sysIntHeader.setUsedFlag(FLAG_TRUE); + sysIntHeader.setInfoOid(dockingSystemConfig.getOid()); + + } + boolean res= dockingSysIntHeaderService.saveBatch(dockingSysIntHeaderList); + } + //鎵归噺澶勭悊淇濆瓨Param瀵硅薄 + if(!CollectionUtils.isEmpty(dockingSysIntParamList)) { + //鍏堝垹闄arams_old + List<String> idList=new ArrayList<>(); + List<DockingSysIntParam> params_old =this.dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,sysInfoOid)); + for (DockingSysIntParam sysIntParamDO:params_old){ + sysIntParamDO.setUsedFlag(FLAG_FAIL); + idList.add(sysIntParamDO.getOid()); + } + if(idList.size()!=0){ + boolean res= dockingSysIntParamService.removeBatchByIds(idList); + } + //鍐嶆柊澧瀙arams + for(DockingSysIntParam sysIntParamDOi:dockingSysIntParamList){ + sysIntParamDOi.setUsedFlag(FLAG_TRUE); + sysIntParamDOi.setInfoOid(dockingSystemConfig.getOid()); + } + dockingSysIntParamService.saveBatch(dockingSysIntParamList); + } + this.dockingSystemConfigMapper.updateById(dockingSystemConfig); + //return changeoDckingSystemEntityVOs(dockingSystemConfig,dockingSysIntHeaderList,dockingSysIntParamList); + return true; + } + /*** + * 鏇存柊鎺ュ彛閰嶇疆淇℃伅鐘舵�� + * @param sysInfoStatusDTO + * @return + */ + @Override + public R updateStatus(UpdateSysInfoStatusDTO sysInfoStatusDTO) { + VciBaseUtil.alertNotNull(sysInfoStatusDTO.getOid(),"鏁版嵁瀵硅薄",sysInfoStatusDTO.getOid(),"绯荤粺闆嗘垚鍩虹淇℃伅涓婚敭"); + DockingSystemConfig dockingSystemConfig = this.dockingSystemConfigMapper.selectById(sysInfoStatusDTO.getOid()); + try { + dockingSystemConfig.setTs(VciDateUtil.str2Date(sysInfoStatusDTO.getTs(), VciDateUtil.DateTimeFormat)); + } catch (Exception e) { + e.printStackTrace(); + } + if(sysInfoStatusDTO.getUpdate().equals("disable")) { + dockingSystemConfig.setUsedFlag("false"); + }else{ + dockingSystemConfig.setUsedFlag("true"); + } + dockingSystemConfigMapper.updateById(dockingSystemConfig); + return R.status(true); + } + + /*** + * 鎵嬪姩鍚屾鎺ュ彛锛屽彧鏈夋帹閫佺殑鎵嶄細 + * @param dockingSystemConfigDTO + * @return + * @throws VciBaseException + */ + @Transactional(rollbackFor = Exception.class) + @Override + public R pushData(DockingSystemConfigDTO dockingSystemConfigDTO) throws VciBaseException { + VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getOid(),"鏁版嵁瀵硅薄",dockingSystemConfigDTO.getOid(),"绯荤粺闆嗘垚閰嶇疆淇℃伅涓婚敭"); + if(dockingSystemConfigDTO.getDataFlowType().equals(SysIntegrationDataFlowTypeEnum.ACCEPT.getValue())){ + throw new VciBaseException("浣犳墍閫夋嫨闆嗘垚閰嶇疆淇℃伅涓嶅睘浜庢帹閫佺被鍨嬬殑鎺ュ彛閰嶇疆锛�"); + } + boolean issuccess=false; + String type="鏁版嵁鎺ㄩ��"; + if(dockingSystemConfigDTO.getPushType().equalsIgnoreCase("1")){//鎺ㄩ�佹暟鎹� + pushDockingTasks(dockingSystemConfigDTO); + }else if(dockingSystemConfigDTO.getPushType().equalsIgnoreCase("2")){//鎺ㄩ�佸垎绫� + issuccess= pushClsfDatas(dockingSystemConfigDTO); + type="鍒嗙被鎺ㄩ��"; + } + return issuccess?R.success(type+"鎴愬姛锛�"):R.fail(type+"澶辫触锛�"); + } + + /** + * + * @param dockingSystemConfig + * @param dockingSysIntHeaderList + * @param dockingSysIntParamList + * @return + */ + private DockingSystemConfigVO changeoDckingSystemEntityVOs(DockingSystemConfig dockingSystemConfig , List<DockingSysIntHeader> dockingSysIntHeaderList , List<DockingSysIntParam> dockingSysIntParamList) { + DockingSystemConfigVO vo = new DockingSystemConfigVO(); + if(dockingSystemConfig != null){ + BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSystemConfig,vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + if(!CollectionUtils.isEmpty(dockingSysIntParamList)) { + List<DockingSysIntParamVO> dockingSysIntParamVOList = DockingSysIntParamWrapper.build().entityVOs(dockingSysIntParamList); + vo.setSysIntParamVOs(dockingSysIntParamVOList); + } + if(!CollectionUtils.isEmpty(dockingSysIntHeaderList)){ + List<DockingSysIntHeaderVO> dockingSysIntHeaderVOList= DockingSysIntHeaderWrapper.build().entityVOs(dockingSysIntHeaderList); + vo.setSysIntHeaderVOs(dockingSysIntHeaderVOList); + } + } + return vo; } @Override @@ -153,4 +378,304 @@ VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getClassPath(),"绫昏矾寰�"); } } + + private R pushDockingTasks(DockingSystemConfigDTO dockingSystemConfigDTO) { + String msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟鎴愬姛锛�"; + try { + DockingSystemConfig dockingSystemConfig =dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid()); + String codeClassifyOid = dockingSystemConfig.getClassifyOid(); + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); + CodeClassifyVO topClassifyVO = classifyService.getTopClassifyVO(codeClassifyOid); + String btmTypeId = topClassifyVO.getBtmtypeid(); + if (StringUtils.isBlank(btmTypeId)) { + return R.fail("杩欎釜鍒嗙被鎵�灞為《灞傚垎绫绘病鏈夋坊鍔犱笟鍔$被鍨�"); + } + List<CodeClassifyVO> codeClassifyIdPathVOS = classifyService.listChildrenClassify(topClassifyVO.getOid(), true, "id", false); + List<CodeClassifyVO> codeClassifynamePathVOS = classifyService.listChildrenClassify(topClassifyVO.getOid(), true, "name", false); + Map<String/**鍒嗙被oid**/, String/**鍒嗙被浠e彿閾炬帴绗�**/> clsfOidIdMap = codeClassifyIdPathVOS.stream().collect(Collectors.toMap(s -> s.getOid(), t -> reverseOrderByList(t.getPath(), topClassifyVO, 1).toLowerCase(Locale.ROOT), (o1, o2) -> o2)); + Map<String/**鍒嗙被oid**/, String/**鍒嗙被鍚嶇О閾炬帴绗�**/> clsfOidNameMap = codeClassifynamePathVOS.stream().collect(Collectors.toMap(s -> s.getOid(), t -> reverseOrderByList(t.getPath(), topClassifyVO, 2).toLowerCase(Locale.ROOT), (o1, o2) -> o2)); + PageHelper pageHelper = new PageHelper(); + pageHelper.setPage(1); + pageHelper.setLimit(1000000); + pageHelper.setStart(0); + + HashMap<String, String> conditionMap = new HashMap<>(); + if (!classifyService.checkHasChild(codeClassifyOid)) { + conditionMap.put(CODE_CLASSIFY_OID_FIELD, codeClassifyOid); + } else { + conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) + + " where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED + + "' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )"); + } + conditionMap.put("islastr", "1"); + conditionMap.put("islastv", "1"); + List<String> lcstatusList = new ArrayList<>(Arrays.asList(new String[]{"TakeBack", "Released", "Disabled"})); + conditionMap.put("lcstatus", QueryOptionConstant.IN + VciBaseUtil.toInSql(lcstatusList.toArray(new String[0]))); + + CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(btmTypeId, templateVO, conditionMap, pageHelper); + List<Map<String,String>> maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); + List<DockingTask> dockingTaskDO_insert = new ArrayList<>(); + if (!CollectionUtils.isEmpty(maps)) { + maps.stream().forEach(map -> { + String btmoid = map.get("oid".toUpperCase(Locale.ROOT)) == null ? "" : map.get("oid".toUpperCase(Locale.ROOT)).toString();//鏁版嵁oid + String sendtype = map.get("lcstatus".toUpperCase(Locale.ROOT)) == null ? "" : map.get("lcstatus".toUpperCase(Locale.ROOT)).toString();//鏁版嵁鎺ㄩ�佺被鍨� + String id = map.get("id".toUpperCase(Locale.ROOT)) == null ? "" : map.get("id".toUpperCase(Locale.ROOT)).toString();//缂栫爜 + String btmid = topClassifyVO.getBtmtypeid();//鏁版嵁涓氬姟绫诲瀷 + String classifyoid = map.get("codeclsfid".toUpperCase(Locale.ROOT)) == null ? "" : map.get("codeclsfid".toUpperCase(Locale.ROOT)).toString();//鏁版嵁鎵�鍦ㄧ殑鍒嗙被id + String date2Str = VciDateUtil.date2Str(new Date(), VciDateUtil.DateTimeFormatStr); + DockingTask dockingTaskDO = new DockingTask(); + dockingTaskDO.setOid(date2Str +"_"+id); + dockingTaskDO.setSendFlag(SEND_FLAG_FALSE); + dockingTaskDO.setId(id);//缂栫爜 + dockingTaskDO.setUniqueCode(""); + dockingTaskDO.setBtmOid(btmoid);//鏁版嵁oid + dockingTaskDO.setBtmId(btmid);//鏁版嵁涓氬姟绫诲瀷id + if (clsfOidIdMap.containsKey(classifyoid)) { + String classifyid = clsfOidIdMap.get(classifyoid); + dockingTaskDO.setClassifyId(classifyid);//鏁版嵁鍦ㄥ垎绫籭d + } + dockingTaskDO.setClassifyOid(classifyoid);//鏁版嵁鎵�鍦ㄥ垎绫籵id + if (clsfOidNameMap.containsKey(classifyoid)) { + String classifyname = clsfOidNameMap.get(classifyoid); + dockingTaskDO.setClassifyName(classifyname);//鏁版嵁鎵�鍦ㄥ垎绫诲悕绉� + } + dockingTaskDO.setSendType(sendtype);//鏁版嵁鎺ㄩ�佺被鍨� + //String dataoid=redisService.getUUIDEveryDay(); + dockingTaskDO.setDataOid(date2Str +"_"+ btmoid); + //intinfo + dockingTaskDO.setSysInfoOid(dockingSystemConfigDTO.getOid());//intinfo鐨刼id + dockingTaskDO.setSystemOid(dockingSystemConfigDTO.getSysBaseOid());//绯荤粺oid + dockingTaskDO.setSystemCode(dockingSystemConfigDTO.getSysBaseId());//绯荤粺缂栫爜 + dockingTaskDO.setSystemName(dockingSystemConfigDTO.getSysBaseName());//绯荤粺name + dockingTaskDO_insert.add(dockingTaskDO); + }); + } + dockingTaskService.saveBatch(dockingTaskDO_insert); + }catch (Throwable e){ + msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!"; + log.error("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!"+e); + e.printStackTrace(); + }finally { + log.info(msg); + return R.success("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟鎴愬姛锛�"); + } + } + + /*** + * 鍒嗙被鎺ㄩ�侀泦鎴� + * @param dockingSystemConfigDTO + * @return + */ + private boolean pushClsfDatas(DockingSystemConfigDTO dockingSystemConfigDTO){ + DockingSystemConfig dockingSystemConfig= dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid()); + String classOid= dockingSystemConfig.getClassifyOid(); + List<CodeClassifyVO> listChildrenClassify= classifyService.listChildrenClassify(classOid,true,"id",false); + List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>(); + JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO(); + NodeDataDTO nodeDataDTO=new NodeDataDTO(); + //姣忎釜task涓�涓簨鍔★紝寮�鍚� + boolean isSuccess=false; + try { + String sendString = ""; + if (!CollectionUtils.isEmpty(listChildrenClassify)) { + listChildrenClassify.stream().forEach(codeClassifyVO -> { + NodeClassifyDTO nodeClassifyDTO = new NodeClassifyDTO(); + nodeClassifyDTO.setClassCode(codeClassifyVO.getId());//鍒嗙被浠e彿 + nodeClassifyDTO.setDescription(codeClassifyVO.getDescription());//鍒嗙被鎻忚堪 + nodeClassifyDTO.setFullPathName(codeClassifyVO.getPath());//鍏ㄨ矾寰� + nodeClassifyDTO.setLcStatus(codeClassifyVO.getLcStatus());//鐘舵�� + nodeClassifyDTO.setPid(codeClassifyVO.getId());//鐖秈d鑺傜偣 + nodeClassifyDTO.setId(codeClassifyVO.getOid());//鍒嗙被oid + nodeClassifyDTO.setName(codeClassifyVO.getName());//鍒嗙被鍚嶇О + nodeClassifyDTOList.add(nodeClassifyDTO); + }); + NodeLibraryDTO nodeLibraryDTO = new NodeLibraryDTO(); + nodeLibraryDTO.setClassify(nodeClassifyDTOList); + CodeClassifyVO rootClassify = classifyService.getTopClassifyVO(classOid); + nodeLibraryDTO.setId(rootClassify.getOid()); + nodeLibraryDTO.setName(rootClassify.getName()); + nodeDataDTO.setLibrary(nodeLibraryDTO); + jsonRootDataDTO.setData(nodeDataDTO); + String paramType = dockingSystemConfigDTO.getParamType();//xml/json + if (paramType.equals(DATATYPE_JSON)) { + Object object = JSONObject.toJSON(jsonRootDataDTO); + sendString = object.toString(); + } else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(NodeDataDTO.class); + xStream.autodetectAnnotations(true); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + } + //璋冪敤鎺ュ彛 + callInterface(sendString, dockingSystemConfigDTO); + isSuccess=true; + } + }catch (Throwable e){ + e.printStackTrace(); + isSuccess=false; + }finally { + return true; + } + } + + /*** + * 璋冪敤鎺ュ彛 + * @param dockingSystemConfigDTO + * @throws Throwable + */ + private void callInterface(String sendString , DockingSystemConfigDTO dockingSystemConfigDTO) throws Throwable{ + String paramString = ""; + + String backString = ""; + String msg=""; + String url = dockingSystemConfigDTO.getRequestUrl();//url + List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); + try { + String type = dockingSystemConfigDTO.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba + String paramType = dockingSystemConfigDTO.getParamType();//xml/json + String returnType = dockingSystemConfigDTO.getReturnType();//xml/json + String requestmethod= dockingSystemConfigDTO.getRequestMethod(); + String interfaceFunction = dockingSystemConfigDTO.getInterfaceFunction();//涓昏鏄痺ebservice鐨勬柟娉曞悕 + String namespace = dockingSystemConfigDTO.getNamespace();//namespace + String soapaction = dockingSystemConfigDTO.getSoapAction();//soapaction + String targName = dockingSystemConfigDTO.getTargetName();//targName + String cxfaxis = dockingSystemConfigDTO.getCxfAxis();//webservice鏄痗xf/axis + //鏌ヨparam + List<DockingSysIntParamDTO> sysIntParamVOList = dockingSystemConfigDTO.getSysIntParamDTOS(); + //鏌ヨheader + List<DockingSysIntHeaderDTO> sysIntHeaderVOList =dockingSystemConfigDTO.getSysIntHeaderDTOS(); + if(type.equals(URLTYPE_HTTP)) { + if (requestmethod.equals(URLTYPE_GET)) {//GET璇锋眰 + String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString; + //鎷兼帴param + for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) { + sendurl = sendurl + "&" + sysIntParamVO.getParamkey() + "=" + sysIntParamVO.getParamvalue(); + } + paramString = sendurl; + backString = HttpUtils.get(sendurl); + } else if (requestmethod.equals(URLTYPE_POST)) {//POST璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + if(!CollectionUtils.isEmpty(sysIntParamVOList)) { + for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) { + params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue()); + } + } + params.add(DATA_PARAM_NAME,sendString); + paramString = params.toString(); + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + if(!CollectionUtils.isEmpty(sysIntHeaderVOList)) { + for (DockingSysIntHeaderDTO sysIntHeaderVO : sysIntHeaderVOList) { + headers.add(sysIntHeaderVO.getHeaderKey(), sysIntHeaderVO.getHeaderValue()); + } + } + backString = HttpUtils.post(url, params, headers); + } + if(backString.startsWith("\"")){ + backString=backString.substring(backString.indexOf("\"")+1); + } + if(backString.endsWith("\"")){ + backString=backString.substring(0,backString.lastIndexOf("\"")); + } + if(backString.contains("\n")){ + String res="\n"; + backString= backString.replaceAll(res,""); + } + if(backString.contains("\\")){ + String res="\\\\\""; + backString= backString.replaceAll(res,"\"").trim(); + } + }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) { + params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue()); + } + paramString = sendString; + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + for (DockingSysIntHeaderDTO sysIntHeaderVO : sysIntHeaderVOList) { + headers.add(sysIntHeaderVO.getHeaderKey(), sysIntHeaderVO.getHeaderValue()); + } + backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000); + + } else {//corba鎺ュ彛 + //paramString=sendString; + // backString = jacorbClient.getBOFactoryService().sendCode(sendString); + } + + ResultJsonDTO resultJsonDTO = new ResultJsonDTO(); + if(returnType.equals(DATATYPE_JSON)){ + resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class); + }else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(ResultNodeDataDTO.class); + xStream.autodetectAnnotations(true); + ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString); + resultJsonDTO.setData(resultNodeDataDTO); + } + ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); + resultNodeObjectDTOS=resultNodeDataDTO.getObject(); + + }catch (Throwable e){ + msg="璋冪敤鎺ュ彛澶辫触:"+e; + e.printStackTrace(); + // throw new Throwable("璋冪敤鎺ュ彛澶辫触:"+e); + ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); + resultNodeObjectDTO.setErroid("1"); + resultNodeObjectDTO.setMsg(msg); + resultNodeObjectDTO.setCode(dockingSystemConfigDTO.getClassifyId()); + resultNodeObjectDTO.setOid(dockingSystemConfigDTO.getClassifyOid()); + resultNodeObjectDTOS.add(resultNodeObjectDTO); + }finally { + boolean isSend = false; + List<DockingLog> dockingLogList=new ArrayList<>(); + for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){ + String erroid = resultNodeObjectDTO.getErroid(); + msg = resultNodeObjectDTO.getMsg(); + if("0".equals(erroid)){ + isSend = true; + }else if("1".equals(erroid)){ + isSend=false; + }else{ + isSend=false; + } + DockingLog dockingLog = new DockingLog(); + String oid=VciBaseUtil.getPk(); + dockingLog.setOid(oid); + dockingLog.setSystemCode(dockingSystemConfigDTO.getSysBaseId()); + dockingLog.setSystemName(dockingSystemConfigDTO.getSysBaseName()); + dockingLog.setSystemOid(dockingSystemConfigDTO.getSysBaseOid()); + dockingLog.setClassifyOid(dockingSystemConfigDTO.getClassifyOid()); + dockingLog.setClassifyId(dockingSystemConfigDTO.getClassifyId()); + dockingLog.setClassifyName(dockingSystemConfigDTO.getClassifyName()); + dockingLog.setId(dockingSystemConfigDTO.getId()); + dockingLog.setUniqueCode(""); + dockingLog.setInterfaceStatus(isSend?"true":"false"); + dockingLog.setParamString(paramString); + dockingLog.setType(DATA_LOGE_OUT); + dockingLog.setReturnString(backString); + dockingLog.setMsg(msg); + dockingLogList.add(dockingLog); + log.info("闆嗘垚鎺ㄩ�佹暟鎹�,systemcode:"+dockingSystemConfigDTO.getSysBaseId()+",systemname:"+dockingSystemConfigDTO.getSysBaseName()+",url:"+url+",param:"+paramString+",e:"+msg); + } + dockingLogeService.saveBatch(dockingLogList); + } + } + + private String reverseOrderByList(String StringValue, CodeClassifyVO topClassifyVO,int type){ + String[] s=StringValue.split("#"); + StringBuffer sb=new StringBuffer(); + List<String> list=new ArrayList<>(Arrays.asList(s)); + Collections.reverse(list); + System.out.println(list.toString()); + for (String o:list){ + if(StringUtils.isNotBlank(o)){ + sb.append(o).append(","); + } + } + sb.append(type==1?topClassifyVO.getId():topClassifyVO.getName()); + System.out.println(sb.toString()); + + return sb.toString(); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java new file mode 100644 index 0000000..89d8c9e --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java @@ -0,0 +1,194 @@ +package com.vci.ubcs.code.util; + +import org.springframework.http.*; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; + +import javax.servlet.http.HttpServletRequest; + +/** + * http璇锋眰宸ュ叿绫� + * + * @since 2020-03-25 + */ +public class HttpUtils { + + //Content-Type鐨刱ey + public static String CONTENT_TYPE = "Content-Type"; + //json鏁版嵁 + public static String CONTENT_TYPE_JSON = MediaType.APPLICATION_JSON_VALUE; + public static String CONTENT_TYPE_JSON_UTF8 = MediaType.APPLICATION_JSON_UTF8_VALUE; + + //琛ㄥ崟鏍煎紡,榛樿 + public static String CONTENT_TYPE_TEXT = MediaType.APPLICATION_FORM_URLENCODED_VALUE; + + /** + * get璇锋眰 + * + * @param url + * @return + */ + public static String get(String url) { + return get(url, null); + } + + /** + * get璇锋眰 + * + * @param url + * @param headers 璇锋眰澶� + * @return + */ + public static String get(String url, MultiValueMap<String, String> headers) { + return request(url, null, headers, HttpMethod.GET); + } + + /** + * post璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @return + */ + public static String post(String url, MultiValueMap<String, String> params) { + return post(url, params, null); + } + + /** + * post璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @return + */ + public static String post(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) { + return request(url, params, headers, HttpMethod.POST); + } + + /** + * put璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @return + */ + public static String put(String url, MultiValueMap<String, String> params) { + return put(url, params, null); + } + + /** + * put璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @return + */ + public static String put(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) { + return request(url, params, headers, HttpMethod.PUT); + } + + /** + * delete璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @return + */ + public static String delete(String url, MultiValueMap<String, String> params) { + return delete(url, params, null); + } + + /** + * delete璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @return + */ + public static String delete(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) { + return request(url, params, headers, HttpMethod.DELETE); + } + + /** + * 琛ㄥ崟璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @param method 璇锋眰鏂瑰紡 + * @return + */ + public static String request(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers, HttpMethod method) { + if (params == null) { + params = new LinkedMultiValueMap<>(); + } + return request(url, params, headers, method, MediaType.APPLICATION_FORM_URLENCODED); + } + + /** + * http璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @param method 璇锋眰鏂瑰紡 + * @param mediaType 鍙傛暟绫诲瀷 + * @return + */ + public static String request(String url, Object params, MultiValueMap<String, String> headers, HttpMethod method, MediaType mediaType) { + if (url == null || url.trim().isEmpty()) { + return null; + } + RestTemplate client = new RestTemplate(); + // header + HttpHeaders httpHeaders = new HttpHeaders(); + if (headers != null) { + httpHeaders.addAll(headers); + } + // 鎻愪氦鏂瑰紡锛氳〃鍗曘�乯son + httpHeaders.setContentType(mediaType); + HttpEntity<Object> httpEntity = new HttpEntity(params, httpHeaders); + ResponseEntity<String> response = client.exchange(url, method, httpEntity, String.class); + return response.getBody(); + } + + public static MultiValueMap<String, String> set_params_headers(String key,String value,MultiValueMap<String, String> map){ + if(map==null){ + map = new LinkedMultiValueMap<>(); + } + map.add(key,value); + return map; + } + /** + * 鑾峰彇ip + * @param request + * @return + */ + public static String getIpAddressFromRequest(HttpServletRequest request){ + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + if (ip == null || ip.length() == 0 || ip.indexOf("0:0:0:0:0:0:0:1") >-1) { + //0:0:0:0:0:0:0:1鏄湰鏈哄湪璁块棶 + ip = "127.0.0.1"; + } + return ip; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java new file mode 100644 index 0000000..6659503 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java @@ -0,0 +1,60 @@ +package com.vci.ubcs.code.util; + +import com.alibaba.cloud.commons.lang.StringUtils; +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMFactory; +import org.apache.axiom.om.OMNamespace; +import org.apache.axiom.soap.SOAP11Constants; +import org.apache.axis2.Constants; +import org.apache.axis2.addressing.EndpointReference; +import org.apache.axis2.client.Options; +import org.apache.axis2.client.ServiceClient; + +public class WsErpClientUtil { + + /** + * axis2璋冪敤瀹㈡埛绔� + * + * @param url 璇锋眰鏈嶅姟鍦板潃 + * @param nameSpace 鍛藉悕绌洪棿 + * @param method 鏂规硶鍚� + * @param tarName 鍙傛暟鍚嶇О + * @param xmlData 璇锋眰鎶ユ枃 + * @param timeOutInMilliSeconds 瓒呮椂鏃堕棿 + * @return String 绫诲瀷鐨勫搷搴旀姤鎭� + */ + public static String sendMsg(String url, String nameSpace,String soapAction, String method, String tarName, String xmlData, long timeOutInMilliSeconds) throws Exception { + ServiceClient serviceClient = new ServiceClient(); + Options option = new Options(); + option.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); + option.setTransportInProtocol(Constants.TRANSPORT_HTTP); + + // 鍊间负targetNamespace+methodName + if(StringUtils.isEmpty(soapAction)){ + soapAction = nameSpace+method; + } + option.setAction(soapAction); + + EndpointReference epfs = new EndpointReference(url); + option.setTo(epfs); + serviceClient.setOptions(option); + + OMFactory fac = OMAbstractFactory.getOMFactory(); + OMNamespace namespaceOM = fac.createOMNamespace(nameSpace, ""); + OMElement element = fac.createOMElement(method, namespaceOM); + OMElement theCityCode = fac.createOMElement(tarName, namespaceOM); + theCityCode.setText(xmlData); + element.addChild(theCityCode); +// OMElement theUserID = fac.createOMElement("theUserID ", namespace); +// theUserID.setText(""); +// element.addChild(theUserID); + + OMElement resultOM = serviceClient.sendReceive(element); + + String result = resultOM.getFirstElement().getText(); + System.out.println(result); + + return result; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java new file mode 100644 index 0000000..d2c834f --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java @@ -0,0 +1,67 @@ +package com.vci.ubcs.code.wrapper; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.vci.ubcs.code.entity.DockingData; +import com.vci.ubcs.code.vo.pagemodel.DockingDataVO; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Objects; + +public class DockingDataWrapper extends BaseEntityWrapper<DockingData, DockingDataVO> { + public static DockingDataWrapper build() { + return new DockingDataWrapper(); + } + + @Override + public DockingDataVO entityVO(DockingData entity) { + DockingDataVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingDataVO.class)); + return vo; + } + + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param entitys + * @return + */ + public List<DockingDataVO> entityVOs(Collection<DockingData> entitys) { + if(CollectionUtils.isEmpty(entitys)) {return new ArrayList<>();} + List<DockingDataVO> vos=new ArrayList<>(); + if(!CollectionUtils.isEmpty(entitys)) { + entitys.stream().forEach(vo -> { + vos.add(entityVO(vo)); + }); + } + return vos; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param vos + * @return + */ + public List<DockingData> voentitys(Collection<DockingDataVO> vos) { + if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();} + List<DockingData>entitys =new ArrayList<>(); + if(!CollectionUtils.isEmpty(vos)) { + vos.stream().forEach(entity -> { + entitys.add(voentity(entity)); + }); + } + return entitys; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param vo + * @return + */ + public DockingData voentity( DockingDataVO vo) { + DockingData entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingData.class)); + return entity; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml new file mode 100644 index 0000000..ff0ef90 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml @@ -0,0 +1,41 @@ +<?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.code.mapper.DockingDataMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="plDockingDataResultMap" type="com.vci.ubcs.code.entity.DockingData"> + <result column="OID" property="oid"/> + <result column="REVISIONOID" property="revisionOid"/> + <result column="NAMEOID" property="nameOid"/> + <result column="BTMNAME" property="btmName"/> + <result column="LASTR" property="lastR"/> + <result column="FIRSTR" property="firstR"/> + <result column="LASTV" property="lastV"/> + <result column="FIRSTV" property="firstV"/> + <result column="CREATOR" property="creator"/> + <result column="CREATETIME" property="createTime"/> + <result column="LASTMODIFIER" property="lastModifier"/> + <result column="LASTMODIFYTIME" property="lastModifyTime"/> + <result column="REVISIONRULE" property="revisionRule"/> + <result column="VERSIONRULE" property="versionRule"/> + <result column="REVISIONSEQ" property="revisionSeg"/> + <result column="REVISIONVALUE" property="revisionValue"/> + <result column="VERSIONSEQ" property="versionSeq"/> + <result column="VERSIONVALUE" property="versionValue"/> + <result column="LCTID" property="lctid"/> + <result column="LCSTATUS" property="lcStatus"/> + <result column="TS" property="ts"/> + <result column="ID" property="id"/> + <result column="NAME" property="name"/> + <result column="DESCRIPTION" property="description"/> + <result column="OWNER" property="owner"/> + <result column="COPYFROMVERSION" property="copyFromVersion"/> + <result column="UNIQUECODE" property="uniqueCode"/> + <result column="CLASSIFYOID" property="classifyOid"/> + <result column="BTMOID" property="btmOid"/> + <result column="BTMID" property="btmId"/> + <result column="SENDTYPE" property="sendType"/> + <result column="SENDFLAG" property="sendFlag"/> + <result column="CLASSIFYID" property="classifyId"/> + <result column="CLASSIFYNAME" property="classifyName"/> + </resultMap> +</mapper> diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java index bd55aab..2121d5c 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/processor/dll/DllDmMapperProcessor.java @@ -65,7 +65,7 @@ public String getColumnTypeSql(VciFieldTypeEnum fieldType, BtmTypeAttributeVO attributeVO) { DdlFieldMappingAttrBO mappingBO = getMappingBO(fieldType); if (fieldType.equals(VciFieldTypeEnum.VTDouble)) { - mappingBO.setDataPrecision(attributeVO.getPrecisionLength()); + mappingBO.setDataPrecision(attributeVO.getPrecisionLength() == -1 ? 8 : attributeVO.getPrecisionLength()); } //鍏堝彧閽堝鏁板瓧绫诲瀷鐨勮繘琛屽鐞� if (fieldType.equals(VciFieldTypeEnum.VTInteger) ){ diff --git a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java index eb74293..e7ae5de 100644 --- a/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-ddl/src/main/java/com/vci/ubcs/ddl/service/impl/DdlServiceImpl.java @@ -1007,7 +1007,7 @@ } return R.fail(e.getMessage()); }catch (ServiceException e2){ - throw new RuntimeException(e2.getMessage()); + return R.fail(e.getMessage()); } } } 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 a8a804c..7bedf86 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 @@ -109,5 +109,4 @@ */ @InterceptorIgnore(tenantLine = "1") Long batchInsert(@Param("records") List<BtmType> records); - } diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java index 22b90ed..87b7531 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java @@ -107,7 +107,7 @@ attributesDTOList.stream().forEachOrdered(s -> { attributeService.checkAttribute(s); btmTypeAttributeDOList.add(BtmTypeAttributeWrapper.build().copyBtmTypeAttributeDTO2Entity(s,btmTypeOid, creator, now)); - attributeIdList.add(s.getId().toLowerCase().trim()); + attributeIdList.add(s.getId().trim()); }); //妫�鏌ュ睘鎬ф槸鍚﹂兘瀛樺湪 boolean exists = attributeService.checkAttributeExists(attributeIdList); 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 a75265e..2dc1b5f 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 @@ -204,7 +204,7 @@ */ @Override public List<BtmType> listBtmTypeDOByIdCollection(Collection<String> idCollection) throws ServiceException { - return CollectionUtils.isEmpty(idCollection) ? null : baseMapper.selectList(Wrappers.<BtmType>query().lambda().in(BtmType::getId, idCollection)); + return CollectionUtils.isEmpty(idCollection) ? null : baseMapper.selectByIdCollection(idCollection); } /** @@ -595,11 +595,14 @@ if (btmTypeDTO.getId().length() > 24) { throw new VciBaseException("涓氬姟绫诲瀷鑻辨枃鍚嶇О涓嶈兘瓒呰繃18锛岀洰鍓嶉暱搴︿负{0}", new Object[]{btmTypeDTO.getId().length()}); } - List<BtmType> btmTypeDOList = listBtmTypeDOByIdCollection(VciBaseUtil.str2List(btmTypeDTO.getId())); + List<BtmType> btmTypeDOList = listBtmTypeDOByIdCollection(VciBaseUtil.str2List(btmTypeDTO.getId().toLowerCase(Locale.ROOT))); if (!CollectionUtils.isEmpty(btmTypeDOList) && btmTypeDOList.size() > 0) { + boolean exist = btmTypeDOList.stream().filter(btm -> StringUtils.isNotBlank(btm.getOid())).anyMatch(btm -> !StringUtils.equals(btmTypeDTO.getOid(), btm.getOid())); BtmType existBtmType = btmTypeDOList.get(0); - throw new VciBaseException("涓氬姟绫诲瀷鑻辨枃鍚嶇О宸茬粡瀛樺湪锛堜笉鍖哄垎澶у皬鍐欙級锛岃繖涓嫳鏂囧悕绉板搴旂殑涓枃鍚嶇О涓簕0},鍒涘缓浜簕1},鍒涘缓鏃堕棿{2}" - , new Object[]{existBtmType.getName(), existBtmType.getCreator(), VciDateUtil.date2Str(existBtmType.getCreateTime(), VciDateUtil.DateFormat)}); + if (exist) { + throw new VciBaseException("涓氬姟绫诲瀷鑻辨枃鍚嶇О宸茬粡瀛樺湪锛堜笉鍖哄垎澶у皬鍐欙級锛岃繖涓嫳鏂囧悕绉板搴旂殑涓枃鍚嶇О涓簕0},鍒涘缓浜簕1},鍒涘缓鏃堕棿{2}" + , new Object[]{existBtmType.getName(), existBtmType.getCreator(), VciDateUtil.date2Str(existBtmType.getCreateTime(), VciDateUtil.DateFormat)}); + } } if (btmTypeDTO.isRevisionFlag()){ // 闇�瑕佹帶鍒剁増鏈� diff --git a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/BtmTypeAttributeMapper.xml b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/BtmTypeAttributeMapper.xml index 7ea52e2..bfa4fe8 100644 --- a/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/BtmTypeAttributeMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-omd/src/main/resources/mapper/BtmTypeAttributeMapper.xml @@ -45,7 +45,7 @@ update <include refid="tableName"/> set id = #{item.id,jdbcType=VARCHAR}, name = #{item.name,jdbcType=VARCHAR}, - descrption = #{item.decription,jdbcType=VARCHAR}, + description = #{item.description,jdbcType=VARCHAR}, pk_btm_type = #{item.pkBtmType,jdbcType=VARCHAR}, attribute_length = #{item.attributeLength,jdbcType=DECIMAL}, attr_data_type = #{item.attrDataType,jdbcType=VARCHAR}, -- Gitblit v1.9.3