Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/dto/OsStatusDTO.java
@@ -33,10 +33,75 @@ private String description; /** * å¾çè·¯å¾ */ public String imagePath; /** * å建人 */ private String creator; /** * å建æ¶é´ */ private Date createTime; /** * æåä¿®æ¹äºº */ private String lastModifier; /** * æåä¿®æ¹æ¶é´ï¼æ ¼å¼æ¯yyyy-MM-dd HH:mm:ss */ private Date lastModifyTime; /** * æ¶é´æ³ï¼ç¨äºæ ¡éªæ¯å¦ææ°æ°æ® */ private Date ts; public void setCreator(String creator) { this.creator = creator; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public void setLastModifier(String lastModifier) { this.lastModifier = lastModifier; } public void setLastModifyTime(Date lastModifyTime) { this.lastModifyTime = lastModifyTime; } public Date getCreateTime() { return createTime; } public String getLastModifier() { return lastModifier; } public Date getLastModifyTime() { return lastModifyTime; } public String getCreator() { return creator; } public String getImagePath() { return imagePath; } public void setImagePath(String imagePath) { this.imagePath = imagePath; } public String getOid() { return oid; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/pagemodel/OsStatusVO.java
@@ -36,6 +36,11 @@ private String description; /** * å¾çè·¯å¾ */ public String imagePath; /** * ä¸å¡ç±»ååç§° */ private String btmname; @@ -70,6 +75,14 @@ */ private Date ts; public String getImagePath() { return imagePath; } public void setImagePath(String imagePath) { this.imagePath = imagePath; } public String getOid() { return oid; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/po/OsAttributePO.java
@@ -52,7 +52,7 @@ /** * 屿§ç±»å */ @ExcelColumn(value="屿§ç±»å",nullable = false) @ExcelColumn(value="屿§ç±»å(请åç §æ°å¢çé¢ç屿§ç±»åå¡«å)",nullable = false) private String attributeDataType; /** @@ -112,7 +112,7 @@ /** * 屿§é¿åº¦ */ @ExcelColumn(value="åå¼èå´") @ExcelColumn(value="åå¼èå´)") private String range; } Source/plt-web/plt-web-parent/plt-web-api/src/main/java/com/vci/po/OsStatusPO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ package com.vci.po; import com.vci.starter.poi.annotation.ExcelColumn; import com.vci.starter.web.pagemodel.BaseModelVO; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * 屿§æ± å¯¼å ¥å¯¹è±¡ * @author ludc * @date 2024/7/19 11:11 */ @Data @AllArgsConstructor @NoArgsConstructor public class OsStatusPO extends BaseModelVO { /** * ç¦æ¢ä¿®æ¹è¿ä¸ªå¼ */ private static final long serialVersionUID = -2239512786206928201L; /** * æå¨æ°æ®è¡ */ @ExcelColumn(rowIndexColumn = true,value = "") private String rowIndex; /** * 屿§è±æåç§° */ @ExcelColumn(value="åç§°(ä¸è½ä¸ºç©º)",nullable = false) private String id; /** * æ ç¾ */ @ExcelColumn(value="æ ç¾(对åç§°çè§£é)") private String name; /** * 屿§ç±»å */ @ExcelColumn(value="å¾ç(è·¯å¾)") private String imagePath; /** * æè¿° */ @ExcelColumn(value="æè¿°(å¯ä»¥ä¸ºç©º)") private String description; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -117,7 +117,7 @@ /** * å¿ å¡«å */ private ArrayList<Integer> ColumnNameisRed = new ArrayList<Integer>(); private List<Integer> ColumnNameisRed = new ArrayList<Integer>(); /** * ç¨æ·å页æ¥è¯¢æ¶è·åé¨é¨æ¾å°è¿éé¿å é夿¥è¯¢ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java
@@ -52,7 +52,7 @@ * @return 屿§çæ¾ç¤ºå¯¹è±¡ */ @GetMapping("/gridAttribute") @VciUnCheckRight @VciBusinessLog(operateName = "屿§å表") public BaseResult<OsAttributeVO> gridAttribute(BaseQueryObject baseQueryObject){ try { return BaseResult.dataGrid(attributeService.gridAttribute(baseQueryObject)); @@ -107,7 +107,6 @@ */ @PutMapping( "/updateAttribute") @VciBusinessLog(operateName = "ä¿®æ¹å±æ§") @VciUnCheckRight public BaseResult updateAttribute(@RequestBody OsAttributeDTO osAttributeDTO) { try { return attributeService.updateAttribute(osAttributeDTO) ? BaseResult.success("屿§ä¿®æ¹æåï¼"):BaseResult.fail("屿§ä¿®æ¹å¤±è´¥ï¼"); @@ -208,7 +207,7 @@ * @return */ @PostMapping("/importAttributes") @VciUnCheckRight @VciBusinessLog(operateName = "å¯¼å ¥å±æ§") public BaseResult importAttributes(MultipartFile file){ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File file1 = new File(excelFileName); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsLinkTypeController.java
@@ -18,8 +18,11 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** @@ -57,7 +60,6 @@ * @return 龿¥ç±»åçæ¾ç¤ºå¯¹è±¡ */ @GetMapping("/getAllLtName") @VciUnCheckRight public BaseResult getAllLtName(){ try { return BaseResult.dataList(linkTypeService.getAllLtName()); @@ -155,4 +157,74 @@ return objectBaseResult; } } /** * 龿¥ç±»åå é¤ * linkType 龿¥ç±»å对象 * @return å é¤ç»æ */ @DeleteMapping("/deleteLink") public BaseResult deleteLink(@RequestBody LinkType linkType){ try { return linkTypeService.deleteLink(linkType); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * ä¸è´æ§æ£æ¥ * @return å é¤ç»æ */ @GetMapping("/checkLinkType") public BaseResult checkLinkType(){ try { return linkTypeService.checkLinkType(); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } /** * ä¸è´æ§æ£æ¥ä¿®å¤æ°æ®åºè¡¨ * repairData éè¦ä¿®å¤çæ°æ® * @return ä¿®å¤ç»æ */ @PostMapping("/repairTable") public BaseResult repairTable(@RequestBody String repairData){ try { return linkTypeService.repairTable(repairData); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } catch (IOException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(500); objectBaseResult.setMsg(e.getMessage()); return objectBaseResult; } } /** * å建è§å¾ * @return åå»ºç»æ */ @PostMapping("/createView") public BaseResult createView(){ try { return linkTypeService.createView(); } catch (PLException e) { BaseResult objectBaseResult = new BaseResult<>(); objectBaseResult.setCode(Integer.parseInt(e.code)); objectBaseResult.setMsg(Arrays.toString(e.messages)); return objectBaseResult; } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/VciOsStatusController.java
@@ -1,16 +1,33 @@ package com.vci.web.controller; import com.vci.constant.FrameWorkLangCodeConstant; import com.vci.dto.OsAttributeDTO; 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.dto.OsStatusDTO; import com.vci.pagemodel.OsLifeCycleVO; import com.vci.pagemodel.OsStatusVO; import com.vci.starter.web.util.ControllerUtil; import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.OsLifeCycleServiceI; import com.vci.web.service.OsStatusServiceI; import com.vci.web.util.Func; 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; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.util.Date; import java.util.List; /** * ç¶æçæ§å¶å¨ @@ -35,14 +52,27 @@ private OsLifeCycleServiceI lifeCycleService; /** * æ¥å¿ */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * ç¶æçå表 * @param queryObject æ¥è¯¢å¯¹è±¡ * @return æ¾ç¤ºå¯¹è±¡ */ @GetMapping("/gridStatus") @VciBusinessLog(operateName = "æ¥çç¶æå表") public DataGrid<OsStatusVO> gridStatus(BaseQueryObject queryObject){ return statusService.gridStatus(queryObject.getConditionMap(),queryObject.getPageHelper()); @VciUnCheckRight public BaseResult<OsStatusVO> gridStatus(BaseQueryObject queryObject){ try { return BaseResult.dataGrid(statusService.gridStatus(queryObject.getConditionMap(),queryObject.getPageHelper())); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "屿§ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** @@ -51,8 +81,17 @@ * @return 使ç¨ççå½å¨æç对象 */ @GetMapping("/listUsed") public DataGrid<OsLifeCycleVO> listUsed(String oid){ return lifeCycleService.listStatusUsed(oid); @VciBusinessLog(operateName = "æ¥è¯¢ç¶ææ± çåºç¨èå´") @VciUnCheckRight public BaseResult<OsLifeCycleVO> listUsed(String oid){ try { return BaseResult.dataGrid(lifeCycleService.listStatusUsed(oid)); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "屿§ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** @@ -61,9 +100,15 @@ * @return æ§è¡ç»æ */ @PostMapping("/addSave") public BaseResult addSave(OsStatusDTO statusDTO){ statusService.addSave(statusDTO); return BaseResult.success(); public BaseResult addSave(@RequestBody OsStatusDTO statusDTO){ try { return statusService.addSave(statusDTO) ? BaseResult.success("æ·»å ç¶ææåï¼"):BaseResult.fail("æ·»å ç¶æå¤±è´¥ï¼"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "æ·»å ç¶ææ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** @@ -72,20 +117,32 @@ * @return æ§è¡ç»æ */ @PutMapping("/editSave") public BaseResult editSave(OsStatusDTO statusDTO){ statusService.editSave(statusDTO); return BaseResult.success(); public BaseResult editSave(@RequestBody OsStatusDTO statusDTO){ try { return statusService.editSave(statusDTO) ? BaseResult.success("ä¿®æ¹ç¶ææåï¼"):BaseResult.fail("ä¿®æ¹ç¶æå¤±è´¥ï¼"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "ä¿®æ¹ç¶ææ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** * å é¤ç¶æ * @param oids ç¶æçä¸»é® * @param osStatusDTOS ç¶æçDTO对象 * @return æ§è¡ç»æ */ @DeleteMapping("/delete") public BaseResult delete(String oids){ statusService.delete(oids); return BaseResult.success(); @DeleteMapping("/deleteStatus") public BaseResult deleteStatus(@RequestBody List<OsStatusDTO> osStatusDTOS){ try { return statusService.deleteStatus(osStatusDTOS) ? BaseResult.success("å é¤ç¶ææåï¼"):BaseResult.fail("å é¤ç¶æå¤±è´¥ï¼"); }catch (Exception e) { e.printStackTrace(); String exceptionMessage = "å é¤ç¶ææ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); logger.error(exceptionMessage); return BaseResult.fail(exceptionMessage); } } /** @@ -98,4 +155,75 @@ return BaseResult.success(statusService.getObjectByOid(oid)); } /** * 导åºç¶æ * @param exportFileName * @param statusOids * @param response */ @GetMapping( "/exportStatus") @VciBusinessLog(operateName = "导åºç¶æ") public void exportStatus(String exportFileName,String statusOids, HttpServletResponse response){ try { String excelPath = statusService.exportStatus(exportFileName,statusOids); ControllerUtil.writeFileToResponse(response,excelPath); } catch (Exception e) { String msg = "导åºç¶ææ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); try { //åºéæ¶ e.printStackTrace(); ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null); } catch (IOException ioException) { ioException.printStackTrace(); } } } /** * ä¸è½½ç¶æå¯¼å ¥æ¨¡æ¿ * @param exportFileName * @param response */ @GetMapping( "/downloadStatusTemplate") @VciBusinessLog(operateName = "导åºç¶æ") public void downloadStatusTemplate(String exportFileName, HttpServletResponse response){ try { String excelPath = statusService.downloadStatusTemplate(exportFileName); ControllerUtil.writeFileToResponse(response,excelPath); } catch (Exception e) { String msg = "ä¸è½½æä¸¾å¯¼å ¥æ¨¡æ¿æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); try { //åºéæ¶ e.printStackTrace(); ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null); } catch (IOException ioException) { ioException.printStackTrace(); } } } /** * å¯¼å ¥ç¶æ * @param file * @return */ @PostMapping("/importStatus") @VciBusinessLog(operateName = "å¯¼å ¥ç¶æ") public BaseResult importStatus(MultipartFile file){ String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); File file1 = new File(excelFileName); try { file.transferTo(new File(excelFileName)); if (file != null) { return statusService.importStatus(file1); } else { return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"æ å¯¼å ¥çæä»¶"}); } }catch (Throwable e) { throw new VciBaseException(VciBaseUtil.getExceptionMessage(e),new String[0],e); }finally { file1.delete(); } } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsLinkTypeServiceI.java
@@ -9,6 +9,7 @@ import com.vci.pagemodel.OsLinkTypeAttributeVO; import com.vci.pagemodel.OsLinkTypeVO; import java.io.IOException; import java.util.Collection; import java.util.List; import java.util.Map; @@ -122,4 +123,26 @@ * @return ä¿åç»æ */ BaseResult addAndEditLink(LinkType linkType, Boolean addFlag) throws PLException; /** * 龿¥ç±»åå é¤ * linkType 龿¥ç±»å对象 * @return å é¤ç»æ */ BaseResult deleteLink(LinkType linkType) throws PLException; /** * ä¸è´æ§æ£æ¥ * @return å é¤ç»æ */ BaseResult checkLinkType() throws PLException; /** * ä¸è´æ§æ£æ¥ä¿®å¤æ°æ®åºè¡¨ * repairData éè¦ä¿®å¤çæ°æ® * @return ä¿®å¤ç»æ */ BaseResult repairTable(String repairData) throws PLException, IOException; /** * å建è§å¾ * @return åå»ºç»æ */ BaseResult createView() throws PLException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/OsStatusServiceI.java
@@ -1,11 +1,14 @@ package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.omd.stm.StatePool; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.PageHelper; import com.vci.dto.OsStatusDTO; import com.vci.pagemodel.OsStatusVO; import java.io.File; import java.util.Collection; import java.util.List; import java.util.Map; @@ -54,13 +57,13 @@ * æ¹éæ·»å ç¶æ * @param statePoolList ç¶æå 容 */ void batchAddStatus(List<StatePool> statePoolList); boolean batchAddStatus(List<StatePool> statePoolList) throws Exception; /** * æ¹éä¿®æ¹ç¶æ * @param statePoolList ç¶æå 容 */ void batchEditSave(List<StatePool> statePoolList); boolean batchEditSave(List<StatePool> statePoolList) throws Exception; /** * ç¶æå表 @@ -88,19 +91,19 @@ * æ·»å ç¶æ * @param statusDTO ç¶æçæ°æ®ä¼ è¾å¯¹è±¡ */ void addSave(OsStatusDTO statusDTO); boolean addSave(OsStatusDTO statusDTO) throws Exception; /** * ç¼è¾ç¶æ * @param statusDTO ç¶æçæ°æ®ä¼ è¾å¯¹è±¡ */ void editSave(OsStatusDTO statusDTO); boolean editSave(OsStatusDTO statusDTO)throws Exception ; /** * å é¤ç¶æ * @param oids ä¸»é® * @param osStatusDTOS */ void delete(String oids); boolean deleteStatus(List<OsStatusDTO> osStatusDTOS) throws PLException; /** * ç¶æçæ°æ®ä¼ è¾å¯¹è±¡è½¬æ¢ä¸ºæ°æ®å¯¹è±¡ @@ -108,4 +111,28 @@ * @return å¹³å°çæ°æ®å¯¹è±¡ */ StatePool statusDTO2DO(OsStatusDTO statusDTO); /** * 导åºéä¸çç¶æ * @param exportFileName 导åºçæä»¶å * @param statusOids éè¦å¯¼åºç屿§åç§° * @return */ String exportStatus(String exportFileName,String statusOids) throws PLException; /** * ä¸è½½ç¶æå¯¼å ¥æ¨¡æ¿ * @param exportFileName * @return * @throws PLException */ String downloadStatusTemplate(String exportFileName) throws Exception; /** * å¯¼å ¥ç¶æ * @param file * @return */ BaseResult importStatus(File file) throws Exception; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsAttributeServiceImpl.java
@@ -33,6 +33,7 @@ import com.vci.web.properties.UsedNames; import com.vci.web.service.OsAttributeServiceI; import com.vci.web.service.OsBaseServiceI; import com.vci.web.service.OsEnumServiceI; import com.vci.web.service.OsLinkTypeServiceI; import com.vci.web.util.Func; import com.vci.web.util.PlatformClientUtil; @@ -111,6 +112,13 @@ @Autowired(required = false) @Lazy private OsBtmServiceImpl osBtmService; /** * æä¸¾çæå¡ */ @Autowired @Lazy private OsEnumServiceI enumService; /** * å¿ å¡«å @@ -511,7 +519,7 @@ if(hasInstance && !compatible){ throw new PLException("500",new String[]{"æ æåæ´, ä¸å ¼å®¹å·²äº§ççæ°æ®ï¼"}); } String userId = "developer";//WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); osAttributeDTO.setLastModifier(userId); osAttributeDTO.setCreator(osAttributeVO.getCreator()); osAttributeDTO.setCreateTime(osAttributeVO.getCreateTime()); @@ -557,9 +565,9 @@ attributeDef.rage = osAttributeDTO.getRange().replace("<","<"); } attributeDef.ts = Func.format((Func.isNotEmpty(osAttributeDTO.getTs()) ? osAttributeDTO.getTs():new Date()),VciDateUtil.DateTimeMillFormat); attributeDef.creator = "developer";//Func.isBlank(osAttributeDTO.getCreator()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getCreator(); attributeDef.creator = Func.isBlank(osAttributeDTO.getCreator()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getCreator(); attributeDef.createTime = Func.isEmpty(osAttributeDTO.getCreateTime()) ? System.currentTimeMillis():osAttributeDTO.getCreateTime().getTime(); attributeDef.modifier = "developer";//Func.isBlank(osAttributeDTO.getLastModifier()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getLastModifier(); attributeDef.modifier = Func.isBlank(osAttributeDTO.getLastModifier()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getLastModifier(); attributeDef.modifyTime = System.currentTimeMillis(); //otheréè¦èªè¡å¤ç StringBuffer sb = new StringBuffer(); @@ -600,6 +608,7 @@ if(StringUtils.isNotBlank(osAttributeDTO.getLinkTypeName())){ //åç §é¾æ¥ç±»å sb.append(LINKTYPENAME).append(" = ").append(osAttributeDTO.getLinkTypeName()).append(";"); sb.append(VERSION).append(" = ").append(osAttributeDTO.getVersion()).append(";"); } sb.append(LENGTH).append(" = ").append(length > osAttributeDTO.getAttrLength()?length:osAttributeDTO.getAttrLength()).append(";"); if (StringUtils.isNotBlank(osAttributeDTO.getEnumId())) { @@ -812,7 +821,7 @@ if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){ throw new PLException("500",new String[]{"å¾ å é¤ç屿§å表ä¸ä¸»é®ãoidããè°æ´æ¶é´ãtsãã屿§åãnameãä¸è½ä¸ºç©ºï¼"}); } //夿æä¸¾æ¯å¦æè¢«å¼ç¨ //夿屿§æ¯å¦æè¢«å¼ç¨ List<Map<String, String>> usedAttrList = this.getUsedAttributeList(name); if(Func.isNotEmpty(usedAttrList)){ throw new PLException("500",new String[]{"å é¤ç屿§ä¸ï¼å±æ§å称为ï¼ã" + name + "ã,已被å¼ç¨ï¼"}); @@ -934,7 +943,7 @@ //设置åå List<String> columns = new ArrayList<>( Arrays.asList("屿§å", "æ ç¾", "æè¿°", "屿§ç±»å", "å 许为空(æ¯/å¦)", "é»è®¤å¼", "使ç¨çæä¸¾è±æåç§°", "åç §çä¸å¡ç±»åç¼å·", "屿§ç±»å(请åç §æ°å¢çé¢ç屿§ç±»åå¡«å)", "å 许为空(æ¯/å¦)", "é»è®¤å¼", "使ç¨çæä¸¾è±æåç§°", "åç §çä¸å¡ç±»åç¼å·", "åç §ç龿¥ç±»åç¼å·","çæ¬çæ¬¡","屿§é¿åº¦", "å°æ°ç²¾åº¦ä½æ°","å°æ°å»åº¦ä½æ°","åå¼èå´") ); //è®¾ç½®å¿ å¡«å @@ -1010,6 +1019,22 @@ //屿§åexcelä¸å¤éå¤ç excelReapeat.put(osAttributePO.getId(),osAttributePO.getRowIndex()); OsAttributeDTO osAttributeDTO = new OsAttributeDTO(); //æ¥è¯¢æä¸¾æ¯å¦åå¨ï¼å¡«åäºæä¸¾ä½æ²¡å¡«ååå¼èå´ï¼è¿æ¶åç´æ¥ä½¿ç¨æä¸¾é¡¹å¼ä½ä¸ºé»è®¤çrange if(Func.isNotBlank(osAttributePO.getEnumId()) && Func.isBlank(osAttributePO.getRange())){ try { OsEnumVO enumVO = enumService.getEnumTypeById(osAttributePO.getEnumId()); if(Func.isEmpty(enumVO)){ throw new VciBaseException("第ã" + osAttributePO.getRowIndex() + "ãè¡æ°æ®,éè¿æä¸¾åç§°ã" + osAttributePO.getEnumId() + "ãæªè·åå°æä¸¾ä¿¡æ¯!"); } String itemValues = enumVO.getItemMaps().values().stream().collect(Collectors.joining(";")); osAttributeDTO.setRange(itemValues); } catch (PLException e) { e.printStackTrace(); throw new VciBaseException("æä¸¾æ¥è¯¢å¤±è´¥ï¼åå ï¼"+e.getMessage()); } osAttributeDTO.setBtmTypeId(osAttributePO.getEnumId()); } osAttributeDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT)); osAttributeDTO.setId(osAttributePO.getId()); osAttributeDTO.setName(osAttributePO.getName()); @@ -1045,7 +1070,7 @@ } } catch (PLException e) { e.printStackTrace(); throw new VciBaseException("æ§è¡ä¿åæ¶åºç°é误ï¼éè¯¯å±æ§å¯¹è±¡å为ï¼ã" + dto.getId() + "ãï¼åå ï¼"+e.getMessage()); throw new VciBaseException("æ§è¡ä¿åæ¶åºç°é误ï¼éè¯¯å±æ§å¯¹è±¡å为ï¼ã" + dto.getId() + "ãï¼åå ï¼"+VciBaseUtil.getExceptionMessage(e)); } }); }catch (Exception e){ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsEnumServiceImpl.java
@@ -392,7 +392,7 @@ //ç颿²¡ä¼ åç§°ï¼ä½¿ç¨é»è®¤å¯¼åºåç§° exportFileName = Func.isBlank(exportFileName) ? "æä¸¾ç±»å导åº_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName; //设置åå List<String> columns = new ArrayList<>(Arrays.asList("æä¸¾åç§°", "æ ç¾", "è¿åç±»å", "é¿åº¦", "æä¸¾é¡¹åç§°", "æä¸¾å¼", "æè¿°")); List<String> columns = new ArrayList<>(Arrays.asList("æä¸¾åç§°", "æ ç¾", "è¿åç±»å", "é¿åº¦","å建æ¶é´", "æä¸¾é¡¹åç§°", "æä¸¾å¼", "æè¿°")); //åexcel String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls"; @@ -433,9 +433,9 @@ //å¤çæä¸¾é¡¹åå ¥ for (int j = 0; j < enumVOItems.size(); j++) { OsEnumItemVO osEnumItemVO = enumVOItems.get(j); excelDataList.add(new WriteExcelData(startRow+j,7, true,osEnumItemVO.getName())); excelDataList.add(new WriteExcelData(startRow+j,8, true, osEnumItemVO.getValue())); excelDataList.add(new WriteExcelData(startRow+j,9, true, osEnumItemVO.getDescription())); excelDataList.add(new WriteExcelData(startRow+j,5, true,osEnumItemVO.getName())); excelDataList.add(new WriteExcelData(startRow+j,6, true, osEnumItemVO.getValue())); excelDataList.add(new WriteExcelData(startRow+j,7, true, osEnumItemVO.getDescription())); } startRow += enumVOItems.size(); Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLifeCycleServiceImpl.java
@@ -483,7 +483,7 @@ } /** * ç¶æå¨çå½å¨æä¸ä½¿ç¨çå¤å¿« * ç¶æå¨çå½å¨æä¸ä½¿ç¨çèå´ * * @param statusOid ç¶æçä¸»é® * @return çå½å¨æçä¿¡æ¯ Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsLinkTypeServiceImpl.java
@@ -1,7 +1,10 @@ package com.vci.web.service.impl; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; 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.ltm.LinkType; import com.vci.omd.utils.ObjectTool; @@ -26,6 +29,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.io.IOException; import java.util.*; import java.util.stream.Collectors; @@ -369,6 +373,236 @@ platformClientUtil.getLinkTypeService().modifyLinkType(linkType); return BaseResult.success(null,"ä¿åæåï¼"); } /** * 龿¥ç±»åå é¤ * linkType 龿¥ç±»å对象 * @return å é¤ç»æ */ @Override public BaseResult deleteLink(LinkType linkType) throws PLException { if(platformClientUtil.getLinkTypeService().hasData(linkType.name)){ throw new PLException("500",new String[] {"ç±»åå·²æå®ä¾, ä¸è¿è¡å 餿ä½"}); } boolean flag = platformClientUtil.getLinkTypeService().deleteLinkType(linkType); if(!flag){ throw new PLException("500",new String[] {"å é¤å¤±è´¥"}); }else{ return BaseResult.success(); } } /** * ä¸è´æ§æ£æ¥ * @return å é¤ç»æ */ @Override public BaseResult checkLinkType() throws PLException { String[] result = platformClientUtil.getLinkTypeService().linkTypeConsistencyCheck(); Map<String, String> dbCheckMap = new HashMap<String, String>(); for(int i = 0; i < result.length; i++){ String info = result[i]; if(info.equals("")){ continue; } String[] infos = info.split("/DML"); String typeName = infos[0]; String dml = infos[1]; dbCheckMap.put(typeName, dml); } Map<String, List<String>> btmCheckMap = usedBtmCheck(); if(dbCheckMap.size() < 1 && (btmCheckMap == null || btmCheckMap.size() < 1)){ return BaseResult.successMsg("æ°æ®åºä¸çè¡¨ç»æä¸ç±»åä¸è´, 龿¥ç±»åå¼ç¨çä¸å¡ç±»åå ¨é¨æ£ç¡®åå¨,æ éä¿®å¤!!"); }else{ Map<String,Object> returnData = new HashMap<>(); returnData.put("dbCheckMap",dbCheckMap); returnData.put("btmCheckMap",btmCheckMap); List<Map> list = new ArrayList<>(); list.add(returnData); return BaseResult.dataList(500,list,"éè¦è¿è¡åçä¿®å¤ï¼ï¼"); } } /** * ä¸è´æ§æ£æ¥ä¿®å¤æ°æ®åºè¡¨ * repairData éè¦ä¿®å¤çæ°æ® * @return ä¿®å¤ç»æ */ @Override public BaseResult repairTable(String repairData) throws PLException, IOException { Map<String, Object> map = new ObjectMapper().readValue(repairData, new TypeReference<Map<String,Object>>(){}); HashMap<String,Object> dbCheckMap = (HashMap<String, Object>) map.get("dbCheckMap"); HashMap<String,List<String>> btmCheckMap = (HashMap<String, List<String>>) map.get("btmCheckMap"); List returnList = new ArrayList<>(); Map returnMap = new HashMap(); if(dbCheckMap.size() > 0){ List<String> list = getRepairDML(dbCheckMap); if(list.size() < 1){ return BaseResult.success(); } String[] result = platformClientUtil.getLinkTypeService().executeRepair(list.toArray(new String[0])); List<String> resultList = Arrays.asList(result); for (String typeName : resultList) { if(dbCheckMap.containsKey(typeName)){ dbCheckMap.remove(typeName); }else if(dbCheckMap.containsKey(typeName + "_ADD")){ String sql = String.valueOf(dbCheckMap.get(typeName)); sql = sql.substring(sql.indexOf(";") + 1, sql.length()); dbCheckMap.put(typeName, sql); }else if(dbCheckMap.containsKey(typeName + "_DROP")){ String sql = String.valueOf(dbCheckMap.get(typeName)); sql = sql.substring(0, sql.indexOf(";")); dbCheckMap.put(typeName, sql); } } if(!dbCheckMap.isEmpty()){ returnMap.put("dbCheckMap",dbCheckMap); } } if(btmCheckMap.size() > 0){ List<String> result = repairXml(btmCheckMap); for(int i = 0; i < result.size(); i++){ String typeName = result.get(i); if(btmCheckMap.containsKey(typeName)){ btmCheckMap.remove(typeName); } } if(!btmCheckMap.isEmpty()){ returnMap.put("btmCheckMap",btmCheckMap); } } returnList.add(returnMap); return BaseResult.success(returnList); } /** * å建è§å¾ * @return åå»ºç»æ */ @Override public BaseResult createView() throws PLException { boolean f = platformClientUtil.getLinkTypeService().createView(); if(f){ return BaseResult.success("å建è§å¾æå"); }else{ return BaseResult.success("å建è§å¾å¤±è´¥"); } } /** * ä¿®å¤é¾æ¥ç±»åçxmlæä»¶ * @return */ private List<String> repairXml(HashMap<String, List<String>> btmCheckMap){ List<String> result = new ArrayList<String>(); for(Iterator<String> ite = btmCheckMap.keySet().iterator(); ite.hasNext();){ String linkName = ite.next(); List<String> list = btmCheckMap.get(linkName); LinkType link = null; try { link = platformClientUtil.getLinkTypeService().getLinkType(linkName); } catch (PLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); continue; } //å°listä¸å å«çF_btmç§»é¤, éæ°è®¾ç½®btmItemsFrom String[] btms_ = link.btmItemsFrom; List<String> btms = new ArrayList<String>(); for(int i = 0; i < btms_.length; i++){ if(!list.contains("F_" + btms_[i])){ btms.add(btms_[i]); }else{ if(link.primitivesFrom.equals(btms_[i])){ link.primitivesFrom = ""; } } } link.btmItemsFrom = btms.toArray(new String[0]); //å°listä¸å å«çT_btmç§»é¤, éæ°è®¾ç½®btmItemsTo btms_ = link.btmItemsTo; btms = new ArrayList<String>(); for(int i = 0; i < btms_.length; i++){ if(!list.contains("T_" + btms_[i])){ btms.add(btms_[i]); }else{ if(link.primitivesTo.equals(btms_[i])){ link.primitivesTo = ""; } } } link.btmItemsTo = btms.toArray(new String[0]); link.id = link.name; try { if(platformClientUtil.getLinkTypeService().modifyLinkType(link)){ result.add(linkName); } } catch (PLException e) { e.printStackTrace(); } } return result; } /** * è·åéè¦ä¿®å¤ç伪sql * @return */ private List<String> getRepairDML(HashMap<String, Object> dbCheckMap) { List<String> list = new ArrayList<String>(); for(Iterator<String> ite = dbCheckMap.keySet().iterator(); ite.hasNext();){ String type = ite.next(); String dml = String.valueOf(dbCheckMap.get(type)); list.add(type + "/DML" + dml); } return list; } /** * æ£æ¥ææç龿¥ç±»å, å½é¾æ¥ç±»åä¸å¼ç¨çä¸å¡ç±»åå·²ç»ä¸å卿¶, å é¤è¯¥é¾æ¥ç±»åä¸å¯¹ä¸å¡ç±»åçå¼ç¨ * @return */ private Map<String, List<String>> usedBtmCheck(){ try { Map<String, List<String>> map = new HashMap<String, List<String>>(); LinkType[] links = platformClientUtil.getLinkTypeService().getLinkTypes(); for(int i = 0; i < links.length; i++){ LinkType link = links[i]; String[] btms = link.btmItemsFrom; for(int k = 0; k < btms.length; k++){ String btmName = btms[k]; BizType btm = platformClientUtil.getBtmService().getBizTypeByName(btmName); if(btm == null || btm.name.equals("")){ List<String> list = map.get(link.name); if(list == null){ list = new ArrayList<String>(); list.add("F_" + btmName); }else{ list.add("F_" + btmName); } map.put(link.name, list); } } btms = link.btmItemsTo; for(int k = 0; k < btms.length; k++){ String btmName = btms[k]; BizType btm = platformClientUtil.getBtmService().getBizTypeByName(btmName); if(btm == null || btm.name.equals("")){ List<String> list = map.get(link.name); if(list == null){ list = new ArrayList<String>(); list.add("T_" + btmName); }else{ list.add("T_" + btmName); } map.put(link.name, list); } } } return map; } catch (PLException e) { e.printStackTrace(); } return null; } /** Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsStatusServiceImpl.java
@@ -1,24 +1,35 @@ package com.vci.web.service.impl; import com.vci.corba.common.PLException; import com.vci.corba.omd.atm.AttributeDef; import com.vci.corba.omd.stm.StatePool; import com.vci.dto.OsAttributeDTO; import com.vci.pagemodel.OsEnumVO; import com.vci.po.OsAttributePO; import com.vci.po.OsStatusPO; import com.vci.starter.poi.bo.ReadExcelOption; import com.vci.starter.poi.bo.WriteExcelData; import com.vci.starter.poi.bo.WriteExcelOption; 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.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.pagemodel.PageHelper; import com.vci.starter.web.util.LangBaseUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.starter.web.util.VciDateUtil; import com.vci.starter.web.util.*; import com.vci.dto.OsStatusDTO; import com.vci.model.OsStatusDO; import com.vci.pagemodel.OsStatusVO; import com.vci.web.service.OsLifeCycleServiceI; import com.vci.web.service.OsStatusServiceI; import com.vci.web.service.WebBoServiceI; 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.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +37,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.io.File; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import static com.vci.constant.FrameWorkBusLangCodeConstant.DATA_OID_NOT_EXIST; @@ -65,6 +78,11 @@ private OsLifeCycleServiceI lifeCycleService; /** * å¿ å¡«å */ private List<Integer> ColumnNameisRed = new ArrayList<Integer>(); /** * å è½½èªèº« */ @Autowired(required = false) @@ -78,11 +96,12 @@ * @return æ¾ç¤ºå¯¹è±¡ */ @Override public OsStatusVO statusDO2VO(com.vci.corba.omd.stm.StatePool statePool) { public OsStatusVO statusDO2VO(StatePool statePool) { OsStatusVO statusVO = new OsStatusVO(); if(statePool!=null){ statusVO.setOid(statePool.oid); statusVO.setCreator(statePool.creator); statusVO.setImagePath(statePool.imagePath); statusVO.setLastModifier(statePool.modifier); try { statusVO.setCreateTime(new Date(statePool.createTime)); @@ -105,7 +124,7 @@ * @return æ¾ç¤ºå¯¹è±¡ */ @Override public List<OsStatusVO> statusDO2VOs(Collection<com.vci.corba.omd.stm.StatePool> statePools) { public List<OsStatusVO> statusDO2VOs(Collection<StatePool> statePools) { List<OsStatusVO> statusVOS = new ArrayList<>(); if(!CollectionUtils.isEmpty(statePools)){ statePools.stream().forEach(statePool -> { @@ -169,7 +188,7 @@ * @param statePoolList ç¶æå 容 */ @Override public void batchAddStatus(List<StatePool> statePoolList) { public boolean batchAddStatus(List<StatePool> statePoolList) throws Exception{ if(!CollectionUtils.isEmpty(statePoolList)){ for(StatePool statePool : statePoolList) { try { @@ -178,7 +197,9 @@ throw WebUtil.getVciBaseException(e); } } return true; } return false; } /** @@ -186,7 +207,7 @@ * @param statePoolList ç¶æå 容 */ @Override public void batchEditSave(List<StatePool> statePoolList) { public boolean batchEditSave(List<StatePool> statePoolList) { if(!CollectionUtils.isEmpty(statePoolList)){ for(StatePool statePool : statePoolList) { try { @@ -196,6 +217,7 @@ } } } return true; } /** @@ -255,57 +277,100 @@ * @param statusDTO ç¶æçæ°æ®ä¼ è¾å¯¹è±¡ */ @Override public void addSave(OsStatusDTO statusDTO) { VciBaseUtil.alertNotNull(statusDTO,"ç¶æçä¿¡æ¯",statusDTO.getId(),"ç¶æçè±æåç§°",statusDTO.getName(),"ç¶æç䏿åç§°"); statusDTO.setOid(VciBaseUtil.getPk()); StatePool pool = statusDTO2DO(statusDTO); List<StatePool> poolList = new ArrayList<>(); poolList.add(pool); batchAddStatus(poolList); clearCache(); self.selectAllStatusMap(); public boolean addSave(OsStatusDTO statusDTO) throws Exception { VciBaseUtil.alertNotNull( statusDTO,"ç¶æçä¿¡æ¯", statusDTO.getId(),"ç¶æçè±æåç§°", statusDTO.getName(),"ç¶æç䏿åç§°" ); StatePool dbStatePool = platformClientUtil.getStatePoolService().getStatePool(statusDTO.getId()); if (Func.isNotEmpty(dbStatePool) && Func.isNotBlank(dbStatePool.oid)) { throw new PLException("500",new String[]{"åç§°éå¤è¯·æ´æ¢åç§°ï¼"}); } // ç¶ææ± åç§°åªè½ä¸ºè±æåæ¯ String regex = "[a-z A-Z]*"; if ((!statusDTO.getId().matches(regex))) { throw new PLException("500",new String[]{"åç§°åªè½ä¸ºè±æï¼"}); } //è½ç¶ä¼èªå¨çæoidï¼ä½æ¯è¿å¿è®¾ç½®ä¸»é®ï¼é¿å æ¾å ¥ç¼åçæ°æ®æ¯æ²¡æoidç statusDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT)); try { boolean res = batchAddStatus(Arrays.asList(statusDTO2DO(statusDTO))); self.selectAllStatusMap(); return res; }catch (Exception e){ e.printStackTrace(); logger.error(e.getMessage()); return false; } } /** * ç¼è¾ç¶æ * @param statusDTO ç¶æçæ°æ®ä¼ è¾å¯¹è±¡ */ @Override public void editSave(OsStatusDTO statusDTO){ VciBaseUtil.alertNotNull(statusDTO,"ç¶æçä¿¡æ¯",statusDTO.getId(),"ç¶æçè±æåç§°",statusDTO.getName(),"ç¶æç䏿åç§°",statusDTO.getOid(),"主é®"); public boolean editSave(OsStatusDTO statusDTO) throws Exception { VciBaseUtil.alertNotNull(statusDTO,"ç¶æçä¿¡æ¯", statusDTO.getId(),"ç¶æçè±æåç§°", statusDTO.getName(),"ç¶æç䏿åç§°", statusDTO.getOid(),"主é®"); OsStatusVO statusVO = getObjectByOid(statusDTO.getOid()); if(Func.isEmpty(statusVO) || Func.isBlank(statusVO.getOid())){ throw new PLException("500",new String[]{"ä¿®æ¹çç¶æå¯¹è±¡ä¸åå¨ï¼"}); } StatePool pool = statusDTO2DO(statusDTO); pool.creator = statusVO.getCreator(); pool.createTime = VciDateUtil.getTime(statusVO.getCreateTime()); List<StatePool> poolList = new ArrayList<>(); poolList.add(pool); batchEditSave(poolList); clearCache(); try { boolean res = batchEditSave(Arrays.asList(pool)); self.selectAllStatusMap(); return res; }catch (Exception e){ e.printStackTrace(); logger.error(e.getMessage()); return false; } } /** * å é¤ç¶æ * @param oids ä¸»é® * @param osStatusDTOS */ @Override public void delete(String oids){ VciBaseUtil.alertNotNull(oids,"主é®"); //夿æ¯å¦è¢«å¼ç¨ List<OsStatusVO> statusVOList1 = selectByOidCollection(VciBaseUtil.str2List(oids)); if(statusVOList1.stream().anyMatch(statusVO -> lifeCycleService.checkStatusUsed(statusVO))){ public boolean deleteStatus(List<OsStatusDTO> osStatusDTOS) throws PLException { VciBaseUtil.alertNotNull(osStatusDTOS,"å¾ å é¤ç屿§å表"); Set<String> oids = osStatusDTOS.stream().map(OsStatusDTO::getOid).collect(Collectors.toSet()); List<OsStatusVO> osStatusVOList = selectByOidCollection(oids); //夿æä¸¾æ¯å¦æè¢«å¼ç¨ if(osStatusVOList.stream().anyMatch(statusVO -> lifeCycleService.checkStatusUsed(statusVO))){ throw new VciBaseException("ç¶æå¨çå½å¨æä¸è¢«ä½¿ç¨ï¼ä¸è½å é¤"); } statusVOList1.stream().forEach(statusVO -> { try { platformClientUtil.getStatePoolService().deleteStatePool(statusVO2DO(statusVO)); }catch (Throwable e){ throw new VciBaseException(LangBaseUtil.getErrorMsg(e),new String[]{},e); //å¹³å°çdeleteStatusæ¹æ³å¿ ä¼ ä¸ä¸ªåæ°ï¼oidãnameåts List<StatePool> statePoolList = new ArrayList<>(); for(OsStatusDTO statusDTO : osStatusDTOS){ //oidåtså¤ç©º String oid = statusDTO.getOid(); //name主è¦ç¨æ¥å¯¹ç¼åæ°æ®å é¤ String name = statusDTO.getName(); //åå°ä¼ç¨tsè¿è¡æ°æ®ä¸è´æ§æ ¡éª Date ts = statusDTO.getTs(); if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){ throw new PLException("500",new String[]{"å¾ å é¤çç¶æå表ä¸ä¸»é®ãoidããè°æ´æ¶é´ãtsããç¶æåç§°ãnameãä¸è½ä¸ºç©ºï¼"}); } }); clearCache(); StatePool statePool = new StatePool(); statePool.oid = oid; statePool.name = name; statePool.ts = Func.format(ts,VciDateUtil.DateTimeMillFormat); statePoolList.add(statePool); boolean res = platformClientUtil.getStatePoolService().deleteStatePool(statePool); if(!res){ throw new PLException("500",new String[]{"å é¤ç¶æå称为ã" + name + "ãçæ°æ®æ¶åºç°é误!"}); } } //clearCache(); self.selectAllStatusMap(); return true; } /** @@ -319,16 +384,171 @@ statePool.oid = statusDTO.getOid(); statePool.id = ""; statePool.name = statusDTO.getId(); statePool.imagePath = statusDTO.getImagePath(); statePool.description = statusDTO.getDescription()==null?"":statusDTO.getDescription(); String userId = VciBaseUtil.getCurrentUserId(); String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); long now = VciDateUtil.getNowTime(); statePool.creator = userId; statePool.creator = Func.isBlank(statusDTO.getCreator()) ? userId:statusDTO.getCreator(); statePool.createTime = now; statePool.modifier = userId; statePool.modifyTime = now; statePool.ts = statusDTO.getTs()==null?VciDateUtil.getNowString(VciDateUtil.DateTimeMillFormat):VciDateUtil.date2Str(statusDTO.getTs(),VciDateUtil.DateTimeMillFormat); statePool.tag = statusDTO.getName(); return statePool; } /** * 导åºéä¸çç¶æ * @param exportFileName 导åºçæä»¶å * @param statusOids éè¦å¯¼åºç屿§åç§° * @return */ @Override public String exportStatus(String exportFileName, String statusOids) throws PLException { if(Func.isBlank(statusOids)){ throw new PLException("500",new String[]{"请å¾éè¦å¯¼åºç屿§!"}); } //ç颿²¡ä¼ åç§°ï¼ä½¿ç¨é»è®¤å¯¼åºåç§° exportFileName = Func.isBlank(exportFileName) ? "ç¶ææ± ç¶æå¯¼åº_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName; //设置åå List<String> columns = new ArrayList<>(Arrays.asList("åç§°", "æ ç¾", "å¾ç", "æè¿°")); //åexcel String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls"; try { new File(excelPath).createNewFile(); } catch (Throwable e) { throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e); } //设置å List<WriteExcelData> excelDataList = new ArrayList<>(); //设置å头 for (int index = 0; index < columns.size(); index++) { excelDataList.add(new WriteExcelData(0,index, columns.get(index))); } //æç §å±æ§åæ¥è¯¢å±æ§ï¼ç¶åå¤ç屿§å¯¼åº List<String> statusOidList = Func.toStrList(statusOids); AtomicInteger i = new AtomicInteger(1); statusOidList.stream().forEach(oid->{ OsStatusVO osStatusVO = this.getObjectByOid(oid); excelDataList.add(new WriteExcelData(i.get(),0, osStatusVO.getId())); excelDataList.add(new WriteExcelData(i.get(),1, osStatusVO.getName())); excelDataList.add(new WriteExcelData(i.get(),2, osStatusVO.getImagePath())); excelDataList.add(new WriteExcelData(i.get(),3, osStatusVO.getDescription())); i.getAndIncrement(); }); WriteExcelOption excelOption = new WriteExcelOption(excelDataList); ExcelUtil.writeDataToFile(excelPath, excelOption); return excelPath; } /** * ä¸è½½ç¶æå¯¼å ¥æ¨¡æ¿ * @param exportFileName * @return * @throws PLException */ @Override public String downloadStatusTemplate(String exportFileName) throws Exception { //ç颿²¡ä¼ åç§°ï¼ä½¿ç¨é»è®¤å¯¼åºåç§° exportFileName = Func.isBlank(exportFileName) ? "ç¶ææ± å¯¼å ¥æ¨¡æ¿_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName; //设置åå List<String> columns = new ArrayList<>( Arrays.asList("åç§°(ä¸è½ä¸ºç©º)", "æ ç¾(对åç§°çè§£é)","å¾ç(è·¯å¾)", "æè¿°(å¯ä»¥ä¸ºç©º)") ); //è®¾ç½®å¿ å¡«å ColumnNameisRed.clear(); ColumnNameisRed.add(0); //åexcel String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls"; try { new File(excelPath).createNewFile(); } catch (Throwable e) { throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e); } //设置å List<WriteExcelData> excelDataList = new ArrayList<>(); //设置å头 for (int index = 0; index < columns.size(); index++) { //夿æ¯å¦ä¸ºå¿ å¡«åï¼ç»å¿ å¡«å设置é¢è² if(ColumnNameisRed.contains(index)){ WriteExcelData excelData = new WriteExcelData(0, index, columns.get(index)); excelData.setFontColor(String.valueOf(HSSFColor.HSSFColorPredefined.RED.getIndex())); excelDataList.add(excelData); }else{ excelDataList.add(new WriteExcelData(0,index, columns.get(index))); } } WriteExcelOption excelOption = new WriteExcelOption(excelDataList); ExcelUtil.writeDataToFile(excelPath, excelOption); return excelPath; } /** * å¯¼å ¥ç¶æ * @param file * @return */ @Override public BaseResult importStatus(File file) throws Exception { VciBaseUtil.alertNotNull(file,"excelæä»¶"); if(!file.exists()){ throw new VciBaseException("å¯¼å ¥çexcelæä»¶ä¸åå¨,{0}",new String[]{file.getPath()}); } try{ //1ã读åexcelä¸çæ°æ®ï¼ç»æå¯¹è±¡ ReadExcelOption excelOption = new ReadExcelOption(); List<OsStatusPO> poList = ExcelUtil.readDataObjectFromExcel(file, OsStatusPO.class,excelOption,(value, po, fieldName)->{}); //å»é¤é½æ¯ç©ºçæ åµ if(CollectionUtils.isEmpty(poList)){ return BaseResult.fail(ExcelLangCodeConstant.IMPORT_CONTENT_NULL,new String[]{}); } //excelå¤éï¼æ°æ®æ ¡éªï¼dto对象转æ¢ï¼åå¨å¯¹è±¡è½¬æ¢ï¼æ§è¡ä¿å List<StatePool> statePoolList = new ArrayList<>(); //å½åexcel䏿¯å¦éå¤ç¨çå¤éMap:ï¼keyï¼å¤é屿§ï¼valueï¼è¡å·ï¼ Map<String, String> excelReapeat = new HashMap<>(); //å¤æå¿ å¡«å±æ§æ¯å¦ä¸ºç©ºï¼ç¨æ·æ¯å¦å·²åå¨ï¼ä»¥åé¨é¨æ¯å¦å¡«éçæ ¡éªé»è¾ poList.stream().forEach(osStatusPO -> { try { StatePool dbStatePool = platformClientUtil.getStatePoolService().getStatePool(osStatusPO.getId()); if(Func.isNotEmpty(dbStatePool) && Func.isNotBlank(dbStatePool.oid)){ throw new VciBaseException("第ã"+osStatusPO.getRowIndex()+"ãè¡ï¼åç§°å¨ç³»ç»ä¸å·²ç»åå¨,请修æ¹!"); } } catch (PLException e) { e.printStackTrace(); logger.error(e.getMessage()); throw new VciBaseException(e.getMessage()); } if(Func.isBlank(osStatusPO.getId())){//屿§åå¤ç©º throw new VciBaseException("第ã"+osStatusPO.getRowIndex()+"ãè¡ï¼enumnameerror"); }else if(!osStatusPO.getId().matches("[a-z A-Z]*")){ // ç¶ææ± åç§°åªè½ä¸ºè±æåæ¯ throw new VciBaseException("åç§°åªè½ä¸ºè±æï¼"); }else if(excelReapeat.containsKey(osStatusPO.getId())){//屿§åè¡¨æ ¼ä¸å¤é throw new VciBaseException("第ã"+excelReapeat.get(osStatusPO.getId())+"ãè¡å第ã"+osStatusPO.getRowIndex()+"ãè¡æ°æ®ï¼åç§°éå¤"); } //ç¶æåexcelä¸å¤éå¤ç excelReapeat.put(osStatusPO.getId(),osStatusPO.getRowIndex()); OsStatusDTO osStatusDTO = new OsStatusDTO(); osStatusDTO.setOid(VciBaseUtil.getPk().toUpperCase(Locale.ROOT)); osStatusDTO.setId(osStatusPO.getId()); osStatusDTO.setName(osStatusPO.getName()); osStatusDTO.setImagePath(osStatusPO.getImagePath()); osStatusDTO.setDescription(osStatusPO.getDescription()); statePoolList.add(statusDTO2DO(osStatusDTO)); }); //æ§è¡ä¿åæä½ batchAddStatus(statePoolList); }catch (Exception e){ if(logger.isErrorEnabled()){ logger.error("读åexcelå å®¹æ¶æä¿åç¨æ·ä¿¡æ¯æ¶åºç°äºé误ï¼å ·ä½åå ï¼",VciBaseUtil.getExceptionMessage(e)); } e.printStackTrace(); return BaseResult.fail(VciBaseUtil.getExceptionMessage(e),new String[]{},e); } return BaseResult.success("æä¸¾å¯¼å ¥æåï¼"); } /** @@ -352,7 +572,5 @@ statePool.tag = statusVO.getName(); return statePool; } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBtmIOServiceImpl.java
@@ -201,7 +201,7 @@ * @param statusDTOList è¦å¯¼å ¥çç¶æçæ°æ®ä¼ è¾å¯¹è±¡å表 * @throws VciBaseException æ¥è¯¢æè æ§è¡åºéçæ¶å伿åºå¼å¸¸ */ private void importStatus( Collection<OsStatusDTO> statusDTOList) throws VciBaseException{ private void importStatus( Collection<OsStatusDTO> statusDTOList) throws Exception { //è¦å¯¼å ¥çç¶æçææè±æåç§° List<String> statusIdList = new ArrayList<String>(); Iterator<OsStatusDTO> iterator = statusDTOList.iterator();