diff --git a/src/com/engine/hzzx/entity/RecruitingPlan.java b/src/com/engine/hzzx/entity/RecruitingPlan.java index bef1ba5..7550de8 100644 --- a/src/com/engine/hzzx/entity/RecruitingPlan.java +++ b/src/com/engine/hzzx/entity/RecruitingPlan.java @@ -15,16 +15,14 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @Builder public class RecruitingPlan { - public RecruitingPlan(Integer departmentId) { - this.departmentId = departmentId; - } public RecruitingPlan(Integer departmentId, Integer onJobNumber) { this.departmentId = departmentId; this.onJobNumber = onJobNumber; } - public RecruitingPlan(String departmentName,Integer departmentId, Integer plannedNumber, Integer onJobNumber) { + public RecruitingPlan(String requestId, String departmentName, Integer departmentId, Integer plannedNumber, Integer onJobNumber) { + this.requestId = requestId; this.departmentName = departmentName; this.departmentId = departmentId; this.plannedNumber = plannedNumber; @@ -36,6 +34,7 @@ public class RecruitingPlan { private Integer plannedNumber; private Integer onJobNumber; private Integer totalNumber; + private String requestId; public Integer getTotalNumber() { return plannedNumber + onJobNumber; diff --git a/src/com/engine/hzzx/service/impl/RecruitDemandServiceImpl.java b/src/com/engine/hzzx/service/impl/RecruitDemandServiceImpl.java index 8d6ccff..a92795d 100644 --- a/src/com/engine/hzzx/service/impl/RecruitDemandServiceImpl.java +++ b/src/com/engine/hzzx/service/impl/RecruitDemandServiceImpl.java @@ -3,7 +3,6 @@ package com.engine.hzzx.service.impl; import com.engine.core.impl.Service; import com.engine.hzzx.entity.RecruitingPlan; import com.engine.hzzx.service.RecruitDemandService; -import org.apache.commons.collections.CollectionUtils; import weaver.common.DateUtil; import weaver.conn.RecordSet; import weaver.hrm.company.DepartmentComInfo; @@ -19,28 +18,32 @@ import java.util.Map; * @version: 1.0 */ public class RecruitDemandServiceImpl extends Service implements RecruitDemandService { + // update workflow_config set value=value+',field6960_1' where name='support_html_textarea_field' @Override public Map getRecruitDemandList(Map params) { RecordSet rs = new RecordSet(); String year = DateUtil.getYear(); // 查询当前年度提交的数据 - rs.executeQuery("select * from uf_zpxqhztz where sqrq like '%" + year + "%'"); - List mainIds = new ArrayList<>(); + //rs.executeQuery("select * from uf_zpxqhztz where sqrq like '%" + year + "%'"); + rs.executeQuery("SELECT id, lcid FROM uf_zpxqhztz WHERE YEAR(sqrq) = ?", year); + Map mainIdsMap = new HashMap<>(); while (rs.next()) { - mainIds.add(rs.getString("id")); + String lcid = rs.getString("lcid"); + String mainId = rs.getString("id"); + mainIdsMap.put(mainId, lcid); } // 查询明细表数据 List recruitingPlans = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(mainIds)) { - rs.executeQuery("select * from uf_zpxqhztz_dt1 where mainid in (" + String.join(",", mainIds) + ")"); + mainIdsMap.forEach((mainId, lcid) -> { + rs.executeQuery("select * from uf_zpxqhztz_dt1 where mainid = ?", mainId); while (rs.next()) { - recruitingPlans.add(new RecruitingPlan("", rs.getInt("zpbm"), rs.getInt("xqrs"), 0)); + recruitingPlans.add(new RecruitingPlan(lcid, "", rs.getInt("zpbm"), rs.getInt("xqrs"), 0)); } - } - // 遍历recruitingPlans 汇总相同部门下的总招聘人数 - // 创建一个Map来保存部门及其对应的总招聘人数 + }); + Map departmentSum = new HashMap<>(); + Map departmentApply = new HashMap<>(); // 遍历recruitingPlans列表 for (RecruitingPlan plan : recruitingPlans) { @@ -55,6 +58,7 @@ public class RecruitDemandServiceImpl extends Service implements RecruitDemandSe department, departmentSum.getOrDefault(department, 0) + required ); + departmentApply.put(department, plan.getRequestId()); } // 汇总部门数据 @@ -68,7 +72,7 @@ public class RecruitDemandServiceImpl extends Service implements RecruitDemandSe onJobNumber = rs.getInt("nmzgrs"); } String departmentname = departmentComInfo.getDepartmentname(String.valueOf(department)); - resultList.add(new RecruitingPlan(departmentname, department, onJobNumber, requiredTotal)); + resultList.add(new RecruitingPlan(departmentApply.get(department), departmentname, department, requiredTotal, onJobNumber)); }); Map resultMap = new HashMap<>();