|
|
|
@ -13,6 +13,7 @@ import com.engine.organization.entity.browser.po.CustomBrowserBean;
|
|
|
|
|
import com.engine.organization.entity.staff.bo.StaffBO;
|
|
|
|
|
import com.engine.organization.entity.staff.param.StaffSearchParam;
|
|
|
|
|
import com.engine.organization.entity.staff.po.StaffPO;
|
|
|
|
|
import com.engine.organization.entity.staff.po.StaffPlanPO;
|
|
|
|
|
import com.engine.organization.entity.staff.po.StaffsPO;
|
|
|
|
|
import com.engine.organization.entity.staff.vo.StaffTableVO;
|
|
|
|
|
import com.engine.organization.mapper.comp.CompMapper;
|
|
|
|
@ -87,6 +88,7 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|
|
|
|
public int saveStaff(StaffSearchParam param) {
|
|
|
|
|
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
|
|
|
|
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
|
|
|
|
checkRequired(staffPO);
|
|
|
|
|
return getStaffMapper().insertIgnoreNull(staffPO);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -95,7 +97,7 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|
|
|
|
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
|
|
|
|
StaffPO staffByID = getStaffMapper().getStaffByID(param.getId());
|
|
|
|
|
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
|
|
|
|
|
|
|
|
|
checkRequired(staffPO);
|
|
|
|
|
Integer changeNum = param.getChangeNum();
|
|
|
|
|
if (null == changeNum) {
|
|
|
|
|
// 插入明细表数据
|
|
|
|
@ -228,20 +230,26 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|
|
|
|
planIdItemBean.setReplaceDatas(planIdMaps);
|
|
|
|
|
planIdItem.setBrowserConditionParam(planIdItemBean);
|
|
|
|
|
|
|
|
|
|
BrowserBean compIdItemBean = compIdItem.getBrowserConditionParam();
|
|
|
|
|
List<Map<String, Object>> compIdMaps = getCompMapper().listCompsByIds(DeleteParam.builder().ids(staffPO.getCompId().toString()).build().getIds());
|
|
|
|
|
compIdItemBean.setReplaceDatas(compIdMaps);
|
|
|
|
|
compIdItem.setBrowserConditionParam(compIdItemBean);
|
|
|
|
|
|
|
|
|
|
BrowserBean deptIdItemBean = deptIdItem.getBrowserConditionParam();
|
|
|
|
|
List<Map<String, Object>> deptIdMaps = getDepartmentMapper().listDeptsByIds(DeleteParam.builder().ids(staffPO.getDeptId().toString()).build().getIds());
|
|
|
|
|
deptIdItemBean.setReplaceDatas(deptIdMaps);
|
|
|
|
|
deptIdItem.setBrowserConditionParam(deptIdItemBean);
|
|
|
|
|
|
|
|
|
|
BrowserBean jobIdItemBean = jobIdItem.getBrowserConditionParam();
|
|
|
|
|
List<Map<String, Object>> jobIdMaps = getJobMapper().listJobsByIds(DeleteParam.builder().ids(staffPO.getJobId().toString()).build().getIds());
|
|
|
|
|
jobIdItemBean.setReplaceDatas(jobIdMaps);
|
|
|
|
|
jobIdItem.setBrowserConditionParam(jobIdItemBean);
|
|
|
|
|
if (null != staffPO.getCompId()) {
|
|
|
|
|
BrowserBean compIdItemBean = compIdItem.getBrowserConditionParam();
|
|
|
|
|
List<Map<String, Object>> compIdMaps = getCompMapper().listCompsByIds(DeleteParam.builder().ids(staffPO.getCompId().toString()).build().getIds());
|
|
|
|
|
compIdItemBean.setReplaceDatas(compIdMaps);
|
|
|
|
|
compIdItem.setBrowserConditionParam(compIdItemBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (null != staffPO.getDeptId()) {
|
|
|
|
|
BrowserBean deptIdItemBean = deptIdItem.getBrowserConditionParam();
|
|
|
|
|
List<Map<String, Object>> deptIdMaps = getDepartmentMapper().listDeptsByIds(DeleteParam.builder().ids(staffPO.getDeptId().toString()).build().getIds());
|
|
|
|
|
deptIdItemBean.setReplaceDatas(deptIdMaps);
|
|
|
|
|
deptIdItem.setBrowserConditionParam(deptIdItemBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (null != staffPO.getJobId()) {
|
|
|
|
|
BrowserBean jobIdItemBean = jobIdItem.getBrowserConditionParam();
|
|
|
|
|
List<Map<String, Object>> jobIdMaps = getJobMapper().listJobsByIds(DeleteParam.builder().ids(staffPO.getJobId().toString()).build().getIds());
|
|
|
|
|
jobIdItemBean.setReplaceDatas(jobIdMaps);
|
|
|
|
|
jobIdItem.setBrowserConditionParam(jobIdItemBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
staffNumItem.setValue(staffPO.getStaffNum());
|
|
|
|
|
controlPolicyItem.setValue(staffPO.getControlPolicy() + "");
|
|
|
|
@ -353,4 +361,31 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|
|
|
|
return sqlWhere;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 校验必填字段
|
|
|
|
|
*
|
|
|
|
|
* @param staffPO
|
|
|
|
|
*/
|
|
|
|
|
private void checkRequired(StaffPO staffPO) {
|
|
|
|
|
// 根据维度、校验必填字段
|
|
|
|
|
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
|
|
|
|
|
switch (staffPlanByID.getControlDimension()) {
|
|
|
|
|
case "1":// 分部
|
|
|
|
|
OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择分部时,分部必填!");
|
|
|
|
|
break;
|
|
|
|
|
case "2":// 部门
|
|
|
|
|
OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择部门时,分部必填!");
|
|
|
|
|
OrganizationAssert.notNull(staffPO.getDeptId(), "编制维度选择部门时,部门必填!");
|
|
|
|
|
break;
|
|
|
|
|
case "3": // 岗位
|
|
|
|
|
OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择岗位时,分部必填!");
|
|
|
|
|
OrganizationAssert.notNull(staffPO.getDeptId(), "编制维度选择岗位时,部门必填!");
|
|
|
|
|
OrganizationAssert.notNull(staffPO.getJobId(), "编制维度选择岗位时,岗位必填!");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|