//private void ucPrint_OnBeforeClosed(object sender, EventArgs e)
        //{
        //    ucPrint.Write("共    页", "共" + ucPrint.Pages + "页", WordMgr.WriteMode.Shift, 1);
        //}
        #endregion

        #region 批量打印接口
        public override void InitPrint(UC_Print ucprint, string sProcName, string sStepName,
                                       string sStartTime, string sEndTime)
        {
            m_print = ucprint;

            m_print.OnBeginExport      += new UC_Print.ExportHandler(Print_OnBeginExport);
            m_print.OnCompletionExport += new UC_Print.ExportHandler(Print_OnCompletionExport);
            m_print.OnAttachExport     += new UC_Print.ExportHandler(Print_OnAttachExport);
            m_print.OnExtraExport      += new UC_Print.ExportHandler(Print_OnExtraExport);

            //打印
            m_print.UCTemplateName = sProcName;
            m_print.UCStepName     = sStepName;

            //m_print.m_ls = B_FormsData.GetEntities("FA3707F767DE49769DB675CD00278308",
            //    null, sProcName, sStepName, true);
            string[] sDateTimes = sStartTime.Split('-');
            DateTime dtStart    = new DateTime(Convert.ToInt32(sDateTimes[0]), Convert.ToInt32(sDateTimes[1]), Convert.ToInt32(sDateTimes[2]));

            sDateTimes = sEndTime.Split('-');
            DateTime dtEnd = new DateTime(Convert.ToInt32(sDateTimes[0]), Convert.ToInt32(sDateTimes[1]), Convert.ToInt32(sDateTimes[2]));

            m_print.m_ls = B_FormsData.GetEntities(sProcName, sStepName, dtStart, dtEnd, true);

            //m_print.Init();
            m_print.m_bBatch   = true;
            m_print.ExportPath = @"\Batch\";
            m_print.TmpAttachFilesDirectory = @"\Batch\tmp\";
        }
        string[] PF_Step = new string[] { "编制", "校核", "审核", "质保审查", "部门会签", "领导会签", "批准", "分发", "传阅" };                             // 程序文件
        //string[] MF_Step = new string[] { "拟稿", "审稿", "部门会签", "核稿", "领导会签", "签发", "分发", "校对" }; // 党政工团发文
        //string[] MS_Step = new string[] { "发起流程", "拟办", "收文处理中心", "领导批示", "收文处理中心归档", "传阅", "处室承办", "科室承办", "人员承办", "追加分发"}; // 党政工团收文

        protected void Page_Load(object sender, EventArgs e)
        {
            FormsUIBase ui;

            switch (ddlProc.Text)
            {
            case "公司发文":
                ui = new UC_CompanySend();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;

            case "公司收文":
                ui = new UC_CompanyReceive();    //new B_GS_WorkItems();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;

            case "函件发文":
                ui = new UC_LetterSend();    //new EntityLetterSend();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;

            case "函件收文":
                ui = new UC_LetterReceived();    //new B_LetterReceive();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;

            case "请示报告":
                ui = new UC_RequestReport();    //new B_RequestReport();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;

            case "工作联系单":
                ui = new UC_WorkRelation();    //new B_WorkRelation();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;

            case "程序文件":
                ui = new UC2_ProgramFile();    //new B_PF();
                ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                break;
                //case "党政工团发文":
                //    ui = new UC_Send();//new M_DJGTSend();
                //    ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                //    break;
                //case "党政工团收文":
                //    ui = new UC_Receive();//new M_MergeReceiveBase();
                //    ui.InitPrint(this.UC_Print1, ddlProc.Text, ddlStep.Text, CaleStart.Text, CaleEnd.Text);
                //    break;
            }

            List <EntityBase> ls = B_FormsData.GetEntities(ddlProc.Text,
                                                           ddlStep.Text,
                                                           DateTime.Parse(string.IsNullOrEmpty(CaleStart.Text) ? DateTime.MinValue.ToString() : CaleStart.Text),
                                                           DateTime.Parse(string.IsNullOrEmpty(CaleEnd.Text) ? DateTime.MinValue.ToString() : CaleEnd.Text),
                                                           true);

            this.TextBox1.Text = "当前满足条件的记录为:" + ls.Count.ToString();
        }
