Source/UBCS-WEB/src/api/integration/integration.js
@@ -50,7 +50,6 @@ } // 屿§æ å°ä¿åæ¹æ³ export const batchAddSave = (params) => { console.log(params) return request({ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/batchAddSave', method: 'post', @@ -59,7 +58,6 @@ } // 忥éå¢å±æ§æ¨¡åè§å¾ export const syncClassifyModel = (params) => { console.log(params) return request({ url: '/api/ubcs-applyjtcodeservice/DockingPreApplyCode/syncClassifyModel', method: 'post', Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -276,8 +276,8 @@ </el-dialog> <!-- å ¨å±ç¼è¾--> <el-dialog :before-close="escEdit" :visible.sync="attrEditVisible" append-to-body fullscreen="true"> <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :crudArrayFlag="this.crudArrayFlag" :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag" :btnAuthList="btnAuthList" <attrCrud :ProData="this.ProData" :attrFlagChiledren="this.attrFlag" :btnAuthList="btnAuthList" :crudArrayFlag="this.crudArrayFlag" :editOpenFlag="editOpenFlag" :editStyleFlag="editStyleFlag" @editCloseChildren="editClose"></attrCrud> </el-dialog> <!-- ç»åè§å--> @@ -325,8 +325,8 @@ ref="referAttrCrud" v-loading="loading" :data="ProData" :height="this.tableHeight" :header-cell-style="{background:'#FAFAFA',color:'#505050'}" :height="this.tableHeight" border style="width: 100%" @select="selectHandle" @@ -364,9 +364,10 @@ :style="{width:(item.width-10)+'px'}" controls-position="right" size="small" @blur="saveRows"></el-input-number> <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " slot="prepend" :clearable="true" v-model="row[item.prop]" allow-create default-first-option filterable v-show="!AddCellFlag" <el-select v-if="editingRows === row && editShows== item.prop && item.edit == 'select' " v-show="!AddCellFlag" slot="prepend" v-model="row[item.prop]" :clearable="true" allow-create default-first-option filterable @blur="selectChangeHandler(item.editConfig,index)"> <el-option v-for="optionItem in item.data" @@ -1597,7 +1598,7 @@ if (this.editStyleFlag) { return '800px' } else { return 'calc(100vh - 595px)' return 'calc(100vh - 565px)' } } }, @@ -2084,7 +2085,8 @@ } if (this.attrSelectList.length < 1) { this.$message.warning('è¯·éæ©ä¸æ¡æ¨¡æ¿æ°æ®') return;; return; ; } if (this.attrSelectList.length === 1) { this.injectVisible = true; @@ -2244,7 +2246,7 @@ <style lang="scss" scoped> //åºå®åé«åº¦ /deep/ .el-table__fixed { height: calc(100vh - 612px) !important; height: calc(100vh - 584px) !important; } ///deep/ .el-table__fixed[v-if='editStyleFlag'] { Source/UBCS-WEB/src/components/Theme/ThemeClassifyTreeform.vue
@@ -1,20 +1,20 @@ <template> <div> <avue-form v-model="loneTreeNewForm" :option="renonlyOption" v-if="flag == 'renonly'"> <avue-form v-if="flag == 'renonly'" v-model="loneTreeNewForm" :option="renonlyOption"> </avue-form> <avue-form v-model="loneTreeNewForm" :option="this.editOption" @submit="submits" v-else-if="flag == 'edit'"> <avue-form v-else-if="flag == 'edit'" v-model="loneTreeNewForm" :option="this.editOption" @submit="submits"> </avue-form> <div> <!-- ç¼ç è§å--> <ThemeChildren ref="ThemeMasterChildren" dialogTitle="ç¼ç è§å" codeName="codeRuleOidName" codeType="coderule" code-lcstatus="Released" :visible.sync="MasterdialogVisible" :SelectOption="SelectOption" :TreeAddform="loneTreeNewForm" :visible.sync="MasterdialogVisible" code-lcstatus="Released" codeName="codeRuleOidName" codeType="coderule" dialogTitle="ç¼ç è§å" @defineHandler="handlerDefine" ></ThemeChildren> <!-- å ³é®å±æ§æ¥è¯¢è§å--> @@ -60,6 +60,7 @@ import {defaultReferDataGrid,referDataGrid} from '@/api/MasterData/master' import {TreeEditSave} from '@/api/template/templateAttr' import ThemeChildren from '@/components/FormTemplate/ThemeChildren' export default { components: {ThemeChildren}, name: "classifyTreeform.vue", @@ -220,7 +221,6 @@ prop: 'btmTypeName', labelWidth:128, focus:this.btmFoucus, // readonly: true, display:this.TreeFlag, rules: [{ required: true, @@ -240,14 +240,22 @@ prop:"codeKeyAttrRepeatOidName", labelWidth:128, focus:this.Keyfouce, readonly: true, change: (data) => { if (data.value === "") { this.loneTreeNewForm.codeKeyAttrRepeatOid = "" } } }, { label:"ç¸ä¼¼æ¥è¯¢è§å", prop:"codeResembleRuleOidName", labelWidth:128, focus: this.simFouce, readonly: true, change: (data) => { if (data.value === "") { this.loneTreeNewForm.codeResembleRuleOid = "" } } }, { label: 'æ¯å¦åä¸å ³é®å±æ§æ ¡éª', Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -122,9 +122,9 @@ ></classify-auth-dialog> <!-- æ°æ®ææå¯¹è¯æ¡ --> <data-auth-dialog :TreeNode="TreeEditObj" :classifyData="classifyData" :visible.sync="dataAuthVisible" :TreeNode="TreeEditObj" ></data-auth-dialog> </basic-container> </el-aside> @@ -708,7 +708,8 @@ index: true, border: true, columnBtn: false, height: 180, height: 150, refreshBtn: false, addBtn: this.Formlist.length <= 0 && this.nodeClickList != "", editBtn: false, delBtn: false, Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue
@@ -2,13 +2,16 @@ <basic-container> <avue-tabs :option="Taboption" @change="handleChange"></avue-tabs> <span v-if="type.prop==='tab1'"> <attrCrud :ProData="ProData" :btnAuthList="btnAuthList" :crudOid="crudOid" :checkStatus="checkStatus" :crudLCStatus="crudLCStatus" :crudArray="crudArray" :Formlist="Formlist" :codeClassifyOid="codeClassifyOid"></attrCrud> <attrCrud :Formlist="Formlist" :ProData="ProData" :btnAuthList="btnAuthList" :checkStatus="checkStatus" :codeClassifyOid="codeClassifyOid" :crudArray="crudArray" :crudLCStatus="crudLCStatus" :crudOid="crudOid"></attrCrud> </span> <span v-else-if="type.prop==='tab2'"> <FlowPath ref="FlowPath" :code="this.crudOid" :checkStatus="checkStatus" :crudLCStatus="crudLCStatus" :Formlist="Formlist"></FlowPath> <FlowPath ref="FlowPath" :Formlist="Formlist" :checkStatus="checkStatus" :code="this.crudOid" :crudLCStatus="crudLCStatus"></FlowPath> </span> <span v-else-if="type.prop==='tab3'"> <stage ref="stage" :code="this.crudOid" :Formlist="Formlist"></stage> <stage ref="stage" :Formlist="Formlist" :code="this.crudOid"></stage> </span> </basic-container> @@ -42,8 +45,7 @@ this.type = this.Taboption.column[0]; this.type.prop = "tab1"; }, watch:{ }, watch: {}, methods: { // Tabæ 忢 handleChange(column) { Source/UBCS-WEB/src/const/code/codeKeyAttrRepeat.js
@@ -329,14 +329,5 @@ trigger: "blur" }], }, { required: true, label: 'æ··æ·å符转æ¢', prop:'confound', labelWidth : 110, search: false, formslot:true, display:true } ] } Source/UBCS-WEB/src/views/docking/info.vue
@@ -121,6 +121,7 @@ indexFixed: false, selectionFixed:false, searchShow: false, refreshBtn:false, searchMenuSpan: 6, rowKey: "id", tabs: true, Source/UBCS-WEB/src/views/docking/loge.vue
@@ -127,6 +127,7 @@ option: { height:'auto', calcHeight: 20, menuWidth:120, tip: false, searchShow: false, border: true, @@ -134,9 +135,10 @@ indexFixed:false, selection: false, dialogClickModal: false, menuFixed:false, menuFixed:'right', dialogType: 'drawer', viewBtn: true, stripe: true, addBtn:false, editBtn:false, delBtn:false, @@ -227,6 +229,7 @@ { label: 'è¿åmsg', prop: 'msg', width: 150, overHidden: true }, { Source/UBCS-WEB/src/views/integration/integrationIndex.vue
@@ -28,9 +28,16 @@ <el-form-item label="éå¢åç±»" label-width="80px" size="small"> <el-select ref="selectTree" v-model="groupVal" clearable placeholder="è¯·éæ©" popper-class="popperTreeSelect"> <el-option :label="groupVal" :value="groupVal"> <el-tree ref="groupTree" :data="groupTreeData" :props="defaultProps" empty-text="ææ æ°æ®" @node-click="handleNodeClick"> <el-option :disabled="true" :label="groupVal" :value="groupVal"> <el-tree ref="groupTree" :data="groupTreeData" :default-checked-keys="defaultCheckedKeys" :default-expanded-keys="defaultCheckedKeys" :props="defaultProps" empty-text="ææ æ°æ®" node-key="oid" show-checkbox @check="handleCheck"> </el-tree> </el-option> </el-select> @@ -40,7 +47,8 @@ <el-card style="height:38vh"> <avue-crud ref="crudMapping" :data="mappingData" :option="optionMapping" :table-loading="loading" @select="setCurrentRow" @row-update="handleMapingUpdate" @row-click="handleMapingClick" @row-dblclick="handleMapingRowClick" @selection-change="selectionChange" @row-click="handleMapingClick" @row-dblclick="handleMapingRowClick" @selection-change="selectionChange" @select-all="handleSelectAll"> <template slot="menuLeft"> <el-button :disabled="disabledPush" icon="el-icon-plus" size="small" type="primary" @@ -105,6 +113,8 @@ highlightCurrentRow: true, } return { defaultCheckedKeys: [], isNodeDisabled: true, // 表åå¼ form: { // é墿 æ¾ç¤ºå¼ @@ -156,6 +166,7 @@ header: true, rowKey: 'oid', selection: false, refreshBtn: false, column: [ {label: 'éå¢åç±»', prop: 'sourceClassifyName', minWidth: 80}, {label: 'æå±è§å¾', prop: 'viewName', minWidth: 80}, @@ -180,12 +191,15 @@ treeData: [], // éå¢åç±»æ groupTreeData: [], // æ poposæ¿æ¢å¼ // æ prposæ¿æ¢å¼ defaultProps: { children: 'children', label: 'name', id: 'oid', isLeaf: '' isLeaf: '', // disabled:()=>{ // return true // } }, transferProps: { key: 'oid', @@ -201,6 +215,7 @@ mappingForm: {}, // 宿¶å¨ times: null, TreeSelectOid: "" } }, @@ -277,25 +292,80 @@ } }, // æ¥å£è·åéå¢åç±»æ async referTree(oid, checked) { this.groupTreeData = [] const response = await referTree({'conditionMap[codeclsfid]': oid, parentOid:'0'}) async referTree(oid) { this.groupTreeData = []; const response = await referTree({'conditionMap[codeclsfid]': oid, parentOid: '0'}); if (response.status === 200) { if (checked) { let items = response.data.map(item => { let obj = {} if (item.checked) obj = {...item} else obj = null return obj }) var r = items.filter(s => { return s && s.trim() this.groupTreeData = response.data; // å°è·åå°çæ°æ®èµå¼ç»éå¢åç±»æ æ°æ® await this.filterCheckedNodes(this.groupTreeData, this.defaultCheckedKeys); await this.$nextTick(() => { this.$refs.groupTree.setCheckedKeys(this.defaultCheckedKeys); }); this.groupTreeData = r } else { this.groupTreeData = response.data this.handlerTreeData(this.groupTreeData); this.defaultCheckedKeys = []; } }, // è¿æ»¤åºæ¥checked为trueçèç¹ filterCheckedNodes(data, checkedNodes) { data.forEach(node => { if (node.checked) { checkedNodes.push(node.oid); this.getGridAttrMapping(node.oid); this.form.groupValue = node.oid; this.groupVal = node.name; } if (node.children && node.children.length > 0) { this.filterCheckedNodes(node.children, checkedNodes); } }); }, // è¿æ»¤å¤çæ¯ä¸ªèç¹ handlerTreeNode(node) { // æ ¹æ®èç¹ç¦ç¨ç¶æè®¾ç½®èç¹æ¯å¦ç¦ç¨ this.$set(node, 'disabled', !node.checked); if (node.children && node.children.length > 0) { // éå½å¾ªç¯å¤çææåèç¹ node.children.forEach(child => this.handlerTreeNode(child)); } }, // æ£æ¥ææèç¹æ¯å¦é½æ¯æªç¦ç¨ç¶æ allNodeChecked(data) { for (const node of data) { // 妿åå¨ç¦ç¨èç¹è¿åfalse if (node.checked) { return false; } // 妿åå¨åèç¹ä¸åèç¹åå¨ç¦ç¨èç¹ï¼åè¿åfalse if (node.children && !this.allNodeChecked(node.children)) { return false; } } // 没æç¦ç¨èç¹è¿åtrue return true; }, // éå¢åç±»æ ç¦ç¨æ°æ®å¤çæ´åæ¹æ³ handlerTreeData(data) { if (this.allNodeChecked(data)) { // 妿ææèç¹é½æªç¦ç¨å°ææèç¹è®¾ç½®ä¸ºfalse data.forEach(node => { this.$set(node, 'disabled', false); // Vue 3 ä¸å¯è½ä¸éè¦è¿æ ·å }); return; } // æ¥æ¾ç¦ç¨èç¹ let checkedNode = data.find(node => node.checked); data.forEach(node => { // 妿èç¹ä¸æ¯ç¦ç¨èç¹è®¾ç½®ä¸ºtrue this.$set(node, 'disabled', node !== checkedNode); if (node.children && node.children.length > 0) { // è°ç¨å¾ªç¯èç¹ this.handlerTreeNode(node); } }); }, // 左侧æ è¿æ»¤æç´¢ filterNode(value, data) { @@ -324,9 +394,13 @@ message: "è¯·éæ©ä¸æ¡éå¢åç±»" }); } else { const response = await syncClassifyModel(param) try { const response = await syncClassifyModel(param); if (response.status === 200) { console.log(response) this.$message.success(response.data.msg) } } catch (error) { console.error(error); } } }, @@ -350,17 +424,16 @@ }, // 左侧æ ç¹å» handelTreeCell(event) { if (event.leaf) { this.treeParam.codeClassifyId = event.oid this.form.groupValue = '' this.groupVal = '' this.tableData = [] this.referTree(event.oid, event.checked) this.mappingData = [] this.referTree(event.oid) this.getListCodeByClassId(event.oid) } }, // éå¢åç±»æ ç¹å» handleNodeClick(data) { // éå¢åç±»æ éæ© handleCheck(data) { this.form.groupValue = data.oid this.groupVal = data.name this.$refs.selectTree.blur() @@ -451,12 +524,15 @@ width: 100%; height: 370px; } .el-transfer-panel__body { height: 370px; } .el-input { width: auto; } .el-transfer-panel { width: 270px; } Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/vo/DockingMainData.java
@@ -28,6 +28,10 @@ */ private String className; /*** * éå¢ç */ private String customCoding; /*** * 模åè§å¾ä¿¡æ¯ */ private List<DockingViewVO> viewInfos; @@ -41,6 +45,7 @@ ", createBy='" + createBy + '\'' + ", className='" + className + '\'' + ", viewInfos=" + viewInfos + ", customCoding=" + customCoding + '}'; } } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package com.vci.ubcs.code.feign; import com.vci.ubcs.code.vo.pagemodel.SearchItemParam; import com.vci.ubcs.code.vo.pagemodel.SearchItemVO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import javax.validation.constraints.NotNull; /**** * ä»å¤é¨è·ååå·ä»£å·ï¼æè 项ç®ä»£å· * @author xiejun * @date 2023-05-26 */ @FeignClient(name = "erpIntegration", url = "${erp.item.url:http://127.0.0.1:8080}", path = "") public interface MdmSearchItemCodeProvider { /*** * æ¥è¯¢é¡¹ç®ä»£å·æè åå·ä»£å· * @param searchItemParam * @return æ§è¡ç»æ */ @PostMapping("/api/pp/pp/ext/extend/v1.0/getppModelByElem") SearchItemVO getppModelByElem(@NotNull @RequestBody SearchItemParam searchItemParam); } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemDataVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,49 @@ package com.vci.ubcs.code.vo.pagemodel; import lombok.Data; import java.util.Date; @Data public class SearchItemDataVO { /*** * æ°æ®ç¶æ å符åï¼æä¸¾å¼ï¼å¶åï¼0ï¼å®¡æ¹ä¸ï¼1ï¼éè¿ï¼2ï¼é©³åï¼3ï¼ */ private String status; /** * å¶é åå·ä»£å· */ private String mmodelcode; /** * 项ç®ä»£å· */ private String projectitem; /*** * 项ç®ç¼ç */ private String projectcode; /*** * 产åç¼ç */ private String materialcode; /*** * å建è */ private String creatby; /*** * åå»ºæ¥æ æ¥æåï¼å¦ï¼2023-09-08 19:24:11 */ private Date createdon; /*** * æ´æ¹è */ private String lastchangedby; /*** * æ´æ¹æ¶é´ æ¥æåï¼å¦ï¼2023-09-08 19:24:11 */ private Date lastchangedon; /*** * å符åï¼æä¸¾å¼ï¼åç¨ï¼0ï¼å¯ç¨ï¼1ï¼ */ private String isenabled; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemParam.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.vci.ubcs.code.vo.pagemodel; import lombok.Data; import java.util.Date; @Data public class SearchItemParam { /*** * è°ç¨ç³»ç»æ è¯ */ private String systag; /** * æ°æ®ç¶æ */ private String status; /** * æ¯å¦åç¨ */ private String isenabled; /** * æåä¿®æ¹æ¥æ */ private Date lastchangedon; } Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/SearchItemVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.vci.ubcs.code.vo.pagemodel; import lombok.Data; import java.util.List; @Data public class SearchItemVO { /*** * è¿åæ è¯ */ private String code; /*** * æ¶æ¯ä¿¡æ¯ */ private String msg; private List<SearchItemDataVO> data; } Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -1,5 +1,6 @@ package com.vci.ubcs.code.applyjtcodeservice.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -10,6 +11,8 @@ import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService; import com.vci.ubcs.code.applyjtcodeservice.vo.*; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDataVO; import com.vci.ubcs.code.vo.webserviceModel.apply.InterParameterVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider; @@ -19,8 +22,10 @@ import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.map.CaseInsensitiveMap; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -43,11 +48,11 @@ private String code=""; private String msg=""; @Value("${docking.apply.partCoe:10}") @Value("${docking.apply.partCode:101}") public String partCoe; @Value("${docking.apply.userFlag:false}") @Value("${docking.apply.usedFlag:false}") public boolean usedFlag; @Value("${docking.apply.unitCode:41000}") @Value("${docking.apply.unitCode:4100}") public String dockingApplyUnitCode; @Value("${docking.apply.sysName:410-MDM}") @@ -119,18 +124,33 @@ Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>(); //æ°æ®åºä¸åå¨ç /*List<BaseModel> newDdataModelList = dataModelList.stream().filter(cbo -> { String groupcode =cbo.getData().getOrDefault("GROUPCODE",""); return StringUtils.isBlank(groupcode); }).collect(Collectors.toList()); if(newDdataModelList.size()==0) return R.fail("ç³è¯·æ¥å£è°ç¨æå,æææ°æ®å·²ç»åå¨éå¢ç ");*/ //ç»ç»æ°æ® dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap); DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); Object object = JSONObject.toJSON(dockingGroupDataVO); String resultStr = object.toString(); log.info("ç³è¯·éå¢ç æ°æ®æ ¼å¼:->"+resultStr); DockingResultVO resultDataObject =new DockingResultVO(); resultDataObject= mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); boolean res=false; if ("1".equals(resultDataObject.getCode())) {//ç»ææ£ç¡®çæ åµ List<DockingDataVO> dataObjectVOList = resultDataObject.getData(); res=true; dataObjectVOList.stream().forEach(dataObject -> { boolean isEditDatas = false; String code2 = dataObject.getCode(); DockingMainDataVO data2 = dataObject.getData(); String applyId = data2.getApplyId();//ç³è¯·åid BaseModel baseModel = baseModelMap.get(applyId); String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//éå¢ç 段 msg = dataObject.getMsg(); if (code2.equals("1")) {//ç»ææ£ç¡®çæ åµ @@ -142,8 +162,16 @@ if (editDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); //dockingPreApplyForm.setDescription(baseModel.getId()); dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { dockingPreApplyForm.setGroupCode(customCoding); }else{ isEditDatas = true; if (StringUtils.isBlank(customCoding)) { customCoding=dockingPreApplyForm.getGroupCode(); } } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -151,11 +179,13 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); } //æ°å¢çç³è¯·åæ°æ® if (addDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setDescription(baseModel.getId()); dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); dockingPreApplyForm.setGroupCode(customCoding); ObjectMapper mp = new ObjectMapper(); @@ -165,25 +195,28 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //妿æéå¢ç åæ´æ°æ°æ® if (isEditDatas) { if (baseModelMap.containsKey(applyId)) { BaseModel baseModel = baseModelMap.get(applyId); String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); baseModel = baseModelMap.get(applyId); Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData()); String classOid=dataValueMap.getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); customCoding=10+customCoding; } BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); baseModel.getData().getOrDefault("groupCode", customCoding); // DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); baseModel.getData().put("GROUPCODE",customCoding); updateCbos.add(baseModel);//æ´æ°æ°æ®éå¢code } } }); } else { res=false; editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { dockingPreApplyForm.setCode("2"); dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); @@ -208,6 +241,9 @@ //ä¿åè¡¨åæ°æ® dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//ä¿åæ°æ® if(!res){ throw new VciBaseException(msg); } } return R.success("ç³è¯·æ¥å£è°ç¨æå"); } catch (VciBaseException e) { @@ -227,7 +263,7 @@ @Transactional(rollbackFor = VciBaseException.class) @Override public R receiveEditApply(String oids, String btmName) throws VciBaseException { if(usedFlag) { if(!usedFlag) { log.info("æ´æ°æ¥å£åè½å·²å ³éï¼->"+usedFlag); R.success("æ´æ°æ¥å£åè½å·²å ³éï¼"); } @@ -273,7 +309,9 @@ DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setMsg("ä¿®æ¹ï¼" + msg); if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { dockingPreApplyForm.setGroupCode(customCoding); } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -281,13 +319,16 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); } //æ°å¢çç³è¯·åæ°æ® if (addDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setMsg("ä¿®æ¹ï¼" + msg); if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { dockingPreApplyForm.setGroupCode(customCoding); } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -295,6 +336,7 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //妿æéå¢ç åæ´æ°æ°æ® if (isEditDatas) { @@ -307,7 +349,7 @@ } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); // baseModel.setId(customCoding); baseModel.getData().put("groupCode", customCoding); baseModel.getData().put("GROUPCODE", customCoding); updateCbos.add(baseModel);//æ´æ°æ°æ®éå¢code } } @@ -354,7 +396,7 @@ public R queryClassModel(String groupClassifyId) throws Throwable { log.info("è·åé墿¨¡å详ç»ä¿¡æ¯æ§è¡ä¿åstart"); String message="æ§è¡æåï¼"; if(usedFlag){ if(!usedFlag){ log.info("è·åé墿¨¡å详ç»ä¿¡æ¯æ§è¡ä¿ååè½å·²å ³éï¼->"+usedFlag); return R.fail("è·åé墿¨¡å详ç»ä¿¡æ¯æ¥å£å·²å ³é!"); } @@ -406,7 +448,7 @@ public R queryMdmModel() throws Throwable { String message="æ§è¡æåï¼"; log.info("ä»éå¢è·å主模åä¿¡æ¯æ§è¡ä¿åæ¥å£statr"); if(usedFlag){ if(!usedFlag){ log.info("ä»éå¢è·å主模åä¿¡æ¯æ§è¡ä¿åæ¥å£åè½å·²å ³éï¼->"+usedFlag); return R.fail("æ¥è¯¢æ¨¡åè§å¾æ¥å£å·²å ³é!"); } @@ -493,7 +535,7 @@ */ @Override public R queryApplyState(String dataOids) throws VciBaseException { if(usedFlag){ if(!usedFlag){ log.info("æ¥è¯¢ç³è¯·åç¶ææ¥å£å¼å ³å·²å ³é"); return R.fail("æ¥è¯¢ç³è¯·åç¶ææ¥å£å¼å ³å·²å ³é"); } @@ -518,8 +560,9 @@ int code=dockingApplyFormQueryStatusVO.getCode(); String mesg=dockingApplyFormQueryStatusVO.getMsg(); if(code==1){ message=mesg; List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData(); if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ if(!CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) { String applyId=applyFormDataState.getApplyNum(); String state= applyFormDataState.getFormState(); @@ -531,20 +574,23 @@ } } boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); if(res){ R.success("ç³è¯·éå¢ç ç¶ææ¥è¯¢æå:"+mesg); } }else{ throw new Throwable("没æè·åå°ç¸å ³æ°æ®ä¿¡æ¯"); } }else{ throw new Throwable(mesg); message=mesg; dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> { dockingPreApplyForm.setMsg("ç³è¯·åæ¥ç失败ï¼"+mesg); }); this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); throw new Throwable(message); } }catch (Throwable e){ e.printStackTrace(); //message=""+e; log.error("è·åç³è¯·åç¶æå¤±è´¥"+e); throw new VciBaseException(message); throw new VciBaseException(e.getMessage()); } log.info("æ¥è¯¢ç³è¯·åç¶ææ¥å£end"); return R.success(message); @@ -559,7 +605,7 @@ */ @Override public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException { if(usedFlag){ if(!usedFlag){ log.info("忥é墿¨¡åä¿¡æ¯å¼å ³å·²å ³é"); return R.fail("忥é墿¨¡åä¿¡æ¯å¼å ³å·²å ³é"); } @@ -608,6 +654,7 @@ log.info("classify:-------------->龿¥åç§°:"+nodeLinkName); if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) { dockingPreClassify=new DockingPreClassify(); DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY); } else { DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify); @@ -703,7 +750,7 @@ .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid()) .eq(DockingPreMetaAttr:: getPid,pid)); Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter( s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t)); s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName(), t -> t)); for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) { String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 屿§åç§° @@ -772,6 +819,7 @@ */ private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable { String metaAttrOid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// 屿§çoid String jchinesename = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName(); Map<String, DockingPreAttrRange> rangeMap = new HashMap<>(); try { @@ -779,7 +827,9 @@ condtionMa.put("jmetalistid", metaAttrOid); List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda() .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// æ ¹æ®åç±»æ¥è¯¢æ¨¡åè§å¾å¯¹è±¡ rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t)); log.info("è·å屿§ç¾å§ 屿§id------->"+metaAttrOid); //rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s ->StringUtils.isNotBlank(s.getNumText())?"":s.getNumText(), t -> t)); rangeMap=jmetaattrList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getNumText())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getNumText(), t -> t)); for (String rangeKey : range.keySet()) { DockingPreAttrRange rangeObject = new DockingPreAttrRange(); @@ -809,43 +859,42 @@ } } /** * ç»ç»æ°æ® * */ private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModel> codeWupinMap) throws VciBaseException{ try { String curUserName = AuthUtil.getUser().getUserName(); String curUserName ="28201728"; //AuthUtil.getUser().getUserName(); //ç³è¯·çæ°æ® List<DockingMainData> mainDataList=new ArrayList<DockingMainData>(); for (BaseModel dataBusinessObject : codeWupins) { String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid",""); //String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid".toUpperCase(Locale.ROOT),""); Map<String,String> dataMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); String codeclsfid=dataMap.getOrDefault("codeclsfid",""); String btmName = dataBusinessObject.getBtmname(); String oid = dataBusinessObject.getOid(); DockingPreApplyForm dockingPreApplyForm = new DockingPreApplyForm(); String dataOid = dataBusinessObject.getOid(); Map<String, String> conditionsMap = new HashMap<String, String>(); List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); //List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); // DockingPreApplyForm dockingPreApplyForm=new DockingPreApplyForm(); String apllyCode = ""; if (!CollectionUtils.isEmpty(applyFormObjects)) { /*if (!CollectionUtils.isEmpty(applyFormObjects)) { dockingPreApplyForm = applyFormObjects.get(0); apllyCode = dockingPreApplyForm.getId(); editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//ç³è¯·ååç³è¯·åå¯¹è±¡å ³ç³» } else { } else {*/ apllyCode = dockingApplyUnitCode + "-" + format; dockingPreApplyForm.setId(apllyCode); dockingPreApplyForm.setName(""); dockingPreApplyForm.setOperationType(optationtype+""); dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//è·åæ°æ®æè¿°ä¿¡æ¯ dockingPreApplyForm.setDescription(dataBusinessObject.getId());//è·åæ°æ®æè¿°ä¿¡æ¯ dockingPreApplyForm.setDataOid(oid); dockingPreApplyForm.setDataBtmName(btmName); addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//ç³è¯·ååç³è¯·åå¯¹è±¡å ³ç³» } // } codeWupinMap.put(apllyCode, dataBusinessObject);//ç³è¯·ååå¯¹åºæ°æ®å ³ç³» conditionsMap = new HashMap<String, String>(); @@ -863,6 +912,11 @@ mainData.setApplyId(apllyCode);//ç³è¯·åå· mainData.setClassName(dockingPreClassify.getNodeLinkName());//åç±»åç§° mainData.setCreateBy(curUserName);// if(optationtype==2) { String groucode=dataBusinessObject.getData().getOrDefault("GROUPCODE",""); dockingPreApplyForm.setGroupCode(groucode); mainData.setCustomCoding(groucode); } mainData.setSecretLevel("å é¨");//å¯çº§ï¼é»è®¤ä¸ºå é¨ mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//è·åè§å¾æ¨¡å mainDataList.add(mainData); @@ -917,7 +971,7 @@ //æé 模åè§å¾æ°æ® List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>(); String oid = dockingPreViewModel.getOid(); Map<String,String> dataValueMap=dataBusinessObject.getData(); Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); String codeClassifyId=dataValueMap.get("codeclsfid"); Map<String,String>conditionsMap=new HashMap<String, String>(); List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda() @@ -944,7 +998,16 @@ Object newVaue=null; if(StringUtils.isNotBlank(jtargetattrkey)){ getAttrRange(dockingPreMetaAttr);//è·ååæ®µåå¼èå´ String value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,""); String value=""; if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("name")){ value=dataBusinessObject.getName(); }else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("id")){ value=dataBusinessObject.getId(); }else if(jtargetattrkey.toLowerCase(Locale.ROOT).equals("description")){ value=dataBusinessObject.getDescription(); }else{ value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,""); } newVaue = getVaue(dockingPreMetaAttr, value); }else{ newVaue = getVaue(dockingPreMetaAttr, ""); @@ -952,6 +1015,7 @@ if(newVaue==null||"".equals(newVaue)){ newVaue= dockingPreMetaAttr.getDefaultValue(); } //newVaue= Func.isNotEmpty(newVaue)?newVaue:""; viewValueMap.put(jenglishname, newVaue); } } @@ -1017,7 +1081,7 @@ return null; }else { try { return simpleDateFormat.parse(value); return simpleDateFormat.format(simpleDateFormat.parse(value)); } catch (ParseException e) { throw new VciBaseException("date", new String[]{"æ¥ææ ¼å¼è½¬æ¢é误"}); } @@ -1028,7 +1092,7 @@ return null; }else{ try { return simpleDateFormat.parse(value); return simpleDateFormat.format(simpleDateFormat.parse(value)); } catch (ParseException e) { throw new VciBaseException("date", new String[]{"æ¥ææ ¼å¼è½¬æ¢é误"}); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,59 @@ package com.vci.ubcs.code.Scheduling; import com.vci.ubcs.code.service.ICodeDuckingSyncService; import com.vci.ubcs.code.service.UniversalInterfaceI; 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; /*** * éæä»»å¡å®æ¶å¨ * ä»ERPæ¥è¯¢åå·ä»£å·,项ç®ä»£å· * @author xj * @date 2024-01-19 */ @Component @Slf4j public class SearchDataSyncForERPScheduling { @Resource private ICodeDuckingSyncService codeDuckingSyncServiceI; @Value("${erp.item.isStart:false}") public boolean ERP_ITEM_ISSTARE; @Value("${erp.item.btmName:XHDH}") public String ERP_ITEM_BTMNAME; /** * æ¯å¦åå§åå®æäº */ public static volatile String FINISH_INIT = "false"; /** * å¨åå§åå®æåæ§è¡ */ @PostConstruct() public void onInit(){ FINISH_INIT = "true"; } //é»è®¤æ¯ååéæ§è¡æ¹æ³ @Scheduled(cron = "${dataSyncPush.cronTime:0 0/10 * * * ?}") public void scheduled() { log.info("æ§è¡ä»ERP项ç®ä»£å·/åå·ä»£å·æ°æ® start:"); log.info("æ§è¡ä¸»æ°æ®éææ°æ®æ¨é end: "+ "å¼å ³æ¯å¦å¼å¯:" +ERP_ITEM_ISSTARE); if(ERP_ITEM_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) { SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss."); String time = formatter.format(new Date()); codeDuckingSyncServiceI.saveItemDataSyncScheduing(ERP_ITEM_BTMNAME); String outInfo = "============ æ§è¡äºä»ERP项ç®ä»£å·/åå·ä»£å·æ°æ® end;"; log.info(outInfo+time); } } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java
@@ -47,5 +47,7 @@ * @return */ R sendData(String oids); void saveItemDataSyncScheduing(String btmName); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider; import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; @@ -21,19 +22,23 @@ import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; import com.vci.ubcs.code.feign.MdmSearchItemCodeProvider; import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.omd.feign.IBtmTypeClient; import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.util.HttpUtils; import com.vci.ubcs.code.util.WsErpClientUtil; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.WebUtil; import lombok.extern.slf4j.Slf4j; import org.apache.poi.util.StringUtil; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -62,6 +67,20 @@ public String DATA_PARAM_NAME; @Value("${dataSyncPush.dataId:itemid}") private String itemId; @Value("${erp.item.attrKey:xhdh}") public String attrKey; /** * ä¸å¡ç±»åçæå¡ */ @Autowired private IBtmTypeClient btmTypeClient; /** * éç¨æ¥è¯¢ */ @Resource private CommonsMapper commonsMapper; @Resource private MdmEngineService mdmEngineServiceI; @@ -84,7 +103,8 @@ private IDockingSysIntParamService dockingSysIntParamService; @Resource private IDockingSysIntHeaderService dockingSysIntHeaderService; @Autowired(required = false) private MdmSearchItemCodeProvider mdmSearchItemCodeProvider; @Override @@ -149,6 +169,74 @@ return R.success("æå¨æ¨é宿,è¯·æ ¸å¯¹æ¯å¦æ¨éæå"); } /*** * 忥åå·ä»£å· */ @Override public void saveItemDataSyncScheduing(String btmName) { SearchItemParam searchItemParam=new SearchItemParam(); searchItemParam.setSystag("CODE"); //è°ç¨ç³»ç»æ è¯ searchItemParam.setLastchangedon(new Date()); searchItemParam.setStatus("1");// SearchItemVO searchItemVO= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam); if(searchItemVO!=null) { searchItemVO.getCode(); searchItemVO.getMsg(); List<CodeClassify> codeClassifyList = codeClassifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, btmName)); try { if (CollectionUtils.isEmpty(codeClassifyList)) { throw new Throwable("åç±»æªæ¥è¯¢å°"); } CodeClassify codeClassify= codeClassifyList.get(0); List<SearchItemDataVO> dataList = searchItemVO.getData(); Map<String, SearchItemDataVO> dataVOMap = new HashMap<>(); List<String> itemCodeList = new ArrayList<>(); if (!CollectionUtils.isEmpty(dataList)) { dataList.stream().forEach(searchItemDataVO -> { String itemCode = StringUtils.isNotBlank(searchItemDataVO.getProjectitem()) ? searchItemDataVO.getProjectitem() : searchItemDataVO.getMmodelcode();//项ç®ä»£å· dataVOMap.put(itemCode, searchItemDataVO); itemCodeList.add(itemCode); }); String tableName = ""; R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(btmName); if (!r.isSuccess()) { throw new Throwable(r.getMsg()); } BtmTypeVO btmTypeVO = r.getData(); if (btmTypeVO == null) { throw new Throwable("æ ¹æ®ä¸å¡ç±»åæªæ¥è¯¢å°ä¸å¡ç±»å对象ï¼"); } tableName = btmTypeVO.getTableName(); if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) { throw new Throwable("æ ¹æ®ä¸å¡ç±»åæªæ¥è¯¢å°ä¸å¡ç±»åç¸å ³èç表"); } StringBuffer sb = new StringBuffer(); sb.append(" select * from "); sb.append(tableName); sb.append(" where 1=1"); sb.append(" and lastr=1 and lastv=1"); sb.append(" and codeclsfid = '" + codeClassify.getOid() + "'"); List<Map<String, String>> newDataList = commonsMapper.queryByOnlySqlForMap(sb.toString()); newDataList.stream().forEach(dataMap->{ String value= dataMap.getOrDefault(attrKey,""); if(dataVOMap.containsKey(attrKey)){ SearchItemDataVO searchItemDataVO=dataVOMap.get(attrKey); }else{ } }); } } catch (Throwable e){ log.error("æ¥è¯¢å¤±è´¥--->"+e); } } } /*** * æ¥è¯¢redis䏿°æ®ï¼å¯¹æ¯åæå ¥dockingtask Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -2431,41 +2431,58 @@ return codeOrderSecDTOList; } /*** * 读å屿§æ å°é ç½®ä¿¡æ¯ * @param systemId * @param libray * @param applyDatasVO * @param codeClassifyTemplateAttrVOList * @param dataObjectVO * @throws Throwable */ public void getConfigDatas(String systemId,String libray, ApplyBZDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>(); //妿尿°æ®è½¬æ¢ææéè¦çæ°æ®å¯¹è±¡ 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"); if(!CollectionUtils.isEmpty(stringStringMap)) { List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>(); try { log.info("infoï¼éè¦è¯»åé ç½®æä»¶"); LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap); List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf(); libraryClsfDOList = libraryDO.getClsf(); } catch (Throwable e) { objerrorCode = "1"; e.printStackTrace(); throw new Throwable("éæç³»ç»æ è¯ä¸ºï¼ã" + systemId + "ãï¼åç±»åºä¸º:ã" + libray + "ãçéæå±æ§é ç½®æä»¶è¯»å失败"); } String path = stringStringMap.get(systemId); if(!CollectionUtils.isEmpty(libraryClsfDOList)) { Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "ä»é ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é ç½®"); String path=stringStringMap.get(systemId); if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "å¹é å°ç¸åºç屿§æ å°ä¿¡æ¯"); List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "å¹é å°ç¸åºç屿§æ å°ä¿¡æ¯,屿§æ å°æ¡ç®æ°+" + clsfAttrMappingDOList.size()); }else{ objerrorCode = "1"; throw new Throwable("æ ¹æ®ç³»ç»æ è¯ã"+systemId+"ãæ¾å°å¯¹åºçé ç½®æä»¶:ã"+path+"ãï¼ä½æªè·åå°å¯¹åºçåºã"+libray+"ã屿§æ å°ä¿¡æ¯é ç½®"); } }else{ objerrorCode = "1"; throw new Throwable("æ ¹æ®ç³»ç»æ è¯ã" + systemId + "ãæ¾å°å¯¹åºçé ç½®æä»¶:ã" + path + "ãï¼ä½æªè·åå°å¯¹åºçåºã" + libray + "ã屿§æ å°ä¿¡æ¯é ç½®"); } }else{ objerrorCode = "1"; throw new Throwable("æªè·åå°éæå±æ§æ å°ç³»ç»é 置信æ¯"); } log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"ä»é ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é ç½® end "); }catch (Throwable e){ objerrorCode="1"; e.printStackTrace(); throw new Throwable("éæç³»ç»æ è¯ä¸ºï¼ã"+systemId+"ãï¼åç±»åºä¸º:ã"+libray+"ãçéæå±æ§é ç½®æä»¶è¯»å失败"); } LinkedList<String> rowNameList=new LinkedList<>(); LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>(); //æ ¹æ®å类模æ¿ç»ç»æ°æ® @@ -2540,7 +2557,13 @@ } /*** * æ ¹æ®å±æ§æ å°è½¬æ¢ç¼ç æéåæ®µ * 读å屿§æ å°é ç½®ä¿¡æ¯ * @param systemId * @param libray * @param applyDatasVO * @param codeClassifyTemplateAttrVOList * @param dataObjectVO * @throws Throwable */ public void getConfigDatas(String systemId,String libray, ApplyDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable { @@ -2548,35 +2571,43 @@ //妿尿°æ®è½¬æ¢ææéè¦çæ°æ®å¯¹è±¡ 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"); if(!CollectionUtils.isEmpty(stringStringMap)) { List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>(); try { log.info("infoï¼éè¦è¯»åé ç½®æä»¶"); LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap); List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf(); libraryClsfDOList = libraryDO.getClsf(); } catch (Throwable e) { objerrorCode = "1"; e.printStackTrace(); throw new Throwable("éæç³»ç»æ è¯ä¸ºï¼ã" + systemId + "ãï¼åç±»åºä¸º:ã" + libray + "ãçéæå±æ§é ç½®æä»¶è¯»å失败"); } String path = stringStringMap.get(systemId); if(!CollectionUtils.isEmpty(libraryClsfDOList)) { Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2)); log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "ä»é ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é ç½®"); String path=stringStringMap.get(systemId); if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) { log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "å¹é å°ç¸åºç屿§æ å°ä¿¡æ¯"); List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT)); propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2)); log.info("æ ¹æ®åæ°ï¼librayï¼-ã" + libray + "å¹é å°ç¸åºç屿§æ å°ä¿¡æ¯,屿§æ å°æ¡ç®æ°+" + clsfAttrMappingDOList.size()); }else{ objerrorCode = "1"; throw new Throwable("æ ¹æ®ç³»ç»æ è¯ã"+systemId+"ãæ¾å°å¯¹åºçé ç½®æä»¶:ã"+path+"ãï¼ä½æªè·åå°å¯¹åºçåºã"+libray+"ã屿§æ å°ä¿¡æ¯é ç½®"); } }else{ objerrorCode = "1"; throw new Throwable("æ ¹æ®ç³»ç»æ è¯ã" + systemId + "ãæ¾å°å¯¹åºçé ç½®æä»¶:ã" + path + "ãï¼ä½æªè·åå°å¯¹åºçåºã" + libray + "ã屿§æ å°ä¿¡æ¯é ç½®"); } }else{ objerrorCode = "1"; throw new Throwable("æªè·åå°éæå±æ§æ å°ç³»ç»é 置信æ¯"); } log.info("æ ¹æ®åæ°ï¼librayï¼-ã"+libray+"ä»é ç½®æä»¶ä¸æ¾å¯¹åºå±æ§æ å°é ç½® end "); }catch (Throwable e){ objerrorCode="1"; e.printStackTrace(); throw new Throwable("éæç³»ç»æ è¯ä¸ºï¼ã"+systemId+"ãï¼åç±»åºä¸º:ã"+libray+"ãçéæå±æ§é ç½®æä»¶è¯»å失败"); } LinkedList<String> rowNameList=new LinkedList<>(); LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>(); //æ ¹æ®å类模æ¿ç»ç»æ°æ®