编制对外接口 自动释放冻结数取消

pull/278/head
Chengliang 10 months ago
parent a303b748b5
commit 19f8cefe8a

@ -1,5 +1,6 @@
package com.engine.organization.service.impl;
import com.alibaba.fastjson.JSON;
import com.engine.organization.entity.staff.param.StaffOutParam;
import com.engine.organization.entity.staff.po.StaffPO;
import com.engine.organization.enums.ModuleTypeEnum;
@ -9,6 +10,7 @@ import com.engine.organization.util.OrganizationAssert;
import com.engine.organization.util.db.MapperProxyFactory;
import lombok.SneakyThrows;
import org.apache.commons.collections.CollectionUtils;
import weaver.general.BaseBean;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
@ -75,6 +77,8 @@ public class FunctionOutStaffServiceImpl {
private Integer frozenStaffNums(StaffOutParam param) {
StaffPO staffPO = select(param);
OrganizationAssert.isFalse(staffPO.getFreezeNum() == 0, SystemEnv.getHtmlLabelName(547949,user.getLanguage()));
List<Integer> numberF = Arrays.asList(staffPO.getFreezeNum(),param.getNum(),staffPO.getPermanentNum());
//1.增加冻结数 num为负数时为减少冻结数
Integer sum = numberF.stream()
@ -107,14 +111,14 @@ public class FunctionOutStaffServiceImpl {
}
//向上部门 分部在编数调整
upwardReviewSums(param);
//2.调整方式为流程时释放冻结数
if (param.getChangeMode() == 1) {
List<Integer> numbersF = Arrays.asList(staffPO.getFreezeNum(),param.getNum());
int difference = numbersF.stream()
.reduce((a, b) -> a - b)
.orElse(0);
staffPO.setFreezeNum(difference);
}
//2.调整方式为流程时释放冻结数(废弃 单独走冻结接口释放)
// if (param.getChangeMode() == 1) {
// List<Integer> numbersF = Arrays.asList(staffPO.getFreezeNum(),param.getNum());
// int difference = numbersF.stream()
// .reduce((a, b) -> a - b)
// .orElse(0);
// staffPO.setFreezeNum(difference);
// }
buildStaffPO(staffPO);
return staffMapper().updateStaff(staffPO);
}
@ -130,13 +134,13 @@ public class FunctionOutStaffServiceImpl {
//向上部门 分部在编数调整
upwardReviewSums(param);
//2.调整方式为流程时释放冻结数
if (param.getChangeMode() == 1) {
List<Integer> numbersF = Arrays.asList(staffPO.getFreezeNum(),param.getNum());
int differenceF = numbersF.stream()
.reduce((a, b) -> a - b)
.orElse(0);
staffPO.setFreezeNum(differenceF);
}
// if (param.getChangeMode() == 1) {
// List<Integer> numbersF = Arrays.asList(staffPO.getFreezeNum(),param.getNum());
// int differenceF = numbersF.stream()
// .reduce((a, b) -> a - b)
// .orElse(0);
// staffPO.setFreezeNum(differenceF);
// }
buildStaffPO(staffPO);
return staffMapper().updateStaff(staffPO);
}
@ -223,6 +227,11 @@ public class FunctionOutStaffServiceImpl {
private StaffPO select(StaffOutParam param) {
List<StaffPO> staffPO = staffMapper().customSelect(param.getPlanId(), param.getCompany(), param.getDepartment(), param.getJob());
BaseBean bb = new BaseBean();
bb.writeLog("编制参数"+ JSON.toJSONString(param));
bb.writeLog("查询结果"+ JSON.toJSONString(staffPO));
bb.writeLog("user对象"+JSON.toJSONString(user));
bb.writeLog("msg"+SystemEnv.getHtmlLabelName(547474,user.getLanguage()));
OrganizationAssert.notEmpty(staffPO,SystemEnv.getHtmlLabelName(547474,user.getLanguage()));
return staffPO.get(0);
}

Loading…
Cancel
Save