예제 #3
0
        protected void btnQuery_Click(object sender, EventArgs e)
        {
            List <EntityBase> ls = B_FormsData.GetEntities(ddlProc.Text,
                                                           ddlStep.Text,
                                                           DateTime.Parse(string.IsNullOrEmpty(CaleStart.Text) ? DateTime.MinValue.ToString() : CaleStart.Text),
                                                           DateTime.Parse(string.IsNullOrEmpty(CaleEnd.Text) ? DateTime.MinValue.ToString() : CaleEnd.Text),
                                                           true);
            //ls[0].ID INT
            //ls[0].ProcessID STR
            //ls[0].WorkItemID STR
            DataTable dt = new DataTable();

            dt.Columns.Add("IsDevolved");
            dt.Columns.Add("ID");
            dt.Columns.Add("Title");
            dt.Columns.Add("ProcessID");
            dt.Columns.Add("WorkItemID");

            for (int i = 0; i < ls.Count; i++)
            {
                DataRow row = dt.NewRow();
                if (B_ProcessInstance.Is_Devolve(ls[i].ProcessID, ddlProc.Text).ToString().ToUpper() == "TRUE")
                {
                    row["IsDevolved"] = "已归档";
                }
                else
                {
                    row["IsDevolved"] = "未归档";
                }
                row["ID"]         = ls[i].ID.ToString();
                row["Title"]      = ls[i].DocumentTitle;
                row["ProcessID"]  = ls[i].ProcessID;
                row["WorkItemID"] = ls[i].WorkItemID;
                dt.Rows.Add(row);
            }

            this.FSGridView1.DataSource = dt;
            this.FSGridView1.DataBind();
        }
        protected void btnSecFF_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.txtProcessID.Text == string.Empty)
                {
                    JScript.Alert("只有已经启动的流程才能二次分发!");
                    return;
                }
                List <EntityBase> bworkitems = B_FormsData.GetEntities(this.txtProcessID.Text, "", ProcessConstString.TemplateName.LETTER_RECEIVE, "", true);
                B_LetterReceive   NewEntity  = new B_LetterReceive();
                B_LetterReceive   bworkitem  = bworkitems != null && bworkitems.Count > 0 ? bworkitems[0] as B_LetterReceive : new B_LetterReceive();

                NewEntity.ProcessID = this.txtProcessID.Text;

                NewEntity.WorkItemID = Guid.NewGuid().ToString("N");
                bworkitem.WorkItemID = NewEntity.WorkItemID;

                bworkitem.StepName = ProcessConstString.SubmitAction.LetterReceiveAction.ACTION_FF2;
                NewEntity.StepName = ProcessConstString.SubmitAction.LetterReceiveAction.ACTION_FF2;

                bworkitem.SubmitDate = System.DateTime.Now;
                NewEntity.SubmitDate = System.DateTime.Now;

                bworkitem.CommentList.Clear();

                bworkitem.UrgentDegree = this.ddlUrgentDegree.SelectedValue;
                NewEntity.UrgentDegree = this.ddlUrgentDegree.SelectedValue;

                bworkitem.DocumentNo = this.txtDocumentNo.Text;
                NewEntity.DocumentNo = this.txtDocumentNo.Text;

                bworkitem.ReceiptDate = this.txtReceiveDate.Text != string.Empty ? DateTime.Parse(this.txtReceiveDate.Text) : DateTime.MinValue;
                NewEntity.ReceiptDate = this.txtReceiveDate.Text != string.Empty ? DateTime.Parse(this.txtReceiveDate.Text) : DateTime.MinValue;

                bworkitem.FileEncoding = this.txtDocumentEncoding.Text;
                NewEntity.FileEncoding = this.txtDocumentEncoding.Text;

                bworkitem.CommunicationUnit = this.txtReceiveUnit.Text;
                NewEntity.CommunicationUnit = this.txtReceiveUnit.Text;

                bworkitem.DocumentTitle = this.txtDocumentTitle.Text;
                NewEntity.DocumentTitle = this.txtDocumentTitle.Text;

                bworkitem.Remarks = this.txtRemark.Text;
                NewEntity.Remarks = this.txtRemark.Text;

                bworkitem.FileList = this.ucAttachment.UCDataList;
                NewEntity.FileList = this.ucAttachment.UCDataList;

                bworkitem.ReceiveDateTime = DateTime.Now;
                NewEntity.ReceiveDateTime = DateTime.Now;

                bworkitem.ReceiveUserID = CurrentUserInfo.UserName;
                NewEntity.ReceiveUserID = CurrentUserInfo.UserName;

                bworkitem.ReceiveUserName   = CurrentUserInfo.DisplayName;
                NewEntity.ReceiveUserName   = CurrentUserInfo.DisplayName;
                NewEntity.D_StepStatus      = bworkitem.D_StepStatus;
                NewEntity.ReceiptDate       = bworkitem.ReceiptDate;
                NewEntity.Pages             = bworkitem.Pages;
                NewEntity.ChuanYueLeader    = bworkitem.ChuanYueLeader;
                NewEntity.AssistDept        = bworkitem.AssistDept;
                NewEntity.AssistDeptName    = bworkitem.AssistDeptName;
                NewEntity.ChuanYueLeader    = bworkitem.ChuanYueLeader;
                NewEntity.ChuanYueDept      = bworkitem.ChuanYueDept;
                NewEntity.LeaderShip        = bworkitem.LeaderShip;
                NewEntity.LeaderShipName    = bworkitem.LeaderShipName;
                NewEntity.LS_Comment        = bworkitem.LS_Comment;
                NewEntity.UnderTakeID       = bworkitem.UnderTakeID;
                NewEntity.UnderTake         = bworkitem.UnderTake;
                NewEntity.UnderTake_Comment = bworkitem.UnderTake_Comment;
                NewEntity.UnderTakeLeaders  = bworkitem.UnderTakeLeaders;
                NewEntity.NiBanRen          = bworkitem.NiBanRen;
                NewEntity.NiBanRenName      = bworkitem.NiBanRenName;
                NewEntity.NiBanComment      = bworkitem.NiBanComment;
                NewEntity.Drafter           = bworkitem.Drafter;
                NewEntity.DraftDate         = bworkitem.DraftDate;
                NewEntity.RegisterID        = bworkitem.RegisterID;
                NewEntity.Prompt            = bworkitem.Prompt;
                NewEntity.ChuanYueDeptID    = bworkitem.ChuanYueDeptID;
                NewEntity.HJPrompt          = bworkitem.HJPrompt;
                NewEntity.ChuanYueLeaderID  = bworkitem.ChuanYueLeaderID;
                NewEntity.AgentUserName     = bworkitem.AgentUserName;
                NewEntity.AgentUserID       = bworkitem.AgentUserID;

                NewEntity.FormsData = XmlUtility.SerializeXml(bworkitem as EntityBase);
                FormSave.SaveEntity(NewEntity, false);

                if (B_ProcessInstance.IsCompletedOrCancel(NewEntity.ProcessID))
                {
                    B_ProcessInstance.MoveToBakTable(NewEntity.WorkItemID, "T_OA_HS_WorkItems", "T_OA_HS_WorkItems_BAK"); //在备份库中插入数据
                    B_ProcessInstance.UpdateRecordStatus(NewEntity.WorkItemID, 2);                                        //将现行库数据更新为不可用。
                }

                btnModify_Click(null, null);

                //string filedata = "<FileList />";
                //if (this.ucAttachment.UCDataList.Count > 0)
                //{
                //    string formdata = XmlUtility.SerializeXml<B_LetterReceive>(bworkitem);
                //    int iStartIndex = formdata.IndexOf("<FileList>");
                //    int iEndIndex = formdata.IndexOf("</FileList>");
                //    if (iEndIndex > iStartIndex)
                //    {
                //        filedata = formdata.Substring(iStartIndex, iEndIndex - iStartIndex);
                //        filedata += "</FileList>";
                //    }
                //}
                //FormsMethod.UpdateAssignFileData(bworkitem.ProcessID,ProcessConstString.TemplateName.LETTER_RECEIVE, "", filedata);
                List <EntityBase> bworkitemsAssign = B_FormsData.GetEntities(this.txtProcessID.Text, "", ProcessConstString.TemplateName.LETTER_RECEIVE, "", true, "'New','Assigned'");
                string            strUpdatePeople  = string.Empty;
                foreach (EntityBase entity in bworkitemsAssign)
                {
                    B_LetterReceive lentity = entity as B_LetterReceive;

                    lentity.SubmitDate = System.DateTime.Now;

                    lentity.UrgentDegree = this.ddlUrgentDegree.SelectedValue;

                    lentity.DocumentNo = this.txtDocumentNo.Text;

                    lentity.ReceiptDate  = this.txtReceiveDate.Text != string.Empty ? DateTime.Parse(this.txtReceiveDate.Text) : DateTime.MinValue;
                    lentity.FileEncoding = this.txtDocumentEncoding.Text;

                    lentity.CommunicationUnit = this.txtReceiveUnit.Text;

                    lentity.DocumentTitle = this.txtDocumentTitle.Text;

                    lentity.Remarks = this.txtRemark.Text;

                    lentity.FileList = this.ucAttachment.UCDataList;
                    FormSave.SaveEntity(lentity as EntityBase, true);
                    strUpdatePeople += lentity.ReceiveUserName + ",";
                }
                B_ToCirculate l_busCirculate = new B_ToCirculate();
                l_busCirculate.IsAgain       = true;
                l_busCirculate.ToProcessType = ProcessConstString.TemplateName.LETTER_RECEIVE;
                l_busCirculate.ToProcessID   = bworkitem.ProcessID;
                l_busCirculate.ToWorkItemID  = bworkitem.WorkItemID;
                l_busCirculate.ToUserIDS     = B_FormsData.GetProcessPeople("'Completed','Removed'", this.txtProcessID.Text, ";", true);
                string strInfo = string.Empty;
                if (l_busCirculate.ToUserIDS != string.Empty)
                {
                    strInfo = l_busCirculate.ChuanYueToDB();
                }
                strUpdatePeople = strUpdatePeople.Length > 0?strUpdatePeople.Substring(0, strUpdatePeople.Length - 1):"";
                strInfo         = strInfo.Replace("传阅成功", "二次分发成功");
                strInfo        += string.IsNullOrEmpty(strInfo) ? "" : "\\n";
                strInfo        += string.IsNullOrEmpty(strUpdatePeople) ? "" : ("(" + strUpdatePeople + ")更新成功!");
                if (strInfo != string.Empty)
                {
                    JScript.Alert(strInfo);
                }
                else
                {
                    JScript.Alert("二次分发成功!无人员传阅和数据更新!");
                }
            }
            catch
            {
                JScript.Alert("二次分发失败!");
            }
        }
 public LsEntity GetList(string sProc, string sStep, DateTime dtStart, DateTime dtEnd)
 {
     return(B_FormsData.GetEntities(sProc, sStep, dtStart, dtEnd, true));
 }