You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

76 lines
3.8 KiB

  1. <?php
  2. namespace backend\modules\hotel\models;
  3. use yii\data\ActiveDataProvider;
  4. use Yii;
  5. /**
  6. * This is the model class for table "order_main".
  7. *
  8. * @property string $TOTAL_COMMISSION
  9. */
  10. class SaleReport extends Report
  11. {
  12. /**
  13. * @inheritdoc
  14. */
  15. public function rules()
  16. {
  17. return [
  18. [['ID', 'ORDER_BOOK_STATUS', 'PROD_START_STATION_TIME_MINUTES'], 'required'],
  19. [['ID', 'CANCEL_FLAG', 'MAIN_CREATE_USER_ID', 'CREATE_USER_ID', 'UPDATE_USER_ID', 'SALE_ORG_ID', 'SALE_TOP_ORG_ID', 'PROD_TOP_ORG_ID', 'ORDER_ID', 'ORDER_VALID_STATUS', 'ORDER_BOOK_STATUS', 'ORDER_PAY_STATUS', 'ORDER_PAY_MAIN_ID', 'ORDER_PAY_USER_ID', 'ORDER_PRINT_TIMES', 'PARENT_ORDER_ID', 'PROD_ID', 'PARENT_PROD_ID', 'ORDER_PROD_TYPE', 'RUN_ID', 'RUN_DATE_NUM', 'RUN_TIME_MINUTES', 'RUN_BUS_ORDER_ID', 'RUN_BUS_SEAT_TYPE', 'RUN_BUS_SEAT_SEQ_ID', 'RUN_BUS_SEAT_ID', 'PROD_START_STATION_RES_ID', 'PROD_START_STATION_CHECKPORT_RES_ID', 'PROD_START_STATION_SEQ_ID', 'PROD_START_STATION_DATE_NUM', 'PROD_START_STATION_TIME_MINUTES', 'PROD_START_STATION_AREA_ID', 'PROD_END_STATION_RES_ID', 'PROD_END_STATION_SEQ_ID', 'PROD_END_STATION_DATE_NUM', 'PROD_END_STATION_TIME_MINUTES', 'PROD_END_STATION_AREA_ID', 'CUSTOMER_SEX', 'CUSTOMER_ID_TYPE', 'CUSTOMER_ADDRESS_AREA_ID', 'MEMBER_ID', 'MEMBER_SCORE_PAY', 'MEMBER_SCORE_GET', 'ORDER_STATUS', 'ORDER_DISABLE_TYPE', 'ORDER_DISABLE_USER_ID', 'ORDER_DISABLE_APPLY_USER_ID', 'KEEP_END_MINUTES', 'if_gift', 'reorder_times', 'IF_LAST_PROD', 'ORDER_LEVEL', 'OUTSIDE_SALE_ORG_ID', 'IS_UP', 'APPLY_ID', 'REAL_PASSENGER_NUM', 'STOCK_TYPE', 'REFUSE_FLAG'], 'integer'],
  20. [['ORDER_DESCRIPTION'], 'string'],
  21. [['ORDER_PRICE', 'BASE_PRICE', 'MID_PRICE', 'ORDER_DISABLE_PERCENT', 'ORDER_DISABLE_FEE', 'RECEIVE_VALUE', 'PROFIT_VALUE', 'TOTAL_COMMISSION'], 'number'],
  22. [['CREATE_TIME', 'UPDATE_TIME', 'RUN_DATE', 'PROD_START_STATION_DATE', 'PROD_END_STATION_DATE', 'ORDER_DISABLE_TIME', 'ORDER_DISABLE_APPLY_TIME', 'KEEP_END_TIME'], 'string', 'max' => 20],
  23. [['OUTSIDE_ORDER_NO', 'PROD_NAME', 'PARENT_PROD_NAME', 'CUSTOMER_ADDRESS'], 'string', 'max' => 200],
  24. [['ORDER_PAY_TIME'], 'string', 'max' => 255],
  25. [['PROD_SUPPLY_ORG_NAME', 'RUN_BUS_SEAT_NAME', 'PROD_START_STATION_RES_NAME', 'PROD_START_STATION_CHECKPORT_RES_NAME', 'PROD_START_STATION_AREA_NAME', 'PROD_END_STATION_RES_NAME', 'PROD_END_STATION_AREA_NAME', 'CUSTOMER_NAME', 'CUSTOMER_MOBILE', 'CUSTOMER_ID_NO', 'CUSTOMER_POSTCODE'], 'string', 'max' => 100],
  26. [['RUN_TIME', 'PROD_START_STATION_TIME', 'PROD_END_STATION_TIME'], 'string', 'max' => 10],
  27. [['CUSTOMER_MEMO'], 'string', 'max' => 500],
  28. [['ORDER_CONFIRM_CODE', 'SALES_MAN'], 'string', 'max' => 50],
  29. ];
  30. }
  31. /**
  32. * @inheritdoc
  33. */
  34. public function attributeLabels()
  35. {
  36. return [
  37. 'TOTAL_COMMISSION' => 'Total Commission',
  38. ];
  39. }
  40. //可以通过search函数查询,也可以通过sql查询拼接返回结果
  41. public function search($params)
  42. {
  43. $query = OrderMain::find();
  44. // add conditions that should always apply here
  45. $dataProvider = new ActiveDataProvider([
  46. 'query' => $query,
  47. ]);
  48. $this->load($params);
  49. if (!$this->validate()) {
  50. // uncomment the following line if you do not want to return any records when validation fails
  51. // $query->where('0=1');
  52. return $dataProvider;
  53. }
  54. // grid filtering conditions
  55. $query->andFilterWhere([
  56. 'ID' => $this->ID,
  57. 'CANCEL_FLAG' => $this->CANCEL_FLAG,
  58. ]);
  59. $query->andFilterWhere(['like', 'CREATE_TIME', $this->CREATE_TIME])
  60. ->andFilterWhere(['like', 'SALES_MAN', $this->SALES_MAN]);
  61. return $dataProvider;
  62. }
  63. }