Search in sources :

Example 1 with RoleVO

use of com.netsteadfast.greenstep.vo.RoleVO in project bamboobsc by billchen198318.

the class RoleLogicServiceImpl method updateMenuRole.

/**
	 * 更新存在選單中程式的選單所屬 role
	 * 
	 * @param progOid
	 * @param roles
	 * @return
	 * @throws ServiceException
	 * @throws Exception
	 */
@ServiceMethodAuthority(type = { ServiceMethodType.UPDATE })
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = { RuntimeException.class, IOException.class, Exception.class })
@Override
public DefaultResult<Boolean> updateMenuRole(String progOid, List<String> roles) throws ServiceException, Exception {
    if (super.isBlank(progOid)) {
        throw new ServiceException(SysMessageUtil.get(GreenStepSysMsgConstants.PARAMS_BLANK));
    }
    SysProgVO sysProg = new SysProgVO();
    sysProg.setOid(progOid);
    DefaultResult<SysProgVO> spResult = this.sysProgService.findObjectByOid(sysProg);
    if (spResult.getValue() == null) {
        throw new ServiceException(spResult.getSystemMessage().getValue());
    }
    sysProg = spResult.getValue();
    DefaultResult<Boolean> result = new DefaultResult<Boolean>();
    result.setValue(false);
    result.setSystemMessage(new SystemMessage(SysMessageUtil.get(GreenStepSysMsgConstants.UPDATE_FAIL)));
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("progId", sysProg.getProgId());
    List<TbSysMenuRole> sysMenuRoleList = this.sysMenuRoleService.findListByParams(params);
    for (int i = 0; sysMenuRoleList != null && i < sysMenuRoleList.size(); i++) {
        TbSysMenuRole sysMenuRole = sysMenuRoleList.get(i);
        this.sysMenuRoleService.delete(sysMenuRole);
    }
    for (int i = 0; roles != null && i < roles.size(); i++) {
        String roleOid = roles.get(i).trim();
        if (super.isBlank(roleOid)) {
            continue;
        }
        RoleVO role = new RoleVO();
        role.setOid(roleOid);
        DefaultResult<RoleVO> rResult = this.roleService.findObjectByOid(role);
        if (rResult.getValue() == null) {
            throw new ServiceException(rResult.getSystemMessage().getValue());
        }
        role = rResult.getValue();
        SysMenuRoleVO sysMenuRole = new SysMenuRoleVO();
        sysMenuRole.setProgId(sysProg.getProgId());
        sysMenuRole.setRole(role.getRole());
        DefaultResult<SysMenuRoleVO> smrResult = this.sysMenuRoleService.saveObject(sysMenuRole);
        if (smrResult.getValue() == null) {
            throw new ServiceException(smrResult.getSystemMessage().getValue());
        }
    }
    result.setValue(true);
    result.setSystemMessage(new SystemMessage(SysMessageUtil.get(GreenStepSysMsgConstants.UPDATE_SUCCESS)));
    return result;
}
Also used : SysMenuRoleVO(com.netsteadfast.greenstep.vo.SysMenuRoleVO) SystemMessage(com.netsteadfast.greenstep.base.model.SystemMessage) TbSysMenuRole(com.netsteadfast.greenstep.po.hbm.TbSysMenuRole) HashMap(java.util.HashMap) SysProgVO(com.netsteadfast.greenstep.vo.SysProgVO) UserRoleVO(com.netsteadfast.greenstep.vo.UserRoleVO) SysMenuRoleVO(com.netsteadfast.greenstep.vo.SysMenuRoleVO) RoleVO(com.netsteadfast.greenstep.vo.RoleVO) ServiceException(com.netsteadfast.greenstep.base.exception.ServiceException) DefaultResult(com.netsteadfast.greenstep.base.model.DefaultResult) ServiceMethodAuthority(com.netsteadfast.greenstep.base.model.ServiceMethodAuthority) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with RoleVO

use of com.netsteadfast.greenstep.vo.RoleVO in project bamboobsc by billchen198318.

the class RoleLogicServiceImpl method findForProgramRoleEnableAndAll.

/**
	 * 找出全部的role與某程式menu所屬的role
	 * 
	 * map 中的  key 
	 * enable	- 程式menu的role
	 * all	- 所有role
	 * 
	 * @param programOid
	 * @return
	 * @throws ServiceException
	 * @throws Exception
	 */
