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/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/MdmEngineService.java
@@ -413,20 +413,20 @@ */ List<Tree> referTree(UIFormReferVO referConfigVO, TreeQueryObject queryObject); /** * æ¯å¦ä¸ºä¿®æ¹å¿½ç¥ç屿§ * @param attrName 屿§çåå * @return true 表示åºè¯¥å¿½ç¥ */ 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)); // } default 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/CodeDuckingSyncServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ package com.vci.ubcs.code.service.impl; import com.vci.ubcs.code.service.ICodeDuckingSyncService; import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; import org.springframework.stereotype.Service; /* * 主é¢åºéææå¡ * @author xiejun * @date 2023-06-19 **/ @Service @Slf4j public class CodeDuckingSyncServiceImpl implements ICodeDuckingSyncService { @Override public void DockingDataSyncScheduing() { } @Override public void DockingClassSyncScheduing() { } @Override public R sendData(String oids) { return null; } } 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
@@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.fasterxml.jackson.databind.ObjectMapper; import com.sun.corba.se.impl.orbutil.ObjectUtility; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; @@ -19,13 +17,11 @@ import com.vci.ubcs.code.mapper.CodeWupinMapper; 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.vo.CodeKeyAttrRepeatVO; import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO; import com.vci.ubcs.code.vo.pagemodel.UITablePageVO; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant; import com.vci.ubcs.omd.entity.BtmTypeAttribute; import com.vci.ubcs.omd.cache.EnumCache; import com.vci.ubcs.omd.feign.*; import com.vci.ubcs.omd.utils.VciOmdUtil; @@ -38,7 +34,6 @@ import com.vci.ubcs.starter.revision.model.TreeQueryObject; import com.vci.ubcs.starter.revision.model.TreeWrapperOptions; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.UBCSSqlKeyword; import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.constant.RegExpConstant; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; @@ -55,15 +50,12 @@ import com.vci.ubcs.system.user.feign.IUserClient; import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; import oracle.sql.TIMESTAMP; import org.apache.commons.collections4.MapUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.launch.constant.AppConstant; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringPool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; @@ -73,15 +65,10 @@ import javax.annotation.Resource; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; import java.sql.SQLException; import java.sql.Timestamp; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; @@ -881,21 +868,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)); } /** * ä¿åå¯è¾å¯éçä¿¡æ¯ @@ -3480,6 +3453,7 @@ return revisionModelUtil.doList2Trees(codeClassifies, treeWrapperOptions, null); } private String getTableName(String refertype){ if ("codeclassify".equals(refertype)){ return "pl_code_classify"; 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,7 +118,6 @@ */ @Override public String applyCode(String data, String dataType) throws Throwable { { String resultStr = ""; String errorid="0"; msg="æå"; @@ -171,7 +200,7 @@ throw new Throwable ("æ ¹æ®ä¼ è¾çåç±»ï¼æªè·åMDMç³»ç»ä¸å¯¹åºè§å"); } log.info("endï¼è§åè·å宿¯"); List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classVO.getSections().getSection(), ruleVO); List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classVO.getSections().getSection(), ruleVO,classifyFullInfo); log.info("endï¼ç 段è·å宿¯"); CodeOrderDTO orderDTO = new CodeOrderDTO(); orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//åç±»ä¸»é® @@ -203,6 +232,14 @@ }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); @@ -236,7 +273,6 @@ 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); 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>