123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- package com.kingdee.shr.ats.service;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.bsf.service.app.IHRMsfService;
- import com.kingdee.eas.basedata.org.AdminOrgUnitCollection;
- import com.kingdee.eas.basedata.org.AdminOrgUnitFactory;
- import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.hr.ats.AttendanceProjectCollection;
- import com.kingdee.eas.hr.ats.AttendanceProjectFactory;
- import com.kingdee.eas.hr.ats.AttendanceProjectInfo;
- import com.kingdee.eas.hr.ats.util.common.AtsCommonUtile;
- import com.kingdee.eas.util.app.DbUtil;
- import com.kingdee.jdbc.rowset.IRowSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.apache.commons.lang3.ObjectUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.log4j.Logger;
- public class GetAtsCusService implements IHRMsfService {
- private static Logger logger = Logger.getLogger(GetAtsCusService.class);
-
- public Object process(Context ctx, Map param) throws EASBizException, BOSException {
- List<HashMap<String, String>> successResList = new ArrayList();
- List<HashMap<String, String>> errorResList = new ArrayList();
- String personIds = AtsCommonUtile.decodeEmpBase64((String)param.get("personIds"));
- String companyLongNumber = "";
- if(ObjectUtils.anyNotNull(param.get("companyLongNumber"))) {
- param.get("companyLongNumber");
- companyLongNumber = AtsCommonUtile.decodeEmpBase64((String)param.get("companyLongNumber"));
- }
- Boolean haveSubOrg = (Boolean)param.get("haveSubOrg");
- String periodYear = (String)param.get("year");
- String periodMonth = (String)param.get("month");
- String periodTimes = (String)param.get("times");
- String attendProject = (String)param.get("attendProject");
- StringBuffer sqlBuffer = new StringBuffer();
- AttendanceProjectCollection attendanceProjectColl = AttendanceProjectFactory.getLocalInstance(ctx).getAttendanceProjectCollection("SELECT ID,COLUMNNO where NAME = '" + attendProject + "' or number ='" + attendProject + "'");
- if (attendanceProjectColl != null && attendanceProjectColl.size() > 0) {
- AttendanceProjectInfo oldModel = attendanceProjectColl.get(0);
- if (oldModel == null) {
- return null;
- } else {
- String columnName = "S" + oldModel.getColumnNO();
- String salaryPeriod = periodYear + "-" + periodMonth + "-" + periodTimes;
- Map<String, String> errorResMap = new HashMap();
- if (StringUtils.isEmpty(personIds)) {
- return null;
- } else if (StringUtils.isEmpty(attendProject)) {
- return null;
- } else {
- errorResList.add((HashMap)errorResMap);
- sqlBuffer.append("select FPROPOSERID, sum(" + columnName + ") sumResult from T_HR_ATS_AttendanceResult where FProposerID in (" + personIds + ")");
-
- if (!StringUtils.isEmpty(companyLongNumber)) {
- String sql = "select * from t_org_admin where FLONGNUMBER in (" + companyLongNumber + ") and fid = FCOMPANYID";
- IRowSet executeQuery = DbUtil.executeQuery(ctx, sql);
- Boolean isCompany = false;
- try {
- if (executeQuery.next()) {
- isCompany = true;
- }
- } catch (SQLException var26) {
- var26.printStackTrace();
- }
- AdminOrgUnitCollection adminOrgColl = AdminOrgUnitFactory.getLocalInstance(ctx).getAdminOrgUnitCollection(" where longNumber in (" + companyLongNumber + ")");
- String companyID = "";
- String adminOrgUnitId = "";
- AdminOrgUnitInfo row;
- if (adminOrgColl != null && adminOrgColl.size() > 0) {
- row = adminOrgColl.get(0);
- companyLongNumber = row.getLongNumber();
- adminOrgUnitId = row.getId().toString();
- }
- if (haveSubOrg) {
- sqlBuffer.append(" and FADMINORGUNITID in (SELECT FID FROM T_ORG_ADMIN where FlongNumber like '" + companyLongNumber + "%')");
- } else {
- sqlBuffer.append(" and FADMINORGUNITID in ('" + adminOrgUnitId + "')");
- }
- }
-
-
- sqlBuffer.append(" and FAttenceDate ='" + salaryPeriod + "'");
- sqlBuffer.append(" group by FPROPOSERID");
-
- IRowSet rowset = DbUtil.executeQuery(ctx, sqlBuffer.toString());
- try {
- while(rowset.next()) {
- rowset.getString("FPROPOSERID");
- rowset.getString("sumResult");
- Map<String, String> successResMap = new HashMap();
- successResMap.put(attendProject, rowset.getString("sumResult"));
- successResMap.put("personId", rowset.getString("FPROPOSERID"));
- successResList.add((HashMap)successResMap);
- }
- } catch (SQLException var27) {
- var27.printStackTrace();
- }
- return successResList;
- }
- }
- } else {
- return null;
- }
- }
- }
|