批量分配网页将当前所有网页删除时的处理方法
修改测试任务将测试所包含的网页全部去掉提交空的网页List时存在bug,完成bug修复并测试正常;
/**
* 完成批量的分配网页
* @param principalId
* @param projectionId
*/
@Transactional(propagation=Propagation.REQUIRED, readOnly = false)
public void batchCompleteDeliveryPage(Long testId, Long[] pageId){
//获取该测试员者本测试任务已拥有的测试网页列表
List<TestToPage> pages = this.getNotOverTestPage(testId);
List<Long> idList= new ArrayList<Long>();//测试员原有的网页
List<Long> newIdList= new ArrayList<Long>();//测试员现分配的网页
String timeStr=DateFormatUtils.format(Calendar.getInstance(), "yyyy-MM-dd HH:mm:ss");
for(TestToPage page:pages){
idList.add(page.getPage().getId());
}
if(pageId!=null && pageId.length>0){
for(int i=0;i< pageId.length();i++){
newIdList.add(pageId[i]);
}
}
//从现有网页List移除保持不变的,得出需要被移除的网页
List<Long> removeIdList = ListUtil.removeAll(idList, newIdList);//需要被移除的网页
//从现有的分配网页里面移除测试任务原有的网页,得出需要添加入测试任务的网页
List<Long> addIdList = ListUtil.removeAll(newIdList, idList);//需要被添加的网页
Test test = testerDAOImpl.getTestInforById(testId);
//移除所有需要被移除的网页
for(TestToPage tpage:pages){
if(removeIdList.contains(tpage.getPage().getId())){
Page page=testerDAOImpl.getPage(tpage.getPage().getId());
page.setStatus(0);
page.setUpdatedTime(timeStr);
testerDAOImpl.updatePage(page);
testerDAOImpl.deleteTestPage(tpage);
test.setUpdatedTime(timeStr);
}
}
//添加所有需要别分配的网页
for(Long id: addIdList){
Page page=testerDAOImpl.getPage(id);
page.setStatus(1);
test.setUpdatedTime(timeStr);
TestToPage tpage=new TestToPage();
tpage.setPage(page);
tpage.setTest(test);
testerDAOImpl.addTestPage(tpage);
}
testerDAOImpl.updateTest(test);
}
分享到:
相关推荐
"pantha-batch-assignment:黑豹批量分配"是一个基于Java技术的批量处理项目,它旨在提高数据处理的效率和自动化程度。在IT行业中,批量处理通常用于处理大量的数据,如数据库导入导出、文件处理或业务逻辑的批量执行...
一个非常简单的机器人,用于根据不和谐的用户标签列表为不和谐的成员批量分配角色。 设置 安装并确保NPM可用于命令行 创建文件bot.json的副本并将其重命名为bot.prod.json 创建一个新的不和谐应用程序。 导航到...
批量分配和适度的帆布测验 该存储库包含3个主要脚本: Assign_quiz:将学生列表分配给各自的画布作业和测验。 medium_quiz:为画布测验中的学生列表增加了额外的时间。 edit_override:用于在作业替代中添加或...
使用matlab代码生成带有内部气腔的批量分配伪CT(pCT)。 该代码旨在将最初生产的pCT与商业解决方案集成在一起。 该方法的描述已在Maspero等人(2017年)中进行了介绍,已被发表在《物理与医学物理学》(2017年)中...
本文介绍的是微软域和AD域的计算机统一安装软件 域用户安装软件域客户端PC批量分配自动安装软件,需要的朋不妨阅读本文进行参考
4. **商品属性管理**:包括颜色、尺寸等选择项,可以批量分配给商品,简化了有多个变体的商品的管理。 5. **多语言支持**:对于多语言的Zencart店铺,插件也允许商家同时批量上传不同语言版本的商品信息。 6. **...
为了进一步优化批量分配,文章暗示存在一种简单的数学方法,但并未具体展开。这可能涉及到更复杂的库存控制策略,如多周期订货、再订购点法或模拟优化算法,它们能更精确地匹配需求和库存成本。 总的来说,库存管理...
这种模型简化了权限管理,同时也方便了权限的批量分配和调整。 在"用户个人权限分配"的设计中,每个用户可以根据其工作需求和个人偏好拥有独特的权限设置,这增强了系统的灵活性。例如,一个财务部门的用户可能被...
第三个功能为床位分配,也是我专门负责的板块,功能包括预分配床位给院系、院系预分床位浏览、床位分配(指定)、床位分配(随机)、批量分配(连续编号)、批量分配(设置条件)、舍长指派、未分配床位学生查询、床位调整、...
- **批量操作**:支持批量分配、撤销分配等操作,提高管理效率。 综上所述,基于Java的宿舍管理系统,特别是宿舍分配系统,是一个涉及多方面技术和管理策略的综合性工程。通过合理的架构设计和高效的数据处理,可以...
组可以包含多个用户,方便权限的批量分配。 1.4 用户分配到组 用户分配到组后,组内的所有用户将自动获得该组的权限。这样,管理员只需对组进行权限设置,而无需逐个用户操作,提高了效率。 1.5 模块文件夹创建 ...
它允许管理员集中管理所有设备上的防病毒设置,包括批量分配和激活key。这需要通过官方渠道购买并注册,确保所有操作都在合法范围内进行。 此外,卡巴斯基还提供免费试用版和教育优惠,用户可以通过官方渠道申请。...
- **性能提升**:通过批量分配和释放内存,减少了系统调用的次数,提高了内存操作的效率。 - **内存碎片减少**:内存池中的内存块大小固定,减少了因频繁分配和释放不同大小内存导致的碎片问题。 - **更好的资源控制...
2. **权限设置**:当团队成员变动时,可以批量分配或取消分配权限,如修改问题、查看敏感信息等。 3. **标签添加**:为一系列相关问题添加共同的标签,便于分类和搜索。 4. **关联问题**:将多个相关问题批量关联...
【题目】学生宿舍管理系统 考查点:线性结构、文件操作 注意:必须使用文件存储数据,不得使用数据库管理系统。...批量分配?鼓励创新。 调换宿舍:实现一个学生调换宿舍操作以及两个同性学生互换宿
毕业设计,基于SpringBoot+Vue+深度学习+MySql开发的前后端分离的人脸识别考勤系统,内含...人员管理基本完成 人员管理包括学生管理、教师管理,包含学院组织树,学生教师列表,新增,编辑,批量删除,批量分配系统权限
用户组管理是权限控制的一种有效方式,便于批量分配和管理权限。 “权限分配”是指系统具备权限控制功能,能够对用户或用户组进行细粒度的权限设置,如访问、创建、编辑、删除等操作权限。这通常通过RBAC(Role-...
4. 批量分配用户到特定的组,实现权限控制。 5. 批量删除不再需要的账户。 6. 导入导出AD对象,便于数据备份和迁移。 7. 应用组策略,统一配置用户环境。 了解并熟练使用ADBulkAdmin这样的工具,对于提高AD域的管理...