From eee70eddb1464593aa08a0b108e4a1af01ce8a2f Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期一, 02 九月 2024 15:11:35 +0800 Subject: [PATCH] 属性树添加(包括参照) --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 222 insertions(+), 6 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java index 5a65bfe..8b982bd 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/OsAttributeController.java @@ -1,13 +1,32 @@ 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.DataGrid; +import com.vci.starter.web.pagemodel.BaseResult; import com.vci.pagemodel.OsAttributeVO; +import com.vci.starter.web.pagemodel.Tree; +import com.vci.starter.web.pagemodel.TreeQueryObject; +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.OsAttributeServiceI; +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.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +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; /** * 灞炴�ф帶鍒跺櫒 @@ -25,12 +44,209 @@ private OsAttributeServiceI attributeService; /** + * 鏃ュ織 + */ + private Logger logger = LoggerFactory.getLogger(getClass()); + + + + /** + * 鑾峰彇鎵�鏈変笟鍔$被鍨嬶紙鏍戝舰缁撴瀯锛� + * @return 鏌ヨ缁撴灉 + */ + @GetMapping( "/getTreeAttributes") + @VciBusinessLog(operateName = "鑾峰彇灞炴�э紙鏍戝舰缁撴瀯锛�") + public BaseResult<List<Tree>> getTreeAttributesByBtmName(TreeQueryObject treeQueryObject){ + try { + List<Tree> trees= attributeService.getTreeAttributesByBtmName(treeQueryObject); + return BaseResult.dataList(trees); + // return BaseResult.tree(trees); + }catch (Throwable e) { + e.printStackTrace(); + String exceptionMessage = "鏌ヨ涓氬姟绫诲瀷鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + + /** * 灞炴�у垪琛� * @param baseQueryObject 鏌ヨ瀵硅薄 * @return 灞炴�х殑鏄剧ず瀵硅薄 */ @GetMapping("/gridAttribute") - public DataGrid<OsAttributeVO> gridAttribute(BaseQueryObject baseQueryObject){ - return attributeService.gridAttribute(baseQueryObject); + @VciBusinessLog(operateName = "灞炴�у垪琛�") + public BaseResult<OsAttributeVO> gridAttribute(BaseQueryObject baseQueryObject){ + try { + return BaseResult.dataGrid(attributeService.gridAttribute(baseQueryObject)); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "灞炴�х鐞嗗垪琛ㄦ煡璇㈡椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } } + + /** + * 鏍规嵁澶氫釜灞炴�у悕绉版煡璇㈠睘鎬� + * @param attrNames + * @return + */ + @GetMapping("/getByAttributeNames") + @VciBusinessLog(operateName = "鏍规嵁澶氫釜灞炴�у悕绉版煡璇㈠睘鎬�") + public BaseResult getByAttributeNames(String[] attrNames){ + try { + return BaseResult.dataList(attributeService.getByAttributeNames(attrNames)); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "灞炴�у悕鏌ヨ灞炴�ф椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 娣诲姞鍗曟潯灞炴�у埌灞炴�ф睜 + * @param osAttributeDTO + * @return 鍒楄〃鐨勫唴瀹� + */ + @PostMapping( "/addAttribute") + @VciBusinessLog(operateName = "娣诲姞灞炴��") + public BaseResult addAttribute(@RequestBody OsAttributeDTO osAttributeDTO) { + try { + return attributeService.addAttribute(osAttributeDTO) ? BaseResult.success("灞炴�ф坊鍔犳垚鍔燂紒"):BaseResult.fail("灞炴�ф坊鍔犲け璐ワ紒"); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "澧炲姞灞炴�ф椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 淇敼鍗曟潯灞炴�� + * @param osAttributeDTO + * @return 鍒楄〃鐨勫唴瀹� + */ + @PutMapping( "/updateAttribute") + @VciBusinessLog(operateName = "淇敼灞炴��") + public BaseResult updateAttribute(@RequestBody OsAttributeDTO osAttributeDTO) { + try { + return attributeService.updateAttribute(osAttributeDTO) ? BaseResult.success("灞炴�т慨鏀规垚鍔燂紒"):BaseResult.fail("灞炴�т慨鏀瑰け璐ワ紒"); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "淇敼灞炴�ф椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 鍒犻櫎灞炴�� + * @param osAttributeDTOS + * @return 鍒楄〃鐨勫唴瀹� + */ + @DeleteMapping( "/deleteAttributes") + @VciBusinessLog(operateName = "鍒犻櫎灞炴��") + public BaseResult deleteAttributes(@RequestBody List<OsAttributeDTO> osAttributeDTOS) { + try { + return attributeService.deleteAttributes(osAttributeDTOS) ? BaseResult.success("灞炴�у垹闄ゆ垚鍔燂紒"):BaseResult.fail("灞炴�у垹闄ゅけ璐ワ紒"); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "鍒犻櫎灞炴�ф椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 鏌ョ湅灞炴�х殑浣跨敤鑼冨洿 + * @param attributeName 灞炴�у悕绉� + * @return map瀵硅薄 + */ + @GetMapping( "/getUsedAttributeList") + @VciBusinessLog(operateName = "鏌ョ湅灞炴�х殑浣跨敤鑼冨洿") + public BaseResult getUsedAttributeList(String attributeName) { + try { + return BaseResult.dataList(attributeService.getUsedAttributeList(attributeName)); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "鑾峰彇灞炴�х殑浣跨敤鑼冨洿鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 瀵煎嚭閫変腑鐨勫睘鎬� + * @param exportFileName 瀵煎嚭鐨勬枃浠跺悕 + * @param attrNames 闇�瑕佸鍑虹殑灞炴�ц嫳鏂囧悕绉� + * @param response + */ + @GetMapping( "/exportAttributes") + @VciBusinessLog(operateName = "瀵煎嚭灞炴��") + public void exportAttributes(String exportFileName,String attrNames, HttpServletResponse response){ + try { + String excelPath = attributeService.exportAttributes(exportFileName,attrNames,false); + 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( "/downloadAttributeTemplate") + @VciBusinessLog(operateName = "瀵煎嚭灞炴��") + public void downloadAttributeTemplate(String exportFileName, HttpServletResponse response){ + try { + String excelPath = attributeService.downloadAttributeTemplate(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("/importAttributes") + @VciBusinessLog(operateName = "瀵煎叆灞炴��") + public BaseResult importAttributes(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 attributeService.importAttributes(file1,false); + } 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(); + } + } + } -- Gitblit v1.9.3