diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDataSourceService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDataSourceService.java new file mode 100644 index 0000000..a1c3a5c --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDataSourceService.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SysDataSource; +import cn.estsh.i3plus.pojo.platform.bean.SysPosition; +import cn.estsh.impp.framework.base.service.ICacheCrudService; +import io.swagger.annotations.ApiOperation; + +/** + * @Description : 数据源接口 + * @Reference : + * @Author : wei.peng + * @Date : 2018-10-19 16:36 + * @Modify : + **/ +public interface ISysDataSourceService extends ICacheCrudService { + + @ApiOperation(value = "数据源检查",notes = "数据源唯一检查(软件类型,数据源代码)") + void checkSysDataSourceOnly(SysDataSource bean); + +} diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDepartmentService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDepartmentService.java index 365440a..60dfc08 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDepartmentService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysDepartmentService.java @@ -84,8 +84,8 @@ public interface ISysDepartmentService extends ICacheCrudService // @ApiOperation(value = "查询部门信息",notes = "查询部门信息(分页、组织ID集合、组合)") // ListPager findSysDepartmentPagerByOrganizeId(SysDepartment department, List organizeIdList, Pager pager); // -// @ApiOperation(value = "查询部门信息",notes = "查询部门信息(分页、组织ID集合、组合)") -// ListPager findSysDepartmentPagerByIdList(SysDepartment department, List idList, Pager pager); + @ApiOperation(value = "查询部门信息",notes = "查询部门信息(分页、组织ID集合、组合)") + ListPager findSysDepartmentPagerByIdList(SysDepartment department, List idList, Pager pager); @ApiOperation(value = "根据组织获取部门数量") List findByOrganizeIdList(List organizeIdList); diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java index e4911da..aa124d4 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java @@ -2,7 +2,7 @@ package cn.estsh.i3plus.core.api.iservice.busi; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan; import cn.estsh.impp.framework.base.service.ICacheCrudService; -import cn.estsh.impp.framework.base.service.ICrudService; +import io.swagger.annotations.ApiOperation; /** * @Description : @@ -12,4 +12,8 @@ import cn.estsh.impp.framework.base.service.ICrudService; * @Modify: **/ public interface ISysPojoVersionPlanService extends ICacheCrudService { + + @ApiOperation(value = "版本计划唯一检查") + void checkSysPojoVersionPlanOnly(SysPojoVersionPlan bean); + } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java index 0992266..164b95f 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java @@ -74,14 +74,6 @@ public interface ISysPositionService extends ICacheCrudService { // @ApiOperation(value = "查询岗位信息",notes = "查询岗位信息 (分页,组合)") // ListPager querySysPosition(SysPosition position, Pager pager); - - @ApiOperation(value = "账号检查",notes = "检查账号的登录名是否重复") - boolean heckSysPositionCode(String code, long id); - - /** - * 账号唯一教研 - * @param position - */ @ApiOperation(value = "岗位检查",notes = "岗位检查唯一(岗位代码)") void checkSysPositionOnly(SysPosition position); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoController.java index ccc629f..8fd2308 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoController.java @@ -71,5 +71,4 @@ public class DemoController extends CoreBaseController { } - } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BackstageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BackstageController.java index 1737baa..eb03e14 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BackstageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/BackstageController.java @@ -1,7 +1,11 @@ package cn.estsh.i3plus.core.apiservice.controller.base; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; +import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -9,6 +13,7 @@ import cn.estsh.impp.framework.boot.license.ImppLicenseTool; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -16,6 +21,8 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.*; + /** * @Description : 后台服务 * @Reference : @@ -33,6 +40,11 @@ public class BackstageController extends CoreBaseController { @Autowired private ISystemInitService systemInitService; + @Autowired + private ISysMenuService menuService; + + @Autowired + private ICoreMemTreeService memTreeService; @GetMapping(value = "/redis-put-all") @@ -101,6 +113,50 @@ public class BackstageController extends CoreBaseController { } } + @GetMapping(value = "/reset/menu/soft-type") + @ApiOperation(value = "重置菜单产品类型属性",notes = "重新加载授权数据") + public ResultBean restSysMenuSoftType(){ + try { + List menuList = menuService.findAll(); + if(CollectionUtils.isNotEmpty(menuList)){ + + /** 设置功能权限 softType 默认值*/ + Map menuMap = new HashMap<>(); + for (SysMenu menu : menuList) { + menu.setSoftType(CommonEnumUtil.SOFT_TYPE.IMPP.getValue()); + menuMap.put(menu.getId(),menu); + } + + List treeMenus = memTreeService.packTreeSysMenu(menuList, CommonEnumUtil.SOFT_TYPE.IMPP.getMenuRootId()); + if(CollectionUtils.isNotEmpty(treeMenus)){ + for (SysMenu menu : treeMenus) { + CommonEnumUtil.SOFT_TYPE softType = CommonEnumUtil.SOFT_TYPE.valueOfMenuRootId(menu.getId()); + + if(Objects.nonNull(softType)){ + menu.setSoftType(softType.getValue()); + + List childMenus = memTreeService.findChildSysMenu(menu); + if(CollectionUtils.isNotEmpty(childMenus)){ + for (Long key : childMenus) { + if(menuMap.containsKey(key)){ + menuMap.get(key).setSoftType(softType.getValue()); + } + } + } + } + } + } + menuService.saveBatch(new ArrayList<>(menuMap.values())); + } + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDataSourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDataSourceController.java new file mode 100644 index 0000000..9426e93 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDataSourceController.java @@ -0,0 +1,106 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysDataSourceService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionPlanService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysDataSource; +import cn.estsh.i3plus.pojo.platform.bean.SysFile; +import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan; +import cn.estsh.impp.framework.base.controller.CrudBaseController; +import cn.estsh.impp.framework.base.service.ICrudService; +import cn.estsh.impp.framework.boot.datasource.ImppJdbcTemplateFactory; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; +import org.springframework.web.bind.annotation.*; + +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Objects; + +/** + * @Description : + * @Reference : + * @Author : wei.peng + * @CreateDate : 20-4-21 下午2:56 + * @Modify: + **/ +@RestController +@Api(tags = "数据源服务") +@RequestMapping(CommonConstWords.BASE_URL_CORE+"/data-source") +public class SysDataSourceController extends CrudBaseController { + @Autowired + private ISysDataSourceService dataSourceService; + + @Override + public ICrudService getCrudService() { + return dataSourceService; + } + + @Override + public SysDataSource validatorInsertBean(SysDataSource bean) throws Exception { + ValidatorBean.beginValid(bean) + .notNull("sourceName",bean.getSourceName()) + .notNull("softType",bean.getSoftType()) + .notNull("sourceCode",bean.getSourceCode()) + .notNull("sourceType",bean.getSourceType()) + .notNull("sourceHost",bean.getSourceHost()) + .notNull("sourcePort",bean.getSourcePort()) + .notNull("sourceUserName",bean.getSourceUserName()) + .notNull("sourcePassword",bean.getSourcePassword()); + + try { + bean.setSourceStatus(CommonEnumUtil.DATA_SOURCE_STATUS.CONN_FAILURE.getValue()); + NamedParameterJdbcTemplate template = ImppJdbcTemplateFactory.getNamedParameterJdbcTemplate(bean); + if(template != null) { + try { + Connection conn = template.getJdbcTemplate().getDataSource().getConnection(); + if(Objects.nonNull(conn)){ + bean.setSourceStatus(CommonEnumUtil.DATA_SOURCE_STATUS.CONN_SUCCESS.getValue()); + } + }catch (SQLException e){ + e.printStackTrace(); + } + } + }catch (Exception e){ + e.printStackTrace(); + } + + return bean; + } + + @GetMapping(value = "/connection-check/{id}") + @ApiOperation(value = "数据源连接检查") + public ResultBean checkConnection(@PathVariable("id") Long id) { + try { + SysDataSource source = dataSourceService.get(id); + NamedParameterJdbcTemplate template = ImppJdbcTemplateFactory.getNamedParameterJdbcTemplate(source); + if(template != null) { + try { + Connection conn = template.getJdbcTemplate().getDataSource().getConnection(); + if(Objects.nonNull(conn)){ + source.setSourceStatus(CommonEnumUtil.DATA_SOURCE_STATUS.CONN_SUCCESS.getValue()); + dataSourceService.update(source); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + }catch (SQLException e){ + e.printStackTrace(); + } + } + return ResultBean.fail("操作失败").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java index f62d107..6b47748 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysDepartmentController.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysDepartmentService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.StringTool; @@ -12,6 +13,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysDepartment; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; +import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.base.controller.CrudBaseController; @@ -53,12 +55,40 @@ public class SysDepartmentController extends CrudBaseController { @Autowired private IPersonnelService personnelService; + @Autowired + private ISysOrganizeService organizeService; + @Override public ICrudService getCrudService() { return departmentService; } -// /** + @Override + public SysDepartment validatorInsertBean(SysDepartment bean) throws Exception { + //条件验证 + ValidatorBean.beginValid(bean) + .notNull("name", bean.getName()) + .notNull("departmentCode", bean.getDepartmentCode()) + .checkNotZero("organizeId", bean.getOrganizeId()); + + SysOrganize organize = organizeService.get(bean.getOrganizeId()); + ValidatorBean.checkNotNull(organize, "不存在的组织信息"); + bean.setOrganizeNameRdd(organize.getName()); + + if (bean.getParentId() == null || bean.getParentId() <= 0) { + bean.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); + bean.setParentNameRdd("顶级部门"); + } else { + SysDepartment department = departmentService.get(bean.getParentId()); + ValidatorBean.checkNotNull(department, "不存在的上级部门信息"); + bean.setParentNameRdd(department.getName()); + bean.setOrganizeId(department.getOrganizeId()); + } + + return bean; + } + + // /** // * 添加部门 // * @param department 部门 // * @return 处理结果 @@ -145,29 +175,29 @@ public class SysDepartmentController extends CrudBaseController { // } // } // -// @GetMapping(value = "/list-user") -// @ApiOperation(value = "查询所有部门", notes = "查询所有部门") -// public ResultBean findSysDepartmentList() { -// try { -// List result = null; -// if(AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)){ -// result = departmentService.findSysDepartmentList(); -// }else { -// List refList = personnelService.findSysRefUserDepartmentByOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); -// if(refList != null && refList.size() > 0){ -// List idList = new ArrayList<>(refList.size()); -// refList.forEach(ref -> idList.add(ref.getDepartmentId())); -// result = departmentService.findSysDepartmentListByIdList(idList); -// } -// -// } -// return ResultBean.success("操作成功").setResultList(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); -// } catch (ImppBusiException busExcep) { -// return ResultBean.fail(busExcep); -// } catch (Exception e) { -// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); -// } -// } + @GetMapping(value = "/list-user") + @ApiOperation(value = "查询所有部门", notes = "查询所有部门") + public ResultBean findSysDepartmentList() { + try { + List result = null; + if(AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)){ + result = departmentService.findAll(); + }else { + List refList = personnelService.findSysRefUserDepartmentByOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + if(refList != null && refList.size() > 0){ + List idList = new ArrayList<>(refList.size()); + refList.forEach(ref -> idList.add(ref.getDepartmentId())); + result = departmentService.findByOrganizeIdList(idList); + } + + } + return ResultBean.success("操作成功").setResultList(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } // // /** // * 根据id查询部门 @@ -223,6 +253,31 @@ public class SysDepartmentController extends CrudBaseController { // return ImppExceptionBuilder.newInstance().buildExceptionResult(e); // } // } + + @Override + @GetMapping(value = "/query") + @ApiOperation(value = "查询部门", notes = "组合查询部门信息外加分页信息") + public ResultBean queryPager(SysDepartment bean, Pager pager) { + try { + List refIdList = null; + if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)) { + refIdList = memTreeService.findDepartmentIdListByOrganizeIdAndDepartmentId(bean.getOrganizeId(), bean.getParentId()); + } else { + refIdList = memTreeService.findDepartmentIdListByOrganizeIdAndDepartmentIdAndUserId( + bean.getOrganizeId(), bean.getParentId(), getSessionUser().getUser().getId()); + } + + return ResultBean.success("操作成功") + .setListPager(departmentService.findSysDepartmentPagerByIdList(bean, refIdList, pager)) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + // // /** // * 删除部门 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java index c67852a..ddf7fea 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysEnumController.java @@ -326,5 +326,10 @@ public class SysEnumController extends CoreBaseController { LocaleUtils.getEnumLocaleResValuesToList(CommonEnumUtil.LOG_DETAIL_SHOW_TYPE.values())); } - + @GetMapping("/data-source-type") + @ApiOperation(value = "数据源类型", notes = "数据源类型") + public ResultBean getDataSourceType() { + return new ResultBean(true, "操作成功", + LocaleUtils.getEnumLocaleResValuesToList(CommonEnumUtil.DATA_SOURCE_TYPE.values())); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java index 8b8c816..f5b17c2 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMenuController.java @@ -3,20 +3,39 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysMenuService; +import cn.estsh.i3plus.platform.common.exception.BaseImppException; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.tool.ExcelTool; +import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.platform.common.util.FileContentTypeTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMenu; import cn.estsh.impp.framework.base.controller.CrudBaseController; import cn.estsh.impp.framework.base.service.ICrudService; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ImppRedis; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.commons.io.IOUtils; 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.annotation.Resource; import javax.persistence.EntityManager; +import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description : 系统功能对外接口 @@ -304,121 +323,121 @@ public class SysMenuController extends CrudBaseController { // } // // -// -// /** -// * 文件上传 -// * @param multipart 文件 -// * @return 处理结果 -// */ -// @Deprecated -// @PostMapping("/upload") -// @ApiOperation(value = "文件上传", notes = "文件上传") -// public ResultBean singleFileUpload(@RequestParam("file") MultipartFile multipart) { -// try { -// startMultiService(); -// ExcelTool excelTool = new ExcelTool(entityManager, redisRes); -// -// if(multipart.isEmpty()){ -// throw ImppExceptionBuilder.newInstance() -// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) -// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) -// .setErrorDetail("请选择需要上传的文件。") -// .build(); -// } -// List list = excelTool.importData("permission.xls",multipart.getInputStream(), SysMenu.class); -// -// Map map = new HashMap<>(); -// list.forEach(menu -> { -// ValidatorBean.checkNotNull(menu.getMenuCode(), "功能代码不能为空"); -// ValidatorBean.checkNotNull(menu.getParentId(), "父级功能ID不能为空"); -// ValidatorBean.checkNotNull(menu.getSoftType(), "产品类型不能为空"); -// -// menu.setId(Long.parseLong(menu.getMenuCode())); -// if (!map.containsKey(menu.getMenuCode())) { -// map.put(menu.getMenuCode(),menu); -// } else { -// throw ImppExceptionBuilder.newInstance() -// .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) -// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) -// .setErrorDetail("功能代码【" + menu.getMenuCode() + "】重复") -// .build(); -// } -// -// }); -// -// list.forEach(menu -> { -// menu.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue()); -// menu.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); -// if(menu.getParentId().longValue() != -1){ -// SysMenu mu = map.get(menu.getParentId().toString()); -// ValidatorBean.checkNotNull(mu, "【"+menu.getParentId()+"】不存在的父节点信息"); -// menu.setNameZhShortening(StringTool.getAllFirstLetter(mu.getName())); -// menu.setParentNameRdd(mu.getName()); -// } -// }); -// -// return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) -// .setResultList(menuService.refreshSysMenu(list)); -// }catch(ImppBusiException busExcep){ -// return ResultBean.fail(busExcep); -// }catch(BaseImppException busExcep){ -// return ResultBean.fail(busExcep); -// }catch(Exception e){ -// return ImppExceptionBuilder.newInstance().buildExceptionResult(e); -// } -// } -// -// /** -// * 文件下载 -// * -// * @param response response -// * @return 处理结果 -// */ -// @GetMapping("/download/excel") -// @ApiOperation(value = "权限文件下载", notes = "权限文件下载") -// public void singleDownload(HttpServletResponse response) { -// try { -// startMultiService(); -// ExcelTool excelTool = new ExcelTool(entityManager, redisRes); -// String fileName = "menu_" + System.currentTimeMillis() + ".xls"; -// List list = menuService.findSysMenuAll(); -// -// File file = new File(fileName); -// file.createNewFile(); -// File excle = excelTool.exportData(file, list, SysMenu.class, new String[]{ -// "menuCode", "name","parentId","menuType","softType","menuStatus","parentNameRdd","menuUrl","menuClassPath","menuGrade","menuSort" -// ,"menuCss","menuIcon","menuDescription" -// }); -// -// response.setContentType("application/force-download"); // 设置强制下载不打开 -// response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 -// response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName,true))); -// -// // 设置文件名 -// BufferedInputStream bis = null; -// try { -// bis = new BufferedInputStream(new DataInputStream(new FileInputStream(excle))); -// OutputStream os = response.getOutputStream(); -// byte[] buffer = new byte[1024]; -// int i = bis.read(buffer); -// while (i != -1) { -// os.write(buffer, 0, i); -// i = bis.read(buffer); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// } finally { -// IOUtils.closeQuietly(bis); -// } -// file.delete(); // 删除临时文件 -// ResultBean.success("下载").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); -// }catch(ImppBusiException busExcep){ -// ResultBean.fail(busExcep); -// } catch (FileNotFoundException e) { -// ImppExceptionBuilder.newInstance().buildExceptionResult(e); -// } catch (Exception e) { -// ImppExceptionBuilder.newInstance().buildExceptionResult(e); -// } -// } + + /** + * 文件上传 + * @param multipart 文件 + * @return 处理结果 + */ + @Deprecated + @PostMapping("/upload") + @ApiOperation(value = "文件上传", notes = "文件上传") + public ResultBean singleFileUpload(@RequestParam("file") MultipartFile multipart) { + try { + startMultiService(); + ExcelTool excelTool = new ExcelTool(entityManager, redisRes); + + if(multipart.isEmpty()){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("请选择需要上传的文件。") + .build(); + } + List list = excelTool.importData("permission.xls",multipart.getInputStream(), SysMenu.class); + + Map map = new HashMap<>(); + list.forEach(menu -> { + ValidatorBean.checkNotNull(menu.getMenuCode(), "功能代码不能为空"); + ValidatorBean.checkNotNull(menu.getParentId(), "父级功能ID不能为空"); + ValidatorBean.checkNotNull(menu.getSoftType(), "产品类型不能为空"); + + menu.setId(Long.parseLong(menu.getMenuCode())); + if (!map.containsKey(menu.getMenuCode())) { + map.put(menu.getMenuCode(),menu); + } else { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("功能代码【" + menu.getMenuCode() + "】重复") + .build(); + } + + }); + + list.forEach(menu -> { + menu.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue()); + menu.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue()); + if(menu.getParentId().longValue() != -1){ + SysMenu mu = map.get(menu.getParentId().toString()); + ValidatorBean.checkNotNull(mu, "【"+menu.getParentId()+"】不存在的父节点信息"); + menu.setNameZhShortening(StringTool.getAllFirstLetter(mu.getName())); + menu.setParentNameRdd(mu.getName()); + } + }); + + return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(menuService.saveBatch(list)); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(BaseImppException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** + * 文件下载 + * + * @param response response + * @return 处理结果 + */ + @GetMapping("/download/excel") + @ApiOperation(value = "权限文件下载", notes = "权限文件下载") + public void singleDownload(HttpServletResponse response) { + try { + startMultiService(); + ExcelTool excelTool = new ExcelTool(entityManager, redisRes); + String fileName = "menu_" + System.currentTimeMillis() + ".xls"; + List list = menuService.findAll(); + + File file = new File(fileName); + file.createNewFile(); + File excle = excelTool.exportData(file, list, SysMenu.class, new String[]{ + "menuCode", "name","parentId","menuType","softType","menuStatus","parentNameRdd","menuUrl","menuClassPath","menuGrade","menuSort" + ,"menuCss","menuIcon","menuDescription" + }); + + response.setContentType("application/force-download"); // 设置强制下载不打开 + response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名 + response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName,true))); + + // 设置文件名 + BufferedInputStream bis = null; + try { + bis = new BufferedInputStream(new DataInputStream(new FileInputStream(excle))); + OutputStream os = response.getOutputStream(); + byte[] buffer = new byte[1024]; + int i = bis.read(buffer); + while (i != -1) { + os.write(buffer, 0, i); + i = bis.read(buffer); + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + IOUtils.closeQuietly(bis); + } + file.delete(); // 删除临时文件 + ResultBean.success("下载").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + ResultBean.fail(busExcep); + } catch (FileNotFoundException e) { + ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } catch (Exception e) { + ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java index 9ea932a..36c27c3 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java @@ -77,7 +77,27 @@ public class SysOrganizeController extends CrudBaseController { return organizeService; } -// /** + @Override + public SysOrganize validatorInsertBean(SysOrganize bean) throws Exception { + //条件验证 + ValidatorBean.beginValid(bean) + .notNull("name", bean.getName()) + .notNull("organizeCode", bean.getOrganizeCode()) + .notNull("organizeType", bean.getOrganizeType()); + + if(bean.getParentId() == null || bean.getParentId() <= 0){ + bean.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue()); + bean.setParentNameRdd("顶级组织"); + }else{ + SysOrganize organize = organizeService.get(bean.getParentId()); + ValidatorBean.checkNotNull(organize,"不存在的上级组织信息"); + bean.setParentNameRdd(organize.getName()); + } + + return bean; + } + + // /** // * 新增组织 // * @param organize 组织 // * @return 处理结果 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionPlanDetailController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionPlanController.java similarity index 94% rename from modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionPlanDetailController.java rename to modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionPlanController.java index 9a86c81..366c45a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionPlanDetailController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionPlanController.java @@ -30,7 +30,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController @Api(tags = "对象历史计划") @RequestMapping(CommonConstWords.BASE_URL_CORE+"/pojo-version-plan") -public class SysPojoVersionPlanDetailController extends CrudBaseController { +public class SysPojoVersionPlanController extends CrudBaseController { @Autowired private ISysPojoVersionPlanService pojoVersionService; @@ -46,6 +46,8 @@ public class SysPojoVersionPlanDetailController extends CrudBaseController { @Autowired private ISysPositionService positionService; + @Autowired + private ICoreMemTreeService coreMemTreeService; + @Override public ICrudService getCrudService() { return positionService; @@ -61,4 +76,51 @@ public class SysPositionController extends CrudBaseController { return bean; } + + /** + * 查询所有岗位 + * @return 处理结果 + */ + @GetMapping(value = "/list-user") + @ApiOperation(value = "查询所有岗位", notes = "查询所有岗位") + public ResultBean findSysPositionListUser(SysPosition position) { + try { + List result = null; + if(AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.USER)){ + position.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + } + result = positionService.findAllByBean(position); + + return ResultBean.success("操作成功").setResultList(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + + + @Override + @ApiOperation(value = "查询岗位", notes = "复杂查询岗位带分页") + public ResultBean queryPager(SysPosition bean, Pager pager) { + try { + ListPager listPager = null; + + List idList = new ArrayList<>(); + if(bean.getParentId() != null){ + idList = coreMemTreeService.findSysPositionChildIdList(bean.getParentId()); + } + + if(!AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)){ + bean.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + } + + listPager = positionService.querySysPosition(bean,idList, pager); + return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java index d3cd269..ba59d5c 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/I3CoreQueueConfig.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import com.alibaba.fastjson.JSON; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Queue; diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java index 197874d..ef83299 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/PojoVersionQueueReceiver.java @@ -121,15 +121,16 @@ public class PojoVersionQueueReceiver { differing = Maps.difference(beforeMap, afterMap).entriesDiffering(); - // 忽略版本控制属性 - if(differing != null ){ - for (String key : CommonConstWords.POJO_VERSION_ATTR_INGNORE) { - if(differing.containsKey(key)){ - differing.remove(key); - } - } - pojoCompare = differing.toString(); - } +// // 忽略版本控制属性 +// if(differing != null ){ +// for (String key : CommonConstWords.POJO_VERSION_ATTR_INGNORE) { +// if(differing.containsKey(key)){ +// differing.remove(key); +// } +// } +// pojoCompare = differing.toString(); +// } + pojoCompare = differing != null && differing.size() > 0 ? differing.toString() : null; versionNo = Objects.nonNull(beforeVersion) ? beforeVersion.getVersionNo() : 0; afterVersion.setVersionNo(++versionNo); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java index 33d89a7..d5c7467 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreTreeService.java @@ -114,7 +114,7 @@ public class CoreTreeService implements ICoreTreeService { @Override @ApiOperation(value = "父节点检查", notes = "检查岗位的父节点是否是当前节点的子节点") public void doValidatorSysPositionParentId(SysPosition position) { - if (position != null) { + if (position != null && !CommonEnumUtil.PARENT.DEFAULT.getValue().equals(position.getParentId())) { if (position.getParentId().longValue() == position.getId().longValue()) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDataSourceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDataSourceService.java new file mode 100644 index 0000000..f429f0e --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDataSourceService.java @@ -0,0 +1,81 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysDataSourceService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.platform.bean.SysDataSource; +import cn.estsh.i3plus.pojo.platform.repository.SysDataSourceRepository; +import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; +import cn.estsh.impp.framework.base.service.CacheCrudService; +import cn.estsh.impp.framework.boot.datasource.ImppJdbcTemplateFactory; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ImppRedis; +import com.alibaba.fastjson.JSON; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; + +/** + * @Description : + * @Reference : + * @Author : wei.peng + * @CreateDate : 20-5-11 上午11:12 + * @Modify: + **/ +@Service +public class SysDataSourceService extends CacheCrudService implements ISysDataSourceService { + + @Autowired + private SysDataSourceRepository dataSourceRDao; + + @Override + public BaseRepository getRepository() { + return dataSourceRDao; + } + + @Override + public void checkSysDataSourceOnly(SysDataSource bean) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean); + DdlPreparedPack.getNumNOEqualPack(bean.getId(),"id",packBean); + DdlPreparedPack.getNumEqualPack(bean.getSoftType(),"softType",packBean); + DdlPreparedPack.getStringEqualPack(bean.getSourceCode(),"sourceCode",packBean); + + if(dataSourceRDao.findByHqlWhereCount(packBean) > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("数据代码已存在") + .setErrorSolution("请重新操作") + .build(); + } + } + + @Override + public void packAfterRefreshCache() { + List list = getMemCacheDataSource(); + ImppRedis imppRedis = getRedisBusiCache(); + if(CollectionUtils.isNotEmpty(list)){ + if(Objects.nonNull(imppRedis)){ + for (SysDataSource source : list) { + String redisKey = ImppJdbcTemplateFactory.getDataSourceName(source.getSourceName()); + imppRedis.putObject(redisKey, JSON.toJSONString(source), -1); + } + }else{ + LOGGER.info("同步数据到错误:无法获取Redis连接信息"); + } + } + } + + @Override + public DdlPackBean getFindPagerPackBean(SysDataSource bean) { + return CoreHqlPack.packSysDataSource(bean); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java index 208f5d5..78fd1ef 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysDepartmentService.java @@ -70,6 +70,11 @@ public class SysDepartmentService extends CacheCrudService implem return departmentRDao; } + @Override + public DdlPackBean getFindPagerPackBean(SysDepartment bean) { + return CoreHqlPack.packDdlBeanSysDepartment(bean,null); + } + // @Override // @ApiOperation(value = "新增部门信息") // public SysDepartment insertSysDepartment(SysDepartment department) { @@ -289,12 +294,12 @@ public class SysDepartmentService extends CacheCrudService implem // } // } // -// @Override -// public ListPager findSysDepartmentPagerByIdList(SysDepartment department, List idList, Pager pager) { -// DdlPackBean packBean = CoreHqlPack.packDdlBeanSysDepartment(department, idList); -// pager = PagerHelper.getPager(pager, departmentRDao.findByHqlWhereCount(packBean)); -// return new ListPager(departmentRDao.findByHqlWherePage(packBean , pager), pager); -// } + @Override + public ListPager findSysDepartmentPagerByIdList(SysDepartment department, List idList, Pager pager) { + DdlPackBean packBean = CoreHqlPack.packDdlBeanSysDepartment(department, idList); + pager = PagerHelper.getPager(pager, departmentRDao.findByHqlWhereCount(packBean)); + return new ListPager(departmentRDao.findByHqlWherePage(packBean , pager), pager); + } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java index 9fcd9bf..82007b1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java @@ -240,6 +240,14 @@ public class SysOrganizeService extends CacheCrudService implements // } // + + + + @Override + public DdlPackBean getFindPagerPackBean(SysOrganize bean) { + return CoreHqlPack.packHqlSysOrganize(bean, null); + } + @Override public SysOrganize get(SysOrganize bean) { SysOrganize result = getCacheIndex(bean.hashCode()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java index 8046a1b..8543237 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java @@ -1,10 +1,16 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionPlanService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan; import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionPlanRepository; +import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.base.service.CacheCrudService; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,4 +31,21 @@ public class SysPojoVersionPlanService extends CacheCrudService getRepository() { return pojoVersionPlanRDao; } + + @Override + public void checkSysPojoVersionPlanOnly(SysPojoVersionPlan bean) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean); + DdlPreparedPack.getNumNOEqualPack(bean.getId(),"id",packBean); + DdlPreparedPack.getNumEqualPack(bean.getSoftType(),"softType",packBean); + DdlPreparedPack.getStringEqualPack(bean.getRefClass(),"refClass",packBean); + + if(pojoVersionPlanRDao.findByHqlWhereCount(packBean) > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.IO_EXCEPTION.getCode()) + .setErrorDetail("任务计划已存在") + .setErrorSolution("请重新操作") + .build(); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionService.java index a1793cf..f498df1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionService.java @@ -4,7 +4,9 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion; +import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan; import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionRepository; +import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.base.service.CrudService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -32,4 +34,10 @@ public class SysPojoVersionService extends CrudService implement public SysPojoVersion getPojoVersion(SysPojoVersion bean) { return pojoVersionRDao.getByProperty(DdlPackBean.getDdlPackBean(bean)); } + + @Override + public DdlPackBean packFindAllBean(SysPojoVersion bean) { + return CoreHqlPack.packHqlSysPojoVersion(bean); + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java index 90689fa..aedbd74 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java @@ -56,6 +56,11 @@ public class SysPositionService extends CacheCrudService implements } @Override + public DdlPackBean getFindPagerPackBean(SysPosition bean) { + return CoreHqlPack.packHqlSysPosition(bean); + } + + @Override public SysPosition packBeforeInsert(SysPosition bean) { checkSysPositionOnly(bean); @@ -94,16 +99,12 @@ public class SysPositionService extends CacheCrudService implements } @Override - public boolean heckSysPositionCode(String code, long id) { - StringBuffer sw = new StringBuffer(); - HqlPack.getStringEqualPack(code,"positionCode",sw); - HqlPack.getNumNOEqualPack(id,"id",sw); - return positionRDao.findByHqlWhereCount(sw.toString()) <= 0; - } - - @Override public void checkSysPositionOnly(SysPosition position) { - if(!heckSysPositionCode(position.getPositionCode(), position.getId())){ + DdlPackBean packBean = DdlPackBean.getDdlPackBean(position); + DdlPreparedPack.getNumNOEqualPack(position.getId(),"id",packBean); + DdlPreparedPack.getStringEqualPack(position.getPositionCode(),"positionCode",packBean); + + if(positionRDao.findByHqlWhereCount(packBean) > 0){ throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index c8fb4d0..55258d8 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -119,6 +119,9 @@ public class SysUserService implements ISysUserService { @Autowired private ICoreMemTreeService memTreeService; + @Autowired + private ISysFileService fileService; + @Resource(name = CommonConstWords.IMPP_REDIS_RES) private ImppRedis redisRes; @@ -876,6 +879,25 @@ public class SysUserService implements ISysUserService { /** * 封装用户 组织信息封装 + * @param userInfo + * @return + */ + public void packSysUserInfoImage(SysUserInfo userInfo){ + try { + LOGGER.debug("平台用户 SYS_USER user id :{}", userInfo.getId()); + if(Objects.nonNull(userInfo.getUserImageId())){ + SysFile file = fileService.getSysFileById(userInfo.getUserImageId()); + if(Objects.nonNull(file)){ + userInfo.setImageFileUrl(file.getFilePath()); + } + } + }catch (Exception e){ + LOGGER.error(" SysUser Peck Organize information Error userId : {} Exception Message : {} " ,userInfo.getId(),e.getMessage()); + } + } + + /** + * 封装用户 组织信息封装 * @param user * @return */