承接MOSS各种工作流开发 联系人:王先生.电话:13691349686 QQ:252385878 MSN:wanghao-3@hotmail.com

寻找网络安全产品代理商(主要产品有:主机审计与监控系统,移动介质管理系统,文件集中管理安全存储系统,硬盘锁等)主要针对内网安全和数据防泄密 联系人:张小姐 电话:13522877350 QQ:419919940

实现无人值守流程审批管理

你想实现,不登陆网站就能审批文件?你想实现不用去公司就可以 解决自己的审批任务?
我可以给你一个 很好的思路。
我们可以很好的利用手机短信的业务来实现事件通过Ws回调,
只需要一个短信 就能实现你的审批 或者拒绝

大家可以举一反三 我只是告诉大家可以这样做

如图:
下面这个列子就是现实一个 无人值守的审批
代码实现如下:



上面是我的截图
下面是代码

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Workflow;
using System.Data;

namespace SPWorkflowTaskDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                SPSite site = null;
                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    site = new SPSite(@"http://lh-vmpc:6060/");
                    SPWeb web = site.OpenWeb();
                    web.AllowUnsafeUpdates = true;
                    site.AllowUnsafeUpdates = true;
                    SPList lists = web.Lists["申请列表"];
                    SPWorkflowManager manager = site.WorkflowManager;

                    SPWorkflowTaskCollection tasks = lists.Items[lists.Items.Count - 1].Workflows[0].Tasks;
                    int index = tasks.Count - 1;
                    //foreach (SPField field in tasks[index].Fields)
                    //{

                    //    Console.WriteLine("name:{0}---Value:{1}", field.InternalName, tasks[index][field.InternalName]);

                    //}

                    tasks[index]["Status"] = "批准";
                    tasks[index]["Completed"] = "True";
                    tasks[index]["PercentComplete"] = 1;
                    tasks[index]["WorkflowOutcome"] = "批准";
                    tasks[index].Properties[SPBuiltInFieldId.Comment] = "批准";
                    tasks[index].Properties["ows_TaskStatus"] = "@";
                    Hashtable ht = new Hashtable();
                    ht.Add("Status", "已完成");
                    ht.Add("Completed", true);
                    ht.Add("ows_TaskStatus", "#");
                    ht.Add("WorkflowOutcome", "OK");
                    SPWorkflowTask.AlterTask(tasks[index], ht, true);
                    tasks[index].Update();

                    web.Close();
                    web.Dispose();
                    site.Close();

                    site.Dispose();
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

 

  代码没有什么实际的价值,只是希望大家可以在其中学习一些东西,

posted on 2007-09-27 15:28 A A 阅读(2625) 评论(12)  编辑 收藏 所属分类: SharePoint

评论

#1楼  2007-09-27 15:51 ╃小〥斌╄      

最近对这个挺感兴趣的。 期待下文   回复  引用  查看    

#2楼  2007-09-27 16:10 企讯网-全国500万企业速查--深入企业精彩评论,揭露企业内幕 [未注册用户]

呵呵,不错~   回复  引用    

#3楼 [楼主] 2007-09-27 20:34 AA()      

以后,麻烦“管理员” 不要随意修改我的Blog 好?
如果你这样做,对你的发展没有好处的。。。。
我绝对 不应该这样做,如果要作,至少 要更经过我的统一号?
  回复  引用  查看    

#4楼  2007-09-27 21:47 w [未注册用户]

呵呵,不错,期待啊   回复  引用    

#5楼  2007-09-28 08:59 JoeLee [未注册用户]

没记错的话,京华软件早都在这么做了。甚至福建榕基也在这么做。广州诚信所实在记不清楚了。如果你是他们的竞争对手,早就应该明白。短信审批不是什么新思路。

不过楼主的短信接口很好玩。我所见过的短信网关接口,一般都是以COM的形式发布的。而且要有一个会话标识的东东。

  回复  引用    

#6楼  2007-09-28 10:18 ◎寶☆呗`` [未注册用户]

楼主谢谢噢..~
我是新手..最近才学习这个东西..
  回复  引用    

#7楼 [楼主] 2007-09-28 10:23 AA()      

JoeLee ,可能是我写的有问题,让你理解错误,
我那段代码,只是用代码来审批 流程,就那样简单,没有涉及到 手机接口,


◎寶☆呗``
:)   回复  引用  查看    

#8楼  2007-09-28 17:21 w [未注册用户]

学习了   回复  引用    

#9楼 [楼主] 2007-09-28 19:58 AA()      

w
:)



加油   回复  引用  查看    

#10楼 [楼主] 2008-01-14 20:44 A A      

@代表拒绝,#代表通过的"   回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-09-27 20:31 编辑过
 
另存  打印