From 28ca3d9f9e6e7eeeb7a7f2a7f50012350f3934c3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 13 十一月 2024 18:07:11 +0800 Subject: [PATCH] 优化业务数据的查询接口;修改业务数据保存和编辑接口没有保存基础默认属性问题。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 34 insertions(+), 20 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java index 30f044b..b526924 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/UIDataServiceImpl.java @@ -2,6 +2,7 @@ import com.vci.corba.common.PLException; import com.vci.corba.framework.data.UserInfo; +import com.vci.corba.omd.btm.BizType; import com.vci.corba.omd.data.*; import com.vci.corba.omd.lcm.LifeCycle; import com.vci.dto.*; @@ -176,7 +177,8 @@ queryFieldList.addAll(linkTypeVO.getAttributes().stream().map(OsLinkTypeAttributeVO::getId).collect(Collectors.toList())); queryFieldList.addAll(WebLoServiceImpl.LO_BASE_FIELD_MAP.values()); }else{ - btmTypeVO = btmService.getBtmById(dataGridQuery.getBtmname()); + //btmTypeVO = btmService.getBtmById(dataGridQuery.getBtmname()); + btmTypeVO = btmService.getBtmByName(dataGridQuery.getBtmname()); queryFieldList.addAll(btmTypeVO.getAttributes().stream().map(OsBtmTypeAttributeVO::getId).collect(Collectors.toList())); queryFieldList.addAll(WebBoServiceImpl.BO_BASE_FIELD_MAP.values()); } @@ -197,8 +199,9 @@ } return loService.queryGridByScheme(linkTypeDataQuery); }else { - return boService.queryGridByScheme(queryTemplate, + DataGrid dataGrid = boService.queryGridByScheme(queryTemplate, dataGridQuery.getConditionMap(), replaceMap, dataGridQuery.getPageHelper(), queryFieldList.stream().collect(Collectors.toList())); + return dataGrid; } //鐢熷懡鍛ㄦ湡鍦ㄥ叾涓煡璇㈠悗灏变細澶勭悊 //鏋氫妇涔熶細琚鐞嗕簡 @@ -212,7 +215,7 @@ * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException { + public UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException, PLException { VciBaseUtil.alertNotNull(formQuery,"琛ㄥ崟鐨勬煡璇㈠璞�",formQuery.getBtmname(),"涓氬姟绫诲瀷鐨勪俊鎭�",formQuery.getOid(),"涓氬姟鏁版嵁鐨勪富閿�",formQuery.getFormDefineId(),"琛ㄥ崟鐨勫畾涔夌紪鍙�"); UIFormDefineVO formDefineVO = uiEngineService.getFormById(formQuery.getBtmname(),formQuery.getFormDefineId()); String queryTemplate = !CollectionUtils.isEmpty(formQuery.getSourceData())?formQuery.getSourceData().getOrDefault("querytemplate",formDefineVO.getQueryTemplateName()):formDefineVO.getQueryTemplateName(); @@ -242,7 +245,7 @@ queryFieldList.addAll(linkTypeVO.getAttributes().stream().map(OsLinkTypeAttributeVO::getId).collect(Collectors.toList())); queryFieldList.addAll(WebLoServiceImpl.LO_BASE_FIELD_MAP.values()); }else{ - btmTypeVO = btmService.getBtmById(formQuery.getBtmname()); + btmTypeVO = btmService.getBtmByName(formQuery.getBtmname()); queryFieldList.addAll(btmTypeVO.getAttributes().stream().map(OsBtmTypeAttributeVO::getId).collect(Collectors.toList())); } queryFieldList.add("creator_name"); @@ -1054,7 +1057,7 @@ * @throws VciBaseException 淇濆瓨鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public BaseResult<Map<String, Object>> addSave(FormDataDTO formDataDTO) throws VciBaseException { + public BaseResult<Map<String, Object>> addSave(FormDataDTO formDataDTO) throws VciBaseException, PLException { //棣栧厛鍒ゆ柇瀵硅薄鏄惁涓虹┖ VciBaseUtil.alertNotNull(formDataDTO,"娣诲姞鐨勬暟鎹璞�",formDataDTO.getBtmname(),"涓氬姟绫诲瀷鐨勫悕绉�",formDataDTO.getFormDefineId(),"琛ㄥ崟瀹氫箟鐨勭紪鍙�"); UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmname(), formDataDTO.getFormDefineId()); @@ -1110,7 +1113,7 @@ * @param newVersion 鏂扮増娆� * @return 鎵ц鐨勭粨鏋� */ - private BaseResult<BusinessObject> wrapperCbo(FormDataDTO formDataDTO,UIFormDefineVO formDefineVO,boolean editFlag,boolean newRevision,boolean newVersion){ + private BaseResult<BusinessObject> wrapperCbo(FormDataDTO formDataDTO,UIFormDefineVO formDefineVO,boolean editFlag,boolean newRevision,boolean newVersion) throws PLException { //鎵╁睍灞炴�х殑鍊� Map<String, String> data = formDataDTO.getData(); Map<String,String> dataLow = new HashMap<>(); @@ -1319,7 +1322,7 @@ * @throws VciBaseException 淇濆瓨鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public BaseResult<String> batchAddSave(FormDataDTOList formDataDTOList) throws VciBaseException { + public BaseResult<String> batchAddSave(FormDataDTOList formDataDTOList) throws VciBaseException, PLException { VciBaseUtil.alertNotNull(formDataDTOList,"瑕佹坊鍔犵殑鏁版嵁",formDataDTOList.getFormDataDTOS(),"瑕佹坊鍔犵殑鏁版嵁"); //棣栧厛鍒ゆ柇瀵硅薄鏄惁涓虹┖ FormDataDTO firstFormDataDTO = formDataDTOList.getFormDataDTOS().stream().findFirst().get(); @@ -1389,7 +1392,7 @@ * @throws VciBaseException 淇濆瓨鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public BaseResult<Map<String, Object>> editSave(FormDataDTO formDataDTO) throws VciBaseException { + public BaseResult<Map<String, Object>> editSave(FormDataDTO formDataDTO) throws VciBaseException, PLException { //棣栧厛鍒ゆ柇瀵硅薄鏄惁涓虹┖ VciBaseUtil.alertNotNull(formDataDTO,"淇敼鐨勬暟鎹璞�",formDataDTO.getBtmname(),"涓氬姟绫诲瀷鐨勫悕绉�",formDataDTO.getFormDefineId(),"琛ㄥ崟瀹氫箟鐨勭紪鍙�"); UIFormDefineVO formDefineVO = uiEngineService.getFormById(formDataDTO.getBtmname(), formDataDTO.getFormDefineId()); @@ -1493,7 +1496,7 @@ * @throws VciBaseException 淇濆瓨鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父 */ @Override - public BaseResult<String> batchEditSave(FormDataDTOList formDataDTOList) throws VciBaseException { + public BaseResult<String> batchEditSave(FormDataDTOList formDataDTOList) throws VciBaseException, PLException { VciBaseUtil.alertNotNull(formDataDTOList,"瑕佷慨鏀圭殑鏁版嵁",formDataDTOList.getFormDataDTOS(),"瑕佷慨鏀圭殑鏁版嵁"); //棣栧厛鍒ゆ柇瀵硅薄鏄惁涓虹┖ FormDataDTO firstFormDataDTO = formDataDTOList.getFormDataDTOS().stream().findFirst().get(); @@ -1550,7 +1553,7 @@ * @throws VciBaseException 鏁版嵁琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父 */ @Override - public BaseResult batchDelete(DeleteDataDTO deleteDataDTO) throws VciBaseException { + public BaseResult batchDelete(DeleteDataDTO deleteDataDTO) throws VciBaseException, PLException { VciBaseUtil.alertNotNull(deleteDataDTO,"鏁版嵁浼犺緭瀵硅薄",deleteDataDTO.getDataList(),"鏁版嵁浼犺緭瀵硅薄"); String btmName = deleteDataDTO.getDataList().get(0).getBtmname(); List<String> oidList = deleteDataDTO.getDataList().stream().map(BaseModelDTO::getOid).collect(Collectors.toList()); @@ -1558,7 +1561,7 @@ List<BusinessObject> cbo = null; if(deleteDataDTO.isCascade()){ //绾ц仈鍒犻櫎 - OsBtmTypeVO btmTypeVO = btmService.getBtmById(btmName); + OsBtmTypeVO btmTypeVO = btmService.getBtmByName(btmName); OsBtmTypeAttributeVO parentAttributeVO = btmTypeVO.getAttributes().stream().filter(s -> s.getReferBtmTypeId().equalsIgnoreCase(btmName)).findFirst().orElseGet(null); if(parentAttributeVO != null){ //椤甸潰鍒嗛〉涓嶈兘鏄剧ず瓒呰繃1000 @@ -1639,7 +1642,7 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屽繀杈撻」缂哄け */ @Override - public BaseResult<String> linkAddSave(FormLinkDataDTO formLinkDataDTO) throws VciBaseException { + public BaseResult<String> linkAddSave(FormLinkDataDTO formLinkDataDTO) throws VciBaseException, PLException { //棣栧厛鍒ゆ柇瀵硅薄鏄惁涓虹┖ VciBaseUtil.alertNotNull(formLinkDataDTO,"娣诲姞鐨勬暟鎹璞�",formLinkDataDTO.getLinkType(),"閾炬帴绫诲瀷鐨勫悕绉�",formLinkDataDTO.getFormDefineId(),"琛ㄥ崟瀹氫箟鐨勭紪鍙�"); if(formLinkDataDTO.getData() ==null){ @@ -1815,7 +1818,7 @@ * @param boData to鐨勬暟鎹� * @return 鍖呭惈鐨勫璞� */ - private BaseResult<BusinessObject> wrapperToCbo(FormLinkDataDTO formLinkDataDTO,UIFormDefineVO formDefineVO,String toOid,String toBtmName,Map<String,String> boData){ + private BaseResult<BusinessObject> wrapperToCbo(FormLinkDataDTO formLinkDataDTO,UIFormDefineVO formDefineVO,String toOid,String toBtmName,Map<String,String> boData) throws PLException { Map<String,String> dataLow = new HashMap<>(); boData.forEach((key,value)->{ dataLow.put(key.toLowerCase(),value); @@ -1935,14 +1938,15 @@ * @param newVersion 鏄惁鍗囩増娆� * @return cbo瀵硅薄 */ - public BusinessObject createOrGetCbo(Map<String,String> dataLowMap,Map<String,String> baseDataMap,boolean editFlag,boolean newRevision,boolean newVersion){ + public BusinessObject createOrGetCbo(Map<String,String> dataLowMap,Map<String,String> baseDataMap,boolean editFlag,boolean newRevision,boolean newVersion) throws PLException { String btmName = baseDataMap.get("btmname"); String oid = baseDataMap.get("oid"); // BusinessObject cbo = new BusinessObject(); BusinessObject cbo = new BusinessObject(); String copyfromversion = baseDataMap.get("copyfromversion"); - OsBtmTypeVO btmTypeVO = btmService.getBtmById(btmName); - List<String> attributeList = btmTypeVO.getAttributes().stream().map(attribute -> attribute.getId()).collect(Collectors.toList()); + //OsBtmTypeVO btmTypeVO = btmService.getBtmById(btmName); + OsBtmTypeVO btmTypeVO = btmService.getBtmByName(btmName); + //List<String> attributeList = btmTypeVO.getAttributes().stream().map(attribute -> attribute.getId()).collect(Collectors.toList()); if(editFlag || newRevision || newVersion){ try { cbo = platformClientUtil.getBOFService().readBusinessObject(editFlag?oid:copyfromversion,btmName); @@ -2038,6 +2042,7 @@ if(StringUtils.isBlank(cbo.btName)){ cbo.btName = btmTypeVO.getId(); } + if(btmTypeVO.isRevisionFlag()){ //瑕佺鐞嗙増鏈� if(btmTypeVO.isInputRevisionFlag() && StringUtils.isNotBlank(baseDataMap.getOrDefault("revisionvalue",""))){ @@ -2077,7 +2082,16 @@ // } // } setValueToCbo(dataLowMap,baseDataMap,cbo,editFlag); -// cbo.setName(dataLowMap.get("name")); + //TODO:榛樿灞炴�ч渶瑕佹斁鍦╟bo澶栧眰 + if(StringUtils.isNotBlank(baseDataMap.getOrDefault("id",""))){ + cbo.id = baseDataMap.getOrDefault("id",""); + } + if(StringUtils.isNotBlank(baseDataMap.getOrDefault("name",""))){ + cbo.name = baseDataMap.getOrDefault("name",""); + } + if(StringUtils.isNotBlank(baseDataMap.getOrDefault("description",""))){ + cbo.description = baseDataMap.getOrDefault("description",""); + } return cbo; } @@ -2141,7 +2155,7 @@ * @throws VciBaseException 鍙傛暟涓虹┖锛屽繀杈撻」缂哄け */ @Override - public BaseResult linkEditSave(FormLinkDataDTO formLinkDataDTO) throws VciBaseException { + public BaseResult linkEditSave(FormLinkDataDTO formLinkDataDTO) throws VciBaseException, PLException { VciBaseUtil.alertNotNull(formLinkDataDTO,"淇敼鐨勬暟鎹璞�",formLinkDataDTO.getLinkType(),"閾炬帴绫诲瀷鐨勫悕绉�", formLinkDataDTO.getFormDefineId(),"琛ㄥ崟瀹氫箟鐨勭紪鍙�",formLinkDataDTO.getOid(),"涓婚敭", formLinkDataDTO.getFoid(),"from绔富閿�",formLinkDataDTO.getToid(),"to绔富閿�"); @@ -2328,10 +2342,10 @@ * @return 鍒楄〃鏁版嵁 */ @Override - public DataGrid referDataGrid(ReferConfigVO referConfigVO, PageHelper pageHelper) { + public DataGrid referDataGrid(ReferConfigVO referConfigVO, PageHelper pageHelper) throws PLException { checkReferConfig(referConfigVO); //浣跨敤涓氬姟绫诲瀷鏌ヨ - OsBtmTypeVO btmById = btmService.getBtmById(referConfigVO.getReferBo()); + OsBtmTypeVO btmById = btmService.getBtmByName(referConfigVO.getReferBo()); if(referConfigVO.getConditionMap() == null){ referConfigVO.setConditionMap(new HashMap<>()); } -- Gitblit v1.9.3