关于上级机构的冲突性测试bug修复

发表于:2018-8-22 15:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:半仙_忆    来源:博客园

  描述:
  1.上级机构可以为空。
  2.机构添加时,选择了上级机构,在未提交前,另一用户将该机构删除,然后前一用户再提交表单,提示会保存成功,本操作应该保存失败。
  思路:在上级机构不为空时,保存前进行查询判断,如果保存前一刻查询该机构存在则可以保存成功,否则保存提示“保存失败,请检查机构是否存在,再重试!”;
  @RequiresPermissions("sys:office:edit")
  @RequestMapping(value = "save")
  public String save(Office office, Model model, RedirectAttributes redirectAttributes) {
  if(Global.isDemoMode()){
  addMessage(redirectAttributes, "演示模式,不允许操作!");
  return "redirect:" + adminPath + "/sys/office/";}
  if (!beanValidator(model, office)){
  return form(office, model);
  }
  if("".equals(office.getParent().getName())){
  officeService.save(office);
  if(office.getChildDeptList()!=null){
  Office childOffice = null;
  for(String id : office.getChildDeptList()){
  childOffice = new Office();
  childOffice.setName(DictUtils.getDictLabel(id, "sys_office_common", "未知"));
  childOffice.setParent(office);
  childOffice.setArea(office.getArea());
  childOffice.setType("2");
  childOffice.setGrade(String.valueOf(Integer.valueOf(office.getGrade())+1));
  childOffice.setUseable(Global.YES);
  officeService.save(childOffice);
  }
  }
  addMessage(redirectAttributes, "保存机构'" + office.getName() + "'成功");
  }else{
  //        if(!("".equals(office.getParent().getName()))){//添加下级机构
  int m = officeService.findByParentId(office.getParent().getName());
  if(m==0){
  addMessage(redirectAttributes, "保存失败,请检查机构是否存在,再重试!" );
  }else{
  officeService.save(office);
  if(office.getChildDeptList()!=null){
  Office childOffice = null;
  for(String id : office.getChildDeptList()){
  childOffice = new Office();
  childOffice.setName(DictUtils.getDictLabel(id, "sys_office_common", "未知"));
  childOffice.setParent(office);
  childOffice.setArea(office.getArea());
  childOffice.setType("2");
  childOffice.setGrade(String.valueOf(Integer.valueOf(office.getGrade())+1));
  childOffice.setUseable(Global.YES);
  officeService.save(childOffice);
  }
  }
  addMessage(redirectAttributes, "保存机构'" + office.getName() + "'成功");
  }
  }
  String id = "0".equals(office.getParentId()) ? "" : office.getParentId();
  return "redirect:" + adminPath + "/sys/office/forlist?id="+id+"&parentIds="+office.getParentIds();
  }

  上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号