- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
string sql = "select " + (sender == sbFind_Phone ? "distinct " : "") +
"orders.id, orders.dat_add, users.family, orders.status, " +
"clients.name, clients.phone, " +
"orders.adress, orders.note_adress, orders.dat, orders.time_, orders.\"SUM\", orders.skidka, " +
"factories.name, " +
"drivers.family || ' ' || drivers.name, orders.actions, " +
"orders.pay, orders.enter, clients.note, orders.website " + // website: 0 - сайт 1, 1 - сайт 2
(
bPrimeCost || bRolly ? ", orders.subitems || ';' || orders.actions || ';' " : ""
) +
"from orders " +
"left outer join users on users.id = orders.id_user_in " +
"left outer join clients on clients.id = orders.id_client " +
"left outer join factories on factories.id = orders.factory " +
"left outer join drivers on drivers.id = orders.driver " +
(
bFrom_Site ? //---- поиск заказов с сайта ---------
"where factory = " + Factorys[cbFactories.SelectedIndex - 1].id.ToString()
: sender == sbMobil ? //---- поиск заказов, поступивших с моб./устройств
"where '" + (bDataDelivery
? dataFrom.ToShortDateString() + "'<= dat and dat < '" + dtTo.AddDays(1).ToShortDateString() + "'"
: // дата доставки попадает в интервал или
dataFrom.ToShortDateString() + "'<= dat_add and dat_add < '" + dtTo.AddDays(1).ToShortDateString() +
"'" // дата приема заказа попадает в интервал
) +
" and (orders.note_adress containing 'Android' or orders.note_adress containing 'IOS')"
: sender == sbFind_Phone ? //---- поиск по номеру телефона ------
"where orders.id_client = " + ((id_client_Phone as int?)?.ToString() ?? "0")
: sender == sbFind_Order // так быстрее
? //---- поиск заказов по номеру -------
"where orders.id in (" + sOrders + ")"
: "where '" + //---- поиск заказов по фильтрам ----
(bDataDelivery
? dataFrom.ToShortDateString() + "'<= dat and dat < '" + dtTo.AddDays(1).ToShortDateString() +
"'"
: // дата доставки попадает в интервал или
dataFrom.ToShortDateString() + "'<= dat_add and dat_add < '" + dtTo.AddDays(1).ToShortDateString() +
"'" // дата приема заказа попадает в интервал
)
+ //---- вид оплаты --------------------
(!chPayNal.Checked ? " and orders.pay != 0 " : "") + // 0 - нал.
(!chPayOnl.Checked ? " and orders.pay != 1 " : "") + // 1 - онлайн
(!chPayMt.Checked ? " and orders.pay != 3 " : "") + // 3 - моб/терминал
(!chPayNull.Checked ? " and orders.pay != 2 " : "") // 2 - б/о
+ //---- откуда поступил ---------------
(!chFromPhone.Checked ? " and orders.enter != 0 " : "") + // 0 - телефон
(!chFromSite.Checked ? " and orders.enter != 1 " : "") + // 1 - сайт
(!chFromClub.Checked ? " and orders.enter != 2 " : "") // 2 - delivery club
+
(rbTake.Checked
? " and orders.status = 0"
: // принят
rbKitchen.Checked
? " and orders.status = 1"
: // на кухне
// rbReady.Checked ? " and orders.status = 2": // готов - убрал, не хватает места
rbShip.Checked
? " and orders.status = 3"
: // в пути
// rbDelive.Checked ? " and orders.status = 4": // доставлен - убрал, не хватает места
rbPay.Checked
? " and orders.status = 5"
: // оплачен
rbCancel.Checked ? " and orders.status = 6" : "" // отменен
)
+ // производство
(cbFactories.SelectedIndex <= 0
? ""
: " and factory = " + Factorys[cbFactories.SelectedIndex - 1].id.ToString()
)
+ // акция
(cbActions.SelectedIndex <= 0
? ""
: " and substring(actions from 1 for " +
Actions[cbActions.SelectedIndex - 1].id.ToString().Length.ToString() + ") = '"
+ Actions[cbActions.SelectedIndex - 1].id.ToString() + "'"
)
+ // манагеры
(cbManagers.SelectedIndex <= 0
? ""
: " and orders.id_user_in = " + Managers[cbManagers.SelectedIndex - 1].id.ToString()
)
+ // водители
(cbDrivers.SelectedIndex <= 0
? ""
: " and orders.driver = " + Drivers[cbDrivers.SelectedIndex - 1].id.ToString()
)
+ // сайт заказа: первый(0) или второй(1)
(rbSiteAll.Checked
? ""
: " and orders.website = " +
(rbSitePirogu.Checked ? FLogo.LOGO_1 : FLogo.LOGO_2).ToString()
)
);
Абсолютно коричневый код одного пожилого разработчика с 20-летним стажем и кандидатской степенью (прямо в классе формы).