编制方案需求完善

pull/176/MERGE^2
dxfeng 3 years ago
parent 40a38d76e6
commit 1c9b1abe69

@ -27,8 +27,8 @@ CREATE TABLE `jcl_field_extendgroup` (
`group_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`pid` int(11) NULL DEFAULT NULL,
`is_show` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`show_order` int(11) NULL DEFAULT NULL,
@ -57,8 +57,8 @@ CREATE TABLE `jcl_field_extendinfo` (
`show_order` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`browser_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`custom_value` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`is_system_default` int(11) NULL DEFAULT NULL,
@ -73,8 +73,8 @@ CREATE TABLE `jcl_field_extendtitle` (
`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`show_order` int(11) NULL DEFAULT NULL,
`is_show` int(11) NULL DEFAULT NULL,
`is_system_default` int(11) NULL DEFAULT NULL,
@ -96,13 +96,11 @@ CREATE TABLE `jcl_org_comp` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
`show_order` int(11) NULL DEFAULT NULL,
`uuid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`field101` varchar(4000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`field107` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -112,11 +110,10 @@ CREATE TABLE `jcl_org_compext` (
`id` int(11) NOT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`phone` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`tel` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`field65` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -127,15 +124,12 @@ CREATE TABLE `jcl_org_compext_dt1` (
`mainid` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`hobby` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`namespan` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`field42` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`field55` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`field66` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -154,8 +148,8 @@ CREATE TABLE `jcl_org_dept` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
`uuid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
@ -167,8 +161,8 @@ CREATE TABLE `jcl_org_deptext` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -179,8 +173,8 @@ CREATE TABLE `jcl_org_deptext_dt1` (
`mainid` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -196,8 +190,8 @@ CREATE TABLE `jcl_org_grade` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -289,8 +283,8 @@ CREATE TABLE `jcl_org_hrmresource` (
`work_year` decimal(10, 2) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -300,8 +294,8 @@ CREATE TABLE `jcl_org_hrmresourceext` (
`id` int(11) NOT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -312,8 +306,8 @@ CREATE TABLE `jcl_org_hrmresourceext_dt1` (
`mainid` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -336,8 +330,8 @@ CREATE TABLE `jcl_org_job` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
`show_order` int(11) NULL DEFAULT NULL,
`grade_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
@ -356,8 +350,8 @@ CREATE TABLE `jcl_org_jobdt` (
`grade_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`level_id_span` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`grade_id_span` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
@ -369,8 +363,8 @@ CREATE TABLE `jcl_org_jobext` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -381,8 +375,8 @@ CREATE TABLE `jcl_org_jobext_dt1` (
`mainid` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`post_id` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`post_idspan` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`post_info_id` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
@ -401,8 +395,8 @@ CREATE TABLE `jcl_org_level` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -435,8 +429,8 @@ CREATE TABLE `jcl_org_map` (
`fdateend` date NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -448,8 +442,8 @@ CREATE TABLE `jcl_org_post` (
`description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -467,8 +461,8 @@ CREATE TABLE `jcl_org_post_info` (
`description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`forbidden_tag` int(11) NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
@ -484,8 +478,8 @@ CREATE TABLE `jcl_org_scheme` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -501,8 +495,8 @@ CREATE TABLE `jcl_org_sequence` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -524,8 +518,8 @@ CREATE TABLE `jcl_org_staff` (
`description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -545,8 +539,8 @@ CREATE TABLE `jcl_org_staffplan` (
`forbidden_tag` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`is_used` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
@ -562,8 +556,8 @@ CREATE TABLE `jcl_org_staffs` (
`requestid` int(11) NULL DEFAULT NULL,
`creator` int(11) NULL DEFAULT NULL,
`delete_type` int(11) NULL DEFAULT NULL,
`create_time` date NULL DEFAULT NULL,
`update_time` date NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL,
`description` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

@ -16,7 +16,7 @@ public class StaffBO {
if (param == null) {
return null;
}
return StaffPO.builder()
StaffPO staffPO = StaffPO.builder()
.id(param.getId())
.planId(param.getPlanId())
.compId(param.getCompId())
@ -24,8 +24,8 @@ public class StaffBO {
.jobId(param.getJobId())
.staffNum(param.getStaffNum())
.controlPolicy(param.getControlPolicy())
.permanentNum(param.getPermanentNum())
.freezeNum(param.getFreezeNum())
.permanentNum(param.getPermanentNum() == null ? 0 : param.getPermanentNum())
.freezeNum(param.getFreezeNum() == null ? 0 : param.getFreezeNum())
.lackStatus(param.getLackStatus())
.staffDesc(param.getStaffDesc())
.description(param.getDescription())
@ -34,6 +34,8 @@ public class StaffBO {
.updateTime(new Date())
.creator(employeeId)
.build();
buildStaffDesc(staffPO);
return staffPO;
}
public static void buildStaffDesc(StaffPO staffPO) {

@ -31,7 +31,7 @@ public interface StaffMapper {
* @param jobId
* @return
*/
StaffPO getStaffByFilter(@Param("companyId") Long companyId, @Param("departmentId") Long departmentId, @Param("jobId") Long jobId);
List<StaffPO> getStaffByFilter(@Param("companyId") Long companyId, @Param("departmentId") Long departmentId, @Param("jobId") Long jobId);
/**
*

@ -62,6 +62,7 @@
<if test="jobId != null">
and job_id = #{jobId}
</if>
order by update_time desc
</select>
<select id="getStaffsByIds" resultMap="BaseResultMap">
select

@ -6,6 +6,7 @@ import com.engine.organization.entity.staff.po.StaffsPO;
import com.engine.organization.mapper.staff.StaffMapper;
import com.engine.organization.mapper.staff.StaffsMapper;
import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.general.Util;
import weaver.interfaces.workflow.action.Action;
@ -15,6 +16,7 @@ import weaver.soa.workflow.request.RequestInfo;
import weaver.workflow.request.RequestManager;
import java.util.Date;
import java.util.List;
/**
* @description:
@ -38,7 +40,7 @@ public class StaffChangeAction implements Action {
@Override
public String execute(RequestInfo requestInfo) {
if (StringUtils.isBlank(changeType)) {
return FAILURE_AND_CONTINUE;
return "编制调整失败,未配置对应调整方式";
}
Integer requestId = Integer.parseInt(requestInfo.getRequestid());
@ -78,12 +80,13 @@ public class StaffChangeAction implements Action {
return "编制变动数需大于0";
}
// TODO 定位编制方案
// 根据分部、部门、岗位 定位具体编制信息
StaffPO staffPO = MapperProxyFactory.getProxy(StaffMapper.class).getStaffByFilter(companyId, departmentId, jobId);
// 编制数
Integer staffNum = staffPO.getStaffNum();
if (null != staffPO) {
// 根据分部、部门、岗位 定位具体编制信息,按照更新时间倒序,取最新的一条数据
List<StaffPO> staffPOs = MapperProxyFactory.getProxy(StaffMapper.class).getStaffByFilter(companyId, departmentId, jobId);
if (CollectionUtils.isNotEmpty(staffPOs)) {
StaffPO staffPO = staffPOs.get(0);
// 编制数
Integer staffNum = staffPO.getStaffNum();
switch (changeType) {
case "3":// 冻结,比如招聘中,面试中,入职办理中等
if (staffPO.getFreezeNum() + changeNum > staffNum) {
@ -123,8 +126,8 @@ public class StaffChangeAction implements Action {
.build();
MapperProxyFactory.getProxy(StaffsMapper.class).insertIgnoreNull(staffsPO);
// 编制描述
StaffBO.buildStaffDesc(staffPO);
MapperProxyFactory.getProxy(StaffMapper.class).updateStaff(staffPO);
return SUCCESS;
}

Loading…
Cancel
Save