diff --git a/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWorgTask.java b/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWorgTask.java index 27b3605..b49590a 100644 --- a/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWorgTask.java +++ b/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWorgTask.java @@ -50,7 +50,7 @@ public class DobeDWorgTask extends AbstractTask implements Plugin { try { response = client.newCall(request).execute(); resultData = response.body().string(); - log.info("组织接口返回结果:\n{}", resultData); +// log.info("组织接口返回结果:\n{}", resultData); } catch (IOException e) { log.info(String.format("组织接口异常:%s", e.getMessage())); throw new RuntimeException(e); @@ -72,7 +72,7 @@ public class DobeDWorgTask extends AbstractTask implements Plugin { try { response = client.newCall(request).execute(); resultData = response.body().string(); - log.info("组织接口返回结果:\n{}", resultData); +// log.info("组织接口返回结果:\n{}", resultData); } catch (IOException e) { log.info(String.format("组织接口异常:%s", e.getMessage())); throw new RuntimeException(e); diff --git a/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWpersonTask.java b/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWpersonTask.java index a78efd9..d2f267e 100644 --- a/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWpersonTask.java +++ b/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/bamp/base/task/DobeDWpersonTask.java @@ -8,10 +8,13 @@ import kd.bos.dataentity.entity.DynamicObject; 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.permission.model.UserParam; 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.user.UserServiceHelper; import kd.sdk.plugin.Plugin; import okhttp3.OkHttpClient; @@ -47,7 +50,7 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin { try { response = client.newCall(request).execute(); resultData = response.body().string(); - log.info("人员接口返回结果:\n{}", resultData); +// log.info("人员接口返回结果:\n{}", resultData); } catch (IOException e) { log.info(String.format("人员接口异常:%s", e.getMessage())); throw new RuntimeException(e); @@ -55,7 +58,8 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin { JSONObject json_body = JSON.parseObject(resultData); //接口返回的数据进行了分页 int totalNum = json_body.getIntValue("totalNum");//分页-SQL查询总数据量 - handleUser(json_body); + List exprtNumber = new ArrayList<>();//存储此次入参的所有工号,用于后续排除 + handleUser(json_body,exprtNumber); int queryCount = DobeDWUtils.getQueryCount(totalNum); if(queryCount > 1){ //查询次数不止一次,需要分页查询 @@ -68,18 +72,32 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin { try { response = client.newCall(request).execute(); resultData = response.body().string(); - log.info("人员接口返回结果:\n{}", resultData); +// log.info("人员接口返回结果:\n{}", resultData); } catch (IOException e) { log.info(String.format("人员接口异常:%s", e.getMessage())); throw new RuntimeException(e); } json_body = JSON.parseObject(resultData); - handleUser(json_body); + handleUser(json_body,exprtNumber); } } + //处理离职人员 + QFilter exprtFilter = new QFilter("number", QCP.not_in, exprtNumber); + QFilter dwFilter = new QFilter("source", QCP.equals, "dw"); + DynamicObject[] dos = BusinessDataServiceHelper.load("bos_user","id,enable,isforbidden",new QFilter[]{exprtFilter.and(dwFilter)}); + if(dos.length > 0){ + DynamicObject currentUser = null; + for (int i = 0; i < dos.length; i++) { + currentUser = dos[i]; + currentUser.set("enable", "0");//人员禁用 + currentUser.set("isforbidden", true);//用户禁用 + } + //保存数据:直接保存入库,不走操作校验 + SaveServiceHelper.save(dos); + } } - private void handleUser(JSONObject json_body) { + private void handleUser(JSONObject json_body,List exprtNumber) { //解析接口返回值,与系统数据比较 JSONArray detailsJson = json_body.getJSONArray("data"); String userID = null; @@ -110,6 +128,7 @@ public class DobeDWpersonTask extends AbstractTask implements Plugin { log.info(String.format("人员入参为空异常:%s", json_body.toJSONString())); continue; } + exprtNumber.add(number); currentUser = QueryServiceHelper.queryOne(entityName,"id,number,name",new QFilter[]{new QFilter("number","=",number)}); user = new UserParam();//常用或者重要的参数,详情请查看参数对象UserParam dataMap = new HashMap<>(); diff --git a/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/utils/DobeDWUtils.java b/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/utils/DobeDWUtils.java index ba76a66..bf60ad3 100644 --- a/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/utils/DobeDWUtils.java +++ b/fi/fi/shkd-fi-fi-plugin/src/main/java/shkd/utils/DobeDWUtils.java @@ -70,7 +70,7 @@ public class DobeDWUtils { ps.add(psjson); json_body.put("params",ps); }else{ - json_body.put("params","[]"); + json_body.put("params",new JSONArray()); } return RequestBody.create(ByteString.encodeUtf8(json_body.toJSONString()), MTJSON);