Пример #1
0
        // Token: 0x0600029B RID: 667 RVA: 0x00017474 File Offset: 0x00015674
        private string getSqlStr(int type)
        {
            int selectedIndex  = this.queryItemCB.SelectedIndex;
            int selectedIndex2 = this.typeCB.SelectedIndex;

            if (selectedIndex >= 0 && selectedIndex2 >= 0 && this.qces != null && this.qces.Count > selectedIndex)
            {
                QueryConditionEntity queryConditionEntity = this.qces[selectedIndex];
                string sqlKeys           = queryConditionEntity.SqlKeys;
                bool   showInputAsCB     = queryConditionEntity.ShowInputAsCB;
                string text              = this.valueTB.Text.Trim();
                bool   cbDataDirectValue = queryConditionEntity.CbDataDirectValue;
                if (showInputAsCB)
                {
                    int selectedIndex3 = this.valuesCB.SelectedIndex;
                    if (selectedIndex3 >= 0 && selectedIndex3 < queryConditionEntity.CbData.Count)
                    {
                        if (!cbDataDirectValue)
                        {
                            string   input = queryConditionEntity.CbData[selectedIndex3];
                            Regex    regex = new Regex("-");
                            string[] array = regex.Split(input);
                            text = array[0];
                        }
                        else
                        {
                            text = string.Concat(selectedIndex3);
                        }
                    }
                    else
                    {
                        text = "";
                    }
                }
                if (selectedIndex2 == 2)
                {
                    text = "%" + text + "%";
                }
                QueryValue queryValue = new QueryValue();
                queryValue.AndOr = ((type == this.AND) ? "AND" : "OR");
                queryValue.Value = text;
                queryValue.Oper  = this.operators3[selectedIndex2];
                if (this.sqlDicts.ContainsKey(sqlKeys))
                {
                    this.sqlDicts[sqlKeys] = queryValue;
                }
                else
                {
                    this.sqlDicts.Add(sqlKeys, queryValue);
                }
            }
            string text2 = null;

            for (int i = 0; i < this.sqlDicts.Keys.Count; i++)
            {
                string     text3       = this.sqlDicts.Keys.ElementAt(i);
                QueryValue queryValue2 = this.sqlDicts[text3];
                string     text4       = text2;
                text2 = string.Concat(new string[]
                {
                    text4,
                    (i == 0) ? "" : queryValue2.AndOr,
                    " ",
                    text3,
                    " ",
                    queryValue2.Oper,
                    " ",
                    queryValue2.Value,
                    " "
                });
            }
            return(text2);
        }
        // Token: 0x060003F8 RID: 1016 RVA: 0x0003717C File Offset: 0x0003537C
        public void queryDB(Dictionary <string, QueryValue> dicts)
        {
            if (this.qb == null || dicts == null || dicts.Count < 0)
            {
                return;
            }
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("userId");
            dataTable.Columns.Add("username");
            dataTable.Columns.Add("identityId");
            dataTable.Columns.Add("phoneNum");
            dataTable.Columns.Add("address");
            dataTable.Columns.Add("usertype");
            dataTable.Columns.Add("priceType");
            dataTable.Columns.Add("paytype");
            dataTable.Columns.Add("pursuitTimes");
            dataTable.Columns.Add("pursuitNum");
            dataTable.Columns.Add("paynum");
            dataTable.Columns.Add("time");
            dataTable.Columns.Add("operator");
            string text = "";

            if (this.qb.getOperationId() == "")
            {
                WMMessageBox.Show(this, "请输入员工号!");
                return;
            }
            this.db.AddParameter("staffId", this.qb.getOperationId());
            if (this.db.ExecuteRow("SELECT * FROM staffTable WHERE staffId=@staffId") == null)
            {
                WMMessageBox.Show(this, "没有查询到该员工!");
                return;
            }
            List <string> list = new List <string>();
            string        sqlStrForQueryUser = this.getSqlStrForQueryUser(dicts);
            DataTable     dataTable2;

            if (sqlStrForQueryUser != "")
            {
                foreach (string key in dicts.Keys)
                {
                    QueryValue queryValue = dicts[key];
                    this.db.AddParameter(key, queryValue.Value);
                }
                dataTable2 = this.db.ExecuteQuery("SELECT * FROM usersTable WHERE " + sqlStrForQueryUser + " ORDER BY createTime ASC");
                if (dataTable2 != null && dataTable2.Rows != null && dataTable2.Rows.Count > 0)
                {
                    foreach (object obj in dataTable2.Rows)
                    {
                        DataRow dataRow = (DataRow)obj;
                        list.Add(dataRow["permanentUserId"].ToString());
                    }
                }
            }
            if (list.Count > 0)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    string text2 = list[i];
                    this.db.AddParameter("permanentUserId" + text2, text2);
                    if (i != 0)
                    {
                        text += " OR ";
                    }
                    text = text + "permanentUserId=@permanentUserId" + text2;
                }
            }
            else if (list.Count == 0 && dicts.Count != 0 && sqlStrForQueryUser != "")
            {
                this.qb.initDGV(this.initDGV(dataTable));
                return;
            }
            TimeSpan timeSpan  = this.qb.getStartDT() - WMConstant.DT1970;
            TimeSpan timeSpan2 = this.qb.getEndDT() - WMConstant.DT1970;

            this.db.AddParameter("createTimeStart", string.Concat(timeSpan.TotalSeconds));
            this.db.AddParameter("createTimeEnd", string.Concat(timeSpan2.TotalSeconds));
            this.db.AddParameter("staffId", this.qb.getOperationId());
            this.db.AddParameter("lastReadInfo", "0");
            string sqlKeys = this.getQueryConditionEntitys()[7].SqlKeys;

            if (dicts.ContainsKey(sqlKeys))
            {
                QueryValue queryValue2 = dicts[sqlKeys];
                this.db.AddParameter(sqlKeys, queryValue2.Value);
                string text3 = text;
                text = string.Concat(new string[]
                {
                    text3,
                    (text == "") ? "" : (" " + queryValue2.AndOr + " "),
                    sqlKeys,
                    queryValue2.Oper,
                    "@",
                    sqlKeys
                });
                if (queryValue2.Value == "1")
                {
                    this.db.AddParameter("operateType1", "0");
                    text += " OR operateType=@operateType1";
                }
            }
            dataTable2 = this.db.ExecuteQuery("SELECT * FROM userCardLog WHERE " + ((text == "") ? "" : ("(" + text + ") AND ")) + "lastReadInfo=@lastReadInfo AND operator=@staffId AND time>=@createTimeStart AND time<=@createTimeEnd ORDER BY operationId ASC");
            text       = "";
            if (dataTable2 != null && dataTable2.Rows != null && dataTable2.Rows.Count > 0)
            {
                foreach (object obj2 in dataTable2.Rows)
                {
                    DataRow dataRow2 = (DataRow)obj2;
                    this.db.AddParameter("permanentUserId", dataRow2["permanentUserId"].ToString());
                    DataRow dataRow3 = this.db.ExecuteRow("SELECT * FROM usersTable WHERE permanentUserId=@permanentUserId");
                    if (dataRow3 != null)
                    {
                        this.db.AddParameter("typeId", dataRow3["userTypeId"].ToString());
                        DataRow dataRow4 = this.db.ExecuteRow("SELECT * FROM userTypeTable WHERE typeId=@typeId");
                        this.db.AddParameter("priceConsistId", dataRow3["userPriceConsistId"].ToString());
                        DataRow dataRow5 = this.db.ExecuteRow("SELECT * FROM priceConsistTable WHERE priceConsistId=@priceConsistId");
                        if (dicts.ContainsKey(sqlKeys))
                        {
                            QueryValue queryValue3 = dicts[sqlKeys];
                            text = "payType=@payType";
                            string value;
                            if ((value = queryValue3.Value) != null)
                            {
                                if (!(value == "0") && !(value == "1") && !(value == "2") && !(value == "4"))
                                {
                                    if (!(value == "3"))
                                    {
                                        if (value == "5")
                                        {
                                            this.db.AddParameter("payType", "7");
                                        }
                                    }
                                    else
                                    {
                                        this.db.AddParameter("payType", "5");
                                    }
                                }
                                else
                                {
                                    this.db.AddParameter("payType", queryValue3.Value);
                                }
                            }
                        }
                        this.db.AddParameter("userCardLogId", dataRow2["operationId"].ToString());
                        DataTable dataTable3 = this.db.ExecuteQuery("SELECT * FROM payLogTable WHERE userCardLogId=@userCardLogId" + ((text == "") ? "" : (" AND " + text)));
                        if (dataTable3 != null && dataTable3.Rows != null && dataTable3.Rows.Count > 0)
                        {
                            foreach (object obj3 in dataTable3.Rows)
                            {
                                DataRow dataRow6 = (DataRow)obj3;
                                DataRow dataRow7 = dataTable.NewRow();
                                dataRow7["userId"]       = dataRow3["userId"].ToString();
                                dataRow7["username"]     = dataRow3["username"].ToString();
                                dataRow7["identityId"]   = dataRow3["identityId"].ToString();
                                dataRow7["phoneNum"]     = dataRow3["phoneNum"].ToString();
                                dataRow7["address"]      = dataRow3["address"].ToString();
                                dataRow7["usertype"]     = ((dataRow4 == null) ? "" : dataRow4["userType"].ToString());
                                dataRow7["priceType"]    = ((dataRow5 == null) ? "" : dataRow5["priceConstistName"].ToString());
                                dataRow7["paytype"]      = WMConstant.PayTypeList[(int)(checked ((IntPtr)(Convert.ToInt64(dataRow6["payType"]))))];
                                dataRow7["pursuitTimes"] = dataRow2["consumeTimes"].ToString();
                                dataRow7["pursuitNum"]   = dataRow6["pursuitNum"].ToString();
                                dataRow7["paynum"]       = dataRow6["totalPrice"].ToString();
                                dataRow7["time"]         = WMConstant.DT1970.AddSeconds(ConvertUtils.ToDouble(dataRow2["time"].ToString())).ToString("yyyy-MM-dd HH:mm:ss");
                                dataRow7["operator"]     = dataRow2["operator"].ToString();
                                dataTable.Rows.Add(dataRow7);
                                dataTable.AcceptChanges();
                            }
                        }
                    }
                }
            }
            this.qb.initDGV(this.initDGV(dataTable));
        }