day_statics_model.dart 6.36 KB

import 'dart:convert' as convert;
import 'package:common_utils/common_utils.dart';
import 'package:one_key/models/table_list.dart' as t;

class DayStaticsModel {
  int? ret;
  DayStaticsSunModel? data;
  String? msg;

  DayStaticsModel({this.ret, this.data, this.msg});

  DayStaticsModel.fromJson(Map<String, dynamic> json) {
    ret = json['ret'];
    data = json['data'] != null
        ? new DayStaticsSunModel.fromJson(json['data'])
        : null;
    msg = json['msg'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ret'] = this.ret;
    if (this.data != null) {
      data['data'] = this.data!.toJson();
    }
    data['msg'] = this.msg;
    return data;
  }
}

class DayStaticsSunModel {
  dynamic ddateSolt;
  dynamic totalRserve;
  dynamic totalPnum;
  dynamic totalDao;
  dynamic totalCel;
  dynamic totalPrice;
  dynamic totalConsume;
  dynamic avgPrice;
  dynamic totalDaoKe;
  dynamic totalTable;
  dynamic daoTable;
  dynamic storeWine;
  dynamic order;
  dynamic plancook;
  dynamic agvTable;
  Map<String, ItemData>? daydata;

  DayStaticsSunModel(
      {this.ddateSolt,
      this.totalRserve,
      this.totalPnum,
      this.totalDao,
      this.totalCel,
      this.totalPrice,
      this.totalConsume,
      this.avgPrice,
      this.totalDaoKe,
      this.totalTable,
      this.daoTable,
      this.storeWine,
      this.order,
      this.plancook,
      this.agvTable,
      this.daydata});

  DayStaticsSunModel.fromJson(Map<String, dynamic> json) {
    ddateSolt = json['ddate_solt'];
    totalRserve = json['totalRserve'];
    totalPnum = json['totalPnum'];
    totalDao = json['totalDao'];
    totalCel = json['totalCel'];
    totalPrice = json['totalPrice'];
    totalConsume = json['totalConsume'];
    avgPrice = json['avgPrice'];
    totalDaoKe = json['totalDaoKe'];
    totalTable = json['totalTable'];
    daoTable = json['daoTable'];
    storeWine = json['storeWine'];
    order = json['Order'];
    plancook = json['Plancook'];
    agvTable = json['agvTable'];
    if (json['list'] != null) {
      daydata = {};

      Map map = json['list'].map((key, value) {
        List<DsoltListModel> temp = [];
        value.forEach((element) {
          temp.add(DsoltListModel.fromJson(element));
        });

        ItemData itemData = ItemData();
        itemData.dsoltListModelItem = temp;
        itemData.expansion = true;

        return MapEntry(key, itemData);
      });

      daydata = Map<String, ItemData>.from(map);
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ddate_solt'] = this.ddateSolt;
    data['totalRserve'] = this.totalRserve;
    data['totalPnum'] = this.totalPnum;
    data['totalDao'] = this.totalDao;
    data['totalCel'] = this.totalCel;
    data['totalPrice'] = this.totalPrice;
    data['totalConsume'] = this.totalConsume;
    data['avgPrice'] = this.avgPrice;
    data['totalDaoKe'] = this.totalDaoKe;
    data['totalTable'] = this.totalTable;
    data['daoTable'] = this.daoTable;
    data['storeWine'] = this.storeWine;
    data['Order'] = this.order;
    data['Plancook'] = this.plancook;
    data['agvTable'] = this.agvTable;
    if (this.daydata != null) {
      data['list'] = this.daydata;
    }
    return data;
  }
}

class ItemData {
  bool expansion = true;
  late List<DsoltListModel> dsoltListModelItem;
}

class DsoltListModel {
  dynamic id;
  dynamic rname;
  dynamic phone;
  dynamic pnum;
  dynamic ddate;
  dynamic ddateSolt;
  dynamic tableinfo;
  dynamic sex;
  dynamic uid;
  dynamic actualPum;
  dynamic conAmount;
  dynamic cusdem;
  dynamic nickName;
  dynamic isOrder;
  dynamic avgPrice;
  dynamic isStoreWine;

  String get tableinfoName {
    if (tableinfo == null) {
      return '';
    }
    List<dynamic> tableinfoList = convert.jsonDecode(tableinfo);
    print(tableinfo);
    String _nameStr = '';

    for (int i = 0; i < tableinfoList.length; i++) {
      _nameStr += '${t.TableList.fromJson(tableinfoList[i]).name},';
    }
    if (_nameStr.endsWith(',')) {
      _nameStr = _nameStr.substring(0, _nameStr.length - 1);
    }
    return _nameStr;
  }

  String? get rnameStr {
    if (rname == null || rname == '' || rname == ' ') return "";
    switch (sex.toString()) {
      case "1": //先生
      case "男":
      case "先生":
        return rname + "先生";
      case "2": //女士
      case "女":
      case "女士":
        return rname + "女士";
      case "3": //公司
      case "公司":
        return rname + "公司";
      case "4": //贵宾
      case "贵宾":
        return rname + "贵宾";
    }
  }

  String get ddateStr {
    if (ddate.toString() == '0') {
      return '';
    }
    DateTime dateTime =
        DateTime.fromMillisecondsSinceEpoch(int.parse(ddate.toString()) * 1000);
    return DateUtil.formatDate(dateTime, format: DateFormats.full);
  }

  DsoltListModel(
      {this.id,
      this.rname,
      this.phone,
      this.pnum,
      this.ddate,
      this.ddateSolt,
      this.tableinfo,
      this.sex,
      this.uid,
      this.actualPum,
      this.conAmount,
      this.cusdem,
      this.nickName,
      this.isOrder,
      this.avgPrice,
      this.isStoreWine});

  DsoltListModel.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    rname = json['rname'];
    phone = json['phone'];
    pnum = json['pnum'];
    ddate = json['ddate'];
    ddateSolt = json['ddate_solt'];
    tableinfo = json['tableinfo'];
    sex = json['sex'];
    uid = json['uid'];
    actualPum = json['actual_pum'];
    conAmount = json['con_amount'];
    cusdem = json['cusdem'];
    nickName = json['nick_name'];
    isOrder = json['is_order'];
    avgPrice = json['avgPrice'];
    isStoreWine = json['is_store_wine'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['rname'] = this.rname;
    data['phone'] = this.phone;
    data['pnum'] = this.pnum;
    data['ddate'] = this.ddate;
    data['ddate_solt'] = this.ddateSolt;
    data['tableinfo'] = this.tableinfo;
    data['sex'] = this.sex;
    data['uid'] = this.uid;
    data['actual_pum'] = this.actualPum;
    data['con_amount'] = this.conAmount;
    data['cusdem'] = this.cusdem;
    data['nick_name'] = this.nickName;
    data['is_order'] = this.isOrder;
    data['avgPrice'] = this.avgPrice;
    data['is_store_wine'] = this.isStoreWine;
    return data;
  }
}