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/src/com/engine/organization/wrapper/JobWrapper.java

238 lines
7.7 KiB
Java

3 years ago
package com.engine.organization.wrapper;
import com.alibaba.fastjson.JSON;
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
3 years ago
import com.engine.common.util.ServiceUtil;
import com.engine.organization.annotation.Log;
import com.engine.organization.entity.DeleteParam;
import com.engine.organization.entity.job.param.JobCopyParam;
import com.engine.organization.entity.job.param.JobMergeParam;
import com.engine.organization.entity.job.param.JobSearchParam;
import com.engine.organization.entity.job.po.JobPO;
3 years ago
import com.engine.organization.entity.searchtree.SearchTreeParams;
import com.engine.organization.enums.LogModuleNameEnum;
import com.engine.organization.enums.OperateTypeEnum;
import com.engine.organization.mapper.job.JobMapper;
3 years ago
import com.engine.organization.service.JobService;
import com.engine.organization.service.impl.JobServiceImpl;
import com.engine.organization.util.MenuBtn;
import com.engine.organization.util.OrganizationFormItemUtil;
import com.engine.organization.util.OrganizationWrapper;
import com.engine.organization.util.db.MapperProxyFactory;
import com.engine.organization.util.response.ReturnResult;
3 years ago
import weaver.hrm.User;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
3 years ago
/**
3 years ago
* @description:
3 years ago
* @author:dxfeng
* @createTime: 2022/05/27
* @version: 1.0
*/
public class JobWrapper extends OrganizationWrapper {
3 years ago
private JobService getJobService(User user) {
return ServiceUtil.getService(JobServiceImpl.class, user);
}
private JobMapper getJobMapper() {
return MapperProxyFactory.getProxy(JobMapper.class);
}
/**
*
*
* @param params
* @return
*/
3 years ago
public Map<String, Object> getSearchTree(SearchTreeParams params) {
return getJobService(user).getSearchTree(params);
}
/**
*
*
* @param param
* @return
*/
public Map<String, Object> listPage(JobSearchParam param) {
return getJobService(user).listPage(param);
}
/**
*
*
* @return
*/
public Map<String, List<MenuBtn>> getHasRight() {
return getJobService(user).getHasRight();
}
/**
*
*
* @return
*/
public Map<String, Object> getSearchCondition() {
return getJobService(user).getSearchCondition();
}
/**
*
*
* @return
*/
public Map<String, Object> getSaveForm(JobSearchParam param) {
return getJobService(user).getSaveForm(param);
}
/**
*
*
* @param params
* @return
*/
public Map<String, Object> getJobBaseForm(Map<String, Object> params) {
return getJobService(user).getJobBaseForm(params);
}
/**
*
*
* @param params
* @return
*/
@Log(operateType = OperateTypeEnum.ADD, operateModule = LogModuleNameEnum.JOB, operateDesc = "新增岗位")
public Long saveBaseForm(Map<String, Object> params) {
Long jobId = getJobService(user).saveBaseForm(params);
JobPO jobPO = getJobMapper().getJobById(jobId);
writeOperateLog(new Object() {
}.getClass(), jobPO.getJobTitleName(), JSON.toJSONString(params), "新增岗位");
return jobId;
}
/**
*
*
* @param params
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位")
public Long updateForm(Map<String, Object> params) {
long id = Long.parseLong(params.get("id").toString());
JobPO jobById = getJobMapper().getJobById(id);
Long jobId = getJobService(user).updateForm(params);
JobPO newJobById = getJobMapper().getJobById(id);
writeOperateLog(new Object() {
}.getClass(), jobById.getJobTitleName(), JSON.toJSONString(params), jobById, newJobById);
// 更新组织架构图
return jobId;
}
/**
*
*
* @param param
* @return
*/
@Log(operateType = OperateTypeEnum.COPY, operateModule = LogModuleNameEnum.JOB, operateDesc = "复制岗位")
public int copyJobItem(JobCopyParam param) {
List<JobPO> jobPOS = getJobMapper().getJobsByIds(DeleteParam.builder().ids(param.getIds()).build().getIds());
int copyJobItem = getJobService(user).copyJobItem(param.getIds(), param.getDepartment());
for (JobPO jobPO : jobPOS) {
writeOperateLog(new Object() {
}.getClass(), jobPO.getJobTitleName(), JSON.toJSONString(param), "复制岗位[" + jobPO.getJobTitleName() + "]");
}
return copyJobItem;
}
/**
*
*
* @param params
* @return
*/
@Log(operateType = OperateTypeEnum.UPDATE, operateModule = LogModuleNameEnum.JOB, operateDesc = "更新岗位禁用标识")
public int updateForbiddenTagById(JobSearchParam params) {
JobPO jobById = getJobMapper().getJobById(params.getId());
int updateForbiddenTagById = getJobService(user).updateForbiddenTagById(params);
JobPO newJobById = getJobMapper().getJobById(params.getId());
writeOperateLog(new Object() {
}.getClass(), jobById.getJobNo(), JSON.toJSONString(params), jobById, newJobById);
// 更新组织架构图
//TODO new Thread(new JobTriggerRunnable(jobById, newJobById)).start();
return updateForbiddenTagById;
}
/**
* ID
*
* @param ids
* @return
*/
@Log(operateType = OperateTypeEnum.DELETE, operateModule = LogModuleNameEnum.JOB, operateDesc = "删除岗位")
public int deleteByIds(Collection<Long> ids) {
List<JobPO> jobPOS = getJobMapper().getJobsByIds(ids);
int deleteByIds = getJobService(user).deleteByIds(ids);
for (JobPO jobPO : jobPOS) {
writeOperateLog(new Object() {
}.getClass(), jobPO.getJobTitleName(), JSON.toJSONString(ids), "删除岗位");
// 更新组织架构图
// TODO new JobTriggerRunnable(jobPO).run();
}
return deleteByIds;
}
/**
*
*
* @return
*/
public ReturnResult getCopyForm() {
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> condition = new ArrayList<>();
3 years ago
SearchConditionItem deptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 3, false, "复制到", "4", "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<String, Object> hrmListByJobId = getJobService(user).getHrmListByJobId(jobId);
return ReturnResult.successed(hrmListByJobId);
}
3 years ago
public List<SearchConditionGroup> getMergeForm(Long id) {
return getJobService(user).getMergeForm(id);
}
@Log(operateType = OperateTypeEnum.MERGE, operateModule = LogModuleNameEnum.JOB, operateDesc = "合并岗位")
public int mergeJob(JobMergeParam mergeParam) {
JobPO jobById = getJobMapper().getJobById(mergeParam.getId());
int mergeJob = getJobService(user).mergeJob(mergeParam);
writeOperateLog(new Object() {
}.getClass(), jobById.getJobNo(), JSON.toJSONString(mergeParam), jobById, getJobMapper().getJobById(mergeParam.getId()));
return mergeJob;
}
public void refresh() {
getJobService(user).refresh();
}
3 years ago
}