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> 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){ 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åoptionï¼ä½æ¯dataåv-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({ 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; 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> 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; 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; } 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 { 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; /*** * æ¨éç±»åæ¾ç¤ºå¼ 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 { 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); 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"; } 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> 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åtséè¦ä¼ è¾ * @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 æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @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 ç³»ç»éæåºç¡ä¿¡æ¯æ°æ®ä¼ è¾å¯¹è±¡ï¼oidåtséè¦ä¼ è¾ * @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)); } } 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","æ¥æ¶"); /** * æä¸¾çå¼ 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> { } 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> { } 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); /** * å¢å ç³»ç»éæçæ¥å£ç®¡çä¿¡æ¯ * @param dockingSystemConfigDTO ç³»ç»éæçç³»ç»ä¿¡æ¯æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO); boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO); /** * ä¿®æ¹ ç³»ç»éæçæ¥å£ç®¡çä¿¡æ¯ * @param dockingSystemConfigDTO ç³»ç»éæçç³»ç»ä¿¡æ¯æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ 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); } 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 { } 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); } /** * å¢å ç³»ç»éæçæ¥å£ç®¡çä¿¡æ¯ * @param dockingSystemConfigDTO ç³»ç»éæçç³»ç»ä¿¡æ¯æ°æ®ä¼ è¾å¯¹è±¡ @@ -127,9 +207,154 @@ } /** * ä¿®æ¹ ç³»ç»éæçæ¥å£ç®¡çä¿¡æ¯ * @param dockingSystemConfigDTO ç³»ç»éæçç³»ç»ä¿¡æ¯æ°æ®ä¼ è¾å¯¹è±¡ * @return æ§è¡ç»æï¼success为true表示æåï¼msgæ¯å¤±è´¥çæç¤ºä¿¡æ¯ï¼objæ¯æ·»å 宿åçæ¾ç¤ºå¯¹è±¡ */ @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()); //å°DTO转æ¢ä¸ºDO 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); } //åæ°å¢headers for(DockingSysIntHeader sysIntHeader:dockingSysIntHeaderList){ sysIntHeader.setUsedFlag(FLAG_TRUE); sysIntHeader.setInfoOid(dockingSystemConfig.getOid()); } boolean res= dockingSysIntHeaderService.saveBatch(dockingSysIntHeaderList); } //æ¹éå¤çä¿åParam对象 if(!CollectionUtils.isEmpty(dockingSysIntParamList)) { //å å é¤params_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); } //åæ°å¢params 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); //妿ælcstatusçç±»çè¯ 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/**å类代å·é¾æ¥ç¬¦**/> 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);//æ°æ®å¨åç±»id } dockingTaskDO.setClassifyOid(classifyoid);//æ°æ®æå¨åç±»oid 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çoid 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());//åç±»ä»£å· nodeClassifyDTO.setDescription(codeClassifyVO.getDescription());//åç±»æè¿° nodeClassifyDTO.setFullPathName(codeClassifyVO.getPath());//å ¨è·¯å¾ nodeClassifyDTO.setLcStatus(codeClassifyVO.getLcStatus());//ç¶æ nodeClassifyDTO.setPid(codeClassifyVO.getId());//ç¶idèç¹ 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();//ä¸»è¦æ¯webserviceçæ¹æ³å String namespace = dockingSystemConfigDTO.getNamespace();//namespace String soapaction = dockingSystemConfigDTO.getSoapAction();//soapaction String targName = dockingSystemConfigDTO.getTargetName();//targName String cxfaxis = dockingSystemConfigDTO.getCxfAxis();//webserviceæ¯cxf/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(); } } 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çkey 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); } // æäº¤æ¹å¼ï¼è¡¨åãjson 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; } } 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; } } 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; } } 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> 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) ){ 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()); } } } 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); } 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); 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()){ // éè¦æ§å¶çæ¬ 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},