예제 #1
0
    //在待办状态下接单
    protected void btnAccept_Click(object sender, EventArgs e)
    {
        object obj          = DBOpt.dbHelper.ExecuteScalar("select f_planday from dmis_sys_flowlink where f_no=" + ViewState["CurLinkNo"]);
        string finishedTime = "";

        if (obj != null)
        {
            finishedTime = WebWorkFlow.GetLastTime(DateTime.Now, Convert.ToUInt32(obj));
        }

        _sql = "update dmis_sys_workflow set f_working=1,f_receiver='" + Session["MemberName"].ToString() + "',f_receivedate='" + DateTime.Now.ToString("dd-MM-yyyy HH:mm")
               + "',F_LAST_FINISHED_TIME='" + finishedTime + "' where f_no=" + ViewState["CurWorkFlowNo"];
        if (DBOpt.dbHelper.ExecuteSql(_sql) < 0)
        {
            JScript.Alert(GetGlobalResourceObject("WebGlobalResource", "WkAcceptTaskFailMessage").ToString());  //"接单失败!"
            return;
        }
        Session["Oper"] = 1;
        Response.Redirect(Page.Request.RawUrl);
    }
예제 #2
0
    protected void grvList_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int row;

        if (!int.TryParse(e.CommandArgument.ToString(), out row))
        {
            return;
        }

        if (e.CommandName == "FlowTable")  //流程
        {
            Response.Redirect("FlowTable.aspx?InstanceID=" + grvList.DataKeys[row].Value.ToString() + @"&BackUrl=" + Page.Request.RawUrl);
        }
        else if (e.CommandName == "Deal")   //办理
        {
            object obj;
            int    RecNo;          //记录编号
            int    DocTypeNo;      //文档类型号
            int    PackTypeNo;     //业务类型编号
            int    CurLinkNo;      //当前环节号
            int    PackNo;         //当前业务号
            int    CurWorkFlowNo;  //工作流编号 dmis_sys_workflow表中的f_no值

            PackTypeNo    = Convert.ToInt16(grvList.DataKeys[row].Values[2]);
            PackNo        = Convert.ToInt16(grvList.DataKeys[row].Value);
            CurLinkNo     = Convert.ToInt16(grvList.DataKeys[row].Values[1]);
            CurWorkFlowNo = Convert.ToInt16(grvList.DataKeys[row].Values[3]);

            _sql = "select f_recno from DMIS_SYS_DOC where F_PACKNO=" + PackNo + " and F_LINKNO=" + CurLinkNo;
            obj  = DBOpt.dbHelper.ExecuteScalar(_sql);
            if (obj == null)
            {
                RecNo = -1;
            }
            else
            {
                RecNo = Convert.ToInt16(obj);
            }

            DataTable docType = DBOpt.dbHelper.GetDataTable("select a.f_no,a.f_formfile,a.f_tablename,a.f_target from dmis_sys_doctype a,DMIS_SYS_WK_LINK_DOCTYPE b where a.f_no=b.F_DOCTYPENO and b.f_packtypeno="
                                                            + PackTypeNo + " and b.F_LINKNO=" + CurLinkNo);

            if (docType == null || docType.Rows.Count < 1)
            {
                JScript.Alert(GetGlobalResourceObject("WebGlobalResource", "WkNoDoc").ToString());
                return;
            }
            DocTypeNo = Convert.ToInt16(docType.Rows[0][0]);
            DataTable rights = WebWorkFlow.DocTypeRights(DocTypeNo, Session["RoleIDs"].ToString());;
            if (rights != null && rights.Rows.Count > 0)
            {
                Session["Oper"] = 0;  //待办状态只能读,不能修改,故下述代码注消
                //for (int i = 0; i < rights.Rows.Count; i++)
                //{
                //    if (rights.Rows[i][0].ToString()[2] == '1' || rights.Rows[i][0].ToString()[3] == '1')
                //    {
                //        Session["Oper"] = 1;
                //        break;
                //    }
                //}
                Session["sended"] = "0";
                Response.Redirect(docType.Rows[0][1].ToString() + "?RecNo=" + RecNo + @"&BackUrl=" + Page.Request.RawUrl +
                                  "&PackTypeNo=" + PackTypeNo + "&CurLinkNo=" + CurLinkNo + "&PackNo=" + PackNo + "&CurWorkFlowNo=" + CurWorkFlowNo);
            }
            else
            {
                Response.Write("<script language=javascript>alert('" + GetGlobalResourceObject("WebGlobalResource", "WkNoRightToRead").ToString() + "')</script>");  //对不起!你无权操作本文档
            }
        }
        else if (e.CommandName == "Accept") //  接单
        {
            string CurWorkFlowNo;           //工作流编号 dmis_sys_workflow表中的f_no值
            int    CurLinkNo = Convert.ToInt16(grvList.DataKeys[row].Values[1]);
            CurWorkFlowNo = Convert.ToString(grvList.DataKeys[row].Values[3]);
            object obj          = DBOpt.dbHelper.ExecuteScalar("select f_planday from dmis_sys_flowlink where f_no=" + CurLinkNo);
            string finishedTime = "";
            if (obj != null)
            {
                finishedTime = WebWorkFlow.GetLastTime(DateTime.Now, Convert.ToUInt32(obj));
            }

            if (Session["MemberName"].ToString() == grvList.Rows[row].Cells[7].Text || grvList.Rows[row].Cells[7].Text == "&nbsp;")  //如果没有主办人,则相同岗位的人都可以接收。
            {
                _sql = "update dmis_sys_workflow set f_working=1,f_receiver='" + Session["MemberName"].ToString() + "',f_receivedate='" + DateTime.Now.ToString("dd-MM-yyyy HH:mm")
                       + "',F_LAST_FINISHED_TIME='" + finishedTime + "' where f_no=" + CurWorkFlowNo;
                DBOpt.dbHelper.ExecuteSql(_sql);
                GridViewBind();
            }
            else
            {
                //JScript.Alert("只有主办人才可以接单!");
                return;
            }
        }
    }