You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weaver-hrm-organization/interface/InitStaffPermanentNum.jsp

61 lines
3.1 KiB
Plaintext

<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="com.engine.organization.entity.staff.po.StaffPO" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="com.engine.organization.entity.job.po.JobPO" %>
<%@ page import="com.engine.organization.util.db.MapperProxyFactory" %>
<%@ page import="com.engine.organization.mapper.job.JobMapper" %>
<%@ page import="com.engine.organization.entity.staff.bo.StaffBO" %>
<%@ page import="com.engine.organization.mapper.staff.StaffMapper" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%
RecordSet rs = new RecordSet();
List<StaffPO> staffPOList = new ArrayList<>();
String sql = "select * from jcl_org_staff where permanent_num = 0 and is_used = 0 and delete_type = 0";
rs.executeQuery(sql);
while (rs.next()) {
StaffPO staffPO = new StaffPO();
staffPO.setId(-1 == rs.getInt("id") ? 0L : (long) rs.getInt("id"));
staffPO.setPlanId(-1 == rs.getInt("plan_id") ? 0L : (long) rs.getInt("plan_id"));
staffPO.setCompId(-1 == rs.getInt("comp_id") ? 0 : rs.getInt("comp_id"));
staffPO.setEcCompany(-1 == rs.getInt("ec_company") ? 0 : rs.getInt("ec_company"));
staffPO.setDeptId(-1 == rs.getInt("dept_id") ? 0 : rs.getInt("dept_id"));
staffPO.setEcDepartment(-1 == rs.getInt("ec_department") ? 0 : rs.getInt("ec_department"));
staffPO.setJobId(-1 == rs.getInt("job_id") ? 0L : (long) rs.getInt("job_id"));
staffPO.setStaffNum(-1 == rs.getInt("staff_num") ? 0 : rs.getInt("staff_num"));
staffPO.setControlPolicy(-1 == rs.getInt("control_policy") ? 0 : rs.getInt("control_policy"));
staffPO.setPermanentNum(-1 == rs.getInt("permanent_num") ? 0 : rs.getInt("permanent_num"));
staffPO.setFreezeNum(-1 == rs.getInt("freeze_num") ? 0 : rs.getInt("freeze_num"));
staffPO.setDescription(rs.getString("description"));
staffPO.setCreator((long) rs.getInt("creator")); staffPO.setCreator((long) rs.getInt("creator"));
staffPOList.add(staffPO);
}
for (StaffPO staffPO : staffPOList) {
sql = "select count(1) as num from hrmresource where STATUS < 4";
if (null != staffPO.getEcCompany() && 0 != staffPO.getEcCompany()) {
sql += " and subcompanyid1 = " + staffPO.getEcCompany();
}
if (null != staffPO.getEcDepartment() && 0 != staffPO.getEcDepartment()) {
sql += " and departmentid = " + staffPO.getEcDepartment();
}
if (null != staffPO.getJobId() && 0 != staffPO.getJobId()) {
JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(staffPO.getJobId());
if (null == jobById) {
continue;
}
Integer ecJobTitle = jobById.getEcJobTitle();
sql += " and jobtitle = " + ecJobTitle;
}
rs.executeQuery(sql);
if (rs.next()) {
staffPO.setPermanentNum(-1 == rs.getInt("num") ? 0 : rs.getInt("num"));
StaffBO.buildStaffDesc(staffPO);
MapperProxyFactory.getProxy(StaffMapper.class).updateStaff(staffPO);
}
}
out.println("在编数初始化完成");
%>