业务认领增加用户组处理逻辑

This commit is contained in:
yuxueliang0813 2025-08-14 11:26:26 +08:00
parent 745adf2b06
commit 362c23e82c
1 changed files with 18 additions and 2 deletions

View File

@ -13,8 +13,6 @@ import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin;
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
@ -29,6 +27,7 @@ import java.util.Map;
public class UnclaimedNoticeTask extends AbstractTask implements Plugin {
private static final String entityName = "cas_claimannounce";//认领中心-公告
private static final String UGName = "fbd_usergroup";//用户组-t_fbd_usergroup
//select * from t_cas_claimnoticebill where fbusinesstype='rec' and fclaimstatus='0'
private static final Log logger = LogFactory.getLog(UnclaimedNoticeTask.class);
@ -52,6 +51,8 @@ public class UnclaimedNoticeTask extends AbstractTask implements Plugin {
DynamicObjectCollection usercolls;
Map<String, List<DynamicObject>> userBills = new HashMap<>();//缓存用户和认领单的关系
String userid;
String groupid;
DynamicObject groupinfo;
List<DynamicObject> billlist;
for(DynamicObject dio : colls){
dio = BusinessDataServiceHelper.loadSingle(dio.getLong("id"),entityName);
@ -66,6 +67,21 @@ public class UnclaimedNoticeTask extends AbstractTask implements Plugin {
userBills.put(userid,billlist);
}
billlist.add(dio);
}else if("2".equals(userinfo.getString("claimtype"))){
//认领类别 是用户组 fbd_usergroup 根据组内的人员进行消息发送
groupid = userinfo.getString("claimtypeid");
groupinfo = BusinessDataServiceHelper.loadSingle(Long.parseLong(groupid),UGName);
//获得组内所有用户
DynamicObjectCollection ugss = groupinfo.getDynamicObjectCollection("entryentity");
for (DynamicObject uguinfo : ugss) {
userid = uguinfo.getString("userfield.id");
billlist = userBills.get(userid);
if(billlist == null){
billlist = new ArrayList<>();
userBills.put(userid,billlist);
}
billlist.add(dio);
}
}
}
}