Browse Source

Show crop action detail

master
daivph 5 years ago
parent
commit
6e660277e9
5 changed files with 186 additions and 4 deletions
  1. +177
    -0
      lib/custom_model/CropPlot.dart
  2. +2
    -1
      lib/data/api/rest_client.dart
  3. +1
    -1
      lib/data/api/rest_client.g.dart
  4. +2
    -1
      lib/data/repository/repository.dart
  5. +4
    -1
      lib/presentation/screens/plot_detail/sc_plot_action.dart

+ 177
- 0
lib/custom_model/CropPlot.dart View File

class CropPlot {
TbCropDTO tbCropDTO;
List<Activities> activities;
String sowingDate;
int soakSeedsTime;
int seedIncubationTime;
int numberPlants;
int numberCurrentPlants;
String endOfFarmingDate;

CropPlot(
{this.tbCropDTO,
this.activities,
this.sowingDate,
this.soakSeedsTime,
this.seedIncubationTime,
this.numberPlants,
this.numberCurrentPlants,
this.endOfFarmingDate});

CropPlot.fromJson(Map<String, dynamic> json) {
tbCropDTO = json['tbCropDTO'] != null
? new TbCropDTO.fromJson(json['tbCropDTO'])
: null;
if (json['activities'] != null) {
activities = new List<Activities>();
json['activities'].forEach((v) {
activities.add(new Activities.fromJson(v));
});
}
sowingDate = json['sowingDate'];
soakSeedsTime = json['soakSeedsTime'];
seedIncubationTime = json['seedIncubationTime'];
numberPlants = json['numberPlants'];
numberCurrentPlants = json['numberCurrentPlants'];
endOfFarmingDate = json['endOfFarmingDate'];
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.tbCropDTO != null) {
data['tbCropDTO'] = this.tbCropDTO.toJson();
}
if (this.activities != null) {
data['activities'] = this.activities.map((v) => v.toJson()).toList();
}
data['sowingDate'] = this.sowingDate;
data['soakSeedsTime'] = this.soakSeedsTime;
data['seedIncubationTime'] = this.seedIncubationTime;
data['numberPlants'] = this.numberPlants;
data['numberCurrentPlants'] = this.numberCurrentPlants;
data['endOfFarmingDate'] = this.endOfFarmingDate;
return data;
}
}

class TbCropDTO {
int id;
String qrCode;
String code;
num areaM2;
int type;
String startDate;
String endDate;
String status;
String description;
int ageDayStartAt;
int tbSuppliesId;
String suppliesName;
int tbGuidelineId;
int netHouseId;
String netHouseName;
int areaId;
String area;

TbCropDTO(
{this.id,
this.qrCode,
this.code,
this.areaM2,
this.type,
this.startDate,
this.endDate,
this.status,
this.description,
this.ageDayStartAt,
this.tbSuppliesId,
this.suppliesName,
this.tbGuidelineId,
this.netHouseId,
this.netHouseName,
this.areaId,
this.area});

TbCropDTO.fromJson(Map<String, dynamic> json) {
id = json['id'];
qrCode = json['qrCode'];
code = json['code'];
areaM2 = json['areaM2'];
type = json['type'];
startDate = json['startDate'];
endDate = json['endDate'];
status = json['status'];
description = json['description'];
ageDayStartAt = json['ageDayStartAt'];
tbSuppliesId = json['tbSuppliesId'];
suppliesName = json['suppliesName'];
tbGuidelineId = json['tbGuidelineId'];
netHouseId = json['netHouseId'];
netHouseName = json['netHouseName'];
areaId = json['areaId'];
area = json['area'];
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['qrCode'] = this.qrCode;
data['code'] = this.code;
data['areaM2'] = this.areaM2;
data['type'] = this.type;
data['startDate'] = this.startDate;
data['endDate'] = this.endDate;
data['status'] = this.status;
data['description'] = this.description;
data['ageDayStartAt'] = this.ageDayStartAt;
data['tbSuppliesId'] = this.tbSuppliesId;
data['suppliesName'] = this.suppliesName;
data['tbGuidelineId'] = this.tbGuidelineId;
data['netHouseId'] = this.netHouseId;
data['netHouseName'] = this.netHouseName;
data['areaId'] = this.areaId;
data['area'] = this.area;
return data;
}
}

