Exemple #1
0
        public object GetWorkFlowCaseByCaseId(string caseId, string actid)
        {
            List<FX_AttachMent> listAttachment = new List<FX_AttachMent>();
            List<B_OA_Supervision> listSupervision = new List<B_OA_Supervision>();
            DataTable ngbm = new DataTable();

            IDbTransaction tran = Utility.Database.BeginDbTransaction();
            try
            {
                //工作流信息
                StringBuilder strSql = new StringBuilder();
                strSql.AppendFormat(@"
            select * from FX_WorkFlowBusAct where CaseID = '{0}' and SendDate is not null ORDER BY SendDate DESC", caseId);
                var ds = Utility.Database.ExcuteDataSet(strSql.ToString(), tran);

                List<FX_WorkFlowBusAct> listWork =
                     JsonConvert.DeserializeObject<List<FX_WorkFlowBusAct>>(JsonConvert.SerializeObject(ds.Tables[0]));

                //附件信息
                FX_AttachMent attachment = new FX_AttachMent();
                attachment.Condition.Add("CaseID = " + caseId);
                listAttachment = Utility.Database.QueryList<FX_AttachMent>(attachment, tran);
                //督办信息
                B_OA_Supervision supervision = new B_OA_Supervision();
                supervision.Condition.Add("caseId = " + caseId);
                supervision.OrderInfo = "createDate desc";
                listSupervision = Utility.Database.QueryList<B_OA_Supervision>(supervision, tran);
                //获取附件路径
                string dir = IWorkFlow.Host.Utility.config.get("FileDir");
                dir = dir.Replace("\\", "/");
                //拟稿人和拟稿部门
                if (!string.IsNullOrEmpty(actid))
                {
                    ngbm = GetUserNameAndDepartNameByActId(caseId, actid, tran);
                }
                //关闭连接池
                Utility.Database.Commit(tran);
                return new
                {
                    listAttachment = listAttachment,
                    listWork = listWork,
                    listSupervision = listSupervision,
                    dir = dir,
                    ngbm = ngbm
                };
            }
            catch (Exception ex)
            {
                ComBase.Logger(ex);
                throw (new Exception("获取数据失败!", ex));
            }
        }
Exemple #2
0
        public bool DeleteCase(string caseid, string userid, Object obj)
        {
            IDbTransaction tran = (IDbTransaction)obj;
            //加入针对不同的业务的删除前处理
            FX_WorkFlowCase workFlow = new FX_WorkFlowCase();
            workFlow.Condition.Add("ID =" + caseid);
            workFlow = Utility.Database.QueryObject<FX_WorkFlowCase>(workFlow, tran);
            if (workFlow != null)
            {
                string flowId = workFlow.FlowID;
                switch (flowId)
                {
                    case "W000098": //发文
                        B_OA_SendDoc_QuZhan sendDoc = new B_OA_SendDoc_QuZhan();
                        sendDoc.Condition.Add("caseid=" + caseid);
                        Utility.Database.Delete(sendDoc, tran);
                        break;
                    case "W000099": //收文
                        B_OA_ReceiveDoc_QuZhan receiveDoc = new B_OA_ReceiveDoc_QuZhan();
                        receiveDoc.Condition.Add("caseid=" + caseid);
                        Utility.Database.Delete(receiveDoc, tran);
                        break;
                    case "W000100": //内部事项
                        B_OA_SendDoc_Inner_QuZhan innderDoc = new B_OA_SendDoc_Inner_QuZhan();
                        innderDoc.Condition.Add("caseId=" + caseid);
                        Utility.Database.Delete(innderDoc, tran);
                        break;
                    case "W000070": //车辆申请
                        B_OA_Car car = new B_OA_Car();
                        car.Condition.Add("workflowcaseid=" + caseid);
                        Utility.Database.Delete(car, tran);
                        break;
                    case "W000071": //会议申请
                        B_OA_Meeting data = new B_OA_Meeting();
                        data.Condition.Add("CaseID=" + caseid);
                        Utility.Database.Delete(data, tran);
                        break;
                    case "W000079": //请假申请
                        B_OA_LeaveList leave = new B_OA_LeaveList();
                        leave.Condition.Add("caseId=" + caseid);
                        Utility.Database.Delete(leave, tran);
                        break;
                    case "W000080": //出差申请
                        B_OA_TravelList travel = new B_OA_TravelList();
                        travel.Condition.Add("caseId=" + caseid);
                        Utility.Database.Delete(travel, tran);
                        break;
                    case "W000089": //通知公告
                        B_OA_Notice notice = new B_OA_Notice();
                        notice.Condition.Add("caseid=" + caseid);
                        Utility.Database.Delete(notice, tran);
                        break;
                }
                if (!string.IsNullOrEmpty(caseid))
                {
                    //删除正文路径
                    B_Common_CreateDoc createDoc = new B_Common_CreateDoc();
                    createDoc.Condition.Add("caseid=" + caseid);
                    Utility.Database.Delete(createDoc, tran);
                    //删除附件
                    FX_AttachMent attach  = new FX_AttachMent();
                    attach.Condition.Add("CaseID="+caseid);
                    Utility.Database.Delete(attach, tran);

                }
            }
            return true;
        }