批量分配

批量分配网页将当前所有网页删除时的处理方法

修改测试任务将测试所包含的网页全部去掉提交空的网页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){[雨林木风1] 

           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);

      

    }


 [雨林木风1]判断新添加的网页列表是否为空,若为空则无需进行下一步操作,否则将其一一放入测试员现分配的网页列表中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值