Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/constant/PortalVIEnumConstant.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package com.vci.constant; public class PortalVIEnumConstant { /** * 表åç±»åæä¸¾ */ public static final String PORTALVI_VI_TYPE = "portalVIType"; /*** * 表åä¸å¡ç±»åæä¸¾ */ public static final String PORTALVI_VI_FLAG = "portalVITypeFlag"; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PortalVIDTO.java
@@ -17,6 +17,11 @@ * 0: ä¸å¡ç±»å; 1: 龿¥ç±»å. é»è®¤0 */ private short typeFlag; /** * ä¸å¡ç±»åæ¾ç¤ºå¼ */ private String typeFlagText; /** * ç±»åå */ @@ -29,6 +34,10 @@ * è§å¾ç±»å: è¾å ¥è¡¨åæå页å表 */ private short viType; /** *表åç±»å */ private String viTypeText; /** * å®ä¹è¯¦æ */ @@ -82,14 +91,32 @@ this.prm = prm; } public String getTypeFlagText() { return typeFlagText; } public void setTypeFlagText(String typeFlagText) { this.typeFlagText = typeFlagText; } public String getViTypeText() { return viTypeText; } public void setViTypeText(String viTypeText) { this.viTypeText = viTypeText; } @Override public String toString() { return "PortalVIVO{" + return "PortalVIDTO{" + "id='" + id + '\'' + ", typeFlag=" + typeFlag + ", typeFlagText='" + typeFlagText + '\'' + ", typeName='" + typeName + '\'' + ", viName='" + viName + '\'' + ", viType=" + viType + ", viTypeText='" + viTypeText + '\'' + ", prm=" + prm + '}'; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/model/PortalVIDO.java
@@ -1,7 +1,9 @@ package com.vci.model; import com.vci.constant.PortalVIEnumConstant; import com.vci.starter.web.annotation.Transient; import com.vci.starter.web.annotation.VciBtmType; import com.vci.starter.web.annotation.VciUseEnum; import com.vci.starter.web.constant.FrameWorkLcStatusConstant; /** @@ -21,7 +23,13 @@ /** * 0: ä¸å¡ç±»å; 1: 龿¥ç±»å. é»è®¤0 */ @VciUseEnum(value = PortalVIEnumConstant.PORTALVI_VI_FLAG,defaultValue = "0",showTextField = "typeFlagText") private short typeFlag; /** * ä¸å¡ç±»åæ¾ç¤ºææ¬ */ private String typeFlagText; /** * ç±»åå */ @@ -33,7 +41,12 @@ /** * è§å¾ç±»å: è¾å ¥è¡¨åæå页å表 */ @VciUseEnum(value = PortalVIEnumConstant.PORTALVI_VI_TYPE,defaultValue = "0",showTextField = "viTypeText") private short viType; /** * è§å¾ç±»åæ¾ç¤ºææ¬ */ private String viTypeText; /** * å®ä¹è¯¦æ */ @@ -87,14 +100,32 @@ this.prm = prm; } public String getTypeFlagText() { return typeFlagText; } public void setTypeFlagText(String typeFlagText) { this.typeFlagText = typeFlagText; } public String getViTypeText() { return viTypeText; } public void setViTypeText(String viTypeText) { this.viTypeText = viTypeText; } @Override public String toString() { return "PortalVIVO{" + return "PortalVIDO{" + "id='" + id + '\'' + ", typeFlag=" + typeFlag + ", typeFlagText='" + typeFlagText + '\'' + ", typeName='" + typeName + '\'' + ", viName='" + viName + '\'' + ", viType=" + viType + ", viTypeText='" + viTypeText + '\'' + ", prm='" + prm + '\'' + '}'; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/PortalVIVO.java
@@ -1,5 +1,9 @@ package com.vci.pagemodel; import com.vci.common.portal.enums.PortalVIType; import com.vci.constant.EnumIdConstant; import com.vci.starter.web.annotation.VciUseEnum; /** * * è¡¨åæ¾ç¤ºå¯¹è±¡ @@ -18,6 +22,10 @@ */ private short typeFlag; /** * ä¸å¡ç±»åæ¾ç¤ºå¼ */ private String typeFlagText; /** * ç±»åå */ private String typeName; @@ -25,10 +33,15 @@ * è§å¾å */ private String viName; /** * è§å¾ç±»å: è¾å ¥è¡¨åæå页å表 */ private short viType; /** *表åç±»å */ private String viTypeText; /** * å®ä¹è¯¦æ */ @@ -82,14 +95,32 @@ this.prm = prm; } public String getTypeFlagText() { return typeFlagText; } public void setTypeFlagText(String typeFlagText) { this.typeFlagText = typeFlagText; } public String getViTypeText() { return viTypeText; } public void setViTypeText(String viTypeText) { this.viTypeText = viTypeText; } @Override public String toString() { return "PortalVIVO{" + "id='" + id + '\'' + ", typeFlag=" + typeFlag + ", typeFlagText='" + typeFlagText + '\'' + ", typeName='" + typeName + '\'' + ", viName='" + viName + '\'' + ", viType=" + viType + ", viTypeText='" + viTypeText + '\'' + ", prm=" + prm + '}'; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebPortalVIController.java
@@ -9,19 +9,27 @@ import com.vci.pagemodel.PortalVIVO; 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; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.LangBaseUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.enumpck.ItemDblEnum; import com.vci.web.enumpck.ItemTypeEnum; import com.vci.web.service.OsPortalVIServiceI; import com.vci.web.service.WebBtmIOServiceI; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; /** @@ -56,17 +64,18 @@ /** *æ ¹æ®è¡¨åidè·åå ·ä½æ°æ® * @param id * @param viType * @return */ @GetMapping( "/getPortalVIById") @VciBusinessLog(operateName = "è·å表å/è¡¨æ ¼æ°æ®") public BaseResult getPortalVIById(@RequestBody String id,@RequestBody String viType){ public BaseResult getPortalVIById(@RequestParam("id") String id,@RequestParam("viType") String viType){ try{ PortalVIVO portalVIVO= portalVIServiceI.getPortalVIById(id,viType); return BaseResult.success(portalVIVO); }catch (Throwable e){ e.printStackTrace(); String exceptionMessage = "å建ä¸å¡ç±»åæ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); String exceptionMessage = "è·å表å/è¡¨æ ¼æ°æ®æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -110,12 +119,12 @@ */ @DeleteMapping("/deleteByIds") @VciBusinessLog(operateName = "å é¤è¡¨å/è¡¨æ ¼") public BaseResult deleteByIds(@RequestBody String ids){ public BaseResult deleteByIds(@RequestParam("ids") String ids){ try { return portalVIServiceI.delete(ids) ? BaseResult.success("å 餿åï¼"):BaseResult.fail("å é¤å¤±è´¥ï¼"); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = "å é¤è¡¨åæ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } @@ -127,7 +136,7 @@ @VciBusinessLog(operateName = "å é¤è¡¨å/è¡¨æ ¼") public BaseResult clone(@RequestBody ClonePortalVIDTOList portalVIDTOList){ try { return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("å 餿åï¼"):BaseResult.fail("å é¤å¤±è´¥ï¼"); return portalVIServiceI.clone(portalVIDTOList) ? BaseResult.success("å éæåï¼"):BaseResult.fail("å é失败ï¼"); } catch (Throwable e) { e.printStackTrace(); String exceptionMessage = "å é¤è¡¨åæ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); @@ -136,6 +145,26 @@ } } /** * å¯¼åºæ°æ®åºç表信æ¯å°excel * @param response ååºå¯¹è±¡ * @param btmTypeIds ä¸å¡ç±»åçç¼å·ï¼ç¨éå·åå² */ @PostMapping("/exportExcel") @VciBusinessLog(operateName = "导åºè¡¨å/è¡¨æ ¼å°excelä¸") public void exportExcel(String btmTypeIds,HttpServletResponse response){ String excelFileName = portalVIServiceI.exportToExcel(VciBaseUtil.str2List(btmTypeIds)); try { ControllerUtil.writeFileToResponse(response,excelFileName); } catch (IOException e) { try { ControllerUtil.writeDataToResponse(response, LangBaseUtil.getErrorMsg(e).getBytes(StandardCharsets.UTF_8),null); } catch (IOException ex) { ex.printStackTrace(); } } } /** * è·å屿§å段类å */ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PortalVIType.java
@@ -1,12 +1,15 @@ package com.vci.web.enumpck; import com.vci.common.portal.enums.GetByType; import com.vci.constant.PortalVIEnumConstant; import com.vci.starter.web.annotation.VciEnum; /** * 表åç±»å * @author xiej * */ @VciEnum(name = PortalVIEnumConstant.PORTALVI_VI_TYPE,text = "表åç±»å") public enum PortalVIType { Form("Form", "表å", (short)1), Table("Table", "è¡¨æ ¼", (short)0); @@ -81,5 +84,5 @@ public void setIntVal(short intVal) { this.intVal = intVal; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PortalVITypeFlag.java
@@ -1,12 +1,15 @@ package com.vci.web.enumpck; import com.vci.common.portal.enums.GetByType; import com.vci.constant.PortalVIEnumConstant; import com.vci.starter.web.annotation.VciEnum; /** * è¡¨åæ è®°ç±»å * @author xiej * */ @VciEnum(name = PortalVIEnumConstant.PORTALVI_VI_FLAG,text = "表åæå±ä¸å¡ç±»åæä¸¾") public enum PortalVITypeFlag { LinkType("LinkType", "龿¥ç±»åç表å", (short)1), BtmType("BtmType", "ä¸å¡ç±»åç表å", (short)0); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsPortalVIServiceI.java
@@ -74,7 +74,12 @@ */ boolean clone(ClonePortalVIDTOList portalVIDTOList)throws Throwable; /** * 导åºè¡¨å/è¡¨æ ¼çä¿¡æ¯å°Excelä¸ * @param idList ä¸å¡ç±»åçç¼å·éå * @return excelçå ¨è·¯å¾ */ String exportToExcel(Collection<String> idList); /** *æ¥è¯¢ææè¡¨åæè è¡¨æ ¼ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsPortalVIServiceImpl.java
@@ -8,6 +8,8 @@ import com.vci.dto.*; import com.vci.model.*; import com.vci.pagemodel.*; import com.vci.starter.poi.bo.WriteExcelData; import com.vci.starter.web.enumpck.VciFieldTypeEnum; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseQueryObject; import com.vci.starter.web.pagemodel.BaseResult; @@ -29,6 +31,7 @@ import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Function; import java.util.stream.Collectors; /* @@ -218,13 +221,23 @@ throw new VciBaseException("è¯·éæ©è¦å éç对象!"); } try { String typeName=clonePortalVIDTOList.getClonePortalVIDTOList().get(0).getTypeName(); PortalVI[] portalVIS= platformClientUtil.getPortalService().getPortalVIArrayByTypeName(typeName); Map<String, PortalVIVO> PortalVIMap=new HashMap<>(); if(!CollectionUtils.isEmpty(Arrays.asList(portalVIS))) { List<PortalVIVO> portalVIVOS = portalVIDOO2VOS(Arrays.asList(portalVIS)); PortalVIMap =portalVIVOS.stream().collect(Collectors.toMap(PortalVIVO::getViName, Function.identity())); } List<PortalVI> portalVIList=new ArrayList<>(); for (ClonePortalVIDTO clonedestObject : clonePortalVIDTOList.getClonePortalVIDTOList()) { String viName = clonedestObject.getViName(); PortalVIDTO portalVIDTO = clonedestObject.getOldPortalVIDTO(); String typeName = clonedestObject.getTypeName(); short typeFlag = clonedestObject.getTypeFlag(); if (viName != null) { VciBaseUtil.alertNotNull(viName, "å éåç§°ä¸å 许为空"); if( PortalVIMap.containsKey(viName)){ throw new VciBaseException("å éåç§°"+viName+"å·²åå¨ï¼è¯·æ ¸å¯¹ï¼"); } PortalVI portalVI = UITools.getService().getPortalVIById(portalVIDTO.getId()); portalVI.id = ObjectUtility.getNewObjectID36(); portalVI.viName = viName; @@ -235,7 +248,8 @@ if (typeFlag == PortalVITypeFlag.BtmType.getIntVal() || typeFlag == PortalVITypeFlag.LinkType.getIntVal()) { portalVI.typeFlag = typeFlag; } UITools.getService().savePortalVI(portalVI); platformClientUtil.getPortalService().savePortalVI(portalVI); portalVIList.add(portalVI); } } }catch (PLException e){ @@ -244,7 +258,94 @@ return true; } @Override public String exportToExcel(Collection<String> idList) { /*List<PortalVIVO> portalVIVOList= listByIds(idList); List<WriteExcelData> rowDataList = new ArrayList<>(); final int[] index = {0}; if(!CollectionUtils.isEmpty(portalVIVOList)) { portalVIVOList.stream().forEach(PortalVIVO -> { //å æ¯åç§° int rowIndex = index[0]; WriteExcelData idED = new WriteExcelData(rowIndex, 0, btmId); idED.setMerged(true); if (attributeVOS.size() > 0) { idED.setRowTo(rowIndex + attributeVOS.size() - 1 + 3); } rowDataList.add(idED); WriteExcelData nameED = new WriteExcelData(rowIndex, 1, btmTypeVO.getName()); nameED.setMerged(true); if (attributeVOS.size() > 0) { nameED.setRowTo(rowIndex + attributeVOS.size() - 1 + 3); } rowDataList.add(nameED); rowDataList.add(new WriteExcelData(rowIndex, 2, "id")); rowDataList.add(new WriteExcelData(rowIndex, 3, "ç¼å·")); rowDataList.add(new WriteExcelData(rowIndex, 4, "å符串")); rowDataList.add(new WriteExcelData(rowIndex, 5, "æ¯")); rowDataList.add(new WriteExcelData(rowIndex, 6, "50")); rowIndex++; rowDataList.add(new WriteExcelData(rowIndex, 2, "name")); rowDataList.add(new WriteExcelData(rowIndex, 3, "åç§°")); rowDataList.add(new WriteExcelData(rowIndex, 4, "å符串")); rowDataList.add(new WriteExcelData(rowIndex, 5, "æ¯")); rowDataList.add(new WriteExcelData(rowIndex, 6, "50")); rowIndex++; rowDataList.add(new WriteExcelData(rowIndex, 2, "description")); rowDataList.add(new WriteExcelData(rowIndex, 3, "æè¿°")); rowDataList.add(new WriteExcelData(rowIndex, 4, "å符串")); rowDataList.add(new WriteExcelData(rowIndex, 5, "æ¯")); rowDataList.add(new WriteExcelData(rowIndex, 6, "150")); //å¤ç屿§ rowIndex++; for (int i = 0; i < attributeVOS.size(); i++) { OsBtmTypeAttributeVO attributeVO = attributeVOS.get(i); //å æ¯å±æ§çè±æåç§° rowDataList.add(new WriteExcelData(rowIndex, 2, attributeVO.getId())); //ç¶å屿§ç䏿åç§° rowDataList.add(new WriteExcelData(rowIndex, 3, attributeVO.getName())); //屿§çç±»å rowDataList.add(new WriteExcelData(rowIndex, 4, VciFieldTypeEnum.getTextByValue(attributeVO.getAttributeDataType()))); //æ¯å¦å¯ä»¥ä¸ºç©º rowDataList.add(new WriteExcelData(rowIndex, 5, attributeVO.isNullableFlag() ? "æ¯" : "å¦")); //屿§é¿åº¦ String length = attributeVO.getAttributeLength()==null?"":attributeVO.getAttributeLength() + "" ; if (attributeVO.getPrecisionLength() != null) { length = length + "(" + attributeVO.getPrecisionLength() + "," + attributeVO.getScaleLength() == null ? "2" : (attributeVO.getScaleLength() + "") + ")" ; } rowDataList.add(new WriteExcelData(rowIndex, 6, length)); //夿³¨ rowDataList.add(new WriteExcelData(rowIndex, 7, attributeVO.getDescription() == null ? "" : attributeVO.getDescription())); rowIndex++; } index[0] = rowIndex; }); } */ return null; } public List<PortalVIVO> listByIds(Collection idList){ List<PortalVIVO> portalVIVOList=new ArrayList<>(); if(CollectionUtils.isEmpty(idList)){ throw new VciBaseException("è¯·éæ©éè¦å¯¼åºçæ°æ®"); } List<PortalVI> portalVIList=new ArrayList<>(); idList.stream().forEach(id->{ try { PortalVI portalVI= platformClientUtil.getPortalService().getPortalVIById(id.toString()); portalVIList.add(portalVI); } catch (PLException e) { e.printStackTrace(); } }); portalVIVOList= portalVIDOO2VOS(portalVIList); return portalVIVOList; } private BaseResult savePortalVIDTO(PortalVIDTO portalVIDTO,boolean isEdit) { boolean _isBtm=false; @@ -486,10 +587,13 @@ public PortalVIVO portalVIDOO2VO(PortalVI portalVI) { PortalVIVO portalVIVO=new PortalVIVO(); portalVIVO.setId(portalVI.id); portalVIVO.setTypeFlagText(PortalVITypeFlag.getByIntVal(portalVI.typeFlag).getLabel()); portalVIVO.setTypeFlag(portalVI.typeFlag); portalVIVO.setTypeName(portalVI.typeName); portalVIVO.setViName(portalVI.viName); portalVIVO.setViType(portalVI.viType); portalVIVO.setViTypeText(PortalVIType.getByIntVal(portalVI.viType).getLabel()); String prm= portalVI.prm; if(StringUtils.isNotBlank(prm)) { PRMDO prmdo = UITools.getPRM(prm); @@ -742,7 +846,13 @@ List<String> itemSelectoutFieldList= allKeyList.stream().filter(s ->!itemOutFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList()); prmItemVO.setItemSelectoutFieldList(itemSelectoutFieldList);//å¾ éæ©ç屿§å段 prmItemVO.setItemOutFieldList(itemOutFieldList);//éè¦ä½¿ç¨çéå List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList()); // List<String> itemSearchFieldList= itemOutFieldList.stream().filter(s ->!CollectionUtils.isEmpty(itemKeyFieldList).stream().map(s1 -> s1).collect(Collectors.toList()).contains(s) ).collect(Collectors.toList()); List<String> itemSearchFieldList=new ArrayList<>(); if(!CollectionUtils.isEmpty(itemKeyFieldList)){ itemSearchFieldList= itemOutFieldList.stream().filter(s ->!itemKeyFieldList.contains(s)).collect(Collectors.toList()); }else{ itemSearchFieldList=itemOutFieldList; } prmItemVO.setItemSearchFieldList(itemSearchFieldList);//å¾ æç´¢å段 prmItemVO.setItemKeyFieldList(itemKeyFieldList);//æç´¢å段 } @@ -772,7 +882,7 @@ private void initTableConfigDTOO2DOData(PRMItemDO prmItemDO,PRMItemDTO prmItemDTO){ prmItemDO.setItemOutFields(VciBaseUtil.array2String(prmItemDTO.getItemOutFieldList().toArray(new String[]{})));//éè¦ä½¿ç¨çåæ®µ prmItemDO.setItemKeyFields(VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().toArray(new String[]{})));//éè¦æç´¢çåæ®µ prmItemDO.setItemKeyFields(CollectionUtils.isEmpty(prmItemDTO.getItemKeyFieldList())?"":VciBaseUtil.array2String(prmItemDTO.getItemKeyFieldList().toArray(new String[]{})));//éè¦æç´¢çåæ®µ List<String> newItemFieldWidthList=prmItemDTO.getItemFieldWidthList().stream().map(KeyValue::getValue).distinct().collect(Collectors.toList()); prmItemDO.setItemFieldWidth(VciBaseUtil.array2String(newItemFieldWidthList.toArray(new String[]{}),":"));//åæ®µå®½åº¦ List<ItemSeniorQueryBO> itemSeniorQueryBOS= prmItemDTO.getItemSeniorQueryBOS(); @@ -805,7 +915,7 @@ private List<KeyValue> initItemFieldWidthList(String itemOutFields,String itemFieldWidth){ List<KeyValue> keyValueList=new ArrayList<>(); List<String>itemOutFieldList= VciBaseUtil.str2List(itemOutFields); List<String>itemFieldWidthList= VciBaseUtil.str2List(itemFieldWidth); List<String>itemFieldWidthList= VciBaseUtil.str2List(itemFieldWidth,":"); if(itemOutFieldList.size()>0) { for (int i = 0; i < itemOutFieldList.size(); i++) { KeyValue keyValue = new KeyValue();