人员与OA绑定增加定时任务
This commit is contained in:
parent
f40ad039b7
commit
1e95e9940d
|
@ -48,6 +48,9 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin {
|
||||||
//更新启用状态分配规则专用为禁用
|
//更新启用状态分配规则专用为禁用
|
||||||
private static final String updateDisable = "update t_sec_user set fk_qeug_disable=2179899908641806336 where fenable='0' and fk_qeug_disable=0;";
|
private static final String updateDisable = "update t_sec_user set fk_qeug_disable=2179899908641806336 where fenable='0' and fk_qeug_disable=0;";
|
||||||
|
|
||||||
|
//更新人员绑定OA成功的标记
|
||||||
|
private static final String updateFlag = "update t_sec_user set fk_qeug_flag='1' where fnumber=?;";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||||
OkHttpClient client = new OkHttpClient();
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
@ -242,8 +245,12 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin {
|
||||||
}
|
}
|
||||||
if(addList.size() > 0){
|
if(addList.size() > 0){
|
||||||
UserServiceHelper.add(addList);
|
UserServiceHelper.add(addList);
|
||||||
List<DynamicObject> userinfos = new ArrayList<>();
|
List<DynamicObject> userinfos = new ArrayList<>(1);
|
||||||
DynamicObject userinfo = null;
|
DynamicObject userinfo = null;
|
||||||
|
String billNo = "person-new-bid";
|
||||||
|
String thirdPostjson;//OA绑定返回结果
|
||||||
|
JSONObject jsonObject;//OA绑定返回结果json对象
|
||||||
|
String oaToken = OAUtils.getOaToken(billNo);
|
||||||
//判断执行结果
|
//判断执行结果
|
||||||
for (UserParam result : addList) {
|
for (UserParam result : addList) {
|
||||||
if (!result.isSuccess()) {
|
if (!result.isSuccess()) {
|
||||||
|
@ -252,27 +259,30 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin {
|
||||||
userinfo = BusinessDataServiceHelper.newDynamicObject(entityName);;
|
userinfo = BusinessDataServiceHelper.newDynamicObject(entityName);;
|
||||||
userinfo.set("number",result.getDataMap().get("number"));//人员编号
|
userinfo.set("number",result.getDataMap().get("number"));//人员编号
|
||||||
userinfo.set("name",result.getDataMap().get("name"));//人员姓名
|
userinfo.set("name",result.getDataMap().get("name"));//人员姓名
|
||||||
|
userinfos.clear();
|
||||||
userinfos.add(userinfo);
|
userinfos.add(userinfo);
|
||||||
|
if (!DobeDWUtils.isEmpty(oaToken)) {
|
||||||
|
thirdPostjson = OAUtils.thirdpartyUser(userinfos, oaToken, billNo);
|
||||||
|
//处理OA绑定结果,将处理成功的人员打上标记
|
||||||
|
if (!DobeDWUtils.isEmpty(thirdPostjson)) {
|
||||||
|
jsonObject = JSONObject.parseObject(thirdPostjson);
|
||||||
|
if(jsonObject.getBoolean("success")){
|
||||||
|
DB.update(DBRoute.of("sys"), updateFlag, new Object[]{userinfo.getString("number")});
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
log.info("OA绑定返回值为空,人员编号"+userinfo.getString("number"));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//处理OA人员绑定
|
//批量处理OA人员绑定
|
||||||
if(userinfos.size() > 0){
|
// if(userinfos.size() > 0){
|
||||||
String billNo = "person-new-bid";
|
// //获取token
|
||||||
//获取token
|
// String oaToken = OAUtils.getOaToken(billNo);
|
||||||
String oaToken = OAUtils.getOaToken(billNo);
|
// if (!DobeDWUtils.isEmpty(oaToken)) {
|
||||||
if (!DobeDWUtils.isEmpty(oaToken)) {
|
// OAUtils.thirdpartyUser(userinfos, oaToken, billNo);
|
||||||
OAUtils.thirdpartyUser(userinfos, oaToken, billNo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// if(updateList.size() > 0){
|
|
||||||
// UserServiceHelper.update(updateList);
|
|
||||||
// //判断执行结果
|
|
||||||
// for (UserParam result : updateList) {
|
|
||||||
// if (!result.isSuccess()) {
|
|
||||||
// log.info(String.format("人员修改异常:%s", result.getMsg()));
|
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
package shkd.repc.task;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import kd.bos.context.RequestContext;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.db.DB;
|
||||||
|
import kd.bos.db.DBRoute;
|
||||||
|
import kd.bos.exception.KDException;
|
||||||
|
import kd.bos.logging.Log;
|
||||||
|
import kd.bos.logging.LogFactory;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.schedule.executor.AbstractTask;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
import shkd.utils.DobeDWUtils;
|
||||||
|
import shkd.utils.OAUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 金蝶人员与OA用户绑定后台任务插件 yxl 20250409
|
||||||
|
*/
|
||||||
|
public class DobePersonOARealtionTask extends AbstractTask implements Plugin {
|
||||||
|
|
||||||
|
private static final String entityName = "bos_user";//系统库 表名 t_sec_user
|
||||||
|
|
||||||
|
private static Log logger = LogFactory.getLog(DobePersonOARealtionTask.class);
|
||||||
|
//更新人员绑定OA成功的标记
|
||||||
|
private static final String updateFlag = "update t_sec_user set fk_qeug_flag='1' where fnumber=?;";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||||
|
//查找未绑定成功的人员
|
||||||
|
QFilter dwFilter = new QFilter("source", QCP.equals, "dw");
|
||||||
|
QFilter enableFilter = new QFilter("qeug_flag", QCP.equals, "0");
|
||||||
|
DynamicObject[] dos = BusinessDataServiceHelper.load(entityName,"id,number,name",new QFilter[]{dwFilter.and(enableFilter)});
|
||||||
|
if(dos.length > 0){
|
||||||
|
logger.info("本次需要绑定用户个数"+dos.length);
|
||||||
|
DynamicObject userinfo;
|
||||||
|
List<DynamicObject> userinfos = new ArrayList<>(1);
|
||||||
|
String thirdPostjson;//OA绑定返回结果
|
||||||
|
JSONObject jsonObject;//OA绑定返回结果json对象
|
||||||
|
String billNo = "person-task-bid";
|
||||||
|
//获取token,调用OA人员绑定接口
|
||||||
|
String oaToken = OAUtils.getOaToken(billNo);
|
||||||
|
for (int i = 0; i < dos.length; i++) {
|
||||||
|
userinfo = dos[i];
|
||||||
|
userinfos.clear();
|
||||||
|
userinfos.add(userinfo);
|
||||||
|
if (!DobeDWUtils.isEmpty(oaToken)) {
|
||||||
|
thirdPostjson = OAUtils.thirdpartyUser(userinfos, oaToken, billNo);
|
||||||
|
//处理OA绑定结果,将处理成功的人员打上标记
|
||||||
|
if (!DobeDWUtils.isEmpty(thirdPostjson)) {
|
||||||
|
jsonObject = JSONObject.parseObject(thirdPostjson);
|
||||||
|
if(jsonObject.getBoolean("success")){
|
||||||
|
DB.update(DBRoute.of("sys"), updateFlag, new Object[]{userinfo.getString("number")});
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
logger.info("OA绑定返回值为空,人员编号"+userinfo.getString("number"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
logger.info("现有用户已全部绑定,无需处理");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue