¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.webservice.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.vci.ubcs.code.webservice.entity.*; |
| | | import com.vci.ubcs.code.webservice.vo.*; |
| | | import com.vci.ubcs.starter.util.MdmBtmTypeConstant; |
| | | import com.vci.ubcs.code.webservice.feign.MdmApplyGroupCodeProvider; |
| | | import com.vci.ubcs.code.webservice.mapper.DockingPreAttrMappingMapper; |
| | | import com.vci.ubcs.code.webservice.service.*; |
| | | import com.vci.ubcs.starter.exception.VciBaseException; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | 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.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /*** |
| | | * ä¸éå¢éææå¡ |
| | | * @author xiejun |
| | | * @date 2023-05-26 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class GroupMdmInterServiceImpl implements IGroupMdmInterService { |
| | | |
| | | private String code=""; |
| | | |
| | | private String msg=""; |
| | | |
| | | |
| | | @Value("${docking.apply.unitCode:41000}") |
| | | public String dockingApplyUnitCode; |
| | | |
| | | @Value("${docking.apply.sysName:410-MDM}") |
| | | public String dockingApplySysName; |
| | | |
| | | @Autowired(required = false) |
| | | private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider; |
| | | /*** |
| | | * éå¢åç±»æå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private IDockingPreClassifyService dockingPreClassifyService; |
| | | |
| | | /*** |
| | | * ç³è¯·åæå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private IDockingPreApplyFormService dockingPreApplyFormService; |
| | | |
| | | |
| | | /*** |
| | | * 模åè§å¾åæå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private IDockingPreViewModelService dockingPreViewModelService; |
| | | |
| | | |
| | | /*** |
| | | * éå¢åç±»å±æ§å±æ§æ å°é
ç½®æå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private DockingPreAttrMappingMapper dockingPreAttrMappingMapper; |
| | | /*** |
| | | * 屿§åå¼èå´æå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private IDockingPreAttrRangeService dockingPreAttrRangeService; |
| | | |
| | | |
| | | /*** |
| | | * éå¢å±æ§æå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | private IDockingPreMetaAttrService dockingPreMetaAttrService; |
| | | /*** |
| | | * ä¸»æ°æ®åéå¢ç³è¯·ç¼ç |
| | | * @param oids éè¦ç³è¯·çæ°æ®ä¸»é®æ°ç» |
| | | * @param btmName ä¸å¡ç±»å |
| | | * @return è¿åç»æä¿¡æ¯ |
| | | * @throws Exception |
| | | */ |
| | | @Transactional(rollbackFor = VciBaseException.class) |
| | | @Override |
| | | public R applyGroupCode(String oids, String btmName) throws VciBaseException { |
| | | try { |
| | | List<BaseModel> updateCbos = new ArrayList<BaseModel>(); |
| | | |
| | | List<DockingPreApplyForm> dockingPreAttrMappings = new ArrayList<>(); |
| | | VciBaseUtil.alertNotNull(oids, "éæ©çæ°æ®"); |
| | | VciBaseUtil.alertNotNull(btmName, "ä¸å¡ç±»å"); |
| | | //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids)); |
| | | List<BaseModelVO> dataModelList = new ArrayList<>(); |
| | | if (!CollectionUtils.isEmpty(dataModelList)) { |
| | | DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO(); |
| | | //ç³è¯·ååç³è¯·å对象å
³ç³» |
| | | Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); |
| | | Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); |
| | | Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>(); |
| | | //ç»ç»æ°æ® |
| | | dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap); |
| | | DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); |
| | | code = resultDataObject.getCode(); |
| | | msg = resultDataObject.getMsg(); |
| | | if ("1".equals(resultDataObject.getCode())) {//ç»ææ£ç¡®çæ
åµ |
| | | List<DockingDataVO> dataObjectVOList = resultDataObject.getData(); |
| | | dataObjectVOList.stream().forEach(dataObject -> { |
| | | boolean isEditDatas = false; |
| | | String code2 = dataObject.getCode(); |
| | | DockingMainDataVO data2 = dataObject.getData(); |
| | | String applyId = data2.getApplyId();//ç³è¯·åid |
| | | String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//éå¢ç 段 |
| | | msg = dataObject.getMsg(); |
| | | if (code2.equals("1")) {//ç»ææ£ç¡®çæ
åµ |
| | | if (!"".equals(customCoding)) { |
| | | isEditDatas = true; |
| | | } |
| | | } |
| | | //éè¦ä¿®æ¹çç³è¯·åæ°æ® |
| | | if (editDockingPreApplyFormMap.containsKey(applyId)) { |
| | | DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); |
| | | dockingPreApplyForm.setCode(code2); |
| | | dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); |
| | | dockingPreApplyForm.setGroupCode(customCoding); |
| | | ObjectMapper mp = new ObjectMapper(); |
| | | String writeValueAsString = null; |
| | | try { |
| | | writeValueAsString = mp.writeValueAsString(dataObject); |
| | | dockingPreApplyForm.setContent(writeValueAsString); |
| | | } catch (JsonProcessingException e) { |
| | | } |
| | | } |
| | | //æ°å¢çç³è¯·åæ°æ® |
| | | if (addDockingPreApplyFormMap.containsKey(applyId)) { |
| | | DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); |
| | | dockingPreApplyForm.setCode(code2); |
| | | dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); |
| | | dockingPreApplyForm.setGroupCode(customCoding); |
| | | ObjectMapper mp = new ObjectMapper(); |
| | | String writeValueAsString = null; |
| | | try { |
| | | writeValueAsString = mp.writeValueAsString(dataObject); |
| | | dockingPreApplyForm.setContent(writeValueAsString); |
| | | } catch (JsonProcessingException e) { |
| | | } |
| | | } |
| | | //妿æéå¢ç åæ´æ°æ°æ® |
| | | if (isEditDatas) { |
| | | if (baseModelVOMap.containsKey(applyId)) { |
| | | BaseModelVO baseModelVO = baseModelVOMap.get(applyId); |
| | | BaseModel baseModel = new BaseModel(); |
| | | BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); |
| | | baseModelVO.setId(customCoding); |
| | | updateCbos.add(baseModel);//æ´æ°æ°æ®éå¢code |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { |
| | | dockingPreApplyForm.setCode("2"); |
| | | dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); |
| | | dockingPreApplyForm.setContent(""); |
| | | dockingPreApplyForm.setGroupCode(""); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); |
| | | }); |
| | | addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { |
| | | dockingPreApplyForm.setCode("2"); |
| | | dockingPreApplyForm.setMsg("ç³è¯·ï¼" + msg); |
| | | dockingPreApplyForm.setContent(""); |
| | | dockingPreApplyForm.setGroupCode(""); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); |
| | | }); |
| | | } |
| | | if (editDockingPreApplyFormMap.size() > 0) { |
| | | dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//æ·»å ç³è¯·åæ°æ® |
| | | } |
| | | if (addDockingPreApplyFormMap.size() > 0) { |
| | | dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//éè¦ä¿®æ¹çç³è¯·åæ°æ® |
| | | } |
| | | //ä¿åè¡¨åæ°æ® |
| | | dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); |
| | | //mdmEngineService.saveBatch(updateCbos);//ä¿åæ°æ® |
| | | } |
| | | return R.success("ç³è¯·æ¥å£è°ç¨æå"); |
| | | }catch (VciBaseException e){ |
| | | return R.success("ç³è¯·æ¥å£è°ç¨æå"+e); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * ä¸»æ°æ®åé墿´æ¹ç¼ç |
| | | * @param oids éè¦ä¿®æ¹çæ°æ®ä¸»é®æ°ç» |
| | | * @param btmName ä¸å¡ç±»å |
| | | * @return è¿åç»æä¿¡æ¯ |
| | | * @throws Throwable |
| | | */ |
| | | @Transactional(rollbackFor = VciBaseException.class) |
| | | @Override |
| | | public R receiveEditApply(String oids, String btmName) throws VciBaseException { |
| | | List<BaseModel> updateCbos=new ArrayList<BaseModel>(); |
| | | List<DockingPreApplyForm> dockingPreAttrMappings=new ArrayList<>(); |
| | | VciBaseUtil.alertNotNull(oids,"éæ©çæ°æ®"); |
| | | VciBaseUtil.alertNotNull(btmName,"ä¸å¡ç±»å"); |
| | | //List<BaseModelVO> codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids)); |
| | | List<BaseModelVO> dataModelList = new ArrayList<>(); |
| | | try { |
| | | if (!CollectionUtils.isEmpty(dataModelList)) { |
| | | DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO(); |
| | | //ç³è¯·ååç³è¯·å对象å
³ç³» |
| | | Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); |
| | | Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); |
| | | Map<String, BaseModelVO> baseModelVOMap = new HashMap<String, BaseModelVO>(); |
| | | //ç»ç»æ°æ® |
| | | dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelVOMap); |
| | | DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO); |
| | | code = resultDataObject.getCode(); |
| | | msg = resultDataObject.getMsg(); |
| | | if ("1".equals(resultDataObject.getCode())) {//ç»ææ£ç¡®çæ
åµ |
| | | List<DockingDataVO> dataObjectVOList = resultDataObject.getData(); |
| | | dataObjectVOList.stream().forEach(dataObject -> { |
| | | boolean isEditDatas = false; |
| | | String code2 = dataObject.getCode(); |
| | | DockingMainDataVO data2 = dataObject.getData(); |
| | | String applyId = data2.getApplyId();//ç³è¯·åid |
| | | String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//éå¢ç 段 |
| | | msg = dataObject.getMsg(); |
| | | if (code2.equals("1")) {//ç»ææ£ç¡®çæ
åµ |
| | | if (!"".equals(customCoding)) { |
| | | isEditDatas = true; |
| | | } |
| | | } |
| | | //éè¦ä¿®æ¹çç³è¯·åæ°æ® |
| | | if (editDockingPreApplyFormMap.containsKey(applyId)) { |
| | | DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); |
| | | dockingPreApplyForm.setCode(code2); |
| | | dockingPreApplyForm.setMsg("ä¿®æ¹ï¼" + msg); |
| | | dockingPreApplyForm.setGroupCode(customCoding); |
| | | ObjectMapper mp = new ObjectMapper(); |
| | | String writeValueAsString = null; |
| | | try { |
| | | writeValueAsString = mp.writeValueAsString(dataObject); |
| | | dockingPreApplyForm.setContent(writeValueAsString); |
| | | } catch (JsonProcessingException e) { |
| | | } |
| | | } |
| | | //æ°å¢çç³è¯·åæ°æ® |
| | | if (addDockingPreApplyFormMap.containsKey(applyId)) { |
| | | DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); |
| | | dockingPreApplyForm.setCode(code2); |
| | | dockingPreApplyForm.setMsg("ä¿®æ¹ï¼" + msg); |
| | | dockingPreApplyForm.setGroupCode(customCoding); |
| | | ObjectMapper mp = new ObjectMapper(); |
| | | String writeValueAsString = null; |
| | | try { |
| | | writeValueAsString = mp.writeValueAsString(dataObject); |
| | | dockingPreApplyForm.setContent(writeValueAsString); |
| | | } catch (JsonProcessingException e) { |
| | | } |
| | | } |
| | | //妿æéå¢ç åæ´æ°æ°æ® |
| | | if (isEditDatas) { |
| | | if (baseModelVOMap.containsKey(applyId)) { |
| | | BaseModelVO baseModelVO = baseModelVOMap.get(applyId); |
| | | BaseModel baseModel = new BaseModel(); |
| | | BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); |
| | | baseModelVO.setId(customCoding); |
| | | updateCbos.add(baseModel);//æ´æ°æ°æ®éå¢code |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { |
| | | dockingPreApplyForm.setCode("2"); |
| | | dockingPreApplyForm.setMsg("ä¿®æ¹ï¼" + msg); |
| | | dockingPreApplyForm.setContent(""); |
| | | dockingPreApplyForm.setGroupCode(""); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); |
| | | }); |
| | | addDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { |
| | | dockingPreApplyForm.setCode("2"); |
| | | dockingPreApplyForm.setMsg("ä¿®æ¹ï¼" + msg); |
| | | dockingPreApplyForm.setContent(""); |
| | | dockingPreApplyForm.setGroupCode(""); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); |
| | | }); |
| | | } |
| | | if (editDockingPreApplyFormMap.size() > 0) { |
| | | dockingPreAttrMappings.addAll(editDockingPreApplyFormMap.values());//æ·»å ç³è¯·åæ°æ® |
| | | } |
| | | if (addDockingPreApplyFormMap.size() > 0) { |
| | | dockingPreAttrMappings.addAll(addDockingPreApplyFormMap.values());//éè¦ä¿®æ¹çç³è¯·åæ°æ® |
| | | } |
| | | //ä¿åè¡¨åæ°æ® |
| | | dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); |
| | | //mdmEngineService.saveBatch(updateCbos);//ä¿åæ°æ® |
| | | } |
| | | return R.success("ç³è¯·æ¥å£è°ç¨æå"); |
| | | }catch (VciBaseException e){ |
| | | return R.fail("ç³è¯·æ¥å£è°ç¨å¤±è´¥"+e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * è·åé墿¨¡å详ç»ä¿¡æ¯æ§è¡ä¿å |
| | | * @param groupClassifyId |
| | | * @return |
| | | * @throws VciBaseException |
| | | */ |
| | | @Override |
| | | public R queryClassModel(String groupClassifyId) throws VciBaseException { |
| | | log.info("è·åé墿¨¡å详ç»ä¿¡æ¯æ§è¡ä¿åstart"); |
| | | String message="æ§è¡æåï¼"; |
| | | try { |
| | | if (StringUtils.isBlank(groupClassifyId)) { |
| | | message = "åæ°ï¼éå¢å类主é®ï¼ä¸ºç©º!"; |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | if (StringUtils.isBlank(dockingApplySysName)) { |
| | | message = "è·åç³»ç»æ è¯" + dockingApplySysName + "为空ï¼è¯·æ¥çé
ç½®ï¼"; |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO(); |
| | | dockingModelQueryVO.setClassId(groupClassifyId); |
| | | dockingModelQueryVO.setSysName(dockingApplySysName); |
| | | DockingQueryClassModelVO dockingQueryClassifyModelVO = mdmApplyGroupCodeProvider.queryClassModel(dockingModelQueryVO); |
| | | if (dockingQueryClassifyModelVO != null) { |
| | | int code = dockingQueryClassifyModelVO.getCode(); |
| | | message = dockingQueryClassifyModelVO.getMsg(); |
| | | if (code == 1) { |
| | | this.saveDatas(dockingQueryClassifyModelVO); |
| | | } else { |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | }else{ |
| | | message="æªè·ä»éå¢è·åå°ä»»ä½æ¨¡åä¿¡æ¯"; |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | return R.success(message); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace();; |
| | | log.error("è·åæ°æ®æ¨¡å详ç»ä¿¡æ¯å¤±è´¥"+e); |
| | | R.fail(message); |
| | | } |
| | | log.info("è·åé墿¨¡å详ç»ä¿¡æ¯æ§è¡ä¿åend"); |
| | | return R.success(message); |
| | | } |
| | | |
| | | /*** |
| | | * ä»éå¢è·å主模åä¿¡æ¯æ§è¡ä¿å |
| | | * @return |
| | | * @throws Throwable |
| | | */ |
| | | @Override |
| | | public R queryMdmModel() throws Throwable { |
| | | String message="æ§è¡æåï¼"; |
| | | log.info("ä»éå¢è·å主模åä¿¡æ¯æ§è¡ä¿åæ¥å£statr"); |
| | | try { |
| | | if (StringUtils.isBlank(dockingApplySysName)) { |
| | | message = "è·åç³»ç»æ è¯" + dockingApplySysName + "为空ï¼è¯·æ¥çé
ç½®ï¼"; |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | |
| | | DockingModelQueryVO dockingModelQueryVO = new DockingModelQueryVO(); |
| | | dockingModelQueryVO.setSysName(dockingApplySysName); |
| | | DockingQueryModelVO dockingQueryModelVO= mdmApplyGroupCodeProvider.queryMdmModel(dockingModelQueryVO); |
| | | if (dockingQueryModelVO != null) { |
| | | int code = dockingQueryModelVO.getCode(); |
| | | message = dockingQueryModelVO.getMsg(); |
| | | if (code == 1) { |
| | | List<DockingClassifyVO> dockingClassifyVOList=dockingQueryModelVO.getData(); |
| | | List<DockingPreClassify>dockingPreClassifyList=new ArrayList<>(); |
| | | dockingClassifyVOList.stream().forEach(dockingClassifyVO -> { |
| | | String id = StringUtils.isBlank(dockingClassifyVO.getId())?"":dockingClassifyVO.getId(); |
| | | String className = StringUtils.isBlank(dockingClassifyVO.getClassName())?"":dockingClassifyVO.getClassName(); |
| | | String classNumber = StringUtils.isBlank(dockingClassifyVO.getClassNumber())?"":dockingClassifyVO.getClassNumber(); |
| | | String nodeLink = StringUtils.isBlank(dockingClassifyVO.getNodeLink())?"":dockingClassifyVO.getNodeLink(); |
| | | String nodeLinkName = StringUtils.isBlank(dockingClassifyVO.getNodeLinkName())?"":dockingClassifyVO.getNodeLinkName(); |
| | | String pid = StringUtils.isBlank(dockingClassifyVO.getPid())?"":dockingClassifyVO.getPid(); |
| | | String version = StringUtils.isBlank(dockingClassifyVO.getVersion())?"":dockingClassifyVO.getVersion(); |
| | | DockingPreClassify dockingPreClassify= this.dockingPreClassifyService.getById(id); |
| | | |
| | | log.info("classify:-------------->éå¢å类主æº:"+id); |
| | | log.info("classify:-------------->éå¢åç±»åç§°:"+className); |
| | | log.info("classify:--------------> éå¢åç±»ç¶èç¹:"+pid); |
| | | log.info("classify:-------------->龿¥:"+nodeLink); |
| | | log.info("classify:-------------->éå¢å类代å·:"+classNumber); |
| | | log.info("classify:-------------->龿¥åç§°:"+nodeLinkName); |
| | | log.info("classify:-------------->龿¥çæ¬:"+version); |
| | | if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) { |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY); |
| | | } else { |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify); |
| | | } |
| | | dockingPreClassify.setOid(id); |
| | | dockingPreClassify.setName(className); |
| | | dockingPreClassify.setPid(pid); |
| | | dockingPreClassify.setId(classNumber); |
| | | dockingPreClassify.setNodeLink(nodeLink); |
| | | dockingPreClassify.setGetNodeLinkName(nodeLinkName); |
| | | dockingPreClassify.setClassName(className); |
| | | dockingPreClassify.setVersionValue(version); |
| | | dockingPreClassifyList.add(dockingPreClassify); |
| | | }); |
| | | boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyList); |
| | | if(res){ |
| | | R.success(message); |
| | | }else{ |
| | | message="ä¿åå类主模å失败"; |
| | | throw new Throwable(message); |
| | | } |
| | | } else { |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | }else{ |
| | | message="æªè·ä»éå¢è·åå°ä»»ä½æ¨¡åä¿¡æ¯"; |
| | | log.info(message); |
| | | throw new Throwable(message); |
| | | } |
| | | return R.success(message); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace();; |
| | | log.error("è·åæ°æ®æ¨¡å失败"+e); |
| | | R.fail(message); |
| | | } |
| | | log.info("ä»éå¢è·å主模åä¿¡æ¯æ§è¡ä¿åæ¥å£end"); |
| | | return R.success(message); |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * ç»ç» ä¿åæ°æ®æ¹æ³ |
| | | * |
| | | * @param dockingQueryClassifyModelVO |
| | | * @return |
| | | * @throws Throwable |
| | | * @throws |
| | | * @throws Throwable |
| | | */ |
| | | private boolean saveDatas(DockingQueryClassModelVO dockingQueryClassifyModelVO) throws Throwable { |
| | | try { |
| | | DockingClassifyMainVO mainData = dockingQueryClassifyModelVO.getMainData(); |
| | | List<DockingClassifyVO> classList = mainData.getClassList(); |
| | | Map<String,List<DockingClassifyViewVO>>classInfoMap = mainData.getClassInfos(); |
| | | ////initVCIInvocationInfo("1"); |
| | | List<DockingPreClassify> dockingPreClassifyArrayList=new ArrayList<>(); |
| | | for (DockingClassifyVO jclassObject : classList) { |
| | | String id =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId(); |
| | | String className = StringUtils.isBlank(jclassObject.getClassName())?"":jclassObject.getClassName(); |
| | | String pid = StringUtils.isBlank(jclassObject.getPid())?"":jclassObject.getPid(); |
| | | String nodeLink = StringUtils.isBlank(jclassObject.getNodeLink())?"":jclassObject.getNodeLink(); |
| | | String nodeLinkName = StringUtils.isBlank(jclassObject.getNodeLinkName())?"":jclassObject.getNodeLinkName(); |
| | | String classNumber = StringUtils.isBlank(jclassObject.getClassNumber())?"":jclassObject.getClassNumber(); |
| | | //æ ¹æ®åç±»æ¥è¯¢æ¨¡åè§å¾å¯¹è±¡ |
| | | DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(id); |
| | | log.info("classify:-------------->éå¢å类主æº:"+id); |
| | | log.info("classify:-------------->éå¢åç±»åç§°:"+className); |
| | | log.info("classify:--------------> éå¢åç±»ç¶èç¹:"+pid); |
| | | log.info("classify:-------------->龿¥:"+nodeLink); |
| | | log.info("classify:-------------->龿¥åç§°:"+nodeLinkName); |
| | | |
| | | if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) { |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY); |
| | | } else { |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify); |
| | | } |
| | | dockingPreClassify.setOid(id); |
| | | dockingPreClassify.setName(className); |
| | | dockingPreClassify.setPid(pid); |
| | | dockingPreClassify.setId(classNumber); |
| | | dockingPreClassify.setNodeLink(nodeLink); |
| | | dockingPreClassify.setGetNodeLinkName(nodeLinkName); |
| | | dockingPreClassify.setClassName(className); |
| | | dockingPreClassifyArrayList.add(dockingPreClassify); |
| | | // è·å对åºçåç±»è§å¾æ¨¡å |
| | | if (classInfoMap.containsKey(id)) { |
| | | List<DockingClassifyViewVO> list = classInfoMap.get(id); |
| | | getVilewMode(jclassObject,list); |
| | | } |
| | | } |
| | | boolean res= dockingPreClassifyService.saveOrUpdateBatch(dockingPreClassifyArrayList); |
| | | return res; |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | throw new Throwable("åå¨è§å¾æ¨¡ååºç°é®é¢"); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * è·ååç±»è§å¾ |
| | | * |
| | | * @param jclassObject |
| | | * @throws Throwable |
| | | */ |
| | | private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) |
| | | throws Throwable { |
| | | String nodeLinkName = jclassObject.getNodeLinkName(); |
| | | try { |
| | | String jclassId = com.alibaba.cloud.commons.lang.StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId(); |
| | | Map<String, DockingPreViewModel> jviewmodelMap = new HashMap<String, DockingPreViewModel>(); |
| | | //Map<String, String> condtionMa = new HashMap<String, String>(); |
| | | // condtionMa.put("jsourceclsfid", jclassId); |
| | | List<DockingPreViewModel> dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,false));// æ ¹æ®åç±»æ¥è¯¢æ¨¡åè§å¾å¯¹è±¡ |
| | | for (DockingPreViewModel dockingPreViewModel : dockingPreViewModelList) { |
| | | jviewmodelMap.put(dockingPreViewModel.getViewName(),dockingPreViewModel); |
| | | } |
| | | |
| | | for (DockingClassifyViewVO viewInfo : list) { |
| | | String viewName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName(); |
| | | String impactList = com.alibaba.cloud.commons.lang.StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList(); |
| | | log.info("VilewMode:-------------->è§å¾åç§°:"+viewName); |
| | | log.info("VilewMode:-------------->å½±åç¼ç 项:"+impactList); |
| | | log.info("VilewMode:--------------> éå¢å类主é®:"+jclassId); |
| | | List<DockingClassifyMetaAttrVO> metaList = viewInfo.getMetaList(); |
| | | DockingPreViewModel jviewModelObject = null; |
| | | if (jviewmodelMap.containsKey(viewName)) { |
| | | jviewModelObject = jviewmodelMap.get(viewName); |
| | | //å½±åç¼ç é¡¹çæ°æ® |
| | | jviewModelObject.setImpactList(impactList); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject); |
| | | } else { |
| | | jviewModelObject =new DockingPreViewModel(); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL); |
| | | jviewModelObject.setSourceClassifyId(jclassId);// éå¢åç±»id |
| | | jviewModelObject.setViewName(viewName);// éå¢è§å¾åç§° |
| | | //å½±åç¼ç é¡¹çæ°æ® |
| | | jviewModelObject.setImpactList(impactList); |
| | | dockingPreViewModelList.add(jviewModelObject); |
| | | } |
| | | // è·å模åè§å¾ä¸ç屿§é |
| | | // String oid = jviewModelObject.getOid(); |
| | | List<DockingPreMetaAttr>allDockingPreMetaAttrList=new ArrayList<>(); |
| | | getMetaAttrObject(metaList, jclassId, jviewModelObject, "root",allDockingPreMetaAttrList); |
| | | //ä¿å模åè§å¾å±æ§ |
| | | dockingPreMetaAttrService.saveOrUpdateBatch(allDockingPreMetaAttrList); |
| | | //ä¿å模åè§å¾ |
| | | dockingPreViewModelService.saveOrUpdateBatch(dockingPreViewModelList); |
| | | } |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | throw new Throwable("ç»ç»åç±»" + nodeLinkName + "模åè§å¾åå¨åºç°é®é¢"); |
| | | } |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * è·å模åè§å¾å±æ§ |
| | | * @throws Throwable |
| | | */ |
| | | private void getMetaAttrObject(List<DockingClassifyMetaAttrVO> metaList, |
| | | String jclassId, DockingPreViewModel jviewModelObject, String pid,List<DockingPreMetaAttr>allDockingPreMetaAttrList)throws Throwable { |
| | | try { |
| | | //// æ ¹æ®åç±»æ¥è¯¢æ¨¡åè§å¾å¯¹è±¡ |
| | | List<DockingPreMetaAttr> dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.<DockingPreMetaAttr>query().lambda() |
| | | .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)); |
| | | |
| | | for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) { |
| | | String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 屿§åç§° |
| | | String englishName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getEnglishName())?"":dockingClassifyMetaAttrVO.getEnglishName();// è±æåç§° |
| | | String defaultValue = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getDefaultValue())?"":dockingClassifyMetaAttrVO.getDefaultValue(); |
| | | Integer metadataType =dockingClassifyMetaAttrVO.getMetadataType();// ç±»å |
| | | Integer necessaryConf = dockingClassifyMetaAttrVO.getNecessaryConf();// æ¯å¦å¿
å¡« |
| | | Map<String, String> range = dockingClassifyMetaAttrVO.getRange()==null?new HashMap<String, String>():dockingClassifyMetaAttrVO.getRange();// åå¼èå´ |
| | | |
| | | log.info("metaAttr:-------------->屿§åç§°:"+chineseName); |
| | | log.info("metaAttr:-------------->è±æåç§°:"+englishName); |
| | | log.info("metaAttr:-------------->é»è®¤å¼:"+defaultValue); |
| | | log.info("metaAttr:--------------> ç±»å:"+metadataType); |
| | | log.info("metaAttr:--------------> æ¯å¦å¿
å¡«:"+necessaryConf); |
| | | DockingPreMetaAttr dockingPreMetaAttr = new DockingPreMetaAttr(); |
| | | if (jmetaattrMap.containsKey(englishName)) { |
| | | dockingPreMetaAttr = jmetaattrMap.get(englishName); |
| | | dockingPreMetaAttr.setChineseName(chineseName); |
| | | dockingPreMetaAttr.setDefaultValue(defaultValue); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr); |
| | | } else { |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR); |
| | | dockingPreMetaAttr.setSourceClassifyId(jclassId);// éå¢åç±»id |
| | | dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// éå¢è§å¾æ¨¡åid |
| | | dockingPreMetaAttr.setChineseName(chineseName);// 屿§åç§° |
| | | dockingPreMetaAttr.setEnglishName(englishName);// 屿§å段 |
| | | dockingPreMetaAttr.setDefaultValue(defaultValue);// 屿§åç§° |
| | | dockingPreMetaAttr.setMetaDataType(metadataType);// 屿§ç±»å |
| | | dockingPreMetaAttr.setNecesSaryConf(necessaryConf);// 屿§å¿
填项 |
| | | dockingPreMetaAttr.setPid(pid);// ç¶èç¹id |
| | | } |
| | | if(range!=null&&range.size()>0){ |
| | | // è·å屿§å¼å |
| | | getRange(dockingPreMetaAttr, range); |
| | | } |
| | | /*** |
| | | * è·ååèç¹ |
| | | */ |
| | | DockingClassifyMetaAttrVO compositeMeta = dockingClassifyMetaAttrVO.getCompositeMeta(); |
| | | if (compositeMeta != null) { |
| | | pid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingPreMetaAttr.getOid())?"":dockingPreMetaAttr.getOid();// å½åoid |
| | | List<DockingClassifyMetaAttrVO> childMetaList = new ArrayList<>(); |
| | | childMetaList.add(compositeMeta); |
| | | getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList); |
| | | } |
| | | |
| | | } |
| | | |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | log.error("ç»ç»æ¨¡åè§å¾"+ jviewModelObject.getViewName() |
| | | + "屿§åå¨åºç°é®é¢" + e); |
| | | throw new Throwable("ç»ç»æ¨¡åè§å¾"+ jviewModelObject.getViewName() |
| | | + "屿§åå¨åºç°é®é¢" + e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @throws Throwable |
| | | * * è·åå¼å |
| | | * @param metaAttrObject |
| | | * @param range |
| | | * @throws |
| | | */ |
| | | 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 { |
| | | Map<String, String> condtionMa = new HashMap<String, String>(); |
| | | 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)); |
| | | |
| | | for (String rangeKey : range.keySet()) { |
| | | DockingPreAttrRange rangeObject = new DockingPreAttrRange(); |
| | | String keyValue = com.alibaba.cloud.commons.lang.StringUtils.isBlank(range.get(rangeKey))?"":range.get(rangeKey); |
| | | log.info("range:-------------->æ¾ç¤ºå¼"+rangeKey+",å
é¨å¼"+keyValue); |
| | | if (rangeMap.containsKey(rangeKey)) { |
| | | rangeObject = rangeMap.get(rangeKey); |
| | | rangeObject.setNumTextValue(keyValue); |
| | | rangeObject.setNumText(rangeKey); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject); |
| | | } else { |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE); |
| | | rangeObject.setNumTextValue(keyValue); |
| | | rangeObject.setNumText(rangeKey); |
| | | rangeObject.setTs(rangeObject.getLastModifyTime()); |
| | | rangeObject.setMetaListId(metaAttrOid); |
| | | log.info("range:-------------->屿§å
é¨å¼:"+metaAttrOid); |
| | | log.info("range:-------------->æ¶é´:"+rangeObject.getLastModifyTime()); |
| | | jmetaattrList.add(rangeObject); |
| | | } |
| | | } |
| | | dockingPreAttrRangeService.saveOrUpdateBatch(jmetaattrList); |
| | | } catch (Throwable e) { |
| | | e.printStackTrace(); |
| | | log.info("ç»ç»å±æ§ï¼ã" + jchinesename + "ãå¼ååºç°é®é¢"+ e); |
| | | throw new Throwable("ç»ç»å±æ§ï¼ã" + jchinesename + "ãå¼ååºç°é®é¢"+ e); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * ç»ç»æ°æ® |
| | | * */ |
| | | private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModelVO> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModelVO> codeWupinMap) throws VciBaseException{ |
| | | try { |
| | | String curUserName = AuthUtil.getUser().getUserName(); |
| | | //ç³è¯·çæ°æ® |
| | | List<DockingMainData> mainDataList=new ArrayList<DockingMainData>(); |
| | | for (BaseModelVO dataBusinessObject : codeWupins) { |
| | | String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); |
| | | String codeclsfid = dataBusinessObject.getData().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)); |
| | | String apllyCode = ""; |
| | | if (!CollectionUtils.isEmpty(applyFormObjects)) { |
| | | dockingPreApplyForm = applyFormObjects.get(0); |
| | | apllyCode = dockingPreApplyForm.getId(); |
| | | editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//ç³è¯·ååç³è¯·å对象å
³ç³» |
| | | } else { |
| | | apllyCode = dockingApplyUnitCode + "-" + format; |
| | | dockingPreApplyForm.setId(apllyCode); |
| | | dockingPreApplyForm.setName(""); |
| | | dockingPreApplyForm.setOperationType(optationtype+""); |
| | | dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//è·åæ°æ®æè¿°ä¿¡æ¯ |
| | | dockingPreApplyForm.setDataOid(oid); |
| | | dockingPreApplyForm.setDataBtmName(btmName); |
| | | addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//ç³è¯·ååç³è¯·å对象å
³ç³» |
| | | } |
| | | |
| | | codeWupinMap.put(apllyCode, dataBusinessObject);//ç³è¯·ååå¯¹åºæ°æ®å
³ç³» |
| | | conditionsMap = new HashMap<String, String>(); |
| | | conditionsMap.put("jtargetclsfid", codeclsfid);//è§å¾oid |
| | | |
| | | List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId, codeclsfid)); |
| | | if (CollectionUtils.isEmpty(dockingPreAttrMappingList)) { |
| | | throw new Exception("æ ¹æ®æéçæ°æ®ï¼æ²¡ææ¾å°å¯¹åºçéå¢å类设置ï¼è¯·æ ¸å¯¹!"); |
| | | } |
| | | String jsourceclsfid = dockingPreAttrMappingList.get(0).getSourceClassifyId(); |
| | | //è·åæ°æ®æ¨¡ååç±»ä¿¡æ¯ |
| | | DockingPreClassify dockingPreClassify = dockingPreClassifyService.getById(jsourceclsfid); |
| | | DockingMainData mainData = new DockingMainData(); |
| | | mainData.setApplyEntId(dockingApplyUnitCode);//ç³è¯·åä½ä»£ç |
| | | mainData.setApplyId(apllyCode);//ç³è¯·åå· |
| | | mainData.setClassName(dockingPreClassify.getGetNodeLinkName());//åç±»åç§° |
| | | mainData.setCreateBy(curUserName);// |
| | | mainData.setSecretLevel("å
é¨");//å¯çº§ï¼é»è®¤ä¸ºå
é¨ |
| | | mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//è·åè§å¾æ¨¡å |
| | | mainDataList.add(mainData); |
| | | } |
| | | //æ ¹æ®æ°æ®æ¨¡åï¼ç»ç»æéè¦æ°æ® |
| | | DockingGroupDataVO postParameters=new DockingGroupDataVO(); |
| | | postParameters.setSysName(dockingApplySysName);//ç³»ç»æ è¯ |
| | | postParameters.setMainData(mainDataList);// |
| | | return postParameters; |
| | | } catch (Throwable e) { |
| | | // TODO Auto-generated catch block |
| | | throw new VciBaseException("æ¥è¯¢æ°æ®åºé"+e); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·å模åè§å¾ |
| | | * @param dockingPreClassify |
| | | * @param dataBusinessObject |
| | | * @throws VciBaseException |
| | | */ |
| | | private List<DockingViewVO>getviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModelVO dataBusinessObject) throws Throwable{ |
| | | List<DockingViewVO> viewInfoList=new ArrayList<>(); |
| | | String jclassOid= dockingPreClassify.getOid(); |
| | | List<DockingPreViewModel> dockingPreViewModels=new ArrayList<>(); |
| | | if(type==1) { |
| | | //æ ¹æ®åç±»æ¥è¯¢æ¨¡åè§å¾å¯¹è±¡ |
| | | dockingPreViewModels= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassOid).eq(DockingPreViewModel::getViewName,"ç¼ç è§å¾")); |
| | | }else{ |
| | | //æ ¹æ®åç±»æ¥è¯¢æ¨¡åè§å¾å¯¹è±¡ |
| | | dockingPreViewModels= dockingPreViewModelService.list(Wrappers.<DockingPreViewModel>query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassOid)); |
| | | } |
| | | for (DockingPreViewModel dockingPreViewModel : dockingPreViewModels) { |
| | | //ç»ç»æ°æ®å±æ§ä¿¡æ¯ |
| | | DockingViewVO viewInfo=new DockingViewVO(); |
| | | viewInfo.setViewName(dockingPreViewModel.getViewName());//è§å¾åç§° |
| | | viewInfo.setViewValue(getViewValueList(dockingPreViewModel,jclassOid,dataBusinessObject));//è§å¾ |
| | | viewInfoList.add(viewInfo); |
| | | } |
| | | return viewInfoList; |
| | | } |
| | | |
| | | /*** |
| | | * è·åé
ç½®ä¿¡æ¯ |
| | | * @param dockingPreViewModel |
| | | * @param jclassOid |
| | | * @param dataBusinessObject |
| | | * @return |
| | | * @throws VciBaseException |
| | | */ |
| | | private List<Map<String, Object>> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModelVO dataBusinessObject) throws Throwable{ |
| | | //æé 模åè§å¾æ°æ® |
| | | List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>(); |
| | | String oid = dockingPreViewModel.getOid(); |
| | | Map<String,String> dataValueMap=dataBusinessObject.getData(); |
| | | String codeClassifyId=dataValueMap.get("codeclsfid"); |
| | | Map<String,String>conditionsMap=new HashMap<String, String>(); |
| | | |
| | | |
| | | |
| | | List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda() |
| | | .eq(DockingPreAttrMapping::getSourceClassifyId, jclassOid).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId)); |
| | | if(CollectionUtils.isEmpty(dockingPreAttrMappingList)) { |
| | | return viewValueList; |
| | | } |
| | | |
| | | Map<String,DockingPreAttrMapping> jintegmappconfigMap=new HashMap<String, DockingPreAttrMapping>(); |
| | | for (DockingPreAttrMapping businessObject : dockingPreAttrMappingList) { |
| | | jintegmappconfigMap.put(businessObject.getSourceAttrKey(), businessObject); |
| | | } |
| | | List<DockingPreMetaAttr> dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper( |
| | | Wrappers.<DockingPreMetaAttr>query().lambda().eq(DockingPreMetaAttr::getViewModelId,dockingPreViewModel.getOid()) |
| | | .eq(DockingPreMetaAttr::getSourceClassifyId,dockingPreViewModel.getSourceClassifyId())); |
| | | |
| | | Map<String,Object> viewValueMap=new HashMap<String,Object>(); |
| | | for (DockingPreMetaAttr dockingPreMetaAttr : dockingPreMetaAttrList) { |
| | | String jenglishname=dockingPreMetaAttr.getEnglishName();////éå¢é
ç½®å±æ§ |
| | | if(jintegmappconfigMap.containsKey(jenglishname)){ |
| | | DockingPreAttrMapping dockingPreAttrMapping=jintegmappconfigMap.get(jenglishname); |
| | | String attrId = dockingPreAttrMapping.getTargetAttrId();//ç¼ç 屿§id |
| | | String jtargetattrkey = dockingPreAttrMapping.getTargetAttrKey();//ç¼ç 屿§id |
| | | Object newVaue=null; |
| | | if(StringUtils.isNotBlank(jtargetattrkey)){ |
| | | getAttrRange(dockingPreMetaAttr);//è·ååæ®µåå¼èå´ |
| | | String value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,""); |
| | | newVaue = getVaue(dockingPreMetaAttr, value); |
| | | }else{ |
| | | newVaue = getVaue(dockingPreMetaAttr, ""); |
| | | } |
| | | if(newVaue==null||"".equals(newVaue)){ |
| | | newVaue= dockingPreMetaAttr.getDefaultValue(); |
| | | } |
| | | viewValueMap.put(jenglishname, newVaue); |
| | | } |
| | | } |
| | | |
| | | viewValueList.add(viewValueMap); |
| | | return viewValueList; |
| | | } |
| | | |
| | | /*** |
| | | * è·å屿§æä¸¾æ å°é
ç½® |
| | | */ |
| | | Map<String,Map<String, DockingPreAttrRange>> attrRangeMap=new HashMap<String, Map<String,DockingPreAttrRange>>(); |
| | | private void getAttrRange(DockingPreMetaAttr jmetaatter) throws Throwable{ |
| | | |
| | | String jmetalistoid = jmetaatter.getOid(); |
| | | if(attrRangeMap.containsKey(jmetalistoid)) { |
| | | return; |
| | | } |
| | | Map<String,String>conditionsMap=new HashMap<String, String>(); |
| | | conditionsMap.put("jmetalistid", jmetalistoid);//è§å¾oid |
| | | List<DockingPreAttrRange> dockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda().eq(DockingPreAttrRange::getMetaListId, jmetalistoid)); |
| | | if (CollectionUtils.isEmpty(dockingPreAttrRangeList)) { |
| | | return; |
| | | } |
| | | Map<String, DockingPreAttrRange> rangeMap = new HashMap<String, DockingPreAttrRange>(); |
| | | rangeMap = dockingPreAttrRangeList.stream().collect(Collectors.toMap(s -> s.getNumTextValue(), t -> t, (o1, o2) -> o2)); |
| | | attrRangeMap.put(jmetalistoid, rangeMap); |
| | | |
| | | } |
| | | /**** |
| | | * å¼ç±»åè½¬æ¢ |
| | | * @param jmetaatter |
| | | * @param value |
| | | * @return |
| | | * @throws Throwable |
| | | */ |
| | | private Object getVaue(DockingPreMetaAttr jmetaatter,String value) throws Throwable{ |
| | | //jmetadatatype å
æ°æ®ç±»åï¼1 å符å, 2 æ´å, 3 é¿æ´å, 4 å精度, 5 å精度,6 æ¥æå, 7 æ¶é´å, 8 å¸å°å, 9 æä»¶, 10å¤ååï¼ |
| | | int jmetadatatype = jmetaatter.getMetaDataType(); |
| | | String jmetalistoid = jmetaatter.getOid(); |
| | | Map<String, DockingPreAttrRange> rangeMap=new HashMap<String, DockingPreAttrRange>(); |
| | | if(attrRangeMap.containsKey(jmetalistoid)){ |
| | | rangeMap = attrRangeMap.get(jmetalistoid); |
| | | if(rangeMap.containsKey(value)){ |
| | | DockingPreAttrRange dockingPreAttrRange = rangeMap.get(value); |
| | | value=dockingPreAttrRange.getNumText();//å°ç¼ç 屿§åå¼è½¬æ¢æéå¢å¯¹åºçåå¼ |
| | | } |
| | | } |
| | | |
| | | if(jmetadatatype==1){//1 å符å |
| | | return StringUtils.isBlank(value)?"":value; |
| | | }else if(jmetadatatype==2){//2 æ´å |
| | | return StringUtils.isBlank(value)?null:Integer.parseInt(value); |
| | | }else if(jmetadatatype==3){//3 é¿æ´å |
| | | return StringUtils.isBlank(value)?null:Long.parseLong(value); |
| | | }else if(jmetadatatype==4){//4 å精度, |
| | | return StringUtils.isBlank(value)?null:Float.parseFloat(value); |
| | | }else if(jmetadatatype==5){// 5 å精度 |
| | | return StringUtils.isBlank(value)?null:Double.parseDouble(value); |
| | | }else if(jmetadatatype==6){//6 æ¥æå |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd"); |
| | | if(StringUtils.isBlank(value)) { |
| | | return null; |
| | | }else { |
| | | try { |
| | | return simpleDateFormat.parse(value); |
| | | } catch (ParseException e) { |
| | | throw new VciBaseException("date", new String[]{"æ¥ææ ¼å¼è½¬æ¢é误"}); |
| | | } |
| | | } |
| | | }else if(jmetadatatype==7){//7 æ¶é´å |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss"); |
| | | if(StringUtils.isBlank(value)) { |
| | | return null; |
| | | }else{ |
| | | try { |
| | | return simpleDateFormat.parse(value); |
| | | } catch (ParseException e) { |
| | | throw new VciBaseException("date", new String[]{"æ¥ææ ¼å¼è½¬æ¢é误"}); |
| | | } |
| | | } |
| | | }else if(jmetadatatype==8){//8 å¸å°å |
| | | return value; |
| | | }else if(jmetadatatype==9){//9 æä»¶, |
| | | return value; |
| | | }else if(jmetadatatype==10){//10å¤åå |
| | | return value;//符å忝ä»ä¹ä¸ä¸å¦ä½å¤ç |
| | | } |
| | | return value; |
| | | } |
| | | } |