diff --git a/src/com/engine/kqsolution/service/ResourceSnipService.java b/src/com/engine/kqsolution/service/ResourceSnipService.java index 0af31f7..bfe30ef 100644 --- a/src/com/engine/kqsolution/service/ResourceSnipService.java +++ b/src/com/engine/kqsolution/service/ResourceSnipService.java @@ -42,7 +42,7 @@ public interface ResourceSnipService { * @param: [companyStartDate] * @return: java.util.Map */ - Map> hrResource(String companyStartDate); + Map> hrResource(Map param); /** * @Description 人事花名册导出 @@ -51,5 +51,5 @@ public interface ResourceSnipService { * @param: [request, response, companyStartDate] * @return: org.apache.poi.xssf.usermodel.XSSFWorkbook */ - XSSFWorkbook hrResourceExport(HttpServletRequest request, HttpServletResponse response, String companyStartDate); + XSSFWorkbook hrResourceExport(HttpServletRequest request, HttpServletResponse response, Map param); } diff --git a/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java b/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java index 808e094..6ee2661 100644 --- a/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java +++ b/src/com/engine/kqsolution/service/impl/ResourceSnipServiceImpl.java @@ -18,6 +18,7 @@ import weaver.conn.RecordSet; import weaver.general.BaseBean; import weaver.general.PageIdConst; import com.cloudstore.eccom.result.WeaResultMsg; +import weaver.general.StringUtil; import weaver.general.Util; import javax.servlet.http.HttpServletRequest; @@ -214,7 +215,12 @@ public class ResourceSnipServiceImpl extends Service implements ResourceSnipServ } @Override - public Map> hrResource(String companyStartDate) { + public Map> hrResource(Map param) { + + String companyStartDate = Util.null2String(param.get("companyStartDate")); + String status = Util.null2String(param.get("status")); + String subcompanyId = Util.null2String(param.get("subcompanyId")); + String departmentId = Util.null2String(param.get("departmentId")); Map> resultMap = new HashMap<>(4); RecordSet rs = new RecordSet(); @@ -233,14 +239,35 @@ public class ResourceSnipServiceImpl extends Service implements ResourceSnipServ String firstDayStr = firstDay.format(DATE_FORMATTER); String lastDayStr = lastDay.format(DATE_FORMATTER); - - rs.executeQuery("select a.id,a.workcode,a.lastname,a.birthday,a.sex,a.subcompanyid1,a.departmentid,a.managerid,a.companystartdate,\n" + + String sql = "select a.id,a.workcode,a.lastname,a.birthday,a.sex,a.subcompanyid1,a.departmentid,a.managerid,a.companystartdate,\n" + "a.createdate,a.accumfundaccount,b."+account+" as account,b."+bankField+" as bankname,c."+femdate+" as femdate,\n" + "a.startdate,a.enddate,a.jobtitle,a.status,a.educationlevel,a.mobile,a.certificatenum,\n" + "a.nativeplace,b."+regresidentplace+" as regresidentplace from hrmresource a\n" + "left join cus_fielddata b on a.id = b.id and b.scopeid = 1\n" + "left join cus_fielddata c on a.id = c.id and c.scopeid = -1\n" + - "where a.companystartdate <= '"+lastDayStr+"'"); + "where a.companystartdate <= '"+lastDayStr+"'"; + + if (!StringUtil.isEmpty(subcompanyId) && !StringUtil.isEmpty(departmentId)) { + sql += " and (a.subcompanyid1 = "+subcompanyId+" or a.departmentid ="+departmentId+")"; + } else if (!StringUtil.isEmpty(subcompanyId)) { + sql += " and a.subcompanyid1 ="+subcompanyId; + }else if (!StringUtil.isEmpty(departmentId)) { + sql += " and a.departmentid ="+departmentId; + } + + + if (!"9".equals(status)) { + //在职 + if ("8".equals(status)) { + sql += " and a.status < 4"; + }else { + sql += " and a.status = "+status; + } + } + + + + rs.executeQuery(sql); List historyResourceList = new ArrayList<>(); while (rs.next()) { @@ -334,19 +361,21 @@ public class ResourceSnipServiceImpl extends Service implements ResourceSnipServ } }); + + resultMap.put("data",filteredList); return resultMap; } @Override - public XSSFWorkbook hrResourceExport(HttpServletRequest request, HttpServletResponse response, String companyStartDate) { + public XSSFWorkbook hrResourceExport(HttpServletRequest request, HttpServletResponse response, Map param) { BaseBean bb = new BaseBean(); - + String companyStartDate = Util.null2String(param.get("companyStartDate")); //全字段导出 List headerList = Arrays.asList("编号","姓名","出生日期","性别","分部","部门","岗位","直接上级","入职日期","离职日期","状态","创建日期","公积金账户","工资账户","工资银行","首次参保时间", "合同开始日期","合同结束日期","学历","电话","身份证号","籍贯","户口所在地"); - Map> stringMap = hrResource(companyStartDate); + Map> stringMap = hrResource(param); List historyResourcePOS = stringMap.get("data"); List> rows = new LinkedList<>(); diff --git a/src/com/engine/kqsolution/web/ResourceSnipAction.java b/src/com/engine/kqsolution/web/ResourceSnipAction.java index 8ca8f8c..00175c4 100644 --- a/src/com/engine/kqsolution/web/ResourceSnipAction.java +++ b/src/com/engine/kqsolution/web/ResourceSnipAction.java @@ -2,6 +2,7 @@ package com.engine.kqsolution.web; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; +import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.kqsolution.service.ResourceSnipService; import com.engine.kqsolution.service.impl.ResourceSnipServiceImpl; @@ -82,7 +83,8 @@ public class ResourceSnipAction { Map data = new HashMap<>(8); try { User user = HrmUserVarify.getUser(request, response); - data.put("datas",getService(user).hrResource(companyStartDate)); + Map param = ParamUtil.request2Map(request); + data.put("datas",getService(user).hrResource(param)); data.put("api_status", true); } catch (Exception e) { data.put("api_status", false); @@ -97,7 +99,8 @@ public class ResourceSnipAction { public Response hrResourceExport(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("companyStartDate") String companyStartDate) { User user = HrmUserVarify.getUser(request, response); - XSSFWorkbook workbook = getService(user).hrResourceExport(request, response, companyStartDate); + Map param = ParamUtil.request2Map(request); + XSSFWorkbook workbook = getService(user).hrResourceExport(request, response, param); String fileName = "人事花名册"; try { fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");