From e7a2d39d2c1e205121ae493df89794df55fa1dde Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 12 Mar 2025 16:22:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=9B=E8=81=98=E9=9C=80=E6=B1=82=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/xmg/web/RecruitDemandController.java | 8 ++ .../api/xxx/web/RecruitDemandController.java | 8 -- .../entity/demand/vo/RecruitDemandTable.java | 82 +++++++++++++++++++ .../exception/CustomizeRunTimeException.java | 2 +- .../service/RecruitDemandService.java | 4 +- .../impl/RecruitDemandServiceImpl.java | 33 ++++++++ .../demand/RecruitDemandTableTransMethod.java | 78 ++++++++++++++++++ .../{xxx => xmg}/util/ExceptionUtil.java | 2 +- .../{xxx => xmg}/util/ResponseResult.java | 10 +-- .../web/RecruitDemandController.java | 14 ++-- .../impl/RecruitDemandServiceImpl.java | 35 -------- 11 files changed, 217 insertions(+), 59 deletions(-) create mode 100644 src/com/api/xmg/web/RecruitDemandController.java delete mode 100644 src/com/api/xxx/web/RecruitDemandController.java create mode 100644 src/com/engine/xmg/entity/demand/vo/RecruitDemandTable.java rename src/com/engine/{xxx => xmg}/exception/CustomizeRunTimeException.java (92%) rename src/com/engine/{xxx => xmg}/service/RecruitDemandService.java (56%) create mode 100644 src/com/engine/xmg/service/impl/RecruitDemandServiceImpl.java create mode 100644 src/com/engine/xmg/transmethod/demand/RecruitDemandTableTransMethod.java rename src/com/engine/{xxx => xmg}/util/ExceptionUtil.java (93%) rename src/com/engine/{xxx => xmg}/util/ResponseResult.java (94%) rename src/com/engine/{xxx => xmg}/web/RecruitDemandController.java (68%) delete mode 100644 src/com/engine/xxx/service/impl/RecruitDemandServiceImpl.java diff --git a/src/com/api/xmg/web/RecruitDemandController.java b/src/com/api/xmg/web/RecruitDemandController.java new file mode 100644 index 0000000..5c9d54d --- /dev/null +++ b/src/com/api/xmg/web/RecruitDemandController.java @@ -0,0 +1,8 @@ +package com.api.xmg.web; + +import javax.ws.rs.Path; + + +@Path("/jcl/xmg/demand") +public class RecruitDemandController extends com.engine.xmg.web.RecruitDemandController{ +} diff --git a/src/com/api/xxx/web/RecruitDemandController.java b/src/com/api/xxx/web/RecruitDemandController.java deleted file mode 100644 index 22f7992..0000000 --- a/src/com/api/xxx/web/RecruitDemandController.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.api.xxx.web; - -import javax.ws.rs.Path; - - -@Path("/jcl/xxx/demand") -public class RecruitDemandController extends com.engine.xxx.web.RecruitDemandController{ -} diff --git a/src/com/engine/xmg/entity/demand/vo/RecruitDemandTable.java b/src/com/engine/xmg/entity/demand/vo/RecruitDemandTable.java new file mode 100644 index 0000000..8592bdf --- /dev/null +++ b/src/com/engine/xmg/entity/demand/vo/RecruitDemandTable.java @@ -0,0 +1,82 @@ +package com.engine.xmg.entity.demand.vo; + +import com.engine.organization.annotation.OrganizationTable; +import com.engine.organization.annotation.OrganizationTableColumn; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author:dxfeng + * @createTime: 2025/03/11 + * @version: 1.0 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@OrganizationTable(pageId = "2708f6a9-fe47-11ef-9c4e-000c2928e588", + fields = "t.id," + + "t.lcbh," + + "t.sqsj," + + "t.sqbm," + + "t.sqr," + + "t.gw," + + "t.zprs" + , + fromSql = "FROM uf_jcl_zp_zpxq t", + orderby = " t.id ", + sortway = " asc", + primarykey = "id" +) +public class RecruitDemandTable { + @OrganizationTableColumn(column = "id", display = false) + private String id; + /** + * 流程编号 + */ + @OrganizationTableColumn(text = "流程编号", width = "25%", column = "lcbh") + private String processNumber; + /** + * 申请时间 + */ + @OrganizationTableColumn(text = "申请时间", width = "25%", column = "sqsj") + private String applyTime; + /** + * 申请部门 + */ + @OrganizationTableColumn(text = "申请部门", width = "25%", column = "sqbm",transmethod = "com.engine.xmg.transmethod.demand.RecruitDemandTableTransMethod.getDepartmentName") + private String applyDepartment; + /** + * 申请人 + */ + @OrganizationTableColumn(text = "申请人", width = "25%", column = "sqr",transmethod = "com.engine.xmg.transmethod.demand.RecruitDemandTableTransMethod.getUserName") + private String applyUser; + /** + * 招聘岗位 + */ + @OrganizationTableColumn(text = "招聘岗位", width = "25%", column = "gw",transmethod = "com.engine.xmg.transmethod.demand.RecruitDemandTableTransMethod.getJobtitleName") + private String recruitPost; + /** + * 招聘人数 + */ + @OrganizationTableColumn(text = "招聘人数", width = "25%", column = "zprs") + private String recruitNumber; + /** + * 面试人数 + */ + @OrganizationTableColumn(text = "面试人数", width = "25%", column = "msrs", otherPara = "column:id", transmethod = "com.engine.xmg.transmethod.demand.RecruitDemandTableTransMethod.getInterviewNumber") + private String interviewNumber; + /** + * 接受offer人数 + */ + @OrganizationTableColumn(text = "接受offer人数", width = "25%", column = "offernumber", otherPara = "column:id", transmethod = "com.engine.xmg.transmethod.demand.RecruitDemandTableTransMethod.getOfferNumber") + private String acceptOfferNumber; + /** + * 接受offer人员 + */ + @OrganizationTableColumn(text = "接受offer人员", width = "25%", column = "offeruser", otherPara = "column:id", transmethod = "com.engine.xmg.transmethod.demand.RecruitDemandTableTransMethod.getOfferUser") + private String acceptOfferUser; + +} diff --git a/src/com/engine/xxx/exception/CustomizeRunTimeException.java b/src/com/engine/xmg/exception/CustomizeRunTimeException.java similarity index 92% rename from src/com/engine/xxx/exception/CustomizeRunTimeException.java rename to src/com/engine/xmg/exception/CustomizeRunTimeException.java index 9551fd8..f862717 100644 --- a/src/com/engine/xxx/exception/CustomizeRunTimeException.java +++ b/src/com/engine/xmg/exception/CustomizeRunTimeException.java @@ -1,4 +1,4 @@ -package com.engine.xxx.exception; +package com.engine.xmg.exception; /** * @Author weaver_cl diff --git a/src/com/engine/xxx/service/RecruitDemandService.java b/src/com/engine/xmg/service/RecruitDemandService.java similarity index 56% rename from src/com/engine/xxx/service/RecruitDemandService.java rename to src/com/engine/xmg/service/RecruitDemandService.java index ddf40e5..debbe01 100644 --- a/src/com/engine/xxx/service/RecruitDemandService.java +++ b/src/com/engine/xmg/service/RecruitDemandService.java @@ -1,4 +1,4 @@ -package com.engine.xxx.service; +package com.engine.xmg.service; import java.util.Map; @@ -9,5 +9,5 @@ import java.util.Map; */ public interface RecruitDemandService { - Map getStaffNum(Map param); + Map getRecruitDemandReport(Map param); } diff --git a/src/com/engine/xmg/service/impl/RecruitDemandServiceImpl.java b/src/com/engine/xmg/service/impl/RecruitDemandServiceImpl.java new file mode 100644 index 0000000..2cac895 --- /dev/null +++ b/src/com/engine/xmg/service/impl/RecruitDemandServiceImpl.java @@ -0,0 +1,33 @@ +package com.engine.xmg.service.impl; + +import com.cloudstore.eccom.result.WeaResultMsg; +import com.engine.core.impl.Service; +import com.engine.organization.component.OrganizationWeaTable; +import com.engine.xmg.entity.demand.vo.RecruitDemandTable; +import com.engine.xmg.service.RecruitDemandService; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2024/08/29 + * @version: 1.0 + */ +public class RecruitDemandServiceImpl extends Service implements RecruitDemandService { + + @Override + public Map getRecruitDemandReport(Map param) { + Map resultMap = new HashMap<>(); + + // 刷新引用状态 + OrganizationWeaTable table = new OrganizationWeaTable<>(user, RecruitDemandTable.class); + String sqlWhere = " where 1=1 "; + table.setSqlwhere(sqlWhere); + WeaResultMsg result = new WeaResultMsg(false); + result.putAll(table.makeDataResult()); + result.success(); + resultMap.putAll(result.getResultMap()); + return resultMap; + } +} diff --git a/src/com/engine/xmg/transmethod/demand/RecruitDemandTableTransMethod.java b/src/com/engine/xmg/transmethod/demand/RecruitDemandTableTransMethod.java new file mode 100644 index 0000000..be84d30 --- /dev/null +++ b/src/com/engine/xmg/transmethod/demand/RecruitDemandTableTransMethod.java @@ -0,0 +1,78 @@ +package com.engine.xmg.transmethod.demand; + +import org.apache.commons.lang.StringUtils; +import weaver.conn.RecordSet; +import weaver.hrm.User; +import weaver.hrm.company.DepartmentComInfo; +import weaver.hrm.job.JobTitlesComInfo; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author:dxfeng + * @createTime: 2025/03/11 + * @version: 1.0 + */ +public class RecruitDemandTableTransMethod { + + public static String getInterviewNumber(String text, String demandId) { + RecordSet rs = new RecordSet(); + String sql = "select COUNT( distinct ms.ypz ) as num from uf_jcl_zp_zpxq zpxq left join uf_jcl_zp_zpzw zpzw on zpxq.id = zpzw.zpxqdx left join uf_jcl_yppc yppc on zpzw.id = yppc.ypzw left join uf_jcl_ms ms on yppc.id = ms.ypz where zpxq.id = ?"; + rs.executeQuery(sql, demandId); + if (rs.next()) { + return rs.getString("num"); + } + return ""; + } + + public static String getOfferNumber(String text, String demandId) { + RecordSet rs = new RecordSet(); + String sql = "select count(uf_jcl_offer.id) as num from uf_jcl_zp_zpxq join uf_jcl_zp_zpzw on uf_jcl_zp_zpxq.id = uf_jcl_zp_zpzw.zpxqdx join uf_jcl_yppc on uf_jcl_zp_zpzw.id = uf_jcl_yppc.ypzw join uf_jcl_offer on uf_jcl_yppc.id = uf_jcl_offer.xm and uf_jcl_offer.zt=3 and uf_jcl_offer.formmodeid is not null where uf_jcl_zp_zpxq.id = ?"; + rs.executeQuery(sql, demandId); + if (rs.next()) { + return rs.getString("num"); + } + return ""; + } + + public static String getOfferUser(String text, String demandId) { + RecordSet rs = new RecordSet(); + String sql = "select uf_jcl_yppc.xm , uf_jcl_offer.fksj from uf_jcl_zp_zpxq join uf_jcl_zp_zpzw on uf_jcl_zp_zpxq.id = uf_jcl_zp_zpzw.zpxqdx join uf_jcl_yppc on uf_jcl_zp_zpzw.id = uf_jcl_yppc.ypzw join uf_jcl_offer on uf_jcl_yppc.id = uf_jcl_offer.xm and uf_jcl_offer.zt=3 and uf_jcl_offer.formmodeid is not null where uf_jcl_zp_zpxq.id = ?"; + rs.executeQuery(sql, demandId); + + List userList = new ArrayList<>(); + while (rs.next()) { + String name = rs.getString("xm"); + String time = rs.getString("fksj"); + time = StringUtils.isNotBlank(time) ? "(" + time + ")" : ""; + if (StringUtils.isNotBlank(name)) { + userList.add(name + time); + } + + } + return StringUtils.join(userList, "
"); + } + + public static String getDepartmentName(String id) { + if (StringUtils.isBlank(id)) { + return ""; + } + return new DepartmentComInfo().getDepartmentname(id); + } + + public static String getUserName(String id) { + if (StringUtils.isBlank(id)) { + return ""; + } + return new User(Integer.parseInt(id)).getLastname(); + } + + public static String getJobtitleName(String id) { + if (StringUtils.isBlank(id)) { + return ""; + } + return new JobTitlesComInfo().getJobTitlesname(id); + } + +} diff --git a/src/com/engine/xxx/util/ExceptionUtil.java b/src/com/engine/xmg/util/ExceptionUtil.java similarity index 93% rename from src/com/engine/xxx/util/ExceptionUtil.java rename to src/com/engine/xmg/util/ExceptionUtil.java index 076d09c..19c4f82 100644 --- a/src/com/engine/xxx/util/ExceptionUtil.java +++ b/src/com/engine/xmg/util/ExceptionUtil.java @@ -1,4 +1,4 @@ -package com.engine.xxx.util; +package com.engine.xmg.util; /** * @Author weaver_cl diff --git a/src/com/engine/xxx/util/ResponseResult.java b/src/com/engine/xmg/util/ResponseResult.java similarity index 94% rename from src/com/engine/xxx/util/ResponseResult.java rename to src/com/engine/xmg/util/ResponseResult.java index 4cace10..8212f89 100644 --- a/src/com/engine/xxx/util/ResponseResult.java +++ b/src/com/engine/xmg/util/ResponseResult.java @@ -1,11 +1,11 @@ -package com.engine.xxx.util; +package com.engine.xmg.util; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import com.engine.core.exception.ECException; -import com.engine.xxx.exception.CustomizeRunTimeException; +import com.engine.xmg.exception.CustomizeRunTimeException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; @@ -50,7 +50,7 @@ public class ResponseResult { log.info("run api , param {}", t); } return getJsonString(f.apply(t)); - } catch (com.engine.xxx.exception.CustomizeRunTimeException e) { + } catch (CustomizeRunTimeException e) { log.error("api run fail", e); return Error(e.getMessage()); } catch (ECException e) { @@ -72,7 +72,7 @@ public class ResponseResult { log.info("run api , param {}", t); } return Ok(f.apply(t)); - } catch (com.engine.xxx.exception.CustomizeRunTimeException e) { + } catch (CustomizeRunTimeException e) { log.error("api run fail", e); return Error(e.getMessage()); } catch (ECException e) { @@ -95,7 +95,7 @@ public class ResponseResult { } f.accept(t); return Ok(); - } catch (com.engine.xxx.exception.CustomizeRunTimeException e) { + } catch (CustomizeRunTimeException e) { log.error("api run fail", e); return Error(e.getMessage()); } catch (ECException e) { diff --git a/src/com/engine/xxx/web/RecruitDemandController.java b/src/com/engine/xmg/web/RecruitDemandController.java similarity index 68% rename from src/com/engine/xxx/web/RecruitDemandController.java rename to src/com/engine/xmg/web/RecruitDemandController.java index 6be463f..3150a11 100644 --- a/src/com/engine/xxx/web/RecruitDemandController.java +++ b/src/com/engine/xmg/web/RecruitDemandController.java @@ -1,10 +1,10 @@ -package com.engine.xxx.web; +package com.engine.xmg.web; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; -import com.engine.xxx.service.RecruitDemandService; -import com.engine.xxx.service.impl.RecruitDemandServiceImpl; -import com.engine.xxx.util.ResponseResult; +import com.engine.xmg.service.RecruitDemandService; +import com.engine.xmg.service.impl.RecruitDemandServiceImpl; +import com.engine.xmg.util.ResponseResult; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -28,12 +28,12 @@ public class RecruitDemandController { } @GET - @Path("/getStaffNum") + @Path("/getRecruitDemandReport") @Produces(MediaType.APPLICATION_JSON) - public String getStaffNum(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public String getRecruitDemandReport(@Context HttpServletRequest request, @Context HttpServletResponse response) { User user = HrmUserVarify.getUser(request, response); Map params = ParamUtil.request2Map(request); - return new ResponseResult, Map>(user).run(getService(user)::getStaffNum, params); + return new ResponseResult, Map>(user).run(getService(user)::getRecruitDemandReport, params); } } diff --git a/src/com/engine/xxx/service/impl/RecruitDemandServiceImpl.java b/src/com/engine/xxx/service/impl/RecruitDemandServiceImpl.java deleted file mode 100644 index 8b114af..0000000 --- a/src/com/engine/xxx/service/impl/RecruitDemandServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.engine.xxx.service.impl; - -import com.engine.core.impl.Service; -import com.engine.xxx.service.RecruitDemandService; -import weaver.conn.RecordSet; -import weaver.general.Util; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author:dxfeng - * @createTime: 2024/08/29 - * @version: 1.0 - */ -public class RecruitDemandServiceImpl extends Service implements RecruitDemandService { - @Override - public Map getStaffNum(Map param) { - Map returnMap = new HashMap<>(); - RecordSet rs = new RecordSet(); - String sqbm = Util.null2String(param.get("sqbm")); - String xqgw = Util.null2String(param.get("xqgw")); - - - rs.executeQuery("select a.staff_num, a.permanent_num from jcl_org_staff a inner join JCL_ORG_STAFFPLAN b on a.plan_id = b.id and b.forbidden_tag = 0 and b.delete_type = 0 where a.delete_type = 0 and a.ec_department = ? and a.job_id = ? order by a.id desc", sqbm, xqgw); - if(rs.next()) { - String staffNum = rs.getString("staff_num"); - String permanentNum = rs.getString("permanent_num"); - returnMap.put("staffNum", staffNum); - returnMap.put("permanentNum", permanentNum); - } - - return returnMap; - } -}