Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/PLActionExpDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package com.vci.dto; import lombok.Data; import java.util.List; /** * Action导åºä¼ è¾å¯¹è±¡ * @author yuxc * @date 2024/8/27 17:46 */ @Data public class PLActionExpDTO implements java.io.Serializable{ /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = 2009350578651813260L; /** * éæ©å¯¼åºæ°æ®çæ¨¡å¼ */ private String dataType;//éæ©å¯¼åºæ°æ®çæ¨¡å¼ /** * éæ©ãéæ©ãæ¨¡å¼åéè¦ä¼ æ¤åæ° */ private List<String> chooseDataOid; /** * 页ç */ private String pageNum; /** * æéè¦å¯¼åºçå */ private List<String> columnName; /** * æä»¶å */ private String fileName; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
@@ -395,12 +395,16 @@ throw new VciBaseException(String.valueOf(e.code),e.messages); } } }else if(parentId.equals("sysOptionNode")){ }else if(parentId.equals("operateNode")){ //å è½½æææä½ try{ //å°è¿åçèç¹å¤å±å¥ä¸å½åç¶èç¹ MenuVO parentNode = JsonConfigReader.getSysModuleConf().getOperateNode(); List<MenuVO> menuVOS = new ArrayList<>(); //妿æ¥è¯¢çæ¯ç¬¬ä¸å±èç¹å°±éè¦ç´æ¥è¿åsysOptionNodeèç¹ if(Func.isNotBlank(modeType) && modeType.equals("firstNode")){ menuVOList.add(parentNode); return menuVOList; } OperateInfo[] operateInfos = platformClientUtil.getFrameworkService().getOperateTreeList(parentId); for(int i = 0; i < operateInfos.length;i++ ){ OperateInfo operateInfo = operateInfos[i]; @@ -416,10 +420,8 @@ menuVO.setSort((int) operateInfo.seq); menuVO.setModeType("operateObject"); menuVO.setHasChildren(false); menuVOS.add(menuVO); menuVOList.add(menuVO); } parentNode.setChildren(menuVOS); menuVOList.add(parentNode); }catch (PLException e) { e.printStackTrace(); throw new VciBaseException(String.valueOf(e.code),new String[]{VciBaseUtil.getExceptionMessage(e)}); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -1,7 +1,6 @@ package com.vci.web.controller; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.corba.framework.data.AppConfigDetailInfo; import com.vci.corba.framework.data.FuncOperationInfo; import com.vci.corba.framework.data.OperateInfo; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; @@ -9,7 +8,6 @@ import com.vci.pagemodel.AppConfigDetailInfoVO; import com.vci.pagemodel.ExpExcelConditionVO; import com.vci.pagemodel.MenuVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.util.ControllerUtil; @@ -19,7 +17,6 @@ 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 org.springframework.web.multipart.MultipartFile; @@ -188,7 +185,7 @@ return BaseResult.success(hmSysModConfigService.addOperationType(operateInfo),"æ·»å æä½ç±»åæå"); }catch (Exception e){ e.printStackTrace(); String errorMsg = "å 餿¨¡åæ¶åºç°é误ï¼åå ï¼"+ VciBaseUtil.getExceptionMessage(e); String errorMsg = "æ·»å æä½ç±»åæ¶åºç°é误ï¼åå ï¼"+ VciBaseUtil.getExceptionMessage(e); logger.error(errorMsg); throw new VciBaseException(errorMsg); } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsActionController.java
@@ -3,11 +3,15 @@ import com.vci.corba.common.PLException; import com.vci.dto.PLActionClsDTO; import com.vci.dto.PLActionDTO; import com.vci.dto.PLActionExpDTO; import com.vci.dto.PLActionQueryDTO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.OsActionServiceI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -149,7 +153,7 @@ } /** * 导åºAction * 导åºActionåç±» * @return */ @PostMapping("/exportBeans") @@ -157,4 +161,30 @@ osActionServiceI.exportBeans(actionOid, response); } /** * å¯¼å ¥Action * @param file ä¸ä¼ çæä»¶ * @return */ @PostMapping("/impData") public BaseResult impData(MultipartFile file){ try { return osActionServiceI.impData(file); }catch (Throwable e) { throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e); } } /** * 导åºAction * @param plActionExpDTO 导åºå±æ§è®¾ç½®å¯¹è±¡ */ @PostMapping("/exportAction") public void exportAction(@RequestBody PLActionExpDTO plActionExpDTO, HttpServletResponse response) throws PLException { try { osActionServiceI.exportAction(plActionExpDTO, response); }catch (Throwable e) { throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e); } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsQueryTemplateController.java
@@ -147,6 +147,39 @@ } /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ä¸çæ¥è¯¢æ¡ä»¶çæ¥è¯¢æé®æ¥è¯¢listå表 * @param qtInfoDTO * @return æ¥è¯¢ç»æ */ @PostMapping("/getCriteriaBtm") public BaseResult getCriteriaBtm(@RequestBody QTInfoDTO qtInfoDTO){ try { return quereyTemplateServiceI.getCriteriaBtm(qtInfoDTO); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * æ¥è¯¢æ¡ä»¶ä¸çéæ©æ¥è¯¢æ¨¡æ¿å¯¹è¯æ¡ï¼æ¥è¯¢å ¨é¨æ¨¡æ¿åæå¯¹åºçä¸å¡ç±»åæé¾æ¥ç±»ååï¼ * @return */ @GetMapping("/getAllQTs") public BaseResult getAllQTs(){ try { return quereyTemplateServiceI.getAllQTs(); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * æ¥è¯¢æ¨¡æ¿å表 * @param btName ç±»ååç§° * @return æ¥è¯¢ç»æ @@ -258,4 +291,78 @@ return objectBaseResult; } } /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ä¿å * @param qtInfoDTO ä¿åä¼ è¾å¯¹è±¡ * @return ä¿åç»æ */ @PostMapping("/btmSave") public BaseResult btmSave(@RequestBody QTInfoDTO qtInfoDTO){ try { return quereyTemplateServiceI.btmSave(qtInfoDTO); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * æ´æ°æ°æ®åºç»æ * @return æ´æ°ç»æ */ @PostMapping("/updateDBStructure") public BaseResult btmSave(){ try { return quereyTemplateServiceI.updateDBStructure(); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿æ æ¥è¯¢ï¼ç¨äºçé¢ç导åºåè½ * @return æ¥è¯¢ç»æ */ @GetMapping("/getBtmQtTree") public BaseResult getBtmQtTree(){ try { return quereyTemplateServiceI.getBtmQtTree(); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * 导åºä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ * names æ¥è¯¢æ¨¡æ¿å * @return */ @PostMapping("/expBtmQTTemplate") public void expBtmQTTemplate(@RequestBody List<String> names,HttpServletResponse response) throws PLException, IOException { quereyTemplateServiceI.expBtmQTTemplate(names, response); } /** * å¯¼å ¥ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ * @param file ä¸ä¼ çæä»¶ * @return å¯¼å ¥ç»æ */ @PostMapping("/impBtmTemplate") public BaseResult impBtmTemplate(MultipartFile file){ try { return quereyTemplateServiceI.impBtmTemplate(file); }catch (Throwable e) { throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e); } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebBtmTypeController.java
@@ -403,7 +403,15 @@ @GetMapping(value = "/getAllAttributesByBtmId") @VciBusinessLog(operateName = "æ¥çä¸å¡ç±»åç屿§") public BaseResult<List<OsBtmTypeAttributeVO>> getAllAttributesByBtmId(String btmId){ List<OsBtmTypeAttributeVO> osBtmTypeAttributeVOS = btmService.listAttributeByBtmIdHasDefault(btmId); List<OsBtmTypeAttributeVO> osBtmTypeAttributeVOS = null; try { osBtmTypeAttributeVOS = btmService.listAttributeByBtmIdHasDefault(btmId); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); throw new VciBaseException(exceptionMessage); } return BaseResult.dataList(osBtmTypeAttributeVOS); } @@ -457,7 +465,15 @@ String hasDefaultAttr = baseQueryObject.getConditionMap().getOrDefault("hasDefaultAttr","false"); String attrId = baseQueryObject.getConditionMap().containsKey("name")?baseQueryObject.getConditionMap().get("name").replace("*",""):""; String attrName = baseQueryObject.getConditionMap().containsKey("label") ? baseQueryObject.getConditionMap().get("label").replace("*","") : ""; List<OsBtmTypeAttributeVO> boAttrs = btmService.listAttributeByBtmId(btmTypeId); List<OsBtmTypeAttributeVO> boAttrs = null; try { boAttrs = btmService.listAttributeByBtmId(btmTypeId); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); throw new VciBaseException(exceptionMessage); } if(boAttrs == null){ boAttrs = new ArrayList<>(); } @@ -505,7 +521,15 @@ String attrId = baseQueryObject.getConditionMap().containsKey("name")?baseQueryObject.getConditionMap().get("name").replace("*",""):""; String attrName = baseQueryObject.getConditionMap().containsKey("label") ? baseQueryObject.getConditionMap().get("label").replace("*","") : ""; OsBtmTypeVO btmTypeVO = btmService.selectByOid(btmTypeOid); List<OsBtmTypeAttributeVO> boAttrs = btmService.listAttributeByBtmId(btmTypeVO.getId()); List<OsBtmTypeAttributeVO> boAttrs = null; try { boAttrs = btmService.listAttributeByBtmId(btmTypeVO.getId()); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); throw new VciBaseException(exceptionMessage); } List<OsBtmTypeAttributeVO> attrList = boAttrs.stream().filter(s->{ boolean usedFlag = true; if(StringUtils.isNotBlank(attrId) && !s.getId().contains(attrId)){ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/WebCodeGenSchemaController.java
@@ -1,5 +1,7 @@ package com.vci.web.controller; import com.vci.corba.common.PLException; 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; @@ -7,6 +9,7 @@ import com.vci.starter.web.util.LangBaseUtil; import com.vci.dto.OsCodeGenSchemaDTO; import com.vci.pagemodel.OsCodeGenSchemaVO; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.OsCodeGenSchemaServiceI; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -71,8 +74,14 @@ */ @PostMapping(value = "/productCodeFile") public BaseResult productCodeFile(String oid){ codeGenSchemaService.productCodeFile(oid); return BaseResult.success(); try { codeGenSchemaService.productCodeFile(oid); return BaseResult.success(); } catch (PLException e) { e.printStackTrace(); String exceptionMessage = VciBaseUtil.getExceptionMessage(e); throw new VciBaseException(exceptionMessage); } } /** Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/ActionEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,132 @@ package com.vci.web.enumpck; import com.vci.pagemodel.KeyValue; import com.vci.starter.web.enumpck.BaseEnum; import java.util.ArrayList; import java.util.List; /** * Actionæä¸¾ * @author yuxc * */ public enum ActionEnum implements BaseEnum{ EXP_CHOOSE("0","éæ©"), EXP_ALL("1","å ¨é¨"), EXP_PAGE("2","页ç "), CLOUMN_PLNAME("åç§°","plName"), CLOUMN_PLCODE("ç¼å·","plCode"), CLOUMN_PLBSURL("类路å¾","plBSUrl"), CLOUMN_PLCSCLASS("龿¥å°å","plCSClass"), CLOUMN_PLDESC("æè¿°","plDesc"), CLOUMN_PLTYPETYPE("ç±»å","plTypeType"); /** * æä¸¾çå¼ */ private String value; /** * æä¸¾æ¾ç¤ºææ¬ */ private String text; /** * è·åæä¸¾å¼ * * @return æä¸¾å¼ */ @Override public String getValue() { return value; } /** * 设置æä¸¾å¼ * * @param value æä¸¾å¼ */ public void setValue(String value) { this.value = value; } /** * è·åæä¸¾æ¾ç¤ºææ¬ * * @return æ¾ç¤ºææ¬ */ @Override public String getText() { return text; } /** * 设置æ¾ç¤ºææ¬ * * @param text æ¾ç¤ºææ¬ */ public void setText(String text) { this.text = text; } ActionEnum(String value, String text) { this.value = value; this.text = text; } /** * æ ¹æ®åç§°è·å对åºçæä¸¾å¼ * * @param text åç§° * @return æä¸¾å¼ */ public static String getValueByText(String text) { for (ActionEnum actionEnum : ActionEnum.values()) { if (actionEnum.getText().equalsIgnoreCase(text)) { return actionEnum.getValue(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·ååç§° * * @param value æä¸¾å¼ * @return åç§° */ public static String getTextByValue(String value) { for (ActionEnum actionEnum : ActionEnum.values()) { if (actionEnum.getValue().equalsIgnoreCase(value)) { return actionEnum.getText(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·åæä¸¾å¯¹è±¡ * * @param value æä¸¾å¼ * @return æä¸¾å¯¹è±¡ï¼ä¸å卿¶åè¿ånull */ public static ActionEnum forValue(String value) { for (ActionEnum actionEnum : ActionEnum.values()) { if (actionEnum.getValue().equalsIgnoreCase(value)) { return actionEnum; } } return null; } /** * æ ¹æ®æä¸¾å¼è·ååç§° * * @return åç§° */ public static List<KeyValue> getActionAll() { List<KeyValue> enumDataList=new ArrayList<>(); for (ActionEnum actionEnum : ActionEnum.values()) { KeyValue enumData=new KeyValue(); enumData.setKey(actionEnum.value); enumData.setValue(actionEnum.text); enumDataList.add(enumData); } return enumDataList; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/enumpck/PlTypetypeEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,128 @@ package com.vci.web.enumpck; import com.vci.pagemodel.KeyValue; import com.vci.starter.web.enumpck.BaseEnum; import java.util.ArrayList; import java.util.List; /** * Actionæä¸¾ * @author yuxc * */ public enum PlTypetypeEnum implements BaseEnum{ BUSINESS("business","ä¸å¡ç±»å"), LINK("link","龿¥ç±»å"); /** * æä¸¾çå¼ */ private String value; /** * æä¸¾æ¾ç¤ºææ¬ */ private String text; /** * è·åæä¸¾å¼ * * @return æä¸¾å¼ */ @Override public String getValue() { return value; } /** * 设置æä¸¾å¼ * * @param value æä¸¾å¼ */ public void setValue(String value) { this.value = value; } /** * è·åæä¸¾æ¾ç¤ºææ¬ * * @return æ¾ç¤ºææ¬ */ @Override public String getText() { return text; } /** * 设置æ¾ç¤ºææ¬ * * @param text æ¾ç¤ºææ¬ */ public void setText(String text) { this.text = text; } PlTypetypeEnum(String value, String text) { this.value = value; this.text = text; } /** * æ ¹æ®åç§°è·å对åºçæä¸¾å¼ * * @param text åç§° * @return æä¸¾å¼ */ public static String getValueByText(String text) { for (PlTypetypeEnum actionEnum : PlTypetypeEnum.values()) { if (actionEnum.getText().equalsIgnoreCase(text)) { return actionEnum.getValue(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·ååç§° * * @param value æä¸¾å¼ * @return åç§° */ public static String getTextByValue(String value) { for (PlTypetypeEnum actionEnum : PlTypetypeEnum.values()) { if (actionEnum.getValue().equalsIgnoreCase(value)) { return actionEnum.getText(); } } return ""; } /** * æ ¹æ®æä¸¾å¼è·åæä¸¾å¯¹è±¡ * * @param value æä¸¾å¼ * @return æä¸¾å¯¹è±¡ï¼ä¸å卿¶åè¿ånull */ public static PlTypetypeEnum forValue(String value) { for (PlTypetypeEnum actionEnum : PlTypetypeEnum.values()) { if (actionEnum.getValue().equalsIgnoreCase(value)) { return actionEnum; } } return null; } /** * æ ¹æ®æä¸¾å¼è·ååç§° * * @return åç§° */ public static List<KeyValue> getActionAll() { List<KeyValue> enumDataList=new ArrayList<>(); for (PlTypetypeEnum actionEnum : PlTypetypeEnum.values()) { KeyValue enumData=new KeyValue(); enumData.setKey(actionEnum.value); enumData.setValue(actionEnum.text); enumDataList.add(enumData); } return enumDataList; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/other/BtmQTExportData.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,65 @@ package com.vci.web.other; import com.vci.corba.omd.btm.BizType; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTD; import com.vci.corba.omd.qtm.QTInfo; import java.io.Serializable; import java.util.HashMap; import java.util.Map; /** * æ¥è¯¢ä¸å¡ç±»å模æ¿å¯¼åºæ°æ®ç±»ï¼å¯åºååä¸ºæ¨¡æ¿æä»¶,åæ¶ä¹å ¼å¯¼åºæ°æ®æ§å¶ç±» * @Title :QTExportData.java * @Description : * @Copyright :å®åè¿è¾¾ç§ææéå ¬å¸ * @Author :å¹³å°ä¸è§åé¨/ZhongGY/E-mail:zhonggy@vci-tech.com * @Date :2015-6-8 * @Version :1 * @Other :äº§çæ³¨é:Alt+Shift+J */ public class BtmQTExportData implements Serializable{ private static final long serialVersionUID = 1L; /** * éè¦åºååçæ¨¡æ¿æ°æ® */ // private Map<String/*ç±»ååç§°*/, BizType/*ç±»å对象*/> selectedBtmItems = new HashMap<String, BizType>(); private Map<String/*ç±»ååç§°*/,String[]/*ç±»åæå±å±æ§*/> selectedBtmAttrs = new HashMap<String, String[]>(); private Map<String/*æ¥è¯¢æ¨¡æ¿åç§°*/, QTInfo/*æ¥è¯¢æ¨¡æ¿å¯¹è±¡*/> allSelectedQTs = new HashMap<String, QTInfo>(); private Map<String/*ç±»ååç§°*/, QTD[]/*æ¥è¯¢æ¨¡æ¿å®ä¹*/> allQTDs = new HashMap<String, QTD[]>(); public Map<String, BizType> getSelectedBtmItems() { return selectedBtmItems; } public void setSelectedBtmItems(Map<String, BizType> selectedBtmItems) { this.selectedBtmItems = selectedBtmItems; } public Map<String, String[]> getSelectedBtmAttrs() { return selectedBtmAttrs; } public void setSelectedBtmAttrs(Map<String, String[]> selectedBtmAttrs) { this.selectedBtmAttrs = selectedBtmAttrs; } public Map<String, QTD[]> getAllQTDs() { return allQTDs; } public void setAllQTDs(Map<String, QTD[]> allQTDs) { this.allQTDs = allQTDs; } public Map<String, QTInfo> getAllQTs() { return allSelectedQTs; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsActionServiceI.java
@@ -3,9 +3,11 @@ import com.vci.corba.common.PLException; import com.vci.dto.PLActionClsDTO; import com.vci.dto.PLActionDTO; import com.vci.dto.PLActionExpDTO; import com.vci.dto.PLActionQueryDTO; import com.vci.starter.web.pagemodel.BaseResult; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.FileNotFoundException; @@ -65,4 +67,15 @@ * @return */ void exportBeans(List<String> actionOid, HttpServletResponse response) throws PLException, IOException; /** * å¯¼å ¥Action * @param file ä¸ä¼ çæä»¶ * @return */ BaseResult impData(MultipartFile file) throws IOException, PLException; /** * 导åºAction * @param plActionExpDTO 导åºå±æ§è®¾ç½®å¯¹è±¡ */ void exportAction(PLActionExpDTO plActionExpDTO, HttpServletResponse response) throws PLException, IOException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsBtmServiceI.java
@@ -114,14 +114,14 @@ * @param btmId ä¸å¡ç±»åçç¼å· * @return 屿§çå 容 */ List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId); List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId) throws PLException; /** * æ ¹æ®ä¸å¡ç±»åè·åå å«ç屿§--å å«åºç¡å±æ§ * @param btmId ä¸å¡ç±»åçç¼å· * @return 屿§çå 容 */ List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId); List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId) throws PLException; /** * åç §ä¸å¡ç±»å Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsCodeGenSchemaServiceI.java
@@ -1,4 +1,5 @@ package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; @@ -59,7 +60,7 @@ * @param oid æ¹æ¡çä¸»é® * @throws VciBaseException åæ°ä¸ºç©ºï¼æ¹æ¡ä¸åå¨ä¼æåºå¼å¸¸ */ void productCodeFile(String oid) throws VciBaseException; void productCodeFile(String oid) throws VciBaseException, PLException; /** * é¢è§ä»£ç æä»¶ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsQuereyTemplateServiceI.java
@@ -3,6 +3,7 @@ import com.vci.corba.common.PLException; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTD; import com.vci.corba.omd.qtm.QTInfo; import com.vci.dto.QTInfoDTO; import com.vci.pagemodel.OsBtmTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeAttributeVO; @@ -52,7 +53,6 @@ */ BaseResult deleteTemplate(String name) throws PLException; /** * * @param qtInfoDTO ä¼ è¾çæ°æ®å¯¹è±¡ï¼ * linkTypeName 龿¥ç±»åã * rdPositive æ¹åï¼trueæ£åï¼falseåå @@ -106,4 +106,52 @@ * @return æä½ç»æ */ BaseResult deleteLinkTemplate(List<String> templateNames) throws PLException; /** * æ¥è¯¢æ¡ä»¶ä¸çæ¥è¯¢æé® * @param qtInfoDTO * @return * @throws PLException */ BaseResult getCriteriaBtm(QTInfoDTO qtInfoDTO) throws PLException; /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ä¿å * @param qtInfoDTO ä¿åä¼ è¾å¯¹è±¡ * @return ä¿åç»æ */ BaseResult btmSave(QTInfoDTO qtInfoDTO) throws PLException; /** * æ´æ°æ°æ®åºç»æ * @return ä¿åç»æ */ BaseResult updateDBStructure() throws PLException; /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿æ æ¥è¯¢ï¼ç¨äºçé¢ç导åºåè½ * @return æ¥è¯¢ç»æ */ BaseResult getBtmQtTree() throws PLException; /** * 导åºä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ * names æ¥è¯¢æ¨¡æ¿å * @return */ void expBtmQTTemplate(List<String> names, HttpServletResponse response) throws PLException,IOException ; /** * æ¥è¯¢æ¡ä»¶ä¸çéæ©æ¥è¯¢æ¨¡æ¿å¯¹è¯æ¡ï¼æ¥è¯¢å ¨é¨æ¨¡æ¿åæå¯¹åºçä¸å¡ç±»åæé¾æ¥ç±»ååï¼ * @return */ BaseResult getAllQTs() throws PLException; /** * å¯¼å ¥ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ * @param file ä¸ä¼ çæä»¶ * @return å¯¼å ¥ç»æ */ BaseResult impBtmTemplate(MultipartFile file) throws IOException, ClassNotFoundException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
@@ -1,27 +1,34 @@ package com.vci.web.service.impl; import cn.hutool.core.io.FileUtil; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.corba.common.PLException; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTInfo; import com.vci.corba.portal.data.Constraint; import com.vci.corba.portal.data.PLAction; import com.vci.corba.portal.data.PLActionCls; import com.vci.corba.portal.data.PLActionParam; import com.vci.dto.PLActionClsDTO; import com.vci.dto.PLActionDTO; import com.vci.dto.PLActionExpDTO; import com.vci.dto.PLActionQueryDTO; import com.vci.pagemodel.OsAttributeVO; import com.vci.starter.poi.bo.WriteExcelData; import com.vci.starter.poi.bo.WriteExcelOption; import com.vci.starter.poi.util.ExcelUtil; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.LangBaseUtil; import com.vci.starter.web.util.LocalFileUtil; import com.vci.web.enumpck.ActionEnum; import com.vci.web.enumpck.PlTypetypeEnum; import com.vci.web.other.ExportActionLogBean; import com.vci.web.other.ExportBeans; import com.vci.web.other.LinkQTExportData; import com.vci.web.service.*; import com.vci.web.util.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.*; @@ -302,7 +309,7 @@ @Override public void exportBeans(List<String> actionOid, HttpServletResponse response) throws PLException, IOException { String defaultTempFolder = LocalFileUtil.getDefaultTempFolder(); String vciqtmfFileName = defaultTempFolder + File.separator + "actionTemplateExp" + new Date().getTime() + ".vciamf"; String vciqtmfFileName = defaultTempFolder + File.separator + "VCIACTIONMODELFILE" + new Date().getTime() + ".vciamf"; HashMap exportBeans = new HashMap<String, Object>(); getExportBeans(actionOid, exportBeans);// è·å¾å¯¼åºBeanåæ¶ï¼è®°å½log @@ -325,6 +332,484 @@ FileUtil.del(defaultTempFolder + File.separator); } @Override public BaseResult impData(MultipartFile file) throws IOException, PLException { // å¯¼å ¥ç对象 ExportBeans exportBeans = null; if (file == null) { return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"æ å¯¼å ¥çæä»¶"}); } if (!file.getOriginalFilename().endsWith(".vciamf")) { throw new VciBaseException("ä» è½ä¸ä¼ .vciqtfæ ¼å¼æä»¶ï¼è¯·éæ°ä¸ä¼ ï¼"); } HashMap map; try { ObjectInputStream obj = new ObjectInputStream(file.getInputStream()); map = (HashMap) obj.readObject(); } catch (ClassNotFoundException e) { return BaseResult.fail("å¯¼å ¥å¯¹è±¡æªè·åæåï¼ï¼å¯¼å ¥å¯¹è±¡çæ¬å·ä¸åï¼"); } //æç»çæä¹ å ArrayList<PLActionCls> pLActionClsList = new ArrayList<>(); // æ´æ¢actionIdåï¼å¯ä»¥ä»æ¤å¯¼èªä¸è·å¾åæ¥çid HashMap<String /* newId */, String /* oldId */> actionIdNav = new HashMap<String /* newId */, String /* oldId */>(); // æ´æ¢actionClsIdåï¼å¯ä»¥ä»æ¤å¯¼èªä¸è·å¾åæ¥çid HashMap<String /* newId */, String /* oldId */> actionClsIdNav = new HashMap<String /* newId */, String /* oldId */>(); //ä¿åææç¶åç±»ï¼ç¨id主key HashMap<String/*id*/,PLActionCls> actionClses = new HashMap<String/*id*/,PLActionCls>(); // åå¨ç¬¦åæ¡ä»¶çPLAction ArrayList<PLAction> optionPLActionList = new ArrayList<>(); // åå¨ç¬¦åæ¡ä»¶çPLActionCls ArrayList<PLActionCls> optionPLActionClsList = new ArrayList<>(); // åºä¸çææActionå类对象 PLActionCls[] pLActionClses = null; exportBeans = (ExportBeans) map.get("exportBeans"); // æ·»å å¯¼å ¥çæ°æ® addImportData(exportBeans, pLActionClsList, actionIdNav, actionClsIdNav, optionPLActionClsList, pLActionClses, optionPLActionList); // å°PLActionCls ãPLAction 对åºçsetéåè½¬æ¢ææ°ç»ï¼å¹é åaddExportTreeNodeæ¹æ³ï¼ PLActionCls[] newPLActionClsArray = new PLActionCls[optionPLActionClsList.size()]; PLAction[] newPLActionArray = new PLAction[optionPLActionList.size()]; optionPLActionClsList.toArray(newPLActionClsArray); optionPLActionList.toArray(newPLActionArray); //æ¸ æ¥åç±»id actionClses.clear(); //ä¿åææåç±»id for (int i = 0; i < newPLActionClsArray.length; i++) { actionClses.put(newPLActionClsArray[i].id,newPLActionClsArray[i]); } //ä¿åææåå¨actionçåç±»ï¼ååç±»åå¨actionä¹ä¿åï¼ HashSet<PLActionCls> pLActionClss =new HashSet<PLActionCls> (); for (int i = 0; i < newPLActionArray.length; i++) { //ç¼å该åç±»çææç¶åç±» saveParentCls(newPLActionArray[i].plActionCls,pLActionClss,actionClses); } PLActionCls[] actionClslist = new PLActionCls[pLActionClss.size()]; pLActionClss.toArray(actionClslist); PLActionClsDTO treDto = new PLActionClsDTO(); treDto.setName("Actionåç±»"); Map<String, List<PLAction>> plActionMap = Arrays.stream(newPLActionArray).collect(Collectors.groupingBy(e -> e.plActionCls)); Map<String, List<PLActionCls>> plActionClsMap = pLActionClss.stream().collect(Collectors.groupingBy(e -> e.pid)); Map<String, List<PLActionCls>> allCls = Arrays.stream(platformClientUtil.getUIService().getPLActionClsArray()).collect(Collectors.groupingBy(e -> e.name)); // æ·»å åèç¹(æºæ èç¹) for (Map.Entry<String, PLActionCls> entry : exportBeans.getPLActionClsBeans().entrySet()) { if (StringUtils.isBlank(entry.getValue().pid)) { PLActionClsDTO parentDto = new PLActionClsDTO(); parentDto.setId(entry.getValue().id); parentDto.setName(entry.getValue().name); parentDto.setPid(entry.getValue().pid); parentDto.setDescription(entry.getValue().description); parentDto.setCreator(entry.getValue().creator); parentDto.setCreateTime(entry.getValue().createTime); parentDto.setSerialno(entry.getValue().serialno); addExportTreeNode(plActionClsMap, plActionMap, parentDto, allCls, exportBeans); treDto.getChilds().add(parentDto); } } PLActionClsDTO noDto = new PLActionClsDTO(); noDto.setName("æªåç±»"); if(plActionMap.containsKey("")){ for (PLAction plAction : plActionMap.get("")) { PLActionClsDTO childPrentDto = new PLActionClsDTO(); if (plAction.plName.endsWith("@#ä¿®æ¹$%")) { childPrentDto.setName(plAction.plCode + "/" + plAction.plName.replace("@#ä¿®æ¹$%", "ãä¿®æ¹å®æã")); plAction.plName = plAction.plName.replace("@#ä¿®æ¹$%", ""); platformClientUtil.getUIService().updatePLAction(plAction); }else if (plAction.plName.endsWith("@#åå¨å¨æªåç±»ä¸$%")) { childPrentDto.setName(plAction.plCode + "/" + plAction.plName.replace("@#åå¨å¨æªåç±»ä¸$%", "ãactionåå¨å¨æªåç±»ä¸ï¼ä¿®æ¹å®æã")); plAction.plName = plAction.plName.replace("@#åå¨å¨æªåç±»ä¸$%", ""); platformClientUtil.getUIService().updatePLAction(plAction); // plAction.plName = plAction.plName.replace("@#åå¨å¨æªåç±»ä¸$%", "ãactionåå¨å¨æªåç±»ä¸ï¼ä¿®æ¹Actionå¹¶æå¯¼å ¥æä»¶å建actionåç±»ã"); } else { childPrentDto.setName(plAction.plCode + "/" + "ãæ°å¢å®æã"); // plAction.plName += "ãæ°å¢ã"; platformClientUtil.getUIService().savePLAction(plAction); } dealParam(exportBeans, plAction); childPrentDto.setId(plAction.plOId); childPrentDto.setPid(plAction.plActionCls); noDto.getChilds().add(childPrentDto); } } treDto.getChilds().add(noDto); return BaseResult.success(treDto); } /** * 导åºAction * @param plActionExpDTO 导åºå±æ§è®¾ç½®å¯¹è±¡ */ @Override public void exportAction(PLActionExpDTO plActionExpDTO, HttpServletResponse response) throws PLException, IOException { String defaultTempFolder = LocalFileUtil.getDefaultTempFolder(); String excelPath = defaultTempFolder + File.separator + plActionExpDTO.getFileName() + ".xls"; try { new File(excelPath).createNewFile(); } catch (Throwable e) { throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e); } isValidPageForamt(plActionExpDTO); //设置å List<WriteExcelData> excelDataList = new ArrayList<>(); //设置å头 for (int index = 0; index < plActionExpDTO.getColumnName().size(); index++) { excelDataList.add(new WriteExcelData(0,index, plActionExpDTO.getColumnName().get(index))); } PLAction[] allPLAction ; if(plActionExpDTO.getDataType().equals(ActionEnum.EXP_ALL.getValue()) || plActionExpDTO.getDataType().equals(ActionEnum.EXP_PAGE.getValue())){ allPLAction = platformClientUtil.getUIService().getAllPLAction(); }else{ allPLAction = new PLAction[plActionExpDTO.getChooseDataOid().size()]; for (int i = 0; i < plActionExpDTO.getChooseDataOid().size(); i++) { allPLAction[i] = platformClientUtil.getUIService().getPLActionById(plActionExpDTO.getChooseDataOid().get(i)); } } if(Func.isEmpty(allPLAction)){ excelDataList.add(new WriteExcelData(1,1, "æ ¹æ®å±æ§åç§°æªæ¥è¯¢å°å±æ§ä¿¡æ¯ï¼è¯·å·æ°åå°è¯éæ°å¯¼åºï¼")); }else{ for (int i = 0; i < allPLAction.length; i++) { PLAction action = allPLAction[i]; List<String> columnName = plActionExpDTO.getColumnName(); for (int index = 0; index < columnName.size(); index++) { switch (columnName.get(index)){ case "ç¼å·": excelDataList.add(new WriteExcelData(i+1,index, action.plCode)); break; case "类路å¾": excelDataList.add(new WriteExcelData(i+1,index, action.plBSUrl)); break; case "龿¥å°å": excelDataList.add(new WriteExcelData(i+1,index, action.plCSClass)); break; case "æè¿°": excelDataList.add(new WriteExcelData(i+1,index, action.plDesc)); break; case "ç±»å": excelDataList.add(new WriteExcelData(i+1,index, action.plTypeType.equals(PlTypetypeEnum.BUSINESS.getValue()) ? PlTypetypeEnum.BUSINESS.getText() : PlTypetypeEnum.LINK.getText())); break; case "åç§°": excelDataList.add(new WriteExcelData(i+1,index, action.plName)); break; } } } } WriteExcelOption excelOption = new WriteExcelOption(excelDataList); ExcelUtil.writeDataToFile(excelPath, excelOption); ControllerUtil.writeFileToResponse(response,excelPath); FileUtil.del(defaultTempFolder + File.separator); } public boolean isValidPageForamt(PLActionExpDTO plActionExpDTO) throws PLException { boolean res = false; if(plActionExpDTO.getDataType().equals(ActionEnum.EXP_ALL.getValue()) || plActionExpDTO.getDataType().equals(ActionEnum.EXP_CHOOSE.getValue())) { res = true; return res; } if(StringUtils.isBlank(plActionExpDTO.getPageNum())){ throw new PLException("500", new String[]{"页ç ä¸è½ä¸ºç©º"}); } else{ int pageCount = 1;//è¿éåºå®ç±äºç颿²¡æç¿»é¡µåè½ String[] pages = plActionExpDTO.getPageNum().split("-"); // ç¨dobuleæ¥æ¶è¾å ¥çæ°æ®ï¼é²æ¢è¾å ¥è¶ 大å¼ï¼å¤§äºInteger.MAX_VALUEï¼ // è½¬æ¢æIntegerï¼è¿è¡æ¯è¾ï¼åå¨æç¤ºå 容ä¸å»ædoubleç±»åæ°æ®å¯è½ä¼åºç°çå°æ°ç¹ if(pages.length == 1){ double pageD = Double.parseDouble(pages[0]); if(pageD > Integer.MAX_VALUE){ throw new PLException("500", new String[]{"èµ·å§é¡µç " + String.valueOf(pageD) + " ä¸å¾å¤§äº " + Integer.MAX_VALUE}); }else{ int page = (int)pageD; if(page > pageCount){ throw new PLException("500", new String[]{"è¾å ¥ç页ç " + page + " ä¸å¾å¤§äºæ»é¡µæ° " + pageCount}); } else if(page > Integer.MAX_VALUE){ throw new PLException("500", new String[]{"è¾å ¥ç页ç " + page + " ä¸å¾å¤§äº " + Integer.MAX_VALUE}); } else { res = true; } } } else{ double pageStartD = Double.parseDouble(pages[0]); double pageEndD = Double.parseDouble(pages[1]); if(pageStartD > Integer.MAX_VALUE){ throw new PLException("500", new String[]{"èµ·å§é¡µç " + pageStartD + " ä¸å¾å¤§äº " + Integer.MAX_VALUE}); } else if(pageEndD > Integer.MAX_VALUE){ throw new PLException("500", new String[]{"ç»æé¡µç " + pageEndD + " ä¸å¾å¤§äº " + Integer.MAX_VALUE}); } else{ int pageStart = (int)pageStartD; int pageEnd = (int)pageEndD; if(pageStart > pageCount){ throw new PLException("500", new String[]{"èµ·å§é¡µç " + pageStart + " ä¸å¾å¤§äºæ»é¡µæ° " + pageCount}); } else if(pageEnd > pageCount){ throw new PLException("500", new String[]{"ç»æé¡µç " + pageEnd + " ä¸å¾å¤§äºæ»é¡µæ° " + pageCount}); } else if(pageStart > pageEnd){ throw new PLException("500", new String[]{"èµ·å§é¡µç " + pageStart + " ä¸å¾å¤§äºç»æé¡µç " + pageEnd}); } else{ res = true; } } } } return res; } /** * å¤çåæ°å表 * @param exportBeans å¯¼å ¥æ°æ®éå * @param plAction action对象 * @throws PLException */ private void dealParam(ExportBeans exportBeans, PLAction plAction) throws PLException { PLActionParam[] plActionParamArrayByActionId = exportBeans.getPLActionParamArrayByActionId(plAction.plOId); PLActionParam[] paramArray = platformClientUtil.getUIService().getPLActionParamArrayByActionId(plAction.plOId); Map<String, List<PLActionParam>> params = Arrays.stream(paramArray).collect(Collectors.groupingBy(e -> e.oid)); if(plActionParamArrayByActionId == null){ return; } for (PLActionParam param : plActionParamArrayByActionId) { if(params.containsKey(param)){ platformClientUtil.getUIService().editPLActionParam(param); }else { platformClientUtil.getUIService().createPLActionParam(param); } } } private void addExportTreeNode(Map<String, List<PLActionCls>> pLActionClses, Map<String, List<PLAction>> plActions, PLActionClsDTO parentDto,Map<String, List<PLActionCls>> allCls, ExportBeans exportBeans) throws PLException { //å¤çå½åèç¹ä¸çaction if(plActions.containsKey(parentDto.getId())){ for (PLAction plAction : plActions.get(parentDto.getId())) { PLActionClsDTO childPrentDto = new PLActionClsDTO(); childPrentDto.setId(plAction.plOId); if (plAction.plName.endsWith("@#ä¿®æ¹$%")) { childPrentDto.setName(plAction.plCode + "/" + plAction.plName.replace("@#ä¿®æ¹$%", "ãä¿®æ¹æåã")); // plAction.plName = plAction.plName.replace("@#ä¿®æ¹$%", "ãä¿®æ¹ã"); plAction.plName = plAction.plName.replace("@#ä¿®æ¹$%", ""); platformClientUtil.getUIService().updatePLAction(plAction); }else if (plAction.plName.endsWith("@#åå¨å¨æªåç±»ä¸$%")) { childPrentDto.setName(plAction.plCode + "/" + plAction.plName.replace("@#åå¨å¨æªåç±»ä¸$%", "ãactionåå¨å¨æªåç±»ä¸ï¼ä¿®æ¹Actionæåã")); // plAction.plName = plAction.plName.replace("@#åå¨å¨æªåç±»ä¸$%", "ãactionåå¨å¨æªåç±»ä¸ï¼ä¿®æ¹Actionå¹¶æå¯¼å ¥æä»¶å建actionåç±»ã"); plAction.plName = plAction.plName.replace("@#åå¨å¨æªåç±»ä¸$%", ""); platformClientUtil.getUIService().updatePLAction(plAction); } else { childPrentDto.setName(plAction.plCode + "/" + plAction.plName.replace("@#æ°å¢%", "ãæ°å¢æåã")); // plAction.plName += "ãæ°å¢ã"; platformClientUtil.getUIService().savePLAction(plAction); } dealParam(exportBeans, plAction); childPrentDto.setPid(plAction.plActionCls); parentDto.getChilds().add(childPrentDto); } } if(pLActionClses.containsKey(parentDto.getId())){ List<PLActionCls> plActionCls = pLActionClses.get(parentDto.getId()); for (PLActionCls plActionCl : plActionCls) { PLActionClsDTO childParentDto = new PLActionClsDTO(); childParentDto.setId(plActionCl.id); if(allCls.containsKey(childParentDto.getName())){ childParentDto.setName(plActionCl.name); }else { childParentDto.setName(plActionCl.name + "ãæ°å¢å®æã"); platformClientUtil.getUIService().creaetePLActionCls(plActionCl); } childParentDto.setPid(plActionCl.pid); childParentDto.setDescription(plActionCl.description); childParentDto.setCreator(plActionCl.creator); childParentDto.setCreateTime(plActionCl.createTime); childParentDto.setSerialno(plActionCl.serialno); addExportTreeNode(pLActionClses, plActions, childParentDto, allCls, exportBeans); parentDto.getChilds().add(childParentDto); } } } /** * ä¿åææç¶åç±» * @param plActionCls * @param pLActionClsList */ private void saveParentCls(String plActionCls, HashSet<PLActionCls> pLActionClsList, HashMap<String/*id*/,PLActionCls> actionClses) { if(actionClses.containsKey(plActionCls)){ PLActionCls pCls = actionClses.get(plActionCls); pLActionClsList.add(pCls); saveParentCls(pCls.pid, pLActionClsList, actionClses); } } private void addImportData(ExportBeans exportBeans, ArrayList<PLActionCls> pLActionClsList, HashMap<String /* newId */, String /* oldId */> actionIdNav,HashMap<String /* newId */, String /* oldId */> actionClsIdNav, ArrayList<PLActionCls> optionPLActionClsList, PLActionCls[] pLActionClses, ArrayList<PLAction> plActionList) throws PLException { HashMap<String, PLAction> pLActionBeans = exportBeans.getPLActions(); if (pLActionBeans == null) { throw new VciBaseException("å¯¼å ¥å¯¹è±¡æªè·åæåï¼ï¼"); } //æ°æ®åºä¸æ²¡æåå¨çæ°æ®å¯¹è±¡ï¼éè¦è¿è¡ä¿å // ArrayList<PLAction> plActionList = new ArrayList<>(); PLAction[] allPLAction = platformClientUtil.getUIService().getAllPLAction(); Map<String, PLAction> allPLActionMap = Arrays.stream(allPLAction).collect(Collectors.toMap(e -> e.plOId, e -> e)); Set<Map.Entry<String, PLAction>> plActions = pLActionBeans.entrySet(); for (Map.Entry<String, PLAction> entry : plActions) { PLAction plAction = entry.getValue(); PLAction plActionInDB =allPLActionMap.get(plAction.plOId); if (plActionInDB != null) { if( plActionInDB.plActionCls != ""){ plAction.plActionCls = plActionInDB.plActionCls; // plAction.plOId = newId; plAction.plName += "@#ä¿®æ¹$%"; plActionList.add(plAction); continue; }else{ plAction.plName += "@#åå¨å¨æªåç±»ä¸$%"; } } // å°è¯¥å®ä¾acionåå ¥å°plActionListä¸ plActionList.add(plAction); // å®ä¹liståå¨å½åactionå°æ°æ®åºactionçè·¯å¾ä¸çææPLActionCls对象 List<PLActionCls> plActionClsList = new ArrayList<PLActionCls>(); // è·å¾åºä¸çæè¿çPLActionCls对象 String pId = WebUtil.getSnowflakePk(); String oId = WebUtil.getSnowflakePk(); PLActionCls pLActionCls = getParentPLActionClsInDBById(plAction, pId, plActionClsList, actionClsIdNav, exportBeans, optionPLActionClsList, pLActionClses); changePLActionOID(plAction, oId, pId, actionIdNav); if (plActionClsList.size() == 1) { // å é¤"æªåç±»"å类对象 PLActionCls plActionCls = plActionClsList.get(plActionClsList .size() - 1); if(pLActionCls != null){ plAction.plActionCls = pLActionCls.id; if(plActionCls.name.equals("æªåç±»")){ plAction.plActionCls = ""; } plActionClsList.remove(plActionClsList.size() - 1); }else{ if(plActionCls.name.equals("æªåç±»")){ plActionClsList.remove(plActionClsList.size() - 1); }else{ plActionCls.pid = ""; } } } if (plActionClsList.size() >= 2) { PLActionCls plActionCls2 = plActionClsList.get(plActionClsList .size() - 2); PLActionCls plActionCls1 = plActionClsList.get(plActionClsList .size() - 1); if (pLActionCls != null) { // å°å¯¼å ¥å¯¹è±¡ä¸âåºä¸çæè¿çPLActionCls对 象ânameç¸åç对象 // çä¸ä¸ä¸ªPLActionCls对象ç¶idæ¹ä¸ºåºä¸âæè¿âPLActionCls对象id plActionClsList.remove(plActionClsList.size() - 1); plActionCls2.pid = pLActionCls.id; }else{ if(plActionCls1.name.equals("æªåç±»")){ plActionClsList.remove(plActionClsList.size() - 1); plActionCls2.pid = ""; }else{ plActionCls1.pid = ""; } } } // å¢å å°æ´ä½listä¸ç¨æ¥æç»æä¹ å pLActionClsList.addAll(plActionClsList); } } private void changePLActionOID(PLAction plAction, String oId, String pId, HashMap<String /* newId */, String /* oldId */> actionIdNav) { actionIdNav.put(oId, plAction.plOId); plAction.plOId = oId; plAction.plActionCls = pId; } /*** * è·å¾åºä¸çPLActionCls对象ï¼ç¨æ¥å«æ¥å¯¼å ¥æ¥çæ * * @param * @param plActionClsList * @return */ private PLActionCls getParentPLActionClsInDBById(Object plActionClsIdObj, String newPLActionClsId, List<PLActionCls> plActionClsList, HashMap<String /* newId */, String /* oldId */> actionClsIdNav,ExportBeans exportBeans, ArrayList<PLActionCls> optionPLActionClsList, PLActionCls[] pLActionClses) { String pId = null; if (plActionClsIdObj instanceof PLAction) { pId = ((PLAction) plActionClsIdObj).plActionCls; if(pId.equals("")){ PLActionCls noneCls = new PLActionCls("", "æªåç±»", "", "", "", 0, (short)0); plActionClsList.add(noneCls); return noneCls; } } if (plActionClsIdObj instanceof PLActionCls) { pId = ((PLActionCls) plActionClsIdObj).pid; pId = actionClsIdNav.get(pId); if(pId.equals("")){ pId = "null"; } } PLActionCls plActionCls = exportBeans.getPLActionClsBeanById(pId);// ä»å¯¼å ¥å¯¹è±¡ä¸è·å¾ç¶åç±» PLActionCls tempPLActionCls = null; if (plActionCls != null) {// plActionCls为空 è¯æç¶èç¹ä¸ºæ ¹èç¹ plActionClsList.add(plActionCls); if(optionPLActionClsList.contains(plActionCls)){ return plActionCls ; } for (PLActionCls Cls : pLActionClses) { if ((plActionCls.id.equals("") && plActionCls.name.trim() .equals("æªåç±»")) || plActionCls.name.trim().equals(Cls.name.trim())) { tempPLActionCls = Cls; } } plActionCls.id = newPLActionClsId; // ä¿®æ¹ç¶åç±»id } else { return null; } if (tempPLActionCls == null) { String newClsId = WebUtil.getSnowflakePk(); actionClsIdNav.put(newClsId, plActionCls.pid); plActionCls.pid = newClsId; return getParentPLActionClsInDBById(plActionCls, newClsId, plActionClsList, actionClsIdNav, exportBeans, optionPLActionClsList, pLActionClses); } return tempPLActionCls; } /** * å¤ç导åºç对象 * @param actionOid çé¢éæ©çactionåè¡¨æ°æ® Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsBtmServiceImpl.java
@@ -38,6 +38,7 @@ import com.vci.starter.poi.constant.ExcelLangCodeConstant; import com.vci.starter.poi.util.ExcelUtil; import com.vci.starter.web.annotation.log.VciUnLog; import com.vci.starter.web.constant.QueryOptionConstant; import com.vci.starter.web.enumpck.BooleanEnum; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; @@ -358,9 +359,14 @@ * @return 屿§çå 容 */ @Override public List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId) { public List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId) throws PLException { VciBaseUtil.alertNotNull(btmId,"ä¸å¡ç±»åçç¼å·"); OsBtmTypeVO btmTypeVO = getBtmById(btmId); BizType[] bizTypes = platformClientUtil.getBtmService().getBizTypes(btmId); if(Func.isEmpty(bizTypes)){ return new ArrayList<>(); } BizType bizType = bizTypes[0]; OsBtmTypeVO btmTypeVO = btmDO2VO(bizType); List<OsBtmTypeAttributeVO> attributes = btmTypeVO.getAttributes(); if(attributes == null){ attributes = new ArrayList<>(); @@ -375,7 +381,7 @@ * @return 屿§çå 容 */ @Override public List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId) { public List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId) throws PLException { List<OsBtmTypeAttributeVO> attrVOs = listAttributeByBtmId(btmId); if(attrVOs == null){ attrVOs = new ArrayList<>(); @@ -1216,13 +1222,15 @@ public boolean addIndex(List<IndexObject> indexObjectList) throws PLException { VciBaseUtil.alertNotNull(indexObjectList,"æ°å¢çç´¢å¼ä¿¡æ¯"); String btmName = indexObjectList.get(0).getTypeName(); String indexNames = indexObjectList.stream().map(IndexObject::getIndexName).collect(Collectors.joining()); String indexNames = indexObjectList.stream().map(IndexObject::getIndexName).collect(Collectors.joining(",")); String[] oldindexAttr = {indexNames}; BusinessObject bo; List<BusinessObject> boList = new ArrayList<>(); //å æ¥è¯¢å½åæ·»å ç´¢å¼æ¯å¦å·²ç»åå¨ï¼å¦æåå¨å°±å å é¤åæ°å¢å®ç°æ¿æ¢æä½ Map<String, String> conditionMap = new HashMap<>(); conditionMap.put("typename",btmName); //å è¿æ ·å¤çï¼å端ç°å¨åªåäºå次ä¿åï¼æä»¥ä¸ç¨in conditionMap.put("indexname", indexNames); List<IndexObject> indexObjects = getIndexByCondition(conditionMap); if(indexObjects!=null && indexObjects.size()>0){ //ç´¢å¼ä¸å卿¶å é¤å°±ä¼æ¥éç´¢å¼ä¸åå¨ï¼æä»¥è¿éæç´¢å¼æå»å é¤ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsCodeGenSchemaServiceImpl.java
@@ -1,6 +1,7 @@ package com.vci.web.service.impl; import com.alibaba.fastjson.JSONObject; import com.vci.corba.common.PLException; import com.vci.starter.revision.service.RevisionModelUtil; import com.vci.starter.web.annotation.Column; import com.vci.starter.web.constant.FrameWorkLcStatusConstant; @@ -268,7 +269,7 @@ * @throws VciBaseException åæ°ä¸ºç©ºï¼æ¹æ¡ä¸åå¨ä¼æåºå¼å¸¸ */ @Override public void productCodeFile(String oid) throws VciBaseException { public void productCodeFile(String oid) throws VciBaseException, PLException { OsCodeGenSchemaDO codeGenSchemaDO = selectByOid(oid); //å¤çä¸´æ¶æä»¶å¤¹ï¼å¨ä¸´æ¶æä»¶å¤¹ä¸æ·»å codes/{ä¸å¡ç±»åçè±æåç§°} String tempFolder =LocalFileUtil.getProjectFolder(); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsQueryTemplateImpl.java
@@ -3,11 +3,15 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ZipUtil; import com.alibaba.fastjson.JSONObject; import com.vci.client.ClientSession; import com.vci.client.common.oq.OQTool; import com.vci.client.common.providers.ClientServiceProvider; import com.vci.common.qt.object.*; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.corba.common.PLException; import com.vci.corba.omd.atm.AttributeDef; import com.vci.corba.omd.btm.BizType; import com.vci.corba.omd.data.BusinessObject; import com.vci.corba.omd.data.LinkObject; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.omd.qtm.QTD; @@ -22,8 +26,10 @@ import com.vci.starter.poi.util.ExcelUtil; 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.Tree; import com.vci.starter.web.util.*; import com.vci.web.other.BtmQTExportData; import com.vci.web.other.LinkQTExportData; import com.vci.web.service.*; import com.vci.web.util.DateUtil; @@ -32,17 +38,22 @@ import com.vci.web.util.WebUtil; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.jdesktop.swingx.JXDatePicker; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import javax.swing.*; import java.awt.*; import java.io.*; import java.util.*; import java.util.List; import java.util.stream.Collectors; /** @@ -90,7 +101,7 @@ } /** * æ¥è¯¢æ¨¡æ¿ * ä¿åæ¥è¯¢æ¨¡æ¿ * @param qtd æ¥è¯¢æ¨¡æ¿å®ä½ç±» * @return ä¿åç»æ */ @@ -150,8 +161,7 @@ } } /** * * @param dataMap ä¼ è¾çæ°æ®å¯¹è±¡ï¼ * @param qtInfoDTO ä¼ è¾çæ°æ®å¯¹è±¡ï¼ * linkTypeName 龿¥ç±»åã * rdPositive æ¹åï¼trueæ£åï¼falseåå * btmName ä¸å¡ç±»ååç§° @@ -163,7 +173,7 @@ */ @Override public BaseResult getCriteria(QTInfoDTO qtInfoDTO) throws PLException { QueryTemplate qt = getQT(qtInfoDTO); QueryTemplate qt = getQT(qtInfoDTO,true); String checkInfo = OQTool.checkQT(qt); if(!checkInfo.equals("OK")){ throw new PLException("500", new String[]{checkInfo}); @@ -189,7 +199,7 @@ qtInfoDTO.setBtmName(obj.btmName); qtInfoDTO.setQtName(obj.qtName); qtInfoDTO.setLevelFlag(obj.levelFlag); // qtInfoDTO.setQtText(obj.qtText); //qtInfoDTO.setQtText(obj.qtText); qtInfoDTO.setQtUIText(obj.qtUIText); if(StringUtils.isNotBlank(obj.qtUIText)){ //å°ç»å®çStringææ¬è§£æä¸ºXMLææ¡£å¹¶è¿åæ°å建çdocument @@ -271,7 +281,7 @@ */ @Override public BaseResult linkSave(QTInfoDTO qtInfoDTO) throws PLException { QueryTemplate qt = getQT(qtInfoDTO); QueryTemplate qt = getQT(qtInfoDTO,true); String checkInfo = OQTool.checkQT(qt); if(!checkInfo.equals("OK")){ throw new PLException("500", new String[]{checkInfo}); @@ -415,17 +425,22 @@ * ç»è£ æ¥è¯¢æ¨¡æ¿ * @return */ public QueryTemplate getQT(QTInfoDTO qtInfoDTO) throws PLException { public QueryTemplate getQT(QTInfoDTO qtInfoDTO,boolean isLinkType) throws PLException { QueryTemplate qt = new QueryTemplate(); qt.setType(QTConstants.TYPE_LINK); //TODO String qtId = qt.setLinkType(qtInfoDTO.getBtmName()); qt.setDirection(qtInfoDTO.getQueryTemplate().getDirection()); qt.setBtmType(qtInfoDTO.getQueryTemplate().getBtmType()); qt.setVersion(qtInfoDTO.getQueryTemplate().getVersion()); qt.setQueryISLeaf(qtInfoDTO.getQueryTemplate().isQueryISLeaf()); qt.setLevel(qtInfoDTO.getQueryTemplate().getLevel()); if(isLinkType){ qt.setType(QTConstants.TYPE_LINK); qt.setLinkType(qtInfoDTO.getBtmName()); qt.setDirection(qtInfoDTO.getQueryTemplate().getDirection()); qt.setBtmType(qtInfoDTO.getQueryTemplate().getBtmType()); qt.setVersion(qtInfoDTO.getQueryTemplate().getVersion()); qt.setQueryISLeaf(qtInfoDTO.getQueryTemplate().isQueryISLeaf()); qt.setLevel(qtInfoDTO.getQueryTemplate().getLevel()); }else{ qt.setType(QTConstants.TYPE_BTM); qt.setBtmType(qtInfoDTO.getBtmName()); } List<String> clauseList = new ArrayList<String>(); //TODO æ¥è¯¢å æ¾ç¤ºå clauseList.add("*"); @@ -915,7 +930,6 @@ // return qt; // } /** * è¿åæ¥è¯¢ççæ¬ * @return @@ -940,7 +954,6 @@ return version; } /** * æ ¡éªåæ° * @param qtd @@ -957,7 +970,6 @@ throw new PLException("500", new String[]{"该模æ¿å®ä¹åå·²ç»è¢«ä½¿ç¨, è¯·æ´æ¢"}); } } /** * 导åºé¾æ¥ç±»åæ¥è¯¢æ¨¡æ¿ @@ -1143,6 +1155,35 @@ } } private void getPLQtBtmItem2(String string, BizType bizType, List<BizType> ltsNew) { // TODO Auto-generated method stub try { BizType queryBizType = platformClientUtil.getBtmService().getBizTypes(string)[0]; BizType[] btmArray = platformClientUtil.getBtmService().getBizTypes(""); String[] strings = queryBizType.apNameArray; boolean b = true; for (int i = 0; i < btmArray.length; i++) { if (btmArray[i].name.equals(string)) { b = false; if (Arrays.equals(bizType.apNameArray, strings)) { btmArray[i].name += "ãä¸å¡ç±»åå·²åå¨ã"; ltsNew.add(btmArray[i]); } else { btmArray[i].name += "ãä¸å¡ç±»ååå¨ä½å±æ§ä¸ä¸è´ã"; ltsNew.add(btmArray[i]); } } } if (b) { bizType.name += "ãä¸å¡ç±»åä¸åå¨ã"; ltsNew.add(bizType); } } catch (PLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } private void getPLQtWrapper(String string, QTInfo qtWrapper, List<LinkType> ltsNew, List<QTInfo> qTWrapperNew, Map<String/*ç±»ååç§°*/, QTD[]/*æ¥è¯¢æ¨¡æ¿å®ä¹*/> newNorepQTDs) { try { QTInfo[] qtws = platformClientUtil.getQTDService().getAllQTs(); @@ -1208,6 +1249,71 @@ } } private void getPLBtmQtWrapper(String string, QTInfo qtWrapper, List<BizType> ltsNew, List<QTInfo> qTWrapperNew, Map<String/*ç±»ååç§°*/, QTD[]/*æ¥è¯¢æ¨¡æ¿å®ä¹*/> newNorepQTDs) { try { QTInfo[] qtws = platformClientUtil.getQTDService().getAllQTs(); boolean islaet = true; for (int i = 0; i < qtws.length; i++) { if (string.equals(qtws[i].qtName)) { islaet = false; for (BizType lt : ltsNew) { if (qtWrapper.btmName.equals(lt.name.substring(0, lt.name.indexOf("ã")))) { if (lt.name.endsWith("ãä¸å¡ç±»åå·²åå¨ã")) { qtWrapper.qtName += "ãæ¥è¯¢æ¨¡æ¿å·²åå¨ï¼ä¸å¯¼å ¥ã"; qTWrapperNew.add(qtWrapper); }else if(lt.name.endsWith("ãä¸å¡ç±»ååå¨ä½å±æ§ä¸ä¸è´ã")){ qtWrapper.qtName += "ãæ¥è¯¢æ¨¡æ¿æå±ä¸å¡ç±»å屿§ä¸ä¸è´ï¼ä¸å¯¼å ¥ã"; qTWrapperNew.add(qtWrapper); }else{ qtWrapper.qtName += "ãæ¥è¯¢æ¨¡æ¿æå±ä¸å¡ç±»åä¸åå¨ï¼ä¸å¯¼å ¥ã"; qTWrapperNew.add(qtWrapper); } } } } } if (islaet) { for (BizType btmItem : ltsNew) { if (qtWrapper.btmName.equals(btmItem.name.substring(0, btmItem.name.indexOf("ã")))) { if (btmItem.name.endsWith("ãä¸å¡ç±»åå·²åå¨ã")) { //夿æ¥è¯¢æ¨¡æ¿å®ä¹æ¯å¦åå¨ï¼è¿è¡ä¿å QTD[] qtds = newNorepQTDs.get(qtWrapper.btmName); if(qtds != null){ for (QTD qtd : qtds) { QTD qtdByName = platformClientUtil.getQTDService().getQTDByName(qtd.name); if(!(qtdByName != null && StringUtils.isNotBlank(qtdByName.name))){ boolean b = platformClientUtil.getQTDService().addQTD(qtd); if(!b){ qtWrapper.qtName += qtWrapper.qtName+"å¯¼å ¥æ¥è¯¢æ¨¡æ¿å®ä¹ã" + qtdByName.name + "ã失败ï¼"; } } } newNorepQTDs.remove(qtWrapper.btmName); } boolean success = platformClientUtil.getQTDService().saveQT(qtWrapper); if(!success){ qtWrapper.qtName += qtWrapper.qtName+"å¯¼å ¥å¤±è´¥ï¼"; }else { qtWrapper.qtName += "ãæ¥è¯¢æ¨¡æ¿å¯¼å ¥æåï¼ã"; } qTWrapperNew.add(qtWrapper); }else if(btmItem.name.endsWith("ãä¸å¡ç±»ååå¨ä½å±æ§ä¸ä¸è´ã")){ qtWrapper.qtName += "ãæ¥è¯¢æ¨¡æ¿æå±ä¸å¡ç±»å屿§ä¸ä¸è´ï¼ä¸å¯¼å ¥ã"; qTWrapperNew.add(qtWrapper); }else{ qtWrapper.qtName += "ãæ¥è¯¢æ¨¡æ¿æå±ä¸å¡ç±»åä¸åå¨ï¼ä¸å¯¼å ¥ã"; qTWrapperNew.add(qtWrapper); } } } } } catch (PLException e) { e.printStackTrace(); } } //æ ¹æ®éæ©çæ¥è¯¢æ¨¡æ¿è¿æ»¤æ¨¡æ¿å®ä¹ private Map<String, QTD[]> getnewNorepQTDs(Map<String, QTD[]> norepQTDs, Map<String, QTInfo> allQTs) { @@ -1235,6 +1341,290 @@ if(!b){ return BaseResult.fail("å é¤å¤±è´¥ï¼ï¼ï¼"); } return BaseResult.success(); return BaseResult.success("æ¥è¯¢æ¨¡æ¿å 餿åï¼"); } /** * @param qtInfoDTO ä¼ è¾çæ°æ®å¯¹è±¡ï¼ * linkTypeName 龿¥ç±»åã * rdPositive æ¹åï¼trueæ£åï¼falseåå * btmName ä¸å¡ç±»ååç§° * combRelaType ä¸å¡ç±»åéæ©å¼ * versionValue çæ¬çæ¬¡å¼ * isQueryIsLeaf æ¯å¦éæ©ä¸çº§ * level åèç¹å±æ° * @return æ¥è¯¢ç»æ */ @Override public BaseResult getCriteriaBtm(QTInfoDTO qtInfoDTO) throws PLException { QueryTemplate qt = getQT(qtInfoDTO,false); String checkInfo = OQTool.checkQT(qt); if(!checkInfo.equals("OK")){ throw new PLException("500", new String[]{checkInfo}); } qt.setId("qt1"); BusinessObject[] result = platformClientUtil.getQueryService().findBTMObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML()); return BaseResult.dataList(Arrays.asList(result)); } /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ä¿å * @param qtInfoDTO ä¿åä¼ è¾å¯¹è±¡ * @return ä¿åç»æ */ @Override public BaseResult btmSave(QTInfoDTO qtInfoDTO) throws PLException { VciBaseUtil.alertNotNull( qtInfoDTO,"ä¿åçä¸å¡ç±»å模æ¿å¯¹è±¡", qtInfoDTO.getBtmName(),"è¯·éæ©ä¸å¡ç±»ååæ¥è¯¢æ¨¡æ¿å®ä¹æ¥å建æ¥è¯¢æ¨¡æ¿" ); //add by caill start éåæ®éæ¥è¯¢æ¨¡æ¿è¾å ¥æ¡ä¸çå¼åæ ¡éª // ArrayList<String> list = cpm_centerPanel.getList(); // for(int i=0;i<list.size();i++){ // String text = (String) list.get(i); // if(text.contains("'")){ // JOptionPane.showMessageDialog(cp_mainPanel, "æ¡ä»¶å¼ä¸å å«äºéæ³å符", "éæ³å符", JOptionPane.ERROR_MESSAGE); // return; // } // } //ä¿åä¹å带åºå·²éæ©çqtName QueryTemplate qt = getQT(qtInfoDTO,false); //å端è°ç¨è¿ä¸ªæ¹æ³isExistsQT() /*if(isExists(qtName)){ return BaseResult.success("","该æ¥è¯¢æ¨¡æ¿åå·²ç»åå¨,æ¯å¦è¦çï¼"); }*/ String checkInfo = OQTool.checkQT(qt); if(!checkInfo.equals("OK")){ throw new PLException("500", new String[]{checkInfo}); } //设置æåºä¿¡æ¯ qt.setOrderInfoList(qtInfoDTO.getQueryTemplate().getOrderInfoList()); QTInfo qtWrapper = new QTInfo(); qtWrapper.qtName = qtInfoDTO.getQtName(); qtWrapper.btmName = qt.getBtmType(); qtWrapper.creator = WebUtil.getCurrentUserId(); qtWrapper.createTime = System.currentTimeMillis(); if(qtInfoDTO.getTree() == null){ qtWrapper.qtUIText = ""; }else{ //å½å¾éäºé«çº§æ¥è¯¢æ¶éè¦å¤çé«çº§æ¥è¯¢çç¸å ³æ¡ä»¶ qtWrapper.qtUIText = getSeniorXML(qtInfoDTO); } qtWrapper.levelFlag = qtInfoDTO.getLevelFlag(); qtWrapper.qtText = OQTool.qtTOXMl(qt).asXML(); boolean saveFlag = platformClientUtil.getQTDService().saveQT(qtWrapper); if(saveFlag){ return BaseResult.success("ä¿åæ¥è¯¢æ¨¡æ¿æå"); }else{ return BaseResult.fail("ä¿åæ¥è¯¢æ¨¡æ¿å¤±è´¥"); } } /** * æ´æ°æ°æ®åºç»æ * @return ä¿åç»æ */ @Override public BaseResult updateDBStructure() throws PLException { boolean f = platformClientUtil.getQTDService().updateQT(); if(f){ return BaseResult.success("æ´æ°æå"); }else{ return BaseResult.fail("æ´æ°å¤±è´¥"); } } /** * ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿æ æ¥è¯¢ï¼ç¨äºçé¢ç导åºåè½ * @return æ¥è¯¢ç»æ */ @Override public BaseResult getBtmQtTree() throws PLException { BizType[] bizTypes= null; QTInfo[] qts = null; HashMap<String,Object> tree = new HashMap(); tree.put("text","ä¸å¡ç±»å"); if (bizTypes == null) { List<BizType> es = new ArrayList<>(); bizTypes = platformClientUtil.getBtmService().getBizTypes(""); for (BizType lt : bizTypes) { QTInfo[] qtWrappers = platformClientUtil.getQTDService().getObjTypeQTs(lt.name); if (qtWrappers.length!=0) { es.add(lt); } } bizTypes = es.toArray(new BizType[es.size()]); //TODO:éä¿®æ£æ²¡æå ³èæ¥è¯¢æ¨¡æ¿ä¸å¡ç±»å廿 qts = platformClientUtil.getQTDService().getAllQTs();//è·åæææ¥è¯¢æ¨¡æ¿ } List<HashMap<String,Object>> childList = new ArrayList<>(); //æ·»å ä¸å¡ç±»åæ ¹èç¹ for (BizType plAction : bizTypes) { HashMap<String,Object> childTree = new HashMap(); childTree.put("text", plAction.label + "/" +plAction.name); childTree.put("oid", plAction.oid); //tree.put("children", childTree); addExportTreeNode(plAction, qts, childTree); childList.add(childTree); } tree.put("children", childList); return BaseResult.success(tree); } /** * 导åºä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ * names æ¥è¯¢æ¨¡æ¿å * @return */ @Override public void expBtmQTTemplate(List<String> names, HttpServletResponse response) throws PLException, IOException { String defaultTempFolder = LocalFileUtil.getDefaultTempFolder(); String vciqtmfFileName = defaultTempFolder + File.separator + "BtmTemplateExp" + new Date().getTime() + ".vciqtf"; BtmQTExportData exportData = new BtmQTExportData(); for (String name : names) { QTInfo qt = platformClientUtil.getQTDService().getQT(name); exportData.getAllQTs().put(qt.qtName,qt); BizType[] bizTypes = platformClientUtil.getBtmService().getBizTypes(qt.btmName); for (int i = 0; i < bizTypes.length; i++) { BizType bizType = bizTypes[i]; if(bizTypes != null && !bizType.oid.equals("")){ exportData.getSelectedBtmItems().put(bizType.name, bizType); exportData.getSelectedBtmAttrs().put(bizType.name, bizType.apNameArray); exportData.getAllQTDs().put(bizType.name, platformClientUtil.getQTDService().getBizTypeQTDs(bizType.name)); } } } ObjectOutputStream vciamfFileStream = null; try { File vciqtmfFile = new File(vciqtmfFileName); vciamfFileStream = new ObjectOutputStream(new FileOutputStream(vciqtmfFile)); vciamfFileStream.writeObject(exportData); }finally { try { if (vciamfFileStream != null) { vciamfFileStream.flush(); vciamfFileStream.close(); } } catch (Exception e) { throw new PLException("500",new String[]{"å¯¼åºæµå ³éå¼å¸¸ï¼"}); } } ControllerUtil.writeFileToResponse(response,vciqtmfFileName); FileUtil.del(defaultTempFolder + File.separator); } /** * æ¥è¯¢æ¡ä»¶ä¸çéæ©æ¥è¯¢æ¨¡æ¿å¯¹è¯æ¡ï¼æ¥è¯¢å ¨é¨æ¨¡æ¿åæå¯¹åºçä¸å¡ç±»åæé¾æ¥ç±»ååï¼ * @return */ @Override public BaseResult getAllQTs() throws PLException { QTInfo[] allQTs = platformClientUtil.getQTDService().getAllQTs(); DataGrid<QTInfo> dataGrid = new DataGrid<>(); dataGrid.setData(Arrays.asList(allQTs)); dataGrid.setTotal(allQTs.length); return BaseResult.dataGrid(dataGrid); } /** * å¯¼å ¥ä¸å¡ç±»åæ¥è¯¢æ¨¡æ¿ * @param file ä¸ä¼ çæä»¶ * @return å¯¼å ¥ç»æ */ @Override public BaseResult impBtmTemplate(MultipartFile file) throws IOException, ClassNotFoundException { if (file == null) { return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"æ å¯¼å ¥çæä»¶"}); } if (!file.getOriginalFilename().endsWith(".vciqtf")) { throw new VciBaseException("ä» è½ä¸ä¼ .vciqtfæ ¼å¼æä»¶ï¼è¯·éæ°ä¸ä¼ ï¼"); } ObjectInputStream obj = new ObjectInputStream( file.getInputStream()); BtmQTExportData qtExportData = (BtmQTExportData) obj.readObject(); List<BizType> ltsNew = new ArrayList<>(); List<QTInfo> qTWrapperNew = new ArrayList<>(); Map<String/* ç±»ååç§° */, QTD[]/* æ¥è¯¢æ¨¡æ¿å®ä¹ */> norepQTDs = new HashMap<String, QTD[]>(); addImportBtmData(qtExportData, ltsNew, qTWrapperNew, norepQTDs); QTInfo[] qts = qTWrapperNew .toArray(new QTInfo[qTWrapperNew.size()]); //å¤çæ çè¿å HashMap<String,Object> tree = new HashMap(); tree.put("text","ä¸å¡ç±»å"); List<HashMap<String,Object>> childList = new ArrayList<>(); //æ·»å ä¸å¡ç±»åæ ¹èç¹ for (BizType plAction : ltsNew) { HashMap<String,Object> childTree = new HashMap(); childTree.put("text", plAction.label + "/" +plAction.name); childTree.put("oid", plAction.oid); addExportTreeNode(plAction, qts, childTree); childList.add(childTree); } tree.put("children", childList); return BaseResult.success(tree); } // æ°æ®è¿æ»¤ private void addImportBtmData(BtmQTExportData qtExportData, List<BizType> ltsNew, List<QTInfo> qTWrapperNew, Map<String/* ç±»ååç§° */, QTD[]/* æ¥è¯¢æ¨¡æ¿å®ä¹ */> norepQTDs) { Map<String/* ç±»ååç§° */, QTD[]/* æ¥è¯¢æ¨¡æ¿å®ä¹ */> allQTDs = qtExportData .getAllQTDs(); Map<String/* ç±»ååç§° */, BizType/* ç±»å对象 */> selectedBtmItems = qtExportData .getSelectedBtmItems(); Map<String/* ç±»ååç§° */, String[]/* ç±»åæå±å±æ§ */> selectedBtmAttrs = qtExportData .getSelectedBtmAttrs(); Map<String/* æ¥è¯¢æ¨¡æ¿åç§° */, QTInfo/* æ¥è¯¢æ¨¡æ¿å¯¹è±¡ */> allSelectedQTs = qtExportData .getAllQTs(); if (allQTDs.size() == 0 || allQTDs == null || selectedBtmItems.size() == 0 || selectedBtmItems == null || selectedBtmAttrs.size() == 0 || selectedBtmAttrs == null || allSelectedQTs.size() == 0 || allSelectedQTs == null) { throw new VciBaseException("å¯¼å ¥çæ¨¡æ¿æ°æ®æè¯¯!!!"); } Set<Map.Entry<String, QTD[]>> pLActions = allQTDs.entrySet(); Set<Map.Entry<String, QTInfo>> pLQts = allSelectedQTs.entrySet(); Set<Map.Entry<String, BizType>> btmpLQts = selectedBtmItems.entrySet(); for (Map.Entry<String, QTD[]> entry : pLActions) { String string = entry.getKey(); QTD[] qtds = entry.getValue(); getPLQtIsInDB(string, qtds, norepQTDs); } for (Map.Entry<String, BizType> entry : btmpLQts) { String string = entry.getKey(); BizType bizType = entry.getValue(); getPLQtBtmItem2(string, bizType, ltsNew); } Map<String/*ç±»ååç§°*/, QTD[]/*æ¥è¯¢æ¨¡æ¿å®ä¹*/> newNorepQTDs = getnewNorepQTDs(norepQTDs,allSelectedQTs); for (Map.Entry<String, QTInfo> entry : pLQts) { String string = entry.getKey(); QTInfo qtWrapper = entry.getValue(); getPLBtmQtWrapper(string, qtWrapper, ltsNew, qTWrapperNew, newNorepQTDs); } } /** * çæå¯¼åºæ 鿩以åå¯¼å ¥æ æ¾ç¤º * @param bizType * @param qts * @param tree */ private void addExportTreeNode(BizType bizType/*ä¸å¡ç±»å*/,QTInfo[] qts/*æ¥è¯¢æ¨¡æ¿å¯¹è±¡*/,HashMap<String,Object> tree) { List<String> childList = new ArrayList<>(); // æ·»å æ¥è¯¢æ¨¡æ¿å¯¹è±¡åèç¹ for (QTInfo qtItem : qts) { //å¤çå¯¼å ¥æ¶æ æ³è¿è¡ç±»å夿 int splitLength = bizType.name.indexOf("ã"); if(splitLength == -1){ splitLength = bizType.name.length(); } if (qtItem.btmName.equals(bizType.name.substring(0, splitLength))) { childList.add(qtItem.qtName); } } tree.put("children",childList); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java
@@ -851,7 +851,13 @@ if(!CollectionUtils.isEmpty(btmTypeVOList)) { btmTypeVOList.stream().forEach(btmTypeVO -> { String btmId = btmTypeVO.getId(); List<OsBtmTypeAttributeVO> attributeVOS = btmService.listAttributeByBtmId(btmId); List<OsBtmTypeAttributeVO> attributeVOS = null; try { attributeVOS = btmService.listAttributeByBtmId(btmId); } catch (PLException e) { e.printStackTrace(); throw new VciBaseException(VciBaseUtil.getExceptionMessage(e)); } //å æ¯åç§° int rowIndex = index[0]; WriteExcelData idED = new WriteExcelData(rowIndex, 0, btmId);