Пример #1
0
        public void reloadFW()
        {
            B_OA_IReceiveTask receive = new B_OA_IReceiveTask();

            receive.Condition.Add("SWLX =FW ");
            List <B_OA_IReceiveTask> listReceive = Utility.Database.QueryList(receive);

            foreach (B_OA_IReceiveTask re in listReceive)
            {
                TaskDetail_FW("qjc_lims_test", re.YWBH, re.SWLX, "1", null);
            }
        }
Пример #2
0
        /// <summary>
        /// 待收文任务列表
        /// </summary>
        public void unReceiveTasks(string swlx, string receiveDate = null)
        {
            IList <B_OA_IReceiveTask> receiveList = new List <B_OA_IReceiveTask>();

            //用于本地测试
            //XmlDocument xmlDocument = new XmlDocument();
            //var dir = Directory.GetCurrentDirectory();
            //string serverpath = dir + "\\unReceiveTasks.xml";
            //xmlDocument.Load(serverpath);
            //XmlNodeList xmlNodeList = xmlDocument.SelectSingleNode("SW").SelectSingleNode("SWINFOS").ChildNodes;

            //wsdl发布测试
            string returnXml = service.unReceiveTasks("qjc_lims_test", swlx);

            _logger.InfoFormat("接口连接成功!");
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(returnXml);
            XmlNodeList xmlNodeList = xmlDocument.SelectSingleNode("SW").SelectSingleNode("SWINFOS").ChildNodes;

            foreach (XmlNode detail in xmlNodeList)
            {
                var tran = Utility.Database.BeginDbTransaction();
                try
                {
                    B_OA_IReceiveTask receive = new B_OA_IReceiveTask(
                        detail.SelectSingleNode("USERID").InnerText,
                        detail.SelectSingleNode("YWBH").InnerText,
                        detail.SelectSingleNode("SWLX").InnerText,
                        detail.SelectSingleNode("SWBT").InnerText,
                        detail.SelectSingleNode("SWLCBH").InnerText,
                        detail.SelectSingleNode("SWZT").InnerText,
                        detail.SelectSingleNode("FKYJ").InnerText,
                        detail.SelectSingleNode("BZ").InnerText
                        );
                    receive.receiveDate = DateTime.Now;
                    //条件查找
                    receive.Condition.Add("YWBH =" + detail.SelectSingleNode("YWBH").InnerText);
                    receive.Condition.Add("SWLX =" + detail.SelectSingleNode("SWLX").InnerText);
                    receive.Condition.Add("USERID =" + detail.SelectSingleNode("USERID").InnerText);
                    if (Utility.Database.QueryObject(receive, tran) == null)
                    {
                        var tran2 = Utility.Database.BeginDbTransaction();
                        Utility.Database.Insert(receive, tran2);
                        _logger.InfoFormat("成功插入待收任务据!");
                        Utility.Database.Commit(tran2);
                    }
                    ;
                    if (receive.SWLX == "LW")//来文
                    {
                        TaskDetail_LW("qjc_lims_test", receive.YWBH, receive.SWLX, null, tran);
                    }
                    else if (receive.SWLX == "NBYJ")//内部邮件
                    {
                        if ((!string.IsNullOrEmpty(receive.USERID)))
                        {
                            TaskDetail_Mail("qjc_lims_test", receive.YWBH, receive.BZ, receive.SWLX, null, tran, receive.USERID);
                        }
                        else
                        {
                            TaskDetail_Mail("qjc_lims_test", receive.YWBH, receive.BZ, receive.SWLX, null, tran);
                        }
                    }
                    else if (receive.SWLX == "TZGG")//通知公告
                    {
                        TaskDetail_TZGG("qjc_lims_test", receive.YWBH, receive.SWLX, null, tran);
                    }
                    else if (receive.SWLX == "FW")//发文
                    {
                        TaskDetail_FW("qjc_lims_test", receive.YWBH, receive.SWLX, null, tran);
                    }
                    var taskRecevieConfirm = service.taskRecevieConfirm("qjc_lims_test", receive.YWBH, receive.SWLX);
                    Utility.Database.Commit(tran);
                }
                catch (Exception ex)
                {
                    Utility.Database.Rollback(tran);
                    _logger.InfoFormat("业务编号:" + detail.SelectSingleNode("YWBH").InnerText + " 收文标题:" + detail.SelectSingleNode("SWBT").InnerText + "插入失败!\n" +
                                       "失败原因" + ex);
                }
            }
        }