| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704 |
- package com.kingdee.eas.custom.ot.util;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.dao.IObjectPK;
- import com.kingdee.bos.dao.IObjectValue;
- import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
- import com.kingdee.bos.dao.query.SQLExecutorFactory;
- import com.kingdee.bos.metadata.IMetaDataLoader;
- import com.kingdee.bos.metadata.MetaDataLoaderFactory;
- import com.kingdee.bos.metadata.entity.EntityViewInfo;
- import com.kingdee.bos.metadata.entity.FilterInfo;
- import com.kingdee.bos.metadata.entity.FilterItemInfo;
- import com.kingdee.bos.metadata.entity.SelectorItemCollection;
- import com.kingdee.bos.metadata.entity.SelectorItemInfo;
- import com.kingdee.bos.metadata.management.LanguageCollection;
- import com.kingdee.bos.metadata.management.SolutionInfo;
- import com.kingdee.bos.metadata.query.util.CompareType;
- import com.kingdee.bos.util.BOSUuid;
- import com.kingdee.bos.waf.ctx.WafContext;
- import com.kingdee.bos.waf.resource.Resources;
- import com.kingdee.eas.base.codingrule.CodingRuleManagerFactory;
- import com.kingdee.eas.base.codingrule.ICodingRuleManager;
- import com.kingdee.eas.base.param.util.ParamManager;
- import com.kingdee.eas.base.permission.IPermission;
- import com.kingdee.eas.base.permission.PermissionFactory;
- import com.kingdee.eas.base.permission.UserInfo;
- import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
- import com.kingdee.eas.basedata.org.CompanyOrgUnitInfo;
- import com.kingdee.eas.basedata.org.HROrgUnitInfo;
- import com.kingdee.eas.basedata.org.IOrgUnitRelation;
- import com.kingdee.eas.basedata.org.OrgUnitCollection;
- import com.kingdee.eas.basedata.org.OrgUnitRelationFactory;
- import com.kingdee.eas.basedata.person.IPerson;
- import com.kingdee.eas.basedata.person.PersonFactory;
- import com.kingdee.eas.basedata.person.PersonInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.hr.emp.IPersonContactMethod;
- import com.kingdee.eas.hr.emp.IPersonDegree;
- import com.kingdee.eas.hr.emp.IPersonPosition;
- import com.kingdee.eas.hr.emp.PersonContactMethodFactory;
- import com.kingdee.eas.hr.emp.PersonContactMethodInfo;
- import com.kingdee.eas.hr.emp.PersonDegreeFactory;
- import com.kingdee.eas.hr.emp.PersonDegreeInfo;
- import com.kingdee.eas.hr.emp.PersonPositionFactory;
- import com.kingdee.eas.hr.emp.PersonPositionInfo;
- import com.kingdee.eas.util.app.ContextUtil;
- import com.kingdee.eas.util.app.DbUtil;
- import com.kingdee.jdbc.rowset.IRowSet;
- import com.kingdee.util.TypeConversionUtils;
- import com.kingdee.util.UuidException;
- import java.sql.SQLException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.GregorianCalendar;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Locale;
- import javax.faces.application.FacesMessage;
- import javax.faces.component.UIComponent;
- import javax.faces.context.FacesContext;
- import org.apache.log4j.Logger;
- import org.operamasks.faces.component.form.impl.UIField;
- import org.operamasks.faces.component.grid.impl.UIDataGrid;
- public class HRUtils {
- protected static Logger logger = Logger.getLogger("com.kingdee.eas.hr.base.web.util.HRUtils");
- public static PersonPositionInfo getPersonPosition(PersonInfo person) {
- new PersonPositionInfo();
- try {
- SelectorItemCollection sic = new SelectorItemCollection();
- sic.add(new SelectorItemInfo("*"));
- sic.add(new SelectorItemInfo("enrollSource.name"));
- sic.add(new SelectorItemInfo("personDep.name"));
- sic.add(new SelectorItemInfo("primaryPosition.name"));
- sic.add(new SelectorItemInfo("jobLevel.name"));
- sic.add(new SelectorItemInfo("primaryPosition.adminOrgUnit.name"));
-
- IPersonPosition bill = PersonPositionFactory.getRemoteInstance();
- IObjectPK[] pks = bill.getPKList("where person.id='" + person.getId() + "'");
- if (pks.length > 0) {
- PersonPositionInfo info = bill.getPersonPositionInfo(pks[0], sic);
- return info;
- } else {
- return null;
- }
- } catch (BOSException e) {
- logger.error("", e);
- return null;
- } catch (EASBizException e) {
- logger.error("", e);
- return null;
- }
- }
- public static PersonContactMethodInfo getPersonContactMethod(PersonInfo person) {
- new PersonContactMethodInfo();
- try {
-
- IPersonContactMethod bill = PersonContactMethodFactory.getRemoteInstance();
- IObjectPK[] pks = bill.getPKList("where person.id='" + person.getId() + "'");
- if (pks.length > 0) {
- PersonContactMethodInfo info = bill.getPersonContactMethodInfo(pks[0]);
- return info;
- } else {
- return null;
- }
- } catch (BOSException e) {
- logger.error("", e);
- return null;
- } catch (EASBizException e) {
- logger.error("", e);
- return null;
- }
- }
- public static PersonDegreeInfo getPersonDegree(PersonInfo person) {
- new PersonDegreeInfo();
- try {
- SelectorItemCollection sic = new SelectorItemCollection();
- sic.add(new SelectorItemInfo("*"));
- sic.add(new SelectorItemInfo("diploma.name"));
- sic.add(new SelectorItemInfo("bwGraSchool.name"));
- sic.add(new SelectorItemInfo("bwMajor.name"));
-
- IPersonDegree bill = PersonDegreeFactory.getRemoteInstance();
- IObjectPK[] pks = bill.getPKList("where person.id='" + person.getId() + "' and isHighest =1 ");
- if (pks.length > 0) {
- PersonDegreeInfo info = bill.getPersonDegreeInfo(pks[0], sic);
- return info;
- } else {
- return null;
- }
- } catch (BOSException e) {
- logger.error("", e);
- return null;
- } catch (EASBizException e) {
- logger.error("", e);
- return null;
- }
- }
- public static PersonInfo getPerson(PersonInfo person) {
- new PersonInfo();
- try {
- SelectorItemCollection sic = new SelectorItemCollection();
- sic.add(new SelectorItemInfo("*"));
- sic.add(new SelectorItemInfo("politicalFace.name"));
-
- IPerson bill = PersonFactory.getRemoteInstance();
- IObjectPK[] pks = bill.getPKList("where id='" + person.getId() + "'");
- if (pks.length > 0) {
- PersonInfo info = bill.getPersonInfo(pks[0], sic);
- return info;
- } else {
- return null;
- }
- } catch (BOSException e) {
- logger.error("", e);
- return null;
- } catch (EASBizException e) {
- logger.error("", e);
- return null;
- }
- }
- public static String getAutoCode(Context ctx ,IObjectValue objValue) {
- String NumberCode = "";
- try {
-
- CompanyOrgUnitInfo company = ContextUtil.getCurrentFIUnit(ctx);
- if (company != null) {
- String companyId = company.getId().toString();
- ICodingRuleManager codeRuleMgr = null;
- codeRuleMgr = CodingRuleManagerFactory.getRemoteInstance();
- if (codeRuleMgr.isExist(objValue, companyId)) {
- if (codeRuleMgr.isUseIntermitNumber(objValue, companyId)) {
- NumberCode = codeRuleMgr.readNumber(objValue, companyId);
- } else {
- NumberCode = codeRuleMgr.getNumber(objValue, companyId);
- }
- }
- }
- } catch (EASBizException e) {
- logger.error("", e);
- } catch (BOSException e) {
- logger.error("", e);
- } catch (UuidException e) {
- logger.error("", e);
- }
- return NumberCode;
- }
- public static Boolean checkHasPermission(Context ctx ,String permission) {
- Boolean hasPermission = false;
- try {
-
- IPermission perm = PermissionFactory.getLocalInstance(ctx);
- UserInfo person = ContextUtil.getCurrentUserInfo(ctx);
- if (person != null) {
- IObjectPK userPK = new ObjectUuidPK(person.getId());
- IObjectPK orgPK = new ObjectUuidPK(ContextUtil.getCurrentHRUnit(ctx).getId());
- hasPermission = perm.hasFunctionPermission(userPK, orgPK, permission);
- return hasPermission;
- } else {
- return false;
- }
- } catch (BOSException var7) {
- return false;
- } catch (EASBizException var8) {
- return false;
- }
- }
- public static boolean isCodeRuleEnable(Context ctx ,IObjectValue objValue) {
- try {
-
- CompanyOrgUnitInfo company = ContextUtil.getCurrentFIUnit(ctx);
- if (company != null) {
- String companyId = company.getId().toString();
- ICodingRuleManager codeRuleMgr = null;
- codeRuleMgr = CodingRuleManagerFactory.getRemoteInstance();
- return codeRuleMgr.isExist(objValue, companyId);
- }
- } catch (EASBizException e) {
- logger.error("", e);
- } catch (BOSException e) {
- logger.error("", e);
- } catch (UuidException e) {
- logger.error("", e);
- }
- return false;
- }
- public static void lockComponentApprovedAmount(List componentList) {
- Iterator ite = componentList.iterator();
- UIComponent component = null;
- while (ite.hasNext()) {
- component = (UIComponent) ite.next();
- if (component instanceof UIField) {
- ((UIField) component).setDisabled(true);
- } else if (component.getChildCount() > 0) {
- lockComponentApprovedAmount(component.getChildren());
- }
- }
- }
- public static FilterInfo getUserHROrg(Context ctx,String orgUnitColumnName) {
-
- String userID = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
- StringBuffer sql = new StringBuffer();
- sql.append("Select FOrgID From T_PM_OrgRange ").append("Where FUserID='").append(userID).append("' And FType='10' ");
- FilterInfo filter = new FilterInfo();
- FilterItemInfo item = new FilterItemInfo(orgUnitColumnName, sql.toString(), CompareType.INNER);
- filter.getFilterItems().add(item);
- return filter;
- }
- public static UserInfo getCurrentUser(Context ctx ) {
-
- return ContextUtil.getCurrentUserInfo(ctx);
- }
- public static CompanyOrgUnitInfo getCurrentCompany(Context ctx ) {
-
- CompanyOrgUnitInfo company = ContextUtil.getCurrentFIUnit(ctx);
- return company;
- }
- public static HROrgUnitInfo getCurrentHROrgUnit(Context ctx ) {
-
- HROrgUnitInfo info = ContextUtil.getCurrentHRUnit(ctx);
- return info;
- }
- public static AdminOrgUnitInfo getCurrentAdminOrgUnit(Context ctx ) {
-
- AdminOrgUnitInfo info = ContextUtil.getCurrentAdminUnit(ctx);
- return info;
- }
- public static FilterInfo getCurrentCUFilter(Context ctx ) {
-
- FilterInfo filter = new FilterInfo();
- if (ContextUtil.getCurrentCtrlUnit(ctx) == null) {
- return filter;
- } else {
- filter.getFilterItems().add(new FilterItemInfo("CU.id", ContextUtil.getCurrentCtrlUnit(ctx).getId().toString(), CompareType.EQUALS));
- return filter;
- }
- }
- public static EntityViewInfo getCurrentCUEntityViewInfo(Context ctx ) {
- EntityViewInfo viewInfo = new EntityViewInfo();
- viewInfo.setFilter(getCurrentCUFilter(ctx));
- return viewInfo;
- }
- public static FilterInfo getCurrentHRFilter(Context ctx ,String hrOrgUnitId) {
- FilterInfo filter = new FilterInfo();
- if (getCurrentHROrgUnit(ctx) != null) {
- filter.getFilterItems().add(new FilterItemInfo(hrOrgUnitId, getCurrentHROrgUnit(ctx).getId().toString()));
- }
- return filter;
- }
- public static AdminOrgUnitInfo getUserOrgInfo(Context ctx,String personId) throws EASBizException, BOSException, UuidException {
- AdminOrgUnitInfo orgUnitInfo = null;
- if (personId != null && !"".equalsIgnoreCase(personId)) {
-
- orgUnitInfo = PersonFactory.getLocalInstance(ctx).getPrimaryAdminOrgUnit(BOSUuid.read(personId));
- }
- return orgUnitInfo;
- }
- public static FilterInfo getHRAndAdminRangeFilterInfo(Context ctx,String hrColumnName, String orgUnitColumnName) {
-
- String hrOrgUnitID = ContextUtil.getCurrentHRUnit(ctx).getId().toString();
- return getHRAndAdminRangeFilterInfo(ctx,hrColumnName, orgUnitColumnName, hrOrgUnitID);
- }
- public static FilterInfo getHRAndAdminRangeFilterInfo(Context ctx,String hrColumnName, String orgUnitColumnName, String hrOrgUnitId) {
- FilterInfo filter = getAdminRangeFilterInfo(ctx,orgUnitColumnName, hrOrgUnitId);
- FilterItemInfo item = new FilterItemInfo(hrColumnName, hrOrgUnitId);
- filter.getFilterItems().add(item);
- return filter;
- }
- public static FilterInfo getHRAndAdminRangeFilterInfo(Context ctx,String orgUnitColumnName) {
-
- BOSUuid hrOrgUnitId = ContextUtil.getCurrentHRUnit(ctx).getId();
- if (!ContextUtil.getCurrentHRUnit(ctx).isIsBizUnit()) {
- try {
- hrOrgUnitId = getUserOrgInfo(ctx,ContextUtil.getCurrentUserInfo(ctx).getPerson().getId().toString()).getId();
- } catch (EASBizException e) {
- logger.error("", e);
- } catch (BOSException e) {
- logger.error("", e);
- } catch (UuidException e) {
- logger.error("", e);
- }
- }
- return getAdminRangeFilterInfo(ctx,orgUnitColumnName, hrOrgUnitId.toString());
- }
- public static FilterInfo getAdminRangeFilterInfo(Context ctx,String orgUnitColumnName, String hrOrgUnitId) {
-
- String userID = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
- StringBuffer sql = new StringBuffer();
- sql.append("SELECT FFromUnitID FROM T_ORG_UnitRelation WHERE FToUnitID = ");
- sql.append("'");
- sql.append(hrOrgUnitId);
- sql.append("'");
- sql.append(" AND ");
- sql.append(" FTypeRelationID = ");
- sql.append("'00000000-0000-0000-0000-0000000000100FE9F8B5'");
- sql.append(" AND ");
- sql.append("FFromUnitID IN (");
- sql.append("SELECT FOrgID FROM T_PM_OrgRange WHERE FUserID = ");
- sql.append("'");
- sql.append(userID);
- sql.append("'");
- sql.append(" AND ");
- sql.append("FType = ");
- sql.append(20);
- sql.append(")");
- FilterInfo filter = new FilterInfo();
- FilterItemInfo item = new FilterItemInfo(orgUnitColumnName, sql.toString(), CompareType.INNER);
- filter.getFilterItems().add(item);
- return filter;
- }
- public static FilterInfo getAdminRangeFilterInfo(Context ctx,String orgUnitColumnName) {
-
- String hrOrgUnitID = ContextUtil.getCurrentHRUnit(ctx).getId().toString();
- return getAdminRangeFilterInfo(ctx,orgUnitColumnName, hrOrgUnitID);
- }
- public static String getHRAndAdminRangePersonSQL(String hrOrgUnitID, String userID) {
- StringBuffer sql = new StringBuffer();
- sql.append("SELECT PERSON.FID FROM T_BD_PERSON AS PERSON");
- sql.append(" INNER JOIN T_HR_PERSONPOSITION AS PP ON PP.FPERSONID = PERSON.FID");
- sql.append(" INNER JOIN T_ORG_UNITRELATION AS REL ON REL.FFROMUNITID = PP.FPERSONDEP");
- sql.append(" INNER JOIN T_PM_ORGRANGE AS RANGE ON RANGE.FORGID = REL.FFROMUNITID");
- sql.append(" WHERE ");
- sql.append(" REL.FTOUNITID = ");
- sql.append("'");
- sql.append(hrOrgUnitID);
- sql.append("'");
- sql.append(" AND ");
- sql.append(" REL.FTYPERELATIONID = ");
- sql.append("'");
- sql.append("00000000-0000-0000-0000-0000000000100FE9F8B5");
- sql.append("'");
- sql.append(" AND ");
- sql.append(" RANGE.FUSERID = ");
- sql.append("'");
- sql.append(userID);
- sql.append("'");
- sql.append(" AND ");
- sql.append(" RANGE.FTYPE = ");
- sql.append(20);
- return sql.toString();
- }
- public static FilterInfo getHRAndAdminRangePersonFilterInfo(Context ctx ,String hrColumnName, String personColumnName) {
- String userID = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
- String hrOrgUnitID = ContextUtil.getCurrentHRUnit(ctx).getId().toString();
- FilterInfo filterInfo = new FilterInfo();
- String sql = getHRAndAdminRangePersonSQL(hrOrgUnitID, userID);
- filterInfo.getFilterItems().add(new FilterItemInfo(personColumnName, sql, CompareType.INNER));
- filterInfo.getFilterItems().add(new FilterItemInfo(hrColumnName, hrOrgUnitID));
- return filterInfo;
- }
- public static String getHRAndAdminRangePersonSQL_All(String hrOrgUnitID, String userID) {
- StringBuffer sql = new StringBuffer();
- sql.append("SELECT PERSON.FID FROM T_BD_PERSON AS PERSON");
- sql.append(" INNER JOIN T_ORG_POSITIONMEMBER AS PM ON PM.FPERSONID = PERSON.FID");
- sql.append(" INNER JOIN T_ORG_POSITION AS Position ON PM.FPOSITIONID = Position.FID");
- sql.append(" INNER JOIN T_ORG_UNITRELATION AS REL ON REL.FFROMUNITID = Position.FAdminOrgUnitID");
- sql.append(" INNER JOIN T_PM_ORGRANGE AS RANGE ON RANGE.FORGID = REL.FFROMUNITID");
- sql.append(" WHERE ");
- sql.append(" REL.FTOUNITID = ");
- sql.append("'");
- sql.append(hrOrgUnitID);
- sql.append("'");
- sql.append(" AND ");
- sql.append(" REL.FTYPERELATIONID = ");
- sql.append("'");
- sql.append("00000000-0000-0000-0000-0000000000100FE9F8B5");
- sql.append("'");
- sql.append(" AND ");
- sql.append(" RANGE.FUSERID = ");
- sql.append("'");
- sql.append(userID);
- sql.append("'");
- sql.append(" AND ");
- sql.append(" RANGE.FTYPE = ");
- sql.append(20);
- return sql.toString();
- }
- public static FilterInfo getHRAndAdminRangePersonFilterInfo_All(Context ctx ,String hrColumnName, String personColumnName) {
-
- String userID = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
- String hrOrgUnitID = ContextUtil.getCurrentHRUnit(ctx).getId().toString();
- FilterInfo filterInfo = new FilterInfo();
- String sql = getHRAndAdminRangePersonSQL_All(hrOrgUnitID, userID);
- filterInfo.getFilterItems().add(new FilterItemInfo(personColumnName, sql, CompareType.INNER));
- filterInfo.getFilterItems().add(new FilterItemInfo(hrColumnName, hrOrgUnitID));
- return filterInfo;
- }
- public static String getHRAndAdminRangePersonSQL(Context ctx ) {
-
- String userID = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
- String hrOrgUnitID = ContextUtil.getCurrentHRUnit(ctx).getId().toString();
- String sql = getHRAndAdminRangePersonSQL_All(hrOrgUnitID, userID);
- return sql;
- }
- public static HROrgUnitInfo getHROrgUnitInfo(Context ctx,BOSUuid souId) throws EASBizException, BOSException {
- if (souId == null) {
- return null;
- } else {
- IOrgUnitRelation iUnitRel = OrgUnitRelationFactory.getLocalInstance(ctx);
- HROrgUnitInfo ret = (HROrgUnitInfo) iUnitRel.getDefaultToUnit(souId.toString(), 0, 16);
- if (ret == null) {
- OrgUnitCollection orgCol = iUnitRel.getToUnit(souId.toString(), 0, 16);
- ret = (HROrgUnitInfo) orgCol.get(0);
- }
- return ret;
- }
- }
- private static String getCurrentDate() {
- new GregorianCalendar();
- Calendar cal = new GregorianCalendar();
- SimpleDateFormat sFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- return "{ts'" + sFormat.format(((Calendar) cal).getTime()) + "'}";
- }
- public static FilterInfo isPersonInAffairProcessOrInPool(String person) {
- String currDate = getCurrentDate();
- StringBuffer oql = new StringBuffer("select fpersonid ");
- oql.append("from t_hr_hraffairbiz ");
- oql.append(" where ");
- oql.append(" (fbillState = ");
- oql.append(0);
- oql.append(" or fbillState = ");
- oql.append(1);
- oql.append(" or fbillState = ");
- oql.append(2);
- oql.append(" or (fbillState = ");
- oql.append(3);
- oql.append(" and fentryBizDate >= ");
- oql.append(currDate);
- oql.append(" )");
- oql.append(" and fpersonid is not null) ");
- FilterInfo filter = new FilterInfo();
- FilterItemInfo item = new FilterItemInfo(person, oql.toString(), CompareType.NOTINNER);
- filter.getFilterItems().add(item);
- StringBuffer sql = new StringBuffer("select fpersonid ");
- sql.append("from t_hr_EmployeePool");
- FilterItemInfo item2 = new FilterItemInfo(person, sql.toString(), CompareType.NOTINNER);
- filter.getFilterItems().add(item2);
- return filter;
- }
- public static String getOrgFilter(Context ctx,String param) {
- String strFilterInfo = "";
- if (param != null && "adminOrgUnit".equals(param)) {
- FilterInfo fi = new FilterInfo();
- FilterInfo adminFilter = getHRAndAdminRangeFilterInfo(ctx,"id");
- if (adminFilter != null && !"null".equals(adminFilter)) {
- if (fi.getFilterItems().size() > 0) {
- try {
- fi.mergeFilter(adminFilter, "and");
- } catch (BOSException e) {
- logger.error("", e);
- }
- } else {
- fi = adminFilter;
- }
- }
- strFilterInfo = fi.toString();
- } else if (param != null && "hrOrgUnit".equals(param)) {
- FilterInfo fi = new FilterInfo();
- FilterInfo hrFilter = getUserHROrg(ctx,"id");
- if (hrFilter != null && !"null".equals(hrFilter)) {
- if (fi.getFilterItems().size() > 0) {
- try {
- fi.mergeFilter(hrFilter, "and");
- } catch (BOSException e) {
- logger.error("", e);
- }
- } else {
- fi = hrFilter;
- }
- }
- strFilterInfo = fi.toString();
- }
- return strFilterInfo;
- }
- public static boolean checkSelectRow(UIDataGrid grid) {
- if (grid.getSelections() != null && grid.getSelections().length > 0 && grid.getSelections()[0] != -1) {
- return true;
- } else {
- FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, Resources.getText("noRowSelected"), (String) null);
- FacesContext.getCurrentInstance().addMessage((String) null, message);
- return false;
- }
- }
- public static boolean getParamValue(Context ctx ,String id) throws EASBizException, BOSException {
- String hrOrgId = null;
- String paramValue = null;
-
- if (ContextUtil.getCurrentHRUnit(ctx) != null) {
- hrOrgId = ContextUtil.getCurrentHRUnit(ctx).getId().toString();
- paramValue = ParamManager.getParamValue((Context) null, new ObjectUuidPK(hrOrgId), id);
- return TypeConversionUtils.objToBoolean(paramValue);
- } else {
- return false;
- }
- }
- public static Locale getOriginalLocale(Locale easLocale) {
- SolutionInfo solution = null;
- IMetaDataLoader loader = MetaDataLoaderFactory.getRemoteMetaDataLoader();
- solution = loader.getSolution();
- if (solution != null) {
- LanguageCollection lc = solution.getLanguages();
- for (int i = 0; i < lc.size(); ++i) {
- if (lc.get(i).getLocale().equals(easLocale)) {
- return lc.get(i).getOriginalLocale();
- }
- }
- }
- return easLocale;
- }
- public static FilterItemInfo getAdminRangeFilterItemInfo(Context ctx, String orgID) {
- String sql = getAdminRangeSql(ctx);
- FilterItemInfo item = new FilterItemInfo(orgID, sql, CompareType.INNER);
- return item;
- }
- public static String getAdminRangeSql(Context ctx) {
- String userID = getCurrentUserId(ctx);
- StringBuffer sql = new StringBuffer();
- sql.append("SELECT FFromUnitID FROM T_ORG_UnitRelation WHERE FToUnitID in (");
- sql.append(getHRRangeByUserId(userID));
- sql.append(") AND FTypeRelationID = '00000000-0000-0000-0000-0000000000100FE9F8B5'");
- sql.append(" AND FFromUnitID IN (");
- sql.append("SELECT FOrgID FROM T_PM_OrgRange WHERE FUserID = ");
- sql.append("'");
- sql.append(userID);
- sql.append("'");
- sql.append(" AND FType = ");
- sql.append(20);
- sql.append(")");
- return sql.toString();
- }
- private static String getCurrentUserId(Context ctx) {
- String userID = null;
- if (ctx != null) {
- userID = ContextUtil.getCurrentUserInfo(ctx).getId().toString();
- } else {
- userID = ContextUtil.getCurrentUserInfo(WafContext.getInstance().getContext()).getId().toString();
- }
- return userID;
- }
- public static String getHRRangeByUserId(String userID) {
- StringBuffer sql = new StringBuffer();
- sql.append("select orgRange.forgId as forgId from T_PM_OrgRange orgRange inner join ");
- sql.append("T_ORG_HRO hro on orgRange.forgId = hro.fid ");
- sql.append("where orgRange.ftype = ");
- sql.append(10);
- sql.append(" and fuserid = '");
- sql.append(userID);
- sql.append("' ");
- return sql.toString();
- }
- public static FilterItemInfo getUserAdminRangeFilter(String queryColumn) {
- Context context = WafContext.getInstance().getContext();
- String userID = ContextUtil.getCurrentUserInfo(context).getId().toString();
- StringBuffer sql = new StringBuffer();
- sql.append("SELECT FOrgID FROM T_PM_OrgRange WHERE FUserID = ");
- sql.append("'");
- sql.append(userID);
- sql.append("'");
- sql.append(" AND ");
- sql.append("FType = ");
- sql.append(20);
- FilterItemInfo item = new FilterItemInfo(queryColumn, sql.toString(), CompareType.INNER);
- return item;
- }
- public static HashSet<String> getHRRange(Context ctx) throws BOSException, EASBizException {
-
- String userID = getCurrentUserId(ctx);
- String sql = getHRRangeByUserId(userID);
- HashSet<String> set = new HashSet();
- IRowSet rows = null;
- if (ctx != null) {
- rows = DbUtil.executeQuery(ctx, sql.toString());
- } else {
- rows = SQLExecutorFactory.getRemoteInstance(sql).executeSQL();
- }
- if (rows != null) {
- try {
- while (rows.next()) {
- set.add(rows.getString("forgId"));
- }
- } catch (SQLException e) {
- throw new BOSException(e);
- }
- }
- return set;
- }
- public static String appendServiceId(String url) {
- StringBuffer sb = new StringBuffer(url);
- if (url.indexOf("&") == -1) {
- sb.append("?");
- } else {
- sb.append("&");
- }
- sb.append("ISERVICE_ServiceID=");
- sb.append(WafContext.getInstance().getRequest().getParameter("ISERVICE_ServiceID"));
- return sb.toString();
- }
- }
|