package com.engine.organization.wrapper; import com.alibaba.fastjson.JSON; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.job.param.JobMergeParam; import com.engine.organization.entity.job.param.JobSearchParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; import com.engine.organization.enums.OperateTypeEnum; import com.engine.organization.service.JobService; import com.engine.organization.service.impl.JobServiceImpl; import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.OrganizationWrapper; import com.engine.organization.util.response.ReturnResult; import weaver.hrm.User; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; /** * @description: * @author:dxfeng * @createTime: 2022/05/27 * @version: 1.0 */ public class JobWrapper extends OrganizationWrapper { private JobService getJobService(User user) { return ServiceUtil.getService(JobServiceImpl.class, user); } /** * 左侧树 * * @param params * @return */ public Map getSearchTree(SearchTreeParams params) { return getJobService(user).getSearchTree(params); } /** * 列表 * * @param param * @return */ public Map listPage(JobSearchParam param) { return getJobService(user).listPage(param); } /** * 顶部按钮 * * @return */ public Map getHasRight() { return getJobService(user).getHasRight(); } /** * 搜索条件 * * @return */ public Map getSearchCondition() { return getJobService(user).getSearchCondition(); } /** * 获取新增表单 * * @return */ public Map getSaveForm() { return getJobService(user).getSaveForm(); } /** * 获取详细表单 * * @param params * @return */ public Map getJobBaseForm(Map params) { return getJobService(user).getJobBaseForm(params); } /** * 保存基础信息 * * @param params * @return */ @Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.JOB, operateDesc = "新增岗位") public Long saveBaseForm(Map params) { Long jobId = getJobService(user).saveBaseForm(params); writeOperateLog(new Object() { }.getClass(), "新增岗位【" + JSON.toJSONString(params) + "】"); return jobId; } /** * 更新主表、拓展表、明细表 * * @param params * @return */ @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位信息") public Long updateForm(Map params) { Long jobId = getJobService(user).updateForm(params); writeOperateLog(new Object() { }.getClass(), "更新岗位信息【" + JSON.toJSONString(params) + "】"); return jobId; } /** * 复制岗位到指定部门 * * @param ids * @param department * @return */ @Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.JOB, operateDesc = "复制岗位到部门") public int copyJobItem(String ids, String department) { int copyJobItem = getJobService(user).copyJobItem(ids, department); writeOperateLog(new Object() { }.getClass(), "复制岗位到部门,岗位ID【" + ids + "】,部门ID【" + department + "】"); return copyJobItem; } /** * 更新禁用标识 * * @param params * @return */ @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位禁用标识") public int updateForbiddenTagById(JobSearchParam params) { int updateForbiddenTagById = getJobService(user).updateForbiddenTagById(params); writeOperateLog(new Object() { }.getClass(), "更新岗位禁用标识【" + JSON.toJSONString(params) + "】"); return updateForbiddenTagById; } /** * 根据ID批量删除 * * @param ids * @return */ @Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.JOB, operateDesc = "删除岗位信息") public int deleteByIds(Collection ids) { int deleteByIds = getJobService(user).deleteByIds(ids); writeOperateLog(new Object() { }.getClass(), "删除岗位信息【" + JSON.toJSONString(ids) + "】"); return deleteByIds; } /** * 获取复制表单 * * @return */ public ReturnResult getCopyForm() { List addGroups = new ArrayList<>(); List condition = new ArrayList<>(); SearchConditionItem deptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "复制到", "161", "department", "deptBrowser"); deptBrowserItem.setRules("required|string"); condition.add(deptBrowserItem); addGroups.add(new SearchConditionGroup("", true, condition)); return ReturnResult.successed(addGroups); } /** * 根据岗位获取人员 * * @param jobId * @return */ public ReturnResult getHrmListByJobId(Long jobId) { Map hrmListByJobId = getJobService(user).getHrmListByJobId(jobId); return ReturnResult.successed(hrmListByJobId); } public List getMergeForm() { return getJobService(user).getMergeForm(); } @Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "合并岗位") public int mergeJob(JobMergeParam mergeParam) { int mergeJob = getJobService(user).mergeJob(mergeParam); writeOperateLog(new Object() { }.getClass(), "合并岗位【" + JSON.toJSONString(mergeParam) + "】"); return mergeJob; } }