岗位自动任务
This commit is contained in:
parent
eaf7329bf0
commit
373519684d
|
@ -0,0 +1,25 @@
|
|||
package shkd.cosmic.cxkg.task.DTO;
|
||||
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
|
||||
/**
|
||||
* @projectName: shkd-cosmic-root-project
|
||||
* @package: shkd.cosmic.cxkg.task.DTO
|
||||
* @className: Query
|
||||
* @author: wenyx
|
||||
* @description: TODO
|
||||
* @date: 2024/5/9 16:06
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class Query {
|
||||
@JSONField(name = "params")
|
||||
private QueryDTO queryDTO;
|
||||
|
||||
public QueryDTO getQueryDTO() {
|
||||
return queryDTO;
|
||||
}
|
||||
|
||||
public void setQueryDTO(QueryDTO queryDTO) {
|
||||
this.queryDTO = queryDTO;
|
||||
}
|
||||
}
|
|
@ -4,69 +4,109 @@ import cn.hutool.http.HttpRequest;
|
|||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import kd.bos.context.RequestContext;
|
||||
import kd.bos.dataentity.OperateOption;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.exception.KDException;
|
||||
import kd.bos.org.model.OrgParam;
|
||||
import kd.bos.orm.ORM;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.schedule.executor.AbstractTask;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||
import shkd.cosmic.cxkg.task.DTO.Query;
|
||||
import shkd.cosmic.cxkg.task.DTO.QueryDTO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @projectName: shkd-cosmic-root-project
|
||||
* @package: shkd.cosmic.cxkg.task
|
||||
* @className: JobtitleTaskImpl
|
||||
* @author: wenyx
|
||||
* @description: TODO
|
||||
* @description: 获取岗位信息的定时任务
|
||||
* @date: 2024/5/7 16:09
|
||||
* @version: 1.0
|
||||
*/
|
||||
public class JobtitleTaskImpl {
|
||||
public class JobtitleTaskImpl extends AbstractTask {
|
||||
|
||||
private static int PAGESIZE = 20;
|
||||
private static final int PAGESIZE = 20;
|
||||
private int CURPAGE = 1;
|
||||
|
||||
public void getJobtitleInfo(){
|
||||
/**
|
||||
* 获取岗位信息
|
||||
*/
|
||||
public void getJobtitleInfo() {
|
||||
try {
|
||||
QFilter numberFilter = new QFilter("number", "=", "aurogp");
|
||||
DynamicObject bosAdminorg = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{numberFilter});
|
||||
|
||||
String oaUrl = System.getProperty("OaUrl");
|
||||
//一次请求20条
|
||||
QueryDTO queryDTO = new QueryDTO();
|
||||
queryDTO.setCurpage(CURPAGE);
|
||||
queryDTO.setPagesize(PAGESIZE);
|
||||
String s = JSON.toJSONString(queryDTO);
|
||||
String json = HttpRequest.post("http://"+oaUrl+"/api/hrm/resful/getHrmUserInfoWithPage")
|
||||
.body(s)
|
||||
.execute().body();
|
||||
String oaUrl = System.getProperty("OaUrl");
|
||||
|
||||
JSONObject jsonObject = JSONObject.parseObject(json);
|
||||
JSONObject data = jsonObject.getJSONObject("data");
|
||||
JSONArray dataList = data.getJSONArray("dataList");
|
||||
BigDecimal totalSize = jsonObject.getBigDecimal("totalSize");
|
||||
BigDecimal sise = new BigDecimal(PAGESIZE);
|
||||
//计算分多少页
|
||||
BigDecimal page = totalSize.divide(sise, 0, RoundingMode.UP); //一共多少页
|
||||
CURPAGE = page.intValue();
|
||||
QueryDTO queryDTO = new QueryDTO();
|
||||
queryDTO.setCurpage(1);
|
||||
queryDTO.setPagesize(2);
|
||||
Query query = new Query();
|
||||
query.setQueryDTO(queryDTO);
|
||||
String requestBody = JSON.toJSONString(query);
|
||||
String jsonResponse = HttpRequest.post("http://" + "10.157.226.9:8088" + "/api/hrm/resful/getHrmUserInfoWithPage")
|
||||
.body(requestBody)
|
||||
.execute().body();
|
||||
|
||||
queryDTO.setCurpage(CURPAGE);
|
||||
queryDTO.setPagesize(PAGESIZE);
|
||||
String s1 = JSON.toJSONString(queryDTO);
|
||||
String jsonString = HttpRequest.post("http://"+oaUrl+"/api/hrm/resful/getHrmUserInfoWithPage")
|
||||
.body(s1)
|
||||
.execute().body();
|
||||
JSONObject jsonObject = JSONObject.parseObject(jsonResponse);
|
||||
JSONObject data = jsonObject.getJSONObject("data");
|
||||
JSONArray dataList = data.getJSONArray("dataList");
|
||||
BigDecimal totalSize = jsonObject.getBigDecimal("totalSize");
|
||||
BigDecimal pageSizeDecimal = new BigDecimal(PAGESIZE);
|
||||
|
||||
JSONObject jsonObject1 = JSONObject.parseObject(jsonString);
|
||||
JSONObject data1 = jsonObject.getJSONObject("data");
|
||||
JSONArray dataList1 = data.getJSONArray("dataList");
|
||||
// 遍历解析结果
|
||||
for (int i = 0; i < dataList1.size(); i++) {
|
||||
JSONObject item = dataList.getJSONObject(i);
|
||||
String jobTitleName = item.getString("jobtitlename"); //岗位名称
|
||||
String created = item.getString("created"); //创建时间
|
||||
String modified = item.getString("modified"); //修改时间
|
||||
String id = item.getString("id"); //岗位ID
|
||||
// 计算总页数
|
||||
// BigDecimal totalPages = totalSize.divide(pageSizeDecimal, 0, RoundingMode.UP);
|
||||
// CURPAGE = totalPages.intValue();
|
||||
//
|
||||
// queryDTO.setCurpage(CURPAGE);
|
||||
// String nextRequestBody = JSON.toJSONString(queryDTO);
|
||||
//
|
||||
// String nextJsonResponse = HttpRequest.post("http://" + oaUrl + "/api/hrm/resful/getHrmUserInfoWithPage")
|
||||
// .body(nextRequestBody)
|
||||
// .execute().body();
|
||||
//
|
||||
// JSONObject nextJsonObject = JSONObject.parseObject(nextJsonResponse);
|
||||
// JSONObject nextData = nextJsonObject.getJSONObject("data");
|
||||
// JSONArray nextDataList = nextData.getJSONArray("dataList");
|
||||
|
||||
// 遍历解析结果
|
||||
for (int i = 0; i < dataList.size(); i++) {
|
||||
OperateOption option = OperateOption.create();
|
||||
JSONObject item = dataList.getJSONObject(i);
|
||||
String jobTitleName = item.getString("jobtitlename");
|
||||
String created = item.getString("created");
|
||||
String modified = item.getString("modified");
|
||||
String id = item.getString("id");
|
||||
String jobTitleMark = item.getString("jobtitlemark");
|
||||
String number = "0" + id;
|
||||
|
||||
ORM orm = ORM.create();
|
||||
DynamicObject job = orm.newDynamicObject("bos_position");
|
||||
|
||||
job.set("name", jobTitleName);
|
||||
job.set("dpt", bosAdminorg);
|
||||
job.set("remarks", jobTitleMark);
|
||||
job.set("enable", 1);
|
||||
|
||||
OperationServiceHelper.executeOperate("save", "bos_position", new DynamicObject[]{job}, option);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// 处理异常
|
||||
e.printStackTrace();
|
||||
// 可根据实际情况选择是否抛出异常或记录日志
|
||||
// throw new KDException("An error occurred while getting job title information.", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||
this.getJobtitleInfo();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue