package com.norteksoft.product.util; import org.apache.commons.lang.StringUtils; import com.norteksoft.product.api.ApiFactory; import com.norteksoft.product.api.entity.User; public class ParameterUtils { private static ThreadLocal<ThreadParameters> threadParameters=new ThreadLocal<ThreadParameters>(); public static void setParameters(ThreadParameters parameters){ threadParameters.set(parameters); } public static Long getCompanyId(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; Long companyId = parameter.getCompanyId(); if(companyId!=null) return companyId; String companyCode = parameter.getCompanyCode(); if(StringUtils.isNotEmpty(companyCode)){ com.norteksoft.acs.service.organization.CompanyManager cm=(com.norteksoft.acs.service.organization.CompanyManager)ContextUtils.getBean("companyManager"); com.norteksoft.acs.entity.organization.Company company=cm.getCompanyByCode(companyCode); if(company==null)return null; return company.getId(); } return null; } public static Long getUserId(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; Long userId = parameter.getUserId(); if(userId!=null)return userId; String loginName= parameter.getLoginName(); if(StringUtils.isNotEmpty(loginName)){ User user = ApiFactory.getAcsService().getUserByLoginName(loginName); if(user!=null){ return user.getId(); } } return null; } public static String getCompanyCode(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; String companyCode = parameter.getCompanyCode(); if(StringUtils.isNotEmpty(companyCode))return companyCode; Long companyId = parameter.getCompanyId(); if(companyId!=null){ com.norteksoft.acs.service.organization.CompanyManager cm=(com.norteksoft.acs.service.organization.CompanyManager)ContextUtils.getBean("companyManager"); com.norteksoft.acs.entity.organization.Company company=cm.getCompany(companyId); if(company==null)return null; return company.getCode(); } return null; } public static String getCompanyName(){ Long companyId = getCompanyId(); if(companyId!=null){ com.norteksoft.acs.service.organization.CompanyManager cm=(com.norteksoft.acs.service.organization.CompanyManager)ContextUtils.getBean("companyManager"); com.norteksoft.acs.entity.organization.Company company=cm.getCompany(companyId); if(company==null)return null; return company.getName(); } return null; } public static String getUserName(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; String userName= parameter.getUserName(); if(StringUtils.isNotEmpty(userName))return userName; Long userId=getUserId(); if(userId==null)return null; com.norteksoft.product.api.entity.User user=ApiFactory.getAcsService().getUserById(userId); if(user==null)return null; return user.getName(); } public static String getPassword(){ Long userId=getUserId(); if(userId==null)return null; com.norteksoft.product.api.entity.User user=ApiFactory.getAcsService().getUserById(userId); if(user==null)return null; return user.getPassword(); } public static String getHonorificTitle(){ Long userId=getUserId(); if(userId==null)return null; com.norteksoft.product.api.entity.User user=ApiFactory.getAcsService().getUserById(userId); if(user==null)return null; return user.getHonorificName(); } public static String getLoginName(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; String loginName= parameter.getLoginName(); if(StringUtils.isNotEmpty(loginName))return loginName; Long userId = parameter.getUserId(); if(userId==null)return null; com.norteksoft.product.api.entity.User user=ApiFactory.getAcsService().getUserById(userId); if(user==null)return null; return user.getLoginName(); } public static Long getSystemId(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; return parameter.getSystemId(); } public static String getSystemCode(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; return parameter.getSystemCode(); } public static Long getDepartmentId(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; Long departmentId = parameter.getDepartmentId(); if(departmentId!=null)return departmentId; Long userId=getUserId(); if(userId==null)return null; com.norteksoft.product.api.entity.User user=ApiFactory.getAcsService().getUserById(userId); if(user==null)return null; return user.getMainDepartmentId(); } public static Long getSubCompanyId(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; Long subCompanyId = parameter.getSubCompanyId(); if(subCompanyId!=null)return subCompanyId; String subCompanyCode = parameter.getSubCompanyCode(); if(StringUtils.isNotEmpty(subCompanyCode)){ com.norteksoft.product.api.entity.Department subCompany = ApiFactory.getAcsService().getDepartmentByCode(getSubCompanyCode()); if(subCompany==null){ return null; }else{ return subCompany.getSubCompanyId(); } } return null; } public static String getSubCompanyName(){ com.norteksoft.product.api.entity.Department subCompany = getSubCompany(); if(subCompany == null){ return null; }else{ return subCompany.getName(); } } public static String getSubCompanyCode(){ ThreadParameters parameter=threadParameters.get(); if(parameter==null)return null; String subCompanyCode = parameter.getSubCompanyCode(); if(StringUtils.isNotEmpty(subCompanyCode)) return subCompanyCode; com.norteksoft.product.api.entity.Department subCompany = getSubCompany(); if(subCompany == null){ return null; }else{ return subCompany.getCode(); } } public static String getSubCompanyShortTitle(){ com.norteksoft.product.api.entity.Department subCompany = getSubCompany(); if(subCompany == null){ return null; }else{ return subCompany.getShortTitle(); } } private static com.norteksoft.product.api.entity.Department getSubCompany(){ if(getSubCompanyId()==null)return null; com.norteksoft.product.api.entity.Department subCompany = ApiFactory.getAcsService().getDepartmentById(getSubCompanyId()); return subCompany; } }