Esempio n. 1
0
        /// <summary>
        /// 查询流程图定义的条件字符串
        /// </summary>
        /// <param name="orderType">订单类型</param>
        /// <param name="approverInt">审批人</param>
        public string GetWorkFlowsLine_OrderQuerySQL(WorkFlowsHandleDAO.OrderType orderType, int approverInt)
        {
            string    sqlStr         = string.Format("Select AutoId from BS_WorkFlows where WorkFlowsType = {0} and IsNull(Enabled, 0) = 1", (int)orderType);
            DataTable workFlowsTable = BaseSQL.GetTableBySql(sqlStr);

            if (workFlowsTable.Rows.Count == 0)
            {
                return("");
            }
            int workFlowsIdInt = DataTypeConvert.GetInt(workFlowsTable.Rows[0]["AutoId"]);

            sqlStr = string.Format("select AutoId, Enabled from BS_WorkFlowsLine where WorkFlowsId = {0} and LineType = {1}", workFlowsIdInt, (int)WorkFlowsHandleDAO.LineType.审批);
            DataTable lineTable = BaseSQL.GetTableBySql(sqlStr);

            if (lineTable.Rows.Count == 0)
            {
                return("");
            }

            if (DataTypeConvert.GetInt(lineTable.Rows[0]["Enabled"]) == 1)
            {
                int lineIdInt = DataTypeConvert.GetInt(lineTable.Rows[0]["AutoId"]);

                string loginIdStr = "";
                string roleNoStr  = "";
                QueryUserInfo_LoginIdAndRoleNo(approverInt, ref loginIdStr, ref roleNoStr);

                sqlStr = string.Format("select MultiLevelApprover, Condition from BS_WorkFlowsLineHandle as wfHandle join BS_WorkFlowsLineCondition as cond on wfHandle.ConditionId = cond.AutoId where wfHandle.LineId = {0} and ((LineHandleCate = 0 and HandleOwner = '{1}') or (LineHandleCate = 1 and HandleOwner = '{2}'))", lineIdInt, loginIdStr, roleNoStr);
                DataTable wfHandleTable = BaseSQL.GetTableBySql(sqlStr);

                WorkFlowsHandleDAO.QueryOrderViewName   viewName   = (WorkFlowsHandleDAO.QueryOrderViewName)orderType;
                WorkFlowsHandleDAO.QueryOrderPrimaryKey primaryKey = (WorkFlowsHandleDAO.QueryOrderPrimaryKey)orderType;
                sqlStr = "";
                foreach (DataRow conditonRow in wfHandleTable.Rows)
                {
                    string tempStr = DataHandler.SQLStringReplaceHandle(DataTypeConvert.GetString(conditonRow["Condition"]));
                    if (tempStr == "")
                    {
                        tempStr = " 1=1";
                    }
                    sqlStr += string.Format("select * from {0} where {1} and {2} in (select DataNo from BS_WorkFlowsDataCurrentNode as curNode where ISNULL(IsEnd,0)= 0 and CurrentNodeId in (select NodeId from BS_WorkFlowsLine where AutoId = {3}) and ApproverLevel ={4}) Union ", viewName, tempStr, primaryKey, lineIdInt, conditonRow["MultiLevelApprover"]);
                }
                if (sqlStr.Length > 6)
                {
                    return(sqlStr.Substring(0, sqlStr.Length - 6));
                }
                else
                {
                    return(string.Format("Select * from {0} where 1=2", viewName));
                }
            }
            else
            {
                return("");
            }
        }
Esempio n. 2
0
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            //FrmProjectPlanTask fomr = new FrmProjectPlanTask();
            //try
            //{

            //    fomr.ShowDialog();
            //}
            //catch(Exception ex)
            //{
            //    MessageHandler.ShowMessageBox(ex.Message);
            //}

            WorkFlowsHandleDAO.OrderType orderType = WorkFlowsHandleDAO.OrderType.请购单;

            string ss = ((WorkFlowsHandleDAO.QueryOrderViewName)((int)orderType)).ToString();
        }