From 1e3cfb229f54298f4ef27fa73dc05affaf1b9dcb Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期二, 13 六月 2023 17:27:55 +0800 Subject: [PATCH] 1、MDM服务发布、停用、回收、启用等功能测试修改。 2、对相应联调进行修改。 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 148 +++++++++++++++++++++++++++++------------------- 1 files changed, 89 insertions(+), 59 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java index a660ef9..8bc42d2 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java @@ -57,6 +57,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -326,15 +327,19 @@ * * @param baseModelDTO 鏁版嵁浼犺緭瀵硅薄 */ + @Transactional @Override public void changeStatus(BaseModelDTO baseModelDTO) { VciBaseUtil.alertNotNull(baseModelDTO, "鏁版嵁淇℃伅", baseModelDTO.getOid(), "涓婚敭", baseModelDTO.getBtmname(), "涓氬姟绫诲瀷", baseModelDTO.getLcStatus(), "鐩爣鐘舵��"); List<String> oids = VciBaseUtil.str2List(baseModelDTO.getOid()); // List<ClientBusinessObject> cboList = boService.selectCBOByOidCollection(oids, baseModelDTO.getBtmname()); //鎻掍釜鐐� 涓氬姟绫诲瀷瀹屾垚鍚庨渶瑕佷慨鏀� - QueryWrapper<BtmTypeVO> wrapper = new QueryWrapper<>(); - wrapper.eq("BTMNAME",baseModelDTO.getBtmname()); - wrapper.in("OID",oids); +// QueryWrapper<BtmTypeVO> wrapper = new QueryWrapper<>(); + List<BaseModel> baseModels = new ArrayList<>(); + baseModels = selectByTypeAndOid(baseModelDTO.getBtmname(), baseModelDTO.getOid()); + if(baseModels.size() == 0){ + throw new VciBaseException("鏈煡璇㈠埌鐩稿叧鏁版嵁銆�"); + } // 寰呭畬鍠� List<BtmTypeVO> cboList = null; // btmTypeClient.selectList(wrapper); //杩橀渶瑕佷慨鏀筧llCode鐨勭敓鍛藉懆鏈� @@ -348,16 +353,23 @@ // List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap); // 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄� if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) { + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname())); +// String referTable = listR.getData().get(0).getTableName(); + commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(),VciBaseUtil.toInSql(baseModelDTO.getOid())); // BatchCBO batchCBO = new BatchCBO(); // batchCBO.getDeleteCbos().addAll(cboList); - - // 寰呭畬鍠� - //btmTypeClient.deleteBatchIds(cboList); - //boService.persistenceBatch(batchCBO); } else { + for (BaseModel baseModel : baseModels) { + baseModel.setLcStatus(baseModelDTO.getLcStatus()); + } + updateBatchByBaseModel(baseModelDTO.getBtmname(),baseModels); // lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus()); } + for (CodeAllCode codeCbo : codeCbos) { + codeCbo.setLcStatus(baseModelDTO.getLcStatus()); + } + codeAllCodeService.updateBatchById(codeCbos); // lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus()); } @@ -1407,31 +1419,45 @@ DataGrid<Map<String, String>> dataGrid = new DataGrid<>(); List<Map<String, String>> dataList = new ArrayList<>(); -// if (!CollectionUtils.isEmpty(maps)) { -// maps.stream().forEach(map -> { -// Map<String, String> data = new HashMap<>(); -// map.forEach((key, value) -> { -// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); -// }); -// dataList.add(data); -// }); -// } -// dataGrid.setData(dataList); if (!CollectionUtils.isEmpty(maps)) { - wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); maps.stream().forEach(map -> { Map<String, String> data = new HashMap<>(); + for (String s : map.keySet()) { + data.put(s.toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); + } // map.forEach((key, value) -> { // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); // }); - for (String s : map.keySet()) { - data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); - } dataList.add(data); }); - dataGrid.setData(dataList); - dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString())); + wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), false); +// maps.stream().forEach(map -> { +// Map<String, String> data = new HashMap<>(); +//// map.forEach((key, value) -> { +//// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); +//// }); +// for (String s : map.keySet()) { +// data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); +// } +// dataList.add(data); +// }); } +// dataGrid.setData(dataList); +// if (!CollectionUtils.isEmpty(maps)) { +// wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); +// maps.stream().forEach(map -> { +// Map<String, String> data = new HashMap<>(); +//// map.forEach((key, value) -> { +//// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); +//// }); +// for (String s : map.keySet()) { +// data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); +// } +// dataList.add(data); +// }); + dataGrid.setData(dataList); + dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString())); +// } return dataGrid; } @@ -2157,15 +2183,15 @@ //pageHelper.addDefaultDesc("createTime"); pageHelper.addDefaultDesc("id"); if (!classifyService.checkHasChild(codeClassifyOid)) { - conditionMap.put(CODE_CLASSIFY_OID_FIELD, codeClassifyOid); + conditionMap.put("t."+CODE_CLASSIFY_OID_FIELD, codeClassifyOid); } else { //琛ㄩ渶瑕佹敼 // conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) - conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_classify where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED + + conditionMap.put("t."+CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from pl_code_classify where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED + "' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )"); } - conditionMap.put("lastr", "1"); - conditionMap.put("lastv", "1"); + conditionMap.put("t.lastr", "1"); + conditionMap.put("t.lastv", "1"); return queryGrid(btmTypeId, templateVO, conditionMap, pageHelper); // List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList()); // //鍙傜収璁╁钩鍙扮洿鎺ユ煡璇㈠氨琛� @@ -3001,7 +3027,7 @@ * @return 澶勭悊鎴愬姛鏁版嵁鏉℃暟 */ @Override - public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) throws Exception { + public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) { //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃 R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); if(listR.getData().size() == 0){ @@ -3027,7 +3053,7 @@ * @return 鏌ヨ鍑虹殑鏁版嵁 */ @Override - public List<BaseModel> selectByTypeAndOid(String btmType, String oids) throws IllegalAccessException, NoSuchFieldException, InstantiationException, InvocationTargetException, IntrospectionException, SQLException { + public List<BaseModel> selectByTypeAndOid(String btmType, String oids) { //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃 R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); @@ -3040,38 +3066,42 @@ List<BaseModel> baseModels = new ArrayList<>(); //灏嗘煡璇㈠埌鐨勬暟鎹浆鎹负basemodel锛屼娇鐢ㄧ殑鍙嶅皠鏂瑰紡鏉ヨ繘琛屽垱寤虹殑 - for (Map map : maps) { - Object obj = BaseModel.class.newInstance(); - BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); - PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); - for (PropertyDescriptor property : propertyDescriptors) { - Method setter = property.getWriteMethod(); - if (setter != null) { - //oracle鐨勬椂闂翠负TIMESTAMP鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚data锛屽惁鍒欏皢鎶ラ敊 - if(map.get(property.getName().toUpperCase()) instanceof TIMESTAMP){ - LocalDateTime localDateTime = ((TIMESTAMP) map.get(property.getName().toUpperCase())).toLocalDateTime(); - ZoneId zoneId = ZoneId.systemDefault(); - ZonedDateTime zdt = localDateTime.atZone(zoneId); - Date date = Date.from(zdt.toInstant()); - setter.invoke(obj,date); - map.remove(property.getName().toUpperCase()); - } //oracle鐨勬暟瀛椾负BigDecimal鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚Integer锛屽惁鍒欏皢鎶ラ敊 - else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal - && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())){ - setter.invoke(obj, ((BigDecimal)map.get(property.getName().toUpperCase())).intValue()); - map.remove(property.getName().toUpperCase()); - }else if(map.get(property.getName().toUpperCase()) != null){ - setter.invoke(obj, map.get(property.getName().toUpperCase())); - map.remove(property.getName().toUpperCase()); + try{ + for (Map map : maps) { + Object obj = BaseModel.class.newInstance(); + BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); + PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); + for (PropertyDescriptor property : propertyDescriptors) { + Method setter = property.getWriteMethod(); + if (setter != null) { + //oracle鐨勬椂闂翠负TIMESTAMP鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚data锛屽惁鍒欏皢鎶ラ敊 + if(map.get(property.getName().toUpperCase()) instanceof TIMESTAMP){ + LocalDateTime localDateTime = ((TIMESTAMP) map.get(property.getName().toUpperCase())).toLocalDateTime(); + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zdt = localDateTime.atZone(zoneId); + Date date = Date.from(zdt.toInstant()); + setter.invoke(obj,date); + map.remove(property.getName().toUpperCase()); + } //oracle鐨勬暟瀛椾负BigDecimal鐨勶紝闇�瑕佽繘琛岃浆鎹㈡垚Integer锛屽惁鍒欏皢鎶ラ敊 + else if (map.get(property.getName().toUpperCase()) instanceof BigDecimal + && ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())){ + setter.invoke(obj, ((BigDecimal)map.get(property.getName().toUpperCase())).intValue()); + map.remove(property.getName().toUpperCase()); + }else if(map.get(property.getName().toUpperCase()) != null){ + setter.invoke(obj, map.get(property.getName().toUpperCase())); + map.remove(property.getName().toUpperCase()); + } } } - } - for (Object key : map.keySet()) { - map.put(key,String.valueOf(map.get(key))); - } + for (Object key : map.keySet()) { + map.put(key,String.valueOf(map.get(key))); + } - ((BaseModel) obj).setData(map); - baseModels.add((BaseModel) obj); + ((BaseModel) obj).setData(map); + baseModels.add((BaseModel) obj); + } + }catch (Exception e){ + throw new VciBaseException("鏌ヨ澶辫触锛�" + e.getMessage()); } return baseModels; } @@ -3147,7 +3177,7 @@ * @return 澶勭悊鐘舵�� */ @Override - public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) throws Exception { + public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) { //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃 R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType)); if(listR.getData().size() == 0){ -- Gitblit v1.9.3