组织禁用,项目增加日志保存
This commit is contained in:
parent
6bd349cc42
commit
b6bd171de6
|
@ -12,9 +12,12 @@ import kd.bos.logging.Log;
|
|||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.org.model.OrgDutyView;
|
||||
import kd.bos.org.model.OrgParam;
|
||||
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.bos.servicehelper.QueryServiceHelper;
|
||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
|
||||
import kd.bos.servicehelper.org.OrgViewType;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
@ -62,8 +65,13 @@ public class DobeDWorgTask extends AbstractTask implements Plugin {
|
|||
JSONObject json_body = JSON.parseObject(resultData);
|
||||
//接口返回的数据进行了分页
|
||||
int totalNum = json_body.getIntValue("totalNum");//分页-SQL查询总数据量
|
||||
List<String> exprtNumber = new ArrayList<>();//存储此次入参的所有编号,用于后续排除
|
||||
//解析接口返回值,与系统数据比较
|
||||
handleOrg(json_body);
|
||||
handleOrg(json_body,exprtNumber);
|
||||
//定时任务获取的参数和参数值是配置调度程序和作业的时候设置,根据参数值保存从数仓获取到的完整json
|
||||
if(map != null && "yes".equals(map.get("savedwjson"))){
|
||||
DobeDWUtils.saveLog("savedwjson1","组织接口",resultData,null,true,"定时任务");
|
||||
}
|
||||
int queryCount = DobeDWUtils.getQueryCount(totalNum);
|
||||
if(queryCount > 1){
|
||||
//查询次数不止一次,需要分页查询
|
||||
|
@ -82,7 +90,26 @@ public class DobeDWorgTask extends AbstractTask implements Plugin {
|
|||
throw new RuntimeException(e);
|
||||
}
|
||||
json_body = JSON.parseObject(resultData);
|
||||
handleOrg(json_body);
|
||||
handleOrg(json_body,exprtNumber);
|
||||
if(map != null && "yes".equals(map.get("savedwjson"))){
|
||||
DobeDWUtils.saveLog("savedwjson"+i,"组织接口",resultData,null,true,"定时任务");
|
||||
}
|
||||
}
|
||||
}
|
||||
//处理组织禁用
|
||||
QFilter exprtFilter = new QFilter("number", QCP.not_in, exprtNumber);
|
||||
QFilter enableFilter = new QFilter("enable", QCP.equals, "1");
|
||||
DynamicObject[] dos = BusinessDataServiceHelper.load(entityName,"id,number,fyzjorgid,enable",new QFilter[]{exprtFilter.and(enableFilter)});
|
||||
if(dos.length > 0){
|
||||
String yzjorgid;
|
||||
for (DynamicObject doinfo : dos) {
|
||||
yzjorgid = doinfo.getString("fyzjorgid");//保存数仓组织ID,不为空且剔除根节点的组织需要禁用
|
||||
if(!DobeDWUtils.isEmpty(yzjorgid) && !"900110458".equals(yzjorgid)){
|
||||
doinfo.set("enable", "0");//组织禁用
|
||||
//保存数据:直接保存入库,不走操作校验
|
||||
SaveServiceHelper.save(new DynamicObject[]{doinfo});
|
||||
log.info("组织禁用 "+doinfo.getString("number"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -101,7 +128,7 @@ public class DobeDWorgTask extends AbstractTask implements Plugin {
|
|||
return false;
|
||||
}
|
||||
|
||||
private void handleOrg(JSONObject json_body) {
|
||||
private void handleOrg(JSONObject json_body,List<String> exprtNumber) {
|
||||
JSONArray detailsJson = json_body.getJSONArray("data");
|
||||
// List<OrgParam> paramList = new ArrayList<>();
|
||||
OrgParam param = null;
|
||||
|
@ -130,6 +157,7 @@ public class DobeDWorgTask extends AbstractTask implements Plugin {
|
|||
log.info(String.format("组织入参为空异常:%s", json_body.toJSONString()));
|
||||
continue;
|
||||
}
|
||||
exprtNumber.add(orgNumber);
|
||||
//根据父级ID获取父级组织对象,组织的主数据id存在于星瀚组织的fyzjorgid字段中
|
||||
parentOrg = QueryServiceHelper.queryOne(entityName,"id,number,name",new QFilter[]{new QFilter("fyzjorgid","=",parentId)});
|
||||
if(parentOrg == null){
|
||||
|
|
|
@ -63,6 +63,10 @@ public class DobeDWprojectTask extends AbstractTask implements Plugin {
|
|||
//接口返回的数据进行了分页
|
||||
int totalNum = json_body.getIntValue("totalNum");//分页-SQL查询总数据量
|
||||
handleProject(json_body);
|
||||
//定时任务获取的参数和参数值是配置调度程序和作业的时候设置,根据参数值保存从数仓获取到的完整json
|
||||
if(map != null && "yes".equals(map.get("savedwjson"))){
|
||||
DobeDWUtils.saveLog("savedwjson1","项目接口",resultData,null,true,"定时任务");
|
||||
}
|
||||
int queryCount = DobeDWUtils.getQueryCount(totalNum);
|
||||
if(queryCount > 1){
|
||||
//查询次数不止一次,需要分页查询
|
||||
|
@ -81,9 +85,11 @@ public class DobeDWprojectTask extends AbstractTask implements Plugin {
|
|||
}
|
||||
json_body = JSON.parseObject(resultData);
|
||||
handleProject(json_body);
|
||||
if(map != null && "yes".equals(map.get("savedwjson"))){
|
||||
DobeDWUtils.saveLog("savedwjson"+i,"项目接口",resultData,null,true,"定时任务");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void handleProject(JSONObject json_body) {
|
||||
|
|
Loading…
Reference in New Issue