/** 部室内部会签 */
 @Override
 public String insertTaskAssignePerson(
     TaskAssgineeDto dto, MUOUserSession muo, TSuperviseTable sup) throws Exception {
   // 插入意见到意见表
   String type = "09";
   sup.setNodeName1(jbpmService.getTaskById(dto.getTaskId()).getName());
   if (sup.getOpninion() == null || "".equals(sup.getOpninion())) sup.setOpninion("");
   insertApproveOpninion(sup, muo, dto.getTaskId(), type, dto);
   String preTaskId = dto.getTaskId();
   // 插入下一个节点信息
   insertTask(dto, muo);
   // 更新当前执行人信息
   dto.setTaskAssigneeState("0");
   TProcessTaskAssignee tptagee = new TProcessTaskAssignee();
   tptagee.setId(dto.getProcessTaskAssigneeId());
   tptagee.setExecutionId(dto.getExecutionId());
   tptagee.setPreTaskId(preTaskId);
   tptagee.setPreTaskAssingee(muo.getEmpid().toString());
   tptagee.setPreTaskOrg(muo.getOrgid());
   tptagee.setPreTaskTime(TimeUtil.getCntDtStr(new Date(), "yyyyMMddHHmmss"));
   tptagee.setNextTaskId(dto.getTaskId());
   tptagee.setBusinessKey(sup.getSuperviseId());
   this.gettProcessTaskAssigneeDAO().updateByPrimaryKeySelective(tptagee);
   // 插入下一步执行人员,同时更新原来办理人员的信息,由于nextTaskId改变了
   jbpmService.insertTaskAssignPerson(dto);
   TProcessTaskAssigneePerson record = new TProcessTaskAssigneePerson();
   TProcessTaskAssigneePerson example = new TProcessTaskAssigneePerson();
   record.setExecutionId(dto.getExecutionId());
   record.setTaskId(dto.getTaskId());
   example.setExecutionId(dto.getExecutionId());
   example.setProcessTaskAssigneeId(dto.getProcessTaskAssigneeId());
   this.gettProcessTaskAssigneePersonDAO().updateEntityByTemplate(record, example);
   // 删除当前已办人员
   TProcessTaskAssigneePerson tad = new TProcessTaskAssigneePerson();
   tad.setTaskAssigneeId(muo.getEmpid());
   tad.setExecutionId(dto.getExecutionId());
   this.tProcessTaskAssigneePersonDAO.deleteByTemplate(tad);
   return "success";
 }
  public String updateBuShiAssignStatus2(
      TaskAssgineeDto dto, MUOUserSession muo, TSuperviseTable sup) throws Exception {
    if (dto.getExecutionId() == null || "".equals(dto.getExecutionId())) return "无法获取该实例ID!";
    String type = "10";
    sup.setNodeName1(jbpmService.getTaskById(dto.getTaskId()).getName());
    if (sup.getOpninion() == null || "".equals(sup.getOpninion())) sup.setOpninion("");

    // 删除当前人员办理信息
    // 删除当前已办人员
    TProcessTaskAssigneePerson tpap = new TProcessTaskAssigneePerson();
    tpap.setTaskAssigneeId(muo.getEmpid());
    tpap.setExecutionId(dto.getExecutionId());
    this.tProcessTaskAssigneePersonDAO.deleteByTemplate(tpap);

    String preTaskId = dto.getTaskId();
    // 插入下一个节点信息
    insertTask(dto, muo);
    // 更新当前执行人信息

    TProcessTaskAssignee tptagee = new TProcessTaskAssignee();
    tptagee.setId(dto.getProcessTaskAssigneeId());
    tptagee.setExecutionId(dto.getExecutionId());
    tptagee.setPreTaskId(preTaskId);
    tptagee.setPreTaskAssingee(muo.getEmpid().toString());
    tptagee.setPreTaskOrg(muo.getOrgid());
    tptagee.setPreTaskTime(TimeUtil.getCntDtStr(new Date(), "yyyyMMddHHmmss"));
    tptagee.setNextTaskId(dto.getTaskId());
    tptagee.setBusinessKey(sup.getSuperviseId());

    // 插入下一步执行人员
    this.gettProcessTaskAssigneeDAO().updateByPrimaryKeySelective(tptagee);
    TProcessTaskAssigneePerson record = new TProcessTaskAssigneePerson();
    TProcessTaskAssigneePerson example = new TProcessTaskAssigneePerson();
    record.setExecutionId(dto.getExecutionId());
    record.setTaskId(dto.getTaskId());
    example.setExecutionId(dto.getExecutionId());
    example.setProcessTaskAssigneeId(dto.getProcessTaskAssigneeId());
    this.gettProcessTaskAssigneePersonDAO().updateEntityByTemplate(record, example);
    dto.setTaskAssigneeState("0");
    // 判断内部办理是否是所有人都已经办理
    List<TProcessTaskAssigneePerson> task = jbpmService.getBsUnCompleted(dto);
    if (task.size() < 1) {
      // 获取下个节点人id,姓名
      HashMap<String, Object> hmp = new HashMap<String, Object>();
      hmp.put("empid", muo.getEmpid());
      // 获取部门主要负责人信息
      TSuperviseTable sp = tSuperviseTableDAO.queryTaskAssignZyPerson(hmp);
      if (sp != null && sp.getEmpid() != null && !"".equals(sp.getEmpid()))
        dto.setEmpIds(sp.getEmpid());
      if (sp != null && sp.getEmpname() != null && !"".equals(sp.getEmpname()))
        dto.setEmpNames(sp.getEmpname());
      dto.setIsChild("0"); // 用来判断是否负责人,显示对应按钮信息
      dto.setTaskAssigneeState("0"); // 部室提交下一步使用,如果是多个为0,则流程不走下一个节点。
      if (!(dto.getEmpIds() == null || dto.getEmpIds().equals(""))) {
        jbpmService.insertTaskAssignPerson(dto);
      }
    }
    // 插入办理意见
    insertApproveOpninion2(sup, muo, dto.getTaskId(), type, dto);
    return "success";
  }