| | |
| | | package com.vci.ubcs.code.applyjtcodeservice.feigh; |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.vci.ubcs.code.applyjtcodeservice.entity.*; |
| | | import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; |
| | |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.util.MdmBtmTypeConstant; |
| | | import com.vci.ubcs.starter.util.SaveLogUtil; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jetbrains.annotations.NotNull; |
| | | import org.springblade.core.tenant.annotation.NonDS; |
| | | 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.transaction.annotation.Transactional; |
| | |
| | | @Data |
| | | @Slf4j |
| | | public class MdmInterJtClient implements IMdmInterJtClient { |
| | | |
| | | @Value("${docking.apply.partCoe:10}") |
| | | public String partCoe; |
| | | |
| | | /** |
| | | * 集团申请单服务 |
| | | */ |
| | |
| | | * 集团分类申请单服务 |
| | | */ |
| | | private final IDockingPreClassifyService dockingPreClassifyService; |
| | | |
| | | /*** |
| | | * 属性映射服务 |
| | | */ |
| | | private final IDockingPreAttrMappingService dockingPreAttrMappingService; |
| | | |
| | | /** |
| | | * 集团取值范围申请单服务 |
| | | */ |
| | |
| | | |
| | | @Autowired(required = false) |
| | | private IMdmEngineClient mdmEngineClient; |
| | | |
| | | private final SaveLogUtil saveLogUtil; |
| | | |
| | | /*** |
| | | * 申请集团编码 |
| | | * @return |
| | |
| | | return R.fail("集团码数据修改失败:"+e.getMessage()); |
| | | } |
| | | } |
| | | /* |
| | | * 主数据业务服务 |
| | | */ |
| | | |
| | | /** |
| | | * 获取集团集团码,赋值到主数据 |
| | | * @param dockingReturnStoreVO |
| | |
| | | } else if ("9".equals(formState)) { |
| | | msg = "审核中"; |
| | | } |
| | | msg = Func.isNotBlank(mainData.getExamineOpinion()) ? mainData.getExamineOpinion():msg; |
| | | jcontent.put("applyId", applyId); |
| | | jcontent.put("formState", formState); |
| | | jcontent.put("customCoding", customCoding); |
| | |
| | | String jdatabtmname = dockingPreApplyForm.getDataBtmName(); |
| | | if (res) { |
| | | //此处需要查询业务数据,去更改 |
| | | BaseModel baseModel = new BaseModel(); |
| | | String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); |
| | | if(partCoe.equals(classOid)){ |
| | | baseModel.setId(10+customCoding); |
| | | R<List<BaseModel>> R = mdmEngineClient.selectByTypeAndOid(jdatabtmname,jdataid); |
| | | if(R.isSuccess()){ |
| | | List<BaseModel> oldDatalist=new ArrayList<>(); |
| | | List<BaseModel> newDatalist=R.getData(); |
| | | if(!CollectionUtils.isEmpty(newDatalist)){ |
| | | if(editObjectMap.containsKey(jdatabtmname)){ |
| | | oldDatalist=editObjectMap.getOrDefault(jdatabtmname,new ArrayList<>()); |
| | | } |
| | | BaseModel baseModel=oldDatalist.get(0); |
| | | //DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); |
| | | baseModel.setLastModifyTime(new Date()); |
| | | baseModel.getData().put("groupcode",customCoding); |
| | | log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId()); |
| | | oldDatalist.add(baseModel); |
| | | editObjectMap.put(jdatabtmname,oldDatalist); |
| | | } |
| | | } |
| | | String btmeName=baseModel.getBtmname(); |
| | | baseModel.getData().put("groupcode",customCoding); |
| | | log.info("申请单:"+applyId+",集团码:"+customCoding+"编码:"+baseModel.getId()); |
| | | editObjectMap.getOrDefault(btmeName,new ArrayList<>()).add(baseModel); |
| | | |
| | | } |
| | | } |
| | | if(!CollectionUtils.isEmpty(editObjectMap)) { |
| | |
| | | mdmEngineClient.updateBatchBtypeDatas(btmName, modeList); |
| | | }); |
| | | } |
| | | dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); |
| | | if(!CollectionUtils.isEmpty(dockingPreApplyFormList)){ |
| | | dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); |
| | | } |
| | | saveLogUtil.operateLog("申请单结果返回",false,JSON.toJSONString(dockingReturnStoreVO.getMainData())); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace(); |
| | | return R.fail("集团码集成赋值失败"+e); |
| | | saveLogUtil.operateLog("申请单结果返回",true,"错误信息:"+e.getMessage()+"\n"+ JSON.toJSONString(dockingReturnStoreVO.getMainData())); |
| | | return R.fail("集团码集成赋值失败,原因:"+e.getMessage()); |
| | | } |
| | | log.info("获取集团集团码,赋值到主数据 end"); |
| | | return R.success("集团码赋值成功"); |
| | |
| | | |
| | | if (dockingPreClassify == null|| StringUtils.isBlank(dockingPreClassify.getOid())) { |
| | | dockingPreClassify = new DockingPreClassify(); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY,null); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify, MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY); |
| | | } else { |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify,null); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify); |
| | | } |
| | | dockingPreClassify.setOid(id); |
| | | dockingPreClassify.setName(className); |
| | |
| | | throw new Throwable("存储视图模型出现问题"); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * 获取分类视图 |
| | | * |
| | | * @param jclassObject |
| | | * @throws Throwable |
| | | */ |
| | | private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) |
| | | throws Throwable { |
| | | private void getVilewMode(@NotNull DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) throws Throwable { |
| | | String nodeLinkName = jclassObject.getNodeLinkName(); |
| | | try { |
| | | String jclassId =StringUtils.isBlank(jclassObject.getId())?"":jclassObject.getId(); |
| | |
| | | |
| | | for (DockingClassifyViewVO viewInfo : list) { |
| | | String viewName =StringUtils.isBlank(viewInfo.getViewName())?"":viewInfo.getViewName(); |
| | | String impactList = StringUtils.isBlank(viewInfo.getImpactList())?"":viewInfo.getImpactList(); |
| | | String impactList = viewInfo.getImpactList() == null ? "" : viewInfo.getImpactList().get(0).get(0); |
| | | log.info("VilewMode:-------------->视图名称:"+viewName); |
| | | log.info("VilewMode:-------------->影响编码项:"+impactList); |
| | | log.info("VilewMode:--------------> 集团分类主键:"+jclassId); |
| | |
| | | jviewModelObject = jviewmodelMap.get(viewName); |
| | | //影响编码项的数据 |
| | | jviewModelObject.setImpactList(impactList); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject,null); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(jviewModelObject); |
| | | } else { |
| | | jviewModelObject =new DockingPreViewModel(); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL,null); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(jviewModelObject,MdmBtmTypeConstant.DOCKING_PRE_JVIEWMODEL); |
| | | jviewModelObject.setSourceClassifyId(jclassId);// 集团分类id |
| | | jviewModelObject.setViewName(viewName);// 集团视图名称 |
| | | //影响编码项的数据 |
| | |
| | | throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题"); |
| | | } |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * 获取模型视图属性 |
| | |
| | | dockingPreMetaAttr = jmetaattrMap.get(englishName); |
| | | dockingPreMetaAttr.setChineseName(chineseName); |
| | | dockingPreMetaAttr.setDefaultValue(defaultValue); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr,null); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreMetaAttr); |
| | | } else { |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR,null); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreMetaAttr,MdmBtmTypeConstant.DOCKING_PRE_JMETAATRR); |
| | | dockingPreMetaAttr.setSourceClassifyId(jclassId);// 集团分类id |
| | | dockingPreMetaAttr.setViewModelId(jviewModelObject.getOid());// 集团视图模型id |
| | | dockingPreMetaAttr.setChineseName(chineseName);// 属性名称 |
| | |
| | | rangeObject = rangeMap.get(rangeKey); |
| | | rangeObject.setNumTextValue(keyValue); |
| | | rangeObject.setNumText(rangeKey); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject,null); |
| | | DefaultAttrAssimtUtil.updateDefaultAttrAssimt(rangeObject); |
| | | } else { |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE,null); |
| | | DefaultAttrAssimtUtil.addDefaultAttrAssimt(rangeObject,MdmBtmTypeConstant.DOCKING_PRE_JRANGE); |
| | | rangeObject.setNumTextValue(keyValue); |
| | | rangeObject.setNumText(rangeKey); |
| | | rangeObject.setTs(rangeObject.getLastModifyTime()); |