@Override
public Map<String, List<RoleVO>> findForProgramRoleEnableAndAll(String programOid) throws ServiceException, Exception {
    if (StringUtils.isBlank(programOid)) {
        throw new ServiceException(SysMessageUtil.get(GreenStepSysMsgConstants.PARAMS_BLANK));
    }
    SysProgVO sysProg = new SysProgVO();
    sysProg.setOid(programOid);
    DefaultResult<SysProgVO> spResult = this.sysProgService.findObjectByOid(sysProg);
    if (spResult.getValue() == null) {
        throw new ServiceException(spResult.getSystemMessage().getValue());
    }
    sysProg = spResult.getValue();
    Map<String, List<RoleVO>> roleMap = new HashMap<String, List<RoleVO>>();
    List<RoleVO> enableRole = this.roleService.findForProgram(sysProg.getProgId());
    List<RoleVO> allRole = this.roleService.findForAll();
    roleMap.put("enable", enableRole);
    roleMap.put("all", allRole);
    return roleMap;
}
Also used : UserRoleVO(com.netsteadfast.greenstep.vo.UserRoleVO) SysMenuRoleVO(com.netsteadfast.greenstep.vo.SysMenuRoleVO) RoleVO(com.netsteadfast.greenstep.vo.RoleVO) ServiceException(com.netsteadfast.greenstep.base.exception.ServiceException) HashMap(java.util.HashMap) SysProgVO(com.netsteadfast.greenstep.vo.SysProgVO) List(java.util.List)

Example 3 with RoleVO

use of com.netsteadfast.greenstep.vo.RoleVO in project bamboobsc by billchen198318.

the class RoleLogicServiceImpl method copyAsNew.

/**
	 * 拷備一份role
	 * 
	 * @param fromRoleOid
	 * @param role
	 * @return
	 * @throws ServiceException
	 * @throws Exception
	 */
@ServiceMethodAuthority(type = { ServiceMethodType.INSERT })
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = { RuntimeException.class, IOException.class, Exception.class })
@Override
public DefaultResult<RoleVO> copyAsNew(String fromRoleOid, RoleVO role) throws ServiceException, Exception {
    if (role == null || super.isBlank(role.getRole()) || super.isBlank(fromRoleOid)) {
        throw new ServiceException(SysMessageUtil.get(GreenStepSysMsgConstants.PARAMS_BLANK));
    }
    super.setStringValueMaxLength(role, "description", MAX_DESCRIPTION_LENGTH);
    DefaultResult<RoleVO> result = this.roleService.saveObject(role);
    RoleVO oldRole = new RoleVO();
    oldRole.setOid(fromRoleOid);
    DefaultResult<RoleVO> fromResult = this.roleService.findObjectByOid(oldRole);
    if (fromResult.getValue() == null) {
        throw new ServiceException(fromResult.getSystemMessage().getValue());
    }
    oldRole = fromResult.getValue();
    Map<String, Object> paramMap = new HashMap<String, Object>();
    paramMap.put("role", oldRole.getRole());
    List<TbRolePermission> permissions = this.rolePermissionService.findListByParams(paramMap);
    for (int i = 0; permissions != null && i < permissions.size(); i++) {
        RolePermissionVO permission = new RolePermissionVO();
        this.rolePermissionService.fillToValueObject(permission, permissions.get(i));
        permission.setOid(null);
        permission.setRole(result.getValue().getRole());
        this.rolePermissionService.saveObject(permission);
    }
    // 選單menu role 也copy一份
    List<TbSysMenuRole> menuRoles = this.sysMenuRoleService.findListByParams(paramMap);
    for (int i = 0; menuRoles != null && i < menuRoles.size(); i++) {
        SysMenuRoleVO menuRole = new SysMenuRoleVO();
        this.sysMenuRoleService.fillToValueObject(menuRole, menuRoles.get(i));
        menuRole.setOid(null);
        menuRole.setRole(result.getValue().getRole());
        this.sysMenuRoleService.saveObject(menuRole);
    }
    return result;
}
Also used : SysMenuRoleVO(com.netsteadfast.greenstep.vo.SysMenuRoleVO) TbSysMenuRole(com.netsteadfast.greenstep.po.hbm.TbSysMenuRole) HashMap(java.util.HashMap) TbRolePermission(com.netsteadfast.greenstep.po.hbm.TbRolePermission) RolePermissionVO(com.netsteadfast.greenstep.vo.RolePermissionVO) UserRoleVO(com.netsteadfast.greenstep.vo.UserRoleVO) SysMenuRoleVO(com.netsteadfast.greenstep.vo.SysMenuRoleVO) RoleVO(com.netsteadfast.greenstep.vo.RoleVO) ServiceException(com.netsteadfast.greenstep.base.exception.ServiceException) ServiceMethodAuthority(com.netsteadfast.greenstep.base.model.ServiceMethodAuthority) Transactional(org.springframework.transaction.annotation.Transactional)

Example 4 with RoleVO

use of com.netsteadfast.greenstep.vo.RoleVO in project bamboobsc by billchen198318.

the class RoleSaveOrUpdateAction method delete.

