From 8238e7215367e39de004c29244d2597bb1e5519b Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期二, 23 一月 2024 10:13:16 +0800 Subject: [PATCH] 集团码申请接口调试 --- Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java | 130 ++++++++++++++++++++++++++++++------------ 1 files changed, 92 insertions(+), 38 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java index a2775b8..7267079 100644 --- a/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java @@ -1,5 +1,6 @@ package com.vci.ubcs.code.applyjtcodeservice.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -10,6 +11,8 @@ import com.vci.ubcs.code.applyjtcodeservice.service.IGroupMdmInterService; import com.vci.ubcs.code.applyjtcodeservice.vo.*; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; +import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDataVO; +import com.vci.ubcs.code.vo.webserviceModel.apply.InterParameterVO; import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO; import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider; @@ -22,6 +25,7 @@ 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; @@ -44,11 +48,11 @@ private String code=""; private String msg=""; - @Value("${docking.apply.partCoe:10}") + @Value("${docking.apply.partCode:101}") public String partCoe; @Value("${docking.apply.usedFlag:false}") public boolean usedFlag; - @Value("${docking.apply.unitCode:41000}") + @Value("${docking.apply.unitCode:4100}") public String dockingApplyUnitCode; @Value("${docking.apply.sysName:410-MDM}") @@ -120,18 +124,33 @@ Map<String, DockingPreApplyForm> addDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, DockingPreApplyForm> editDockingPreApplyFormMap = new HashMap<String, DockingPreApplyForm>(); Map<String, BaseModel> baseModelMap = new HashMap<String, BaseModel>(); + //鏁版嵁搴撲笉瀛樺湪鐨� + /*List<BaseModel> newDdataModelList = dataModelList.stream().filter(cbo -> { + String groupcode =cbo.getData().getOrDefault("GROUPCODE",""); + return StringUtils.isBlank(groupcode); + }).collect(Collectors.toList()); + if(newDdataModelList.size()==0) + return R.fail("鐢宠鎺ュ彛璋冪敤鎴愬姛,鎵�鏈夋暟鎹凡缁忓瓨鍦ㄩ泦鍥㈢爜");*/ + //缁勭粐鏁版嵁 dockingGroupDataVO = queryApplycodeDataObjects(1, dataModelList, addDockingPreApplyFormMap, editDockingPreApplyFormMap, baseModelMap); - DockingResultVO resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); + Object object = JSONObject.toJSON(dockingGroupDataVO); + String resultStr = object.toString(); + log.info("鐢宠闆嗗洟鐮佹暟鎹牸寮�:->"+resultStr); + DockingResultVO resultDataObject =new DockingResultVO(); + resultDataObject= mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); + boolean res=false; if ("1".equals(resultDataObject.getCode())) {//缁撴灉姝g‘鐨勬儏鍐� List<DockingDataVO> dataObjectVOList = resultDataObject.getData(); + res=true; dataObjectVOList.stream().forEach(dataObject -> { boolean isEditDatas = false; String code2 = dataObject.getCode(); DockingMainDataVO data2 = dataObject.getData(); String applyId = data2.getApplyId();//鐢宠鍗昳d + BaseModel baseModel = baseModelMap.get(applyId); String customCoding = StringUtils.isBlank(data2.getCustomCoding()) ? "" : data2.getCustomCoding();//闆嗗洟鐮佹 msg = dataObject.getMsg(); if (code2.equals("1")) {//缁撴灉姝g‘鐨勬儏鍐� @@ -143,8 +162,16 @@ if (editDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); + //dockingPreApplyForm.setDescription(baseModel.getId()); dockingPreApplyForm.setMsg("鐢宠锛�" + msg); - dockingPreApplyForm.setGroupCode(customCoding); + 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 { @@ -152,11 +179,13 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); } //鏂板鐨勭敵璇峰崟鏁版嵁 if (addDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); + dockingPreApplyForm.setDescription(baseModel.getId()); dockingPreApplyForm.setMsg("鐢宠锛�" + msg); dockingPreApplyForm.setGroupCode(customCoding); ObjectMapper mp = new ObjectMapper(); @@ -166,25 +195,28 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹� if (isEditDatas) { if (baseModelMap.containsKey(applyId)) { - BaseModel baseModel = baseModelMap.get(applyId); - String classOid=baseModel.getData().getOrDefault("CODECLSFID",""); + baseModel = baseModelMap.get(applyId); + Map<String,String> dataValueMap=new CaseInsensitiveMap<>(baseModel.getData()); + String classOid=dataValueMap.getOrDefault("CODECLSFID",""); if(partCoe.equals(classOid)){ baseModel.setId(10+customCoding); + customCoding=10+customCoding; } BeanUtilForVCI.copyDeclaredIgnoreCase(baseModel, baseModel); DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); - - baseModel.getData().getOrDefault("groupCode", customCoding); + // DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); + baseModel.getData().put("GROUPCODE",customCoding); updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code } } }); } else { + res=false; editDockingPreApplyFormMap.forEach((key, dockingPreApplyForm) -> { dockingPreApplyForm.setCode("2"); dockingPreApplyForm.setMsg("鐢宠锛�" + msg); @@ -209,6 +241,9 @@ //淇濆瓨琛ㄥ崟鏁版嵁 dockingPreApplyFormService.saveOrUpdateBatch(dockingPreAttrMappings); mdmEngineClient.updateBatchBtypeDatas(btmName, updateCbos);//淇濆瓨鏁版嵁 + if(!res){ + throw new VciBaseException(msg); + } } return R.success("鐢宠鎺ュ彛璋冪敤鎴愬姛"); } catch (VciBaseException e) { @@ -274,7 +309,9 @@ DockingPreApplyForm dockingPreApplyForm = editDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setMsg("淇敼锛�" + msg); - dockingPreApplyForm.setGroupCode(customCoding); + if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { + dockingPreApplyForm.setGroupCode(customCoding); + } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -282,13 +319,16 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreApplyForm); } //鏂板鐨勭敵璇峰崟鏁版嵁 if (addDockingPreApplyFormMap.containsKey(applyId)) { DockingPreApplyForm dockingPreApplyForm = addDockingPreApplyFormMap.get(applyId); dockingPreApplyForm.setCode(code2); dockingPreApplyForm.setMsg("淇敼锛�" + msg); - dockingPreApplyForm.setGroupCode(customCoding); + if(StringUtils.isBlank(dockingPreApplyForm.getGroupCode())) { + dockingPreApplyForm.setGroupCode(customCoding); + } ObjectMapper mp = new ObjectMapper(); String writeValueAsString = null; try { @@ -296,6 +336,7 @@ dockingPreApplyForm.setContent(writeValueAsString); } catch (JsonProcessingException e) { } + DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreApplyForm, MdmBtmTypeConstant.DOCKING_PRE_JAPPLYFORM); } //濡傛灉鏈夐泦鍥㈢爜鍒欐洿鏂版暟鎹� if (isEditDatas) { @@ -308,7 +349,7 @@ } DefaultAttrAssimtUtil.updateDefaultAttrAssimt(baseModel); // baseModel.setId(customCoding); - baseModel.getData().put("groupCode", customCoding); + baseModel.getData().put("GROUPCODE", customCoding); updateCbos.add(baseModel);//鏇存柊鏁版嵁闆嗗洟code } } @@ -519,8 +560,9 @@ int code=dockingApplyFormQueryStatusVO.getCode(); String mesg=dockingApplyFormQueryStatusVO.getMsg(); if(code==1){ + message=mesg; List<DockingApplyFormStatusVO> dockingApplyFormStatusVOList=dockingApplyFormQueryStatusVO.getData(); - if(CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ + if(!CollectionUtils.isEmpty(dockingApplyFormStatusVOList)){ for (DockingApplyFormStatusVO applyFormDataState : dockingApplyFormStatusVOList) { String applyId=applyFormDataState.getApplyNum(); String state= applyFormDataState.getFormState(); @@ -532,20 +574,23 @@ } } boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); - if(res){ - R.success("鐢宠闆嗗洟鐮佺姸鎬佹煡璇㈡垚鍔�:"+mesg); - } }else{ throw new Throwable("娌℃湁鑾峰彇鍒扮浉鍏虫暟鎹俊鎭�"); } }else{ - throw new Throwable(mesg); + message=mesg; + dockingPreApplyFormList.stream().forEach(dockingPreApplyForm -> { + dockingPreApplyForm.setMsg("鐢宠鍗曟煡鐪嬪け璐ワ細"+mesg); + }); + this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); + throw new Throwable(message); } }catch (Throwable e){ e.printStackTrace(); + //message=""+e; log.error("鑾峰彇鐢宠鍗曠姸鎬佸け璐�"+e); - throw new VciBaseException(message); + throw new VciBaseException(e.getMessage()); } log.info("鏌ヨ鐢宠鍗曠姸鎬佹帴鍙nd"); return R.success(message); @@ -609,6 +654,7 @@ log.info("classify:-------------->閾炬帴鍚嶇О:"+nodeLinkName); if (dockingPreClassify == null || StringUtils.isBlank(dockingPreClassify.getOid())) { + dockingPreClassify=new DockingPreClassify(); DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingPreClassify,MdmBtmTypeConstant.DOCKING_PRE_JCLASSIFY); } else { DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingPreClassify); @@ -704,7 +750,7 @@ .eq(DockingPreMetaAttr::getSourceClassifyId,jclassId).eq(DockingPreMetaAttr::getViewModelId,jviewModelObject.getOid()) .eq(DockingPreMetaAttr:: getPid,pid)); Map<String,DockingPreMetaAttr> jmetaattrMap = dockingPreMetaAttrList.stream().filter( - s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName().toLowerCase(Locale.ROOT), t -> t)); + s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getEnglishName())).collect(Collectors.toMap(s -> s.getEnglishName(), t -> t)); for (DockingClassifyMetaAttrVO dockingClassifyMetaAttrVO : metaList) { String chineseName = com.alibaba.cloud.commons.lang.StringUtils.isBlank(dockingClassifyMetaAttrVO.getChineseName())?"":dockingClassifyMetaAttrVO.getChineseName();// 灞炴�у悕绉� @@ -773,6 +819,7 @@ */ private void getRange(DockingPreMetaAttr metaAttrObject,Map<String, String> range) throws Throwable { String metaAttrOid = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getOid())?"":metaAttrObject.getOid();// 灞炴�х殑oid + String jchinesename = com.alibaba.cloud.commons.lang.StringUtils.isBlank(metaAttrObject.getChineseName())?"":metaAttrObject.getChineseName(); Map<String, DockingPreAttrRange> rangeMap = new HashMap<>(); try { @@ -780,7 +827,9 @@ condtionMa.put("jmetalistid", metaAttrOid); List<DockingPreAttrRange> jmetaattrList = dockingPreAttrRangeService.selectByWrapper(Wrappers.<DockingPreAttrRange>query().lambda() .eq(DockingPreAttrRange::getMetaListId,metaAttrOid));// 鏍规嵁鍒嗙被鏌ヨ妯″瀷瑙嗗浘瀵硅薄 - rangeMap= jmetaattrList.stream().collect(Collectors.toMap(s -> com.alibaba.cloud.commons.lang.StringUtils.isNotBlank(s.getNumText().toLowerCase(Locale.ROOT))?"":s.getNumText().toLowerCase(Locale.ROOT), t -> t)); + log.info("鑾峰彇灞炴�х編鍓� 灞炴�d------->"+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(); @@ -810,44 +859,42 @@ } } - - - /** * 缁勭粐鏁版嵁 * */ private DockingGroupDataVO queryApplycodeDataObjects(int optationtype,List<BaseModel> codeWupins,Map<String,DockingPreApplyForm> addDockingPreApplyFormMap,Map<String,DockingPreApplyForm> editDockingPreApplyFormMap,Map<String,BaseModel> codeWupinMap) throws VciBaseException{ try { - String curUserName = AuthUtil.getUser().getUserName(); + String curUserName ="28201728"; //AuthUtil.getUser().getUserName(); //鐢宠鐨勬暟鎹� List<DockingMainData> mainDataList=new ArrayList<DockingMainData>(); for (BaseModel dataBusinessObject : codeWupins) { String format = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); - Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); - String codeclsfid =dataValueMap.getOrDefault("codeclsfid",""); + //String codeclsfid = dataBusinessObject.getData().getOrDefault("codeclsfid".toUpperCase(Locale.ROOT),""); + Map<String,String> dataMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); + String codeclsfid=dataMap.getOrDefault("codeclsfid",""); String btmName = dataBusinessObject.getBtmname(); String oid = dataBusinessObject.getOid(); - DockingPreApplyForm dockingPreApplyForm = new DockingPreApplyForm(); String dataOid = dataBusinessObject.getOid(); Map<String, String> conditionsMap = new HashMap<String, String>(); - List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); + //List<DockingPreApplyForm> applyFormObjects = dockingPreApplyFormService.list(Wrappers.<DockingPreApplyForm>query().lambda().eq(DockingPreApplyForm::getDataOid, dataOid).eq(DockingPreApplyForm::getOperationType, optationtype)); + // DockingPreApplyForm dockingPreApplyForm=new DockingPreApplyForm(); String apllyCode = ""; - if (!CollectionUtils.isEmpty(applyFormObjects)) { + /*if (!CollectionUtils.isEmpty(applyFormObjects)) { dockingPreApplyForm = applyFormObjects.get(0); apllyCode = dockingPreApplyForm.getId(); editDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯� - } else { + } else {*/ apllyCode = dockingApplyUnitCode + "-" + format; dockingPreApplyForm.setId(apllyCode); dockingPreApplyForm.setName(""); dockingPreApplyForm.setOperationType(optationtype+""); - dockingPreApplyForm.setDescription(dataBusinessObject.getDescription());//鑾峰彇鏁版嵁鎻忚堪淇℃伅 + dockingPreApplyForm.setDescription(dataBusinessObject.getId());//鑾峰彇鏁版嵁鎻忚堪淇℃伅 dockingPreApplyForm.setDataOid(oid); dockingPreApplyForm.setDataBtmName(btmName); addDockingPreApplyFormMap.put(apllyCode, dockingPreApplyForm);//鐢宠鍗曞拰鐢宠鍗曞璞″叧绯� - } + // } codeWupinMap.put(apllyCode, dataBusinessObject);//鐢宠鍗曞拰瀵瑰簲鏁版嵁鍏崇郴 conditionsMap = new HashMap<String, String>(); @@ -865,6 +912,11 @@ mainData.setApplyId(apllyCode);//鐢宠鍗曞彿 mainData.setClassName(dockingPreClassify.getNodeLinkName());//鍒嗙被鍚嶇О mainData.setCreateBy(curUserName);// + if(optationtype==2) { + String groucode=dataBusinessObject.getData().getOrDefault("GROUPCODE",""); + dockingPreApplyForm.setGroupCode(groucode); + mainData.setCustomCoding(groucode); + } mainData.setSecretLevel("鍐呴儴");//瀵嗙骇锛岄粯璁や负鍐呴儴 mainData.setViewInfos(getviewInfos(optationtype,dockingPreClassify, dataBusinessObject));//鑾峰彇瑙嗗浘妯″瀷 mainDataList.add(mainData); @@ -919,7 +971,7 @@ //鏋勯�犳ā鍨嬭鍥炬暟鎹� List<Map<String, Object>> viewValueList=new ArrayList<Map<String,Object>>(); String oid = dockingPreViewModel.getOid(); - Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); + Map<String,String> dataValueMap=new CaseInsensitiveMap<>(dataBusinessObject.getData()); String codeClassifyId=dataValueMap.get("codeclsfid"); Map<String,String>conditionsMap=new HashMap<String, String>(); List<DockingPreAttrMapping> dockingPreAttrMappingList = dockingPreAttrMappingMapper.selectList(Wrappers.<DockingPreAttrMapping>query().lambda() @@ -946,15 +998,15 @@ Object newVaue=null; if(StringUtils.isNotBlank(jtargetattrkey)){ getAttrRange(dockingPreMetaAttr);//鑾峰彇瀛楁鍙栧�艰寖鍥� - String value =""; + 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, ""); + }else{ + value=dataValueMap.get(jtargetattrkey)==null?"":dataValueMap.getOrDefault(jtargetattrkey,""); } newVaue = getVaue(dockingPreMetaAttr, value); }else{ @@ -963,9 +1015,11 @@ if(newVaue==null||"".equals(newVaue)){ newVaue= dockingPreMetaAttr.getDefaultValue(); } + //newVaue= Func.isNotEmpty(newVaue)?newVaue:""; viewValueMap.put(jenglishname, newVaue); } } + viewValueList.add(viewValueMap); return viewValueList; } @@ -1027,7 +1081,7 @@ return null; }else { try { - return simpleDateFormat.parse(value); + return simpleDateFormat.format(simpleDateFormat.parse(value)); } catch (ParseException e) { throw new VciBaseException("date", new String[]{"鏃ユ湡鏍煎紡杞崲閿欒"}); } @@ -1038,7 +1092,7 @@ return null; }else{ try { - return simpleDateFormat.parse(value); + return simpleDateFormat.format(simpleDateFormat.parse(value)); } catch (ParseException e) { throw new VciBaseException("date", new String[]{"鏃ユ湡鏍煎紡杞崲閿欒"}); } -- Gitblit v1.9.3