From 34c25ddf37a3eb8da9efb04efedad089f13efe83 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 24 七月 2024 18:20:27 +0800 Subject: [PATCH] 部门导入调整,按照部门名称/实现层级关系。枚举导入功能接口上传,属性池添加新增、查询、修改、导出、查看应用范围等接口。业务类型、链接类型、枚举类型增加等接口属性是否产生数据检查、根据属性名修改业务类型和连接类型中对应属性方法,以及属性池中需要的一些下拉查询接口。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 141 insertions(+), 20 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java index da185df..cbb2b54 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/OrgDepartmentQueryController.java @@ -1,19 +1,31 @@ package com.vci.frameworkcore.controller; -import com.vci.corba.common.PLException; +import com.vci.dto.OrgDepartmentDTO; import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI; -import com.vci.frameworkcore.pagemodel.OrgDepartmentVO; +import com.vci.constant.FrameWorkLangCodeConstant; +import com.vci.pagemodel.OrgDepartmentVO; +import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; +import com.vci.starter.web.util.ControllerUtil; +import com.vci.starter.web.util.LangBaseUtil; +import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; -import lombok.extern.slf4j.Slf4j; +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.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; +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; /** @@ -23,7 +35,6 @@ */ @RestController @RequestMapping("/departmentQueryController") -@Slf4j public class OrgDepartmentQueryController { /** @@ -33,23 +44,33 @@ private OrgDeptQueryServiceI deptQueryService; /** - * 閮ㄩ棬鐨勬爲褰㈠弬鐓� + * 鏃ュ織 + */ + private Logger logger = LoggerFactory.getLogger(getClass()); + + /** + * 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝閮ㄩ棬绠$悊涔熺敤鐨勮繖涓煡璇㈡帴鍙� * @param treeQueryObject 鏍戝舰鏁版嵁鐨勬煡璇㈠璞★紝鍖呮嫭鏌ヨ鏉′欢锛屼笂绾т富閿紝鏄惁澶氶�夌瓑锛岋紙extandParamsMap涓坊鍔�"showAllDepartmentNode"涓�"true"鏃�,骞朵笖parentOid涓虹┖锛岃繑鍥炵粨鏋滀腑浼氬寘鍚�滄墍鏈夐儴闂ㄢ�濊繖涓妭鐐癸級 * @return 閮ㄩ棬鐨勬爲褰㈠弬鐓э紝宸茬粡杞崲浜嗕笂涓嬬骇鍏崇郴 * @throws VciBaseException 鏌ヨ鍑洪敊鐨勬椂鍊欎細鎶涘嚭寮傚父锛屽鏋滄槸鑰佺殑椤圭洰閲屼笉鎶涘嚭寮傚父 */ @RequestMapping(value = "/refTree",method = RequestMethod.GET) public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{ - List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject); - return BaseResult.tree(deptTreeList); - //鑰佺殑椤圭洰渚濈劧鏄坊鍔爐ry catch锛屾柟娉曢噷涓嶆姏鍑哄紓甯� - //BaseResult.fail("杩欓噷杩斿洖鍓嶇鐨勯敊璇俊鎭�"); + try { + List<Tree> deptTreeList = deptQueryService.refTreeDept(treeQueryObject); + return BaseResult.tree(deptTreeList); + }catch (Exception e) { + e.printStackTrace(); + String exceptionMessage = "閮ㄩ棬鏍戞煡璇㈡椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } } /** - * 閮ㄩ棬鏌ヨ锛屽甫鍒嗛〉 + * 閮ㄩ棬鍒楄〃鏌ヨ锛屽甫鍒嗛〉 * @param queryObject - * @return + * @return 杩斿洖鐨刲ist涓嶆槸tree缁撴瀯鐨� */ @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET) public BaseResult<OrgDepartmentVO> refDataGrid(BaseQueryObject queryObject){ @@ -58,20 +79,120 @@ } /** - * 淇濆瓨閮ㄩ棬瑙掕壊鍏宠仈淇℃伅锛屽甫鏌ラ噸鍔熻兘 - * @param userOIds 鐢ㄦ埛id + * 淇濆瓨閮ㄩ棬鐢ㄦ埛鍏宠仈淇℃伅锛屽钩鍙拌嚜甯︽煡閲嶅姛鑳� + * @param userOids 鐢ㄦ埛id * @param deptId 閮ㄩ棬oid * @return */ @RequestMapping(value = "/saveUsersDepts",method = RequestMethod.POST) - public BaseResult saveUsersDepts(String[] userOIds, String deptId){ + public BaseResult saveUsersDepts(String[] userOids, String deptId){ + //涓嶈兘鍚屾椂涓虹┖ + if(Func.isEmpty(userOids) && Func.isBlank(deptId)){ + return BaseResult.fail("瑙掕壊涓婚敭鍜岄儴闂ㄤ富閿紝鍙傛暟涓嶈兘鍚屾椂涓虹┖!"); + } try { - return deptQueryService.saveUsersDept(userOIds,deptId) ? BaseResult.success("瑙掕壊鍒嗛厤鎴愬姛锛�"):BaseResult.fail("瑙掕壊鍒嗛厤澶辫触锛�"); + return deptQueryService.saveUsersDept(userOids,deptId) ? BaseResult.success("閮ㄩ棬鍒嗛厤鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬鍒嗛厤澶辫触锛�"); }catch (Exception e){ e.printStackTrace(); - String exceptionMessage = VciBaseUtil.getExceptionMessage(e); - log.error("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); - return BaseResult.fail("鏍规嵁鐢ㄦ埛涓婚敭鑾峰彇锛屽叧鑱旂殑瑙掕壊鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + exceptionMessage); + String exceptionMessage = "鍏宠仈鐨勯儴闂ㄦ椂鍑虹幇閿欒锛屽師鍥狅細" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 鏂板鍗曟潯閮ㄩ棬 + * @param orgDepartmentDTO + * @return + */ + @RequestMapping(value = "/addDept",method = RequestMethod.POST) + public BaseResult addDept(@RequestBody OrgDepartmentDTO orgDepartmentDTO){ + try { + return deptQueryService.addDept(orgDepartmentDTO) ? BaseResult.success("閮ㄩ棬娣诲姞鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬娣诲姞澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = "娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 淇敼閮ㄩ棬淇℃伅 + * @param orgDepartmentDTO + * @return + */ + @RequestMapping(value = "/updateDept",method = RequestMethod.PUT) + public BaseResult updateRole(@RequestBody OrgDepartmentDTO orgDepartmentDTO){ + try { + return deptQueryService.updateDept(orgDepartmentDTO) ? BaseResult.success("閮ㄩ棬淇敼鎴愬姛锛�"):BaseResult.fail("閮ㄩ棬淇敼澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = "淇敼閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 鍒犻櫎閮ㄩ棬 + * @param ids 瑕佸垹闄ょ殑閮ㄩ棬涓婚敭 + * @return + */ + @RequestMapping(value = "/deleteDept",method = RequestMethod.DELETE) + public BaseResult deleteDept(String[] ids){ + try { + return deptQueryService.deleteDept(ids) ? BaseResult.success("鍒犻櫎閮ㄩ棬鎴愬姛锛�"):BaseResult.fail("鍒犻櫎閮ㄩ棬澶辫触锛�"); + }catch (Exception e){ + e.printStackTrace(); + String exceptionMessage = "娣诲姞閮ㄩ棬鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + VciBaseUtil.getExceptionMessage(e); + logger.error(exceptionMessage); + return BaseResult.fail(exceptionMessage); + } + } + + /** + * 涓嬭浇浜哄憳瀵煎叆妯℃澘 + * @param downloadFileName + * @param response + */ + @RequestMapping(value = "/downloadImportTemplate",method = RequestMethod.GET) + public void downloadImportTemplate(String downloadFileName, HttpServletResponse response){ + try { + String excelPath = deptQueryService.downloadImportTemplate(downloadFileName); + ControllerUtil.writeFileToResponse(response,excelPath); + } catch (Exception e) { + String msg = "涓嬭浇閮ㄩ棬瀵煎叆妯℃澘鏃跺嚭鐜伴敊璇紝鍘熷洜锛�" + LangBaseUtil.getErrorMsg(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 + */ + @RequestMapping(value = "/importDept",method = RequestMethod.POST) + @VciUnCheckRight + public BaseResult importUser(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 deptQueryService.importDept(file1); + } else { + return BaseResult.fail(FrameWorkLangCodeConstant.IMPORT_FAIL, new String[]{"鏃犲鍏ョ殑鏂囦欢"}); + } + }catch (Throwable e) { + throw new VciBaseException(e.getMessage(),new String[0],e); + }finally { + file1.delete(); } } -- Gitblit v1.9.3