import 'package:json_annotation/json_annotation.dart'; import 'package:lszlgl/model/num_converter.dart'; import 'package:lszlgl/model/string_converter.dart'; import '../../service/dict_service.dart'; part 'sample_task_rsp.g.dart'; @JsonSerializable(converters: [NumConverter(), StringConverter()]) class SampleTaskListRsp { final num? total; final List? list; const SampleTaskListRsp({ this.total, this.list, }); factory SampleTaskListRsp.fromJson(Map json) => _$SampleTaskListRspFromJson(json); Map toJson() => _$SampleTaskListRspToJson(this); } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class SampleTaskItem { num? id; String? qyryName; // 人员名称 String? fjrq; // 分解日期 String? ypbh; // 样品编号 String? jtpzmc; // 具体品种名称 num? deliveryStatus; // 任务单任务状态:0是待领取,1是待扦样,2已扦样 num? ypdj; // 样品等级--字典获取 String? jyzb; // 检验指标:质量/品质/食安 String? qydq; // 扦样地区 num? jhcysl; // 计划采样数量 num? zljysl; // 质量检验数量 num? pzjyjg; // 品质检验机构 num? pzjysl; // 品质检验数量 num? sajyjg; // 食安检验机构 num? sajysl; // 食安检验数量 num? jhcyjg; // 扦样机构 String? lspz; // 粮食品种 num? bchlx; // 病虫害类型 String? bdcnhhhzs; // 被调查农户或合作社 num? gcpwlx; // 工厂排污类型 String? lxfs; // 联系方式 num? qydbsl; // 扦样代表数量(公斤) String? qyddjwd; // 扦样地点经纬度 String? qysj; // 扦样时间 num? qysl; // 扦样数量(公斤) bool? scgczsffsbjyzdbch; // 生产过程中是否发生比较严重的病虫害 String? sheng; // 省 String? shi; // 市 String? qu; // 区 String? xian; // 县 String? cun; // 村 num? shidu; // 湿度 String? shsj; // 收获时间 num? trdllx; // 土壤地理类型 num? wendu; // 温度 num? wrwlx; // 污染物类型 num? zzmj; // 种植面积(亩地) bool? zztdzwsfygcpw; // 种植土地周围是否有工厂排污 bool? zztdzwsysytrsfywr; // 种植土地周围使用水源、土壤是否有污染 num? zjBaseEnterpriseId; // 企业基本信息ID num? zjBasePersonnelId; // 人员基本信息表ID num? zjCodeSamplingTaskId; num? zjCodeSamplingPlanId; // 采样计划详情ID String? xzqh; // 行政区划 num? zjBaseGrainInformationId; // 品种id num? cypzmc; // 采样品种名称 String? cypzName; // 采样品种名称 String? qyrwdh; // 扦样任务单号 num? shengXzqh; // 省行政区划id num? shiXzqh; // 市行政区划id num? quXzqh; // 区行政区划id num? xiangXzqh; // 县行政区划id num? cunXzqh; // 村行政区划id num? createTime; // 创建时间 num? state; // 0是待扦样,1已扦样,2已完成 String? name; // 扦样人员姓名 String? dgryName; // 扦样多个人员名称: 张三,李四 String? rwjssj; // 任务接收时间 String? bsjzsj; // 报送截止时间 num? rwlx; // 任务类型/监测环节 num? jclb; // 监测类别 String? dwmc; // 单位名称 List? enterpriseList; // 机构信息 List? codeUseMedicineList; // 种植期间农药使用情况 String? zzpz; // 种植品种 String? shengXzqhName; // 省 String? shiXzqhName; // 市 String? quXzqhName; // 区 String? xiangXzqhName; // 县 String? cunXzqhName; // 村 String? cyjhbmCode; // 采样计划编号 String? cyjhmc; // 采样计划名称 String? niandu; // 年度 List? codeSamplingTaskAllotSgjcRespList; // 任务分配 // List<>? codeSamplingTaskDetailsKcjcRespVO; // 库存检测 // List<>? fplist; // 分配多条信息 num? sfyzpz; // 是否优质品种 num? yzpzlx; // 优质品种类型 num? shqjsffslyytq; // 收获期间是否发生连阴雨天气 num? shlssfsfpg; // 收获粮食水分是否偏高 num? jnlbdsffszmwr; // 近年来本地是否发生真菌毒素污染 num? zjdswrlx; // 真菌毒素污染类型 num? jnlbdsfzjswr; // 近年来本地是否发生重金属污染 num? zjswrlx; // 重金属污染类型 List? jyjgxxRespVOList; // 检验机构信息 num? jypzStatus; // 检验品质按钮0显示1不显示 num? tqqk; // 天气情况 List? codeSamplingNonghuList; // 扦样农户信息 String? xzqhCode; // 行政区划六位编码 List? filePictureList; // 签名图片url List? ewmfilePictureList; // 二维码图片url SampleTaskItem({ this.id, this.qyryName, this.fjrq, this.ypbh, this.jtpzmc, this.deliveryStatus, this.ypdj, this.jyzb, this.qydq, this.jhcysl, this.zljysl, this.pzjyjg, this.pzjysl, this.sajyjg, this.sajysl, this.jhcyjg, this.lspz, this.bchlx, this.bdcnhhhzs, this.gcpwlx, this.lxfs, this.qydbsl, this.qyddjwd, this.qysj, this.qysl, this.scgczsffsbjyzdbch, this.sheng, this.shi, this.qu, this.xian, this.cun, this.shidu, this.shsj, this.trdllx, this.wendu, this.wrwlx, this.zzmj, this.zztdzwsfygcpw, this.zztdzwsysytrsfywr, this.zjBaseEnterpriseId, this.zjBasePersonnelId, this.zjCodeSamplingTaskId, this.zjCodeSamplingPlanId, this.xzqh, this.zjBaseGrainInformationId, this.cypzmc, this.cypzName, this.qyrwdh, this.shengXzqh, this.shiXzqh, this.quXzqh, this.xiangXzqh, this.cunXzqh, this.createTime, this.state, this.name, this.dgryName, this.rwjssj, this.bsjzsj, this.rwlx, this.jclb, this.dwmc, this.enterpriseList, this.codeUseMedicineList, this.zzpz, this.shengXzqhName, this.shiXzqhName, this.quXzqhName, this.xiangXzqhName, this.cunXzqhName, this.cyjhbmCode, this.cyjhmc, this.niandu, this.codeSamplingTaskAllotSgjcRespList, this.sfyzpz, this.yzpzlx, this.shqjsffslyytq, this.shlssfsfpg, this.jnlbdsffszmwr, this.zjdswrlx, this.jnlbdsfzjswr, this.zjswrlx, this.jyjgxxRespVOList, this.jypzStatus, this.tqqk, this.codeSamplingNonghuList, this.xzqhCode, this.filePictureList, this.ewmfilePictureList, }); SampleTaskItem createUI() { // 工厂排污 zztdzwsfygcpw ??= false; // 工厂排污类型 gcpwlx ??= DictService.getDictFirstNum(DictType.gcpwlx); // 水源、土壤污染 zztdzwsysytrsfywr ??= false; // 污染物类型 wrwlx ??= DictService.getDictFirstNum(DictType.wrwlx); // 病虫害 scgczsffsbjyzdbch ??= false; // 病虫害类型 bchlx ??= DictService.getDictFirstNum(DictType.bchlx); // 收获期间是否发生连阴雨天气 shqjsffslyytq ??= 1; // 收获粮食水分是否偏高 shlssfsfpg ??= 1; // 近年来本地是否发生真菌毒素污染 jnlbdsffszmwr ??= 1; // 真菌毒素污染类型 zjdswrlx ??= DictService.getDictFirstNum(DictType.zjdswrlx); // 近年来本地是否发生重金属污染 jnlbdsfzjswr ??= 1; // 重金属污染类型 zjswrlx ??= DictService.getDictFirstNum(DictType.zjswrlx); return this; } factory SampleTaskItem.fromJson(Map json) => _$SampleTaskItemFromJson(json)..createUI(); Map toJson() => _$SampleTaskItemToJson(this); String getDeliveryStatusText() { // 任务单任务状态:0是待领取,1是待扦样,2已扦样 return switch (deliveryStatus) { 0 => '待领取', 1 => '待扦样', 2 => '已扦样', _ => '' }; } Map getReqJson() { Map map = {}; map['state'] = state; map['id'] = id; map['xzqhCode'] = xzqhCode; map['xiangXzqhName'] = xiangXzqhName; map['cunXzqhName'] = cunXzqhName; map['qyddjwd'] = qyddjwd; map['zzmj'] = zzmj; map['trdllx'] = trdllx; map['bdcnhhhzs'] = bdcnhhhzs; map['lxfs'] = lxfs; map['lspz'] = lspz; map['jtpzmc'] = jtpzmc; map['sfyzpz'] = sfyzpz; map['yzpzlx'] = yzpzlx; map['shsj'] = shsj; map['qysj'] = qysj; map['qysl'] = qysl; map['qydbsl'] = qydbsl; map['wendu'] = wendu; map['shidu'] = shidu; map['zztdzwsfygcpw'] = zztdzwsfygcpw; map['gcpwlx'] = gcpwlx; map['zztdzwsysytrsfywr'] = zztdzwsysytrsfywr; map['wrwlx'] = wrwlx; map['scgczsffsbjyzdbch'] = scgczsffsbjyzdbch; map['bchlx'] = bchlx; map['shqjsffslyytq'] = shqjsffslyytq; map['shlssfsfpg'] = shlssfsfpg; map['jnlbdsffszmwr'] = jnlbdsffszmwr; map['zjdswrlx'] = zjdswrlx; map['jnlbdsfzjswr'] = jnlbdsfzjswr; map['zjswrlx'] = zjswrlx; List? medicineList = codeUseMedicineList?.where((e) => e.id == null).toList(); if (medicineList != null && medicineList.isNotEmpty) { map['codeUseMedicineList'] = medicineList.map((e) => e.toReqJson()).toList(); } map['dgryName'] = dgryName; map['tqqk'] = tqqk; List? nonghuList = codeSamplingNonghuList?.where((e) => e.id == null).toList(); if (nonghuList != null && nonghuList.isNotEmpty) { map['codeSamplingNonghuList'] = nonghuList.map((e) => e.toReqJson()).toList(); } map['filePictureList'] = filePictureList; return map; } } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class UrlItem { final String? name; final String? url; const UrlItem({this.name,this.url}); factory UrlItem.fromJson(Map json) => _$UrlItemFromJson(json); Map toJson() => _$UrlItemToJson(this); } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class EnterpriseItem { final num? id; // 单位id final String? address; // 具体地址 final String? beizhu; // 备注 final num? bgsmj; // 办公室面积(m²) final num? cqlb; // 产权类别 final num? dnczbksr; // 当年财政拨款收入 final num? dnywwtsr; // 当年业务委托收入 final num? dwdzSheng; // 省id final String? dwdzShengName; // 省名称 final num? dwdzShi; // 市id final String? dwdzShiName; // 市名称 final num? dwdzXian; // 县id final String? dwdzXianName; //县名称 final num? dwjb; // 单位级别 final String? dwmc; //单位名称 final num? dwxz; //单位性质 final String? frdb; //法人代表 final num? jglb; //机构类别 final num? jyyrs; //检验员人数 final String? lxfs; //联系方式 final num? rybzsl; //人员编制数量 final String? shtyxydm; //社会统一信用代码 final num? sysmj; //实验室面积(m²) final num? zjzmj; //总建筑面积(m²) final num? zrs; //总人数 final String? dwdz; //单位地址 final String? createTime; //创建时间 final String? creatorDeptId; //创建人所在部门id final num? deptId; //隶属部门Id final String? sjzgdw; //上级主管单位 // final List<>? jyllList; //检验能力集合 // final List<>? jyzsList; //检验证书集合 final String? flowCode; //审核编号 final num? flowStatus; //审核状态:0待发起,1审核中,2通过,3驳回 final String? flowCause; //审核意见 final num? flowCheckUserId; //审核人id final String? flowTime; //审核时间 // final List<>? kycxtdList; //科研创新团队 // final List<>? xdbzList; //牵头或参与制修订标准 // final List<>? kyxmList; //牵头或参与负责科研项目 // final List<>? hdryList; //获得荣誉 // final List<>? personnelList; //人员信息 // final List<>? instrumentEquipmentList; //设备信息 final num? personnelCount; //人员数量 final num? instrumentEquipmentCount; //设备数量 // final List<>? filePictureList; //附件(图片)地址 // final List<>? filePictureTwoList; //附件(图片)地址 // final List<>? guaPaiDeptRespVoList; //挂牌部门集合 const EnterpriseItem({ this.id, this.address, this.beizhu, this.bgsmj, this.cqlb, this.dnczbksr, this.dnywwtsr, this.dwdzSheng, this.dwdzShengName, this.dwdzShi, this.dwdzShiName, this.dwdzXian, this.dwdzXianName, this.dwjb, this.dwmc, this.dwxz, this.frdb, this.jglb, this.jyyrs, this.lxfs, this.rybzsl, this.shtyxydm, this.sysmj, this.zjzmj, this.zrs, this.dwdz, this.createTime, this.creatorDeptId, this.deptId, this.sjzgdw, this.flowCode, this.flowStatus, this.flowCause, this.flowCheckUserId, this.flowTime, this.personnelCount, this.instrumentEquipmentCount, }); factory EnterpriseItem.fromJson(Map json) => _$EnterpriseItemFromJson(json); Map toJson() => _$EnterpriseItemToJson(this); } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class UseMedicineItem { num? id; //ID String? cjsj; //创建时间 String? syff; //施药方式 String? synypz; //使用农药品种 num? synysl; //扦样使用农药的数量(公斤或毫升/每亩地) String? sysj; //施药时间 num? zjCodeSamplingTaskDetailsKcjcId; num? zjCodeSamplingTaskDetailsSgjcId; String? createTime; //创建时间 String? jcz; //检测值 String? zczfw; //正常值范围 UseMedicineItem({ this.id, this.cjsj, this.syff, this.synypz, this.synysl, this.sysj, this.zjCodeSamplingTaskDetailsKcjcId, this.zjCodeSamplingTaskDetailsSgjcId, this.createTime, this.jcz, this.zczfw, }); factory UseMedicineItem.fromJson(Map json) => _$UseMedicineItemFromJson(json); Map toJson() => _$UseMedicineItemToJson(this); Map toReqJson() { Map map = {}; map['id'] = id; map['synypz'] = synypz; map['synysl'] = synysl; map['sysj'] = sysj; map['syff'] = syff; return map; } } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class NonghuItem { /// ID num? id; /// 被调查农户或合作社 String? bdcnhhhzs; /// 扦样数量(公斤) num? qysl; /// 联系方式 String? lxfs; /// 扦样代表数量(公斤) num? qydbsl; /// 收购扦样任务单ID num? zjCodeSamplingTaskDetailsSgjcId; /// 库存扦样任务单ID num? zjCodeSamplingTaskDetailsKcjcId; NonghuItem({ this.id, this.bdcnhhhzs, this.qysl, this.lxfs, this.qydbsl, this.zjCodeSamplingTaskDetailsKcjcId, this.zjCodeSamplingTaskDetailsSgjcId, }); factory NonghuItem.fromJson(Map json) => _$NonghuItemFromJson(json); Map toJson() => _$NonghuItemToJson(this); Map toReqJson() { Map map = {}; map['id'] = id; map['bdcnhhhzs'] = bdcnhhhzs; map['qysl'] = qysl; map['lxfs'] = lxfs; map['qydbsl'] = qydbsl; return map; } } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class SamplingTaskAllotSgjcItem { final num? id; //id final num? zjBaseGrainInformationId; //品种id final String? cypzmc; //采样品种名称 final num? samplingCount; //计划采样数量 final String? bsjzsj; //报送截至时间 final num? personnelId; // 人员id final num? zjCodeSamplingPlanId; //计划id final num? zjCodeSamplingTaskId; //任务id final String? creater; //创建人 final String? createDate; //创建时间 final String? updateDate; //修改时间 final String? cyjhbmCode; //采样计划编号 final String? cyjhmc; //采样计划名称 final String? niandu; //年度 final String? zzpz; //种植品种 final num? jhcysl; //计划采样数量 const SamplingTaskAllotSgjcItem({ this.id, this.zjBaseGrainInformationId, this.cypzmc, this.samplingCount, this.bsjzsj, this.personnelId, this.zjCodeSamplingPlanId, this.zjCodeSamplingTaskId, this.creater, this.createDate, this.updateDate, this.cyjhbmCode, this.cyjhmc, this.niandu, this.zzpz, this.jhcysl, }); factory SamplingTaskAllotSgjcItem.fromJson(Map json) => _$SamplingTaskAllotSgjcItemFromJson(json); Map toJson() => _$SamplingTaskAllotSgjcItemToJson(this); } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class JyjgxxItem { //企业id final num? zjBaseEnterpriseId; //单位名称 final String? dwmc; //具体地址 final String? address; //检验单号 final String? jydh; //样品接收时间 final String? ypjssj; //数据标记 1-质量,2-品质,3-食品安全,4-储存 final num? sjbj; const JyjgxxItem({ this.zjBaseEnterpriseId, this.dwmc, this.address, this.jydh, this.ypjssj, this.sjbj, }); factory JyjgxxItem.fromJson(Map json) => _$JyjgxxItemFromJson(json); Map toJson() => _$JyjgxxItemToJson(this); } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class SampleTaskItemKcjcRsp { /// ID num? id; /// 检验人员ID num? zjBasePersonnelId; /// num? zjCodeSamplingTaskId; /// 采样计划详情ID num? zjCodeSamplingPlanId; /// 创建时间 String? createTime; /// 机构id num? zjBaseEnterpriseId; /// (下发或分解)行政区划Id num? xzqh; /// 是否施药 num? sfsy; /// 编码 String? code; /// 备注 String? bz; /// 承储企业名称 String? ccqymc; /// 扦样仓房 String? qycf; /// 扦样货位 String? qyhw; /// 扦样区域 String? qyqy; /// 仓型 String? cangxing; /// 入库时间 String? rksj; /// 入库等级 num? rkdj; /// 上层粮温(℃) num? sclw; /// 产地 String? guoChandi; /// 产地 String? shengChandi; /// 代表数量(吨) num? dbsl; /// 粮食性质--库存性质 String? lsxz; /// 收获年度 String? shnd; /// 扦样时间 String? qysj; /// 最近施药时间 String? zjsysj; /// 使用药剂名称 String? syyjmc; /// 虫害发生情况 num? chfsqk; /// 扦样时上层粮温(℃) num? qyssclw; /// 储粮技术设施 String? cljsss; /// 扦样任务单号 String? qyrwdh; /// 样品编号 String? ypbh; /// 扦样人员姓名 String? name; /// 任务类型 num? rwlx; /// 单位名称 String? dwmc; /// 采样品种名称 num? cypzmc; /// 采样品种名称 String? cypzName; /// 种植品种 String? zzpz; /// 计划采样数量 num? jhcysl; /// 品质检验数量 num? pzjysl; /// 质量检验数量 num? zljysl; /// 食安检验数量 num? sajysl; /// 储存检验数量 num? ccjysl; /// 报送截止时间 String? bsjzsj; /// 扦样机构 num? jhcyjg; /// 品种id num? zjBaseGrainInformationId; /// 采样计划编号 String? cyjhbmCode; /// 采样计划名称 String? cyjhmc; /// 年度 String? niandu; /// List? codeSamplingTaskAllotSgjcRespList; /// 分解状态0是未分解,1已保存,2已分解 num? state; /// 人员名称 String? qyryName; /// 下发部门 String? xfbmName; /// 任务单任务状态:0是待扦样,1已扦样 num? deliveryStatus; /// 粮食品种 num? lspz; /// 所在货位粮食总数(吨) String? szhwlszs; /// 附件地址 List? fileList; /// num? jclb; SampleTaskItemKcjcRsp({ this.id, this.zjBasePersonnelId, this.zjCodeSamplingTaskId, this.zjCodeSamplingPlanId, this.createTime, this.zjBaseEnterpriseId, this.xzqh, this.sfsy, this.code, this.bz, this.ccqymc, this.qycf, this.qyhw, this.qyqy, this.cangxing, this.rksj, this.rkdj, this.sclw, this.guoChandi, this.shengChandi, this.dbsl, this.lsxz, this.shnd, this.qysj, this.zjsysj, this.syyjmc, this.chfsqk, this.qyssclw, this.cljsss, this.qyrwdh, this.ypbh, this.name, this.rwlx, this.dwmc, this.cypzmc, this.cypzName, this.zzpz, this.jhcysl, this.pzjysl, this.zljysl, this.sajysl, this.ccjysl, this.bsjzsj, this.jhcyjg, this.zjBaseGrainInformationId, this.cyjhbmCode, this.cyjhmc, this.niandu, this.codeSamplingTaskAllotSgjcRespList, this.state, this.qyryName, this.xfbmName, this.deliveryStatus, this.lspz, this.szhwlszs, this.fileList, this.jclb, }); factory SampleTaskItemKcjcRsp.fromJson(Map json) => _$SampleTaskItemKcjcRspFromJson(json); Map toJson() => _$SampleTaskItemKcjcRspToJson(this); Map getReqJson() { Map map = {}; map['state'] = state; map['id'] = id; map['zjBasePersonnelId'] = zjBasePersonnelId; map['zjCodeSamplingTaskId'] = zjCodeSamplingTaskId; map['zjCodeSamplingPlanId'] = zjCodeSamplingPlanId; map['zjBaseEnterpriseId'] = zjBaseEnterpriseId; map['zjBaseGrainInformationId'] = zjBaseGrainInformationId; map['qyqy'] = qyqy; map['rksj'] = rksj; map['rkdj'] = rkdj; map['guoChandi'] = guoChandi; map['sclw'] = sclw; map['dbsl'] = dbsl; map['szhwlszs'] = szhwlszs; map['shnd'] = shnd; map['qysj'] = qysj; map['sfsy'] = sfsy; map['zjsysj'] = zjsysj; map['syyjmc'] = syyjmc; map['chfsqk'] = chfsqk; map['qyssclw'] = qyssclw; map['cljsss'] = cljsss; map['bz'] = bz; return map; } } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class FileRsp { /// 文件编号 num? id; /// 文件名 String? name; /// 文件 URL String? url; /// 来源类型:0企业附件、1计划附件... num? objType; /// 来源id:企业id、计划id... num? objId; /// 来源细分:因为企业中有两个附件,要区分开 num? type; FileRsp({ this.id, this.name, this.url, this.objType, this.objId, this.type, }); factory FileRsp.fromJson(Map json) => _$FileRspFromJson(json); Map toJson() => _$FileRspToJson(this); } @JsonSerializable(converters: [NumConverter(), StringConverter()]) class SampleTaskAllotItemRsp { /// id num? id; /// 品种id num? zjBaseGrainInformationId; /// 采样品种名称 String? cypzmc; /// 计划采样数量 num? samplingCount; /// 报送截至时间 String? bsjzsj; /// 人员id num? personnelId; /// 计划id num? zjCodeSamplingPlanId; /// 任务id num? zjCodeSamplingTaskId; /// String? creater; /// String? createDate; /// String? updateDate; /// 采样计划编号 String? cyjhbmCode; /// 采样计划名称 String? cyjhmc; /// 年度 String? niandu; /// 种植品种 String? zzpz; /// 计划采样数量 num? jhcysl; /// 种植品种 String? zzpzmc; SampleTaskAllotItemRsp({ this.id, this.zjBaseGrainInformationId, this.cypzmc, this.samplingCount, this.bsjzsj, this.personnelId, this.zjCodeSamplingPlanId, this.zjCodeSamplingTaskId, this.creater, this.createDate, this.updateDate, this.cyjhbmCode, this.cyjhmc, this.niandu, this.zzpz, this.jhcysl, this.zzpzmc, }); factory SampleTaskAllotItemRsp.fromJson(Map json) => _$SampleTaskAllotItemRspFromJson(json); Map toJson() => _$SampleTaskAllotItemRspToJson(this); }