执行人是一张表,现在我假如我数据库里有三个执行人,且带着是否完成的状态。我修改的时候要保持状态一致,且页面上随意变化随意勾选~但是页面上的执行人读的是组织表的数据。

解决方案 »

  1.   

    for (int i = 0; i < userCode.length; i++) {//循环页面上的用户code
    if (userCode[i] != null) {
    List list=salTaskBiz.findByTaskId(stId);//数据库里的数据
    for(int k=0;k<list.size();k++){
    TaLim taLim1=(TaLim)list.get(k);
    if(taLim1.getLimUser().getUserCode().equals(userCode[i])){
    //salTaskBiz.updateTaskMan(taLim);
    System.out.println("----------update执行人---------");
    break;
    }else{
    //salTaskBiz.delete(taLim1);
    flag=true;
    break;
    }
    }
    if(!flag){
    taLim.setTaIsdel("0");
    taLim.setLimUser(new LimUser(userCode[i]));
    salTaskBiz.saveTal(taLim);
    System.out.println("----------save执行人---------");
    break;
    }
    }
    }
      

  2.   

    那这也不是修改啊,不就是查询吗,
    根据条件查,把查到的放到一个List里,然后通过jsp便利出来不就行了吗。
      

  3.   

    源代码
    int count = Integer.parseInt(request.getParameter("count"));
    int count1 = Integer.parseInt(request.getParameter("count1"));
    String[] userCode = new String[count1];
    int n = 0;
    for (int i = 0; i < count; i++) {
    String[] code = request.getParameterValues("b" + i);
    if (code != null) {
    for (int j = 0; j < code.length; j++) {
    userCode[n++] = code[j];//获取页面上的userCode
    }
    }
    }
    boolean flag=false;
    TaLim taLim = new TaLim();
    taLim.setSalTask(salTask);
    if (n == 0) {
    List<LimUser> limUserList = empBiz.findAllUser();
    Iterator<LimUser> i = limUserList.iterator();
    while (i.hasNext()) {
    LimUser limUser3 = (LimUser) i.next();
    taLim.setLimUser(new LimUser(limUser3.getUserCode()));
    taLim.setTaIsdel("0");
    salTaskBiz.saveTal(taLim);
    System.out.println("----------3---------");
    }
    } else {
    for (int i = 0; i < userCode.length; i++) {//循环页面上的用户code
    if (userCode[i] != null) {
    List list=salTaskBiz.findByTaskId(stId);//数据库里的数据
    for(int k=0;k<list.size();k++){
    TaLim taLim1=(TaLim)list.get(k);
    if(taLim1.getLimUser().getUserCode().equals(userCode[i])){
    //salTaskBiz.updateTaskMan(taLim);
    System.out.println("----------update执行人---------");
    break;
    }else{
    //salTaskBiz.delete(taLim1);
    flag=true;
    break;
    }
    }
    if(!flag){
    taLim.setTaIsdel("0");
    taLim.setLimUser(new LimUser(userCode[i]));
    salTaskBiz.saveTal(taLim);
    System.out.println("----------save执行人---------");
    break;
    }
    }
    }
      

  4.   

    https://sh2.xtcrm.com/xcrm/desktop/action/
    上面的编辑任务里修改执行人功能~
      

  5.   

    https://sh2.xtcrm.com/xcrm/desktop/action/ 
    我想实现上面网址上的编辑任务里修改执行人功能~
      

  6.   

    List list=salTaskBiz.findByTaskId(stId);//数据库里的数据
    stId一直没有改变,为什么要放在循环里取呢?
    你的删除的代码写在哪了?什么条件判断为删除呢?
    你页面提交的内容只有userCode,那如果判断为更新的话,更新哪些字段呢?
      

  7.   

    这个是通过外键查询出任务底下的所有执行人~当然循环咯,删除代码写在dao里,判断删除时因为这个执行人不被再次选中,更新的话就更新taLim这个实体。
      

  8.   

    看这样行不行,你把选中的id存在一个数组里,然后再去查,把查到的放到一个List里,再遍历。
      

  9.   

    http://hi.csdn.net/link.php?url=http://topic.csdn.net%2Fu%2F20091127%2F17%2F267be866-14d1-41fd-8d49-3d80ad4df84e.html
    麻烦……你去看看这个帖子~我重新描述了下~你可能还不懂我的意思~
      

  10.   

    完全没有弄明白lz的意思看在楼主的...头像bdgood luck