| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | 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.util.DefaultAttrAssimtUtil; |
| | | import com.vci.ubcs.starter.util.MdmBtmTypeConstant; |
| | | 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.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @NonDS |
| | | @ApiIgnore |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @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; |
| | | |
| | | /*** |
| | | * 申请集团编码 |
| | | * @return |
| | |
| | | return R.fail("集团码申请失败:"+e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * 查询集团属性映射 |
| | | * @param codeClassifyOid:编码分类oid |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R<List<DockingPreAttrMappingVO>> list_mapping(String codeClassifyOid) { |
| | | List<DockingPreAttrMapping> dockingPreAttrMappings= dockingPreAttrMappingService.selectByWrapper(Wrappers.<DockingPreAttrMapping>query().lambda().eq(DockingPreAttrMapping::getTargetClassifyId,codeClassifyOid)); |
| | | List<DockingPreAttrMappingVO> dockingPreAttrMappingVOList=new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(dockingPreAttrMappings)){ |
| | | dockingPreAttrMappingVOList=dockingPreAttrMappingService.dockingPreAttrMappingDO2VOS(dockingPreAttrMappings,true); |
| | | } |
| | | return R.data(dockingPreAttrMappingVOList); |
| | | } |
| | | |
| | | /*** |
| | | * 申请集团编码数据维护 |
| | | * @return |
| | |
| | | return R.fail("集团码数据修改失败:"+e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /* |
| | | * 主数据业务服务 |
| | | */ |
| | | |
| | | /** |
| | | * 获取集团集团码,赋值到主数据 |
| | | * @param dockingReturnStoreVO |
| | |
| | | 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); |
| | | } |
| | | }catch (Throwable e){ |
| | | e.printStackTrace(); |
| | | return R.fail("集团码集成赋值失败"+e); |
| | | return R.fail("集团码集成赋值失败,原因:"+e.getMessage()); |
| | | } |
| | | log.info("获取集团集团码,赋值到主数据 end"); |
| | | return R.success("集团码赋值成功"); |
| | |
| | | throw new Throwable("存储视图模型出现问题"); |
| | | } |
| | | } |
| | | |
| | | /*** |
| | | * 获取分类视图 |
| | | * |
| | | * @param jclassObject |
| | | * @throws Throwable |
| | | */ |
| | | private void getVilewMode(DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) |
| | | private void getVilewMode(@NotNull DockingClassifyVO jclassObject, List<DockingClassifyViewVO> list) |
| | | throws Throwable { |
| | | String nodeLinkName = jclassObject.getNodeLinkName(); |
| | | try { |
| | |
| | | |
| | | 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); |
| | |
| | | throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题"); |
| | | } |
| | | } |
| | | |
| | | |
| | | /*** |
| | | * 获取模型视图属性 |