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; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.vci.ubcs.code.feign.IMdmEngineClient; import com.vci.ubcs.code.applyjtcodeservice.entity.*; 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; import com.vci.ubcs.code.applyjtcodeservice.mapper.DockingPreAttrMappingMapper; import com.vci.ubcs.starter.exception.VciBaseException; 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.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; import org.springframework.transaction.annotation.Transactional; import com.vci.ubcs.starter.revision.model.BaseModel; 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.partCode:101}") public String partCoe; @Value("${docking.apply.usedFlag:false}") public boolean usedFlag; @Value("${docking.apply.unitCode:4100}") public String dockingApplyUnitCode; @Value("${docking.apply.sysName:410-MDM}") public String dockingApplySysName; @Autowired(required = false) private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider; /*** * 集团分类服务 */ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreClassifyService dockingPreClassifyService; /*** * 申请单服务 */ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreApplyFormService dockingPreApplyFormService; /*** * 模型视图单服务 */ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreViewModelService dockingPreViewModelService; /*** * 集团分类属性属性映射配置服务 */ @Autowired(required = false) private DockingPreAttrMappingMapper dockingPreAttrMappingMapper; /*** * 属性取值范围服务 */ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreAttrRangeService dockingPreAttrRangeService; /*** * 集团属性服务 */ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreMetaAttrService dockingPreMetaAttrService; @Autowired(required = false) private IMdmEngineClient mdmEngineClient; /*** * 主数据像集团申请编码 * @param oids 需要申请的数据主键数组 * @param btmName 业务类型 * @return 返回结果信息 * @throws Exception */ @Transactional(rollbackFor = VciBaseException.class) @Override public R applyGroupCode(String oids, String btmName) throws VciBaseException { if(usedFlag) { try { List updateCbos = new ArrayList(); List dockingPreAttrMappings = new ArrayList<>(); VciBaseUtil.alertNotNull(oids, "选择的数据"); VciBaseUtil.alertNotNull(btmName, "业务类型"); R> baseModelR = mdmEngineClient.selectByTypeAndOid(btmName, oids); List dataModelList = baseModelR.getData(); if (!CollectionUtils.isEmpty(dataModelList)) { DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO(); //申请单和申请单对象关系 Map addDockingPreApplyFormMap = new HashMap(); Map editDockingPreApplyFormMap = new HashMap(); Map baseModelMap = new HashMap(); //数据库不存在的 /*List 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); 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 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")) {//结果正确的情况 if (!"".equals(customCoding)) { isEditDatas = true; } } //需要修改的申请单数据 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 { writeValueAsString = mp.writeValueAsString(dataObject); 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(); String writeValueAsString = null; try { writeValueAsString = mp.writeValueAsString(dataObject); dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //如果有集团码则更新数据 if (isEditDatas) { if (baseModelMap.containsKey(applyId)) { baseModel = baseModelMap.get(applyId); Map 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().put("GROUPCODE",customCoding); updateCbos.add(baseModel);//更新数据集团code } } }); } else { res=false; 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); mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//保存数据 if(!res){ throw new VciBaseException(msg); } } return R.success("申请接口调用成功"); } catch (VciBaseException e) { return R.fail("申请接口调用失败" + e); } }else{ return R.fail("申请接口开关已关闭,不申请集团码"); } } /*** * 主数据像集团更改编码 * @param oids 需要修改的数据主键数组 * @param btmName 业务类型 * @return 返回结果信息 * @throws Throwable */ @Transactional(rollbackFor = VciBaseException.class) @Override public R receiveEditApply(String oids, String btmName) throws VciBaseException { if(!usedFlag) { log.info("更新接口功能已关闭!->"+usedFlag); R.success("更新接口功能已关闭!"); } List updateCbos = new ArrayList(); List dockingPreAttrMappings = new ArrayList<>(); VciBaseUtil.alertNotNull(oids, "选择的数据"); VciBaseUtil.alertNotNull(btmName, "业务类型"); //List codeWupins=mdmEngineService.listByIds(VciBaseUtil.str2List(oids)); List dataModelList = new ArrayList<>(); try { R> listR = mdmEngineClient.selectByTypeAndOid(btmName, oids); if(listR.getData().size() == 0){ return R.fail("为查询到相关业务数据!"); } dataModelList = listR.getData(); if (!CollectionUtils.isEmpty(dataModelList)) { DockingGroupDataVO dockingGroupDataVO = new DockingGroupDataVO(); //申请单和申请单对象关系 Map addDockingPreApplyFormMap = new HashMap(); Map editDockingPreApplyFormMap = new HashMap(); Map baseModelMap = new HashMap(); //组织数据 dockingGroupDataVO = queryApplycodeDataObjects(2, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap); DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveEditApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); if ("1".equals(resultDataObject.getCode())) {//结果正确的情况 List 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); if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { dockingPreApplyForm.setGroupCode(customCoding); } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { writeValueAsString = mp.writeValueAsString(dataObject); 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 { writeValueAsString = mp.writeValueAsString(dataObject); dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //如果有集团码则更新数据 if (isEditDatas) { if (baseModelMap.containsKey(applyId)) { BaseModel baseModel = baseModelMap.get(applyId); //BeanUtilForVCI.copyDeclaredIgnoreCase(baseModelVO, baseModel); String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); // baseModel.setId(customCoding); baseModel.getData().put("GROUPCODE", 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); mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//保存数据 } return R.success("更新接口调用成功"); } catch (VciBaseException e) { return R.fail("更新接口调用失败" + e.getMessage()); } } /*** * 获取集团模型详细信息执行保存 * @param groupClassifyId * @return * @throws VciBaseException */ @Override public R queryClassModel(String groupClassifyId) throws Throwable { log.info("获取集团模型详细信息执行保存start"); String message="执行成功!"; if(!usedFlag){ log.info("获取集团模型详细信息执行保存功能已关闭!->"+usedFlag); return R.fail("获取集团模型详细信息接口已关闭!"); } 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); return R.fail(message); }finally { log.info("获取集团模型详细信息执行保存end"); } } /*** * 从集团获取主模型信息执行保存 * @return * @throws Throwable */ @Override public R queryMdmModel() throws Throwable { String message="执行成功!"; log.info("从集团获取主模型信息执行保存接口statr"); if(!usedFlag){ log.info("从集团获取主模型信息执行保存接口功能已关闭!->"+usedFlag); return R.fail("查询模型视图接口已关闭!"); } 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 dockingClassifyVOList=dockingQueryModelVO.getData(); ListdockingPreClassifyList=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.setNodeLinkName(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 dataOids * @return 执行结果 */ @Override public R queryApplyState(String dataOids) throws VciBaseException { if(!usedFlag){ log.info("查询申请单状态接口开关已关闭"); return R.fail("查询申请单状态接口开关已关闭"); } String message="执行成功!"; log.info("查询申请单状态接口statr"); try { VciBaseUtil.alertNotNull(dataOids,"所查申请单数据主键"); VciBaseUtil.alertNotNull(dockingApplySysName,"系统标识配置:docking.apply.unitCode"); List applyIdList=new ArrayList<>(); List dockingPreApplyFormList= this.dockingPreApplyFormService.list(Wrappers.query().lambda().in(DockingPreApplyForm::getDataOid, VciBaseUtil.str2List(dataOids))); Map dockingPreApplyFormMap=new HashMap<>(); dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> { applyIdList.add(dockingPreApplyForm.getId()); dockingPreApplyFormMap.put(dockingPreApplyForm.getId(),dockingPreApplyForm); }); DockingModelQueryVO dockingModelQueryVO=new DockingModelQueryVO(); dockingModelQueryVO.setApplyNums(VciBaseUtil.array2String(applyIdList.toArray(new String[]{}))); dockingModelQueryVO.setSysName(dockingApplySysName); DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO=mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO); int code=dockingApplyFormQueryStatusVO.getCode(); String mesg=dockingApplyFormQueryStatusVO.getMsg(); if(code==1){ message=mesg; List dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData(); if(!CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) { String applyId=applyFormDataState.getApplyNum(); String state= applyFormDataState.getFormState(); String examineOpinion=applyFormDataState.getExamineOpinion(); String jmsg=getCodeState(state)+",意见:"+examineOpinion; if(dockingPreApplyFormMap.containsKey(applyId)){ DockingPreApplyForm applyFormObject=dockingPreApplyFormMap.get(applyId); applyFormObject.setMsg(jmsg); } } boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); }else{ throw new Throwable("没有获取到相关数据信息"); } }else{ 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(e.getMessage()); } log.info("查询申请单状态接口end"); return R.success(message); } /*** * 同步集团模型信息 * @param classifyId * @param operationType * @return 返回执行结果 * @throws VciBaseException */ @Override public R syncClassifyModel(String classifyId, String operationType) throws VciBaseException { if(!usedFlag){ log.info("同步集团模型信息开关已关闭"); return R.fail("同步集团模型信息开关已关闭"); } VciBaseUtil.alertNotNull(operationType,"集成操作类型"); try { if(operationType.equals("all")){ return queryMdmModel(); }else{ VciBaseUtil.alertNotNull(classifyId,"集团分类主键"); return queryClassModel(classifyId); } } catch (Throwable e) { throw new VciBaseException(e.getMessage()); } } /*** * 组织 保存数据方法 * * @param dockingQueryClassifyModelVO * @return * @throws Throwable * @throws * @throws Throwable */ private boolean saveDatas(DockingQueryClassModelVO dockingQueryClassifyModelVO) throws Throwable { try { DockingClassifyMainVO data = dockingQueryClassifyModelVO.getData(); List classList = data.getClassList(); Map>classInfoMap = data.getClassInfos(); ////initVCIInvocationInfo("1"); List 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())) { dockingPreClassify=new DockingPreClassify(); 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.setNodeLinkName(nodeLinkName); dockingPreClassify.setClassName(className); dockingPreClassifyArrayList.add(dockingPreClassify); // 获取对应的分类视图模型 if (classInfoMap.containsKey(id)) { List 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 list) throws Throwable { String nodeLinkName = jclassObject.getNodeLinkName(); try { String jclassId = com.alibaba.cloud.commons.lang.StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId(); Map jviewmodelMap = new HashMap(); //Map condtionMa = new HashMap(); // condtionMa.put("jsourceclsfid", jclassId); List dockingPreViewModelList= dockingPreViewModelService.list(Wrappers.query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassId));// 根据分类查询模型视图对象 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 = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0)==null||viewInfo.getImpactList().get(0).size()==0?"":viewInfo.getImpactList().get(0).get(0); log.info("VilewMode:-------------->视图名称:"+viewName); log.info("VilewMode:-------------->影响编码项:"+impactList); log.info("VilewMode:--------------> 集团分类主键:"+jclassId); List 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(); ListallDockingPreMetaAttrList=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 metaList, String jclassId, DockingPreViewModel jviewModelObject, String pid,ListallDockingPreMetaAttrList)throws Throwable { try { //// 根据分类查询模型视图对象 List dockingPreMetaAttrList = dockingPreMetaAttrService.selectByWrapper(Wrappers.query().lambda() .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid()) .eq(DockingPreMetaAttr:: getPid,pid)); Map jmetaattrMap = dockingPreMetaAttrList.stream().filter( 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();// 属性名称 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 range = dockingClassifyMetaAttrVO.getRange()==null?new HashMap():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 childMetaList = new ArrayList<>(); childMetaList.add(compositeMeta); getMetaAttrObject(childMetaList, jclassId,jviewModelObject, pid,allDockingPreMetaAttrList); }else{ allDockingPreMetaAttrList.add(dockingPreMetaAttr); } } } 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 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 rangeMap = new HashMap<>(); try { Map condtionMa = new HashMap(); condtionMa.put("jmetalistid", metaAttrOid); List jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.query().lambda() .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// 根据分类查询模型视图对象 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(); 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 codeWupins,Map addDockingPreApplyFormMap,Map editDockingPreApplyFormMap,Map codeWupinMap) throws VciBaseException{ try { String curUserName ="28201728"; //AuthUtil.getUser().getUserName(); //申请的数据 List mainDataList=new ArrayList(); for (BaseModel dataBusinessObject : codeWupins) { String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); //String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid".toUpperCase(Locale.ROOT),""); Map 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 conditionsMap = new HashMap(); //List applyFormObjects = dockingPreApplyFormService.list(Wrappers.query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); // DockingPreApplyForm dockingPreApplyForm=new DockingPreApplyForm(); 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.getId());//获取数据描述信息 dockingPreApplyForm.setDataOid(oid); dockingPreApplyForm.setDataBtmName(btmName); addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//申请单和申请单对象关系 // } codeWupinMap.put(apllyCode, dataBusinessObject);//申请单和对应数据关系 conditionsMap = new HashMap(); conditionsMap.put("jtargetclsfid", codeclsfid);//视图oid List dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.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.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); } //根据数据模型,组织所需要数据 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 ListgetviewInfos(int type, DockingPreClassify dockingPreClassify, BaseModel dataBusinessObject) throws Throwable{ List viewInfoList=new ArrayList<>(); String jclassOid= dockingPreClassify.getOid(); List dockingPreViewModels=new ArrayList<>(); if(type==1) { //根据分类查询模型视图对象 dockingPreViewModels= dockingPreViewModelService.list(Wrappers.query().lambda().eq(DockingPreViewModel::getSourceClassifyId,jclassOid).eq(DockingPreViewModel::getViewName,"编码视图")); }else{ //根据分类查询模型视图对象 dockingPreViewModels= dockingPreViewModelService.list(Wrappers.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> getViewValueList(DockingPreViewModel dockingPreViewModel,String jclassOid,BaseModel dataBusinessObject) throws Throwable{ //构造模型视图数据 List> viewValueList=new ArrayList>(); String oid = dockingPreViewModel.getOid(); Map dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); String codeClassifyId=dataValueMap.get("codeclsfid"); MapconditionsMap=new HashMap(); List dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.query().lambda() .eq(DockingPreAttrMapping::getSourceClassifyId, jclassOid).eq(DockingPreAttrMapping::getTargetClassifyId, codeClassifyId)); if(CollectionUtils.isEmpty(dockingPreAttrMappingList)) { return viewValueList; } Map jintegmappconfigMap=new HashMap(); for (DockingPreAttrMapping businessObject : dockingPreAttrMappingList) { jintegmappconfigMap.put(businessObject.getSourceAttrKey(), businessObject); } List dockingPreMetaAttrList= dockingPreMetaAttrService.selectByWrapper( Wrappers.query().lambda().eq(DockingPreMetaAttr::getViewModelId,dockingPreViewModel.getOid()) .eq(DockingPreMetaAttr::getSourceClassifyId,dockingPreViewModel.getSourceClassifyId())); Map viewValueMap=new HashMap(); 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=""; 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, ""); } if(newVaue==null||"".equals(newVaue)){ newVaue= dockingPreMetaAttr.getDefaultValue(); } //newVaue= Func.isNotEmpty(newVaue)?newVaue:""; viewValueMap.put(jenglishname, newVaue); } } viewValueList.add(viewValueMap); return viewValueList; } /*** * 获取属性枚举映射配置 */ Map> attrRangeMap=new HashMap>(); private void getAttrRange(DockingPreMetaAttr jmetaatter) throws Throwable{ String jmetalistoid = jmetaatter.getOid(); if(attrRangeMap.containsKey(jmetalistoid)) { return; } MapconditionsMap=new HashMap(); conditionsMap.put("jmetalistid", jmetalistoid);//视图oid List dockingPreAttrRangeList = dockingPreAttrRangeService.selectByWrapper(Wrappers.query().lambda().eq(DockingPreAttrRange::getMetaListId, jmetalistoid)); if (CollectionUtils.isEmpty(dockingPreAttrRangeList)) { return; } Map rangeMap = new HashMap(); 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 rangeMap=new HashMap(); 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.format(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.format(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; } private String getCodeState(String formState){ String msg=""; if("1".equals(formState)){ msg="集团审核中"; }else if("2".equals(formState)){ msg="驳回"; }else if("3".equals(formState)){ msg="集团审核中"; }else if("4".equals(formState)){ msg="审核结束,赋码失败"; }else if("5".equals(formState)){ msg="审核结束,赋码成功"; }else if("6".equals(formState)){ msg="待301赋码"; }else if("7".equals(formState)){ msg="已赋码"; }else if("8".equals(formState)){ msg="已赋码(沿用)"; }else if("9".equals(formState)){ msg="审核中"; } return msg; } }