From b9a4bfb0c40ed644a8c2c39f50d903b4a7c8b1ef Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期一, 05 八月 2024 18:02:13 +0800 Subject: [PATCH] 增加业务类型查询的树结构接口、获取链接类型包含的属性接口、修改查询模板接口、删除查询模板 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java | 50 ++++++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java | 24 ++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebBtmTypeController.java | 32 ++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java | 8 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java | 38 +++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java | 7 + Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java | 39 +++++++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java | 14 ++ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java | 54 ++++++++++ 9 files changed, 263 insertions(+), 3 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java index eededfb..044c644 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java @@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; +import java.text.ParseException; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -109,6 +110,27 @@ } /** + * 鑾峰彇閾炬帴绫诲瀷鍖呭惈鐨勫睘鎬� + * @param name 閾炬帴绫诲瀷鐨勭紪鍙� + * @return 灞炴�х殑淇℃伅 + */ + @GetMapping("/getAllAttributeByLink") + public BaseResult<List<OsLinkTypeAttributeVO>> getAllAttributeByLink(String name){ + + try { + List<OsLinkTypeAttributeVO> osLinkTypeAttributeVOS = linkTypeService.getAllAttributeByLink(name); + return BaseResult.dataList(osLinkTypeAttributeVOS); + } catch (PLException e) { + BaseResult objectBaseResult = new BaseResult<>(); + objectBaseResult.setCode(Integer.parseInt(e.code)); + objectBaseResult.setMsg(Arrays.toString(e.messages)); + return objectBaseResult; + } catch (ParseException e) { + throw new RuntimeException(e); + } + } + + /** * 妫�鏌ラ摼鎺ョ被鍨嬩腑鍏宠仈鐨勪笟鍔$被鍨嬬殑灞炴�ф湁涓嶅悓鐨勫唴瀹� * @param linkTypeOid 閾炬帴绫诲瀷鐨勪富閿� * @return 宸紓鐨勫睘鎬� @@ -152,7 +174,7 @@ * addFlag 鏄惁涓烘柊澧� true鏂板锛宖alse淇敼 * @return 淇濆瓨缁撴灉 */ - @GetMapping("/addAndEditLink") + @PostMapping("/addAndEditLink") public BaseResult addAndEditLink(@RequestBody LinkType linkType, Boolean addFlag){ try { return linkTypeService.addAndEditLink(linkType, addFlag); diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java index 447ebd1..a346399 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java @@ -4,9 +4,11 @@ import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTD; import com.vci.pagemodel.OsBtmTypeAttributeVO; +import com.vci.pagemodel.OsBtmTypeVO; import com.vci.pagemodel.OsLinkTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; +import com.vci.starter.web.annotation.log.VciBusinessLog; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; @@ -67,7 +69,7 @@ } /** - * 鏌ヨ妯℃澘 + * 淇濆瓨鏌ヨ妯℃澘 * @param qtd 鏌ヨ妯℃澘瀹炰綋绫� * @return 淇濆瓨缁撴灉 */ @@ -82,4 +84,38 @@ return objectBaseResult; } } + + /** + * 淇敼鏌ヨ妯℃澘 + * @param qtd 鏌ヨ妯℃澘瀹炰綋绫� + * @return 淇濆瓨缁撴灉 + */ + @PostMapping("/updateTemplate") + public BaseResult updateTemplate(@RequestBody QTD qtd){ + try { + return quereyTemplateServiceI.updateTemplate(qtd); + } catch (PLException e) { + BaseResult objectBaseResult = new BaseResult<>(); + objectBaseResult.setCode(Integer.parseInt(e.code)); + objectBaseResult.setMsg(Arrays.toString(e.messages)); + return objectBaseResult; + } + } + + /** + * 鍒犻櫎鏌ヨ妯℃澘 + * @param name 鏌ヨ妯℃澘鍚� + * @return 淇濆瓨缁撴灉 + */ + @DeleteMapping("/deleteTemplate") + public BaseResult deleteTemplate(String name){ + try { + return quereyTemplateServiceI.deleteTemplate(name); + } catch (PLException e) { + BaseResult objectBaseResult = new BaseResult<>(); + objectBaseResult.setCode(Integer.parseInt(e.code)); + objectBaseResult.setMsg(Arrays.toString(e.messages)); + return objectBaseResult; + } + } } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebBtmTypeController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebBtmTypeController.java index e460f8f..ff9459a 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebBtmTypeController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebBtmTypeController.java @@ -8,6 +8,7 @@ import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; +import com.vci.starter.web.pagemodel.Tree; import com.vci.starter.web.util.BeanUtil; import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.LangBaseUtil; @@ -100,6 +101,37 @@ } } + + /** + * 鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛� + * @return 鏌ヨ缁撴灉 + */ + @GetMapping( "/getTreeBizTypes") + @VciBusinessLog(operateName = "鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛�") + @VciUnCheckRight + public BaseResult<List<Tree>> getTreeBizTypes(){ + try { + return btmService.getTreeBizTypes(); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "鑾峰彇涓氬姟绫诲瀷鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 鑾峰彇涓氬姟绫诲瀷鍖呭惈鐨勫睘鎬� + * @param btmId 涓氬姟绫诲瀷鍚嶇О + * @return 灞炴�х殑淇℃伅 + */ + @GetMapping(value = "/getAllAttributesByBtmId") + @VciBusinessLog(operateName = "鏌ョ湅涓氬姟绫诲瀷鐨勫睘鎬�") + public BaseResult<List<OsBtmTypeAttributeVO>> getAllAttributesByBtmId(String btmId){ + List<OsBtmTypeAttributeVO> osBtmTypeAttributeVOS = btmService.listAttributeByBtmIdHasDefault(btmId); + return BaseResult.dataList(osBtmTypeAttributeVOS); + } + /** * 鍙傜収鐨勪笟鍔$被鍨� * @param baseQueryObject 鏌ヨ鏉′欢 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java index 141ddf0..e1c77c4 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java @@ -6,8 +6,10 @@ import com.vci.pagemodel.OsBtmTypeVO; import com.vci.pagemodel.OsERVO; import com.vci.pagemodel.OsUsedAttributeVO; +import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; +import com.vci.starter.web.pagemodel.Tree; import java.util.Collection; import java.util.List; @@ -150,4 +152,10 @@ * @return 鎵ц缁撴灉 */ OsERVO createERUsed(String btmId); + + /** + * 鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛� + * @return 鏌ヨ缁撴灉 + */ + BaseResult<List<Tree>> getTreeBizTypes() throws PLException; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java index d81d452..5169a30 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java @@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.text.ParseException; import java.util.Collection; import java.util.List; import java.util.Map; @@ -159,4 +160,10 @@ * @return */ BaseResult impData(MultipartFile file) throws Exception; + /** + * 鑾峰彇閾炬帴绫诲瀷鍖呭惈鐨勫睘鎬� + * @param name 閾炬帴绫诲瀷鐨勭紪鍙� + * @return 灞炴�х殑淇℃伅 + */ + List<OsLinkTypeAttributeVO> getAllAttributeByLink(String name) throws PLException, ParseException; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java index c4458c0..c966f1c 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java @@ -31,9 +31,21 @@ */ BaseResult queryTemplateList(String btmName, Boolean linkFlag) throws PLException; /** - * 鏌ヨ妯℃澘 + * 淇濆瓨鏌ヨ妯℃澘 * @param qtd 鏌ヨ妯℃澘瀹炰綋绫� * @return 淇濆瓨缁撴灉 */ BaseResult saveTemplate(QTD qtd) throws PLException; + /** + * 淇敼鏌ヨ妯℃澘 + * @param qtd 鏌ヨ妯℃澘瀹炰綋绫� + * @return 淇濆瓨缁撴灉 + */ + BaseResult updateTemplate(QTD qtd) throws PLException; + /** + * 鍒犻櫎鏌ヨ妯℃澘 + * @param name 鏌ヨ妯℃澘鍚� + * @return 淇濆瓨缁撴灉 + */ + BaseResult deleteTemplate(String name) throws PLException; } diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java index ef49c4b..b20f4bc 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java @@ -8,8 +8,10 @@ import com.vci.starter.web.annotation.log.VciUnLog; import com.vci.starter.web.enumpck.BooleanEnum; import com.vci.starter.web.exception.VciBaseException; +import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; +import com.vci.starter.web.pagemodel.Tree; import com.vci.starter.web.util.BeanUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.util.VciDateUtil; @@ -17,6 +19,7 @@ import com.vci.web.util.ConcurrentDateFormat; import com.vci.web.util.Func; import com.vci.web.util.PlatformClientUtil; +import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -522,6 +525,53 @@ ervo.setTabRelViewList(relationVOList); return ervo; } + /** + * 鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛� + * @return 鏌ヨ缁撴灉 + */ + @Override + public BaseResult<List<Tree>> getTreeBizTypes() throws PLException { + List<Tree> rootTreeList = new ArrayList<>(); + BizType[] bizTypes = getBizTypes(""); + BizType btItem = null; + for(int i = 0; i < bizTypes.length; i++){ + btItem = bizTypes[i]; + if(btItem.fName.equals("")){ + Tree tree = new Tree(); + tree.setOid(btItem.oid); + tree.setParentName(null); + tree.setParentId(null); + tree.setLeaf(true); + tree.setText(btItem.description); + tree.setAttributes(WebUtil.objectToMapString(btItem)); + tree.setChildren(getChildren(bizTypes,btItem)); + rootTreeList.add(tree); + } + } + + return BaseResult.success(rootTreeList); + } + + private List<Tree> getChildren(BizType[] bizTypes,BizType parentBIzType){ + List<Tree> trees= new ArrayList<>(); + for (BizType bizType : bizTypes) { + if(StringUtils.isBlank(bizType.fName)){ + continue; + } + if(bizType.fName.equals(parentBIzType.name)){ + Tree tree = new Tree(); + tree.setOid(bizType.oid); + tree.setParentName(parentBIzType.fName); + tree.setParentId(parentBIzType.oid); + tree.setLeaf(true); + tree.setText(bizType.description); + tree.setAttributes(WebUtil.objectToMapString(bizType)); + tree.setChildren(getChildren(bizTypes,bizType)); + trees.add(tree); + } + } + return trees; + } /** * 灏嗕笟鍔$被鍨嬫嫾鎺son diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java index 58a4810..0395363 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java @@ -12,6 +12,7 @@ import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.ltm.LinkTypeServicePrx; import com.vci.dto.OsAttributeDTO; +import com.vci.omd.constants.AttributeConstants; import com.vci.omd.constants.LinkTypeConstants; import com.vci.omd.utils.ObjectTool; import com.vci.pagemodel.*; @@ -47,6 +48,8 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -692,6 +695,57 @@ FileUtil.del(defaultTempFolder + File.separator); return BaseResult.success("閾炬帴绫诲瀷瀵煎叆鎴愬姛锛�"); } + /** + * 鑾峰彇閾炬帴绫诲瀷鍖呭惈鐨勫睘鎬� + * @param name 閾炬帴绫诲瀷鐨勭紪鍙� + * @return 灞炴�х殑淇℃伅 + */ + @Override + public List<OsLinkTypeAttributeVO> getAllAttributeByLink(String name) throws PLException, ParseException { + AttributeDef[] attributes = platformClientUtil.getLinkTypeService().getAttributes(name); + AttributeDef[] sysAttributeDefs = platformClientUtil.getLinkTypeService().getSysAttributeDefs(); + List<OsLinkTypeAttributeVO> links = new ArrayList<>(); + for (AttributeDef sysAttributeDef : sysAttributeDefs) { + OsLinkTypeAttributeVO vo = new OsLinkTypeAttributeVO(); + vo.setOid(sysAttributeDef.oid); + vo.setAttrDataType(sysAttributeDef.vtDataType); + vo.setPkLinkType(name); + vo.setCreateTime(new Date(sysAttributeDef.createTime)); + vo.setCreator(sysAttributeDef.creator); + vo.setDefaultValue(sysAttributeDef.defValue); + vo.setDescription(sysAttributeDef.description); + vo.setRange(sysAttributeDef.rage); + vo.setId(sysAttributeDef.name); + vo.setName(sysAttributeDef.label); + vo.setLastModifier(sysAttributeDef.modifier); + vo.setLastModifyTime(new Date(sysAttributeDef.modifyTime)); + links.add(vo); + } + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (AttributeDef attribute : attributes) { + OsLinkTypeAttributeVO vo = new OsLinkTypeAttributeVO(); + vo.setOid(attribute.oid); + vo.setAttrDataType(attribute.vtDataType); + vo.setPkLinkType(name); + vo.setCreateTime(new Date(attribute.createTime)); + vo.setCreator(attribute.creator); + vo.setDefaultValue(attribute.defValue); + vo.setDescription(attribute.description); + vo.setRange(attribute.rage); + vo.setId(attribute.name); + vo.setName(attribute.label); + vo.setTs(formatter.parse(attribute.ts)); + vo.setLastModifier(attribute.modifier); + vo.setOwner(attribute.creator); + vo.setLastModifyTime(new Date(attribute.modifyTime)); + String maxLength = AttributeConstants.getOtherValueByType(attribute.other, AttributeConstants.LENGTH); + if(StringUtils.isNotBlank(maxLength)){ + vo.setAttributeLength(Integer.valueOf(maxLength)); + } + links.add(vo); + } + return links; + } /** * 淇閾炬帴绫诲瀷鐨剎ml鏂囦欢 diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java index 7b577ba..50b8418 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java @@ -99,6 +99,45 @@ throw new PLException("500", new String[]{"澧炲姞涓氬姟绫诲瀷鏌ヨ妯℃澘澶辫触"}); } } + /** + * 淇敼鏌ヨ妯℃澘 + * @param qtd 鏌ヨ妯℃澘瀹炰綋绫� + * @return 淇濆瓨缁撴灉 + */ + @Override + public BaseResult updateTemplate(QTD qtd) throws PLException { + //鏍¢獙鍙傛暟 + if (qtd.name.equals("")) { + throw new PLException("500", new String[]{"璇疯緭鍏ユā鏉垮畾涔夊悕"}); + } + if (!qtd.name.matches("[a-z A-Z]*")) { + throw new PLException("500", new String[]{"妯℃澘瀹氫箟鍚嶅彧鑳戒负鑻辨枃瀛楁瘝"}); + } + qtd.createTime = System.currentTimeMillis(); + boolean updateFlag = false; + //杩涜淇濆瓨 + updateFlag = platformClientUtil.getQTDService().modifyQTD(qtd); + if (updateFlag) { + return BaseResult.success("淇敼涓氬姟绫诲瀷鏌ヨ妯℃澘鎴愬姛"); + } else { + throw new PLException("500", new String[]{"淇敼涓氬姟绫诲瀷鏌ヨ妯℃澘澶辫触"}); + } + } + /** + * 鍒犻櫎鏌ヨ妯℃澘 + * @param name 鏌ヨ妯℃澘鍚� + * @return 淇濆瓨缁撴灉 + */ + @Override + public BaseResult deleteTemplate(String name) throws PLException { + boolean flag = false; + flag = platformClientUtil.getQTDService().deleteQTD(name); + if (flag) { + return BaseResult.success("鍒犻櫎鏌ヨ妯℃澘鎴愬姛"); + } else { + return BaseResult.fail("鍒犻櫎鏌ヨ妯℃澘澶辫触"); + } + } /** * 鏍¢獙鍙傛暟 -- Gitblit v1.9.3