/**
	 * 刪除 TB_ROLE, TB_ROLE_PERMISSION, TB_USER_ROLE 資料
	 * 
	 * @throws ControllerException
	 * @throws AuthorityException
	 * @throws ServiceException
	 * @throws Exception
	 */
private void delete() throws ControllerException, AuthorityException, ServiceException, Exception {
    RoleVO role = new RoleVO();
    this.transformFields2ValueObject(role, new String[] { "oid" });
    DefaultResult<Boolean> result = this.roleLogicService.delete(role);
    this.message = result.getSystemMessage().getValue();
    if (result.getValue() == null || !result.getValue()) {
        return;
    }
    this.success = IS_YES;
}
Also used : RoleVO(com.netsteadfast.greenstep.vo.RoleVO)

Example 5 with RoleVO

use of com.netsteadfast.greenstep.vo.RoleVO in project bamboobsc by billchen198318.

the class ReportRoleViewLogicServiceImpl method create.

@ServiceMethodAuthority(type = { ServiceMethodType.INSERT, ServiceMethodType.UPDATE })
@Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = { RuntimeException.class, IOException.class, Exception.class })
@Override
public DefaultResult<Boolean> create(String roleOid, List<String> emplOids, List<String> orgaOids) throws ServiceException, Exception {
    if (super.isNoSelectId(roleOid)) {
        throw new ServiceException(SysMessageUtil.get(GreenStepSysMsgConstants.PARAMS_BLANK));
    }
    RoleVO role = new RoleVO();
    role.setOid(roleOid);
    DefaultResult<RoleVO> rResult = this.getRoleService().findObjectByOid(role);
    if (rResult.getValue() == null) {
        throw new ServiceException(rResult.getSystemMessage().getValue());
    }
    role = rResult.getValue();
    this.deleteByRole(role.getRole());
    for (int i = 0; emplOids != null && i < emplOids.size(); i++) {
        EmployeeVO employee = this.findEmployeeData(emplOids.get(i));
        this.createReportRoleView(role.getRole(), ReportRoleViewTypes.IS_EMPLOYEE, employee.getAccount());
    }
    for (int i = 0; orgaOids != null && i < orgaOids.size(); i++) {
        OrganizationVO organization = this.findOrganizationData(orgaOids.get(i));
        this.createReportRoleView(role.getRole(), ReportRoleViewTypes.IS_ORGANIZATION, organization.getOrgId());
    }
    DefaultResult<Boolean> result = new DefaultResult<Boolean>();
    result.setValue(Boolean.TRUE);
    result.setSystemMessage(new SystemMessage(SysMessageUtil.get(GreenStepSysMsgConstants.UPDATE_SUCCESS)));
    return result;
}
Also used : SystemMessage(com.netsteadfast.greenstep.base.model.SystemMessage) EmployeeVO(com.netsteadfast.greenstep.vo.EmployeeVO) RoleVO(com.netsteadfast.greenstep.vo.RoleVO) ServiceException(com.netsteadfast.greenstep.base.exception.ServiceException) OrganizationVO(com.netsteadfast.greenstep.vo.OrganizationVO) DefaultResult(com.netsteadfast.greenstep.base.model.DefaultResult) ServiceMethodAuthority(com.netsteadfast.greenstep.base.model.ServiceMethodAuthority) Transactional(org.springframework.transaction.annotation.Transactional)

Aggregations

RoleVO (com.netsteadfast.greenstep.vo.RoleVO)12 ServiceException (com.netsteadfast.greenstep.base.exception.ServiceException)8 SysMenuRoleVO (com.netsteadfast.greenstep.vo.SysMenuRoleVO)6 UserRoleVO (com.netsteadfast.greenstep.vo.UserRoleVO)6 ServiceMethodAuthority (com.netsteadfast.greenstep.base.model.ServiceMethodAuthority)5 Transactional (org.springframework.transaction.annotation.Transactional)5 HashMap (java.util.HashMap)4 DefaultResult (com.netsteadfast.greenstep.base.model.DefaultResult)3 SystemMessage (com.netsteadfast.greenstep.base.model.SystemMessage)3 TbSysMenuRole (com.netsteadfast.greenstep.po.hbm.TbSysMenuRole)2 AccountVO (com.netsteadfast.greenstep.vo.AccountVO)2 SysProgVO (com.netsteadfast.greenstep.vo.SysProgVO)2 List (java.util.List)2 TbRolePermission (com.netsteadfast.greenstep.po.hbm.TbRolePermission)1 EmployeeVO (com.netsteadfast.greenstep.vo.EmployeeVO)1 OrganizationVO (com.netsteadfast.greenstep.vo.OrganizationVO)1 RolePermissionVO (com.netsteadfast.greenstep.vo.RolePermissionVO)1