class Activities {
int id;
int ageDay;
int cropId;
String executeDate;
String description;
int activityTypeId;
String activityTypeName;

Activities(
{this.id,
this.ageDay,
this.cropId,
this.executeDate,
this.description,
this.activityTypeId,
this.activityTypeName});

Activities.fromJson(Map<String, dynamic> json) {
id = json['id'];
ageDay = json['ageDay'];
cropId = json['cropId'];
executeDate = json['executeDate'];
description = json['description'];
activityTypeId = json['activityTypeId'];
activityTypeName = json['activityTypeName'];
}

Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['ageDay'] = this.ageDay;
data['cropId'] = this.cropId;
data['executeDate'] = this.executeDate;
data['description'] = this.description;
data['activityTypeId'] = this.activityTypeId;
data['activityTypeName'] = this.activityTypeName;
return data;
}
}

+ 2
- 1
lib/data/api/rest_client.dart View File

import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:farm_tpf/custom_model/CropPlot.dart';
import 'package:farm_tpf/custom_model/account.dart'; import 'package:farm_tpf/custom_model/account.dart';
import 'package:farm_tpf/custom_model/password.dart'; import 'package:farm_tpf/custom_model/password.dart';
import 'package:farm_tpf/custom_model/user.dart'; import 'package:farm_tpf/custom_model/user.dart';
//Crop //Crop
@GET( @GET(
"/api/tb-crops-detail/{cropId}?page={page}&size={size}&sort=executeDate,DESC") "/api/tb-crops-detail/{cropId}?page={page}&size={size}&sort=executeDate,DESC")
Future<Crop> getCropDetail(@Path() int cropId,
Future<CropPlot> getCropDetail(@Path() int cropId,
{@Path() int page = 0, @Path() int size = 20}); {@Path() int page = 0, @Path() int size = 20});
} }

+ 1
- 1
lib/data/api/rest_client.g.dart View File

extra: _extra, extra: _extra,
baseUrl: baseUrl), baseUrl: baseUrl),
data: _data); data: _data);
final value = Crop.fromJson(_result.data);
final value = CropPlot.fromJson(_result.data);
return value; return value;
} }
} }

+ 2
- 1
lib/data/repository/repository.dart View File

import 'package:farm_tpf/custom_model/CropPlot.dart';
import 'package:farm_tpf/custom_model/user.dart'; import 'package:farm_tpf/custom_model/user.dart';
import 'package:farm_tpf/custom_model/user_request.dart'; import 'package:farm_tpf/custom_model/user_request.dart';
import 'package:farm_tpf/data/api/dio_provider.dart'; import 'package:farm_tpf/data/api/dio_provider.dart';
return client.getActionTypes(); return client.getActionTypes();
} }


Future<Crop> getPlotDetail(int cropId, {int page, int size}) {
Future<CropPlot> getPlotDetail(int cropId, {int page, int size}) {
final client = RestClient(dio); final client = RestClient(dio);
return client.getCropDetail(cropId, page: page, size: size); return client.getCropDetail(cropId, page: page, size: size);
} }

+ 4
- 1
lib/presentation/screens/plot_detail/sc_plot_action.dart View File

import 'package:farm_tpf/custom_model/CropPlot.dart';
import 'package:farm_tpf/data/repository/repository.dart'; import 'package:farm_tpf/data/repository/repository.dart';
import 'package:farm_tpf/models/index.dart'; import 'package:farm_tpf/models/index.dart';
import 'package:farm_tpf/presentation/custom_widgets/bottom_loader.dart'; import 'package:farm_tpf/presentation/custom_widgets/bottom_loader.dart';
SliverList( SliverList(
delegate: SliverChildListDelegate([ delegate: SliverChildListDelegate([
Container( Container(
height: 40,
color: COLOR_CONST.WHITE_50,
alignment: Alignment.center, alignment: Alignment.center,
child: _showTitle(context) child: _showTitle(context)
? Text("") ? Text("")
} }


class ItemInfinityWidget extends StatelessWidget { class ItemInfinityWidget extends StatelessWidget {
final HistoryActivity item;
final Activities item;


const ItemInfinityWidget({Key key, @required this.item}) : super(key: key); const ItemInfinityWidget({Key key, @required this.item}) : super(key: key);



Loading…
Cancel
Save