Source/UBCS-WEB/src/api/batchImport/index.js
@@ -1,9 +1,18 @@ import request from '@/router/axios'; export const downloadTemplate = (params) => { // åå²å¯¼å ¥æ¨¡æ¿ä¸è½½ export const downloadHistoryImportTemplate = (params) => { return request({ url: '/api/ubcs-code/mdmEngineController/downloadTopImportExcel ', url: '/api/ubcs-code/mdmEngineController/downloadTopImportExcel', method: 'get', params }) } // ä¸è½½é误æ¥å¿ export const downloadErrorFile = (params) => { return request({ url: '/api/ubcs-code/mdmEngineController/downloadErrorFile', method: 'get', params }) Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -2,7 +2,7 @@ <el-dialog :title="title" :visible="visible" append-to-body> <Divider text="å¯¼å ¥æç¤º" left="30px"></Divider> <ul> <li v-for="(item, index) in tipInfo" :key="index"> <li v-for="(item, index) in tipList" :key="index"> {{ item }} </li> </ul> @@ -20,66 +20,119 @@ :action="action" :before-upload="beforeUpload" :on-exceed="handleExceed" :headers="uploadHeaders" :on-success="onSuccess" :show-file-list="false" :data="{ codeClassifyOid: this.codeClassifyOid, classifyAttr: this.classifyAttr, }" > <el-button size="small" type="primary"><i class="el-icon-upload"></i> ç¹å»ä¸ä¼ </el-button> <el-button size="small" type="primary" ><i class="el-icon-upload"></i> ç¹å»ä¸ä¼ </el-button > </el-upload> <template #footer> <el-button type="primary" size="small" @click="downloadTemplateFun">ä¸è½½å¯¼å ¥æ¨¡æ¿</el-button> <el-button type="primary" size="small" @click="downloadTemplateFun" :loading="downloadLoading" >ä¸è½½å¯¼å ¥æ¨¡æ¿</el-button > <el-button size="small">å ³é</el-button> </template> </el-dialog> </template> <script> import { downloadTemplate } from '../../api/batchImport/index' import { downloadHistoryImportTemplate, downloadErrorFile } from "../../api/batchImport/index"; import { getToken } from "@/util/auth"; export default { name: "", props: { title: { type: String, default: "æ¹éç³è¯·ç¼ç ", }, tipInfo: { type: Array, default: () => [], }, visible: { type: Boolean, default: false, }, accept: { type: String, default: '.xlsx, .xls' default: ".xlsx, .xls", }, codeClassifyOid: { type: String, default: '' default: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B", }, downloadTemplateFun: { type: Function } type: { type: String, default: "", }, }, data() { return { classType: "classCode", classifyAttr: "id", uploadParams: {}, downloadLoading: false }; }, computed: { action() { console.log(process, 'process'); return '/api/ubcs-code/mdmEngineController/mdmEngineController/batchTopImportCode' } uploadHeaders() { return { "Blade-Auth": "bearer " + getToken(), }; }, }, methods: { getDataByType() { if (this.type === "historyImport") { this.title = "å岿°æ®å¯¼å ¥"; this.tipList = [ "1.æ é¢å¸¦äºè§æçè¡¨ç¤ºå ³é®å±æ§ï¼å¸¦æå·è¡¨ç¤ºå¿ è¾é¡¹", "2.ä¼ä¸ç¼ç ï¼éå¢ç åç¶æé½éè¦å¯¼å ¥", "3.æ¯æ¬¡ä» è½æå¤å¯¼å ¥10000æ¡æ°æ®ï¼å¦æåºéä¼è¿åéè¯¯çæ°æ®ååå ï¼ä½æ¯æ£ç¡®çæ°æ®ä¼ä¿å", "4.åç±»çè·¯å¾éè¦ç¨#åéãä» å¡«åå½åéçåç±»æ ä¸çä¸çº§åç±»çè·¯å¾ï¼å¦æå½ååç±»å·²ç»æ¯å¶åèç¹ï¼åä¸å¡«å", ]; this.action = "/api/ubcs-code/mdmEngineController/batchImportHistoryData"; } else if (this.type === "codeApply") { this.title = "æ¹éç¼ç ç³è¯·"; this.tipList = [ "1.æ é¢å¸¦äºè§æçè¡¨ç¤ºå ³é®å±æ§ï¼å¸¦æå·è¡¨ç¤ºå¿ è¾é¡¹", "2.åç±»çè·¯å¾éè¦ç¨#åéãä»å½åéæ©åç±»èç¹çä¸çº§å¼å§å¡«åï¼ç´å°ææ«å°¾èç¹ï¼å¦ 产å#主æºäº§å#主æºäº§å", ]; } }, beforeUpload(file) { const fileType = file.name.split('.').pop() if (fileType !== 'xlsx' && fileType !== 'xls') { const fileType = file.name.split(".").pop(); if (fileType !== "xlsx" && fileType !== "xls") { // ä¸ä¼ æ ¼å¼ä¸ç¬¦åè¦æ±ï¼æç¤ºé误信æ¯å¹¶åæ¶ä¸ä¼ this.$message.error('åªå 许ä¸ä¼ xlsxãxlsæ ¼å¼çæä»¶'); this.$message.error("åªå 许ä¸ä¼ xlsxãxlsæ ¼å¼çæä»¶"); return false; } return true; }, // ä¸è½½å¯¼å ¥æ¨¡æ¿ downloadTemplateFun() { this.downloadLoading = true downloadHistoryImportTemplate({ codeClassifyOid: "535FC9B6-FE27-241F-5FCA-ED4DC17CF95B", }).then(res => { this.downloadLoading = false console.log(res); }).catch(() => { this.downloadLoading = false }); }, onSuccess(res) { if (res.code === 400) { this.$message.error(`${res.msg}ï¼è¯·ä¸è½½é误信æ¯è¿è¡æ¥çï¼`) } downloadErrorFile({uuid: res.data.fileOid}) } }, watch: { visible: { immediate:true, handler() { this.getDataByType(); } } }, }; </script> Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -62,7 +62,7 @@ selectionList: [], option: { addBtn: false, height: this.referConfig.options.height ? this.referConfig.options.height : 475, //height: this.referConfig.options.height ? this.referConfig.options.height : 475, calcHeight: 30, tip: false, menu:false, @@ -242,7 +242,7 @@ searchChange(params, done) { this.query = params; this.page.currentPage = 1; this.onLoad(this.page, params); this.onLoad(this.page); done(); }, currentChange(currentPage){ @@ -254,24 +254,30 @@ selectionChange(list) { if (!this.isMuti && list.length > 1) { const nowVal = list.shift(); this.$refs.referCrud.toggleRowSelection(nowVal, false); this.$refs.referDefalutCrud.toggleRowSelection(nowVal, false); } this.selectionList = list }, selectionClear() { this.selectionList = []; this.$refs.referCrud.clearSelection(); this.$refs.referDefalutCrud.toggleSelection(); }, refreshChange() { this.onLoad(this.page, this.query); }, onLoad(page, params = this.params) { onLoad(page, params={}) { if(this.url){ this.loading = true; getList(Object.assign(params, this.query),page.currentPage, page.pageSize, this.url).then(res => { const data = res.data.data; var query={} if (this.query) { for (var key in this.query) { query['conditionMap["' + key + '"]'] = this.query[key]; } } getList(Object.assign(params,this.params, query,this.query),page.currentPage, page.pageSize, this.url).then(res => { const data = res.data; this.page.total = data.total; this.data = data.records; this.data = data.data; this.loading = false; this.selectionClear(); }); Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -301,7 +301,7 @@ searchChange(params, done) { this.query = params; this.page.currentPage = 1; this.onLoad(this.page, params); this.onLoad(this.page); done(); }, currentChange(currentPage){ @@ -319,18 +319,24 @@ }, selectionClear() { this.selectionList = []; this.$refs.referCrud.clearSelection(); this.$refs.referCrud.toggleSelection(); }, refreshChange() { this.onLoad(this.page, this.query); }, onLoad(page, params = this.params) { onLoad(page, params={}) { if(this.url){ this.loading = true; getList(Object.assign(params, this.query),page.currentPage, page.pageSize, this.url).then(res => { debugger; this.page.total = res.total; this.data = res.data; var query={} if (this.query) { for (var key in this.query) { query['conditionMap["' + key + '"]'] = this.query[key]; } } getList(Object.assign(params,this.params, query,this.query),page.currentPage, page.pageSize, this.url).then(res => { const data = res.data; this.page.total = data.total; this.data = data.data; this.loading = false; this.selectionClear(); }); Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue
@@ -2,6 +2,7 @@ <div> <el-button @click="visible = true">æµè¯</el-button> <el-button @click="visible1 = true">ç¸ä¼¼é¡¹æ¥è¯¢</el-button> <el-button @click="visible3 = true">æ¹éå¯¼å ¥</el-button> <el-button @click="visible2 = true">é件管çdialog</el-button> <FormTemplateDialog :visible.sync="visible" @@ -20,41 +21,51 @@ :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" ></ResembleQueryDialog> <BatchImport :visible="visible3" type="historyImport" :downloadTemplateFun="downloadTemplateFun" ></BatchImport> <fileInHtml :options="{}"></fileInHtml> <fileinDialog :visible="visible2" :options="{}" @close="visible2=false" @close="visible2 = false" ></fileinDialog> </div> </template> <script> import ResembleQueryDialog from '@/components/FormTemplate/ResembleQueryDialog.vue'; import fileInHtml from '@/components/file/inHtml.vue'; import fileinDialog from '@/components/file/inDialog.vue'; import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue"; import fileInHtml from "@/components/file/inHtml.vue"; import fileinDialog from "@/components/file/inDialog.vue"; import BatchImport from "@/components/BatchImport"; export default { name: "FormTempalteTest", components: { ResembleQueryDialog ,fileInHtml ,fileinDialog}, components: { ResembleQueryDialog, fileInHtml, fileinDialog, BatchImport }, data() { return { visible: false, visible1: false, visible2: false, visible3: false, // é»è®¤ç¦ç¨ç表å ç´ disabledProp: ["id", 'lcstatus'], disabledProp: ["id", "lcstatus"], // 表åç±»å type: "add", templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A", codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96", codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", rowOid: '6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9' rowOid: "6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9", }; }, methods: { submit(data) { console.log(data); }, downloadTemplateFun() { } } }, }; </script> Source/UBCS-WEB/vue.config.js
@@ -34,7 +34,6 @@ // target: 'http://192.168.1.104:37000', // target: 'http://192.168.1.63:37000', //target: 'http://192.168.3.7:37000', // target: 'http://dev.vci-tech.com:37000', //target: 'http://192.168.1.51:37000/', // target:'http://192.168.1.104:37000', //è¿ç¨æ¼ç¤ºæå¡å°å,å¯ç¨äºç´æ¥å¯å¨é¡¹ç® Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,118 @@ package com.vci.ubcs.code.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; 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("PL_CODE_DOCKINGTASK") @ApiModel(value = "DockingTask", description = "宿¶ååä»»å¡å¯¹è±¡") @EqualsAndHashCode public class DockingTask extends BaseModel { /** * åºåå */ private static final long serialVersionUID = 5020487634341415429L; /** * ç³»ç»æ¥å£oid */ @ApiModelProperty(value = "ç³»ç»æ¥å£oid") private String sysInfoOid; /** * ç³»ç»id */ @ApiModelProperty(value = "ç³»ç»id") private String systemOid; /** * ç³»ç»ç¼å· */ @ApiModelProperty(value = "ç³»ç»ç¼å·") private String systemCode; /** * ç³»ç»åç§° */ @ApiModelProperty(value = "ç³»ç»åç§°") private String systemName; /** * åç±»oid */ @ApiModelProperty(value = "åç±»oid") private String classifyOid; /** * åç±»id */ @ApiModelProperty(value = "åç±»id") private String classifyId; /** * åç±»åç§° */ @ApiModelProperty(value = "åç±»åç§°") private String classifyName; /** * ä¸å¡ç±»åæ°æ®oid */ @ApiModelProperty(value = "ä¸å¡ç±»åæ°æ®oid") private String btmOid; /** * ä¸å¡ç±»åæ°æ®id */ @ApiModelProperty(value = "ä¸å¡ç±»åæ°æ®id") private String btmId; /** * å¯ä¸æ è¯ */ @ApiModelProperty(value = "å¯ä¸æ è¯") private String uniqueCode; /** * åéç±»å */ @ApiModelProperty(value = "åéç±»å") private String sendType; /** * åéç±»åæ¾ç¤ºææ¬ */ @ApiModelProperty(value = "åéç±»åæ¾ç¤ºææ¬") @TableField(exist = true) private String sendTypeText; /** * æ¯å¦åéæå */ @ApiModelProperty(value = "æ¯å¦åéæå") private String sendFlag; /** * æ¯å¦åéæåæ¾ç¤ºææ¬ */ @ApiModelProperty(value = "æ¯å¦åéæåæ¾ç¤ºææ¬") @TableField(exist = true) private String sendFlagText; /** * dockingdataçoid */ @ApiModelProperty(value = "ä¸å¡æ°æ®ä¸»é®") private String dataOid; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingTaskVO.java
@@ -10,191 +10,107 @@ */ public class DockingTaskVO extends BaseModel { /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ * åºåå */ private static final long serialVersionUID = 4615707119707777641L; private static final long serialVersionUID = 5020487634341415429L; /** * ç³»ç»æ¥å£oid */ private String sysinfooid; private String sysInfoOid; /** * ç³»ç»id */ private String systemoid; private String systemOid; /** * ç³»ç»ç¼å· */ private String systemcode; private String systemCode; /** * ç³»ç»åç§° */ private String systemname; private String systemName; /** * åç±»oid */ private String classifyoid; private String classifyOid; /** * åç±»id */ private String classifyid; private String classifyId; /** * åç±»åç§° */ private String classifyname; private String classifyName; /** * ä¸å¡ç±»åæ°æ®oid */ private String btmoid; private String btmOid; /** * ä¸å¡ç±»åæ°æ®id */ private String btmid; private String btmId; /** * uniquecode * å¯ä¸æ è¯ */ private String uniquecode; private String uniqueCode; /** * åéç±»å */ private String sendType; /** * åéç±»åæ¾ç¤ºææ¬ */ private String sendTypeText; /** * æ¯å¦åéæå */ private String sendFlag; /** * æ¯å¦åéæå */ private String sendflag; private String sendFlagText; /** * åéç±»å,lcstatus * dockingdataçoid */ private String sendtype; /** * æ¯å¦åéæå */ private String dataoid; public String getDataoid() { return dataoid; } public void setDataoid(String dataoid) { this.dataoid = dataoid; } public String getSendtype() { return sendtype; } public void setSendtype(String sendtype) { this.sendtype = sendtype; } public String getSysinfooid() { return sysinfooid; } public void setSysinfooid(String sysinfooid) { this.sysinfooid = sysinfooid; } public String getSystemoid() { return systemoid; } public void setSystemoid(String systemoid) { this.systemoid = systemoid; } public String getSystemcode() { return systemcode; } public void setSystemcode(String systemcode) { this.systemcode = systemcode; } public String getSystemname() { return systemname; } public void setSystemname(String systemname) { this.systemname = systemname; } public String getClassifyoid() { return classifyoid; } public void setClassifyoid(String classifyoid) { this.classifyoid = classifyoid; } public String getClassifyid() { return classifyid; } public void setClassifyid(String classifyid) { this.classifyid = classifyid; } public String getClassifyname() { return classifyname; } public void setClassifyname(String classifyname) { this.classifyname = classifyname; } public String getBtmoid() { return btmoid; } public void setBtmoid(String btmoid) { this.btmoid = btmoid; } public String getBtmid() { return btmid; } public void setBtmid(String btmid) { this.btmoid = btmid; } public String getSendflag() { return sendflag; } public void setSendflag(String sendflag) { this.sendflag = sendflag; } public String getUniquecode() { return uniquecode; } public void setUniquecode(String uniquecode) { this.uniquecode = uniquecode; } private String dataOid; @Override public String toString() { return "DockingTaskVO{" + "sysinfooid='" + sysinfooid + '\'' + ", systemoid='" + systemoid + '\'' + ", systemcode='" + systemcode + '\'' + ", systemname='" + systemname + '\'' + ", classifyoid='" + classifyoid + '\'' + ", classifyid='" + classifyid + '\'' + ", classifyname='" + classifyname + '\'' + ", btmoid='" + btmoid + '\'' + ", btmid='" + btmid + '\'' + ", uniquecode='" + uniquecode + '\'' + ", sendflag='" + sendflag + '\'' + ", sendtype='" + sendtype + '\'' + ", dataoid='" + dataoid + '\'' + '}'; "sysInfoOid='" + sysInfoOid + '\'' + ", systemOid='" + systemOid + '\'' + ", systemCode='" + systemCode + '\'' + ", systemName='" + systemName + '\'' + ", classifyOid='" + classifyOid + '\'' + ", classifyId='" + classifyId + '\'' + ", classifyName='" + classifyName + '\'' + ", btmOid='" + btmOid + '\'' + ", btmId='" + btmId + '\'' + ", uniqueCode='" + uniqueCode + '\'' + ", sendType='" + sendType + '\'' + ", sendTypeText='" + sendTypeText + '\'' + ", sendFlag='" + sendFlag + '\'' + ", sendFlagText='" + sendFlagText + '\'' + ", dataOid='" + dataOid + '\'' + '}'; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingClassSyncScheduling.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ package com.vci.ubcs.code.Scheduling; import com.vci.ubcs.code.service.ICodeDuckingSyncService; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; /** * éæä»»å¡å®æ¶å¨ * æå ¥dockingtaskä¸ * ä»dockingtaskä¸ååºæ¥æ°æ®ï¼æ¨éåºå»çæä½ */ @Component @Slf4j public class DockingClassSyncScheduling { @Resource private ICodeDuckingSyncService codeDuckingSyncServiceI; @Value("${clsfSyncPush.isStart:false}") public boolean CLSF_SYNC_PUSH_ISSTARE; /** * æ¯å¦åå§åå®æäº */ public static volatile String FINISH_INIT = "false"; /** * å¨åå§åå®æåæ§è¡ */ @PostConstruct() public void onInit(){ FINISH_INIT = "true"; } //é»è®¤æ¯åéæ§è¡æ¹æ³ @Scheduled(cron = "${clsfSyncPush.cronTime:0 0/10 * * * ?}") public void scheduled() { if(CLSF_SYNC_PUSH_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) { codeDuckingSyncServiceI.DockingClassSyncScheduing(); SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss."); String time = formatter.format(new Date()); String outinfo = "============å¨ "+time+" æ§è¡äºåç±»éææ¨é"; log.info(outinfo); } } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/DockingDataSyncScheduling.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,56 @@ package com.vci.ubcs.code.Scheduling; import com.vci.ubcs.code.service.ICodeDuckingSyncService; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.text.SimpleDateFormat; import java.util.Date; /** * éæä»»å¡å®æ¶å¨ * æå ¥dockingtaskä¸ * ä»dockingtaskä¸ååºæ¥æ°æ®ï¼æ¨éåºå»çæä½ */ @Component public class DockingDataSyncScheduling { private Logger logger = LoggerFactory.getLogger(getClass()); @Resource private ICodeDuckingSyncService codeDuckingSyncServiceI; @Value("${dataSyncPush.isStart:false}") public boolean DATA_SYNC_PUSH_ISSTARE; /** * æ¯å¦åå§åå®æäº */ public static volatile String FINISH_INIT = "false"; /** * å¨åå§åå®æåæ§è¡ */ @PostConstruct() public void onInit(){ FINISH_INIT = "true"; } //é»è®¤æ¯åéæ§è¡æ¹æ³ @Scheduled(cron = "${dataSyncPush.cronTime:0 0/10 * * * ?}") public void scheduled() { if(DATA_SYNC_PUSH_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) { codeDuckingSyncServiceI.DockingDataSyncScheduing(); SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss."); String time = formatter.format(new Date()); String outinfo = "============å¨ "+time+" æ§è¡äºä¸»æ°æ®éææ°æ®æ¨é"; logger.info(outinfo); } } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingTaskMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.vci.ubcs.code.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.vci.ubcs.code.entity.DockingTask; public interface DockingTaskMapper extends BaseMapper<DockingTask> { } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,51 @@ package com.vci.ubcs.code.service; import org.springblade.core.tool.api.R; import java.util.List; import java.util.Map; /** * ä¸ãé ç½®åç±»ãç³»ç»ãæ¥å£æ°æ® * 1ãé 置系ç»SysIntBaseDO * 2ãé 置系ç»ãæ¥å£ãåç±»SysIntInfoDO * * äºãå¤çé¢ç³è¯·æ°æ® * 1ãæ¥æ¶xmlData * 2ãå·¥èºç³»ç»ç¹æ®å¤çï¼æ ¹æ®uniqueæ¥è¯¢ç¼ç ï¼æå·²ç»åå¸çæ°æ®ï¼ç´æ¥è¿åç¼ç ãæ²¡ææ¥è¯¢å°å·²ç»åå¸çç¼ç ï¼ç¼è¾ä¸ãæäº¤ä¸ãå®¡æ ¸ä¸ãåç¨çï¼åä¸è¬ç³»ç»ä¸æ ·æç §ç¬¬3æ¥å¤ç * 3ãè§£æxmlData鿝ä¸ä¸ªdataèç¹ï¼åå¨å ¥DockingPreApplyDataDOï¼dataèç¹ä¸prosèç¹åå¨å ¥DockingPreApplyDataInfoDO * 4ãè¿åxmlDataï¼éè¾¹æ è¯äºæ¯ä¸ä¸ªdataçå¤çç»æ * * ä¸ãæ ¹æ®é¢ç³è¯·æ°æ®ï¼æå ¥ä¸»æ°æ® * 1ãå ³èåç±» * 2ãæ¥è¯¢åºDockingPreApplyDataInfoDOåå¨çæ°æ®ï¼æç §æ°æ®æ å°xmlï¼è½¬æ¢ä¸ºæä»¬çkeyï¼è¿ç»å端èªå¨å¡«å å°æ°å¢æ°æ®çé¡µé¢ * 3ãè°ç¨éç¨çæ°æ®æ°å¢æ¥å£ä¿åæ°æ®ï¼è¿ä¸æ¥åä¸»æ°æ®ç®¡ç模ååè½ä¸æ · * * åãæ¨éæ°æ® * 1ãåç±»æ°æ®åä¸»æ°æ®æååçæ¶åï¼æ°æ®åºè§¦åå¨(TIG_CODEALLCODE_FORDOCKINGDATA,TIG_codeclsify_FORDOCKINGDATA)èªå¨æå ¥dockingdata * 2ãDockingSchedulingæ§è¡æ¶ï¼æ¥è¯¢dockingdatasendflag=falseçæ°æ®ï¼ç»åæ¥è¯¢sysintinfoæ°æ®ï¼æ¥è¯¢dockingtask * 3ãdockingtaskä¸ååºæ¥æ°æ®ï¼æ ¹æ®btmnameåæ°æ®oidæ¥è¯¢åºæ¥è¦æ¨éçæ°æ®ï¼æ¥è¯¢SysIntInfoDOï¼æ ¹æ®ä¸ã2ãä¸é ç½®çä¿¡æ¯ï¼æ§è¡æ¨é * * @author xieun * @date 2022-06-19 */ public interface ICodeDuckingSyncService { /** * æ°æ®å®æ¶ä»»å¡è°ç¨ */ void DockingDataSyncScheduing(); /** * æ°æ®å®æ¶ä»»å¡è°ç¨ */ void DockingClassSyncScheduing(); /** * æ¨éæªå®æçéææ°æ® * @return */ R sendData(String oids); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingTaskService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.vci.ubcs.code.service; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.entity.DockingTask; public interface IDockingTaskService extends IService<DockingTask> { } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,673 @@ /* package com.vci.ubcs.code.service.impl; import com.alibaba.fastjson.JSONObject; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.mdm.constant.MdmDuckingConstant; import com.vci.mdm.dao.*; import com.vci.mdm.dto.datapush.classify.JsonRootDataDTO; import com.vci.mdm.dto.datapush.classify.NodeClassifyDTO; import com.vci.mdm.dto.datapush.classify.NodeDataDTO; import com.vci.mdm.dto.datapush.classify.NodeLibraryDTO; import com.vci.mdm.dto.datapush.data.NodeJosnDTO; import com.vci.mdm.dto.datapush.data.NodeObjectDTO; import com.vci.mdm.dto.datapush.data.NodeProDTO; import com.vci.mdm.dto.datapush.data.NodedataDTO; import com.vci.mdm.dto.datapush.result.ResultJsonDTO; import com.vci.mdm.dto.datapush.result.ResultNodeDataDTO; import com.vci.mdm.dto.datapush.result.ResultNodeObjectDTO; import com.vci.mdm.model.*; import com.vci.mdm.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.mdm.pagemodel.CodeClassifyTemplateVO; import com.vci.mdm.pagemodel.SysIntInfoVO; import com.vci.mdm.service.*; import com.vci.mdm.utils.*; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.enumpck.UserSecretEnum; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.SessionInfo; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.wrapper.VciQueryWrapperForDO; import com.vci.web.pageModel.BatchCBO; import com.vci.web.redis.RedisService; import com.vci.web.service.WebBoServiceI; import com.vci.web.util.PlatformClientUtil; import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; 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.mdm.constant.MdmDuckingConstant.*; */ /** * 主é¢åºéææå¡ * @author wangyi * @date 2022-03-20 *//* @Service public class CodeDuckingSyncServiceImpl implements CodeDuckingSyncServiceI { */ /** * æ¥å¿ *//* private Logger logger = LoggerFactory.getLogger(getClass()); */ /** * éææ¨é任塿°æ®æä½å± *//* @Resource private DockingTaskDaoI dockingTaskDaoI; */ /** * éææ¨é任塿°æ®æä½å± *//* @Resource private DockingDataDaoI dockingDataDaoI; */ /** * éææ¥å¿æ°æ®æä½å± *//* @Resource private DockingLogeDaoI dockingLogeDaoI; */ /** * 模æ¿å±æ§æ°æ®æä½å± *//* @Resource private CodeClassifyDaoI codeClassifyDaoI; */ /** * ä¸å¡ç±»åæä½çæå¡ *//* @Autowired private WebBoServiceI boService; */ /** * ç¼åæå¡ *//* @Autowired private RedisService redisService; */ /** * æ°æ®æå¡ *//* @Autowired(required = false) @Lazy private MdmEngineServiceI mdmEngineServiceI; */ /** * è¦æ¨éç³»ç»çæå¡ *//* @Autowired private SysIntInfoServiceI sysIntInfoServiceI; @Value("${dataSyncPush.dataParamName:xmlData}") public String DATA_PARAM_NAME; */ /** * 宿¶ä»»å¡æ¨é *//* @Override public void DockingDataSyncScheduing(){ // insertCache2(); initPushDataTaks(1); sendpushDataForService(); } */ /** * åç±»å®æ¶ä»»å¡æ¨é *//* @Override public void DockingClassSyncScheduing(){ initPushDataTaks(2);//åç±»æ¨é sendpushClsfForService(); } */ /** * æå¨æ¨éä¸ºå®æçæ°æ® * @param oids * @return *//* @Override public BaseResult sendData(String oids) { VciBaseUtil.alertNotNull(oids,"ç³»ç»éæåºç¡ä¿¡æ¯æ°æ®å¯¹è±¡",oids,"ç³»ç»éæåºç¡ä¿¡æ¯ç主é®"); List<String> dockingTaskOidList=new ArrayList<>(); dockingTaskOidList= VciBaseUtil.str2List(oids); List<DockingTaskDO> newDockingTaskDOs= this.dockingTaskDaoI.selectByPrimaryKeyCollection(dockingTaskOidList); Map<String,List<DockingTaskDO>> typeDockingTaskDOMap=new HashMap<>(); newDockingTaskDOs.stream().forEach(newDockingTaskDO->{ String btmId=newDockingTaskDO.getBtmid(); if(btmId.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){ List<DockingTaskDO> dockingTaskDOList= typeDockingTaskDOMap.get(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); if(CollectionUtils.isEmpty(dockingTaskDOList)){ dockingTaskDOList=new ArrayList<>(); } dockingTaskDOList.add(newDockingTaskDO); typeDockingTaskDOMap.put(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT),dockingTaskDOList); }else{ List<DockingTaskDO> dockingTaskDOList= typeDockingTaskDOMap.get("data"); if(CollectionUtils.isEmpty(dockingTaskDOList)){ dockingTaskDOList=new ArrayList<>(); } dockingTaskDOList.add(newDockingTaskDO); typeDockingTaskDOMap.put("data",dockingTaskDOList); } }); typeDockingTaskDOMap.keySet().forEach(type->{ List<DockingTaskDO> DockingTaskDO=typeDockingTaskDOMap.get(type); if(!CollectionUtils.isEmpty(DockingTaskDO)){ if(type.equalsIgnoreCase(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT))){ this.sendpushClsfForService(DockingTaskDO); }else{ this.sendpushDataForService(DockingTaskDO); } } }); return BaseResult.successMsg("æå¨æ¨é宿,è¯·æ ¸å¯¹æ¯å¦æ¨éæå"); } */ /*** * æ¥è¯¢redis䏿°æ®ï¼å¯¹æ¯åæå ¥dockingtask * @param type *//* private void initPushDataTaks(int type){ initSysadmin(); //sysintinfoæ¥è¯¢è¦æ¨éç主é¢åºåç¸å ³ç³»ç»ä¿¡æ¯ Map<String, String> conditionMap = new HashMap<>(); conditionMap.put("usedflag","true"); conditionMap.put("pushType",type==2?"2":"1") ;//2æ¯ä»£è¡¨åç±»æ¨éï¼1æ¯ä»£è¡¨æ°æ®æ¨é List<SysIntInfoDO> sysIntInfoVOList = sysIntInfoServiceI.selectAll(conditionMap); if(CollectionUtils.isEmpty(sysIntInfoVOList)){ String title=type==2?"åç±»æ¨é":"æ°æ®æ¨é"; logger.info("info->ææéæç³»ç»ï¼æªæ¥è¯¢å°ç¸å ³çã"+title+"ãçæ¥å£é 置信æ¯ï¼é ç½®"); return; } Map<String ,List<SysIntInfoDO>> sysIntInfoDOMap = new HashMap<String ,List<SysIntInfoDO>>();//key=classifyoid,value=list<map> for (SysIntInfoDO sysIntInfoVOi:sysIntInfoVOList){ List<SysIntInfoDO> SysIntInfoVOListi = sysIntInfoDOMap.get(sysIntInfoVOi.getClassifyoid()); if(SysIntInfoVOListi==null){ SysIntInfoVOListi = new ArrayList<SysIntInfoDO>(); } SysIntInfoVOListi.add(sysIntInfoVOi); sysIntInfoDOMap.put(sysIntInfoVOi.getClassifyoid(),SysIntInfoVOListi); } //æ ¹æ®ç±»å廿¥è¯¢éè¦éæçåç±»æè æ°æ® VciQueryWrapperForDO queryWrapperForDO = new VciQueryWrapperForDO(DockingDataDO.class); queryWrapperForDO.addQueryMap("sendflag","false"); if(type==2){ queryWrapperForDO.addQueryMap("btmTypeId",DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)); }else { queryWrapperForDO.addQueryMap("btmTypeId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toLowerCase(Locale.ROOT)) + ")"); } List<DockingDataDO> dataList = dockingDataDaoI.selectByWrapper(queryWrapperForDO); for (DockingDataDO mapi:dataList){ WebUtil.setPersistence(false); BatchCBO batchCBO = new BatchCBO(); String dataoid = mapi.getOid();//data对象çoid String classifyoid = mapi.getClassifyoid(); String id = mapi.getId(); String uniquecode = mapi.getUniquecode(); String btmid = mapi.getBtmid(); String btmoid = mapi.getBtmoid(); String sendtype = mapi.getSendtype(); String classifyid = mapi.getClassifyid(); String classifyname = mapi.getClassifyname(); String curentClassOid=null; if(type==2){ curentClassOid=btmoid; }else{ curentClassOid=classifyoid; } List<SysIntInfoDO> effectiveSysIntInfoVOs=new ArrayList<>(); //æ ¹æ®å½åæ°æ®çidï¼æ¥è¯¢è·ååªäºç³»ç»éè¦åéæ List<CodeClassifyDO> parentLeveDO= codeClassifyDaoI.selectAllLevelParentByOid(curentClassOid); if(CollectionUtils.isEmpty(parentLeveDO)){ continue;//说æè¿ä¸ªåç±»è¢«å æäºï¼ä¸åå¤ç } Map<String, CodeClassifyDO> oidCodeclassifyDOMap = parentLeveDO.stream().filter(codeClassifyDO -> codeClassifyDO != null && StringUtils.isNotBlank(codeClassifyDO.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); oidCodeclassifyDOMap.keySet().forEach(oid->{ if(sysIntInfoDOMap.containsKey(oid)){ List<SysIntInfoDO> sysIntInfoDOS= sysIntInfoDOMap.get(oid); effectiveSysIntInfoVOs.addAll(sysIntInfoDOS); } }); //å¦ææ ¡éªçç³»ç»æ¥å£ä¿¡æ¯ä¸åå¨ï¼åæ°æ®ä¸ä¸å¾ä¿¡æ¯éæ¨é if(CollectionUtils.isEmpty(effectiveSysIntInfoVOs)){ continue; } List<DockingTaskDO> dockingTaskDO_insert = new ArrayList<DockingTaskDO>(); for (SysIntInfoDO sysIntInfoVOi:effectiveSysIntInfoVOs){ DockingTaskDO dockingTaskDO = new DockingTaskDO(); dockingTaskDO.setOid(redisService.getUUIDEveryDay()); dockingTaskDO.setSendflag(SEND_FLAG_FALSE); dockingTaskDO.setId(id);//ç¼ç dockingTaskDO.setUniquecode(uniquecode); dockingTaskDO.setBtmoid(btmoid);//æ°æ®oid dockingTaskDO.setBtmid(btmid);//æ°æ®ä¸å¡ç±»åid dockingTaskDO.setClassifyid(classifyid);//æ°æ®å¨åç±»id dockingTaskDO.setClassifyoid(classifyoid);//æ°æ®æå¨åç±»oid dockingTaskDO.setClassifyname(classifyname);//æ°æ®æå¨åç±»åç§° dockingTaskDO.setSendtype(sendtype);//æ°æ®æ¨éç±»å dockingTaskDO.setDataoid(dataoid); //intinfo dockingTaskDO.setSysinfooid(sysIntInfoVOi.getOid());//intinfoçoid dockingTaskDO.setSystemoid(sysIntInfoVOi.getSysbaseoid());//ç³»ç»oid dockingTaskDO.setSystemcode(sysIntInfoVOi.getSysbaseid());//ç³»ç»ç¼ç dockingTaskDO.setSystemname(sysIntInfoVOi.getSysbasename());//ç³»ç»name dockingTaskDO_insert.add(dockingTaskDO); } BatchCBO bi = null; if(dockingTaskDO_insert.size()!=0) { bi = dockingTaskDaoI.batchInsert(dockingTaskDO_insert); batchCBO.copyFromOther(bi); } WebUtil.setPersistence(true); boService.persistenceBatch(batchCBO); //dockingTaskDaoI.updateByPrimaryKeyæ¹æ³æ¥éäºï¼æä»¥æåäºè¿ä¸ª boolean u = updateDockingDatasSendFlag(dataoid,SEND_FLAG_TRUE); if(!u){ logger.error("éædataå解任å¡å¤±è´¥ï¼dataoid:"+dataoid); continue; } } } private void sendpushDataForService (){ initSysadmin(); //æ¥è¯¢åªäºä»»å¡è¿æ²¡ææ§è¡å®æ VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class); queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE); queryWrapper.addQueryMap("btmId", QueryOptionConstant.NOTIN + "(" + VciBaseUtil.toInSql(DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)) + ")"); List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper); sendpushDataForService(dockingTaskDOS); } */ /*** * åéç¼ç ä¸»æ°æ® *//* private void sendpushDataForService (List<DockingTaskDO> dockingTaskDOS){ //æ¯ä¸ªtask便¬¡æ§è¡æ¨é for (DockingTaskDO dockingTaskDO:dockingTaskDOS){ //æ¯ä¸ªtaskä¸ä¸ªäºå¡ï¼å¼å¯ WebUtil.setPersistence(false); BatchCBO batchCBO = new BatchCBO(); String paramString=""; String sendString=""; String backString=""; try { //æ¥è¯¢ç³»ç»æ¥å£ä¿¡æ¯,ip method,dataType String systeminfooid = dockingTaskDO.getSysinfooid();//sysininfo çoid String classifyoid = dockingTaskDO.getClassifyoid(); //æ¥è¯¢è¦æ¨éçæ°æ® String btmoid = dockingTaskDO.getBtmoid();//æ°æ®btmid //表示æ¯ä¸»æ°æ® CodeClassifyTemplateVO codeClassifyTemplateVO = mdmEngineServiceI.getUsedTemplateByClassifyOid(classifyoid); BaseResult<Map<String, String>> baseResult = mdmEngineServiceI.getDataByOid(btmoid, codeClassifyTemplateVO.getOid()); List<CodeClassifyTemplateAttrVO> attrVOS = codeClassifyTemplateVO.getAttributes(); Map<String*/ /**è±æåç§°**//* , String*/ /**䏿åç§°**//* > attrIdNameMap = attrVOS.stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t.getName(), (o1, o2) -> o2)); Map<String, String> data = new HashMap<>(); if (baseResult == null) { JSONObject josni = redisService.getCacheObject(DOCKING_CACHE2_DELETE + btmoid); data = (Map) josni; } else { data = baseResult.getObj(); } List<NodeProDTO> nodeProDTOS = new ArrayList<>(); Map<String, String> finalData = data; attrIdNameMap.keySet().forEach(field -> { String outName = attrIdNameMap.get(field); if (finalData.containsKey(field)) { String Value = finalData.get(field); NodeProDTO nodeProDTO = new NodeProDTO(); nodeProDTO.setFiledName(field); nodeProDTO.setOutname(outName); nodeProDTO.setFiledValue(Value); nodeProDTOS.add(nodeProDTO); } }); String[] classCodeLeves = dockingTaskDO.getClassifyid().split(","); NodeJosnDTO nodeJosnDTO = new NodeJosnDTO(); NodedataDTO nodeDataDTO = new NodedataDTO(); NodeObjectDTO nodeObjectDTO = new NodeObjectDTO(); nodeObjectDTO.setCode(dockingTaskDO.getId());//设置ç¼ç nodeObjectDTO.setClassCode(classCodeLeves[0]); nodeObjectDTO.setStatus(data.get("lcstatus")); nodeObjectDTO.setLibrary(classCodeLeves[classCodeLeves.length - 1]); nodeObjectDTO.setPro(nodeProDTOS); List<NodeObjectDTO> nodeObjectDTOS = new ArrayList<>(); nodeObjectDTOS.add(nodeObjectDTO); nodeDataDTO.setObject(nodeObjectDTOS); nodeJosnDTO.setData(nodeDataDTO); //æ¥è¯¢æ¨éæ¥å£åæ° SysIntInfoVO sysIntInfoVO = sysIntInfoServiceI.getObjectByOid(systeminfooid); String paramType = sysIntInfoVO.getParamtype();//xml/json if (paramType.equals(DATATYPE_JSON)) { Object object = JSONObject.toJSON(nodeJosnDTO); 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,sysIntInfoVO, dockingTaskDO, batchCBO); }catch (Throwable e){ e.printStackTrace(); }finally { //æ¯ä¸ä¸ªtaskä¸ä¸ªäºç© WebUtil.setPersistence(true); boService.persistenceBatch(batchCBO); } } } public void sendpushClsfForService(){ initSysadmin(); //æ¥è¯¢åªäºä»»å¡è¿æ²¡ææ§è¡å®æ VciQueryWrapperForDO queryWrapper = new VciQueryWrapperForDO(DockingTaskDO.class); queryWrapper.addQueryMap("sendFlag",MdmDuckingConstant.SEND_FLAG_FALSE); queryWrapper.addQueryMap("btmId",DOCKING_DEFAULT_CLASSIFY.toUpperCase(Locale.ROOT)); List<DockingTaskDO> dockingTaskDOS = dockingTaskDaoI.selectByWrapper(queryWrapper); sendpushClsfForService(dockingTaskDOS); } */ /*** * åéåç±»æ°æ® *//* private void sendpushClsfForService(List<DockingTaskDO> dockingTaskDOS){ //æ¯ä¸ªtask便¬¡æ§è¡æ¨é for (DockingTaskDO dockingTaskDO:dockingTaskDOS){ //æ¯ä¸ªtaskä¸ä¸ªäºå¡ï¼å¼å¯ WebUtil.setPersistence(false); BatchCBO batchCBO = new BatchCBO(); String paramString=""; String sendString=""; String backString=""; //æ¥è¯¢ç³»ç»æ¥å£ä¿¡æ¯,ip method,dataType String systeminfooid = dockingTaskDO.getSysinfooid();//sysininfo çoid try { //æ¥è¯¢è¦æ¨éçæ°æ® String btmoid = dockingTaskDO.getBtmoid();//æ°æ®btmid JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO(); CodeClassifyDO codeClassifyDO=codeClassifyDaoI.selectByPrimaryKey(btmoid); List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>(); NodeClassifyDTO nodeClassifyDTO=new NodeClassifyDTO(); nodeClassifyDTO.setClassCode(codeClassifyDO.getId());//åç±»ä»£å· nodeClassifyDTO.setDescription(codeClassifyDO.getDescription());//åç±»æè¿° nodeClassifyDTO.setFullPathName(codeClassifyDO.getPath());//å ¨è·¯å¾ nodeClassifyDTO.setLcStatus(codeClassifyDO.getLcStatus());//ç¶æ // CodeClassifyDO parentClassDo=codeClassifyDaoI.selectByPrimaryKey(codeClassifyDO.getParentCodeClassifyOid()); nodeClassifyDTO.setPid(codeClassifyDO.getParentCodeClassifyOid());//ç¶idèç¹ nodeClassifyDTO.setId(codeClassifyDO.getOid());//åç±»oid nodeClassifyDTO.setName(codeClassifyDO.getName());//åç±»åç§° nodeClassifyDTOList.add(nodeClassifyDTO); NodeLibraryDTO nodeLibraryDTO=new NodeLibraryDTO(); CodeClassifyDO rootClassify=codeClassifyDaoI.getRootClassify(btmoid); nodeLibraryDTO.setClassify(nodeClassifyDTOList); nodeLibraryDTO.setId(rootClassify.getOid()); nodeLibraryDTO.setName(rootClassify.getName()); nodeLibraryDTO.setClassCode(rootClassify.getId()); NodeDataDTO nodeDataDTO=new NodeDataDTO(); nodeDataDTO.setLibrary(nodeLibraryDTO); jsonRootDataDTO.setData(nodeDataDTO); //æ¥è¯¢æ¨éæ¥å£åæ° SysIntInfoVO sysIntInfoVO = sysIntInfoServiceI.getObjectByOid(systeminfooid); String paramType = sysIntInfoVO.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,sysIntInfoVO,dockingTaskDO,batchCBO); }catch (Throwable e){ e.printStackTrace(); }finally { //æ¯ä¸ä¸ªtaskä¸ä¸ªäºç© WebUtil.setPersistence(true); boService.persistenceBatch(batchCBO); } } } */ /*** * è°ç¨æ¥å£ * @param sysIntInfoVO * @throws Throwable *//* private void callInterface(String sendString , SysIntInfoVO sysIntInfoVO,DockingTaskDO dockingTaskDO,BatchCBO batchCBO) throws Throwable{ String paramString = ""; String backString = ""; String msg=""; String url = sysIntInfoVO.getRequesturl();//url List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); try { String type = sysIntInfoVO.getInterfacetype().toLowerCase(Locale.ROOT);//get/post/webserver/corba String paramType = sysIntInfoVO.getParamtype();//xml/json String returnType = sysIntInfoVO.getReturntype();//xml/json String requestmethod= sysIntInfoVO.getRequestmethod(); String interfaceFunction = sysIntInfoVO.getInterfaceFunction();//ä¸»è¦æ¯webserviceçæ¹æ³å String namespace = sysIntInfoVO.getNamespace();//namespace String soapaction = sysIntInfoVO.getSoapaction();//soapaction String targName = sysIntInfoVO.getTargName();//targName String cxfaxis = sysIntInfoVO.getCxfaxis();//webserviceæ¯cxf/axis //æ¥è¯¢param List<SysIntParamDO> sysIntParamDOList = sysIntInfoServiceI.getParamsBySystemInfoOid(sysIntInfoVO.getOid()); //æ¥è¯¢header List<SysIntHeaderDO> sysIntHeaderDOList = sysIntInfoServiceI.getHeadersBySystemInfoOid(sysIntInfoVO.getOid()); if(type.equals(URLTYPE_HTTP)) { if (requestmethod.equals(URLTYPE_GET)) {//GETè¯·æ± String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString; //æ¼æ¥param for (SysIntParamDO sysIntParamDO : sysIntParamDOList) { sendurl = sendurl + "&" + sysIntParamDO.getParamkey() + "=" + sysIntParamDO.getParamvalue(); } paramString = sendurl; backString = HttpUtils.get(sendurl); } else if (requestmethod.equals(URLTYPE_POST)) {//POSTè¯·æ± MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); for (SysIntParamDO sysIntParamDO : sysIntParamDOList) { params.add(sysIntParamDO.getParamkey(), sysIntParamDO.getParamvalue()); } params.add(DATA_PARAM_NAME,sendString); paramString = params.toString(); MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); for (SysIntHeaderDO sysIntHeaderDO : sysIntHeaderDOList) { headers.add(sysIntHeaderDO.getHeaderkey(), sysIntHeaderDO.getHeaderalue()); } 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 (SysIntParamDO sysIntParamDO : sysIntParamDOList) { params.add(sysIntParamDO.getParamkey(), sysIntParamDO.getParamvalue()); } paramString = sendString; MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); for (SysIntHeaderDO sysIntHeaderDO : sysIntHeaderDOList) { headers.add(sysIntHeaderDO.getHeaderkey(), sysIntHeaderDO.getHeaderalue()); } 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(sysIntInfoVO.getPushType().equalsIgnoreCase("2")?dockingTaskDO.getClassifyid():dockingTaskDO.getId()); resultNodeObjectDTO.setOid(dockingTaskDO.getBtmoid()); resultNodeObjectDTOS.add(resultNodeObjectDTO); }finally { boolean isSend = false; 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; } DockingLogeDO dockingLogeDO = new DockingLogeDO(); String oid=redisService.getUUIDEveryDay(); dockingLogeDO.setOid(oid); dockingLogeDO.setSystemcode(dockingTaskDO.getSystemcode()); dockingLogeDO.setSystemname(dockingTaskDO.getSystemname()); dockingLogeDO.setSystemoid(dockingTaskDO.getSystemoid()); dockingLogeDO.setClassifyoid(dockingTaskDO.getClassifyoid()); dockingLogeDO.setClassifyid(dockingTaskDO.getClassifyid()); dockingLogeDO.setClassifyname(dockingTaskDO.getClassifyname()); dockingLogeDO.setId(dockingTaskDO.getId()); dockingLogeDO.setUniquecode(dockingTaskDO.getUniquecode()); dockingLogeDO.setParamstring(paramString); dockingLogeDO.setReturnstring(backString); dockingLogeDO.setInterfacestatus(isSend?"true":"false"); dockingLogeDO.setType(DATA_LOGE_OUT); dockingLogeDO.setMsg(msg); logger.error("éææ¨éæ°æ®,systemcode:"+dockingTaskDO.getSystemcode()+",systemname:"+dockingTaskDO.getSystemname()+",url:"+url+",param:"+paramString+",e:"+msg); BatchCBO dockingLogeDOBo = dockingLogeDaoI.insert(dockingLogeDO); batchCBO.copyFromOther(dockingLogeDOBo); } //å ¨é½æ¥æ¶æåçæ åµä¸,ä¿®æ¹dockingtask sendflag为已åé if(isSend) { dockingTaskDO.setSendflag(MdmDuckingConstant.SEND_FLAG_TRUE); BatchCBO updateTask = dockingTaskDaoI.updateByPrimaryKey(dockingTaskDO); batchCBO.copyFromOther(updateTask); } } } public void initSysadmin(){ SessionInfo sessionInfo = new SessionInfo(); sessionInfo.setUserId("sysAdmin"); sessionInfo.setUserName("ç³»ç»ç®¡çå"); sessionInfo.setIp(WebUtil.getLocalIp()); sessionInfo.setUserOid("193C026F-7DB8-27B4-F383-4E8BE083FB07"); sessionInfo.setUserSecret(UserSecretEnum.PRIVACY.getValue()+""); WebUtil.setSessionInfo(sessionInfo); } @Autowired private PlatformClientUtil platformClientUtil; */ /** * dockingdataæ ¹æ®oidä¿®æ¹sendflag * @param oid * @param sendflag * @return *//* public boolean updateDockingDatasSendFlag(String oid,String sendflag){ boolean u=false; String sql = "update PLATFORMBTM_codedockingdata set sendFlag = '"+sendflag+"' where oid='"+oid+"'"; try { u=platformClientUtil.getBOFactoryService().executeUpdateSql(sql); }catch (Exception e){ } return u; } } */ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingTaskServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ package com.vci.ubcs.code.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vci.ubcs.code.entity.CodeClassifyValue; import com.vci.ubcs.code.entity.DockingTask; import com.vci.ubcs.code.mapper.CodeClassifyValueMapper; import com.vci.ubcs.code.mapper.DockingTaskMapper; import com.vci.ubcs.code.service.IDockingTaskService; public class DockingTaskServiceImpl extends ServiceImpl<DockingTaskMapper, DockingTask> implements IDockingTaskService { } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -881,21 +881,7 @@ } } /** * æ¯å¦ä¸ºä¿®æ¹å¿½ç¥ç屿§ * @param attrName 屿§çåå * @return true 表示åºè¯¥å¿½ç¥ */ @Override public boolean checkUnAttrUnEdit(String attrName){ return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName) ||"ts".equalsIgnoreCase(attrName) || "lastmodifier".equalsIgnoreCase(attrName) || "lastmodifytime".equalsIgnoreCase(attrName) || "createtime".equalsIgnoreCase(attrName) || "checkintime".equalsIgnoreCase(attrName) ||"checkouttime".equalsIgnoreCase(attrName)); } /** * ä¿åå¯è¾å¯éçä¿¡æ¯ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -21,6 +21,7 @@ import com.vci.ubcs.code.vo.webserviceModel.attrmap.RowDatas; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.omd.feign.IBtmTypeClient; import com.vci.ubcs.omd.feign.IWebSecretClient; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.bo.WriteExcelData; import com.vci.ubcs.starter.exception.VciBaseException; @@ -59,6 +60,7 @@ 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 javax.annotation.Resource; import java.io.File; @@ -154,6 +156,11 @@ */ @Autowired private IBtmTypeClient btmTypeClient; /*** * å¯çº§æå¡ */ @Resource private IWebSecretClient secretService; /** * æ¹éç³è¯·ï¼éåéä¸åç±»ä¸çæææ¨¡æ¿å ³é®å±æ§ï¼ç¸ä¼¼å±æ§ï¼å¿ 填屿§ï¼åå ¥execlä¸ * @@ -1859,6 +1866,7 @@ * @param dataObjectVO æ°æ®ä¿¡æ¯ * @param resultDataObjectDetailDOs éè¯¯ä¿¡æ¯ */ @Transactional(rollbackFor = VciBaseException.class) @Override public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs) { String errorid=""; @@ -2283,10 +2291,10 @@ } int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD)); /*if (secret == 0 || !secretService.checkDataSecret(secret)) { if (secret == 0 || !secretService.checkDataSecret(secret).getData()) { Integer userSecret = VciBaseUtil.getCurrentUserSecret(); cbo.setAttributeValue(SECRET_FIELD, String.valueOf((userSecret == null || userSecret == 0) ? UserSecretEnum.NONE.getValue() : userSecret)); }*/ } } catch (Throwable e) { log.error("设置é»è®¤ç屿§çå¼é误", e); } @@ -2535,11 +2543,11 @@ cbo.setAttributeValue(CODE_CLASSIFY_OID_FIELD,classifyFullInfo.getCurrentClassifyVO().getOid()); cbo.setAttributeValue(CODE_FULL_PATH_FILED,fullPath); int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD)); /*if(secret == 0 || !secretService.checkDataSecret(secret) ){ if(secret == 0 || !secretService.checkDataSecret(secret).getData() ){ Integer userSecret = VciBaseUtil.getCurrentUserSecret(); String secretValue= String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret); cbo.setAttributeValue(SECRET_FIELD,secretValue); }*/ } if(rowData.getStatus().equals(CodeDefaultLC.DISABLE.getValue())){//åç¨ cbo.setLcStatus(CodeDefaultLC.DISABLE.getValue()); }else if(rowData.getStatus().equals(CodeDefaultLC.EDITING.getValue())){//ç¼è¾ @@ -2633,11 +2641,11 @@ cbo.setAttributeValue(CODE_CLASSIFY_OID_FIELD,classifyFullInfo.getCurrentClassifyVO().getOid()); cbo.setAttributeValue(CODE_FULL_PATH_FILED,fullPath); //cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); /*int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD)); if(secret == 0 || !secretService.checkDataSecret(secret) ){ int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD)); if(secret == 0 || !secretService.checkDataSecret(secret).getData() ){ Integer userSecret = VciBaseUtil.getCurrentUserSecret(); cbo.setAttributeValue(SECRET_FIELD,String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret)); }*/ } }else{ //æ¤æ¶è¿æ²¡æè½¬æ¢è·¯å¾ //cbo.setAttributeValue(CODE_FULL_PATH_FILED, childOidPathMap.getOrDefault(rowData.getData().getOrDefault(CODE_CLASSIFY_OID_FIELD,""),fullPath)); @@ -2690,10 +2698,10 @@ cbo.setAttributeValue(CODE_FULL_PATH_FILED,fullPath); //cbo.setLcStatus(CodeDefaultLC.EDITING.getValue()); int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD)); /*if(secret == 0 || !secretService.checkDataSecret(secret) ){ if(secret == 0 || !secretService.checkDataSecret(secret).getData() ){ Integer userSecret = VciBaseUtil.getCurrentUserSecret(); cbo.setAttributeValue(SECRET_FIELD,String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret)); }*/ } }else{ //æ¤æ¶è¿æ²¡æè½¬æ¢è·¯å¾ //cbo.setAttributeValue(CODE_FULL_PATH_FILED, childOidPathMap.getOrDefault(rowData.getData().getOrDefault(CODE_CLASSIFY_OID_FIELD,""),fullPath)); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -9,32 +9,46 @@ import com.vci.ubcs.code.dto.CodeOrderDTO; import com.vci.ubcs.code.dto.CodeOrderSecDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.CodeDefaultLC; import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; import com.vci.ubcs.code.util.ClientBusinessObject; import com.vci.ubcs.code.util.gennerAttrMapUtil; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.code.vo.webserviceModel.apply.*; import com.vci.ubcs.code.vo.webserviceModel.attrmap.*; import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO; import com.vci.ubcs.code.vo.webserviceModel.classify.*; import com.vci.ubcs.code.vo.webserviceModel.data.*; import com.vci.ubcs.code.vo.webserviceModel.result.json.*; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultSystemVO; import com.vci.ubcs.code.webService.annotation.VciWebservice; import com.vci.ubcs.code.webService.config.AttributeMapConfig; import com.vci.ubcs.code.wrapper.CodeClassifyWrapper; import com.vci.ubcs.omd.feign.IBtmTypeClient; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST; import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC; /*** * ç»ä¸æ¥å£ @@ -56,6 +70,19 @@ */ @Autowired(required = false) private ICodeClassifyService classifyService; /** * ä¸å¡ç±»åçæå¡ */ @Autowired private IBtmTypeClient btmTypeClient; /** * éç¨æ¥è¯¢ */ @Resource private CommonsMapper commonsMapper; /** * ä¸»æ°æ®å¼æçæå¡ */ @@ -68,6 +95,9 @@ @Resource private MdmIOService mdmIOService; @Autowired private ICodeClassifyValueService codeClassifyValueService; /*** * éææ¥å£æ¥å¿æå¡çé ç½® */ @@ -88,154 +118,160 @@ */ @Override public String applyCode(String data, String dataType) throws Throwable { { String resultStr = ""; String errorid="0"; msg="æå"; objerrorCode="0"; objerrorMsg="æå"; log.info("ç³è¯·ç¼ç çæ°æ®åæ°:->"+data); log.info("ç³è¯·ç¼ç çæ°æ®ç±»å:->"+dataType); String systemId=""; List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>(); try { if(StringUtils.isBlank(data)) { errorid="101"; throw new Throwable("æ¥å£åæ°ï¼ä¼ é为空"); } InterParameterVO interParameterVO =new InterParameterVO(); //妿dataTypeæ¯xmlåï¼éè¿xmlåºååæå¯¹è±¡å½¢å¼ï¼å¦ææ¯jsonåéè¿jsonè½¬æ¢æå¯¹è±¡æ ¼å¼ try { if ("xml".equals(dataType)) { XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(RootDataVO.class); xStream.autodetectAnnotations(true); RootDataVO rootDataVO = (RootDataVO) xStream.fromXML(data); interParameterVO.setData(rootDataVO); } else { interParameterVO = JSONObject.toJavaObject(JSONObject.parseObject(data), InterParameterVO.class); } }catch (Throwable e){ errorid="101"; throw new Throwable("æ¥å£åæ°ï¼ä¼ å ¥æ°æ®åæ°è§£æå¤±è´¥"); } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; //è¿æ¯è´¦å·ä¿¡æ¯ SessionInfo sessionInfo = new SessionInfo(); sessionInfo.setUserId(userVo.getUserName()); sessionInfo.setUserName(userVo.getTrueName()); sessionInfo.setIp(userVo.getIp()); VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); String finalSystemId = systemId; classVOList.stream().forEach(classVO -> { log.info("åæ°ï¼åç±»COde:" + classVO.getClassCode()); LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); //è·ååç±»ä¿¡æ¯ try { String libray = classVO.getLibrary(); CodeClassifyVO codeClassifyVO = getClassfy(classVO); log.info("endï¼åç±»æ¥è¯¢å®æ¯"); //è·åå类模æ¿ä¿¡æ¯ if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ objerrorCode="100"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åå°å类信æ¯"); } CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ objerrorCode="1"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºæ¨¡æ¿"); } log.info("endï¼æ¨¡æ¿æ¥è¯¢å®æ¯"); ApplyDatasVO applyDatasVO = classVO.getObjects(); DataObjectVO dataObjectVO = new DataObjectVO(); List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) ).collect(Collectors.toList()); this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO); log.info("endï¼æ°æ®ç»ç»å®æ¯"); //è§åç主é®éè¦å»è·å CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid()); if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){ objerrorCode="1"; log.info("classifyFullInfo:"+"æ ¹æ®ä¼ è¾çåç±»ï¼æªè·ååç±»ç¸å ³ä¿¡æ¯"); throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·ååç±»ç¸å ³ä¿¡æ¯"); } CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); if(ruleVO==null|| StringUtils.isBlank(ruleVO.getOid())){ objerrorCode="102"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºè§å"); } log.info("endï¼è§åè·å宿¯"); List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classVO.getSections().getSection(), ruleVO); log.info("endï¼ç 段è·å宿¯"); CodeOrderDTO orderDTO = new CodeOrderDTO(); orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//åç±»ä¸»é® orderDTO.setSecDTOList(codeOrderSecDTOList);//åç±»ç æ®µ mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs); log.info("endï¼ç³è¯·è·å宿¯"); } catch (Throwable e) { XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); xmlResultDataObjectDetailDO.setCode(""); xmlResultDataObjectDetailDO.setId(""); xmlResultDataObjectDetailDO.setErrorid(objerrorCode); xmlResultDataObjectDetailDO.setMsg("ç¼ç ç³è¯·å¤±è´¥:"+e.getMessage()); resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); e.printStackTrace(); }finally { XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO(); resultClassfyVO.setClassCode(classVO.getClassCode()); resultClassfyVO.setLibrary(classVO.getLibrary()); resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath()); resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } }); XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); xmlResultSystemVO.setClassifys(resultClassfyVOList); xmlResultSystemVO.setMsg(msg); xmlResultSystemVO.setErrorid(errorid); resultStr= transferResultXMl(xmlResultSystemVO,dataType); }catch (Throwable e){ e.printStackTrace();; msg="ç³è¯·ç¼ç 失败:"+e.getMessage(); }finally { XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); xmlResultSystemVO.setClassifys(resultClassfyVOList); xmlResultSystemVO.setMsg(msg); xmlResultSystemVO.setErrorid(errorid); resultStr= transferResultXMl(xmlResultSystemVO,dataType); final boolean[] issucess = {true}; if(!errorid.equals("0")) { issucess[0] = false; }else { if(!CollectionUtils.isEmpty(resultClassfyVOList)) { resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> { xMLResultClassfyVO.getObjects().stream().forEach(objec -> { if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) { issucess[0] = false; msg=objec.getMsg(); } }); }); } } try { //è®°å½æ¥å¿ this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCode"); }catch (Throwable e){ e.printStackTrace(); } String resultStr = ""; String errorid="0"; msg="æå"; objerrorCode="0"; objerrorMsg="æå"; log.info("ç³è¯·ç¼ç çæ°æ®åæ°:->"+data); log.info("ç³è¯·ç¼ç çæ°æ®ç±»å:->"+dataType); String systemId=""; List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>(); try { if(StringUtils.isBlank(data)) { errorid="101"; throw new Throwable("æ¥å£åæ°ï¼ä¼ é为空"); } log.info("è¿ååæ°:"+resultStr); InterParameterVO interParameterVO =new InterParameterVO(); //妿dataTypeæ¯xmlåï¼éè¿xmlåºååæå¯¹è±¡å½¢å¼ï¼å¦ææ¯jsonåéè¿jsonè½¬æ¢æå¯¹è±¡æ ¼å¼ try { if ("xml".equals(dataType)) { XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(RootDataVO.class); xStream.autodetectAnnotations(true); RootDataVO rootDataVO = (RootDataVO) xStream.fromXML(data); interParameterVO.setData(rootDataVO); } else { interParameterVO = JSONObject.toJavaObject(JSONObject.parseObject(data), InterParameterVO.class); } }catch (Throwable e){ errorid="101"; throw new Throwable("æ¥å£åæ°ï¼ä¼ å ¥æ°æ®åæ°è§£æå¤±è´¥"); } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; return resultStr; //è¿æ¯è´¦å·ä¿¡æ¯ SessionInfo sessionInfo = new SessionInfo(); sessionInfo.setUserId(userVo.getUserName()); sessionInfo.setUserName(userVo.getTrueName()); sessionInfo.setIp(userVo.getIp()); VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); String finalSystemId = systemId; classVOList.stream().forEach(classVO -> { log.info("åæ°ï¼åç±»COde:" + classVO.getClassCode()); LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); //è·ååç±»ä¿¡æ¯ try { String libray = classVO.getLibrary(); CodeClassifyVO codeClassifyVO = getClassfy(classVO); log.info("endï¼åç±»æ¥è¯¢å®æ¯"); //è·åå类模æ¿ä¿¡æ¯ if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ objerrorCode="100"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åå°å类信æ¯"); } CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ objerrorCode="1"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºæ¨¡æ¿"); } log.info("endï¼æ¨¡æ¿æ¥è¯¢å®æ¯"); ApplyDatasVO applyDatasVO = classVO.getObjects(); DataObjectVO dataObjectVO = new DataObjectVO(); List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) ).collect(Collectors.toList()); this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO); log.info("endï¼æ°æ®ç»ç»å®æ¯"); //è§åç主é®éè¦å»è·å CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid()); if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){ objerrorCode="1"; log.info("classifyFullInfo:"+"æ ¹æ®ä¼ è¾çåç±»ï¼æªè·ååç±»ç¸å ³ä¿¡æ¯"); throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·ååç±»ç¸å ³ä¿¡æ¯"); } CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){ objerrorCode="102"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºè§å"); } log.info("endï¼è§åè·å宿¯"); List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classVO.getSections().getSection(), ruleVO,classifyFullInfo); log.info("endï¼ç 段è·å宿¯"); CodeOrderDTO orderDTO = new CodeOrderDTO(); orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//åç±»ä¸»é® orderDTO.setSecDTOList(codeOrderSecDTOList);//åç±»ç æ®µ mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs); log.info("endï¼ç³è¯·è·å宿¯"); } catch (Throwable e) { XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); xmlResultDataObjectDetailDO.setCode(""); xmlResultDataObjectDetailDO.setId(""); xmlResultDataObjectDetailDO.setErrorid(objerrorCode); xmlResultDataObjectDetailDO.setMsg("ç¼ç ç³è¯·å¤±è´¥:"+e.getMessage()); resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); e.printStackTrace(); }finally { XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO(); resultClassfyVO.setClassCode(classVO.getClassCode()); resultClassfyVO.setLibrary(classVO.getLibrary()); resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath()); resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } }); XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); xmlResultSystemVO.setClassifys(resultClassfyVOList); xmlResultSystemVO.setMsg(msg); xmlResultSystemVO.setErrorid(errorid); resultStr= transferResultXMl(xmlResultSystemVO,dataType); }catch (Throwable e){ e.printStackTrace();; msg="ç³è¯·ç¼ç 失败:"+e.getMessage(); /* XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO(); XMLResultSystemVO.setErrorid(errorid); XMLResultSystemVO.setMsg("ç³è¯·ç¼ç 失败ï¼->"+e.getMessage()); XMLResultSystemVO.setClassifys(resultClassfyVOList); resultStr=transferResultXMl(XMLResultSystemVO,dataType); log.error("ç³è¯·ç¼ç 失败ï¼->"+e); return resultStr;*/ }finally { XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); xmlResultSystemVO.setClassifys(resultClassfyVOList); xmlResultSystemVO.setMsg(msg); xmlResultSystemVO.setErrorid(errorid); resultStr= transferResultXMl(xmlResultSystemVO,dataType); final boolean[] issucess = {true}; if(!errorid.equals("0")) { issucess[0] = false; }else { if(!CollectionUtils.isEmpty(resultClassfyVOList)) { resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> { xMLResultClassfyVO.getObjects().stream().forEach(objec -> { if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) { issucess[0] = false; msg=objec.getMsg(); } }); }); } } try { //è®°å½æ¥å¿ this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCode"); }catch (Throwable e){ e.printStackTrace(); } } log.info("è¿ååæ°:"+resultStr); return resultStr; } /*** @@ -248,7 +284,139 @@ @Override public String syncEditData(String data, String dataType) throws Throwable { return null; String resultStr = ""; String errorid="0"; msg="æå"; String systemId=""; objerrorCode="0"; objerrorMsg="æå"; log.info("æ´æ¹ç¼ç çæ°æ®åæ°:->"+data); log.info("æ´æ¹ç¼ç çæ°æ®ç±»å:->"+dataType); List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>(); try { if (StringUtils.isBlank(data)) { errorid = "101"; throw new Throwable("æ¥å£åæ°ï¼ä¼ é为空"); } InterParameterVO interParameterVO = new InterParameterVO(); //妿dataTypeæ¯xmlåï¼éè¿xmlåºååæå¯¹è±¡å½¢å¼ï¼å¦ææ¯jsonåéè¿jsonè½¬æ¢æå¯¹è±¡æ ¼å¼ try { if ("xml".equals(dataType)) { XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(RootDataVO.class); xStream.autodetectAnnotations(true); RootDataVO rootDataVO = (RootDataVO) xStream.fromXML(data); interParameterVO.setData(rootDataVO); } else { interParameterVO = JSONObject.toJavaObject(JSONObject.parseObject(data), InterParameterVO.class); } } catch (Throwable e) { errorid = "101"; throw new Throwable("æ¥å£åæ°ï¼ä¼ å ¥æ°æ®åæ°è§£æå¤±è´¥"); } ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); systemId = interParameterVO.getData().getSystemId(); UserVO userVo = interParameterVO.getData().getUser(); List<ClassfyVO> classVOList = classfysVO.getClassify(); InterParameterVO finalInterParameterVO = interParameterVO; //è¿æ¯è´¦å·ä¿¡æ¯ SessionInfo sessionInfo = new SessionInfo(); sessionInfo.setUserId(userVo.getUserName()); sessionInfo.setUserName(userVo.getTrueName()); sessionInfo.setIp(userVo.getIp()); VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); String finalSystemId = systemId; classVOList.stream().forEach(classVO->{ log.info("åæ°ï¼åç±»COde:" + classVO.getClassCode()); LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); //è·ååç±»ä¿¡æ¯ try { String libray = classVO.getLibrary(); CodeClassifyVO codeClassifyVO = getClassfy(classVO); if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ objerrorCode="100"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åå°å类信æ¯"); } log.info("endï¼åç±»æ¥è¯¢å®æ¯"); //è·åå类模æ¿ä¿¡æ¯ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ objerrorCode="102"; throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºæ¨¡æ¿"); } log.info("endï¼æ¨¡æ¿æ¥è¯¢å®æ¯"); ApplyDatasVO applyDatasVO = classVO.getObjects(); DataObjectVO dataObjectVO = new DataObjectVO(); //å°é»è®¤ç屿§å ¨é¨æ¿æ¢æ List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag()) ).collect(Collectors.toList()); this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO); log.info("endï¼æ°æ®æå»ºå®æ¯"); log.info("startï¼ä¿®æ¹æ°æ®æ§è¡å®æ¯"); mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs); log.info("endï¼ä¿®æ¹æ°æ®æ§è¡å®æ¯"); } catch (Throwable e) { XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); xmlResultDataObjectDetailDO.setCode(""); xmlResultDataObjectDetailDO.setId(""); xmlResultDataObjectDetailDO.setErrorid(objerrorCode); xmlResultDataObjectDetailDO.setMsg("ç¼ç æ´æ¹/ç¶ææ´æ¹/å é¤:"+e.getMessage()); resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); e.printStackTrace(); }finally { XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO(); resultClassfyVO.setClassCode(classVO.getClassCode()); resultClassfyVO.setLibrary(classVO.getLibrary()); resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath()); resultClassfyVO.setObjects(resultDataObjectDetailDOs); resultClassfyVOList.add(resultClassfyVO); } }); }catch (Throwable e){ e.printStackTrace();; msg="ç¼ç æ´æ¹/ç¶ææ´æ¹/å é¤:"+e.getMessage(); /* XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO(); XMLResultSystemVO.setErrorid(errorid); XMLResultSystemVO.setMsg("ç³è¯·ç¼ç 失败ï¼->"+e.getMessage()); XMLResultSystemVO.setClassifys(resultClassfyVOList); resultStr=transferResultXMl(XMLResultSystemVO,dataType); log.error("ç³è¯·ç¼ç 失败ï¼->"+e); return resultStr;*/ }finally { XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); xmlResultSystemVO.setClassifys(resultClassfyVOList); xmlResultSystemVO.setMsg(msg); xmlResultSystemVO.setErrorid(errorid); resultStr= transferResultXMl(xmlResultSystemVO,dataType); final boolean[] issucess = {true}; if(!errorid.equals("0")) { issucess[0] = false; }else { if(!CollectionUtils.isEmpty(resultClassfyVOList)) { resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> { xMLResultClassfyVO.getObjects().stream().forEach(objec -> { if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) { issucess[0] = false; msg=objec.getMsg(); } }); }); } } try { //è®°å½æ¥å¿ this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "syncEditData"); }catch (Throwable e){ e.printStackTrace(); } } log.info("è¿ååæ°:"+resultStr); //å卿¥å¿ return resultStr; } /*** @@ -386,8 +554,191 @@ */ @Override public String queryData(String data, String dataType) throws Throwable { return null; boolean issucess=false; String resultStr = ""; String errorid="0"; msg="æå"; String systemId=""; log.info("æ¥è¯¢åç±»çæ°æ®åæ°:->"+data); log.info("æ¥è¯¢åç±»çæ°æ®ç±»å:->"+dataType); DataCondtionsVO dataCondtionsVO=new DataCondtionsVO(); ResultDataVO resultDataVO=new ResultDataVO(); try { try { if ("xml".equals(dataType)) { XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(CondtionsVO.class); xStream.autodetectAnnotations(true); CondtionsVO condtionsVO = (CondtionsVO) xStream.fromXML(data); dataCondtionsVO.setCondtions(condtionsVO); } else { dataCondtionsVO = JSONObject.toJavaObject(JSONObject.parseObject(data), DataCondtionsVO.class); } } catch (Throwable e) { errorid = "101"; msg = "æ¥å£åæ°ï¼ä¼ å ¥æ°æ®åæ°è§£æå¤±è´¥"; e.printStackTrace(); throw new Throwable("æ¥å£åæ°ï¼ä¼ å ¥æ°æ®åæ°è§£æå¤±è´¥"); } CondtionsVO condtionsVO=dataCondtionsVO.getCondtions(); systemId=condtionsVO.getSystemId(); UserVO userVo=condtionsVO.getUser(); CondtionVO condtionVO= condtionsVO.getCondtion(); SessionInfo sessionInfo = new SessionInfo(); sessionInfo.setUserId(userVo.getUserName()); sessionInfo.setUserName(userVo.getTrueName()); sessionInfo.setIp(userVo.getIp()); VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); String classCode=condtionVO.getClassCode(); String library= condtionVO.getLibrary(); String queryFileds= condtionVO.getQueryFileds(); if(StringUtils.isBlank(library)){ errorid = "101"; msg = "æ¥å£åæ°ï¼library 为null"; throw new Throwable(msg); } //å ç®ç§°æ¯å¦æå ³è模æ¿ï¼ææ¨¡æ¿è¦å å é¤ List<CodeClassify> libIdDos =classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,library)); if(!CollectionUtils.isEmpty(libIdDos)){ CodeClassify libCodeClassify=libIdDos.get(0); List<CodeClassify> codeClassifyList=classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId,classCode)); if(!CollectionUtils.isEmpty(codeClassifyList)){ final CodeClassify[] currentCodeClassify = {null}; codeClassifyList.stream().forEach(codeClassify -> { CodeClassifyVO codeClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid()); if(codeClassifyVO.getOid().equals(libCodeClassify.getOid())){ currentCodeClassify[0] =codeClassify; } }); if(currentCodeClassify[0]==null){ errorid = "101"; msg = "æ¥å£åæ°ï¼classCode æªæ¥è¯¢å°å¯¹åºçå类信æ¯"; throw new Throwable(msg); } List<CodeClassifyVO> dataCodeClassifyVOList =new ArrayList<>(); String oid= currentCodeClassify[0].getOid(); TreeQueryObject treeQueryObject=new TreeQueryObject(); treeQueryObject.setParentOid(oid); treeQueryObject.setQueryAllLevel(true); dataCodeClassifyVOList=classifyService.selectCodeClassifyDOByTree(treeQueryObject); dataCodeClassifyVOList.add(CodeClassifyWrapper.build().entityVO(currentCodeClassify[0])); Map<String, CodeClassifyVO> oidCodeclassifyDOMap = dataCodeClassifyVOList.stream().filter(systeDataObject -> systeDataObject != null && StringUtils.isNotBlank(systeDataObject.getOid())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); List<PropertyVO> propertyVOS=condtionVO.getPro(); /*Map<String,String> condtionMap=new HashMap<>(); propertyVOS.stream().forEach(propertyVO -> { condtionMap.put(propertyVO.getFiledName(),propertyVO.getFiledValue()); }); condtionMap.put("codeclsfid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) + ")"); List<String>statusList=new ArrayList<>(); statusList.add(CodeDefaultLC.RELEASED.getValue()); statusList.add(CodeDefaultLC.DISABLE.getValue()); statusList.add(CodeDefaultLC.TASK_BACK.getValue()); condtionMap.put("Lcstatus", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) + ")" ); condtionMap.put("islastr", "1"); condtionMap.put("islastv", "1");*/ List<String>statusList=new ArrayList<>(); statusList.add(CodeDefaultLC.RELEASED.getValue()); statusList.add(CodeDefaultLC.DISABLE.getValue()); statusList.add(CodeDefaultLC.TASK_BACK.getValue()); R<BtmTypeVO> r= btmTypeClient.getDetail(libCodeClassify.getBtmTypeId()); BtmTypeVO btmTypeVO =r.getData(); String tableName=btmTypeVO.getTableName(); StringBuffer sb=new StringBuffer(); sb.append(" select * from "); sb.append(tableName); sb.append(" where 1=1"); propertyVOS.stream().forEach(propertyVO -> { sb.append( " and "+propertyVO.getFiledName()+"='"+propertyVO.getFiledValue()+"'"); }); sb.append(" and islastr=1 and islastv=1" ); sb.append(" and codeclsfid in (" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) +")"); sb.append(" and Lcstatus in (" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) +")"); List<Map<String,String>> newDataList= commonsMapper.queryByOnlySqlForMap(sb.toString()); List<ClientBusinessObject>clientBusinessObjects=new ArrayList<>(); newDataList.stream().forEach(stringStringMap -> { ClientBusinessObject clientBusinessObject=new ClientBusinessObject(); DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,clientBusinessObject); clientBusinessObjects.add(clientBusinessObject); }); List<com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO> dataObjectVOS=new ArrayList<>(); if(!CollectionUtils.isEmpty(clientBusinessObjects)){ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(currentCodeClassify[0].getOid()); Map<String, CodeClassifyTemplateAttrVO> filedAttributeMap = templateVO.getAttributes().stream().filter(attribute -> attribute != null && StringUtils.isNotBlank(attribute.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); clientBusinessObjects.stream().forEach(cbo -> { com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO dataObjectVO=new com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO(); dataObjectVO.setCode(cbo.getId()); dataObjectVO.setStatus(cbo.getLcStatus()); String codeclsfid=cbo.getAttributeValue("codeclsfid"); if(oidCodeclassifyDOMap.containsKey(codeclsfid)){ CodeClassifyVO codeClassifyVO= oidCodeclassifyDOMap.get(codeclsfid); dataObjectVO.setClassCode(codeClassifyVO.getId()); } dataObjectVO.setLibrary(library); String [] newQueryFileds=queryFileds.split(","); List<PropertyVO> propertyVOList=new ArrayList<>(); for(String filed:newQueryFileds){ String value=cbo.getAttributeValue(filed); if(filedAttributeMap.containsKey(filed)){ CodeClassifyTemplateAttrVO attrVO= filedAttributeMap.get(filed); PropertyVO propertyVO=new PropertyVO(); propertyVO.setFiledName(filed); propertyVO.setFiledValue(value); propertyVO.setOutname(attrVO.getName()); propertyVOList.add(propertyVO); } } dataObjectVO.setPro(propertyVOList); dataObjectVOS.add(dataObjectVO); }); resultDataVO.setObject(dataObjectVOS); } }else{ errorid = "101"; msg = "æ¥å£åæ°ï¼classCode æªæ¥è¯¢å°å¯¹åºçå类信æ¯"; throw new Throwable(msg); } }else{ errorid = "101"; msg = "æ¥å£åæ°ï¼library æªæ¥è¯¢å°å¯¹åºçåºèç¹ä¿¡æ¯"; } errorid = "0"; msg = "æ°æ®æ¥è¯¢æå"; }catch (Throwable e){ e.printStackTrace();; msg="æ¥è¯¢æ°æ®å¤±è´¥:"+e.getMessage(); }finally { resultDataVO.setErrorid(errorid); resultDataVO.setMsg(msg); } ResultVO resultVO=new ResultVO(); resultVO.setData(resultDataVO); if(dataType.equals("xml")){ //ç»ç»è¿åæ¥å£ä¿¡æ¯ XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(XMLResultSystemVO.class); xStream.autodetectAnnotations(true); resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultDataVO); }else{ Object object = JSONObject.toJSON(resultVO); resultStr = object.toString(); } try { //è®°å½æ¥å¿ this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassify"); }catch (Throwable e){ e.printStackTrace(); } log.info("è¿ååæ°:"+resultStr); return resultStr; } @Override public String queryClassifyRule(String data, String dataType) throws Throwable { @@ -521,18 +872,32 @@ } return classifyVO; } private List<ClientBusinessObject> ChangeMapTOClientBusinessObjects(List<Map<String,String>> oldDataMap){ List<ClientBusinessObject> clientBusinessObjectList=new CopyOnWriteArrayList<>(); oldDataMap.parallelStream().forEach(dataMap->{ ClientBusinessObject clientBusinessObject=new ClientBusinessObject(); DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(dataMap,clientBusinessObject); dataMap.forEach((key,value)->{ clientBusinessObject.setAttributeValue(key,value); }); }); return clientBusinessObjectList; } /*** * æ ¹æ®ç©¿å ¥çåæ°ä¿¡æ¯æ ¡éªç 段è§å */ private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOs(List<SectionVO> SectionVOList,CodeRuleVO ruleVO) throws Throwable{ private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOs(List<SectionVO> SectionVOList,CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo) throws Throwable{ List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList(); Map<String,String> sectionVOMap=new HashMap<>(); SectionVOList.stream().forEach(SectionVO->{ sectionVOMap.put(SectionVO.getName(),SectionVO.getValue()); }); Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2)); List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>(); for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) { String sectype = codeBasicSecVO.getSecType(); String classifySecOid= codeBasicSecVO.getOid(); if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) { String name = codeBasicSecVO.getName(); String sectypeText = codeBasicSecVO.getSecTypeText(); @@ -543,6 +908,22 @@ CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid()); String sectypeValue = sectionVOMap.get(name); log.info("ç æ®µå¼:"+sectypeValue); CodeSecTypeEnum secType = CodeSecTypeEnum.forValue(sectype); if(CODE_CLASSIFY_SEC.equals(secType)) {//妿æ¯åç±»çè¯ï¼åéè¦å¹é ä¼ è¿æ¥çå类代å·ä¸ //å ç®ç§°æ¯å¦æå ³è模æ¿ï¼ææ¨¡æ¿è¦å å é¤ List<CodeClassifyValue> codeClassifyValueDOList = codeClassifyValueService.list(Wrappers.<CodeClassifyValue>query().lambda().eq(CodeClassifyValue::getCodeClassifySecOid,classifySecOid)); if (!CollectionUtils.isEmpty(codeClassifyValueDOList)) { Map<String, CodeClassifyValue> codeClassifyValueDOMap = codeClassifyValueDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t, (o1, o2) -> o2)); if(codeClassifyValueDOMap.containsKey(sectypeValue)){ CodeClassifyValue codeClassifyValue= codeClassifyValueDOMap.get(sectypeValue); sectypeValue=codeClassifyValue.getOid(); }else { objerrorCode = "101"; throw new Throwable("ä¼ å ¥çåç±»ç æ®µï¼ã" + name + " å¼ï¼" + sectypeValue + "ãï¼ä¸ç¬¦åå½ååç±»å±çº§ä»£å·"); } } } CodeOrderSecDTO.setSecValue(sectypeValue); codeOrderSecDTOList.add(CodeOrderSecDTO); } else { @@ -563,17 +944,24 @@ Map<String, String> attrMapConfigMap=new HashMap<>(); Map<String, String> propMaps=new HashMap<>(); try { log.info("å¼å§è¯»åç³»ç»é ç½®æä»¶ start"); Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap(); log.info("éæç³»ç»å±æ§æ å°é ç½®æä»¶æ¡ç®æ°-ã"+stringStringMap.size()); //stringStringMap.put("RLM","D:\\RLM.xml"); LibraryDO libraryDO= gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId,stringStringMap); LibraryDO libraryDO=gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId,stringStringMap); List<LibraryClsfDO> libraryClsfDOList=libraryDO.getClsf(); Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"ä»é ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é ç½®"); if(libPropMaps.containsKey(libray)){ log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"å¹é å°ç¸åºç屿§æ å°ä¿¡æ¯"); List<ClsfAttrMappingDO> clsfAttrMappingDOList=libPropMaps.get(libray); propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"å¹é å°ç¸åºç屿§æ å°ä¿¡æ¯,屿§æ å°æ¡ç®æ°+"+clsfAttrMappingDOList.size()); } log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"ä»é ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é ç½® end "); }catch (Throwable e){ objerrorCode="1"; e.printStackTrace(); throw new Throwable("MDMéæå±æ§é ç½®æä»¶è¯»å失败"); } LinkedList<String> rowNameList=new LinkedList<>(); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingTaskWrapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ package com.vci.ubcs.code.wrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.vci.ubcs.code.entity.DockingTask; import com.vci.ubcs.code.vo.pagemodel.DockingTaskVO; 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 DockingTaskWrapper extends BaseEntityWrapper<DockingTask, DockingTaskVO> { public static DockingSystemWrapper build() { return new DockingSystemWrapper(); } @Override public DockingTaskVO entityVO(DockingTask entity) { DockingTaskVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingTaskVO.class)); return vo; } /*** * æ°ç»å¯¹è±¡è½¬æ¢ * @param entitys * @return */ public List<DockingTaskVO> entityVOs(Collection<DockingTask> entitys) { if(CollectionUtils.isEmpty(entitys)) {return new ArrayList<>();} List<DockingTaskVO> vos=new ArrayList<>(); if(!CollectionUtils.isEmpty(entitys)) { entitys.stream().forEach(vo -> { vos.add(entityVO(vo)); }); } return vos; } /*** * æ°ç»å¯¹è±¡è½¬æ¢ * @param vos * @return */ public List<DockingTask> voentitys(Collection<DockingTaskVO> vos) { if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();} List<DockingTask>entitys =new ArrayList<>(); if(!CollectionUtils.isEmpty(vos)) { vos.stream().forEach(entity -> { entitys.add(voentity(entity)); }); } return entitys; } /*** * æ°ç»å¯¹è±¡è½¬æ¢ * @param vo * @return */ public DockingTask voentity( DockingTaskVO vo) { DockingTask entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingTask.class)); return entity; } } Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingTaskMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ <?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.DockingTaskMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="plDockingLogResultMap" type="com.vci.ubcs.code.entity.DockingTask"> <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="revisionSeq"/> <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="SYSINFOOID" property="sysInfoOid"/> <result column="SYSTEMOID" property="systemOid"/> <result column="SYSINFOOID" property="sysInfoOid"/> <result column="SYSTEMCODE" property="systemCode"/> <result column="SYSTEMNAME" property="systemName"/> <result column="CLASSIFYOID" property="classifyOid"/> <result column="CLASSIFYID" property="classifyId"/> <result column="CLASSIFYNAME" property="classifyName"/> <result column="BTMOID" property="btmOid"/> <result column="BTMID" property="btmId"/> <result column="UNIQUECODE" property="uniqueCode"/> <result column="SENDTYPE" property="sendType"/> <result column="SENDFLAG" property="sendFlag"/> <result column="DATAOID" property="dataOid"/> </resultMap> </mapper>