other.m.dart 565 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655
  1. import 'authentication.m.dart';
  2. import 'notification.m.dart';
  3. import 'login.m.dart';
  4. import 'upgrade.m.dart';
  5. import 'user.m.dart';
  6. import 'patient.m.dart';
  7. import 'remedical.m.dart';
  8. import 'liveConsultation.m.dart';
  9. import 'recordInfo.m.dart';
  10. import 'organization.m.dart';
  11. import 'device.m.dart';
  12. import 'education.m.dart';
  13. import 'connect.m.dart';
  14. import 'appletAPI.m.dart';
  15. import 'aIDiagnosis.m.dart';
  16. import 'chatMessage.m.dart';
  17. import 'storage.m.dart';
  18. import 'report.m.dart';
  19. import 'payment.m.dart';
  20. import 'lab.m.dart';
  21. import 'vinnoServer.m.dart';
  22. import 'deployPlatform.m.dart';
  23. import 'position.m.dart';
  24. import 'rank.m.dart';
  25. import 'identityApply.m.dart';
  26. import 'role.m.dart';
  27. import 'region.m.dart';
  28. import 'aSR.m.dart';
  29. import 'package:fis_jsonrpc/utils.dart';
  30. import 'package:fis_common/json_convert.dart';
  31. class GenerateRoomUrlRequest {
  32. int roomId;
  33. String? uniqueId;
  34. GenerateRoomUrlRequest({
  35. this.roomId = 0,
  36. this.uniqueId,
  37. });
  38. factory GenerateRoomUrlRequest.fromJson(Map<String, dynamic> map) {
  39. return GenerateRoomUrlRequest(
  40. roomId: map['RoomId'],
  41. uniqueId: map['UniqueId'],
  42. );
  43. }
  44. Map<String, dynamic> toJson() {
  45. final map = Map<String, dynamic>();
  46. map['RoomId'] = roomId;
  47. if(uniqueId != null)
  48. map['UniqueId'] = uniqueId;
  49. return map;
  50. }
  51. }
  52. class GenerateRoomUrlResult {
  53. String? rtmpUrl;
  54. String? rtmpPushUrl;
  55. String? hlsUrl;
  56. String? flvUrl;
  57. GenerateRoomUrlResult({
  58. this.rtmpUrl,
  59. this.rtmpPushUrl,
  60. this.hlsUrl,
  61. this.flvUrl,
  62. });
  63. factory GenerateRoomUrlResult.fromJson(Map<String, dynamic> map) {
  64. return GenerateRoomUrlResult(
  65. rtmpUrl: map['RtmpUrl'],
  66. rtmpPushUrl: map['RtmpPushUrl'],
  67. hlsUrl: map['HlsUrl'],
  68. flvUrl: map['FlvUrl'],
  69. );
  70. }
  71. Map<String, dynamic> toJson() {
  72. final map = Map<String, dynamic>();
  73. if(rtmpUrl != null)
  74. map['RtmpUrl'] = rtmpUrl;
  75. if(rtmpPushUrl != null)
  76. map['RtmpPushUrl'] = rtmpPushUrl;
  77. if(hlsUrl != null)
  78. map['HlsUrl'] = hlsUrl;
  79. if(flvUrl != null)
  80. map['FlvUrl'] = flvUrl;
  81. return map;
  82. }
  83. }
  84. class GetRoomIdRequest {
  85. String? uniqueId;
  86. GetRoomIdRequest({
  87. this.uniqueId,
  88. });
  89. factory GetRoomIdRequest.fromJson(Map<String, dynamic> map) {
  90. return GetRoomIdRequest(
  91. uniqueId: map['UniqueId'],
  92. );
  93. }
  94. Map<String, dynamic> toJson() {
  95. final map = Map<String, dynamic>();
  96. if(uniqueId != null)
  97. map['UniqueId'] = uniqueId;
  98. return map;
  99. }
  100. }
  101. class GetRoomIdResult {
  102. int roomId;
  103. GetRoomIdResult({
  104. this.roomId = 0,
  105. });
  106. factory GetRoomIdResult.fromJson(Map<String, dynamic> map) {
  107. return GetRoomIdResult(
  108. roomId: map['RoomId'],
  109. );
  110. }
  111. Map<String, dynamic> toJson() {
  112. final map = Map<String, dynamic>();
  113. map['RoomId'] = roomId;
  114. return map;
  115. }
  116. }
  117. class GetRtcSettingRequest {
  118. GetRtcSettingRequest();
  119. factory GetRtcSettingRequest.fromJson(Map<String, dynamic> map) {
  120. return GetRtcSettingRequest(
  121. );
  122. }
  123. Map<String, dynamic> toJson() {
  124. final map = Map<String, dynamic>();
  125. return map;
  126. }
  127. }
  128. class GetRtcSettingResult {
  129. int appId;
  130. GetRtcSettingResult({
  131. this.appId = 0,
  132. });
  133. factory GetRtcSettingResult.fromJson(Map<String, dynamic> map) {
  134. return GetRtcSettingResult(
  135. appId: map['AppId'],
  136. );
  137. }
  138. Map<String, dynamic> toJson() {
  139. final map = Map<String, dynamic>();
  140. map['AppId'] = appId;
  141. return map;
  142. }
  143. }
  144. class GetUserSignRequest {
  145. String? userId;
  146. GetUserSignRequest({
  147. this.userId,
  148. });
  149. factory GetUserSignRequest.fromJson(Map<String, dynamic> map) {
  150. return GetUserSignRequest(
  151. userId: map['UserId'],
  152. );
  153. }
  154. Map<String, dynamic> toJson() {
  155. final map = Map<String, dynamic>();
  156. if(userId != null)
  157. map['UserId'] = userId;
  158. return map;
  159. }
  160. }
  161. class GetUserSignResult {
  162. String? userSign;
  163. GetUserSignResult({
  164. this.userSign,
  165. });
  166. factory GetUserSignResult.fromJson(Map<String, dynamic> map) {
  167. return GetUserSignResult(
  168. userSign: map['UserSign'],
  169. );
  170. }
  171. Map<String, dynamic> toJson() {
  172. final map = Map<String, dynamic>();
  173. if(userSign != null)
  174. map['UserSign'] = userSign;
  175. return map;
  176. }
  177. }
  178. class StorageInfoResult {
  179. int code;
  180. bool isSuccess;
  181. String? message;
  182. StorageInfoResult({
  183. this.code = 0,
  184. this.isSuccess = false,
  185. this.message,
  186. });
  187. factory StorageInfoResult.fromJson(Map<String, dynamic> map) {
  188. return StorageInfoResult(
  189. code: map['Code'],
  190. isSuccess: map['IsSuccess'],
  191. message: map['Message'],
  192. );
  193. }
  194. Map<String, dynamic> toJson() {
  195. final map = Map<String, dynamic>();
  196. map['Code'] = code;
  197. map['IsSuccess'] = isSuccess;
  198. if(message != null)
  199. map['Message'] = message;
  200. return map;
  201. }
  202. }
  203. class MeasureItemsResult {
  204. MeasureItemsResult();
  205. factory MeasureItemsResult.fromJson(Map<String, dynamic> map) {
  206. return MeasureItemsResult(
  207. );
  208. }
  209. Map<String, dynamic> toJson() {
  210. final map = Map<String, dynamic>();
  211. return map;
  212. }
  213. }
  214. class WaitClearLogResult {
  215. int daysAgo;
  216. int waitDelCount;
  217. WaitClearLogResult({
  218. this.daysAgo = 0,
  219. this.waitDelCount = 0,
  220. });
  221. factory WaitClearLogResult.fromJson(Map<String, dynamic> map) {
  222. return WaitClearLogResult(
  223. daysAgo: map['DaysAgo'],
  224. waitDelCount: map['WaitDelCount'],
  225. );
  226. }
  227. Map<String, dynamic> toJson() {
  228. final map = Map<String, dynamic>();
  229. map['DaysAgo'] = daysAgo;
  230. map['WaitDelCount'] = waitDelCount;
  231. return map;
  232. }
  233. }
  234. class ClearSystemLogRecordResult {
  235. int daysAgo;
  236. String? requestServerHost;
  237. String? clearTime;
  238. List<WaitClearLogResult >? waitClearLogs;
  239. ClearSystemLogRecordResult({
  240. this.daysAgo = 0,
  241. this.requestServerHost,
  242. this.clearTime,
  243. this.waitClearLogs,
  244. });
  245. factory ClearSystemLogRecordResult.fromJson(Map<String, dynamic> map) {
  246. return ClearSystemLogRecordResult(
  247. daysAgo: map['DaysAgo'],
  248. requestServerHost: map['RequestServerHost'],
  249. clearTime: map['ClearTime'],
  250. waitClearLogs: map['WaitClearLogs'] != null ? (map['WaitClearLogs'] as List).map((e)=>WaitClearLogResult.fromJson(e as Map<String,dynamic>)).toList() : null,
  251. );
  252. }
  253. Map<String, dynamic> toJson() {
  254. final map = Map<String, dynamic>();
  255. map['DaysAgo'] = daysAgo;
  256. if(requestServerHost != null)
  257. map['RequestServerHost'] = requestServerHost;
  258. if(clearTime != null)
  259. map['ClearTime'] = clearTime;
  260. if(waitClearLogs != null)
  261. map['WaitClearLogs'] = waitClearLogs;
  262. return map;
  263. }
  264. }
  265. enum CMSTemplateStatusTypeEnum {
  266. UnPublished,
  267. Published,
  268. }
  269. class CMSTemplateResult {
  270. String? cMSTemplateCode;
  271. String? cMSTemplateName;
  272. CMSTemplateStatusTypeEnum cMSTemplateStateType;
  273. String? cMSTemplateJson;
  274. bool isDefault;
  275. DateTime? createTime;
  276. String? cMSBgColor;
  277. String? cMSBgImg;
  278. bool isShowTop;
  279. String? cMSBorderColor;
  280. int cMSBorderShadow;
  281. CMSTemplateResult({
  282. this.cMSTemplateCode,
  283. this.cMSTemplateName,
  284. this.cMSTemplateStateType = CMSTemplateStatusTypeEnum.UnPublished,
  285. this.cMSTemplateJson,
  286. this.isDefault = false,
  287. this.createTime,
  288. this.cMSBgColor,
  289. this.cMSBgImg,
  290. this.isShowTop = false,
  291. this.cMSBorderColor,
  292. this.cMSBorderShadow = 0,
  293. });
  294. factory CMSTemplateResult.fromJson(Map<String, dynamic> map) {
  295. return CMSTemplateResult(
  296. cMSTemplateCode: map['CMSTemplateCode'],
  297. cMSTemplateName: map['CMSTemplateName'],
  298. cMSTemplateStateType: CMSTemplateStatusTypeEnum.values.firstWhere((e) => e.index == map['CMSTemplateStateType']),
  299. cMSTemplateJson: map['CMSTemplateJson'],
  300. isDefault: map['IsDefault'],
  301. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  302. cMSBgColor: map['CMSBgColor'],
  303. cMSBgImg: map['CMSBgImg'],
  304. isShowTop: map['IsShowTop'],
  305. cMSBorderColor: map['CMSBorderColor'],
  306. cMSBorderShadow: map['CMSBorderShadow'],
  307. );
  308. }
  309. Map<String, dynamic> toJson() {
  310. final map = Map<String, dynamic>();
  311. if(cMSTemplateCode != null)
  312. map['CMSTemplateCode'] = cMSTemplateCode;
  313. if(cMSTemplateName != null)
  314. map['CMSTemplateName'] = cMSTemplateName;
  315. map['CMSTemplateStateType'] = cMSTemplateStateType.index;
  316. if(cMSTemplateJson != null)
  317. map['CMSTemplateJson'] = cMSTemplateJson;
  318. map['IsDefault'] = isDefault;
  319. if(createTime != null)
  320. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  321. if(cMSBgColor != null)
  322. map['CMSBgColor'] = cMSBgColor;
  323. if(cMSBgImg != null)
  324. map['CMSBgImg'] = cMSBgImg;
  325. map['IsShowTop'] = isShowTop;
  326. if(cMSBorderColor != null)
  327. map['CMSBorderColor'] = cMSBorderColor;
  328. map['CMSBorderShadow'] = cMSBorderShadow;
  329. return map;
  330. }
  331. }
  332. class OrganizationBindQueryResult {
  333. int bindDeviceNum;
  334. int bindUserNum;
  335. OrganizationBindQueryResult({
  336. this.bindDeviceNum = 0,
  337. this.bindUserNum = 0,
  338. });
  339. factory OrganizationBindQueryResult.fromJson(Map<String, dynamic> map) {
  340. return OrganizationBindQueryResult(
  341. bindDeviceNum: map['BindDeviceNum'],
  342. bindUserNum: map['BindUserNum'],
  343. );
  344. }
  345. Map<String, dynamic> toJson() {
  346. final map = Map<String, dynamic>();
  347. map['BindDeviceNum'] = bindDeviceNum;
  348. map['BindUserNum'] = bindUserNum;
  349. return map;
  350. }
  351. }
  352. class ShareExamUrlResult {
  353. String? posterUrl;
  354. String? videoUrl;
  355. ShareExamUrlResult({
  356. this.posterUrl,
  357. this.videoUrl,
  358. });
  359. factory ShareExamUrlResult.fromJson(Map<String, dynamic> map) {
  360. return ShareExamUrlResult(
  361. posterUrl: map['PosterUrl'],
  362. videoUrl: map['VideoUrl'],
  363. );
  364. }
  365. Map<String, dynamic> toJson() {
  366. final map = Map<String, dynamic>();
  367. if(posterUrl != null)
  368. map['PosterUrl'] = posterUrl;
  369. if(videoUrl != null)
  370. map['VideoUrl'] = videoUrl;
  371. return map;
  372. }
  373. }
  374. class ApplyLockResult {
  375. bool isSuccess;
  376. String? lockUniqueCode;
  377. ApplyLockResult({
  378. this.isSuccess = false,
  379. this.lockUniqueCode,
  380. });
  381. factory ApplyLockResult.fromJson(Map<String, dynamic> map) {
  382. return ApplyLockResult(
  383. isSuccess: map['IsSuccess'],
  384. lockUniqueCode: map['LockUniqueCode'],
  385. );
  386. }
  387. Map<String, dynamic> toJson() {
  388. final map = Map<String, dynamic>();
  389. map['IsSuccess'] = isSuccess;
  390. if(lockUniqueCode != null)
  391. map['LockUniqueCode'] = lockUniqueCode;
  392. return map;
  393. }
  394. }
  395. class ReleaseLockResult {
  396. bool isSuccess;
  397. ReleaseLockResult({
  398. this.isSuccess = false,
  399. });
  400. factory ReleaseLockResult.fromJson(Map<String, dynamic> map) {
  401. return ReleaseLockResult(
  402. isSuccess: map['IsSuccess'],
  403. );
  404. }
  405. Map<String, dynamic> toJson() {
  406. final map = Map<String, dynamic>();
  407. map['IsSuccess'] = isSuccess;
  408. return map;
  409. }
  410. }
  411. class MarshalByRefObject {
  412. MarshalByRefObject();
  413. factory MarshalByRefObject.fromJson(Map<String, dynamic> map) {
  414. return MarshalByRefObject(
  415. );
  416. }
  417. Map<String, dynamic> toJson() {
  418. final map = Map<String, dynamic>();
  419. return map;
  420. }
  421. }
  422. class Stream extends MarshalByRefObject{
  423. bool canRead;
  424. bool canWrite;
  425. bool canSeek;
  426. bool canTimeout;
  427. int length;
  428. int position;
  429. int readTimeout;
  430. int writeTimeout;
  431. Stream({
  432. this.canRead = false,
  433. this.canWrite = false,
  434. this.canSeek = false,
  435. this.canTimeout = false,
  436. this.length = 0,
  437. this.position = 0,
  438. this.readTimeout = 0,
  439. this.writeTimeout = 0,
  440. }) : super(
  441. );
  442. factory Stream.fromJson(Map<String, dynamic> map) {
  443. return Stream(
  444. canRead: map['CanRead'],
  445. canWrite: map['CanWrite'],
  446. canSeek: map['CanSeek'],
  447. canTimeout: map['CanTimeout'],
  448. length: map['Length'],
  449. position: map['Position'],
  450. readTimeout: map['ReadTimeout'],
  451. writeTimeout: map['WriteTimeout'],
  452. );
  453. }
  454. Map<String, dynamic> toJson() {
  455. final map = super.toJson();
  456. map['CanRead'] = canRead;
  457. map['CanWrite'] = canWrite;
  458. map['CanSeek'] = canSeek;
  459. map['CanTimeout'] = canTimeout;
  460. map['Length'] = length;
  461. map['Position'] = position;
  462. map['ReadTimeout'] = readTimeout;
  463. map['WriteTimeout'] = writeTimeout;
  464. return map;
  465. }
  466. }
  467. class DownloadFileResult {
  468. Stream? merageFileStream;
  469. int fileSize;
  470. DownloadFileResult({
  471. this.merageFileStream,
  472. this.fileSize = 0,
  473. });
  474. factory DownloadFileResult.fromJson(Map<String, dynamic> map) {
  475. return DownloadFileResult(
  476. merageFileStream: map['MerageFileStream'] != null ? Stream.fromJson(map['MerageFileStream']) : null,
  477. fileSize: map['FileSize'],
  478. );
  479. }
  480. Map<String, dynamic> toJson() {
  481. final map = Map<String, dynamic>();
  482. if(merageFileStream != null)
  483. map['MerageFileStream'] = merageFileStream;
  484. map['FileSize'] = fileSize;
  485. return map;
  486. }
  487. }
  488. class BaseLiveResult {
  489. String? roomCode;
  490. int integerRoomId;
  491. String? rtcMessageJson;
  492. BaseLiveResult({
  493. this.roomCode,
  494. this.integerRoomId = 0,
  495. this.rtcMessageJson,
  496. });
  497. factory BaseLiveResult.fromJson(Map<String, dynamic> map) {
  498. return BaseLiveResult(
  499. roomCode: map['RoomCode'],
  500. integerRoomId: map['IntegerRoomId'],
  501. rtcMessageJson: map['RtcMessageJson'],
  502. );
  503. }
  504. Map<String, dynamic> toJson() {
  505. final map = Map<String, dynamic>();
  506. if(roomCode != null)
  507. map['RoomCode'] = roomCode;
  508. map['IntegerRoomId'] = integerRoomId;
  509. if(rtcMessageJson != null)
  510. map['RtcMessageJson'] = rtcMessageJson;
  511. return map;
  512. }
  513. }
  514. class MuteLiveResult extends BaseLiveResult{
  515. bool mute;
  516. MuteLiveResult({
  517. this.mute = false,
  518. String? roomCode,
  519. int integerRoomId = 0,
  520. String? rtcMessageJson,
  521. }) : super(
  522. roomCode: roomCode,
  523. integerRoomId: integerRoomId,
  524. rtcMessageJson: rtcMessageJson,
  525. );
  526. factory MuteLiveResult.fromJson(Map<String, dynamic> map) {
  527. return MuteLiveResult(
  528. mute: map['Mute'],
  529. roomCode: map['RoomCode'],
  530. integerRoomId: map['IntegerRoomId'],
  531. rtcMessageJson: map['RtcMessageJson'],
  532. );
  533. }
  534. Map<String, dynamic> toJson() {
  535. final map = super.toJson();
  536. map['Mute'] = mute;
  537. return map;
  538. }
  539. }
  540. class OpenedVideoLiveResult extends BaseLiveResult{
  541. bool videoOpend;
  542. OpenedVideoLiveResult({
  543. this.videoOpend = false,
  544. String? roomCode,
  545. int integerRoomId = 0,
  546. String? rtcMessageJson,
  547. }) : super(
  548. roomCode: roomCode,
  549. integerRoomId: integerRoomId,
  550. rtcMessageJson: rtcMessageJson,
  551. );
  552. factory OpenedVideoLiveResult.fromJson(Map<String, dynamic> map) {
  553. return OpenedVideoLiveResult(
  554. videoOpend: map['VideoOpend'],
  555. roomCode: map['RoomCode'],
  556. integerRoomId: map['IntegerRoomId'],
  557. rtcMessageJson: map['RtcMessageJson'],
  558. );
  559. }
  560. Map<String, dynamic> toJson() {
  561. final map = super.toJson();
  562. map['VideoOpend'] = videoOpend;
  563. return map;
  564. }
  565. }
  566. class ControllingParameterLiveResult extends BaseLiveResult{
  567. bool isControllingParameter;
  568. ControllingParameterLiveResult({
  569. this.isControllingParameter = false,
  570. String? roomCode,
  571. int integerRoomId = 0,
  572. String? rtcMessageJson,
  573. }) : super(
  574. roomCode: roomCode,
  575. integerRoomId: integerRoomId,
  576. rtcMessageJson: rtcMessageJson,
  577. );
  578. factory ControllingParameterLiveResult.fromJson(Map<String, dynamic> map) {
  579. return ControllingParameterLiveResult(
  580. isControllingParameter: map['IsControllingParameter'],
  581. roomCode: map['RoomCode'],
  582. integerRoomId: map['IntegerRoomId'],
  583. rtcMessageJson: map['RtcMessageJson'],
  584. );
  585. }
  586. Map<String, dynamic> toJson() {
  587. final map = super.toJson();
  588. map['IsControllingParameter'] = isControllingParameter;
  589. return map;
  590. }
  591. }
  592. class ChangeCourseStatusResult extends BaseLiveResult{
  593. CourseStatusEnum status;
  594. ChangeCourseStatusResult({
  595. this.status = CourseStatusEnum.Unknown,
  596. String? roomCode,
  597. int integerRoomId = 0,
  598. String? rtcMessageJson,
  599. }) : super(
  600. roomCode: roomCode,
  601. integerRoomId: integerRoomId,
  602. rtcMessageJson: rtcMessageJson,
  603. );
  604. factory ChangeCourseStatusResult.fromJson(Map<String, dynamic> map) {
  605. return ChangeCourseStatusResult(
  606. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  607. roomCode: map['RoomCode'],
  608. integerRoomId: map['IntegerRoomId'],
  609. rtcMessageJson: map['RtcMessageJson'],
  610. );
  611. }
  612. Map<String, dynamic> toJson() {
  613. final map = super.toJson();
  614. map['Status'] = status.index;
  615. return map;
  616. }
  617. }
  618. class FindConsultationSettingResult {
  619. String? version;
  620. String? settingData;
  621. FindConsultationSettingResult({
  622. this.version,
  623. this.settingData,
  624. });
  625. factory FindConsultationSettingResult.fromJson(Map<String, dynamic> map) {
  626. return FindConsultationSettingResult(
  627. version: map['Version'],
  628. settingData: map['SettingData'],
  629. );
  630. }
  631. Map<String, dynamic> toJson() {
  632. final map = Map<String, dynamic>();
  633. if(version != null)
  634. map['Version'] = version;
  635. if(settingData != null)
  636. map['SettingData'] = settingData;
  637. return map;
  638. }
  639. }
  640. class AddCacheReportPosterRequest extends TokenRequest{
  641. String? reportPosterCode;
  642. AddCacheReportPosterRequest({
  643. this.reportPosterCode,
  644. String? token,
  645. }) : super(
  646. token: token,
  647. );
  648. factory AddCacheReportPosterRequest.fromJson(Map<String, dynamic> map) {
  649. return AddCacheReportPosterRequest(
  650. reportPosterCode: map['ReportPosterCode'],
  651. token: map['Token'],
  652. );
  653. }
  654. Map<String, dynamic> toJson() {
  655. final map = super.toJson();
  656. if(reportPosterCode != null)
  657. map['ReportPosterCode'] = reportPosterCode;
  658. return map;
  659. }
  660. }
  661. class DeleteThesaurusUserCodeRequest extends TokenRequest{
  662. String? thesaurusCode;
  663. DeleteThesaurusUserCodeRequest({
  664. this.thesaurusCode,
  665. String? token,
  666. }) : super(
  667. token: token,
  668. );
  669. factory DeleteThesaurusUserCodeRequest.fromJson(Map<String, dynamic> map) {
  670. return DeleteThesaurusUserCodeRequest(
  671. thesaurusCode: map['ThesaurusCode'],
  672. token: map['Token'],
  673. );
  674. }
  675. Map<String, dynamic> toJson() {
  676. final map = super.toJson();
  677. if(thesaurusCode != null)
  678. map['ThesaurusCode'] = thesaurusCode;
  679. return map;
  680. }
  681. }
  682. class RemoveCacheReportPosterRequest extends TokenRequest{
  683. String? reportPosterCode;
  684. RemoveCacheReportPosterRequest({
  685. this.reportPosterCode,
  686. String? token,
  687. }) : super(
  688. token: token,
  689. );
  690. factory RemoveCacheReportPosterRequest.fromJson(Map<String, dynamic> map) {
  691. return RemoveCacheReportPosterRequest(
  692. reportPosterCode: map['ReportPosterCode'],
  693. token: map['Token'],
  694. );
  695. }
  696. Map<String, dynamic> toJson() {
  697. final map = super.toJson();
  698. if(reportPosterCode != null)
  699. map['ReportPosterCode'] = reportPosterCode;
  700. return map;
  701. }
  702. }
  703. class UpdateThesaurusUserCodeRequest extends TokenRequest{
  704. String? thesaurusCode;
  705. UpdateThesaurusUserCodeRequest({
  706. this.thesaurusCode,
  707. String? token,
  708. }) : super(
  709. token: token,
  710. );
  711. factory UpdateThesaurusUserCodeRequest.fromJson(Map<String, dynamic> map) {
  712. return UpdateThesaurusUserCodeRequest(
  713. thesaurusCode: map['ThesaurusCode'],
  714. token: map['Token'],
  715. );
  716. }
  717. Map<String, dynamic> toJson() {
  718. final map = super.toJson();
  719. if(thesaurusCode != null)
  720. map['ThesaurusCode'] = thesaurusCode;
  721. return map;
  722. }
  723. }
  724. class PushRecordCodesToDeviceRequest extends TokenRequest{
  725. List<String >? recordCodes;
  726. String? deviceCode;
  727. PushRecordCodesToDeviceRequest({
  728. this.recordCodes,
  729. this.deviceCode,
  730. String? token,
  731. }) : super(
  732. token: token,
  733. );
  734. factory PushRecordCodesToDeviceRequest.fromJson(Map<String, dynamic> map) {
  735. return PushRecordCodesToDeviceRequest(
  736. recordCodes: map['RecordCodes'] != null ? map['RecordCodes'].cast<String>().toList() : null,
  737. deviceCode: map['DeviceCode'],
  738. token: map['Token'],
  739. );
  740. }
  741. Map<String, dynamic> toJson() {
  742. final map = super.toJson();
  743. if(recordCodes != null)
  744. map['RecordCodes'] = recordCodes;
  745. if(deviceCode != null)
  746. map['DeviceCode'] = deviceCode;
  747. return map;
  748. }
  749. }
  750. class PayCallbackRequest {
  751. String? keyWord;
  752. PayCallbackRequest({
  753. this.keyWord,
  754. });
  755. factory PayCallbackRequest.fromJson(Map<String, dynamic> map) {
  756. return PayCallbackRequest(
  757. keyWord: map['KeyWord'],
  758. );
  759. }
  760. Map<String, dynamic> toJson() {
  761. final map = Map<String, dynamic>();
  762. if(keyWord != null)
  763. map['KeyWord'] = keyWord;
  764. return map;
  765. }
  766. }
  767. class CloseNotifyQueueRequest {
  768. String? msgQueueId;
  769. CloseNotifyQueueRequest({
  770. this.msgQueueId,
  771. });
  772. factory CloseNotifyQueueRequest.fromJson(Map<String, dynamic> map) {
  773. return CloseNotifyQueueRequest(
  774. msgQueueId: map['MsgQueueId'],
  775. );
  776. }
  777. Map<String, dynamic> toJson() {
  778. final map = Map<String, dynamic>();
  779. if(msgQueueId != null)
  780. map['MsgQueueId'] = msgQueueId;
  781. return map;
  782. }
  783. }
  784. class OpenNotifyQueueRequest {
  785. String? module;
  786. OpenNotifyQueueRequest({
  787. this.module,
  788. });
  789. factory OpenNotifyQueueRequest.fromJson(Map<String, dynamic> map) {
  790. return OpenNotifyQueueRequest(
  791. module: map['Module'],
  792. );
  793. }
  794. Map<String, dynamic> toJson() {
  795. final map = Map<String, dynamic>();
  796. if(module != null)
  797. map['Module'] = module;
  798. return map;
  799. }
  800. }
  801. class ApplyLockRequest {
  802. String? lockKey;
  803. ApplyLockRequest({
  804. this.lockKey,
  805. });
  806. factory ApplyLockRequest.fromJson(Map<String, dynamic> map) {
  807. return ApplyLockRequest(
  808. lockKey: map['LockKey'],
  809. );
  810. }
  811. Map<String, dynamic> toJson() {
  812. final map = Map<String, dynamic>();
  813. if(lockKey != null)
  814. map['LockKey'] = lockKey;
  815. return map;
  816. }
  817. }
  818. class ReleaseLockRequest {
  819. String? lockUniqueCode;
  820. ReleaseLockRequest({
  821. this.lockUniqueCode,
  822. });
  823. factory ReleaseLockRequest.fromJson(Map<String, dynamic> map) {
  824. return ReleaseLockRequest(
  825. lockUniqueCode: map['LockUniqueCode'],
  826. );
  827. }
  828. Map<String, dynamic> toJson() {
  829. final map = Map<String, dynamic>();
  830. if(lockUniqueCode != null)
  831. map['LockUniqueCode'] = lockUniqueCode;
  832. return map;
  833. }
  834. }
  835. class AssignPatientToUsersRequest extends TokenRequest{
  836. String? patientCode;
  837. List<String >? userCodes;
  838. AssignPatientToUsersRequest({
  839. this.patientCode,
  840. this.userCodes,
  841. String? token,
  842. }) : super(
  843. token: token,
  844. );
  845. factory AssignPatientToUsersRequest.fromJson(Map<String, dynamic> map) {
  846. return AssignPatientToUsersRequest(
  847. patientCode: map['PatientCode'],
  848. userCodes: map['UserCodes'] != null ? map['UserCodes'].cast<String>().toList() : null,
  849. token: map['Token'],
  850. );
  851. }
  852. Map<String, dynamic> toJson() {
  853. final map = super.toJson();
  854. if(patientCode != null)
  855. map['PatientCode'] = patientCode;
  856. if(userCodes != null)
  857. map['UserCodes'] = userCodes;
  858. return map;
  859. }
  860. }
  861. class QuestionDetailDTO extends BaseDTO{
  862. String? code;
  863. double score;
  864. QuestionDetailDTO({
  865. this.code,
  866. this.score = 0,
  867. DateTime? createTime,
  868. DateTime? updateTime,
  869. }) : super(
  870. createTime: createTime,
  871. updateTime: updateTime,
  872. );
  873. factory QuestionDetailDTO.fromJson(Map<String, dynamic> map) {
  874. return QuestionDetailDTO(
  875. code: map['Code'],
  876. score: double.parse(map['Score'].toString()),
  877. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  878. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  879. );
  880. }
  881. Map<String, dynamic> toJson() {
  882. final map = super.toJson();
  883. if(code != null)
  884. map['Code'] = code;
  885. map['Score'] = score;
  886. return map;
  887. }
  888. }
  889. class AddExaminationPaperRequest extends TokenRequest{
  890. String? name;
  891. double totalScore;
  892. List<QuestionDetailDTO >? questionList;
  893. List<String >? caseLabelCodes;
  894. List<String >? courseLabelCodes;
  895. AddExaminationPaperRequest({
  896. this.name,
  897. this.totalScore = 0,
  898. this.questionList,
  899. this.caseLabelCodes,
  900. this.courseLabelCodes,
  901. String? token,
  902. }) : super(
  903. token: token,
  904. );
  905. factory AddExaminationPaperRequest.fromJson(Map<String, dynamic> map) {
  906. return AddExaminationPaperRequest(
  907. name: map['Name'],
  908. totalScore: double.parse(map['TotalScore'].toString()),
  909. questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>QuestionDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  910. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  911. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  912. token: map['Token'],
  913. );
  914. }
  915. Map<String, dynamic> toJson() {
  916. final map = super.toJson();
  917. if(name != null)
  918. map['Name'] = name;
  919. map['TotalScore'] = totalScore;
  920. if(questionList != null)
  921. map['QuestionList'] = questionList;
  922. if(caseLabelCodes != null)
  923. map['CaseLabelCodes'] = caseLabelCodes;
  924. if(courseLabelCodes != null)
  925. map['CourseLabelCodes'] = courseLabelCodes;
  926. return map;
  927. }
  928. }
  929. class FindUserGroupByStudentRequest extends TokenRequest{
  930. FindUserGroupByStudentRequest({
  931. String? token,
  932. }) : super(
  933. token: token,
  934. );
  935. factory FindUserGroupByStudentRequest.fromJson(Map<String, dynamic> map) {
  936. return FindUserGroupByStudentRequest(
  937. token: map['Token'],
  938. );
  939. }
  940. Map<String, dynamic> toJson() {
  941. final map = super.toJson();
  942. return map;
  943. }
  944. }
  945. class CourseLabelRequest extends TokenRequest{
  946. String? code;
  947. List<LabelLanguageConfigDTO >? labelLanguageConfigs;
  948. OrganizationPatientTypeEnum useObjectType;
  949. LabelTypeEnum type;
  950. String? parentCode;
  951. CourseLabelRequest({
  952. this.code,
  953. this.labelLanguageConfigs,
  954. this.useObjectType = OrganizationPatientTypeEnum.Person,
  955. this.type = LabelTypeEnum.Unknown,
  956. this.parentCode,
  957. String? token,
  958. }) : super(
  959. token: token,
  960. );
  961. factory CourseLabelRequest.fromJson(Map<String, dynamic> map) {
  962. return CourseLabelRequest(
  963. code: map['Code'],
  964. labelLanguageConfigs: map['LabelLanguageConfigs'] != null ? (map['LabelLanguageConfigs'] as List).map((e)=>LabelLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  965. useObjectType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['UseObjectType']),
  966. type: LabelTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  967. parentCode: map['ParentCode'],
  968. token: map['Token'],
  969. );
  970. }
  971. Map<String, dynamic> toJson() {
  972. final map = super.toJson();
  973. if(code != null)
  974. map['Code'] = code;
  975. if(labelLanguageConfigs != null)
  976. map['LabelLanguageConfigs'] = labelLanguageConfigs;
  977. map['UseObjectType'] = useObjectType.index;
  978. map['Type'] = type.index;
  979. if(parentCode != null)
  980. map['ParentCode'] = parentCode;
  981. return map;
  982. }
  983. }
  984. class DeleteExaminationPaperRequest extends TokenRequest{
  985. String? examinationPaperCode;
  986. DeleteExaminationPaperRequest({
  987. this.examinationPaperCode,
  988. String? token,
  989. }) : super(
  990. token: token,
  991. );
  992. factory DeleteExaminationPaperRequest.fromJson(Map<String, dynamic> map) {
  993. return DeleteExaminationPaperRequest(
  994. examinationPaperCode: map['ExaminationPaperCode'],
  995. token: map['Token'],
  996. );
  997. }
  998. Map<String, dynamic> toJson() {
  999. final map = super.toJson();
  1000. if(examinationPaperCode != null)
  1001. map['ExaminationPaperCode'] = examinationPaperCode;
  1002. return map;
  1003. }
  1004. }
  1005. class FindExaminationQuestionPagesRequest extends PageRequest{
  1006. String? searchKey;
  1007. List<String >? caseLabelCodes;
  1008. List<String >? courseLabelCodes;
  1009. List<String >? codes;
  1010. List<String >? notInCodes;
  1011. FindExaminationQuestionPagesRequest({
  1012. this.searchKey,
  1013. this.caseLabelCodes,
  1014. this.courseLabelCodes,
  1015. this.codes,
  1016. this.notInCodes,
  1017. int pageIndex = 0,
  1018. int pageSize = 0,
  1019. String? token,
  1020. }) : super(
  1021. pageIndex: pageIndex,
  1022. pageSize: pageSize,
  1023. token: token,
  1024. );
  1025. factory FindExaminationQuestionPagesRequest.fromJson(Map<String, dynamic> map) {
  1026. return FindExaminationQuestionPagesRequest(
  1027. searchKey: map['SearchKey'],
  1028. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  1029. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  1030. codes: map['Codes'] != null ? map['Codes'].cast<String>().toList() : null,
  1031. notInCodes: map['NotInCodes'] != null ? map['NotInCodes'].cast<String>().toList() : null,
  1032. pageIndex: map['PageIndex'],
  1033. pageSize: map['PageSize'],
  1034. token: map['Token'],
  1035. );
  1036. }
  1037. Map<String, dynamic> toJson() {
  1038. final map = super.toJson();
  1039. if(searchKey != null)
  1040. map['SearchKey'] = searchKey;
  1041. if(caseLabelCodes != null)
  1042. map['CaseLabelCodes'] = caseLabelCodes;
  1043. if(courseLabelCodes != null)
  1044. map['CourseLabelCodes'] = courseLabelCodes;
  1045. if(codes != null)
  1046. map['Codes'] = codes;
  1047. if(notInCodes != null)
  1048. map['NotInCodes'] = notInCodes;
  1049. return map;
  1050. }
  1051. }
  1052. class FindExaminationQuestionsByCodesRequest extends TokenRequest{
  1053. List<String >? codes;
  1054. FindExaminationQuestionsByCodesRequest({
  1055. this.codes,
  1056. String? token,
  1057. }) : super(
  1058. token: token,
  1059. );
  1060. factory FindExaminationQuestionsByCodesRequest.fromJson(Map<String, dynamic> map) {
  1061. return FindExaminationQuestionsByCodesRequest(
  1062. codes: map['Codes'] != null ? map['Codes'].cast<String>().toList() : null,
  1063. token: map['Token'],
  1064. );
  1065. }
  1066. Map<String, dynamic> toJson() {
  1067. final map = super.toJson();
  1068. if(codes != null)
  1069. map['Codes'] = codes;
  1070. return map;
  1071. }
  1072. }
  1073. class CreateExaminationQuestionRequest extends TokenRequest{
  1074. String? stem;
  1075. QuestionTypeEnum questionType;
  1076. List<QuestionOptionDTO >? questionOptionList;
  1077. List<QuestionFileDTO >? fileList;
  1078. List<String >? caseLabelCodes;
  1079. List<String >? courseLabelCodes;
  1080. bool trueOrFalse;
  1081. CreateExaminationQuestionRequest({
  1082. this.stem,
  1083. this.questionType = QuestionTypeEnum.Judge,
  1084. this.questionOptionList,
  1085. this.fileList,
  1086. this.caseLabelCodes,
  1087. this.courseLabelCodes,
  1088. this.trueOrFalse = false,
  1089. String? token,
  1090. }) : super(
  1091. token: token,
  1092. );
  1093. factory CreateExaminationQuestionRequest.fromJson(Map<String, dynamic> map) {
  1094. return CreateExaminationQuestionRequest(
  1095. stem: map['Stem'],
  1096. questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
  1097. questionOptionList: map['QuestionOptionList'] != null ? (map['QuestionOptionList'] as List).map((e)=>QuestionOptionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1098. fileList: map['FileList'] != null ? (map['FileList'] as List).map((e)=>QuestionFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1099. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  1100. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  1101. trueOrFalse: map['TrueOrFalse'],
  1102. token: map['Token'],
  1103. );
  1104. }
  1105. Map<String, dynamic> toJson() {
  1106. final map = super.toJson();
  1107. if(stem != null)
  1108. map['Stem'] = stem;
  1109. map['QuestionType'] = questionType.index;
  1110. if(questionOptionList != null)
  1111. map['QuestionOptionList'] = questionOptionList;
  1112. if(fileList != null)
  1113. map['FileList'] = fileList;
  1114. if(caseLabelCodes != null)
  1115. map['CaseLabelCodes'] = caseLabelCodes;
  1116. if(courseLabelCodes != null)
  1117. map['CourseLabelCodes'] = courseLabelCodes;
  1118. map['TrueOrFalse'] = trueOrFalse;
  1119. return map;
  1120. }
  1121. }
  1122. class GetExaminationQuestionRequest extends TokenRequest{
  1123. String? code;
  1124. GetExaminationQuestionRequest({
  1125. this.code,
  1126. String? token,
  1127. }) : super(
  1128. token: token,
  1129. );
  1130. factory GetExaminationQuestionRequest.fromJson(Map<String, dynamic> map) {
  1131. return GetExaminationQuestionRequest(
  1132. code: map['Code'],
  1133. token: map['Token'],
  1134. );
  1135. }
  1136. Map<String, dynamic> toJson() {
  1137. final map = super.toJson();
  1138. if(code != null)
  1139. map['Code'] = code;
  1140. return map;
  1141. }
  1142. }
  1143. class UpdateExaminationQuestionRequest extends TokenRequest{
  1144. String? code;
  1145. String? stem;
  1146. QuestionTypeEnum questionType;
  1147. List<QuestionOptionDTO >? questionOptionList;
  1148. List<QuestionFileDTO >? fileList;
  1149. List<String >? caseLabelCodes;
  1150. List<String >? courseLabelCodes;
  1151. bool trueOrFalse;
  1152. UpdateExaminationQuestionRequest({
  1153. this.code,
  1154. this.stem,
  1155. this.questionType = QuestionTypeEnum.Judge,
  1156. this.questionOptionList,
  1157. this.fileList,
  1158. this.caseLabelCodes,
  1159. this.courseLabelCodes,
  1160. this.trueOrFalse = false,
  1161. String? token,
  1162. }) : super(
  1163. token: token,
  1164. );
  1165. factory UpdateExaminationQuestionRequest.fromJson(Map<String, dynamic> map) {
  1166. return UpdateExaminationQuestionRequest(
  1167. code: map['Code'],
  1168. stem: map['Stem'],
  1169. questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
  1170. questionOptionList: map['QuestionOptionList'] != null ? (map['QuestionOptionList'] as List).map((e)=>QuestionOptionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1171. fileList: map['FileList'] != null ? (map['FileList'] as List).map((e)=>QuestionFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1172. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  1173. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  1174. trueOrFalse: map['TrueOrFalse'],
  1175. token: map['Token'],
  1176. );
  1177. }
  1178. Map<String, dynamic> toJson() {
  1179. final map = super.toJson();
  1180. if(code != null)
  1181. map['Code'] = code;
  1182. if(stem != null)
  1183. map['Stem'] = stem;
  1184. map['QuestionType'] = questionType.index;
  1185. if(questionOptionList != null)
  1186. map['QuestionOptionList'] = questionOptionList;
  1187. if(fileList != null)
  1188. map['FileList'] = fileList;
  1189. if(caseLabelCodes != null)
  1190. map['CaseLabelCodes'] = caseLabelCodes;
  1191. if(courseLabelCodes != null)
  1192. map['CourseLabelCodes'] = courseLabelCodes;
  1193. map['TrueOrFalse'] = trueOrFalse;
  1194. return map;
  1195. }
  1196. }
  1197. class DeleteExaminationQuestionRequest extends TokenRequest{
  1198. String? code;
  1199. DeleteExaminationQuestionRequest({
  1200. this.code,
  1201. String? token,
  1202. }) : super(
  1203. token: token,
  1204. );
  1205. factory DeleteExaminationQuestionRequest.fromJson(Map<String, dynamic> map) {
  1206. return DeleteExaminationQuestionRequest(
  1207. code: map['Code'],
  1208. token: map['Token'],
  1209. );
  1210. }
  1211. Map<String, dynamic> toJson() {
  1212. final map = super.toJson();
  1213. if(code != null)
  1214. map['Code'] = code;
  1215. return map;
  1216. }
  1217. }
  1218. class GetExaminationPaperPagesRequest extends PageRequest{
  1219. String? keyword;
  1220. List<String >? caseLabelCodes;
  1221. List<String >? courseLabelCodes;
  1222. GetExaminationPaperPagesRequest({
  1223. this.keyword,
  1224. this.caseLabelCodes,
  1225. this.courseLabelCodes,
  1226. int pageIndex = 0,
  1227. int pageSize = 0,
  1228. String? token,
  1229. }) : super(
  1230. pageIndex: pageIndex,
  1231. pageSize: pageSize,
  1232. token: token,
  1233. );
  1234. factory GetExaminationPaperPagesRequest.fromJson(Map<String, dynamic> map) {
  1235. return GetExaminationPaperPagesRequest(
  1236. keyword: map['Keyword'],
  1237. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  1238. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  1239. pageIndex: map['PageIndex'],
  1240. pageSize: map['PageSize'],
  1241. token: map['Token'],
  1242. );
  1243. }
  1244. Map<String, dynamic> toJson() {
  1245. final map = super.toJson();
  1246. if(keyword != null)
  1247. map['Keyword'] = keyword;
  1248. if(caseLabelCodes != null)
  1249. map['CaseLabelCodes'] = caseLabelCodes;
  1250. if(courseLabelCodes != null)
  1251. map['CourseLabelCodes'] = courseLabelCodes;
  1252. return map;
  1253. }
  1254. }
  1255. class GetExaminationPaperRequest extends TokenRequest{
  1256. String? examinationPaperCode;
  1257. GetExaminationPaperRequest({
  1258. this.examinationPaperCode,
  1259. String? token,
  1260. }) : super(
  1261. token: token,
  1262. );
  1263. factory GetExaminationPaperRequest.fromJson(Map<String, dynamic> map) {
  1264. return GetExaminationPaperRequest(
  1265. examinationPaperCode: map['ExaminationPaperCode'],
  1266. token: map['Token'],
  1267. );
  1268. }
  1269. Map<String, dynamic> toJson() {
  1270. final map = super.toJson();
  1271. if(examinationPaperCode != null)
  1272. map['ExaminationPaperCode'] = examinationPaperCode;
  1273. return map;
  1274. }
  1275. }
  1276. class CancelLiveCourseRequest extends InitiateLiveCourseRequest{
  1277. CancelLiveCourseRequest({
  1278. String? courseCode,
  1279. String? token,
  1280. }) : super(
  1281. courseCode: courseCode,
  1282. token: token,
  1283. );
  1284. factory CancelLiveCourseRequest.fromJson(Map<String, dynamic> map) {
  1285. return CancelLiveCourseRequest(
  1286. courseCode: map['CourseCode'],
  1287. token: map['Token'],
  1288. );
  1289. }
  1290. Map<String, dynamic> toJson() {
  1291. final map = super.toJson();
  1292. return map;
  1293. }
  1294. }
  1295. class QueryStudentByGroupCodePageRequest extends PageRequest{
  1296. String? keyword;
  1297. String? userGroupCode;
  1298. QueryStudentByGroupCodePageRequest({
  1299. this.keyword,
  1300. this.userGroupCode,
  1301. int pageIndex = 0,
  1302. int pageSize = 0,
  1303. String? token,
  1304. }) : super(
  1305. pageIndex: pageIndex,
  1306. pageSize: pageSize,
  1307. token: token,
  1308. );
  1309. factory QueryStudentByGroupCodePageRequest.fromJson(Map<String, dynamic> map) {
  1310. return QueryStudentByGroupCodePageRequest(
  1311. keyword: map['Keyword'],
  1312. userGroupCode: map['UserGroupCode'],
  1313. pageIndex: map['PageIndex'],
  1314. pageSize: map['PageSize'],
  1315. token: map['Token'],
  1316. );
  1317. }
  1318. Map<String, dynamic> toJson() {
  1319. final map = super.toJson();
  1320. if(keyword != null)
  1321. map['Keyword'] = keyword;
  1322. if(userGroupCode != null)
  1323. map['UserGroupCode'] = userGroupCode;
  1324. return map;
  1325. }
  1326. }
  1327. class UpdateExaminationPaperRequest extends TokenRequest{
  1328. String? examinationPaperCode;
  1329. String? name;
  1330. double totalScore;
  1331. List<QuestionDetailDTO >? questionList;
  1332. List<String >? caseLabelCodes;
  1333. List<String >? courseLabelCodes;
  1334. UpdateExaminationPaperRequest({
  1335. this.examinationPaperCode,
  1336. this.name,
  1337. this.totalScore = 0,
  1338. this.questionList,
  1339. this.caseLabelCodes,
  1340. this.courseLabelCodes,
  1341. String? token,
  1342. }) : super(
  1343. token: token,
  1344. );
  1345. factory UpdateExaminationPaperRequest.fromJson(Map<String, dynamic> map) {
  1346. return UpdateExaminationPaperRequest(
  1347. examinationPaperCode: map['ExaminationPaperCode'],
  1348. name: map['Name'],
  1349. totalScore: double.parse(map['TotalScore'].toString()),
  1350. questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>QuestionDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1351. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  1352. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  1353. token: map['Token'],
  1354. );
  1355. }
  1356. Map<String, dynamic> toJson() {
  1357. final map = super.toJson();
  1358. if(examinationPaperCode != null)
  1359. map['ExaminationPaperCode'] = examinationPaperCode;
  1360. if(name != null)
  1361. map['Name'] = name;
  1362. map['TotalScore'] = totalScore;
  1363. if(questionList != null)
  1364. map['QuestionList'] = questionList;
  1365. if(caseLabelCodes != null)
  1366. map['CaseLabelCodes'] = caseLabelCodes;
  1367. if(courseLabelCodes != null)
  1368. map['CourseLabelCodes'] = courseLabelCodes;
  1369. return map;
  1370. }
  1371. }
  1372. class QueryCourseLabelPageRequest extends PageRequest{
  1373. String? name;
  1374. String? languageCode;
  1375. LabelTypeEnum type;
  1376. String? parentCode;
  1377. QueryCourseLabelPageRequest({
  1378. this.name,
  1379. this.languageCode,
  1380. this.type = LabelTypeEnum.Unknown,
  1381. this.parentCode,
  1382. int pageIndex = 0,
  1383. int pageSize = 0,
  1384. String? token,
  1385. }) : super(
  1386. pageIndex: pageIndex,
  1387. pageSize: pageSize,
  1388. token: token,
  1389. );
  1390. factory QueryCourseLabelPageRequest.fromJson(Map<String, dynamic> map) {
  1391. return QueryCourseLabelPageRequest(
  1392. name: map['Name'],
  1393. languageCode: map['LanguageCode'],
  1394. type: LabelTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  1395. parentCode: map['ParentCode'],
  1396. pageIndex: map['PageIndex'],
  1397. pageSize: map['PageSize'],
  1398. token: map['Token'],
  1399. );
  1400. }
  1401. Map<String, dynamic> toJson() {
  1402. final map = super.toJson();
  1403. if(name != null)
  1404. map['Name'] = name;
  1405. if(languageCode != null)
  1406. map['LanguageCode'] = languageCode;
  1407. map['Type'] = type.index;
  1408. if(parentCode != null)
  1409. map['ParentCode'] = parentCode;
  1410. return map;
  1411. }
  1412. }
  1413. class AlterDeviceRequest extends TokenRequest{
  1414. String? deviceCode;
  1415. String? serialNumber;
  1416. String? name;
  1417. String? description;
  1418. String? headPicUrl;
  1419. String? organizationCode;
  1420. String? departmentCode;
  1421. bool isAutoShared;
  1422. AlterDeviceRequest({
  1423. this.deviceCode,
  1424. this.serialNumber,
  1425. this.name,
  1426. this.description,
  1427. this.headPicUrl,
  1428. this.organizationCode,
  1429. this.departmentCode,
  1430. this.isAutoShared = false,
  1431. String? token,
  1432. }) : super(
  1433. token: token,
  1434. );
  1435. factory AlterDeviceRequest.fromJson(Map<String, dynamic> map) {
  1436. return AlterDeviceRequest(
  1437. deviceCode: map['DeviceCode'],
  1438. serialNumber: map['SerialNumber'],
  1439. name: map['Name'],
  1440. description: map['Description'],
  1441. headPicUrl: map['HeadPicUrl'],
  1442. organizationCode: map['OrganizationCode'],
  1443. departmentCode: map['DepartmentCode'],
  1444. isAutoShared: map['IsAutoShared'],
  1445. token: map['Token'],
  1446. );
  1447. }
  1448. Map<String, dynamic> toJson() {
  1449. final map = super.toJson();
  1450. if(deviceCode != null)
  1451. map['DeviceCode'] = deviceCode;
  1452. if(serialNumber != null)
  1453. map['SerialNumber'] = serialNumber;
  1454. if(name != null)
  1455. map['Name'] = name;
  1456. if(description != null)
  1457. map['Description'] = description;
  1458. if(headPicUrl != null)
  1459. map['HeadPicUrl'] = headPicUrl;
  1460. if(organizationCode != null)
  1461. map['OrganizationCode'] = organizationCode;
  1462. if(departmentCode != null)
  1463. map['DepartmentCode'] = departmentCode;
  1464. map['IsAutoShared'] = isAutoShared;
  1465. return map;
  1466. }
  1467. }
  1468. class CleanDeviceCacheRequest {
  1469. String? deviceCode;
  1470. CleanDeviceCacheRequest({
  1471. this.deviceCode,
  1472. });
  1473. factory CleanDeviceCacheRequest.fromJson(Map<String, dynamic> map) {
  1474. return CleanDeviceCacheRequest(
  1475. deviceCode: map['DeviceCode'],
  1476. );
  1477. }
  1478. Map<String, dynamic> toJson() {
  1479. final map = Map<String, dynamic>();
  1480. if(deviceCode != null)
  1481. map['DeviceCode'] = deviceCode;
  1482. return map;
  1483. }
  1484. }
  1485. class DeviceDiagnosisChangedNotification extends TokenRequest{
  1486. String? diagnosisModule;
  1487. String? organizationCode;
  1488. String? deviceCode;
  1489. DeviceDiagnosisChangedNotification({
  1490. this.diagnosisModule,
  1491. this.organizationCode,
  1492. this.deviceCode,
  1493. String? token,
  1494. }) : super(
  1495. token: token,
  1496. );
  1497. factory DeviceDiagnosisChangedNotification.fromJson(Map<String, dynamic> map) {
  1498. return DeviceDiagnosisChangedNotification(
  1499. diagnosisModule: map['DiagnosisModule'],
  1500. organizationCode: map['OrganizationCode'],
  1501. deviceCode: map['DeviceCode'],
  1502. token: map['Token'],
  1503. );
  1504. }
  1505. Map<String, dynamic> toJson() {
  1506. final map = super.toJson();
  1507. if(diagnosisModule != null)
  1508. map['DiagnosisModule'] = diagnosisModule;
  1509. if(organizationCode != null)
  1510. map['OrganizationCode'] = organizationCode;
  1511. if(deviceCode != null)
  1512. map['DeviceCode'] = deviceCode;
  1513. return map;
  1514. }
  1515. }
  1516. class DeviceLeaveLiveConsultationRequest extends TokenRequest{
  1517. String? consultationCode;
  1518. DeviceLeaveLiveConsultationRequest({
  1519. this.consultationCode,
  1520. String? token,
  1521. }) : super(
  1522. token: token,
  1523. );
  1524. factory DeviceLeaveLiveConsultationRequest.fromJson(Map<String, dynamic> map) {
  1525. return DeviceLeaveLiveConsultationRequest(
  1526. consultationCode: map['ConsultationCode'],
  1527. token: map['Token'],
  1528. );
  1529. }
  1530. Map<String, dynamic> toJson() {
  1531. final map = super.toJson();
  1532. if(consultationCode != null)
  1533. map['ConsultationCode'] = consultationCode;
  1534. return map;
  1535. }
  1536. }
  1537. class DeviceLeaveLiveConsultationResult {
  1538. bool success;
  1539. DeviceLeaveLiveConsultationResult({
  1540. this.success = false,
  1541. });
  1542. factory DeviceLeaveLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  1543. return DeviceLeaveLiveConsultationResult(
  1544. success: map['Success'],
  1545. );
  1546. }
  1547. Map<String, dynamic> toJson() {
  1548. final map = Map<String, dynamic>();
  1549. map['Success'] = success;
  1550. return map;
  1551. }
  1552. }
  1553. class FindDeviceDiagnosisRequest extends TokenRequest{
  1554. String? deviceCode;
  1555. FindDeviceDiagnosisRequest({
  1556. this.deviceCode,
  1557. String? token,
  1558. }) : super(
  1559. token: token,
  1560. );
  1561. factory FindDeviceDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  1562. return FindDeviceDiagnosisRequest(
  1563. deviceCode: map['DeviceCode'],
  1564. token: map['Token'],
  1565. );
  1566. }
  1567. Map<String, dynamic> toJson() {
  1568. final map = super.toJson();
  1569. if(deviceCode != null)
  1570. map['DeviceCode'] = deviceCode;
  1571. return map;
  1572. }
  1573. }
  1574. class GetDevicePrinterRequest extends TokenRequest{
  1575. String? deviceCode;
  1576. DevicePrinterEnum getPrinterEnum;
  1577. GetDevicePrinterRequest({
  1578. this.deviceCode,
  1579. this.getPrinterEnum = DevicePrinterEnum.GetInstalledPrinters,
  1580. String? token,
  1581. }) : super(
  1582. token: token,
  1583. );
  1584. factory GetDevicePrinterRequest.fromJson(Map<String, dynamic> map) {
  1585. return GetDevicePrinterRequest(
  1586. deviceCode: map['DeviceCode'],
  1587. getPrinterEnum: DevicePrinterEnum.values.firstWhere((e) => e.index == map['GetPrinterEnum']),
  1588. token: map['Token'],
  1589. );
  1590. }
  1591. Map<String, dynamic> toJson() {
  1592. final map = super.toJson();
  1593. if(deviceCode != null)
  1594. map['DeviceCode'] = deviceCode;
  1595. map['GetPrinterEnum'] = getPrinterEnum.index;
  1596. return map;
  1597. }
  1598. }
  1599. class RemoteConnectDataRequest {
  1600. String? roomCode;
  1601. UserRemoteConnectRequest? userRemoteConnect;
  1602. RemoteConnectDataRequest({
  1603. this.roomCode,
  1604. this.userRemoteConnect,
  1605. });
  1606. factory RemoteConnectDataRequest.fromJson(Map<String, dynamic> map) {
  1607. return RemoteConnectDataRequest(
  1608. roomCode: map['RoomCode'],
  1609. userRemoteConnect: map['UserRemoteConnect'] != null ? UserRemoteConnectRequest.fromJson(map['UserRemoteConnect']) : null,
  1610. );
  1611. }
  1612. Map<String, dynamic> toJson() {
  1613. final map = Map<String, dynamic>();
  1614. if(roomCode != null)
  1615. map['RoomCode'] = roomCode;
  1616. if(userRemoteConnect != null)
  1617. map['UserRemoteConnect'] = userRemoteConnect;
  1618. return map;
  1619. }
  1620. }
  1621. class ReportLiveStateResult {
  1622. ReportLiveStateResult();
  1623. factory ReportLiveStateResult.fromJson(Map<String, dynamic> map) {
  1624. return ReportLiveStateResult(
  1625. );
  1626. }
  1627. Map<String, dynamic> toJson() {
  1628. final map = Map<String, dynamic>();
  1629. return map;
  1630. }
  1631. }
  1632. class RemoteControlRequest extends TokenRequest{
  1633. String? controlUserCode;
  1634. RemoteControlRequest({
  1635. this.controlUserCode,
  1636. String? token,
  1637. }) : super(
  1638. token: token,
  1639. );
  1640. factory RemoteControlRequest.fromJson(Map<String, dynamic> map) {
  1641. return RemoteControlRequest(
  1642. controlUserCode: map['ControlUserCode'],
  1643. token: map['Token'],
  1644. );
  1645. }
  1646. Map<String, dynamic> toJson() {
  1647. final map = super.toJson();
  1648. if(controlUserCode != null)
  1649. map['ControlUserCode'] = controlUserCode;
  1650. return map;
  1651. }
  1652. }
  1653. class TransportAfterSalesCommonRequest {
  1654. String? reqJson;
  1655. String? receiverId;
  1656. NotificationTypeEnum notificationType;
  1657. TransportAfterSalesCommonRequest({
  1658. this.reqJson,
  1659. this.receiverId,
  1660. this.notificationType = NotificationTypeEnum.Unknown,
  1661. });
  1662. factory TransportAfterSalesCommonRequest.fromJson(Map<String, dynamic> map) {
  1663. return TransportAfterSalesCommonRequest(
  1664. reqJson: map['ReqJson'],
  1665. receiverId: map['ReceiverId'],
  1666. notificationType: NotificationTypeEnum.values.firstWhere((e) => e.index == map['NotificationType']),
  1667. );
  1668. }
  1669. Map<String, dynamic> toJson() {
  1670. final map = Map<String, dynamic>();
  1671. if(reqJson != null)
  1672. map['ReqJson'] = reqJson;
  1673. if(receiverId != null)
  1674. map['ReceiverId'] = receiverId;
  1675. map['NotificationType'] = notificationType.index;
  1676. return map;
  1677. }
  1678. }
  1679. class ConfirmAssociatedWithAccountRequest extends TokenRequest{
  1680. String? emailAddress;
  1681. String? verifyCode;
  1682. ConfirmAssociatedWithAccountRequest({
  1683. this.emailAddress,
  1684. this.verifyCode,
  1685. String? token,
  1686. }) : super(
  1687. token: token,
  1688. );
  1689. factory ConfirmAssociatedWithAccountRequest.fromJson(Map<String, dynamic> map) {
  1690. return ConfirmAssociatedWithAccountRequest(
  1691. emailAddress: map['EmailAddress'],
  1692. verifyCode: map['VerifyCode'],
  1693. token: map['Token'],
  1694. );
  1695. }
  1696. Map<String, dynamic> toJson() {
  1697. final map = super.toJson();
  1698. if(emailAddress != null)
  1699. map['EmailAddress'] = emailAddress;
  1700. if(verifyCode != null)
  1701. map['VerifyCode'] = verifyCode;
  1702. return map;
  1703. }
  1704. }
  1705. class DeleteThesaurusCodeRequest extends TokenRequest{
  1706. String? thesaurusCode;
  1707. DeleteThesaurusCodeRequest({
  1708. this.thesaurusCode,
  1709. String? token,
  1710. }) : super(
  1711. token: token,
  1712. );
  1713. factory DeleteThesaurusCodeRequest.fromJson(Map<String, dynamic> map) {
  1714. return DeleteThesaurusCodeRequest(
  1715. thesaurusCode: map['ThesaurusCode'],
  1716. token: map['Token'],
  1717. );
  1718. }
  1719. Map<String, dynamic> toJson() {
  1720. final map = super.toJson();
  1721. if(thesaurusCode != null)
  1722. map['ThesaurusCode'] = thesaurusCode;
  1723. return map;
  1724. }
  1725. }
  1726. class SignUpRequest extends UserDTO{
  1727. SignUpRequest({
  1728. String? nickName,
  1729. String? organizationCode,
  1730. String? organizationName,
  1731. String? rootOrganizationCode,
  1732. String? rootOrganizationName,
  1733. List<String >? authorityGroups,
  1734. List<String >? bindDevices,
  1735. String? lastIP,
  1736. int logintimes = 0,
  1737. UserInfoStateEnum userState = UserInfoStateEnum.Nonactivated,
  1738. List<String >? roleCodes,
  1739. List<String >? rankCodes,
  1740. List<String >? positionCodes,
  1741. ApplyStateEnum applyState = ApplyStateEnum.NotApply,
  1742. String? rankName,
  1743. String? positionName,
  1744. bool isDirector = false,
  1745. List<String >? fieldList,
  1746. List<String >? deletePatientCodes,
  1747. bool isBatchExportDiagnoseData = false,
  1748. String? bindAssistantUserCode,
  1749. String? bindAssistantDoctorUserCode,
  1750. LoginLockInfoDTO? loginLockInfo,
  1751. String? signature,
  1752. String? language,
  1753. bool enableReportLabel = false,
  1754. List<AssociatedInfoDTO >? associatedInfos,
  1755. String? commonPlatformUserId,
  1756. String? bindEmergencyDeviceCode,
  1757. String? bindEmergencyExpertCode,
  1758. List<String >? dashboardOrgCodes,
  1759. String? phone,
  1760. String? email,
  1761. String? userCode,
  1762. String? userName,
  1763. String? fullName,
  1764. String? headImageUrl,
  1765. String? displayName,
  1766. DateTime? createTime,
  1767. DateTime? updateTime,
  1768. }) : super(
  1769. nickName: nickName,
  1770. organizationCode: organizationCode,
  1771. organizationName: organizationName,
  1772. rootOrganizationCode: rootOrganizationCode,
  1773. rootOrganizationName: rootOrganizationName,
  1774. authorityGroups: authorityGroups,
  1775. bindDevices: bindDevices,
  1776. lastIP: lastIP,
  1777. logintimes: logintimes,
  1778. userState: userState,
  1779. roleCodes: roleCodes,
  1780. rankCodes: rankCodes,
  1781. positionCodes: positionCodes,
  1782. applyState: applyState,
  1783. rankName: rankName,
  1784. positionName: positionName,
  1785. isDirector: isDirector,
  1786. fieldList: fieldList,
  1787. deletePatientCodes: deletePatientCodes,
  1788. isBatchExportDiagnoseData: isBatchExportDiagnoseData,
  1789. bindAssistantUserCode: bindAssistantUserCode,
  1790. bindAssistantDoctorUserCode: bindAssistantDoctorUserCode,
  1791. loginLockInfo: loginLockInfo,
  1792. signature: signature,
  1793. language: language,
  1794. enableReportLabel: enableReportLabel,
  1795. associatedInfos: associatedInfos,
  1796. commonPlatformUserId: commonPlatformUserId,
  1797. bindEmergencyDeviceCode: bindEmergencyDeviceCode,
  1798. bindEmergencyExpertCode: bindEmergencyExpertCode,
  1799. dashboardOrgCodes: dashboardOrgCodes,
  1800. phone: phone,
  1801. email: email,
  1802. userCode: userCode,
  1803. userName: userName,
  1804. fullName: fullName,
  1805. headImageUrl: headImageUrl,
  1806. displayName: displayName,
  1807. createTime: createTime,
  1808. updateTime: updateTime,
  1809. );
  1810. factory SignUpRequest.fromJson(Map<String, dynamic> map) {
  1811. return SignUpRequest(
  1812. nickName: map['NickName'],
  1813. organizationCode: map['OrganizationCode'],
  1814. organizationName: map['OrganizationName'],
  1815. rootOrganizationCode: map['RootOrganizationCode'],
  1816. rootOrganizationName: map['RootOrganizationName'],
  1817. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  1818. bindDevices: map['BindDevices'] != null ? map['BindDevices'].cast<String>().toList() : null,
  1819. lastIP: map['LastIP'],
  1820. logintimes: map['Logintimes'],
  1821. userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']),
  1822. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  1823. rankCodes: map['RankCodes'] != null ? map['RankCodes'].cast<String>().toList() : null,
  1824. positionCodes: map['PositionCodes'] != null ? map['PositionCodes'].cast<String>().toList() : null,
  1825. applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']),
  1826. rankName: map['RankName'],
  1827. positionName: map['PositionName'],
  1828. isDirector: map['IsDirector'],
  1829. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  1830. deletePatientCodes: map['DeletePatientCodes'] != null ? map['DeletePatientCodes'].cast<String>().toList() : null,
  1831. isBatchExportDiagnoseData: map['IsBatchExportDiagnoseData'],
  1832. bindAssistantUserCode: map['BindAssistantUserCode'],
  1833. bindAssistantDoctorUserCode: map['BindAssistantDoctorUserCode'],
  1834. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  1835. signature: map['Signature'],
  1836. language: map['Language'],
  1837. enableReportLabel: map['EnableReportLabel'],
  1838. associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1839. commonPlatformUserId: map['CommonPlatformUserId'],
  1840. bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
  1841. bindEmergencyExpertCode: map['BindEmergencyExpertCode'],
  1842. dashboardOrgCodes: map['DashboardOrgCodes'] != null ? map['DashboardOrgCodes'].cast<String>().toList() : null,
  1843. phone: map['Phone'],
  1844. email: map['Email'],
  1845. userCode: map['UserCode'],
  1846. userName: map['UserName'],
  1847. fullName: map['FullName'],
  1848. headImageUrl: map['HeadImageUrl'],
  1849. displayName: map['DisplayName'],
  1850. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  1851. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  1852. );
  1853. }
  1854. Map<String, dynamic> toJson() {
  1855. final map = super.toJson();
  1856. return map;
  1857. }
  1858. }
  1859. class UpdateThesaurusCodeRequest extends TokenRequest{
  1860. String? thesaurusCode;
  1861. UpdateThesaurusCodeRequest({
  1862. this.thesaurusCode,
  1863. String? token,
  1864. }) : super(
  1865. token: token,
  1866. );
  1867. factory UpdateThesaurusCodeRequest.fromJson(Map<String, dynamic> map) {
  1868. return UpdateThesaurusCodeRequest(
  1869. thesaurusCode: map['ThesaurusCode'],
  1870. token: map['Token'],
  1871. );
  1872. }
  1873. Map<String, dynamic> toJson() {
  1874. final map = super.toJson();
  1875. if(thesaurusCode != null)
  1876. map['ThesaurusCode'] = thesaurusCode;
  1877. return map;
  1878. }
  1879. }
  1880. enum AnnouncementStatusEnum {
  1881. placeHolder_0,
  1882. Released,
  1883. Pending,
  1884. }
  1885. class AnnouncementInfoDTO extends BaseDTO{
  1886. String? code;
  1887. AnnouncementTypeEnum announcementType;
  1888. AnnouncementStatusEnum announcementStatus;
  1889. List<AnnouncementLanguageConfigDTO >? languageConfigs;
  1890. AnnouncementInfoDTO({
  1891. this.code,
  1892. this.announcementType = AnnouncementTypeEnum.Broadcast,
  1893. this.announcementStatus = AnnouncementStatusEnum.Released,
  1894. this.languageConfigs,
  1895. DateTime? createTime,
  1896. DateTime? updateTime,
  1897. }) : super(
  1898. createTime: createTime,
  1899. updateTime: updateTime,
  1900. );
  1901. factory AnnouncementInfoDTO.fromJson(Map<String, dynamic> map) {
  1902. return AnnouncementInfoDTO(
  1903. code: map['Code'],
  1904. announcementType: AnnouncementTypeEnum.values.firstWhere((e) => e.index == map['AnnouncementType']),
  1905. announcementStatus: AnnouncementStatusEnum.values.firstWhere((e) => e.index == map['AnnouncementStatus']),
  1906. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>AnnouncementLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1907. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  1908. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  1909. );
  1910. }
  1911. Map<String, dynamic> toJson() {
  1912. final map = super.toJson();
  1913. if(code != null)
  1914. map['Code'] = code;
  1915. map['AnnouncementType'] = announcementType.index;
  1916. map['AnnouncementStatus'] = announcementStatus.index;
  1917. if(languageConfigs != null)
  1918. map['LanguageConfigs'] = languageConfigs;
  1919. return map;
  1920. }
  1921. }
  1922. class AddAnnouncementRequest extends AnnouncementInfoDTO{
  1923. AddAnnouncementRequest({
  1924. String? code,
  1925. AnnouncementTypeEnum announcementType = AnnouncementTypeEnum.Broadcast,
  1926. AnnouncementStatusEnum announcementStatus = AnnouncementStatusEnum.Released,
  1927. List<AnnouncementLanguageConfigDTO >? languageConfigs,
  1928. DateTime? createTime,
  1929. DateTime? updateTime,
  1930. }) : super(
  1931. code: code,
  1932. announcementType: announcementType,
  1933. announcementStatus: announcementStatus,
  1934. languageConfigs: languageConfigs,
  1935. createTime: createTime,
  1936. updateTime: updateTime,
  1937. );
  1938. factory AddAnnouncementRequest.fromJson(Map<String, dynamic> map) {
  1939. return AddAnnouncementRequest(
  1940. code: map['Code'],
  1941. announcementType: AnnouncementTypeEnum.values.firstWhere((e) => e.index == map['AnnouncementType']),
  1942. announcementStatus: AnnouncementStatusEnum.values.firstWhere((e) => e.index == map['AnnouncementStatus']),
  1943. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>AnnouncementLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1944. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  1945. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  1946. );
  1947. }
  1948. Map<String, dynamic> toJson() {
  1949. final map = super.toJson();
  1950. return map;
  1951. }
  1952. }
  1953. class UpdateAnnouncementRequest extends AnnouncementInfoDTO{
  1954. UpdateAnnouncementRequest({
  1955. String? code,
  1956. AnnouncementTypeEnum announcementType = AnnouncementTypeEnum.Broadcast,
  1957. AnnouncementStatusEnum announcementStatus = AnnouncementStatusEnum.Released,
  1958. List<AnnouncementLanguageConfigDTO >? languageConfigs,
  1959. DateTime? createTime,
  1960. DateTime? updateTime,
  1961. }) : super(
  1962. code: code,
  1963. announcementType: announcementType,
  1964. announcementStatus: announcementStatus,
  1965. languageConfigs: languageConfigs,
  1966. createTime: createTime,
  1967. updateTime: updateTime,
  1968. );
  1969. factory UpdateAnnouncementRequest.fromJson(Map<String, dynamic> map) {
  1970. return UpdateAnnouncementRequest(
  1971. code: map['Code'],
  1972. announcementType: AnnouncementTypeEnum.values.firstWhere((e) => e.index == map['AnnouncementType']),
  1973. announcementStatus: AnnouncementStatusEnum.values.firstWhere((e) => e.index == map['AnnouncementStatus']),
  1974. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>AnnouncementLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  1975. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  1976. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  1977. );
  1978. }
  1979. Map<String, dynamic> toJson() {
  1980. final map = super.toJson();
  1981. return map;
  1982. }
  1983. }
  1984. class AddContentConfigRequest extends TokenRequest{
  1985. String? bindTypeKey;
  1986. String? bindTypeValue;
  1987. String? bindContentKey;
  1988. String? bindContentValue;
  1989. AddContentConfigRequest({
  1990. this.bindTypeKey,
  1991. this.bindTypeValue,
  1992. this.bindContentKey,
  1993. this.bindContentValue,
  1994. String? token,
  1995. }) : super(
  1996. token: token,
  1997. );
  1998. factory AddContentConfigRequest.fromJson(Map<String, dynamic> map) {
  1999. return AddContentConfigRequest(
  2000. bindTypeKey: map['BindTypeKey'],
  2001. bindTypeValue: map['BindTypeValue'],
  2002. bindContentKey: map['BindContentKey'],
  2003. bindContentValue: map['BindContentValue'],
  2004. token: map['Token'],
  2005. );
  2006. }
  2007. Map<String, dynamic> toJson() {
  2008. final map = super.toJson();
  2009. if(bindTypeKey != null)
  2010. map['BindTypeKey'] = bindTypeKey;
  2011. if(bindTypeValue != null)
  2012. map['BindTypeValue'] = bindTypeValue;
  2013. if(bindContentKey != null)
  2014. map['BindContentKey'] = bindContentKey;
  2015. if(bindContentValue != null)
  2016. map['BindContentValue'] = bindContentValue;
  2017. return map;
  2018. }
  2019. }
  2020. enum DeviceVideoOutputTypeEnum {
  2021. MergedVideo,
  2022. Desktop,
  2023. Camera,
  2024. }
  2025. class AddDeviceOutputConfigRequest extends TokenRequest{
  2026. DeviceVideoOutputTypeEnum deviceVideoOutputType;
  2027. int videoWidth;
  2028. int videoHeight;
  2029. AddDeviceOutputConfigRequest({
  2030. this.deviceVideoOutputType = DeviceVideoOutputTypeEnum.MergedVideo,
  2031. this.videoWidth = 0,
  2032. this.videoHeight = 0,
  2033. String? token,
  2034. }) : super(
  2035. token: token,
  2036. );
  2037. factory AddDeviceOutputConfigRequest.fromJson(Map<String, dynamic> map) {
  2038. return AddDeviceOutputConfigRequest(
  2039. deviceVideoOutputType: DeviceVideoOutputTypeEnum.values.firstWhere((e) => e.index == map['DeviceVideoOutputType']),
  2040. videoWidth: map['VideoWidth'],
  2041. videoHeight: map['VideoHeight'],
  2042. token: map['Token'],
  2043. );
  2044. }
  2045. Map<String, dynamic> toJson() {
  2046. final map = super.toJson();
  2047. map['DeviceVideoOutputType'] = deviceVideoOutputType.index;
  2048. map['VideoWidth'] = videoWidth;
  2049. map['VideoHeight'] = videoHeight;
  2050. return map;
  2051. }
  2052. }
  2053. class AdminApplyCourseRequest extends TokenRequest{
  2054. String? name;
  2055. String? courseIntro;
  2056. String? teacherCode;
  2057. String? cover;
  2058. DateTime? startTime;
  2059. int duration;
  2060. CourseTypeEnum courseType;
  2061. CourseAudienceTypeEnum audienceType;
  2062. String? coursewareToken;
  2063. String? teacherName;
  2064. CourseViewRangeEnum viewRange;
  2065. List<String >? caseLabelCodes;
  2066. List<String >? courseLabelCodes;
  2067. List<String >? userGroupCodes;
  2068. double price;
  2069. List<String >? courseVideoCodes;
  2070. List<CourseExaminationDTO >? bindExams;
  2071. bool isSmallClass;
  2072. List<String >? assistants;
  2073. List<String >? experts;
  2074. bool isAgentCourse;
  2075. List<String >? courseAlbumCodes;
  2076. bool isStick;
  2077. int sort;
  2078. AdminApplyCourseRequest({
  2079. this.name,
  2080. this.courseIntro,
  2081. this.teacherCode,
  2082. this.cover,
  2083. this.startTime,
  2084. this.duration = 0,
  2085. this.courseType = CourseTypeEnum.Unknown,
  2086. this.audienceType = CourseAudienceTypeEnum.Unknown,
  2087. this.coursewareToken,
  2088. this.teacherName,
  2089. this.viewRange = CourseViewRangeEnum.All,
  2090. this.caseLabelCodes,
  2091. this.courseLabelCodes,
  2092. this.userGroupCodes,
  2093. this.price = 0,
  2094. this.courseVideoCodes,
  2095. this.bindExams,
  2096. this.isSmallClass = false,
  2097. this.assistants,
  2098. this.experts,
  2099. this.isAgentCourse = false,
  2100. this.courseAlbumCodes,
  2101. this.isStick = false,
  2102. this.sort = 0,
  2103. String? token,
  2104. }) : super(
  2105. token: token,
  2106. );
  2107. factory AdminApplyCourseRequest.fromJson(Map<String, dynamic> map) {
  2108. return AdminApplyCourseRequest(
  2109. name: map['Name'],
  2110. courseIntro: map['CourseIntro'],
  2111. teacherCode: map['TeacherCode'],
  2112. cover: map['Cover'],
  2113. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  2114. duration: map['Duration'],
  2115. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  2116. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  2117. coursewareToken: map['CoursewareToken'],
  2118. teacherName: map['TeacherName'],
  2119. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  2120. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  2121. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  2122. userGroupCodes: map['UserGroupCodes'] != null ? map['UserGroupCodes'].cast<String>().toList() : null,
  2123. price: double.parse(map['Price'].toString()),
  2124. courseVideoCodes: map['CourseVideoCodes'] != null ? map['CourseVideoCodes'].cast<String>().toList() : null,
  2125. bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2126. isSmallClass: map['IsSmallClass'],
  2127. assistants: map['Assistants'] != null ? map['Assistants'].cast<String>().toList() : null,
  2128. experts: map['Experts'] != null ? map['Experts'].cast<String>().toList() : null,
  2129. isAgentCourse: map['IsAgentCourse'],
  2130. courseAlbumCodes: map['CourseAlbumCodes'] != null ? map['CourseAlbumCodes'].cast<String>().toList() : null,
  2131. isStick: map['IsStick'],
  2132. sort: map['Sort'],
  2133. token: map['Token'],
  2134. );
  2135. }
  2136. Map<String, dynamic> toJson() {
  2137. final map = super.toJson();
  2138. if(name != null)
  2139. map['Name'] = name;
  2140. if(courseIntro != null)
  2141. map['CourseIntro'] = courseIntro;
  2142. if(teacherCode != null)
  2143. map['TeacherCode'] = teacherCode;
  2144. if(cover != null)
  2145. map['Cover'] = cover;
  2146. if(startTime != null)
  2147. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  2148. map['Duration'] = duration;
  2149. map['CourseType'] = courseType.index;
  2150. map['AudienceType'] = audienceType.index;
  2151. if(coursewareToken != null)
  2152. map['CoursewareToken'] = coursewareToken;
  2153. if(teacherName != null)
  2154. map['TeacherName'] = teacherName;
  2155. map['ViewRange'] = viewRange.index;
  2156. if(caseLabelCodes != null)
  2157. map['CaseLabelCodes'] = caseLabelCodes;
  2158. if(courseLabelCodes != null)
  2159. map['CourseLabelCodes'] = courseLabelCodes;
  2160. if(userGroupCodes != null)
  2161. map['UserGroupCodes'] = userGroupCodes;
  2162. map['Price'] = price;
  2163. if(courseVideoCodes != null)
  2164. map['CourseVideoCodes'] = courseVideoCodes;
  2165. if(bindExams != null)
  2166. map['BindExams'] = bindExams;
  2167. map['IsSmallClass'] = isSmallClass;
  2168. if(assistants != null)
  2169. map['Assistants'] = assistants;
  2170. if(experts != null)
  2171. map['Experts'] = experts;
  2172. map['IsAgentCourse'] = isAgentCourse;
  2173. if(courseAlbumCodes != null)
  2174. map['CourseAlbumCodes'] = courseAlbumCodes;
  2175. map['IsStick'] = isStick;
  2176. map['Sort'] = sort;
  2177. return map;
  2178. }
  2179. }
  2180. class AdminApprovalCourseRequest extends TokenRequest{
  2181. String? code;
  2182. CourseStatusEnum status;
  2183. AdminApprovalCourseRequest({
  2184. this.code,
  2185. this.status = CourseStatusEnum.Unknown,
  2186. String? token,
  2187. }) : super(
  2188. token: token,
  2189. );
  2190. factory AdminApprovalCourseRequest.fromJson(Map<String, dynamic> map) {
  2191. return AdminApprovalCourseRequest(
  2192. code: map['Code'],
  2193. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  2194. token: map['Token'],
  2195. );
  2196. }
  2197. Map<String, dynamic> toJson() {
  2198. final map = super.toJson();
  2199. if(code != null)
  2200. map['Code'] = code;
  2201. map['Status'] = status.index;
  2202. return map;
  2203. }
  2204. }
  2205. class AdminDeleteCourseByCodeRequest extends TokenRequest{
  2206. String? code;
  2207. AdminDeleteCourseByCodeRequest({
  2208. this.code,
  2209. String? token,
  2210. }) : super(
  2211. token: token,
  2212. );
  2213. factory AdminDeleteCourseByCodeRequest.fromJson(Map<String, dynamic> map) {
  2214. return AdminDeleteCourseByCodeRequest(
  2215. code: map['Code'],
  2216. token: map['Token'],
  2217. );
  2218. }
  2219. Map<String, dynamic> toJson() {
  2220. final map = super.toJson();
  2221. if(code != null)
  2222. map['Code'] = code;
  2223. return map;
  2224. }
  2225. }
  2226. class AdminFindCoursePagesRequest extends PageRequest{
  2227. String? keyword;
  2228. CourseStatusEnum status;
  2229. String? languageCode;
  2230. CourseTypeEnum courseType;
  2231. CourseAudienceTypeEnum audienceType;
  2232. AdminFindCoursePagesRequest({
  2233. this.keyword,
  2234. this.status = CourseStatusEnum.Unknown,
  2235. this.languageCode,
  2236. this.courseType = CourseTypeEnum.Unknown,
  2237. this.audienceType = CourseAudienceTypeEnum.Unknown,
  2238. int pageIndex = 0,
  2239. int pageSize = 0,
  2240. String? token,
  2241. }) : super(
  2242. pageIndex: pageIndex,
  2243. pageSize: pageSize,
  2244. token: token,
  2245. );
  2246. factory AdminFindCoursePagesRequest.fromJson(Map<String, dynamic> map) {
  2247. return AdminFindCoursePagesRequest(
  2248. keyword: map['Keyword'],
  2249. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  2250. languageCode: map['LanguageCode'],
  2251. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  2252. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  2253. pageIndex: map['PageIndex'],
  2254. pageSize: map['PageSize'],
  2255. token: map['Token'],
  2256. );
  2257. }
  2258. Map<String, dynamic> toJson() {
  2259. final map = super.toJson();
  2260. if(keyword != null)
  2261. map['Keyword'] = keyword;
  2262. map['Status'] = status.index;
  2263. if(languageCode != null)
  2264. map['LanguageCode'] = languageCode;
  2265. map['CourseType'] = courseType.index;
  2266. map['AudienceType'] = audienceType.index;
  2267. return map;
  2268. }
  2269. }
  2270. class AdminUpdateCourseRequest extends TokenRequest{
  2271. String? code;
  2272. String? name;
  2273. String? courseIntro;
  2274. String? teacherCode;
  2275. String? cover;
  2276. DateTime? startTime;
  2277. int duration;
  2278. CourseTypeEnum courseType;
  2279. CourseAudienceTypeEnum audienceType;
  2280. String? coursewareToken;
  2281. String? teacherName;
  2282. CourseViewRangeEnum viewRange;
  2283. List<String >? caseLabelCodes;
  2284. List<String >? courseLabelCodes;
  2285. List<String >? userGroupCodes;
  2286. double price;
  2287. List<String >? courseVideoCodes;
  2288. List<CourseExaminationDTO >? bindExams;
  2289. bool isSmallClass;
  2290. List<String >? assistants;
  2291. List<String >? experts;
  2292. bool isAgentCourse;
  2293. List<String >? courseAlbumCodes;
  2294. bool isStick;
  2295. int sort;
  2296. AdminUpdateCourseRequest({
  2297. this.code,
  2298. this.name,
  2299. this.courseIntro,
  2300. this.teacherCode,
  2301. this.cover,
  2302. this.startTime,
  2303. this.duration = 0,
  2304. this.courseType = CourseTypeEnum.Unknown,
  2305. this.audienceType = CourseAudienceTypeEnum.Unknown,
  2306. this.coursewareToken,
  2307. this.teacherName,
  2308. this.viewRange = CourseViewRangeEnum.All,
  2309. this.caseLabelCodes,
  2310. this.courseLabelCodes,
  2311. this.userGroupCodes,
  2312. this.price = 0,
  2313. this.courseVideoCodes,
  2314. this.bindExams,
  2315. this.isSmallClass = false,
  2316. this.assistants,
  2317. this.experts,
  2318. this.isAgentCourse = false,
  2319. this.courseAlbumCodes,
  2320. this.isStick = false,
  2321. this.sort = 0,
  2322. String? token,
  2323. }) : super(
  2324. token: token,
  2325. );
  2326. factory AdminUpdateCourseRequest.fromJson(Map<String, dynamic> map) {
  2327. return AdminUpdateCourseRequest(
  2328. code: map['Code'],
  2329. name: map['Name'],
  2330. courseIntro: map['CourseIntro'],
  2331. teacherCode: map['TeacherCode'],
  2332. cover: map['Cover'],
  2333. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  2334. duration: map['Duration'],
  2335. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  2336. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  2337. coursewareToken: map['CoursewareToken'],
  2338. teacherName: map['TeacherName'],
  2339. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  2340. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  2341. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  2342. userGroupCodes: map['UserGroupCodes'] != null ? map['UserGroupCodes'].cast<String>().toList() : null,
  2343. price: double.parse(map['Price'].toString()),
  2344. courseVideoCodes: map['CourseVideoCodes'] != null ? map['CourseVideoCodes'].cast<String>().toList() : null,
  2345. bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2346. isSmallClass: map['IsSmallClass'],
  2347. assistants: map['Assistants'] != null ? map['Assistants'].cast<String>().toList() : null,
  2348. experts: map['Experts'] != null ? map['Experts'].cast<String>().toList() : null,
  2349. isAgentCourse: map['IsAgentCourse'],
  2350. courseAlbumCodes: map['CourseAlbumCodes'] != null ? map['CourseAlbumCodes'].cast<String>().toList() : null,
  2351. isStick: map['IsStick'],
  2352. sort: map['Sort'],
  2353. token: map['Token'],
  2354. );
  2355. }
  2356. Map<String, dynamic> toJson() {
  2357. final map = super.toJson();
  2358. if(code != null)
  2359. map['Code'] = code;
  2360. if(name != null)
  2361. map['Name'] = name;
  2362. if(courseIntro != null)
  2363. map['CourseIntro'] = courseIntro;
  2364. if(teacherCode != null)
  2365. map['TeacherCode'] = teacherCode;
  2366. if(cover != null)
  2367. map['Cover'] = cover;
  2368. if(startTime != null)
  2369. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  2370. map['Duration'] = duration;
  2371. map['CourseType'] = courseType.index;
  2372. map['AudienceType'] = audienceType.index;
  2373. if(coursewareToken != null)
  2374. map['CoursewareToken'] = coursewareToken;
  2375. if(teacherName != null)
  2376. map['TeacherName'] = teacherName;
  2377. map['ViewRange'] = viewRange.index;
  2378. if(caseLabelCodes != null)
  2379. map['CaseLabelCodes'] = caseLabelCodes;
  2380. if(courseLabelCodes != null)
  2381. map['CourseLabelCodes'] = courseLabelCodes;
  2382. if(userGroupCodes != null)
  2383. map['UserGroupCodes'] = userGroupCodes;
  2384. map['Price'] = price;
  2385. if(courseVideoCodes != null)
  2386. map['CourseVideoCodes'] = courseVideoCodes;
  2387. if(bindExams != null)
  2388. map['BindExams'] = bindExams;
  2389. map['IsSmallClass'] = isSmallClass;
  2390. if(assistants != null)
  2391. map['Assistants'] = assistants;
  2392. if(experts != null)
  2393. map['Experts'] = experts;
  2394. map['IsAgentCourse'] = isAgentCourse;
  2395. if(courseAlbumCodes != null)
  2396. map['CourseAlbumCodes'] = courseAlbumCodes;
  2397. map['IsStick'] = isStick;
  2398. map['Sort'] = sort;
  2399. return map;
  2400. }
  2401. }
  2402. class AdminUpdateCourseBindExamsRequest extends TokenRequest{
  2403. String? code;
  2404. List<CourseExaminationDTO >? bindExams;
  2405. AdminUpdateCourseBindExamsRequest({
  2406. this.code,
  2407. this.bindExams,
  2408. String? token,
  2409. }) : super(
  2410. token: token,
  2411. );
  2412. factory AdminUpdateCourseBindExamsRequest.fromJson(Map<String, dynamic> map) {
  2413. return AdminUpdateCourseBindExamsRequest(
  2414. code: map['Code'],
  2415. bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2416. token: map['Token'],
  2417. );
  2418. }
  2419. Map<String, dynamic> toJson() {
  2420. final map = super.toJson();
  2421. if(code != null)
  2422. map['Code'] = code;
  2423. if(bindExams != null)
  2424. map['BindExams'] = bindExams;
  2425. return map;
  2426. }
  2427. }
  2428. class AssignedAdminsToOrganizationsRequest extends TokenRequest{
  2429. List<String >? assignedAdmins;
  2430. List<String >? organizationCodes;
  2431. AssignedAdminsToOrganizationsRequest({
  2432. this.assignedAdmins,
  2433. this.organizationCodes,
  2434. String? token,
  2435. }) : super(
  2436. token: token,
  2437. );
  2438. factory AssignedAdminsToOrganizationsRequest.fromJson(Map<String, dynamic> map) {
  2439. return AssignedAdminsToOrganizationsRequest(
  2440. assignedAdmins: map['AssignedAdmins'] != null ? map['AssignedAdmins'].cast<String>().toList() : null,
  2441. organizationCodes: map['OrganizationCodes'] != null ? map['OrganizationCodes'].cast<String>().toList() : null,
  2442. token: map['Token'],
  2443. );
  2444. }
  2445. Map<String, dynamic> toJson() {
  2446. final map = super.toJson();
  2447. if(assignedAdmins != null)
  2448. map['AssignedAdmins'] = assignedAdmins;
  2449. if(organizationCodes != null)
  2450. map['OrganizationCodes'] = organizationCodes;
  2451. return map;
  2452. }
  2453. }
  2454. class ClearLogOperateDTO {
  2455. String? serverHost;
  2456. DateTime? lastClearTime;
  2457. DateTime? lastClearOperateTime;
  2458. ClearLogOperateDTO({
  2459. this.serverHost,
  2460. this.lastClearTime,
  2461. this.lastClearOperateTime,
  2462. });
  2463. factory ClearLogOperateDTO.fromJson(Map<String, dynamic> map) {
  2464. return ClearLogOperateDTO(
  2465. serverHost: map['ServerHost'],
  2466. lastClearTime: map['LastClearTime'] != null ? DateTime.parse(map['LastClearTime']) : null,
  2467. lastClearOperateTime: map['LastClearOperateTime'] != null ? DateTime.parse(map['LastClearOperateTime']) : null,
  2468. );
  2469. }
  2470. Map<String, dynamic> toJson() {
  2471. final map = Map<String, dynamic>();
  2472. if(serverHost != null)
  2473. map['ServerHost'] = serverHost;
  2474. if(lastClearTime != null)
  2475. map['LastClearTime'] = JsonRpcUtils.dateFormat(lastClearTime!);
  2476. if(lastClearOperateTime != null)
  2477. map['LastClearOperateTime'] = JsonRpcUtils.dateFormat(lastClearOperateTime!);
  2478. return map;
  2479. }
  2480. }
  2481. class AdminInfoDTO extends BaseDTO{
  2482. String? adminCode;
  2483. String? fatherCode;
  2484. String? adminName;
  2485. String? fullName;
  2486. String? secretPassword;
  2487. String? headImageToken;
  2488. String? licenseKey;
  2489. String? lastIP;
  2490. String? phone;
  2491. String? email;
  2492. List<String >? roleCodes;
  2493. LoginLockInfoDTO? loginLockInfo;
  2494. DateTime? passwordUpdateTime;
  2495. List<String >? passwordRecords;
  2496. List<ClearLogOperateDTO >? clearLogOperateList;
  2497. AdminInfoDTO({
  2498. this.adminCode,
  2499. this.fatherCode,
  2500. this.adminName,
  2501. this.fullName,
  2502. this.secretPassword,
  2503. this.headImageToken,
  2504. this.licenseKey,
  2505. this.lastIP,
  2506. this.phone,
  2507. this.email,
  2508. this.roleCodes,
  2509. this.loginLockInfo,
  2510. this.passwordUpdateTime,
  2511. this.passwordRecords,
  2512. this.clearLogOperateList,
  2513. DateTime? createTime,
  2514. DateTime? updateTime,
  2515. }) : super(
  2516. createTime: createTime,
  2517. updateTime: updateTime,
  2518. );
  2519. factory AdminInfoDTO.fromJson(Map<String, dynamic> map) {
  2520. return AdminInfoDTO(
  2521. adminCode: map['AdminCode'],
  2522. fatherCode: map['FatherCode'],
  2523. adminName: map['AdminName'],
  2524. fullName: map['FullName'],
  2525. secretPassword: map['SecretPassword'],
  2526. headImageToken: map['HeadImageToken'],
  2527. licenseKey: map['LicenseKey'],
  2528. lastIP: map['LastIP'],
  2529. phone: map['Phone'],
  2530. email: map['Email'],
  2531. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  2532. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  2533. passwordUpdateTime: map['PasswordUpdateTime'] != null ? DateTime.parse(map['PasswordUpdateTime']) : null,
  2534. passwordRecords: map['PasswordRecords'] != null ? map['PasswordRecords'].cast<String>().toList() : null,
  2535. clearLogOperateList: map['ClearLogOperateList'] != null ? (map['ClearLogOperateList'] as List).map((e)=>ClearLogOperateDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2536. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  2537. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  2538. );
  2539. }
  2540. Map<String, dynamic> toJson() {
  2541. final map = super.toJson();
  2542. if(adminCode != null)
  2543. map['AdminCode'] = adminCode;
  2544. if(fatherCode != null)
  2545. map['FatherCode'] = fatherCode;
  2546. if(adminName != null)
  2547. map['AdminName'] = adminName;
  2548. if(fullName != null)
  2549. map['FullName'] = fullName;
  2550. if(secretPassword != null)
  2551. map['SecretPassword'] = secretPassword;
  2552. if(headImageToken != null)
  2553. map['HeadImageToken'] = headImageToken;
  2554. if(licenseKey != null)
  2555. map['LicenseKey'] = licenseKey;
  2556. if(lastIP != null)
  2557. map['LastIP'] = lastIP;
  2558. if(phone != null)
  2559. map['Phone'] = phone;
  2560. if(email != null)
  2561. map['Email'] = email;
  2562. if(roleCodes != null)
  2563. map['RoleCodes'] = roleCodes;
  2564. if(loginLockInfo != null)
  2565. map['LoginLockInfo'] = loginLockInfo;
  2566. if(passwordUpdateTime != null)
  2567. map['PasswordUpdateTime'] = JsonRpcUtils.dateFormat(passwordUpdateTime!);
  2568. if(passwordRecords != null)
  2569. map['PasswordRecords'] = passwordRecords;
  2570. if(clearLogOperateList != null)
  2571. map['ClearLogOperateList'] = clearLogOperateList;
  2572. return map;
  2573. }
  2574. }
  2575. enum AdminMigratoryRoleEnum {
  2576. PrimaryAdmin01,
  2577. GeneralAdmin,
  2578. }
  2579. class AdminMigratoryInfo extends AdminInfoDTO{
  2580. AdminMigratoryRoleEnum adminRole;
  2581. bool isDelete;
  2582. AdminMigratoryInfo({
  2583. this.adminRole = AdminMigratoryRoleEnum.PrimaryAdmin01,
  2584. this.isDelete = false,
  2585. String? adminCode,
  2586. String? fatherCode,
  2587. String? adminName,
  2588. String? fullName,
  2589. String? secretPassword,
  2590. String? headImageToken,
  2591. String? licenseKey,
  2592. String? lastIP,
  2593. String? phone,
  2594. String? email,
  2595. List<String >? roleCodes,
  2596. LoginLockInfoDTO? loginLockInfo,
  2597. DateTime? passwordUpdateTime,
  2598. List<String >? passwordRecords,
  2599. List<ClearLogOperateDTO >? clearLogOperateList,
  2600. DateTime? createTime,
  2601. DateTime? updateTime,
  2602. }) : super(
  2603. adminCode: adminCode,
  2604. fatherCode: fatherCode,
  2605. adminName: adminName,
  2606. fullName: fullName,
  2607. secretPassword: secretPassword,
  2608. headImageToken: headImageToken,
  2609. licenseKey: licenseKey,
  2610. lastIP: lastIP,
  2611. phone: phone,
  2612. email: email,
  2613. roleCodes: roleCodes,
  2614. loginLockInfo: loginLockInfo,
  2615. passwordUpdateTime: passwordUpdateTime,
  2616. passwordRecords: passwordRecords,
  2617. clearLogOperateList: clearLogOperateList,
  2618. createTime: createTime,
  2619. updateTime: updateTime,
  2620. );
  2621. factory AdminMigratoryInfo.fromJson(Map<String, dynamic> map) {
  2622. return AdminMigratoryInfo(
  2623. adminRole: AdminMigratoryRoleEnum.values.firstWhere((e) => e.index == map['AdminRole']),
  2624. isDelete: map['IsDelete'],
  2625. adminCode: map['AdminCode'],
  2626. fatherCode: map['FatherCode'],
  2627. adminName: map['AdminName'],
  2628. fullName: map['FullName'],
  2629. secretPassword: map['SecretPassword'],
  2630. headImageToken: map['HeadImageToken'],
  2631. licenseKey: map['LicenseKey'],
  2632. lastIP: map['LastIP'],
  2633. phone: map['Phone'],
  2634. email: map['Email'],
  2635. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  2636. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  2637. passwordUpdateTime: map['PasswordUpdateTime'] != null ? DateTime.parse(map['PasswordUpdateTime']) : null,
  2638. passwordRecords: map['PasswordRecords'] != null ? map['PasswordRecords'].cast<String>().toList() : null,
  2639. clearLogOperateList: map['ClearLogOperateList'] != null ? (map['ClearLogOperateList'] as List).map((e)=>ClearLogOperateDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2640. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  2641. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  2642. );
  2643. }
  2644. Map<String, dynamic> toJson() {
  2645. final map = super.toJson();
  2646. map['AdminRole'] = adminRole.index;
  2647. map['IsDelete'] = isDelete;
  2648. return map;
  2649. }
  2650. }
  2651. class BatchInsertAdminRequest extends TokenRequest{
  2652. List<AdminMigratoryInfo >? adminMigratorys;
  2653. BatchInsertAdminRequest({
  2654. this.adminMigratorys,
  2655. String? token,
  2656. }) : super(
  2657. token: token,
  2658. );
  2659. factory BatchInsertAdminRequest.fromJson(Map<String, dynamic> map) {
  2660. return BatchInsertAdminRequest(
  2661. adminMigratorys: map['AdminMigratorys'] != null ? (map['AdminMigratorys'] as List).map((e)=>AdminMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  2662. token: map['Token'],
  2663. );
  2664. }
  2665. Map<String, dynamic> toJson() {
  2666. final map = super.toJson();
  2667. if(adminMigratorys != null)
  2668. map['AdminMigratorys'] = adminMigratorys;
  2669. return map;
  2670. }
  2671. }
  2672. class CourseLabelMigratoryInfo extends BaseDTO{
  2673. bool isDelete;
  2674. String? code;
  2675. List<LabelLanguageConfigDTO >? labelLanguageConfigs;
  2676. OrganizationPatientTypeEnum useObjectType;
  2677. LabelTypeEnum type;
  2678. CourseLabelMigratoryInfo({
  2679. this.isDelete = false,
  2680. this.code,
  2681. this.labelLanguageConfigs,
  2682. this.useObjectType = OrganizationPatientTypeEnum.Person,
  2683. this.type = LabelTypeEnum.Unknown,
  2684. DateTime? createTime,
  2685. DateTime? updateTime,
  2686. }) : super(
  2687. createTime: createTime,
  2688. updateTime: updateTime,
  2689. );
  2690. factory CourseLabelMigratoryInfo.fromJson(Map<String, dynamic> map) {
  2691. return CourseLabelMigratoryInfo(
  2692. isDelete: map['IsDelete'],
  2693. code: map['Code'],
  2694. labelLanguageConfigs: map['LabelLanguageConfigs'] != null ? (map['LabelLanguageConfigs'] as List).map((e)=>LabelLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2695. useObjectType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['UseObjectType']),
  2696. type: LabelTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  2697. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  2698. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  2699. );
  2700. }
  2701. Map<String, dynamic> toJson() {
  2702. final map = super.toJson();
  2703. map['IsDelete'] = isDelete;
  2704. if(code != null)
  2705. map['Code'] = code;
  2706. if(labelLanguageConfigs != null)
  2707. map['LabelLanguageConfigs'] = labelLanguageConfigs;
  2708. map['UseObjectType'] = useObjectType.index;
  2709. map['Type'] = type.index;
  2710. return map;
  2711. }
  2712. }
  2713. class BatchInsertCourseLabelRequest extends TokenRequest{
  2714. List<CourseLabelMigratoryInfo >? courseLabelMigratorys;
  2715. BatchInsertCourseLabelRequest({
  2716. this.courseLabelMigratorys,
  2717. String? token,
  2718. }) : super(
  2719. token: token,
  2720. );
  2721. factory BatchInsertCourseLabelRequest.fromJson(Map<String, dynamic> map) {
  2722. return BatchInsertCourseLabelRequest(
  2723. courseLabelMigratorys: map['CourseLabelMigratorys'] != null ? (map['CourseLabelMigratorys'] as List).map((e)=>CourseLabelMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  2724. token: map['Token'],
  2725. );
  2726. }
  2727. Map<String, dynamic> toJson() {
  2728. final map = super.toJson();
  2729. if(courseLabelMigratorys != null)
  2730. map['CourseLabelMigratorys'] = courseLabelMigratorys;
  2731. return map;
  2732. }
  2733. }
  2734. class CourseMigratoryInfo extends BaseDTO{
  2735. bool isDelete;
  2736. String? code;
  2737. String? name;
  2738. String? courseIntro;
  2739. String? teacherCode;
  2740. String? poster;
  2741. CourseStatusEnum status;
  2742. DateTime? startTime;
  2743. int duration;
  2744. DateTime? deadline;
  2745. DateTime? actualStartTime;
  2746. DateTime? actualEndTime;
  2747. String? courseToken;
  2748. String? creatorCode;
  2749. String? organizationCode;
  2750. CourseTypeEnum courseType;
  2751. CourseAudienceTypeEnum audienceType;
  2752. String? coursewareToken;
  2753. String? teacherName;
  2754. CourseViewRangeEnum viewRange;
  2755. List<String >? caseLabelCodes;
  2756. List<String >? courseLabelCodes;
  2757. List<String >? userGroupCodes;
  2758. double price;
  2759. List<String >? courseVideoCodes;
  2760. List<StudentInfoDTO >? assistants;
  2761. List<StudentInfoDTO >? experts;
  2762. bool isAgentCourse;
  2763. List<String >? courseAlbumCodes;
  2764. bool isStick;
  2765. int sort;
  2766. List<String >? courseMaterialCodes;
  2767. List<CourseExaminationDTO >? bindExams;
  2768. CourseAppearTypeEnum courseAppearType;
  2769. List<StudentInfoDTO >? students;
  2770. int playCount;
  2771. CourseMigratoryInfo({
  2772. this.isDelete = false,
  2773. this.code,
  2774. this.name,
  2775. this.courseIntro,
  2776. this.teacherCode,
  2777. this.poster,
  2778. this.status = CourseStatusEnum.Unknown,
  2779. this.startTime,
  2780. this.duration = 0,
  2781. this.deadline,
  2782. this.actualStartTime,
  2783. this.actualEndTime,
  2784. this.courseToken,
  2785. this.creatorCode,
  2786. this.organizationCode,
  2787. this.courseType = CourseTypeEnum.Unknown,
  2788. this.audienceType = CourseAudienceTypeEnum.Unknown,
  2789. this.coursewareToken,
  2790. this.teacherName,
  2791. this.viewRange = CourseViewRangeEnum.All,
  2792. this.caseLabelCodes,
  2793. this.courseLabelCodes,
  2794. this.userGroupCodes,
  2795. this.price = 0,
  2796. this.courseVideoCodes,
  2797. this.assistants,
  2798. this.experts,
  2799. this.isAgentCourse = false,
  2800. this.courseAlbumCodes,
  2801. this.isStick = false,
  2802. this.sort = 0,
  2803. this.courseMaterialCodes,
  2804. this.bindExams,
  2805. this.courseAppearType = CourseAppearTypeEnum.Unknown,
  2806. this.students,
  2807. this.playCount = 0,
  2808. DateTime? createTime,
  2809. DateTime? updateTime,
  2810. }) : super(
  2811. createTime: createTime,
  2812. updateTime: updateTime,
  2813. );
  2814. factory CourseMigratoryInfo.fromJson(Map<String, dynamic> map) {
  2815. return CourseMigratoryInfo(
  2816. isDelete: map['IsDelete'],
  2817. code: map['Code'],
  2818. name: map['Name'],
  2819. courseIntro: map['CourseIntro'],
  2820. teacherCode: map['TeacherCode'],
  2821. poster: map['Poster'],
  2822. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  2823. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  2824. duration: map['Duration'],
  2825. deadline: map['Deadline'] != null ? DateTime.parse(map['Deadline']) : null,
  2826. actualStartTime: map['ActualStartTime'] != null ? DateTime.parse(map['ActualStartTime']) : null,
  2827. actualEndTime: map['ActualEndTime'] != null ? DateTime.parse(map['ActualEndTime']) : null,
  2828. courseToken: map['CourseToken'],
  2829. creatorCode: map['CreatorCode'],
  2830. organizationCode: map['OrganizationCode'],
  2831. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  2832. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  2833. coursewareToken: map['CoursewareToken'],
  2834. teacherName: map['TeacherName'],
  2835. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  2836. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  2837. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  2838. userGroupCodes: map['UserGroupCodes'] != null ? map['UserGroupCodes'].cast<String>().toList() : null,
  2839. price: double.parse(map['Price'].toString()),
  2840. courseVideoCodes: map['CourseVideoCodes'] != null ? map['CourseVideoCodes'].cast<String>().toList() : null,
  2841. assistants: map['Assistants'] != null ? (map['Assistants'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2842. experts: map['Experts'] != null ? (map['Experts'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2843. isAgentCourse: map['IsAgentCourse'],
  2844. courseAlbumCodes: map['CourseAlbumCodes'] != null ? map['CourseAlbumCodes'].cast<String>().toList() : null,
  2845. isStick: map['IsStick'],
  2846. sort: map['Sort'],
  2847. courseMaterialCodes: map['CourseMaterialCodes'] != null ? map['CourseMaterialCodes'].cast<String>().toList() : null,
  2848. bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2849. courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
  2850. students: map['Students'] != null ? (map['Students'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  2851. playCount: map['PlayCount'],
  2852. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  2853. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  2854. );
  2855. }
  2856. Map<String, dynamic> toJson() {
  2857. final map = super.toJson();
  2858. map['IsDelete'] = isDelete;
  2859. if(code != null)
  2860. map['Code'] = code;
  2861. if(name != null)
  2862. map['Name'] = name;
  2863. if(courseIntro != null)
  2864. map['CourseIntro'] = courseIntro;
  2865. if(teacherCode != null)
  2866. map['TeacherCode'] = teacherCode;
  2867. if(poster != null)
  2868. map['Poster'] = poster;
  2869. map['Status'] = status.index;
  2870. if(startTime != null)
  2871. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  2872. map['Duration'] = duration;
  2873. if(deadline != null)
  2874. map['Deadline'] = JsonRpcUtils.dateFormat(deadline!);
  2875. if(actualStartTime != null)
  2876. map['ActualStartTime'] = JsonRpcUtils.dateFormat(actualStartTime!);
  2877. if(actualEndTime != null)
  2878. map['ActualEndTime'] = JsonRpcUtils.dateFormat(actualEndTime!);
  2879. if(courseToken != null)
  2880. map['CourseToken'] = courseToken;
  2881. if(creatorCode != null)
  2882. map['CreatorCode'] = creatorCode;
  2883. if(organizationCode != null)
  2884. map['OrganizationCode'] = organizationCode;
  2885. map['CourseType'] = courseType.index;
  2886. map['AudienceType'] = audienceType.index;
  2887. if(coursewareToken != null)
  2888. map['CoursewareToken'] = coursewareToken;
  2889. if(teacherName != null)
  2890. map['TeacherName'] = teacherName;
  2891. map['ViewRange'] = viewRange.index;
  2892. if(caseLabelCodes != null)
  2893. map['CaseLabelCodes'] = caseLabelCodes;
  2894. if(courseLabelCodes != null)
  2895. map['CourseLabelCodes'] = courseLabelCodes;
  2896. if(userGroupCodes != null)
  2897. map['UserGroupCodes'] = userGroupCodes;
  2898. map['Price'] = price;
  2899. if(courseVideoCodes != null)
  2900. map['CourseVideoCodes'] = courseVideoCodes;
  2901. if(assistants != null)
  2902. map['Assistants'] = assistants;
  2903. if(experts != null)
  2904. map['Experts'] = experts;
  2905. map['IsAgentCourse'] = isAgentCourse;
  2906. if(courseAlbumCodes != null)
  2907. map['CourseAlbumCodes'] = courseAlbumCodes;
  2908. map['IsStick'] = isStick;
  2909. map['Sort'] = sort;
  2910. if(courseMaterialCodes != null)
  2911. map['CourseMaterialCodes'] = courseMaterialCodes;
  2912. if(bindExams != null)
  2913. map['BindExams'] = bindExams;
  2914. map['CourseAppearType'] = courseAppearType.index;
  2915. if(students != null)
  2916. map['Students'] = students;
  2917. map['PlayCount'] = playCount;
  2918. return map;
  2919. }
  2920. }
  2921. class VideoMigratoryInfo extends BaseDTO{
  2922. bool isDelete;
  2923. String? code;
  2924. String? name;
  2925. String? videoToken;
  2926. String? vodFileId;
  2927. String? poster;
  2928. int duration;
  2929. double videoSize;
  2930. String? creatorCode;
  2931. String? creatorName;
  2932. UploadFileTypeEnum fodderType;
  2933. bool isPublic;
  2934. CourseViewRangeEnum viewRange;
  2935. int playCount;
  2936. String? srcFileToken;
  2937. VideoMigratoryInfo({
  2938. this.isDelete = false,
  2939. this.code,
  2940. this.name,
  2941. this.videoToken,
  2942. this.vodFileId,
  2943. this.poster,
  2944. this.duration = 0,
  2945. this.videoSize = 0,
  2946. this.creatorCode,
  2947. this.creatorName,
  2948. this.fodderType = UploadFileTypeEnum.Unknown,
  2949. this.isPublic = false,
  2950. this.viewRange = CourseViewRangeEnum.All,
  2951. this.playCount = 0,
  2952. this.srcFileToken,
  2953. DateTime? createTime,
  2954. DateTime? updateTime,
  2955. }) : super(
  2956. createTime: createTime,
  2957. updateTime: updateTime,
  2958. );
  2959. factory VideoMigratoryInfo.fromJson(Map<String, dynamic> map) {
  2960. return VideoMigratoryInfo(
  2961. isDelete: map['IsDelete'],
  2962. code: map['Code'],
  2963. name: map['Name'],
  2964. videoToken: map['VideoToken'],
  2965. vodFileId: map['VodFileId'],
  2966. poster: map['Poster'],
  2967. duration: map['Duration'],
  2968. videoSize: double.parse(map['VideoSize'].toString()),
  2969. creatorCode: map['CreatorCode'],
  2970. creatorName: map['CreatorName'],
  2971. fodderType: UploadFileTypeEnum.values.firstWhere((e) => e.index == map['FodderType']),
  2972. isPublic: map['IsPublic'],
  2973. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  2974. playCount: map['PlayCount'],
  2975. srcFileToken: map['SrcFileToken'],
  2976. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  2977. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  2978. );
  2979. }
  2980. Map<String, dynamic> toJson() {
  2981. final map = super.toJson();
  2982. map['IsDelete'] = isDelete;
  2983. if(code != null)
  2984. map['Code'] = code;
  2985. if(name != null)
  2986. map['Name'] = name;
  2987. if(videoToken != null)
  2988. map['VideoToken'] = videoToken;
  2989. if(vodFileId != null)
  2990. map['VodFileId'] = vodFileId;
  2991. if(poster != null)
  2992. map['Poster'] = poster;
  2993. map['Duration'] = duration;
  2994. map['VideoSize'] = videoSize;
  2995. if(creatorCode != null)
  2996. map['CreatorCode'] = creatorCode;
  2997. if(creatorName != null)
  2998. map['CreatorName'] = creatorName;
  2999. map['FodderType'] = fodderType.index;
  3000. map['IsPublic'] = isPublic;
  3001. map['ViewRange'] = viewRange.index;
  3002. map['PlayCount'] = playCount;
  3003. if(srcFileToken != null)
  3004. map['SrcFileToken'] = srcFileToken;
  3005. return map;
  3006. }
  3007. }
  3008. class ExaminationPaperDTO {
  3009. String? code;
  3010. String? name;
  3011. double totalScore;
  3012. List<QuestionDetailDTO >? questionList;
  3013. List<String >? caseLabelCodes;
  3014. List<String >? courseLabelCodes;
  3015. DateTime? createTime;
  3016. DateTime? updateTime;
  3017. ExaminationPaperDTO({
  3018. this.code,
  3019. this.name,
  3020. this.totalScore = 0,
  3021. this.questionList,
  3022. this.caseLabelCodes,
  3023. this.courseLabelCodes,
  3024. this.createTime,
  3025. this.updateTime,
  3026. });
  3027. factory ExaminationPaperDTO.fromJson(Map<String, dynamic> map) {
  3028. return ExaminationPaperDTO(
  3029. code: map['Code'],
  3030. name: map['Name'],
  3031. totalScore: double.parse(map['TotalScore'].toString()),
  3032. questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>QuestionDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3033. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  3034. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  3035. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3036. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3037. );
  3038. }
  3039. Map<String, dynamic> toJson() {
  3040. final map = Map<String, dynamic>();
  3041. if(code != null)
  3042. map['Code'] = code;
  3043. if(name != null)
  3044. map['Name'] = name;
  3045. map['TotalScore'] = totalScore;
  3046. if(questionList != null)
  3047. map['QuestionList'] = questionList;
  3048. if(caseLabelCodes != null)
  3049. map['CaseLabelCodes'] = caseLabelCodes;
  3050. if(courseLabelCodes != null)
  3051. map['CourseLabelCodes'] = courseLabelCodes;
  3052. if(createTime != null)
  3053. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  3054. if(updateTime != null)
  3055. map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!);
  3056. return map;
  3057. }
  3058. }
  3059. class ExaminationQuestionDTO extends BaseDTO{
  3060. bool isDelete;
  3061. String? code;
  3062. String? stem;
  3063. QuestionTypeEnum questionType;
  3064. List<QuestionOptionDTO >? questionOptionList;
  3065. List<QuestionFileDTO >? fileList;
  3066. List<String >? caseLabelCodes;
  3067. List<String >? courseLabelCodes;
  3068. bool trueOrFalse;
  3069. ExaminationQuestionDTO({
  3070. this.isDelete = false,
  3071. this.code,
  3072. this.stem,
  3073. this.questionType = QuestionTypeEnum.Judge,
  3074. this.questionOptionList,
  3075. this.fileList,
  3076. this.caseLabelCodes,
  3077. this.courseLabelCodes,
  3078. this.trueOrFalse = false,
  3079. DateTime? createTime,
  3080. DateTime? updateTime,
  3081. }) : super(
  3082. createTime: createTime,
  3083. updateTime: updateTime,
  3084. );
  3085. factory ExaminationQuestionDTO.fromJson(Map<String, dynamic> map) {
  3086. return ExaminationQuestionDTO(
  3087. isDelete: map['IsDelete'],
  3088. code: map['Code'],
  3089. stem: map['Stem'],
  3090. questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
  3091. questionOptionList: map['QuestionOptionList'] != null ? (map['QuestionOptionList'] as List).map((e)=>QuestionOptionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3092. fileList: map['FileList'] != null ? (map['FileList'] as List).map((e)=>QuestionFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3093. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  3094. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  3095. trueOrFalse: map['TrueOrFalse'],
  3096. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3097. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3098. );
  3099. }
  3100. Map<String, dynamic> toJson() {
  3101. final map = super.toJson();
  3102. map['IsDelete'] = isDelete;
  3103. if(code != null)
  3104. map['Code'] = code;
  3105. if(stem != null)
  3106. map['Stem'] = stem;
  3107. map['QuestionType'] = questionType.index;
  3108. if(questionOptionList != null)
  3109. map['QuestionOptionList'] = questionOptionList;
  3110. if(fileList != null)
  3111. map['FileList'] = fileList;
  3112. if(caseLabelCodes != null)
  3113. map['CaseLabelCodes'] = caseLabelCodes;
  3114. if(courseLabelCodes != null)
  3115. map['CourseLabelCodes'] = courseLabelCodes;
  3116. map['TrueOrFalse'] = trueOrFalse;
  3117. return map;
  3118. }
  3119. }
  3120. enum RelevanceTypeEnum {
  3121. Course,
  3122. }
  3123. class StudentExaminationDTO extends BaseStudentExaminationDTO{
  3124. bool isDelete;
  3125. RelevanceTypeEnum relevanceType;
  3126. String? relevanceCode;
  3127. List<ExaminationAnswerDTO >? studentAnswers;
  3128. int submitCount;
  3129. StudentExaminationDTO({
  3130. this.isDelete = false,
  3131. this.relevanceType = RelevanceTypeEnum.Course,
  3132. this.relevanceCode,
  3133. this.studentAnswers,
  3134. this.submitCount = 0,
  3135. String? code,
  3136. String? examinationCode,
  3137. String? studentCode,
  3138. String? studentName,
  3139. double totalScore = 0,
  3140. }) : super(
  3141. code: code,
  3142. examinationCode: examinationCode,
  3143. studentCode: studentCode,
  3144. studentName: studentName,
  3145. totalScore: totalScore,
  3146. );
  3147. factory StudentExaminationDTO.fromJson(Map<String, dynamic> map) {
  3148. return StudentExaminationDTO(
  3149. isDelete: map['IsDelete'],
  3150. relevanceType: RelevanceTypeEnum.values.firstWhere((e) => e.index == map['RelevanceType']),
  3151. relevanceCode: map['RelevanceCode'],
  3152. studentAnswers: map['StudentAnswers'] != null ? (map['StudentAnswers'] as List).map((e)=>ExaminationAnswerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3153. submitCount: map['SubmitCount'],
  3154. code: map['Code'],
  3155. examinationCode: map['ExaminationCode'],
  3156. studentCode: map['StudentCode'],
  3157. studentName: map['StudentName'],
  3158. totalScore: double.parse(map['TotalScore'].toString()),
  3159. );
  3160. }
  3161. Map<String, dynamic> toJson() {
  3162. final map = super.toJson();
  3163. map['IsDelete'] = isDelete;
  3164. map['RelevanceType'] = relevanceType.index;
  3165. if(relevanceCode != null)
  3166. map['RelevanceCode'] = relevanceCode;
  3167. if(studentAnswers != null)
  3168. map['StudentAnswers'] = studentAnswers;
  3169. map['SubmitCount'] = submitCount;
  3170. return map;
  3171. }
  3172. }
  3173. class ExamMigratoryInfo extends ExaminationPaperDTO{
  3174. bool isDelete;
  3175. List<ExaminationQuestionDTO >? examinationQuestions;
  3176. List<StudentExaminationDTO >? studentExamination;
  3177. ExamMigratoryInfo({
  3178. this.isDelete = false,
  3179. this.examinationQuestions,
  3180. this.studentExamination,
  3181. String? code,
  3182. String? name,
  3183. double totalScore = 0,
  3184. List<QuestionDetailDTO >? questionList,
  3185. List<String >? caseLabelCodes,
  3186. List<String >? courseLabelCodes,
  3187. DateTime? createTime,
  3188. DateTime? updateTime,
  3189. }) : super(
  3190. code: code,
  3191. name: name,
  3192. totalScore: totalScore,
  3193. questionList: questionList,
  3194. caseLabelCodes: caseLabelCodes,
  3195. courseLabelCodes: courseLabelCodes,
  3196. createTime: createTime,
  3197. updateTime: updateTime,
  3198. );
  3199. factory ExamMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3200. return ExamMigratoryInfo(
  3201. isDelete: map['IsDelete'],
  3202. examinationQuestions: map['ExaminationQuestions'] != null ? (map['ExaminationQuestions'] as List).map((e)=>ExaminationQuestionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3203. studentExamination: map['StudentExamination'] != null ? (map['StudentExamination'] as List).map((e)=>StudentExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3204. code: map['Code'],
  3205. name: map['Name'],
  3206. totalScore: double.parse(map['TotalScore'].toString()),
  3207. questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>QuestionDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3208. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  3209. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  3210. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3211. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3212. );
  3213. }
  3214. Map<String, dynamic> toJson() {
  3215. final map = super.toJson();
  3216. map['IsDelete'] = isDelete;
  3217. if(examinationQuestions != null)
  3218. map['ExaminationQuestions'] = examinationQuestions;
  3219. if(studentExamination != null)
  3220. map['StudentExamination'] = studentExamination;
  3221. return map;
  3222. }
  3223. }
  3224. class BatchInsertCourseRequest extends TokenRequest{
  3225. List<CourseMigratoryInfo >? courseMigratorys;
  3226. List<VideoMigratoryInfo >? videoMigratorys;
  3227. List<ExamMigratoryInfo >? examMigratorys;
  3228. List<RemoteExaminationDTO >? remoteExaminationMigratorys;
  3229. BatchInsertCourseRequest({
  3230. this.courseMigratorys,
  3231. this.videoMigratorys,
  3232. this.examMigratorys,
  3233. this.remoteExaminationMigratorys,
  3234. String? token,
  3235. }) : super(
  3236. token: token,
  3237. );
  3238. factory BatchInsertCourseRequest.fromJson(Map<String, dynamic> map) {
  3239. return BatchInsertCourseRequest(
  3240. courseMigratorys: map['CourseMigratorys'] != null ? (map['CourseMigratorys'] as List).map((e)=>CourseMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3241. videoMigratorys: map['VideoMigratorys'] != null ? (map['VideoMigratorys'] as List).map((e)=>VideoMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3242. examMigratorys: map['ExamMigratorys'] != null ? (map['ExamMigratorys'] as List).map((e)=>ExamMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3243. remoteExaminationMigratorys: map['RemoteExaminationMigratorys'] != null ? (map['RemoteExaminationMigratorys'] as List).map((e)=>RemoteExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3244. token: map['Token'],
  3245. );
  3246. }
  3247. Map<String, dynamic> toJson() {
  3248. final map = super.toJson();
  3249. if(courseMigratorys != null)
  3250. map['CourseMigratorys'] = courseMigratorys;
  3251. if(videoMigratorys != null)
  3252. map['VideoMigratorys'] = videoMigratorys;
  3253. if(examMigratorys != null)
  3254. map['ExamMigratorys'] = examMigratorys;
  3255. if(remoteExaminationMigratorys != null)
  3256. map['RemoteExaminationMigratorys'] = remoteExaminationMigratorys;
  3257. return map;
  3258. }
  3259. }
  3260. enum DiagnosisModuleEnum {
  3261. LiverLesionDetect,
  3262. ThyroidLesionDetect,
  3263. CarotidPlaqueDetect,
  3264. BreastLesionDetectBIRADS,
  3265. }
  3266. class DeviceMigratoryInfo extends DeviceInfoDTO{
  3267. bool isDelete;
  3268. List<DiagnosisModuleEnum >? diagnosisModule;
  3269. DeviceMigratoryInfo({
  3270. this.isDelete = false,
  3271. this.diagnosisModule,
  3272. String? deviceCode,
  3273. String? serialNumber,
  3274. String? password,
  3275. String? name,
  3276. String? description,
  3277. String? deviceModel,
  3278. String? deviceType,
  3279. String? headPicUrl,
  3280. String? deviceSoftwareVersion,
  3281. String? sDKSoftwareVersion,
  3282. String? organizationCode,
  3283. String? departmentCode,
  3284. String? shortCode,
  3285. bool isAutoShared = false,
  3286. bool isEncryptedShow = false,
  3287. DateTime? lastLoginTime,
  3288. String? systemVersion,
  3289. String? cPUModel,
  3290. String? systemLanguage,
  3291. List<String >? diagnosisModules,
  3292. List<String >? reportPosterCodes,
  3293. bool mergedChannel = false,
  3294. int mergedVideoOutputWidth = 0,
  3295. int mergedVideoOutputHeight = 0,
  3296. List<VideoDeviceDTO >? videoDeviceInfos,
  3297. DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto,
  3298. bool liveOpened = false,
  3299. DateTime? createTime,
  3300. DateTime? updateTime,
  3301. }) : super(
  3302. deviceCode: deviceCode,
  3303. serialNumber: serialNumber,
  3304. password: password,
  3305. name: name,
  3306. description: description,
  3307. deviceModel: deviceModel,
  3308. deviceType: deviceType,
  3309. headPicUrl: headPicUrl,
  3310. deviceSoftwareVersion: deviceSoftwareVersion,
  3311. sDKSoftwareVersion: sDKSoftwareVersion,
  3312. organizationCode: organizationCode,
  3313. departmentCode: departmentCode,
  3314. shortCode: shortCode,
  3315. isAutoShared: isAutoShared,
  3316. isEncryptedShow: isEncryptedShow,
  3317. lastLoginTime: lastLoginTime,
  3318. systemVersion: systemVersion,
  3319. cPUModel: cPUModel,
  3320. systemLanguage: systemLanguage,
  3321. diagnosisModules: diagnosisModules,
  3322. reportPosterCodes: reportPosterCodes,
  3323. mergedChannel: mergedChannel,
  3324. mergedVideoOutputWidth: mergedVideoOutputWidth,
  3325. mergedVideoOutputHeight: mergedVideoOutputHeight,
  3326. videoDeviceInfos: videoDeviceInfos,
  3327. downloadModeSetting: downloadModeSetting,
  3328. liveOpened: liveOpened,
  3329. createTime: createTime,
  3330. updateTime: updateTime,
  3331. );
  3332. factory DeviceMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3333. return DeviceMigratoryInfo(
  3334. isDelete: map['IsDelete'],
  3335. diagnosisModule: map['DiagnosisModule'] != null ? (map['DiagnosisModule'] as List).map((e)=>DiagnosisModuleEnum.values.firstWhere((i) => i.index == e)).toList() : null,
  3336. deviceCode: map['DeviceCode'],
  3337. serialNumber: map['SerialNumber'],
  3338. password: map['Password'],
  3339. name: map['Name'],
  3340. description: map['Description'],
  3341. deviceModel: map['DeviceModel'],
  3342. deviceType: map['DeviceType'],
  3343. headPicUrl: map['HeadPicUrl'],
  3344. deviceSoftwareVersion: map['DeviceSoftwareVersion'],
  3345. sDKSoftwareVersion: map['SDKSoftwareVersion'],
  3346. organizationCode: map['OrganizationCode'],
  3347. departmentCode: map['DepartmentCode'],
  3348. shortCode: map['ShortCode'],
  3349. isAutoShared: map['IsAutoShared'],
  3350. isEncryptedShow: map['IsEncryptedShow'],
  3351. lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null,
  3352. systemVersion: map['SystemVersion'],
  3353. cPUModel: map['CPUModel'],
  3354. systemLanguage: map['SystemLanguage'],
  3355. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  3356. reportPosterCodes: map['ReportPosterCodes'] != null ? map['ReportPosterCodes'].cast<String>().toList() : null,
  3357. mergedChannel: map['MergedChannel'],
  3358. mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
  3359. mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
  3360. videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3361. downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']),
  3362. liveOpened: map['LiveOpened'],
  3363. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3364. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3365. );
  3366. }
  3367. Map<String, dynamic> toJson() {
  3368. final map = super.toJson();
  3369. map['IsDelete'] = isDelete;
  3370. if(diagnosisModule != null)
  3371. map['DiagnosisModule'] = diagnosisModule;
  3372. return map;
  3373. }
  3374. }
  3375. class BatchInsertDeviceRequest extends TokenRequest{
  3376. List<DeviceMigratoryInfo >? deviceMigratorys;
  3377. BatchInsertDeviceRequest({
  3378. this.deviceMigratorys,
  3379. String? token,
  3380. }) : super(
  3381. token: token,
  3382. );
  3383. factory BatchInsertDeviceRequest.fromJson(Map<String, dynamic> map) {
  3384. return BatchInsertDeviceRequest(
  3385. deviceMigratorys: map['DeviceMigratorys'] != null ? (map['DeviceMigratorys'] as List).map((e)=>DeviceMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3386. token: map['Token'],
  3387. );
  3388. }
  3389. Map<String, dynamic> toJson() {
  3390. final map = super.toJson();
  3391. if(deviceMigratorys != null)
  3392. map['DeviceMigratorys'] = deviceMigratorys;
  3393. return map;
  3394. }
  3395. }
  3396. class OrganizationMigratoryInfo extends OrganizationDTO{
  3397. bool isDelete;
  3398. List<DiagnosisModuleEnum >? diagnosisModule;
  3399. String? regionName;
  3400. OrganizationMigratoryInfo({
  3401. this.isDelete = false,
  3402. this.diagnosisModule,
  3403. this.regionName,
  3404. String? description,
  3405. String? rootCode,
  3406. OrganizationTypeEnum organizationType = OrganizationTypeEnum.Corporation,
  3407. List<String >? authorityGroups,
  3408. String? nautica,
  3409. OrganizationStateEnum state = OrganizationStateEnum.WaitAudit,
  3410. List<String >? directors,
  3411. List<String >? assignedAdmins,
  3412. String? patientSettingJson,
  3413. String? examSettingJson,
  3414. String? consultationSettingJson,
  3415. String? patientSettingVersion,
  3416. String? examSettingVersion,
  3417. String? consultationSettingVersion,
  3418. String? parentOrganizationName,
  3419. String? regionCode,
  3420. String? parentCode,
  3421. String? logoUrl,
  3422. OrganizationPatientTypeEnum patientType = OrganizationPatientTypeEnum.Person,
  3423. bool isinvented = false,
  3424. List<SettingDTOClass >? settings,
  3425. List<String >? diagnosisModules,
  3426. bool isEncryptedShow = false,
  3427. double referralLimitHours = 0,
  3428. List<String >? referralOrganizationCodes,
  3429. List<ReferralOrganizationDTO >? referralOrganizations,
  3430. String? organizationCode,
  3431. String? organizationName,
  3432. DateTime? createTime,
  3433. DateTime? updateTime,
  3434. }) : super(
  3435. description: description,
  3436. rootCode: rootCode,
  3437. organizationType: organizationType,
  3438. authorityGroups: authorityGroups,
  3439. nautica: nautica,
  3440. state: state,
  3441. directors: directors,
  3442. assignedAdmins: assignedAdmins,
  3443. patientSettingJson: patientSettingJson,
  3444. examSettingJson: examSettingJson,
  3445. consultationSettingJson: consultationSettingJson,
  3446. patientSettingVersion: patientSettingVersion,
  3447. examSettingVersion: examSettingVersion,
  3448. consultationSettingVersion: consultationSettingVersion,
  3449. parentOrganizationName: parentOrganizationName,
  3450. regionCode: regionCode,
  3451. parentCode: parentCode,
  3452. logoUrl: logoUrl,
  3453. patientType: patientType,
  3454. isinvented: isinvented,
  3455. settings: settings,
  3456. diagnosisModules: diagnosisModules,
  3457. isEncryptedShow: isEncryptedShow,
  3458. referralLimitHours: referralLimitHours,
  3459. referralOrganizationCodes: referralOrganizationCodes,
  3460. referralOrganizations: referralOrganizations,
  3461. organizationCode: organizationCode,
  3462. organizationName: organizationName,
  3463. createTime: createTime,
  3464. updateTime: updateTime,
  3465. );
  3466. factory OrganizationMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3467. return OrganizationMigratoryInfo(
  3468. isDelete: map['IsDelete'],
  3469. diagnosisModule: map['DiagnosisModule'] != null ? (map['DiagnosisModule'] as List).map((e)=>DiagnosisModuleEnum.values.firstWhere((i) => i.index == e)).toList() : null,
  3470. regionName: map['RegionName'],
  3471. description: map['Description'],
  3472. rootCode: map['RootCode'],
  3473. organizationType: OrganizationTypeEnum.values.firstWhere((e) => e.index == map['OrganizationType']),
  3474. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  3475. nautica: map['Nautica'],
  3476. state: OrganizationStateEnum.values.firstWhere((e) => e.index == map['State']),
  3477. directors: map['Directors'] != null ? map['Directors'].cast<String>().toList() : null,
  3478. assignedAdmins: map['AssignedAdmins'] != null ? map['AssignedAdmins'].cast<String>().toList() : null,
  3479. patientSettingJson: map['PatientSettingJson'],
  3480. examSettingJson: map['ExamSettingJson'],
  3481. consultationSettingJson: map['ConsultationSettingJson'],
  3482. patientSettingVersion: map['PatientSettingVersion'],
  3483. examSettingVersion: map['ExamSettingVersion'],
  3484. consultationSettingVersion: map['ConsultationSettingVersion'],
  3485. parentOrganizationName: map['ParentOrganizationName'],
  3486. regionCode: map['RegionCode'],
  3487. parentCode: map['ParentCode'],
  3488. logoUrl: map['LogoUrl'],
  3489. patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
  3490. isinvented: map['Isinvented'],
  3491. settings: map['Settings'] != null ? (map['Settings'] as List).map((e)=>SettingDTOClass.fromJson(e as Map<String,dynamic>)).toList() : null,
  3492. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  3493. isEncryptedShow: map['IsEncryptedShow'],
  3494. referralLimitHours: double.parse(map['ReferralLimitHours'].toString()),
  3495. referralOrganizationCodes: map['ReferralOrganizationCodes'] != null ? map['ReferralOrganizationCodes'].cast<String>().toList() : null,
  3496. referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3497. organizationCode: map['OrganizationCode'],
  3498. organizationName: map['OrganizationName'],
  3499. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3500. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3501. );
  3502. }
  3503. Map<String, dynamic> toJson() {
  3504. final map = super.toJson();
  3505. map['IsDelete'] = isDelete;
  3506. if(diagnosisModule != null)
  3507. map['DiagnosisModule'] = diagnosisModule;
  3508. if(regionName != null)
  3509. map['RegionName'] = regionName;
  3510. return map;
  3511. }
  3512. }
  3513. class BatchInsertOrganizationRequest extends TokenRequest{
  3514. List<OrganizationMigratoryInfo >? organizationMigratorys;
  3515. BatchInsertOrganizationRequest({
  3516. this.organizationMigratorys,
  3517. String? token,
  3518. }) : super(
  3519. token: token,
  3520. );
  3521. factory BatchInsertOrganizationRequest.fromJson(Map<String, dynamic> map) {
  3522. return BatchInsertOrganizationRequest(
  3523. organizationMigratorys: map['OrganizationMigratorys'] != null ? (map['OrganizationMigratorys'] as List).map((e)=>OrganizationMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3524. token: map['Token'],
  3525. );
  3526. }
  3527. Map<String, dynamic> toJson() {
  3528. final map = super.toJson();
  3529. if(organizationMigratorys != null)
  3530. map['OrganizationMigratorys'] = organizationMigratorys;
  3531. return map;
  3532. }
  3533. }
  3534. class MedicalConsortiumDetail {
  3535. String? name;
  3536. String? code;
  3537. OrganizationPatientTypeEnum patientType;
  3538. MedicalConsortiumDetail({
  3539. this.name,
  3540. this.code,
  3541. this.patientType = OrganizationPatientTypeEnum.Person,
  3542. });
  3543. factory MedicalConsortiumDetail.fromJson(Map<String, dynamic> map) {
  3544. return MedicalConsortiumDetail(
  3545. name: map['Name'],
  3546. code: map['Code'],
  3547. patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
  3548. );
  3549. }
  3550. Map<String, dynamic> toJson() {
  3551. final map = Map<String, dynamic>();
  3552. if(name != null)
  3553. map['Name'] = name;
  3554. if(code != null)
  3555. map['Code'] = code;
  3556. map['PatientType'] = patientType.index;
  3557. return map;
  3558. }
  3559. }
  3560. class BatchInsertMedicalConsortiumRequest {
  3561. List<MedicalConsortiumDetail >? medicalConsortiumDetails;
  3562. BatchInsertMedicalConsortiumRequest({
  3563. this.medicalConsortiumDetails,
  3564. });
  3565. factory BatchInsertMedicalConsortiumRequest.fromJson(Map<String, dynamic> map) {
  3566. return BatchInsertMedicalConsortiumRequest(
  3567. medicalConsortiumDetails: map['MedicalConsortiumDetails'] != null ? (map['MedicalConsortiumDetails'] as List).map((e)=>MedicalConsortiumDetail.fromJson(e as Map<String,dynamic>)).toList() : null,
  3568. );
  3569. }
  3570. Map<String, dynamic> toJson() {
  3571. final map = Map<String, dynamic>();
  3572. if(medicalConsortiumDetails != null)
  3573. map['MedicalConsortiumDetails'] = medicalConsortiumDetails;
  3574. return map;
  3575. }
  3576. }
  3577. enum ReportPosterTypeEnum {
  3578. Default,
  3579. BJAid,
  3580. }
  3581. enum ReportFormatEnum {
  3582. Json,
  3583. Xml,
  3584. Text,
  3585. }
  3586. class PosterConfigMigratoryInfo {
  3587. String? code;
  3588. DateTime? createTime;
  3589. DateTime? updateTime;
  3590. bool isDelete;
  3591. String? receiverName;
  3592. String? contact;
  3593. String? phone;
  3594. String? targetUrl;
  3595. String? template;
  3596. ReportPosterTypeEnum posterType;
  3597. ReportFormatEnum reportFormat;
  3598. int postTimeout;
  3599. PosterConfigMigratoryInfo({
  3600. this.code,
  3601. this.createTime,
  3602. this.updateTime,
  3603. this.isDelete = false,
  3604. this.receiverName,
  3605. this.contact,
  3606. this.phone,
  3607. this.targetUrl,
  3608. this.template,
  3609. this.posterType = ReportPosterTypeEnum.Default,
  3610. this.reportFormat = ReportFormatEnum.Json,
  3611. this.postTimeout = 0,
  3612. });
  3613. factory PosterConfigMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3614. return PosterConfigMigratoryInfo(
  3615. code: map['Code'],
  3616. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3617. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3618. isDelete: map['IsDelete'],
  3619. receiverName: map['ReceiverName'],
  3620. contact: map['Contact'],
  3621. phone: map['Phone'],
  3622. targetUrl: map['TargetUrl'],
  3623. template: map['Template'],
  3624. posterType: ReportPosterTypeEnum.values.firstWhere((e) => e.index == map['PosterType']),
  3625. reportFormat: ReportFormatEnum.values.firstWhere((e) => e.index == map['ReportFormat']),
  3626. postTimeout: map['PostTimeout'],
  3627. );
  3628. }
  3629. Map<String, dynamic> toJson() {
  3630. final map = Map<String, dynamic>();
  3631. if(code != null)
  3632. map['Code'] = code;
  3633. if(createTime != null)
  3634. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  3635. if(updateTime != null)
  3636. map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!);
  3637. map['IsDelete'] = isDelete;
  3638. if(receiverName != null)
  3639. map['ReceiverName'] = receiverName;
  3640. if(contact != null)
  3641. map['Contact'] = contact;
  3642. if(phone != null)
  3643. map['Phone'] = phone;
  3644. if(targetUrl != null)
  3645. map['TargetUrl'] = targetUrl;
  3646. if(template != null)
  3647. map['Template'] = template;
  3648. map['PosterType'] = posterType.index;
  3649. map['ReportFormat'] = reportFormat.index;
  3650. map['PostTimeout'] = postTimeout;
  3651. return map;
  3652. }
  3653. }
  3654. class BatchInsertPosterConfigRequest extends TokenRequest{
  3655. List<PosterConfigMigratoryInfo >? posterConfigMigratorys;
  3656. BatchInsertPosterConfigRequest({
  3657. this.posterConfigMigratorys,
  3658. String? token,
  3659. }) : super(
  3660. token: token,
  3661. );
  3662. factory BatchInsertPosterConfigRequest.fromJson(Map<String, dynamic> map) {
  3663. return BatchInsertPosterConfigRequest(
  3664. posterConfigMigratorys: map['PosterConfigMigratorys'] != null ? (map['PosterConfigMigratorys'] as List).map((e)=>PosterConfigMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3665. token: map['Token'],
  3666. );
  3667. }
  3668. Map<String, dynamic> toJson() {
  3669. final map = super.toJson();
  3670. if(posterConfigMigratorys != null)
  3671. map['PosterConfigMigratorys'] = posterConfigMigratorys;
  3672. return map;
  3673. }
  3674. }
  3675. class ReportTemplateMigratoryInfo extends ReportTemplateDTO{
  3676. bool isDelete;
  3677. DateTime? createTime;
  3678. DateTime? updateTime;
  3679. ReportTemplateMigratoryInfo({
  3680. this.isDelete = false,
  3681. this.createTime,
  3682. this.updateTime,
  3683. String? reportTemplateCode,
  3684. String? reportTemplateName,
  3685. ReportTemplateStatusTypeEnum reportTemplateStateType = ReportTemplateStatusTypeEnum.Unpublished,
  3686. ReportTemplateTypeEnum reportTemplateType = ReportTemplateTypeEnum.Default,
  3687. ReportTemplateUsageTypeEnum reportTemplateUsageType = ReportTemplateUsageTypeEnum.People,
  3688. String? organizationCode,
  3689. String? personalCode,
  3690. String? reportTemplateJson,
  3691. String? referenceReportTemplateCode,
  3692. bool isDefault = false,
  3693. bool isUserDefault = false,
  3694. String? reportDatasJson,
  3695. List<ReportPreviewDTO >? templatePreviewList,
  3696. List<String >? templatePreviewUrlList,
  3697. }) : super(
  3698. reportTemplateCode: reportTemplateCode,
  3699. reportTemplateName: reportTemplateName,
  3700. reportTemplateStateType: reportTemplateStateType,
  3701. reportTemplateType: reportTemplateType,
  3702. reportTemplateUsageType: reportTemplateUsageType,
  3703. organizationCode: organizationCode,
  3704. personalCode: personalCode,
  3705. reportTemplateJson: reportTemplateJson,
  3706. referenceReportTemplateCode: referenceReportTemplateCode,
  3707. isDefault: isDefault,
  3708. isUserDefault: isUserDefault,
  3709. reportDatasJson: reportDatasJson,
  3710. templatePreviewList: templatePreviewList,
  3711. templatePreviewUrlList: templatePreviewUrlList,
  3712. );
  3713. factory ReportTemplateMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3714. return ReportTemplateMigratoryInfo(
  3715. isDelete: map['IsDelete'],
  3716. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3717. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3718. reportTemplateCode: map['ReportTemplateCode'],
  3719. reportTemplateName: map['ReportTemplateName'],
  3720. reportTemplateStateType: ReportTemplateStatusTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateStateType']),
  3721. reportTemplateType: ReportTemplateTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateType']),
  3722. reportTemplateUsageType: ReportTemplateUsageTypeEnum.values.firstWhere((e) => e.index == map['ReportTemplateUsageType']),
  3723. organizationCode: map['OrganizationCode'],
  3724. personalCode: map['PersonalCode'],
  3725. reportTemplateJson: map['ReportTemplateJson'],
  3726. referenceReportTemplateCode: map['ReferenceReportTemplateCode'],
  3727. isDefault: map['IsDefault'],
  3728. isUserDefault: map['IsUserDefault'],
  3729. reportDatasJson: map['ReportDatasJson'],
  3730. templatePreviewList: map['TemplatePreviewList'] != null ? (map['TemplatePreviewList'] as List).map((e)=>ReportPreviewDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3731. templatePreviewUrlList: map['TemplatePreviewUrlList'] != null ? map['TemplatePreviewUrlList'].cast<String>().toList() : null,
  3732. );
  3733. }
  3734. Map<String, dynamic> toJson() {
  3735. final map = super.toJson();
  3736. map['IsDelete'] = isDelete;
  3737. if(createTime != null)
  3738. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  3739. if(updateTime != null)
  3740. map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!);
  3741. return map;
  3742. }
  3743. }
  3744. class BatchInsertReportTemplateRequest extends TokenRequest{
  3745. List<ReportTemplateMigratoryInfo >? reportTemplateMigratorys;
  3746. BatchInsertReportTemplateRequest({
  3747. this.reportTemplateMigratorys,
  3748. String? token,
  3749. }) : super(
  3750. token: token,
  3751. );
  3752. factory BatchInsertReportTemplateRequest.fromJson(Map<String, dynamic> map) {
  3753. return BatchInsertReportTemplateRequest(
  3754. reportTemplateMigratorys: map['ReportTemplateMigratorys'] != null ? (map['ReportTemplateMigratorys'] as List).map((e)=>ReportTemplateMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3755. token: map['Token'],
  3756. );
  3757. }
  3758. Map<String, dynamic> toJson() {
  3759. final map = super.toJson();
  3760. if(reportTemplateMigratorys != null)
  3761. map['ReportTemplateMigratorys'] = reportTemplateMigratorys;
  3762. return map;
  3763. }
  3764. }
  3765. class ReportLabelMigratoryInfo extends ReportLabelDTO{
  3766. bool isDelete;
  3767. ReportLabelMigratoryInfo({
  3768. this.isDelete = false,
  3769. String? reportLabelCode,
  3770. String? labelName,
  3771. String? languageCode,
  3772. ReportLabelUsageTypeEnum usageType = ReportLabelUsageTypeEnum.People,
  3773. List<String >? labelItems,
  3774. DateTime? createTime,
  3775. DateTime? updateTime,
  3776. }) : super(
  3777. reportLabelCode: reportLabelCode,
  3778. labelName: labelName,
  3779. languageCode: languageCode,
  3780. usageType: usageType,
  3781. labelItems: labelItems,
  3782. createTime: createTime,
  3783. updateTime: updateTime,
  3784. );
  3785. factory ReportLabelMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3786. return ReportLabelMigratoryInfo(
  3787. isDelete: map['IsDelete'],
  3788. reportLabelCode: map['ReportLabelCode'],
  3789. labelName: map['LabelName'],
  3790. languageCode: map['LanguageCode'],
  3791. usageType: ReportLabelUsageTypeEnum.values.firstWhere((e) => e.index == map['UsageType']),
  3792. labelItems: map['LabelItems'] != null ? map['LabelItems'].cast<String>().toList() : null,
  3793. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3794. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3795. );
  3796. }
  3797. Map<String, dynamic> toJson() {
  3798. final map = super.toJson();
  3799. map['IsDelete'] = isDelete;
  3800. return map;
  3801. }
  3802. }
  3803. class BatchInsertReportLabelRequest extends TokenRequest{
  3804. List<ReportLabelMigratoryInfo >? reportLabelData;
  3805. BatchInsertReportLabelRequest({
  3806. this.reportLabelData,
  3807. String? token,
  3808. }) : super(
  3809. token: token,
  3810. );
  3811. factory BatchInsertReportLabelRequest.fromJson(Map<String, dynamic> map) {
  3812. return BatchInsertReportLabelRequest(
  3813. reportLabelData: map['ReportLabelData'] != null ? (map['ReportLabelData'] as List).map((e)=>ReportLabelMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3814. token: map['Token'],
  3815. );
  3816. }
  3817. Map<String, dynamic> toJson() {
  3818. final map = super.toJson();
  3819. if(reportLabelData != null)
  3820. map['ReportLabelData'] = reportLabelData;
  3821. return map;
  3822. }
  3823. }
  3824. class UserGroupMigratoryInfo extends BaseDTO{
  3825. bool isDelete;
  3826. String? code;
  3827. String? name;
  3828. int maxPeople;
  3829. String? creatorCode;
  3830. List<StudentInfoDTO >? students;
  3831. String? shortCode;
  3832. bool isAgent;
  3833. UserGroupMigratoryInfo({
  3834. this.isDelete = false,
  3835. this.code,
  3836. this.name,
  3837. this.maxPeople = 0,
  3838. this.creatorCode,
  3839. this.students,
  3840. this.shortCode,
  3841. this.isAgent = false,
  3842. DateTime? createTime,
  3843. DateTime? updateTime,
  3844. }) : super(
  3845. createTime: createTime,
  3846. updateTime: updateTime,
  3847. );
  3848. factory UserGroupMigratoryInfo.fromJson(Map<String, dynamic> map) {
  3849. return UserGroupMigratoryInfo(
  3850. isDelete: map['IsDelete'],
  3851. code: map['Code'],
  3852. name: map['Name'],
  3853. maxPeople: map['MaxPeople'],
  3854. creatorCode: map['CreatorCode'],
  3855. students: map['Students'] != null ? (map['Students'] as List).map((e)=>StudentInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  3856. shortCode: map['ShortCode'],
  3857. isAgent: map['IsAgent'],
  3858. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  3859. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  3860. );
  3861. }
  3862. Map<String, dynamic> toJson() {
  3863. final map = super.toJson();
  3864. map['IsDelete'] = isDelete;
  3865. if(code != null)
  3866. map['Code'] = code;
  3867. if(name != null)
  3868. map['Name'] = name;
  3869. map['MaxPeople'] = maxPeople;
  3870. if(creatorCode != null)
  3871. map['CreatorCode'] = creatorCode;
  3872. if(students != null)
  3873. map['Students'] = students;
  3874. if(shortCode != null)
  3875. map['ShortCode'] = shortCode;
  3876. map['IsAgent'] = isAgent;
  3877. return map;
  3878. }
  3879. }
  3880. class BatchInsertUserGroupRequest extends TokenRequest{
  3881. List<UserGroupMigratoryInfo >? userGroupMigratorys;
  3882. BatchInsertUserGroupRequest({
  3883. this.userGroupMigratorys,
  3884. String? token,
  3885. }) : super(
  3886. token: token,
  3887. );
  3888. factory BatchInsertUserGroupRequest.fromJson(Map<String, dynamic> map) {
  3889. return BatchInsertUserGroupRequest(
  3890. userGroupMigratorys: map['UserGroupMigratorys'] != null ? (map['UserGroupMigratorys'] as List).map((e)=>UserGroupMigratoryInfo.fromJson(e as Map<String,dynamic>)).toList() : null,
  3891. token: map['Token'],
  3892. );
  3893. }
  3894. Map<String, dynamic> toJson() {
  3895. final map = super.toJson();
  3896. if(userGroupMigratorys != null)
  3897. map['UserGroupMigratorys'] = userGroupMigratorys;
  3898. return map;
  3899. }
  3900. }
  3901. class ConfirmIdentityApplyRequest extends TokenRequest{
  3902. String? identityApplyCode;
  3903. ConfirmIdentityApplyRequest({
  3904. this.identityApplyCode,
  3905. String? token,
  3906. }) : super(
  3907. token: token,
  3908. );
  3909. factory ConfirmIdentityApplyRequest.fromJson(Map<String, dynamic> map) {
  3910. return ConfirmIdentityApplyRequest(
  3911. identityApplyCode: map['IdentityApplyCode'],
  3912. token: map['Token'],
  3913. );
  3914. }
  3915. Map<String, dynamic> toJson() {
  3916. final map = super.toJson();
  3917. if(identityApplyCode != null)
  3918. map['IdentityApplyCode'] = identityApplyCode;
  3919. return map;
  3920. }
  3921. }
  3922. class CreateThirdPartyTokenRequest extends TokenRequest{
  3923. String? code;
  3924. CreateThirdPartyTokenRequest({
  3925. this.code,
  3926. String? token,
  3927. }) : super(
  3928. token: token,
  3929. );
  3930. factory CreateThirdPartyTokenRequest.fromJson(Map<String, dynamic> map) {
  3931. return CreateThirdPartyTokenRequest(
  3932. code: map['Code'],
  3933. token: map['Token'],
  3934. );
  3935. }
  3936. Map<String, dynamic> toJson() {
  3937. final map = super.toJson();
  3938. if(code != null)
  3939. map['Code'] = code;
  3940. return map;
  3941. }
  3942. }
  3943. class DeleteAdminFeatureRequest extends TokenRequest{
  3944. String? adminFeatureCode;
  3945. DeleteAdminFeatureRequest({
  3946. this.adminFeatureCode,
  3947. String? token,
  3948. }) : super(
  3949. token: token,
  3950. );
  3951. factory DeleteAdminFeatureRequest.fromJson(Map<String, dynamic> map) {
  3952. return DeleteAdminFeatureRequest(
  3953. adminFeatureCode: map['AdminFeatureCode'],
  3954. token: map['Token'],
  3955. );
  3956. }
  3957. Map<String, dynamic> toJson() {
  3958. final map = super.toJson();
  3959. if(adminFeatureCode != null)
  3960. map['AdminFeatureCode'] = adminFeatureCode;
  3961. return map;
  3962. }
  3963. }
  3964. class DeleteAdminRoleRequest extends TokenRequest{
  3965. String? adminRoleCode;
  3966. DeleteAdminRoleRequest({
  3967. this.adminRoleCode,
  3968. String? token,
  3969. }) : super(
  3970. token: token,
  3971. );
  3972. factory DeleteAdminRoleRequest.fromJson(Map<String, dynamic> map) {
  3973. return DeleteAdminRoleRequest(
  3974. adminRoleCode: map['AdminRoleCode'],
  3975. token: map['Token'],
  3976. );
  3977. }
  3978. Map<String, dynamic> toJson() {
  3979. final map = super.toJson();
  3980. if(adminRoleCode != null)
  3981. map['AdminRoleCode'] = adminRoleCode;
  3982. return map;
  3983. }
  3984. }
  3985. class DeleteLogsRequest extends TokenRequest{
  3986. int daysAgo;
  3987. String? requestServerHost;
  3988. DeleteLogsRequest({
  3989. this.daysAgo = 0,
  3990. this.requestServerHost,
  3991. String? token,
  3992. }) : super(
  3993. token: token,
  3994. );
  3995. factory DeleteLogsRequest.fromJson(Map<String, dynamic> map) {
  3996. return DeleteLogsRequest(
  3997. daysAgo: map['DaysAgo'],
  3998. requestServerHost: map['RequestServerHost'],
  3999. token: map['Token'],
  4000. );
  4001. }
  4002. Map<String, dynamic> toJson() {
  4003. final map = super.toJson();
  4004. map['DaysAgo'] = daysAgo;
  4005. if(requestServerHost != null)
  4006. map['RequestServerHost'] = requestServerHost;
  4007. return map;
  4008. }
  4009. }
  4010. class QueryClearLogsRequest extends DeleteLogsRequest{
  4011. List<int >? dayAgoList;
  4012. QueryClearLogsRequest({
  4013. this.dayAgoList,
  4014. int daysAgo = 0,
  4015. String? requestServerHost,
  4016. String? token,
  4017. }) : super(
  4018. daysAgo: daysAgo,
  4019. requestServerHost: requestServerHost,
  4020. token: token,
  4021. );
  4022. factory QueryClearLogsRequest.fromJson(Map<String, dynamic> map) {
  4023. return QueryClearLogsRequest(
  4024. dayAgoList: map['DayAgoList'] != null ? map['DayAgoList'].cast<int>().toList() : null,
  4025. daysAgo: map['DaysAgo'],
  4026. requestServerHost: map['RequestServerHost'],
  4027. token: map['Token'],
  4028. );
  4029. }
  4030. Map<String, dynamic> toJson() {
  4031. final map = super.toJson();
  4032. if(dayAgoList != null)
  4033. map['DayAgoList'] = dayAgoList;
  4034. return map;
  4035. }
  4036. }
  4037. class DeleteRoleRequest extends TokenRequest{
  4038. String? roleCode;
  4039. DeleteRoleRequest({
  4040. this.roleCode,
  4041. String? token,
  4042. }) : super(
  4043. token: token,
  4044. );
  4045. factory DeleteRoleRequest.fromJson(Map<String, dynamic> map) {
  4046. return DeleteRoleRequest(
  4047. roleCode: map['RoleCode'],
  4048. token: map['Token'],
  4049. );
  4050. }
  4051. Map<String, dynamic> toJson() {
  4052. final map = super.toJson();
  4053. if(roleCode != null)
  4054. map['RoleCode'] = roleCode;
  4055. return map;
  4056. }
  4057. }
  4058. class DeleteThesaurusRequest extends TokenRequest{
  4059. String? thesaurusCode;
  4060. DeleteThesaurusRequest({
  4061. this.thesaurusCode,
  4062. String? token,
  4063. }) : super(
  4064. token: token,
  4065. );
  4066. factory DeleteThesaurusRequest.fromJson(Map<String, dynamic> map) {
  4067. return DeleteThesaurusRequest(
  4068. thesaurusCode: map['ThesaurusCode'],
  4069. token: map['Token'],
  4070. );
  4071. }
  4072. Map<String, dynamic> toJson() {
  4073. final map = super.toJson();
  4074. if(thesaurusCode != null)
  4075. map['ThesaurusCode'] = thesaurusCode;
  4076. return map;
  4077. }
  4078. }
  4079. class DeleteThirdPartyInfoRequest extends TokenRequest{
  4080. String? code;
  4081. DeleteThirdPartyInfoRequest({
  4082. this.code,
  4083. String? token,
  4084. }) : super(
  4085. token: token,
  4086. );
  4087. factory DeleteThirdPartyInfoRequest.fromJson(Map<String, dynamic> map) {
  4088. return DeleteThirdPartyInfoRequest(
  4089. code: map['Code'],
  4090. token: map['Token'],
  4091. );
  4092. }
  4093. Map<String, dynamic> toJson() {
  4094. final map = super.toJson();
  4095. if(code != null)
  4096. map['Code'] = code;
  4097. return map;
  4098. }
  4099. }
  4100. class DeleteUserFeatureRequest extends TokenRequest{
  4101. String? userFeatureCode;
  4102. DeleteUserFeatureRequest({
  4103. this.userFeatureCode,
  4104. String? token,
  4105. }) : super(
  4106. token: token,
  4107. );
  4108. factory DeleteUserFeatureRequest.fromJson(Map<String, dynamic> map) {
  4109. return DeleteUserFeatureRequest(
  4110. userFeatureCode: map['UserFeatureCode'],
  4111. token: map['Token'],
  4112. );
  4113. }
  4114. Map<String, dynamic> toJson() {
  4115. final map = super.toJson();
  4116. if(userFeatureCode != null)
  4117. map['UserFeatureCode'] = userFeatureCode;
  4118. return map;
  4119. }
  4120. }
  4121. enum DistributedServerTypeEnum {
  4122. Official,
  4123. Private,
  4124. }
  4125. class IPAddressInfoDTO {
  4126. String? startIp;
  4127. String? endIp;
  4128. int longStartIP;
  4129. int longEndIP;
  4130. IPAddressInfoDTO({
  4131. this.startIp,
  4132. this.endIp,
  4133. this.longStartIP = 0,
  4134. this.longEndIP = 0,
  4135. });
  4136. factory IPAddressInfoDTO.fromJson(Map<String, dynamic> map) {
  4137. return IPAddressInfoDTO(
  4138. startIp: map['StartIp'],
  4139. endIp: map['EndIp'],
  4140. longStartIP: map['LongStartIP'],
  4141. longEndIP: map['LongEndIP'],
  4142. );
  4143. }
  4144. Map<String, dynamic> toJson() {
  4145. final map = Map<String, dynamic>();
  4146. if(startIp != null)
  4147. map['StartIp'] = startIp;
  4148. if(endIp != null)
  4149. map['EndIp'] = endIp;
  4150. map['LongStartIP'] = longStartIP;
  4151. map['LongEndIP'] = longEndIP;
  4152. return map;
  4153. }
  4154. }
  4155. class DistributedServerInfoRequest extends TokenRequest{
  4156. String? code;
  4157. List<String >? codes;
  4158. bool isMaster;
  4159. String? name;
  4160. String? description;
  4161. bool enable;
  4162. DistributedServerTypeEnum serverType;
  4163. String? serverUrl;
  4164. String? lat;
  4165. String? lng;
  4166. List<IPAddressInfoDTO >? assignClientIPList;
  4167. int rTCStartingRoomId;
  4168. String? shareCodePrefix;
  4169. DistributedServerInfoRequest({
  4170. this.code,
  4171. this.codes,
  4172. this.isMaster = false,
  4173. this.name,
  4174. this.description,
  4175. this.enable = false,
  4176. this.serverType = DistributedServerTypeEnum.Official,
  4177. this.serverUrl,
  4178. this.lat,
  4179. this.lng,
  4180. this.assignClientIPList,
  4181. this.rTCStartingRoomId = 0,
  4182. this.shareCodePrefix,
  4183. String? token,
  4184. }) : super(
  4185. token: token,
  4186. );
  4187. factory DistributedServerInfoRequest.fromJson(Map<String, dynamic> map) {
  4188. return DistributedServerInfoRequest(
  4189. code: map['Code'],
  4190. codes: map['Codes'] != null ? map['Codes'].cast<String>().toList() : null,
  4191. isMaster: map['IsMaster'],
  4192. name: map['Name'],
  4193. description: map['Description'],
  4194. enable: map['Enable'],
  4195. serverType: DistributedServerTypeEnum.values.firstWhere((e) => e.index == map['ServerType']),
  4196. serverUrl: map['ServerUrl'],
  4197. lat: map['Lat'],
  4198. lng: map['Lng'],
  4199. assignClientIPList: map['AssignClientIPList'] != null ? (map['AssignClientIPList'] as List).map((e)=>IPAddressInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  4200. rTCStartingRoomId: map['RTCStartingRoomId'],
  4201. shareCodePrefix: map['ShareCodePrefix'],
  4202. token: map['Token'],
  4203. );
  4204. }
  4205. Map<String, dynamic> toJson() {
  4206. final map = super.toJson();
  4207. if(code != null)
  4208. map['Code'] = code;
  4209. if(codes != null)
  4210. map['Codes'] = codes;
  4211. map['IsMaster'] = isMaster;
  4212. if(name != null)
  4213. map['Name'] = name;
  4214. if(description != null)
  4215. map['Description'] = description;
  4216. map['Enable'] = enable;
  4217. map['ServerType'] = serverType.index;
  4218. if(serverUrl != null)
  4219. map['ServerUrl'] = serverUrl;
  4220. if(lat != null)
  4221. map['Lat'] = lat;
  4222. if(lng != null)
  4223. map['Lng'] = lng;
  4224. if(assignClientIPList != null)
  4225. map['AssignClientIPList'] = assignClientIPList;
  4226. map['RTCStartingRoomId'] = rTCStartingRoomId;
  4227. if(shareCodePrefix != null)
  4228. map['ShareCodePrefix'] = shareCodePrefix;
  4229. return map;
  4230. }
  4231. }
  4232. class SaveDistributedServerIpRequest extends TokenRequest{
  4233. String? startIp;
  4234. String? endIp;
  4235. String? code;
  4236. SaveDistributedServerIpRequest({
  4237. this.startIp,
  4238. this.endIp,
  4239. this.code,
  4240. String? token,
  4241. }) : super(
  4242. token: token,
  4243. );
  4244. factory SaveDistributedServerIpRequest.fromJson(Map<String, dynamic> map) {
  4245. return SaveDistributedServerIpRequest(
  4246. startIp: map['StartIp'],
  4247. endIp: map['EndIp'],
  4248. code: map['Code'],
  4249. token: map['Token'],
  4250. );
  4251. }
  4252. Map<String, dynamic> toJson() {
  4253. final map = super.toJson();
  4254. if(startIp != null)
  4255. map['StartIp'] = startIp;
  4256. if(endIp != null)
  4257. map['EndIp'] = endIp;
  4258. if(code != null)
  4259. map['Code'] = code;
  4260. return map;
  4261. }
  4262. }
  4263. class GetDistributedServerIpListRequest extends PageRequest{
  4264. String? code;
  4265. String? keyword;
  4266. GetDistributedServerIpListRequest({
  4267. this.code,
  4268. this.keyword,
  4269. int pageIndex = 0,
  4270. int pageSize = 0,
  4271. String? token,
  4272. }) : super(
  4273. pageIndex: pageIndex,
  4274. pageSize: pageSize,
  4275. token: token,
  4276. );
  4277. factory GetDistributedServerIpListRequest.fromJson(Map<String, dynamic> map) {
  4278. return GetDistributedServerIpListRequest(
  4279. code: map['Code'],
  4280. keyword: map['Keyword'],
  4281. pageIndex: map['PageIndex'],
  4282. pageSize: map['PageSize'],
  4283. token: map['Token'],
  4284. );
  4285. }
  4286. Map<String, dynamic> toJson() {
  4287. final map = super.toJson();
  4288. if(code != null)
  4289. map['Code'] = code;
  4290. if(keyword != null)
  4291. map['Keyword'] = keyword;
  4292. return map;
  4293. }
  4294. }
  4295. class FindAdminByCodeRequest extends TokenRequest{
  4296. String? adminCode;
  4297. FindAdminByCodeRequest({
  4298. this.adminCode,
  4299. String? token,
  4300. }) : super(
  4301. token: token,
  4302. );
  4303. factory FindAdminByCodeRequest.fromJson(Map<String, dynamic> map) {
  4304. return FindAdminByCodeRequest(
  4305. adminCode: map['AdminCode'],
  4306. token: map['Token'],
  4307. );
  4308. }
  4309. Map<String, dynamic> toJson() {
  4310. final map = super.toJson();
  4311. if(adminCode != null)
  4312. map['AdminCode'] = adminCode;
  4313. return map;
  4314. }
  4315. }
  4316. class FindAdminRoleByCodeRequest extends TokenRequest{
  4317. String? adminRoleCode;
  4318. FindAdminRoleByCodeRequest({
  4319. this.adminRoleCode,
  4320. String? token,
  4321. }) : super(
  4322. token: token,
  4323. );
  4324. factory FindAdminRoleByCodeRequest.fromJson(Map<String, dynamic> map) {
  4325. return FindAdminRoleByCodeRequest(
  4326. adminRoleCode: map['AdminRoleCode'],
  4327. token: map['Token'],
  4328. );
  4329. }
  4330. Map<String, dynamic> toJson() {
  4331. final map = super.toJson();
  4332. if(adminRoleCode != null)
  4333. map['AdminRoleCode'] = adminRoleCode;
  4334. return map;
  4335. }
  4336. }
  4337. class FindAdminStatisticRecordsRequest extends TokenRequest{
  4338. String? languageCode;
  4339. FindAdminStatisticRecordsRequest({
  4340. this.languageCode,
  4341. String? token,
  4342. }) : super(
  4343. token: token,
  4344. );
  4345. factory FindAdminStatisticRecordsRequest.fromJson(Map<String, dynamic> map) {
  4346. return FindAdminStatisticRecordsRequest(
  4347. languageCode: map['LanguageCode'],
  4348. token: map['Token'],
  4349. );
  4350. }
  4351. Map<String, dynamic> toJson() {
  4352. final map = super.toJson();
  4353. if(languageCode != null)
  4354. map['LanguageCode'] = languageCode;
  4355. return map;
  4356. }
  4357. }
  4358. class FindCMSStatisticRequest extends TokenRequest{
  4359. String? clientId;
  4360. FindCMSStatisticRequest({
  4361. this.clientId,
  4362. String? token,
  4363. }) : super(
  4364. token: token,
  4365. );
  4366. factory FindCMSStatisticRequest.fromJson(Map<String, dynamic> map) {
  4367. return FindCMSStatisticRequest(
  4368. clientId: map['ClientId'],
  4369. token: map['Token'],
  4370. );
  4371. }
  4372. Map<String, dynamic> toJson() {
  4373. final map = super.toJson();
  4374. if(clientId != null)
  4375. map['ClientId'] = clientId;
  4376. return map;
  4377. }
  4378. }
  4379. class FindCMSTemplateByUserRequest extends TokenRequest{
  4380. String? clientId;
  4381. FindCMSTemplateByUserRequest({
  4382. this.clientId,
  4383. String? token,
  4384. }) : super(
  4385. token: token,
  4386. );
  4387. factory FindCMSTemplateByUserRequest.fromJson(Map<String, dynamic> map) {
  4388. return FindCMSTemplateByUserRequest(
  4389. clientId: map['ClientId'],
  4390. token: map['Token'],
  4391. );
  4392. }
  4393. Map<String, dynamic> toJson() {
  4394. final map = super.toJson();
  4395. if(clientId != null)
  4396. map['ClientId'] = clientId;
  4397. return map;
  4398. }
  4399. }
  4400. class FindCMSTemplateDetailRequest extends TokenRequest{
  4401. String? cMSTemplateCode;
  4402. FindCMSTemplateDetailRequest({
  4403. this.cMSTemplateCode,
  4404. String? token,
  4405. }) : super(
  4406. token: token,
  4407. );
  4408. factory FindCMSTemplateDetailRequest.fromJson(Map<String, dynamic> map) {
  4409. return FindCMSTemplateDetailRequest(
  4410. cMSTemplateCode: map['CMSTemplateCode'],
  4411. token: map['Token'],
  4412. );
  4413. }
  4414. Map<String, dynamic> toJson() {
  4415. final map = super.toJson();
  4416. if(cMSTemplateCode != null)
  4417. map['CMSTemplateCode'] = cMSTemplateCode;
  4418. return map;
  4419. }
  4420. }
  4421. class FindCMSTemplatePageRequest extends PageRequest{
  4422. String? searchKey;
  4423. FindCMSTemplatePageRequest({
  4424. this.searchKey,
  4425. int pageIndex = 0,
  4426. int pageSize = 0,
  4427. String? token,
  4428. }) : super(
  4429. pageIndex: pageIndex,
  4430. pageSize: pageSize,
  4431. token: token,
  4432. );
  4433. factory FindCMSTemplatePageRequest.fromJson(Map<String, dynamic> map) {
  4434. return FindCMSTemplatePageRequest(
  4435. searchKey: map['SearchKey'],
  4436. pageIndex: map['PageIndex'],
  4437. pageSize: map['PageSize'],
  4438. token: map['Token'],
  4439. );
  4440. }
  4441. Map<String, dynamic> toJson() {
  4442. final map = super.toJson();
  4443. if(searchKey != null)
  4444. map['SearchKey'] = searchKey;
  4445. return map;
  4446. }
  4447. }
  4448. class FindContentConfigRequest extends TokenRequest{
  4449. int type;
  4450. String? parentCode;
  4451. FindContentConfigRequest({
  4452. this.type = 0,
  4453. this.parentCode,
  4454. String? token,
  4455. }) : super(
  4456. token: token,
  4457. );
  4458. factory FindContentConfigRequest.fromJson(Map<String, dynamic> map) {
  4459. return FindContentConfigRequest(
  4460. type: map['Type'],
  4461. parentCode: map['ParentCode'],
  4462. token: map['Token'],
  4463. );
  4464. }
  4465. Map<String, dynamic> toJson() {
  4466. final map = super.toJson();
  4467. map['Type'] = type;
  4468. if(parentCode != null)
  4469. map['ParentCode'] = parentCode;
  4470. return map;
  4471. }
  4472. }
  4473. class FindDeviceDiagnosisModulesRequest2 extends TokenRequest{
  4474. String? deviceCode;
  4475. FindDeviceDiagnosisModulesRequest2({
  4476. this.deviceCode,
  4477. String? token,
  4478. }) : super(
  4479. token: token,
  4480. );
  4481. factory FindDeviceDiagnosisModulesRequest2.fromJson(Map<String, dynamic> map) {
  4482. return FindDeviceDiagnosisModulesRequest2(
  4483. deviceCode: map['DeviceCode'],
  4484. token: map['Token'],
  4485. );
  4486. }
  4487. Map<String, dynamic> toJson() {
  4488. final map = super.toJson();
  4489. if(deviceCode != null)
  4490. map['DeviceCode'] = deviceCode;
  4491. return map;
  4492. }
  4493. }
  4494. class FindDiagnosisModuleByPageRequest extends PageRequest{
  4495. FindDiagnosisModuleByPageRequest({
  4496. int pageIndex = 0,
  4497. int pageSize = 0,
  4498. String? token,
  4499. }) : super(
  4500. pageIndex: pageIndex,
  4501. pageSize: pageSize,
  4502. token: token,
  4503. );
  4504. factory FindDiagnosisModuleByPageRequest.fromJson(Map<String, dynamic> map) {
  4505. return FindDiagnosisModuleByPageRequest(
  4506. pageIndex: map['PageIndex'],
  4507. pageSize: map['PageSize'],
  4508. token: map['Token'],
  4509. );
  4510. }
  4511. Map<String, dynamic> toJson() {
  4512. final map = super.toJson();
  4513. return map;
  4514. }
  4515. }
  4516. class FindGradingProtectionConfigByPageRequest extends PageRequest{
  4517. String? keyword;
  4518. FindGradingProtectionConfigByPageRequest({
  4519. this.keyword,
  4520. int pageIndex = 0,
  4521. int pageSize = 0,
  4522. String? token,
  4523. }) : super(
  4524. pageIndex: pageIndex,
  4525. pageSize: pageSize,
  4526. token: token,
  4527. );
  4528. factory FindGradingProtectionConfigByPageRequest.fromJson(Map<String, dynamic> map) {
  4529. return FindGradingProtectionConfigByPageRequest(
  4530. keyword: map['Keyword'],
  4531. pageIndex: map['PageIndex'],
  4532. pageSize: map['PageSize'],
  4533. token: map['Token'],
  4534. );
  4535. }
  4536. Map<String, dynamic> toJson() {
  4537. final map = super.toJson();
  4538. if(keyword != null)
  4539. map['Keyword'] = keyword;
  4540. return map;
  4541. }
  4542. }
  4543. class FindOrganizationDiagnosisModulesRequest extends TokenRequest{
  4544. String? organizationCode;
  4545. FindOrganizationDiagnosisModulesRequest({
  4546. this.organizationCode,
  4547. String? token,
  4548. }) : super(
  4549. token: token,
  4550. );
  4551. factory FindOrganizationDiagnosisModulesRequest.fromJson(Map<String, dynamic> map) {
  4552. return FindOrganizationDiagnosisModulesRequest(
  4553. organizationCode: map['OrganizationCode'],
  4554. token: map['Token'],
  4555. );
  4556. }
  4557. Map<String, dynamic> toJson() {
  4558. final map = super.toJson();
  4559. if(organizationCode != null)
  4560. map['OrganizationCode'] = organizationCode;
  4561. return map;
  4562. }
  4563. }
  4564. class FindReferralRecordSettingRequest extends TokenRequest{
  4565. FindReferralRecordSettingRequest({
  4566. String? token,
  4567. }) : super(
  4568. token: token,
  4569. );
  4570. factory FindReferralRecordSettingRequest.fromJson(Map<String, dynamic> map) {
  4571. return FindReferralRecordSettingRequest(
  4572. token: map['Token'],
  4573. );
  4574. }
  4575. Map<String, dynamic> toJson() {
  4576. final map = super.toJson();
  4577. return map;
  4578. }
  4579. }
  4580. class FindRelatedDeviceCodesRequest extends TokenRequest{
  4581. String? reportPosterCode;
  4582. FindRelatedDeviceCodesRequest({
  4583. this.reportPosterCode,
  4584. String? token,
  4585. }) : super(
  4586. token: token,
  4587. );
  4588. factory FindRelatedDeviceCodesRequest.fromJson(Map<String, dynamic> map) {
  4589. return FindRelatedDeviceCodesRequest(
  4590. reportPosterCode: map['ReportPosterCode'],
  4591. token: map['Token'],
  4592. );
  4593. }
  4594. Map<String, dynamic> toJson() {
  4595. final map = super.toJson();
  4596. if(reportPosterCode != null)
  4597. map['ReportPosterCode'] = reportPosterCode;
  4598. return map;
  4599. }
  4600. }
  4601. class FindReportLabelByCodeRequest extends TokenRequest{
  4602. String? reportLabelCode;
  4603. FindReportLabelByCodeRequest({
  4604. this.reportLabelCode,
  4605. String? token,
  4606. }) : super(
  4607. token: token,
  4608. );
  4609. factory FindReportLabelByCodeRequest.fromJson(Map<String, dynamic> map) {
  4610. return FindReportLabelByCodeRequest(
  4611. reportLabelCode: map['ReportLabelCode'],
  4612. token: map['Token'],
  4613. );
  4614. }
  4615. Map<String, dynamic> toJson() {
  4616. final map = super.toJson();
  4617. if(reportLabelCode != null)
  4618. map['ReportLabelCode'] = reportLabelCode;
  4619. return map;
  4620. }
  4621. }
  4622. class FindReportLabelByPageRequest extends PageRequest{
  4623. String? keyword;
  4624. FindReportLabelByPageRequest({
  4625. this.keyword,
  4626. int pageIndex = 0,
  4627. int pageSize = 0,
  4628. String? token,
  4629. }) : super(
  4630. pageIndex: pageIndex,
  4631. pageSize: pageSize,
  4632. token: token,
  4633. );
  4634. factory FindReportLabelByPageRequest.fromJson(Map<String, dynamic> map) {
  4635. return FindReportLabelByPageRequest(
  4636. keyword: map['Keyword'],
  4637. pageIndex: map['PageIndex'],
  4638. pageSize: map['PageSize'],
  4639. token: map['Token'],
  4640. );
  4641. }
  4642. Map<String, dynamic> toJson() {
  4643. final map = super.toJson();
  4644. if(keyword != null)
  4645. map['Keyword'] = keyword;
  4646. return map;
  4647. }
  4648. }
  4649. class FindReportPosterByCodeRequest extends TokenRequest{
  4650. String? reportPosterCode;
  4651. FindReportPosterByCodeRequest({
  4652. this.reportPosterCode,
  4653. String? token,
  4654. }) : super(
  4655. token: token,
  4656. );
  4657. factory FindReportPosterByCodeRequest.fromJson(Map<String, dynamic> map) {
  4658. return FindReportPosterByCodeRequest(
  4659. reportPosterCode: map['ReportPosterCode'],
  4660. token: map['Token'],
  4661. );
  4662. }
  4663. Map<String, dynamic> toJson() {
  4664. final map = super.toJson();
  4665. if(reportPosterCode != null)
  4666. map['ReportPosterCode'] = reportPosterCode;
  4667. return map;
  4668. }
  4669. }
  4670. class FindReportPosterByPageRequest extends PageRequest{
  4671. String? keyword;
  4672. FindReportPosterByPageRequest({
  4673. this.keyword,
  4674. int pageIndex = 0,
  4675. int pageSize = 0,
  4676. String? token,
  4677. }) : super(
  4678. pageIndex: pageIndex,
  4679. pageSize: pageSize,
  4680. token: token,
  4681. );
  4682. factory FindReportPosterByPageRequest.fromJson(Map<String, dynamic> map) {
  4683. return FindReportPosterByPageRequest(
  4684. keyword: map['Keyword'],
  4685. pageIndex: map['PageIndex'],
  4686. pageSize: map['PageSize'],
  4687. token: map['Token'],
  4688. );
  4689. }
  4690. Map<String, dynamic> toJson() {
  4691. final map = super.toJson();
  4692. if(keyword != null)
  4693. map['Keyword'] = keyword;
  4694. return map;
  4695. }
  4696. }
  4697. class FindReportPreviewUrlRequest extends TokenRequest{
  4698. String? reportCode;
  4699. String? languageCode;
  4700. FindReportPreviewUrlRequest({
  4701. this.reportCode,
  4702. this.languageCode,
  4703. String? token,
  4704. }) : super(
  4705. token: token,
  4706. );
  4707. factory FindReportPreviewUrlRequest.fromJson(Map<String, dynamic> map) {
  4708. return FindReportPreviewUrlRequest(
  4709. reportCode: map['ReportCode'],
  4710. languageCode: map['LanguageCode'],
  4711. token: map['Token'],
  4712. );
  4713. }
  4714. Map<String, dynamic> toJson() {
  4715. final map = super.toJson();
  4716. if(reportCode != null)
  4717. map['ReportCode'] = reportCode;
  4718. if(languageCode != null)
  4719. map['LanguageCode'] = languageCode;
  4720. return map;
  4721. }
  4722. }
  4723. enum PushDataStateEnum {
  4724. UnDo,
  4725. Successful,
  4726. Failed,
  4727. All,
  4728. }
  4729. class FindReportPushRecordsByPageRequest extends PageRequest{
  4730. String? keyword;
  4731. PushDataStateEnum queryState;
  4732. FindReportPushRecordsByPageRequest({
  4733. this.keyword,
  4734. this.queryState = PushDataStateEnum.UnDo,
  4735. int pageIndex = 0,
  4736. int pageSize = 0,
  4737. String? token,
  4738. }) : super(
  4739. pageIndex: pageIndex,
  4740. pageSize: pageSize,
  4741. token: token,
  4742. );
  4743. factory FindReportPushRecordsByPageRequest.fromJson(Map<String, dynamic> map) {
  4744. return FindReportPushRecordsByPageRequest(
  4745. keyword: map['Keyword'],
  4746. queryState: PushDataStateEnum.values.firstWhere((e) => e.index == map['QueryState']),
  4747. pageIndex: map['PageIndex'],
  4748. pageSize: map['PageSize'],
  4749. token: map['Token'],
  4750. );
  4751. }
  4752. Map<String, dynamic> toJson() {
  4753. final map = super.toJson();
  4754. if(keyword != null)
  4755. map['Keyword'] = keyword;
  4756. map['QueryState'] = queryState.index;
  4757. return map;
  4758. }
  4759. }
  4760. class FindReportShareConentRequest extends TokenRequest{
  4761. String? shortCode;
  4762. FindReportShareConentRequest({
  4763. this.shortCode,
  4764. String? token,
  4765. }) : super(
  4766. token: token,
  4767. );
  4768. factory FindReportShareConentRequest.fromJson(Map<String, dynamic> map) {
  4769. return FindReportShareConentRequest(
  4770. shortCode: map['ShortCode'],
  4771. token: map['Token'],
  4772. );
  4773. }
  4774. Map<String, dynamic> toJson() {
  4775. final map = super.toJson();
  4776. if(shortCode != null)
  4777. map['ShortCode'] = shortCode;
  4778. return map;
  4779. }
  4780. }
  4781. class FindReportTemplateUserPagesRequest extends PageRequest{
  4782. String? reportTemplateCode;
  4783. String? keyword;
  4784. FindReportTemplateUserPagesRequest({
  4785. this.reportTemplateCode,
  4786. this.keyword,
  4787. int pageIndex = 0,
  4788. int pageSize = 0,
  4789. String? token,
  4790. }) : super(
  4791. pageIndex: pageIndex,
  4792. pageSize: pageSize,
  4793. token: token,
  4794. );
  4795. factory FindReportTemplateUserPagesRequest.fromJson(Map<String, dynamic> map) {
  4796. return FindReportTemplateUserPagesRequest(
  4797. reportTemplateCode: map['ReportTemplateCode'],
  4798. keyword: map['Keyword'],
  4799. pageIndex: map['PageIndex'],
  4800. pageSize: map['PageSize'],
  4801. token: map['Token'],
  4802. );
  4803. }
  4804. Map<String, dynamic> toJson() {
  4805. final map = super.toJson();
  4806. if(reportTemplateCode != null)
  4807. map['ReportTemplateCode'] = reportTemplateCode;
  4808. if(keyword != null)
  4809. map['Keyword'] = keyword;
  4810. return map;
  4811. }
  4812. }
  4813. class FindRoleByCodeRequest extends TokenRequest{
  4814. String? roleCode;
  4815. FindRoleByCodeRequest({
  4816. this.roleCode,
  4817. String? token,
  4818. }) : super(
  4819. token: token,
  4820. );
  4821. factory FindRoleByCodeRequest.fromJson(Map<String, dynamic> map) {
  4822. return FindRoleByCodeRequest(
  4823. roleCode: map['RoleCode'],
  4824. token: map['Token'],
  4825. );
  4826. }
  4827. Map<String, dynamic> toJson() {
  4828. final map = super.toJson();
  4829. if(roleCode != null)
  4830. map['RoleCode'] = roleCode;
  4831. return map;
  4832. }
  4833. }
  4834. class FindThesaurusByCodeRequest extends TokenRequest{
  4835. String? thesaurusCode;
  4836. FindThesaurusByCodeRequest({
  4837. this.thesaurusCode,
  4838. String? token,
  4839. }) : super(
  4840. token: token,
  4841. );
  4842. factory FindThesaurusByCodeRequest.fromJson(Map<String, dynamic> map) {
  4843. return FindThesaurusByCodeRequest(
  4844. thesaurusCode: map['ThesaurusCode'],
  4845. token: map['Token'],
  4846. );
  4847. }
  4848. Map<String, dynamic> toJson() {
  4849. final map = super.toJson();
  4850. if(thesaurusCode != null)
  4851. map['ThesaurusCode'] = thesaurusCode;
  4852. return map;
  4853. }
  4854. }
  4855. class FindThesaurusPagesRequest extends PageRequest{
  4856. String? keyword;
  4857. FindThesaurusPagesRequest({
  4858. this.keyword,
  4859. int pageIndex = 0,
  4860. int pageSize = 0,
  4861. String? token,
  4862. }) : super(
  4863. pageIndex: pageIndex,
  4864. pageSize: pageSize,
  4865. token: token,
  4866. );
  4867. factory FindThesaurusPagesRequest.fromJson(Map<String, dynamic> map) {
  4868. return FindThesaurusPagesRequest(
  4869. keyword: map['Keyword'],
  4870. pageIndex: map['PageIndex'],
  4871. pageSize: map['PageSize'],
  4872. token: map['Token'],
  4873. );
  4874. }
  4875. Map<String, dynamic> toJson() {
  4876. final map = super.toJson();
  4877. if(keyword != null)
  4878. map['Keyword'] = keyword;
  4879. return map;
  4880. }
  4881. }
  4882. class FindThesaurusUserPagesRequest extends PageRequest{
  4883. String? thesaurusCode;
  4884. String? keyword;
  4885. FindThesaurusUserPagesRequest({
  4886. this.thesaurusCode,
  4887. this.keyword,
  4888. int pageIndex = 0,
  4889. int pageSize = 0,
  4890. String? token,
  4891. }) : super(
  4892. pageIndex: pageIndex,
  4893. pageSize: pageSize,
  4894. token: token,
  4895. );
  4896. factory FindThesaurusUserPagesRequest.fromJson(Map<String, dynamic> map) {
  4897. return FindThesaurusUserPagesRequest(
  4898. thesaurusCode: map['ThesaurusCode'],
  4899. keyword: map['Keyword'],
  4900. pageIndex: map['PageIndex'],
  4901. pageSize: map['PageSize'],
  4902. token: map['Token'],
  4903. );
  4904. }
  4905. Map<String, dynamic> toJson() {
  4906. final map = super.toJson();
  4907. if(thesaurusCode != null)
  4908. map['ThesaurusCode'] = thesaurusCode;
  4909. if(keyword != null)
  4910. map['Keyword'] = keyword;
  4911. return map;
  4912. }
  4913. }
  4914. class FindThirdPartyInfoByCodeRequest extends TokenRequest{
  4915. String? code;
  4916. FindThirdPartyInfoByCodeRequest({
  4917. this.code,
  4918. String? token,
  4919. }) : super(
  4920. token: token,
  4921. );
  4922. factory FindThirdPartyInfoByCodeRequest.fromJson(Map<String, dynamic> map) {
  4923. return FindThirdPartyInfoByCodeRequest(
  4924. code: map['Code'],
  4925. token: map['Token'],
  4926. );
  4927. }
  4928. Map<String, dynamic> toJson() {
  4929. final map = super.toJson();
  4930. if(code != null)
  4931. map['Code'] = code;
  4932. return map;
  4933. }
  4934. }
  4935. class FindUserByCodeRequest extends TokenRequest{
  4936. String? userCode;
  4937. FindUserByCodeRequest({
  4938. this.userCode,
  4939. String? token,
  4940. }) : super(
  4941. token: token,
  4942. );
  4943. factory FindUserByCodeRequest.fromJson(Map<String, dynamic> map) {
  4944. return FindUserByCodeRequest(
  4945. userCode: map['UserCode'],
  4946. token: map['Token'],
  4947. );
  4948. }
  4949. Map<String, dynamic> toJson() {
  4950. final map = super.toJson();
  4951. if(userCode != null)
  4952. map['UserCode'] = userCode;
  4953. return map;
  4954. }
  4955. }
  4956. class GetAdminPagesRequest extends PageRequest{
  4957. String? queryType;
  4958. String? keyWord;
  4959. String? roleCode;
  4960. bool isShowSuperRoleCode;
  4961. String? fatherCode;
  4962. GetAdminPagesRequest({
  4963. this.queryType,
  4964. this.keyWord,
  4965. this.roleCode,
  4966. this.isShowSuperRoleCode = false,
  4967. this.fatherCode,
  4968. int pageIndex = 0,
  4969. int pageSize = 0,
  4970. String? token,
  4971. }) : super(
  4972. pageIndex: pageIndex,
  4973. pageSize: pageSize,
  4974. token: token,
  4975. );
  4976. factory GetAdminPagesRequest.fromJson(Map<String, dynamic> map) {
  4977. return GetAdminPagesRequest(
  4978. queryType: map['QueryType'],
  4979. keyWord: map['KeyWord'],
  4980. roleCode: map['RoleCode'],
  4981. isShowSuperRoleCode: map['IsShowSuperRoleCode'],
  4982. fatherCode: map['FatherCode'],
  4983. pageIndex: map['PageIndex'],
  4984. pageSize: map['PageSize'],
  4985. token: map['Token'],
  4986. );
  4987. }
  4988. Map<String, dynamic> toJson() {
  4989. final map = super.toJson();
  4990. if(queryType != null)
  4991. map['QueryType'] = queryType;
  4992. if(keyWord != null)
  4993. map['KeyWord'] = keyWord;
  4994. if(roleCode != null)
  4995. map['RoleCode'] = roleCode;
  4996. map['IsShowSuperRoleCode'] = isShowSuperRoleCode;
  4997. if(fatherCode != null)
  4998. map['FatherCode'] = fatherCode;
  4999. return map;
  5000. }
  5001. }
  5002. class GetAdminRolePagesRequest extends PageRequest{
  5003. String? roleName;
  5004. GetAdminRolePagesRequest({
  5005. this.roleName,
  5006. int pageIndex = 0,
  5007. int pageSize = 0,
  5008. String? token,
  5009. }) : super(
  5010. pageIndex: pageIndex,
  5011. pageSize: pageSize,
  5012. token: token,
  5013. );
  5014. factory GetAdminRolePagesRequest.fromJson(Map<String, dynamic> map) {
  5015. return GetAdminRolePagesRequest(
  5016. roleName: map['RoleName'],
  5017. pageIndex: map['PageIndex'],
  5018. pageSize: map['PageSize'],
  5019. token: map['Token'],
  5020. );
  5021. }
  5022. Map<String, dynamic> toJson() {
  5023. final map = super.toJson();
  5024. if(roleName != null)
  5025. map['RoleName'] = roleName;
  5026. return map;
  5027. }
  5028. }
  5029. class GetDeviceModelSelectRequest extends TokenRequest{
  5030. String? parentCode;
  5031. GetDeviceModelSelectRequest({
  5032. this.parentCode,
  5033. String? token,
  5034. }) : super(
  5035. token: token,
  5036. );
  5037. factory GetDeviceModelSelectRequest.fromJson(Map<String, dynamic> map) {
  5038. return GetDeviceModelSelectRequest(
  5039. parentCode: map['ParentCode'],
  5040. token: map['Token'],
  5041. );
  5042. }
  5043. Map<String, dynamic> toJson() {
  5044. final map = super.toJson();
  5045. if(parentCode != null)
  5046. map['ParentCode'] = parentCode;
  5047. return map;
  5048. }
  5049. }
  5050. class GetDeviceOutputConfigRequest extends TokenRequest{
  5051. DeviceVideoOutputTypeEnum deviceVideoOutputType;
  5052. GetDeviceOutputConfigRequest({
  5053. this.deviceVideoOutputType = DeviceVideoOutputTypeEnum.MergedVideo,
  5054. String? token,
  5055. }) : super(
  5056. token: token,
  5057. );
  5058. factory GetDeviceOutputConfigRequest.fromJson(Map<String, dynamic> map) {
  5059. return GetDeviceOutputConfigRequest(
  5060. deviceVideoOutputType: DeviceVideoOutputTypeEnum.values.firstWhere((e) => e.index == map['DeviceVideoOutputType']),
  5061. token: map['Token'],
  5062. );
  5063. }
  5064. Map<String, dynamic> toJson() {
  5065. final map = super.toJson();
  5066. map['DeviceVideoOutputType'] = deviceVideoOutputType.index;
  5067. return map;
  5068. }
  5069. }
  5070. class GetDeviceBrandModelPageRequest extends PageRequest{
  5071. String? keyword;
  5072. GetDeviceBrandModelPageRequest({
  5073. this.keyword,
  5074. int pageIndex = 0,
  5075. int pageSize = 0,
  5076. String? token,
  5077. }) : super(
  5078. pageIndex: pageIndex,
  5079. pageSize: pageSize,
  5080. token: token,
  5081. );
  5082. factory GetDeviceBrandModelPageRequest.fromJson(Map<String, dynamic> map) {
  5083. return GetDeviceBrandModelPageRequest(
  5084. keyword: map['Keyword'],
  5085. pageIndex: map['PageIndex'],
  5086. pageSize: map['PageSize'],
  5087. token: map['Token'],
  5088. );
  5089. }
  5090. Map<String, dynamic> toJson() {
  5091. final map = super.toJson();
  5092. if(keyword != null)
  5093. map['Keyword'] = keyword;
  5094. return map;
  5095. }
  5096. }
  5097. class DeleteBrandModelOutputConfigRequest {
  5098. List<String >? brandModelCodes;
  5099. DeleteBrandModelOutputConfigRequest({
  5100. this.brandModelCodes,
  5101. });
  5102. factory DeleteBrandModelOutputConfigRequest.fromJson(Map<String, dynamic> map) {
  5103. return DeleteBrandModelOutputConfigRequest(
  5104. brandModelCodes: map['BrandModelCodes'] != null ? map['BrandModelCodes'].cast<String>().toList() : null,
  5105. );
  5106. }
  5107. Map<String, dynamic> toJson() {
  5108. final map = Map<String, dynamic>();
  5109. if(brandModelCodes != null)
  5110. map['BrandModelCodes'] = brandModelCodes;
  5111. return map;
  5112. }
  5113. }
  5114. class GetDevicePagesRequest extends PageRequest{
  5115. String? queryType;
  5116. String? keyword;
  5117. List<String >? hospitals;
  5118. String? adminName;
  5119. String? userName;
  5120. GetDevicePagesRequest({
  5121. this.queryType,
  5122. this.keyword,
  5123. this.hospitals,
  5124. this.adminName,
  5125. this.userName,
  5126. int pageIndex = 0,
  5127. int pageSize = 0,
  5128. String? token,
  5129. }) : super(
  5130. pageIndex: pageIndex,
  5131. pageSize: pageSize,
  5132. token: token,
  5133. );
  5134. factory GetDevicePagesRequest.fromJson(Map<String, dynamic> map) {
  5135. return GetDevicePagesRequest(
  5136. queryType: map['QueryType'],
  5137. keyword: map['Keyword'],
  5138. hospitals: map['Hospitals'] != null ? map['Hospitals'].cast<String>().toList() : null,
  5139. adminName: map['AdminName'],
  5140. userName: map['UserName'],
  5141. pageIndex: map['PageIndex'],
  5142. pageSize: map['PageSize'],
  5143. token: map['Token'],
  5144. );
  5145. }
  5146. Map<String, dynamic> toJson() {
  5147. final map = super.toJson();
  5148. if(queryType != null)
  5149. map['QueryType'] = queryType;
  5150. if(keyword != null)
  5151. map['Keyword'] = keyword;
  5152. if(hospitals != null)
  5153. map['Hospitals'] = hospitals;
  5154. if(adminName != null)
  5155. map['AdminName'] = adminName;
  5156. if(userName != null)
  5157. map['UserName'] = userName;
  5158. return map;
  5159. }
  5160. }
  5161. class FindDeviceInfoByDeviceTypeRequest {
  5162. String? deviceTypeCode;
  5163. FindDeviceInfoByDeviceTypeRequest({
  5164. this.deviceTypeCode,
  5165. });
  5166. factory FindDeviceInfoByDeviceTypeRequest.fromJson(Map<String, dynamic> map) {
  5167. return FindDeviceInfoByDeviceTypeRequest(
  5168. deviceTypeCode: map['DeviceTypeCode'],
  5169. );
  5170. }
  5171. Map<String, dynamic> toJson() {
  5172. final map = Map<String, dynamic>();
  5173. if(deviceTypeCode != null)
  5174. map['DeviceTypeCode'] = deviceTypeCode;
  5175. return map;
  5176. }
  5177. }
  5178. class GetDeviceTypePagesRequest extends PageRequest{
  5179. String? deviceType;
  5180. String? deviceModel;
  5181. GetDeviceTypePagesRequest({
  5182. this.deviceType,
  5183. this.deviceModel,
  5184. int pageIndex = 0,
  5185. int pageSize = 0,
  5186. String? token,
  5187. }) : super(
  5188. pageIndex: pageIndex,
  5189. pageSize: pageSize,
  5190. token: token,
  5191. );
  5192. factory GetDeviceTypePagesRequest.fromJson(Map<String, dynamic> map) {
  5193. return GetDeviceTypePagesRequest(
  5194. deviceType: map['DeviceType'],
  5195. deviceModel: map['DeviceModel'],
  5196. pageIndex: map['PageIndex'],
  5197. pageSize: map['PageSize'],
  5198. token: map['Token'],
  5199. );
  5200. }
  5201. Map<String, dynamic> toJson() {
  5202. final map = super.toJson();
  5203. if(deviceType != null)
  5204. map['DeviceType'] = deviceType;
  5205. if(deviceModel != null)
  5206. map['DeviceModel'] = deviceModel;
  5207. return map;
  5208. }
  5209. }
  5210. class GetDeviceUserPagesRequest extends PageRequest{
  5211. List<String >? deviceCodes;
  5212. String? queryType;
  5213. String? keyword;
  5214. int type;
  5215. GetDeviceUserPagesRequest({
  5216. this.deviceCodes,
  5217. this.queryType,
  5218. this.keyword,
  5219. this.type = 0,
  5220. int pageIndex = 0,
  5221. int pageSize = 0,
  5222. String? token,
  5223. }) : super(
  5224. pageIndex: pageIndex,
  5225. pageSize: pageSize,
  5226. token: token,
  5227. );
  5228. factory GetDeviceUserPagesRequest.fromJson(Map<String, dynamic> map) {
  5229. return GetDeviceUserPagesRequest(
  5230. deviceCodes: map['DeviceCodes'] != null ? map['DeviceCodes'].cast<String>().toList() : null,
  5231. queryType: map['QueryType'],
  5232. keyword: map['Keyword'],
  5233. type: map['Type'],
  5234. pageIndex: map['PageIndex'],
  5235. pageSize: map['PageSize'],
  5236. token: map['Token'],
  5237. );
  5238. }
  5239. Map<String, dynamic> toJson() {
  5240. final map = super.toJson();
  5241. if(deviceCodes != null)
  5242. map['DeviceCodes'] = deviceCodes;
  5243. if(queryType != null)
  5244. map['QueryType'] = queryType;
  5245. if(keyword != null)
  5246. map['Keyword'] = keyword;
  5247. map['Type'] = type;
  5248. return map;
  5249. }
  5250. }
  5251. class GetDistributedServerRequest extends PageRequest{
  5252. String? keyword;
  5253. GetDistributedServerRequest({
  5254. this.keyword,
  5255. int pageIndex = 0,
  5256. int pageSize = 0,
  5257. String? token,
  5258. }) : super(
  5259. pageIndex: pageIndex,
  5260. pageSize: pageSize,
  5261. token: token,
  5262. );
  5263. factory GetDistributedServerRequest.fromJson(Map<String, dynamic> map) {
  5264. return GetDistributedServerRequest(
  5265. keyword: map['Keyword'],
  5266. pageIndex: map['PageIndex'],
  5267. pageSize: map['PageSize'],
  5268. token: map['Token'],
  5269. );
  5270. }
  5271. Map<String, dynamic> toJson() {
  5272. final map = super.toJson();
  5273. if(keyword != null)
  5274. map['Keyword'] = keyword;
  5275. return map;
  5276. }
  5277. }
  5278. class GetLogPagesRequest extends PageRequest{
  5279. String? level;
  5280. String? keyWord;
  5281. String? exclude;
  5282. DateTime? startTime;
  5283. DateTime? endTime;
  5284. String? requestServerHost;
  5285. GetLogPagesRequest({
  5286. this.level,
  5287. this.keyWord,
  5288. this.exclude,
  5289. this.startTime,
  5290. this.endTime,
  5291. this.requestServerHost,
  5292. int pageIndex = 0,
  5293. int pageSize = 0,
  5294. String? token,
  5295. }) : super(
  5296. pageIndex: pageIndex,
  5297. pageSize: pageSize,
  5298. token: token,
  5299. );
  5300. factory GetLogPagesRequest.fromJson(Map<String, dynamic> map) {
  5301. return GetLogPagesRequest(
  5302. level: map['Level'],
  5303. keyWord: map['KeyWord'],
  5304. exclude: map['Exclude'],
  5305. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  5306. endTime: map['EndTime'] != null ? DateTime.parse(map['EndTime']) : null,
  5307. requestServerHost: map['RequestServerHost'],
  5308. pageIndex: map['PageIndex'],
  5309. pageSize: map['PageSize'],
  5310. token: map['Token'],
  5311. );
  5312. }
  5313. Map<String, dynamic> toJson() {
  5314. final map = super.toJson();
  5315. if(level != null)
  5316. map['Level'] = level;
  5317. if(keyWord != null)
  5318. map['KeyWord'] = keyWord;
  5319. if(exclude != null)
  5320. map['Exclude'] = exclude;
  5321. if(startTime != null)
  5322. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  5323. if(endTime != null)
  5324. map['EndTime'] = JsonRpcUtils.dateFormat(endTime!);
  5325. if(requestServerHost != null)
  5326. map['RequestServerHost'] = requestServerHost;
  5327. return map;
  5328. }
  5329. }
  5330. class GetOrganizationCustomSettingRequest extends TokenRequest{
  5331. String? langugeKey;
  5332. String? settingModule;
  5333. String? organizationCode;
  5334. GetOrganizationCustomSettingRequest({
  5335. this.langugeKey,
  5336. this.settingModule,
  5337. this.organizationCode,
  5338. String? token,
  5339. }) : super(
  5340. token: token,
  5341. );
  5342. factory GetOrganizationCustomSettingRequest.fromJson(Map<String, dynamic> map) {
  5343. return GetOrganizationCustomSettingRequest(
  5344. langugeKey: map['LangugeKey'],
  5345. settingModule: map['SettingModule'],
  5346. organizationCode: map['OrganizationCode'],
  5347. token: map['Token'],
  5348. );
  5349. }
  5350. Map<String, dynamic> toJson() {
  5351. final map = super.toJson();
  5352. if(langugeKey != null)
  5353. map['LangugeKey'] = langugeKey;
  5354. if(settingModule != null)
  5355. map['SettingModule'] = settingModule;
  5356. if(organizationCode != null)
  5357. map['OrganizationCode'] = organizationCode;
  5358. return map;
  5359. }
  5360. }
  5361. class GetOrganizationPagesRequest extends PageRequest{
  5362. String? queryType;
  5363. String? keyword;
  5364. String? state;
  5365. String? isinvented;
  5366. GetOrganizationPagesRequest({
  5367. this.queryType,
  5368. this.keyword,
  5369. this.state,
  5370. this.isinvented,
  5371. int pageIndex = 0,
  5372. int pageSize = 0,
  5373. String? token,
  5374. }) : super(
  5375. pageIndex: pageIndex,
  5376. pageSize: pageSize,
  5377. token: token,
  5378. );
  5379. factory GetOrganizationPagesRequest.fromJson(Map<String, dynamic> map) {
  5380. return GetOrganizationPagesRequest(
  5381. queryType: map['QueryType'],
  5382. keyword: map['Keyword'],
  5383. state: map['State'],
  5384. isinvented: map['Isinvented'],
  5385. pageIndex: map['PageIndex'],
  5386. pageSize: map['PageSize'],
  5387. token: map['Token'],
  5388. );
  5389. }
  5390. Map<String, dynamic> toJson() {
  5391. final map = super.toJson();
  5392. if(queryType != null)
  5393. map['QueryType'] = queryType;
  5394. if(keyword != null)
  5395. map['Keyword'] = keyword;
  5396. if(state != null)
  5397. map['State'] = state;
  5398. if(isinvented != null)
  5399. map['Isinvented'] = isinvented;
  5400. return map;
  5401. }
  5402. }
  5403. class GetOrganizationRequest extends TokenRequest{
  5404. String? organizationCode;
  5405. GetOrganizationRequest({
  5406. this.organizationCode,
  5407. String? token,
  5408. }) : super(
  5409. token: token,
  5410. );
  5411. factory GetOrganizationRequest.fromJson(Map<String, dynamic> map) {
  5412. return GetOrganizationRequest(
  5413. organizationCode: map['OrganizationCode'],
  5414. token: map['Token'],
  5415. );
  5416. }
  5417. Map<String, dynamic> toJson() {
  5418. final map = super.toJson();
  5419. if(organizationCode != null)
  5420. map['OrganizationCode'] = organizationCode;
  5421. return map;
  5422. }
  5423. }
  5424. class GetOrganizationSettingRequest extends TokenRequest{
  5425. OrganizationSettingTypeEnum settingType;
  5426. String? organizationCode;
  5427. GetOrganizationSettingRequest({
  5428. this.settingType = OrganizationSettingTypeEnum.Patient,
  5429. this.organizationCode,
  5430. String? token,
  5431. }) : super(
  5432. token: token,
  5433. );
  5434. factory GetOrganizationSettingRequest.fromJson(Map<String, dynamic> map) {
  5435. return GetOrganizationSettingRequest(
  5436. settingType: OrganizationSettingTypeEnum.values.firstWhere((e) => e.index == map['SettingType']),
  5437. organizationCode: map['OrganizationCode'],
  5438. token: map['Token'],
  5439. );
  5440. }
  5441. Map<String, dynamic> toJson() {
  5442. final map = super.toJson();
  5443. map['SettingType'] = settingType.index;
  5444. if(organizationCode != null)
  5445. map['OrganizationCode'] = organizationCode;
  5446. return map;
  5447. }
  5448. }
  5449. class GetOrganizationUserPagesRequest extends PageRequest{
  5450. String? organizationCode;
  5451. String? queryType;
  5452. String? keyword;
  5453. GetOrganizationUserPagesRequest({
  5454. this.organizationCode,
  5455. this.queryType,
  5456. this.keyword,
  5457. int pageIndex = 0,
  5458. int pageSize = 0,
  5459. String? token,
  5460. }) : super(
  5461. pageIndex: pageIndex,
  5462. pageSize: pageSize,
  5463. token: token,
  5464. );
  5465. factory GetOrganizationUserPagesRequest.fromJson(Map<String, dynamic> map) {
  5466. return GetOrganizationUserPagesRequest(
  5467. organizationCode: map['OrganizationCode'],
  5468. queryType: map['QueryType'],
  5469. keyword: map['Keyword'],
  5470. pageIndex: map['PageIndex'],
  5471. pageSize: map['PageSize'],
  5472. token: map['Token'],
  5473. );
  5474. }
  5475. Map<String, dynamic> toJson() {
  5476. final map = super.toJson();
  5477. if(organizationCode != null)
  5478. map['OrganizationCode'] = organizationCode;
  5479. if(queryType != null)
  5480. map['QueryType'] = queryType;
  5481. if(keyword != null)
  5482. map['Keyword'] = keyword;
  5483. return map;
  5484. }
  5485. }
  5486. class GetPayUrlRequest extends PageRequest{
  5487. String? shortCode;
  5488. GetPayUrlRequest({
  5489. this.shortCode,
  5490. int pageIndex = 0,
  5491. int pageSize = 0,
  5492. String? token,
  5493. }) : super(
  5494. pageIndex: pageIndex,
  5495. pageSize: pageSize,
  5496. token: token,
  5497. );
  5498. factory GetPayUrlRequest.fromJson(Map<String, dynamic> map) {
  5499. return GetPayUrlRequest(
  5500. shortCode: map['ShortCode'],
  5501. pageIndex: map['PageIndex'],
  5502. pageSize: map['PageSize'],
  5503. token: map['Token'],
  5504. );
  5505. }
  5506. Map<String, dynamic> toJson() {
  5507. final map = super.toJson();
  5508. if(shortCode != null)
  5509. map['ShortCode'] = shortCode;
  5510. return map;
  5511. }
  5512. }
  5513. class GetPayUrlResult {
  5514. String? payUrl;
  5515. GetPayUrlResult({
  5516. this.payUrl,
  5517. });
  5518. factory GetPayUrlResult.fromJson(Map<String, dynamic> map) {
  5519. return GetPayUrlResult(
  5520. payUrl: map['PayUrl'],
  5521. );
  5522. }
  5523. Map<String, dynamic> toJson() {
  5524. final map = Map<String, dynamic>();
  5525. if(payUrl != null)
  5526. map['PayUrl'] = payUrl;
  5527. return map;
  5528. }
  5529. }
  5530. class GetRolePagesRequest extends PageRequest{
  5531. String? roleName;
  5532. GetRolePagesRequest({
  5533. this.roleName,
  5534. int pageIndex = 0,
  5535. int pageSize = 0,
  5536. String? token,
  5537. }) : super(
  5538. pageIndex: pageIndex,
  5539. pageSize: pageSize,
  5540. token: token,
  5541. );
  5542. factory GetRolePagesRequest.fromJson(Map<String, dynamic> map) {
  5543. return GetRolePagesRequest(
  5544. roleName: map['RoleName'],
  5545. pageIndex: map['PageIndex'],
  5546. pageSize: map['PageSize'],
  5547. token: map['Token'],
  5548. );
  5549. }
  5550. Map<String, dynamic> toJson() {
  5551. final map = super.toJson();
  5552. if(roleName != null)
  5553. map['RoleName'] = roleName;
  5554. return map;
  5555. }
  5556. }
  5557. class GetShareExamUrlRequest {
  5558. String? requestUrl;
  5559. String? languageCode;
  5560. GetShareExamUrlRequest({
  5561. this.requestUrl,
  5562. this.languageCode,
  5563. });
  5564. factory GetShareExamUrlRequest.fromJson(Map<String, dynamic> map) {
  5565. return GetShareExamUrlRequest(
  5566. requestUrl: map['RequestUrl'],
  5567. languageCode: map['LanguageCode'],
  5568. );
  5569. }
  5570. Map<String, dynamic> toJson() {
  5571. final map = Map<String, dynamic>();
  5572. if(requestUrl != null)
  5573. map['RequestUrl'] = requestUrl;
  5574. if(languageCode != null)
  5575. map['LanguageCode'] = languageCode;
  5576. return map;
  5577. }
  5578. }
  5579. class GetThesaurusItemRequest extends TokenRequest{
  5580. String? thesaurusCode;
  5581. String? thesaurusItemCode;
  5582. GetThesaurusItemRequest({
  5583. this.thesaurusCode,
  5584. this.thesaurusItemCode,
  5585. String? token,
  5586. }) : super(
  5587. token: token,
  5588. );
  5589. factory GetThesaurusItemRequest.fromJson(Map<String, dynamic> map) {
  5590. return GetThesaurusItemRequest(
  5591. thesaurusCode: map['ThesaurusCode'],
  5592. thesaurusItemCode: map['ThesaurusItemCode'],
  5593. token: map['Token'],
  5594. );
  5595. }
  5596. Map<String, dynamic> toJson() {
  5597. final map = super.toJson();
  5598. if(thesaurusCode != null)
  5599. map['ThesaurusCode'] = thesaurusCode;
  5600. if(thesaurusItemCode != null)
  5601. map['ThesaurusItemCode'] = thesaurusItemCode;
  5602. return map;
  5603. }
  5604. }
  5605. class GetThirdPartyInfoPagesRequest extends PageRequest{
  5606. String? name;
  5607. String? isValid;
  5608. GetThirdPartyInfoPagesRequest({
  5609. this.name,
  5610. this.isValid,
  5611. int pageIndex = 0,
  5612. int pageSize = 0,
  5613. String? token,
  5614. }) : super(
  5615. pageIndex: pageIndex,
  5616. pageSize: pageSize,
  5617. token: token,
  5618. );
  5619. factory GetThirdPartyInfoPagesRequest.fromJson(Map<String, dynamic> map) {
  5620. return GetThirdPartyInfoPagesRequest(
  5621. name: map['Name'],
  5622. isValid: map['IsValid'],
  5623. pageIndex: map['PageIndex'],
  5624. pageSize: map['PageSize'],
  5625. token: map['Token'],
  5626. );
  5627. }
  5628. Map<String, dynamic> toJson() {
  5629. final map = super.toJson();
  5630. if(name != null)
  5631. map['Name'] = name;
  5632. if(isValid != null)
  5633. map['IsValid'] = isValid;
  5634. return map;
  5635. }
  5636. }
  5637. class ImitateLoginRequest {
  5638. String? account;
  5639. String? password;
  5640. AccountType accountType;
  5641. ImitateLoginRequest({
  5642. this.account,
  5643. this.password,
  5644. this.accountType = AccountType.Admin,
  5645. });
  5646. factory ImitateLoginRequest.fromJson(Map<String, dynamic> map) {
  5647. return ImitateLoginRequest(
  5648. account: map['Account'],
  5649. password: map['Password'],
  5650. accountType: AccountType.values.firstWhere((e) => e.index == map['AccountType']),
  5651. );
  5652. }
  5653. Map<String, dynamic> toJson() {
  5654. final map = Map<String, dynamic>();
  5655. if(account != null)
  5656. map['Account'] = account;
  5657. if(password != null)
  5658. map['Password'] = password;
  5659. map['AccountType'] = accountType.index;
  5660. return map;
  5661. }
  5662. }
  5663. class ImitateLoginResult {
  5664. String? clientId;
  5665. ImitateLoginResult({
  5666. this.clientId,
  5667. });
  5668. factory ImitateLoginResult.fromJson(Map<String, dynamic> map) {
  5669. return ImitateLoginResult(
  5670. clientId: map['ClientId'],
  5671. );
  5672. }
  5673. Map<String, dynamic> toJson() {
  5674. final map = Map<String, dynamic>();
  5675. if(clientId != null)
  5676. map['ClientId'] = clientId;
  5677. return map;
  5678. }
  5679. }
  5680. class LoginRequest {
  5681. String? adminName;
  5682. String? password;
  5683. LoginRequest({
  5684. this.adminName,
  5685. this.password,
  5686. });
  5687. factory LoginRequest.fromJson(Map<String, dynamic> map) {
  5688. return LoginRequest(
  5689. adminName: map['AdminName'],
  5690. password: map['Password'],
  5691. );
  5692. }
  5693. Map<String, dynamic> toJson() {
  5694. final map = Map<String, dynamic>();
  5695. if(adminName != null)
  5696. map['AdminName'] = adminName;
  5697. if(password != null)
  5698. map['Password'] = password;
  5699. return map;
  5700. }
  5701. }
  5702. enum ProductStatusEnum {
  5703. SoldOut,
  5704. Putaway,
  5705. }
  5706. enum ProductTypeEnum {
  5707. Course,
  5708. Other,
  5709. }
  5710. class ManageCreateProductRequest extends TokenRequest{
  5711. String? name;
  5712. String? headImage;
  5713. double price;
  5714. ProductStatusEnum status;
  5715. ProductTypeEnum productType;
  5716. String? belongerCode;
  5717. String? relationInfo;
  5718. ManageCreateProductRequest({
  5719. this.name,
  5720. this.headImage,
  5721. this.price = 0,
  5722. this.status = ProductStatusEnum.SoldOut,
  5723. this.productType = ProductTypeEnum.Course,
  5724. this.belongerCode,
  5725. this.relationInfo,
  5726. String? token,
  5727. }) : super(
  5728. token: token,
  5729. );
  5730. factory ManageCreateProductRequest.fromJson(Map<String, dynamic> map) {
  5731. return ManageCreateProductRequest(
  5732. name: map['Name'],
  5733. headImage: map['HeadImage'],
  5734. price: double.parse(map['Price'].toString()),
  5735. status: ProductStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  5736. productType: ProductTypeEnum.values.firstWhere((e) => e.index == map['ProductType']),
  5737. belongerCode: map['BelongerCode'],
  5738. relationInfo: map['RelationInfo'],
  5739. token: map['Token'],
  5740. );
  5741. }
  5742. Map<String, dynamic> toJson() {
  5743. final map = super.toJson();
  5744. if(name != null)
  5745. map['Name'] = name;
  5746. if(headImage != null)
  5747. map['HeadImage'] = headImage;
  5748. map['Price'] = price;
  5749. map['Status'] = status.index;
  5750. map['ProductType'] = productType.index;
  5751. if(belongerCode != null)
  5752. map['BelongerCode'] = belongerCode;
  5753. if(relationInfo != null)
  5754. map['RelationInfo'] = relationInfo;
  5755. return map;
  5756. }
  5757. }
  5758. class ManageGetOrderDetailRequest extends TokenRequest{
  5759. String? orderCode;
  5760. ManageGetOrderDetailRequest({
  5761. this.orderCode,
  5762. String? token,
  5763. }) : super(
  5764. token: token,
  5765. );
  5766. factory ManageGetOrderDetailRequest.fromJson(Map<String, dynamic> map) {
  5767. return ManageGetOrderDetailRequest(
  5768. orderCode: map['OrderCode'],
  5769. token: map['Token'],
  5770. );
  5771. }
  5772. Map<String, dynamic> toJson() {
  5773. final map = super.toJson();
  5774. if(orderCode != null)
  5775. map['OrderCode'] = orderCode;
  5776. return map;
  5777. }
  5778. }
  5779. class ManageGetOrderPagesRequest extends PageRequest{
  5780. String? keyWord;
  5781. ManageGetOrderPagesRequest({
  5782. this.keyWord,
  5783. int pageIndex = 0,
  5784. int pageSize = 0,
  5785. String? token,
  5786. }) : super(
  5787. pageIndex: pageIndex,
  5788. pageSize: pageSize,
  5789. token: token,
  5790. );
  5791. factory ManageGetOrderPagesRequest.fromJson(Map<String, dynamic> map) {
  5792. return ManageGetOrderPagesRequest(
  5793. keyWord: map['KeyWord'],
  5794. pageIndex: map['PageIndex'],
  5795. pageSize: map['PageSize'],
  5796. token: map['Token'],
  5797. );
  5798. }
  5799. Map<String, dynamic> toJson() {
  5800. final map = super.toJson();
  5801. if(keyWord != null)
  5802. map['KeyWord'] = keyWord;
  5803. return map;
  5804. }
  5805. }
  5806. class ManageGetPaymentRecordsRequest extends PageRequest{
  5807. String? keyword;
  5808. ManageGetPaymentRecordsRequest({
  5809. this.keyword,
  5810. int pageIndex = 0,
  5811. int pageSize = 0,
  5812. String? token,
  5813. }) : super(
  5814. pageIndex: pageIndex,
  5815. pageSize: pageSize,
  5816. token: token,
  5817. );
  5818. factory ManageGetPaymentRecordsRequest.fromJson(Map<String, dynamic> map) {
  5819. return ManageGetPaymentRecordsRequest(
  5820. keyword: map['Keyword'],
  5821. pageIndex: map['PageIndex'],
  5822. pageSize: map['PageSize'],
  5823. token: map['Token'],
  5824. );
  5825. }
  5826. Map<String, dynamic> toJson() {
  5827. final map = super.toJson();
  5828. if(keyword != null)
  5829. map['Keyword'] = keyword;
  5830. return map;
  5831. }
  5832. }
  5833. class ManageUpdateProductRequest extends TokenRequest{
  5834. String? code;
  5835. String? name;
  5836. String? headImage;
  5837. double price;
  5838. ProductStatusEnum status;
  5839. ProductTypeEnum productType;
  5840. String? belongerCode;
  5841. String? relationInfo;
  5842. ManageUpdateProductRequest({
  5843. this.code,
  5844. this.name,
  5845. this.headImage,
  5846. this.price = 0,
  5847. this.status = ProductStatusEnum.SoldOut,
  5848. this.productType = ProductTypeEnum.Course,
  5849. this.belongerCode,
  5850. this.relationInfo,
  5851. String? token,
  5852. }) : super(
  5853. token: token,
  5854. );
  5855. factory ManageUpdateProductRequest.fromJson(Map<String, dynamic> map) {
  5856. return ManageUpdateProductRequest(
  5857. code: map['Code'],
  5858. name: map['Name'],
  5859. headImage: map['HeadImage'],
  5860. price: double.parse(map['Price'].toString()),
  5861. status: ProductStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  5862. productType: ProductTypeEnum.values.firstWhere((e) => e.index == map['ProductType']),
  5863. belongerCode: map['BelongerCode'],
  5864. relationInfo: map['RelationInfo'],
  5865. token: map['Token'],
  5866. );
  5867. }
  5868. Map<String, dynamic> toJson() {
  5869. final map = super.toJson();
  5870. if(code != null)
  5871. map['Code'] = code;
  5872. if(name != null)
  5873. map['Name'] = name;
  5874. if(headImage != null)
  5875. map['HeadImage'] = headImage;
  5876. map['Price'] = price;
  5877. map['Status'] = status.index;
  5878. map['ProductType'] = productType.index;
  5879. if(belongerCode != null)
  5880. map['BelongerCode'] = belongerCode;
  5881. if(relationInfo != null)
  5882. map['RelationInfo'] = relationInfo;
  5883. return map;
  5884. }
  5885. }
  5886. class BaseFeatureInfoDTO extends BaseDTO{
  5887. String? featureCode;
  5888. String? featureName;
  5889. String? fatherCode;
  5890. String? uniqueCode;
  5891. BaseFeatureInfoDTO({
  5892. this.featureCode,
  5893. this.featureName,
  5894. this.fatherCode,
  5895. this.uniqueCode,
  5896. DateTime? createTime,
  5897. DateTime? updateTime,
  5898. }) : super(
  5899. createTime: createTime,
  5900. updateTime: updateTime,
  5901. );
  5902. factory BaseFeatureInfoDTO.fromJson(Map<String, dynamic> map) {
  5903. return BaseFeatureInfoDTO(
  5904. featureCode: map['FeatureCode'],
  5905. featureName: map['FeatureName'],
  5906. fatherCode: map['FatherCode'],
  5907. uniqueCode: map['UniqueCode'],
  5908. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  5909. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  5910. );
  5911. }
  5912. Map<String, dynamic> toJson() {
  5913. final map = super.toJson();
  5914. if(featureCode != null)
  5915. map['FeatureCode'] = featureCode;
  5916. if(featureName != null)
  5917. map['FeatureName'] = featureName;
  5918. if(fatherCode != null)
  5919. map['FatherCode'] = fatherCode;
  5920. if(uniqueCode != null)
  5921. map['UniqueCode'] = uniqueCode;
  5922. return map;
  5923. }
  5924. }
  5925. class AdminFeatureInfoDTO extends BaseFeatureInfoDTO{
  5926. AdminFeatureInfoDTO({
  5927. String? featureCode,
  5928. String? featureName,
  5929. String? fatherCode,
  5930. String? uniqueCode,
  5931. DateTime? createTime,
  5932. DateTime? updateTime,
  5933. }) : super(
  5934. featureCode: featureCode,
  5935. featureName: featureName,
  5936. fatherCode: fatherCode,
  5937. uniqueCode: uniqueCode,
  5938. createTime: createTime,
  5939. updateTime: updateTime,
  5940. );
  5941. factory AdminFeatureInfoDTO.fromJson(Map<String, dynamic> map) {
  5942. return AdminFeatureInfoDTO(
  5943. featureCode: map['FeatureCode'],
  5944. featureName: map['FeatureName'],
  5945. fatherCode: map['FatherCode'],
  5946. uniqueCode: map['UniqueCode'],
  5947. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  5948. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  5949. );
  5950. }
  5951. Map<String, dynamic> toJson() {
  5952. final map = super.toJson();
  5953. return map;
  5954. }
  5955. }
  5956. class ModifyAdminFeatureRequest extends AdminFeatureInfoDTO{
  5957. String? token;
  5958. ModifyAdminFeatureRequest({
  5959. this.token,
  5960. String? featureCode,
  5961. String? featureName,
  5962. String? fatherCode,
  5963. String? uniqueCode,
  5964. DateTime? createTime,
  5965. DateTime? updateTime,
  5966. }) : super(
  5967. featureCode: featureCode,
  5968. featureName: featureName,
  5969. fatherCode: fatherCode,
  5970. uniqueCode: uniqueCode,
  5971. createTime: createTime,
  5972. updateTime: updateTime,
  5973. );
  5974. factory ModifyAdminFeatureRequest.fromJson(Map<String, dynamic> map) {
  5975. return ModifyAdminFeatureRequest(
  5976. token: map['Token'],
  5977. featureCode: map['FeatureCode'],
  5978. featureName: map['FeatureName'],
  5979. fatherCode: map['FatherCode'],
  5980. uniqueCode: map['UniqueCode'],
  5981. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  5982. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  5983. );
  5984. }
  5985. Map<String, dynamic> toJson() {
  5986. final map = super.toJson();
  5987. if(token != null)
  5988. map['Token'] = token;
  5989. return map;
  5990. }
  5991. }
  5992. class ModifyAdminPasswordRequest extends TokenRequest{
  5993. String? adminCode;
  5994. String? oldPassword;
  5995. String? newPassword;
  5996. ModifyAdminPasswordRequest({
  5997. this.adminCode,
  5998. this.oldPassword,
  5999. this.newPassword,
  6000. String? token,
  6001. }) : super(
  6002. token: token,
  6003. );
  6004. factory ModifyAdminPasswordRequest.fromJson(Map<String, dynamic> map) {
  6005. return ModifyAdminPasswordRequest(
  6006. adminCode: map['AdminCode'],
  6007. oldPassword: map['OldPassword'],
  6008. newPassword: map['NewPassword'],
  6009. token: map['Token'],
  6010. );
  6011. }
  6012. Map<String, dynamic> toJson() {
  6013. final map = super.toJson();
  6014. if(adminCode != null)
  6015. map['AdminCode'] = adminCode;
  6016. if(oldPassword != null)
  6017. map['OldPassword'] = oldPassword;
  6018. if(newPassword != null)
  6019. map['NewPassword'] = newPassword;
  6020. return map;
  6021. }
  6022. }
  6023. class ModifyAdminRequest extends AdminInfoDTO{
  6024. String? token;
  6025. ModifyAdminRequest({
  6026. this.token,
  6027. String? adminCode,
  6028. String? fatherCode,
  6029. String? adminName,
  6030. String? fullName,
  6031. String? secretPassword,
  6032. String? headImageToken,
  6033. String? licenseKey,
  6034. String? lastIP,
  6035. String? phone,
  6036. String? email,
  6037. List<String >? roleCodes,
  6038. LoginLockInfoDTO? loginLockInfo,
  6039. DateTime? passwordUpdateTime,
  6040. List<String >? passwordRecords,
  6041. List<ClearLogOperateDTO >? clearLogOperateList,
  6042. DateTime? createTime,
  6043. DateTime? updateTime,
  6044. }) : super(
  6045. adminCode: adminCode,
  6046. fatherCode: fatherCode,
  6047. adminName: adminName,
  6048. fullName: fullName,
  6049. secretPassword: secretPassword,
  6050. headImageToken: headImageToken,
  6051. licenseKey: licenseKey,
  6052. lastIP: lastIP,
  6053. phone: phone,
  6054. email: email,
  6055. roleCodes: roleCodes,
  6056. loginLockInfo: loginLockInfo,
  6057. passwordUpdateTime: passwordUpdateTime,
  6058. passwordRecords: passwordRecords,
  6059. clearLogOperateList: clearLogOperateList,
  6060. createTime: createTime,
  6061. updateTime: updateTime,
  6062. );
  6063. factory ModifyAdminRequest.fromJson(Map<String, dynamic> map) {
  6064. return ModifyAdminRequest(
  6065. token: map['Token'],
  6066. adminCode: map['AdminCode'],
  6067. fatherCode: map['FatherCode'],
  6068. adminName: map['AdminName'],
  6069. fullName: map['FullName'],
  6070. secretPassword: map['SecretPassword'],
  6071. headImageToken: map['HeadImageToken'],
  6072. licenseKey: map['LicenseKey'],
  6073. lastIP: map['LastIP'],
  6074. phone: map['Phone'],
  6075. email: map['Email'],
  6076. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  6077. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  6078. passwordUpdateTime: map['PasswordUpdateTime'] != null ? DateTime.parse(map['PasswordUpdateTime']) : null,
  6079. passwordRecords: map['PasswordRecords'] != null ? map['PasswordRecords'].cast<String>().toList() : null,
  6080. clearLogOperateList: map['ClearLogOperateList'] != null ? (map['ClearLogOperateList'] as List).map((e)=>ClearLogOperateDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6081. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6082. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6083. );
  6084. }
  6085. Map<String, dynamic> toJson() {
  6086. final map = super.toJson();
  6087. if(token != null)
  6088. map['Token'] = token;
  6089. return map;
  6090. }
  6091. }
  6092. class AdminRoleDTO extends BaseRoleDTO{
  6093. String? adminGroupCode;
  6094. int adminNum;
  6095. AdminRoleDTO({
  6096. this.adminGroupCode,
  6097. this.adminNum = 0,
  6098. String? roleCode,
  6099. String? roleName,
  6100. String? description,
  6101. List<UserRoleLanguageConfigDTO >? languageConfigs,
  6102. DateTime? createTime,
  6103. DateTime? updateTime,
  6104. }) : super(
  6105. roleCode: roleCode,
  6106. roleName: roleName,
  6107. description: description,
  6108. languageConfigs: languageConfigs,
  6109. createTime: createTime,
  6110. updateTime: updateTime,
  6111. );
  6112. factory AdminRoleDTO.fromJson(Map<String, dynamic> map) {
  6113. return AdminRoleDTO(
  6114. adminGroupCode: map['AdminGroupCode'],
  6115. adminNum: map['AdminNum'],
  6116. roleCode: map['RoleCode'],
  6117. roleName: map['RoleName'],
  6118. description: map['Description'],
  6119. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>UserRoleLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6120. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6121. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6122. );
  6123. }
  6124. Map<String, dynamic> toJson() {
  6125. final map = super.toJson();
  6126. if(adminGroupCode != null)
  6127. map['AdminGroupCode'] = adminGroupCode;
  6128. map['AdminNum'] = adminNum;
  6129. return map;
  6130. }
  6131. }
  6132. class ModifyAdminRoleInfoRequest extends AdminRoleDTO{
  6133. String? token;
  6134. List<String >? featuresCodeList;
  6135. ModifyAdminRoleInfoRequest({
  6136. this.token,
  6137. this.featuresCodeList,
  6138. String? adminGroupCode,
  6139. int adminNum = 0,
  6140. String? roleCode,
  6141. String? roleName,
  6142. String? description,
  6143. List<UserRoleLanguageConfigDTO >? languageConfigs,
  6144. DateTime? createTime,
  6145. DateTime? updateTime,
  6146. }) : super(
  6147. adminGroupCode: adminGroupCode,
  6148. adminNum: adminNum,
  6149. roleCode: roleCode,
  6150. roleName: roleName,
  6151. description: description,
  6152. languageConfigs: languageConfigs,
  6153. createTime: createTime,
  6154. updateTime: updateTime,
  6155. );
  6156. factory ModifyAdminRoleInfoRequest.fromJson(Map<String, dynamic> map) {
  6157. return ModifyAdminRoleInfoRequest(
  6158. token: map['Token'],
  6159. featuresCodeList: map['FeaturesCodeList'] != null ? map['FeaturesCodeList'].cast<String>().toList() : null,
  6160. adminGroupCode: map['AdminGroupCode'],
  6161. adminNum: map['AdminNum'],
  6162. roleCode: map['RoleCode'],
  6163. roleName: map['RoleName'],
  6164. description: map['Description'],
  6165. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>UserRoleLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6166. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6167. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6168. );
  6169. }
  6170. Map<String, dynamic> toJson() {
  6171. final map = super.toJson();
  6172. if(token != null)
  6173. map['Token'] = token;
  6174. if(featuresCodeList != null)
  6175. map['FeaturesCodeList'] = featuresCodeList;
  6176. return map;
  6177. }
  6178. }
  6179. class ModifyAdminsRolesRequest {
  6180. String? token;
  6181. List<String >? adminCodes;
  6182. List<String >? adminRoleCodes;
  6183. ModifyAdminsRolesRequest({
  6184. this.token,
  6185. this.adminCodes,
  6186. this.adminRoleCodes,
  6187. });
  6188. factory ModifyAdminsRolesRequest.fromJson(Map<String, dynamic> map) {
  6189. return ModifyAdminsRolesRequest(
  6190. token: map['Token'],
  6191. adminCodes: map['AdminCodes'] != null ? map['AdminCodes'].cast<String>().toList() : null,
  6192. adminRoleCodes: map['AdminRoleCodes'] != null ? map['AdminRoleCodes'].cast<String>().toList() : null,
  6193. );
  6194. }
  6195. Map<String, dynamic> toJson() {
  6196. final map = Map<String, dynamic>();
  6197. if(token != null)
  6198. map['Token'] = token;
  6199. if(adminCodes != null)
  6200. map['AdminCodes'] = adminCodes;
  6201. if(adminRoleCodes != null)
  6202. map['AdminRoleCodes'] = adminRoleCodes;
  6203. return map;
  6204. }
  6205. }
  6206. class ModifyDeviceRequest2 extends DeviceInfoDTO{
  6207. String? token;
  6208. ModifyDeviceRequest2({
  6209. this.token,
  6210. String? deviceCode,
  6211. String? serialNumber,
  6212. String? password,
  6213. String? name,
  6214. String? description,
  6215. String? deviceModel,
  6216. String? deviceType,
  6217. String? headPicUrl,
  6218. String? deviceSoftwareVersion,
  6219. String? sDKSoftwareVersion,
  6220. String? organizationCode,
  6221. String? departmentCode,
  6222. String? shortCode,
  6223. bool isAutoShared = false,
  6224. bool isEncryptedShow = false,
  6225. DateTime? lastLoginTime,
  6226. String? systemVersion,
  6227. String? cPUModel,
  6228. String? systemLanguage,
  6229. List<String >? diagnosisModules,
  6230. List<String >? reportPosterCodes,
  6231. bool mergedChannel = false,
  6232. int mergedVideoOutputWidth = 0,
  6233. int mergedVideoOutputHeight = 0,
  6234. List<VideoDeviceDTO >? videoDeviceInfos,
  6235. DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto,
  6236. bool liveOpened = false,
  6237. DateTime? createTime,
  6238. DateTime? updateTime,
  6239. }) : super(
  6240. deviceCode: deviceCode,
  6241. serialNumber: serialNumber,
  6242. password: password,
  6243. name: name,
  6244. description: description,
  6245. deviceModel: deviceModel,
  6246. deviceType: deviceType,
  6247. headPicUrl: headPicUrl,
  6248. deviceSoftwareVersion: deviceSoftwareVersion,
  6249. sDKSoftwareVersion: sDKSoftwareVersion,
  6250. organizationCode: organizationCode,
  6251. departmentCode: departmentCode,
  6252. shortCode: shortCode,
  6253. isAutoShared: isAutoShared,
  6254. isEncryptedShow: isEncryptedShow,
  6255. lastLoginTime: lastLoginTime,
  6256. systemVersion: systemVersion,
  6257. cPUModel: cPUModel,
  6258. systemLanguage: systemLanguage,
  6259. diagnosisModules: diagnosisModules,
  6260. reportPosterCodes: reportPosterCodes,
  6261. mergedChannel: mergedChannel,
  6262. mergedVideoOutputWidth: mergedVideoOutputWidth,
  6263. mergedVideoOutputHeight: mergedVideoOutputHeight,
  6264. videoDeviceInfos: videoDeviceInfos,
  6265. downloadModeSetting: downloadModeSetting,
  6266. liveOpened: liveOpened,
  6267. createTime: createTime,
  6268. updateTime: updateTime,
  6269. );
  6270. factory ModifyDeviceRequest2.fromJson(Map<String, dynamic> map) {
  6271. return ModifyDeviceRequest2(
  6272. token: map['Token'],
  6273. deviceCode: map['DeviceCode'],
  6274. serialNumber: map['SerialNumber'],
  6275. password: map['Password'],
  6276. name: map['Name'],
  6277. description: map['Description'],
  6278. deviceModel: map['DeviceModel'],
  6279. deviceType: map['DeviceType'],
  6280. headPicUrl: map['HeadPicUrl'],
  6281. deviceSoftwareVersion: map['DeviceSoftwareVersion'],
  6282. sDKSoftwareVersion: map['SDKSoftwareVersion'],
  6283. organizationCode: map['OrganizationCode'],
  6284. departmentCode: map['DepartmentCode'],
  6285. shortCode: map['ShortCode'],
  6286. isAutoShared: map['IsAutoShared'],
  6287. isEncryptedShow: map['IsEncryptedShow'],
  6288. lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null,
  6289. systemVersion: map['SystemVersion'],
  6290. cPUModel: map['CPUModel'],
  6291. systemLanguage: map['SystemLanguage'],
  6292. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  6293. reportPosterCodes: map['ReportPosterCodes'] != null ? map['ReportPosterCodes'].cast<String>().toList() : null,
  6294. mergedChannel: map['MergedChannel'],
  6295. mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
  6296. mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
  6297. videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6298. downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']),
  6299. liveOpened: map['LiveOpened'],
  6300. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6301. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6302. );
  6303. }
  6304. Map<String, dynamic> toJson() {
  6305. final map = super.toJson();
  6306. if(token != null)
  6307. map['Token'] = token;
  6308. return map;
  6309. }
  6310. }
  6311. class ModifyDeviceDownloadModeRequest extends TokenRequest{
  6312. String? deviceCode;
  6313. DownloadModeSettingEnum downloadModeSetting;
  6314. ModifyDeviceDownloadModeRequest({
  6315. this.deviceCode,
  6316. this.downloadModeSetting = DownloadModeSettingEnum.Auto,
  6317. String? token,
  6318. }) : super(
  6319. token: token,
  6320. );
  6321. factory ModifyDeviceDownloadModeRequest.fromJson(Map<String, dynamic> map) {
  6322. return ModifyDeviceDownloadModeRequest(
  6323. deviceCode: map['DeviceCode'],
  6324. downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']),
  6325. token: map['Token'],
  6326. );
  6327. }
  6328. Map<String, dynamic> toJson() {
  6329. final map = super.toJson();
  6330. if(deviceCode != null)
  6331. map['DeviceCode'] = deviceCode;
  6332. map['DownloadModeSetting'] = downloadModeSetting.index;
  6333. return map;
  6334. }
  6335. }
  6336. class ModifyDeviceMergedVideoSizeRequest extends TokenRequest{
  6337. String? deviceCode;
  6338. bool mergedChannel;
  6339. int mergedVideoOutputWidth;
  6340. int mergedVideoOutputHeight;
  6341. List<VideoDeviceDTO >? videoDeviceInfos;
  6342. ModifyDeviceMergedVideoSizeRequest({
  6343. this.deviceCode,
  6344. this.mergedChannel = false,
  6345. this.mergedVideoOutputWidth = 0,
  6346. this.mergedVideoOutputHeight = 0,
  6347. this.videoDeviceInfos,
  6348. String? token,
  6349. }) : super(
  6350. token: token,
  6351. );
  6352. factory ModifyDeviceMergedVideoSizeRequest.fromJson(Map<String, dynamic> map) {
  6353. return ModifyDeviceMergedVideoSizeRequest(
  6354. deviceCode: map['DeviceCode'],
  6355. mergedChannel: map['MergedChannel'],
  6356. mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
  6357. mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
  6358. videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6359. token: map['Token'],
  6360. );
  6361. }
  6362. Map<String, dynamic> toJson() {
  6363. final map = super.toJson();
  6364. if(deviceCode != null)
  6365. map['DeviceCode'] = deviceCode;
  6366. map['MergedChannel'] = mergedChannel;
  6367. map['MergedVideoOutputWidth'] = mergedVideoOutputWidth;
  6368. map['MergedVideoOutputHeight'] = mergedVideoOutputHeight;
  6369. if(videoDeviceInfos != null)
  6370. map['VideoDeviceInfos'] = videoDeviceInfos;
  6371. return map;
  6372. }
  6373. }
  6374. class DeviceModelClass {
  6375. String? deviceModelCode;
  6376. String? deviceModelName;
  6377. DeviceModelClass({
  6378. this.deviceModelCode,
  6379. this.deviceModelName,
  6380. });
  6381. factory DeviceModelClass.fromJson(Map<String, dynamic> map) {
  6382. return DeviceModelClass(
  6383. deviceModelCode: map['DeviceModelCode'],
  6384. deviceModelName: map['DeviceModelName'],
  6385. );
  6386. }
  6387. Map<String, dynamic> toJson() {
  6388. final map = Map<String, dynamic>();
  6389. if(deviceModelCode != null)
  6390. map['DeviceModelCode'] = deviceModelCode;
  6391. if(deviceModelName != null)
  6392. map['DeviceModelName'] = deviceModelName;
  6393. return map;
  6394. }
  6395. }
  6396. class ModifyDeviceTypeRequest extends TokenRequest{
  6397. String? deviceTypeCode;
  6398. List<DictionaryLanguageConfigDTO >? languageConfigs;
  6399. List<DeviceModelClass >? deviceModelList;
  6400. ModifyDeviceTypeRequest({
  6401. this.deviceTypeCode,
  6402. this.languageConfigs,
  6403. this.deviceModelList,
  6404. String? token,
  6405. }) : super(
  6406. token: token,
  6407. );
  6408. factory ModifyDeviceTypeRequest.fromJson(Map<String, dynamic> map) {
  6409. return ModifyDeviceTypeRequest(
  6410. deviceTypeCode: map['DeviceTypeCode'],
  6411. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6412. deviceModelList: map['DeviceModelList'] != null ? (map['DeviceModelList'] as List).map((e)=>DeviceModelClass.fromJson(e as Map<String,dynamic>)).toList() : null,
  6413. token: map['Token'],
  6414. );
  6415. }
  6416. Map<String, dynamic> toJson() {
  6417. final map = super.toJson();
  6418. if(deviceTypeCode != null)
  6419. map['DeviceTypeCode'] = deviceTypeCode;
  6420. if(languageConfigs != null)
  6421. map['LanguageConfigs'] = languageConfigs;
  6422. if(deviceModelList != null)
  6423. map['DeviceModelList'] = deviceModelList;
  6424. return map;
  6425. }
  6426. }
  6427. class DeleteDeviceTypeRequest {
  6428. String? deviceTypeCode;
  6429. DeleteDeviceTypeRequest({
  6430. this.deviceTypeCode,
  6431. });
  6432. factory DeleteDeviceTypeRequest.fromJson(Map<String, dynamic> map) {
  6433. return DeleteDeviceTypeRequest(
  6434. deviceTypeCode: map['DeviceTypeCode'],
  6435. );
  6436. }
  6437. Map<String, dynamic> toJson() {
  6438. final map = Map<String, dynamic>();
  6439. if(deviceTypeCode != null)
  6440. map['DeviceTypeCode'] = deviceTypeCode;
  6441. return map;
  6442. }
  6443. }
  6444. class ModifyDiagnosisModuleEnableStateRequest extends TokenRequest{
  6445. List<String >? diagnosisModules;
  6446. bool enabled;
  6447. ModifyDiagnosisModuleEnableStateRequest({
  6448. this.diagnosisModules,
  6449. this.enabled = false,
  6450. String? token,
  6451. }) : super(
  6452. token: token,
  6453. );
  6454. factory ModifyDiagnosisModuleEnableStateRequest.fromJson(Map<String, dynamic> map) {
  6455. return ModifyDiagnosisModuleEnableStateRequest(
  6456. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  6457. enabled: map['Enabled'],
  6458. token: map['Token'],
  6459. );
  6460. }
  6461. Map<String, dynamic> toJson() {
  6462. final map = super.toJson();
  6463. if(diagnosisModules != null)
  6464. map['DiagnosisModules'] = diagnosisModules;
  6465. map['Enabled'] = enabled;
  6466. return map;
  6467. }
  6468. }
  6469. class ModifyDiagnosisModulesRequest extends TokenRequest{
  6470. List<String >? diagnosisModules;
  6471. ModifyDiagnosisModulesRequest({
  6472. this.diagnosisModules,
  6473. String? token,
  6474. }) : super(
  6475. token: token,
  6476. );
  6477. factory ModifyDiagnosisModulesRequest.fromJson(Map<String, dynamic> map) {
  6478. return ModifyDiagnosisModulesRequest(
  6479. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  6480. token: map['Token'],
  6481. );
  6482. }
  6483. Map<String, dynamic> toJson() {
  6484. final map = super.toJson();
  6485. if(diagnosisModules != null)
  6486. map['DiagnosisModules'] = diagnosisModules;
  6487. return map;
  6488. }
  6489. }
  6490. class ModifyOrganizationCustomSettingRequest extends TokenRequest{
  6491. String? langugeKey;
  6492. String? settingModule;
  6493. String? settingJson;
  6494. String? organizationCode;
  6495. ModifyOrganizationCustomSettingRequest({
  6496. this.langugeKey,
  6497. this.settingModule,
  6498. this.settingJson,
  6499. this.organizationCode,
  6500. String? token,
  6501. }) : super(
  6502. token: token,
  6503. );
  6504. factory ModifyOrganizationCustomSettingRequest.fromJson(Map<String, dynamic> map) {
  6505. return ModifyOrganizationCustomSettingRequest(
  6506. langugeKey: map['LangugeKey'],
  6507. settingModule: map['SettingModule'],
  6508. settingJson: map['SettingJson'],
  6509. organizationCode: map['OrganizationCode'],
  6510. token: map['Token'],
  6511. );
  6512. }
  6513. Map<String, dynamic> toJson() {
  6514. final map = super.toJson();
  6515. if(langugeKey != null)
  6516. map['LangugeKey'] = langugeKey;
  6517. if(settingModule != null)
  6518. map['SettingModule'] = settingModule;
  6519. if(settingJson != null)
  6520. map['SettingJson'] = settingJson;
  6521. if(organizationCode != null)
  6522. map['OrganizationCode'] = organizationCode;
  6523. return map;
  6524. }
  6525. }
  6526. class ModifyOrganizationDiagnosisModulesRequest extends TokenRequest{
  6527. String? organizationCode;
  6528. List<String >? diagnosisModules;
  6529. ModifyOrganizationDiagnosisModulesRequest({
  6530. this.organizationCode,
  6531. this.diagnosisModules,
  6532. String? token,
  6533. }) : super(
  6534. token: token,
  6535. );
  6536. factory ModifyOrganizationDiagnosisModulesRequest.fromJson(Map<String, dynamic> map) {
  6537. return ModifyOrganizationDiagnosisModulesRequest(
  6538. organizationCode: map['OrganizationCode'],
  6539. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  6540. token: map['Token'],
  6541. );
  6542. }
  6543. Map<String, dynamic> toJson() {
  6544. final map = super.toJson();
  6545. if(organizationCode != null)
  6546. map['OrganizationCode'] = organizationCode;
  6547. if(diagnosisModules != null)
  6548. map['DiagnosisModules'] = diagnosisModules;
  6549. return map;
  6550. }
  6551. }
  6552. class ModifyOrganizationDirectorsRequest extends TokenRequest{
  6553. String? organizationCode;
  6554. List<String >? directors;
  6555. ModifyOrganizationDirectorsRequest({
  6556. this.organizationCode,
  6557. this.directors,
  6558. String? token,
  6559. }) : super(
  6560. token: token,
  6561. );
  6562. factory ModifyOrganizationDirectorsRequest.fromJson(Map<String, dynamic> map) {
  6563. return ModifyOrganizationDirectorsRequest(
  6564. organizationCode: map['OrganizationCode'],
  6565. directors: map['Directors'] != null ? map['Directors'].cast<String>().toList() : null,
  6566. token: map['Token'],
  6567. );
  6568. }
  6569. Map<String, dynamic> toJson() {
  6570. final map = super.toJson();
  6571. if(organizationCode != null)
  6572. map['OrganizationCode'] = organizationCode;
  6573. if(directors != null)
  6574. map['Directors'] = directors;
  6575. return map;
  6576. }
  6577. }
  6578. class ModifyOrganizationRequest extends OrganizationDTO{
  6579. String? token;
  6580. ModifyOrganizationRequest({
  6581. this.token,
  6582. String? description,
  6583. String? rootCode,
  6584. OrganizationTypeEnum organizationType = OrganizationTypeEnum.Corporation,
  6585. List<String >? authorityGroups,
  6586. String? nautica,
  6587. OrganizationStateEnum state = OrganizationStateEnum.WaitAudit,
  6588. List<String >? directors,
  6589. List<String >? assignedAdmins,
  6590. String? patientSettingJson,
  6591. String? examSettingJson,
  6592. String? consultationSettingJson,
  6593. String? patientSettingVersion,
  6594. String? examSettingVersion,
  6595. String? consultationSettingVersion,
  6596. String? parentOrganizationName,
  6597. String? regionCode,
  6598. String? parentCode,
  6599. String? logoUrl,
  6600. OrganizationPatientTypeEnum patientType = OrganizationPatientTypeEnum.Person,
  6601. bool isinvented = false,
  6602. List<SettingDTOClass >? settings,
  6603. List<String >? diagnosisModules,
  6604. bool isEncryptedShow = false,
  6605. double referralLimitHours = 0,
  6606. List<String >? referralOrganizationCodes,
  6607. List<ReferralOrganizationDTO >? referralOrganizations,
  6608. String? organizationCode,
  6609. String? organizationName,
  6610. DateTime? createTime,
  6611. DateTime? updateTime,
  6612. }) : super(
  6613. description: description,
  6614. rootCode: rootCode,
  6615. organizationType: organizationType,
  6616. authorityGroups: authorityGroups,
  6617. nautica: nautica,
  6618. state: state,
  6619. directors: directors,
  6620. assignedAdmins: assignedAdmins,
  6621. patientSettingJson: patientSettingJson,
  6622. examSettingJson: examSettingJson,
  6623. consultationSettingJson: consultationSettingJson,
  6624. patientSettingVersion: patientSettingVersion,
  6625. examSettingVersion: examSettingVersion,
  6626. consultationSettingVersion: consultationSettingVersion,
  6627. parentOrganizationName: parentOrganizationName,
  6628. regionCode: regionCode,
  6629. parentCode: parentCode,
  6630. logoUrl: logoUrl,
  6631. patientType: patientType,
  6632. isinvented: isinvented,
  6633. settings: settings,
  6634. diagnosisModules: diagnosisModules,
  6635. isEncryptedShow: isEncryptedShow,
  6636. referralLimitHours: referralLimitHours,
  6637. referralOrganizationCodes: referralOrganizationCodes,
  6638. referralOrganizations: referralOrganizations,
  6639. organizationCode: organizationCode,
  6640. organizationName: organizationName,
  6641. createTime: createTime,
  6642. updateTime: updateTime,
  6643. );
  6644. factory ModifyOrganizationRequest.fromJson(Map<String, dynamic> map) {
  6645. return ModifyOrganizationRequest(
  6646. token: map['Token'],
  6647. description: map['Description'],
  6648. rootCode: map['RootCode'],
  6649. organizationType: OrganizationTypeEnum.values.firstWhere((e) => e.index == map['OrganizationType']),
  6650. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  6651. nautica: map['Nautica'],
  6652. state: OrganizationStateEnum.values.firstWhere((e) => e.index == map['State']),
  6653. directors: map['Directors'] != null ? map['Directors'].cast<String>().toList() : null,
  6654. assignedAdmins: map['AssignedAdmins'] != null ? map['AssignedAdmins'].cast<String>().toList() : null,
  6655. patientSettingJson: map['PatientSettingJson'],
  6656. examSettingJson: map['ExamSettingJson'],
  6657. consultationSettingJson: map['ConsultationSettingJson'],
  6658. patientSettingVersion: map['PatientSettingVersion'],
  6659. examSettingVersion: map['ExamSettingVersion'],
  6660. consultationSettingVersion: map['ConsultationSettingVersion'],
  6661. parentOrganizationName: map['ParentOrganizationName'],
  6662. regionCode: map['RegionCode'],
  6663. parentCode: map['ParentCode'],
  6664. logoUrl: map['LogoUrl'],
  6665. patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
  6666. isinvented: map['Isinvented'],
  6667. settings: map['Settings'] != null ? (map['Settings'] as List).map((e)=>SettingDTOClass.fromJson(e as Map<String,dynamic>)).toList() : null,
  6668. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  6669. isEncryptedShow: map['IsEncryptedShow'],
  6670. referralLimitHours: double.parse(map['ReferralLimitHours'].toString()),
  6671. referralOrganizationCodes: map['ReferralOrganizationCodes'] != null ? map['ReferralOrganizationCodes'].cast<String>().toList() : null,
  6672. referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6673. organizationCode: map['OrganizationCode'],
  6674. organizationName: map['OrganizationName'],
  6675. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6676. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6677. );
  6678. }
  6679. Map<String, dynamic> toJson() {
  6680. final map = super.toJson();
  6681. if(token != null)
  6682. map['Token'] = token;
  6683. return map;
  6684. }
  6685. }
  6686. class ModifyOrganizationSettingRequest extends TokenRequest{
  6687. OrganizationSettingTypeEnum settingType;
  6688. String? settingJson;
  6689. String? organizationCode;
  6690. String? cMSTemplateCode;
  6691. ModifyOrganizationSettingRequest({
  6692. this.settingType = OrganizationSettingTypeEnum.Patient,
  6693. this.settingJson,
  6694. this.organizationCode,
  6695. this.cMSTemplateCode,
  6696. String? token,
  6697. }) : super(
  6698. token: token,
  6699. );
  6700. factory ModifyOrganizationSettingRequest.fromJson(Map<String, dynamic> map) {
  6701. return ModifyOrganizationSettingRequest(
  6702. settingType: OrganizationSettingTypeEnum.values.firstWhere((e) => e.index == map['SettingType']),
  6703. settingJson: map['SettingJson'],
  6704. organizationCode: map['OrganizationCode'],
  6705. cMSTemplateCode: map['CMSTemplateCode'],
  6706. token: map['Token'],
  6707. );
  6708. }
  6709. Map<String, dynamic> toJson() {
  6710. final map = super.toJson();
  6711. map['SettingType'] = settingType.index;
  6712. if(settingJson != null)
  6713. map['SettingJson'] = settingJson;
  6714. if(organizationCode != null)
  6715. map['OrganizationCode'] = organizationCode;
  6716. if(cMSTemplateCode != null)
  6717. map['CMSTemplateCode'] = cMSTemplateCode;
  6718. return map;
  6719. }
  6720. }
  6721. class ConsultationBaseInfoItem {
  6722. String? name;
  6723. bool isDefult;
  6724. bool isShow;
  6725. bool required;
  6726. ConsultationBaseInfoItem({
  6727. this.name,
  6728. this.isDefult = false,
  6729. this.isShow = false,
  6730. this.required = false,
  6731. });
  6732. factory ConsultationBaseInfoItem.fromJson(Map<String, dynamic> map) {
  6733. return ConsultationBaseInfoItem(
  6734. name: map['Name'],
  6735. isDefult: map['IsDefult'],
  6736. isShow: map['IsShow'],
  6737. required: map['Required'],
  6738. );
  6739. }
  6740. Map<String, dynamic> toJson() {
  6741. final map = Map<String, dynamic>();
  6742. if(name != null)
  6743. map['Name'] = name;
  6744. map['IsDefult'] = isDefult;
  6745. map['IsShow'] = isShow;
  6746. map['Required'] = required;
  6747. return map;
  6748. }
  6749. }
  6750. class ModifycConsultationBaseInfoSettingRequest extends TokenRequest{
  6751. List<ConsultationBaseInfoItem >? consultationBaseInfoList;
  6752. String? organizationCode;
  6753. ModifycConsultationBaseInfoSettingRequest({
  6754. this.consultationBaseInfoList,
  6755. this.organizationCode,
  6756. String? token,
  6757. }) : super(
  6758. token: token,
  6759. );
  6760. factory ModifycConsultationBaseInfoSettingRequest.fromJson(Map<String, dynamic> map) {
  6761. return ModifycConsultationBaseInfoSettingRequest(
  6762. consultationBaseInfoList: map['ConsultationBaseInfoList'] != null ? (map['ConsultationBaseInfoList'] as List).map((e)=>ConsultationBaseInfoItem.fromJson(e as Map<String,dynamic>)).toList() : null,
  6763. organizationCode: map['OrganizationCode'],
  6764. token: map['Token'],
  6765. );
  6766. }
  6767. Map<String, dynamic> toJson() {
  6768. final map = super.toJson();
  6769. if(consultationBaseInfoList != null)
  6770. map['ConsultationBaseInfoList'] = consultationBaseInfoList;
  6771. if(organizationCode != null)
  6772. map['OrganizationCode'] = organizationCode;
  6773. return map;
  6774. }
  6775. }
  6776. class ModifyOrganizationStateRequest extends TokenRequest{
  6777. String? organizationCode;
  6778. OrganizationStateEnum state;
  6779. ModifyOrganizationStateRequest({
  6780. this.organizationCode,
  6781. this.state = OrganizationStateEnum.WaitAudit,
  6782. String? token,
  6783. }) : super(
  6784. token: token,
  6785. );
  6786. factory ModifyOrganizationStateRequest.fromJson(Map<String, dynamic> map) {
  6787. return ModifyOrganizationStateRequest(
  6788. organizationCode: map['OrganizationCode'],
  6789. state: OrganizationStateEnum.values.firstWhere((e) => e.index == map['State']),
  6790. token: map['Token'],
  6791. );
  6792. }
  6793. Map<String, dynamic> toJson() {
  6794. final map = super.toJson();
  6795. if(organizationCode != null)
  6796. map['OrganizationCode'] = organizationCode;
  6797. map['State'] = state.index;
  6798. return map;
  6799. }
  6800. }
  6801. class ModifyReferralRecordSettingRequest extends TokenRequest{
  6802. double limitHours;
  6803. ModifyReferralRecordSettingRequest({
  6804. this.limitHours = 0,
  6805. String? token,
  6806. }) : super(
  6807. token: token,
  6808. );
  6809. factory ModifyReferralRecordSettingRequest.fromJson(Map<String, dynamic> map) {
  6810. return ModifyReferralRecordSettingRequest(
  6811. limitHours: double.parse(map['LimitHours'].toString()),
  6812. token: map['Token'],
  6813. );
  6814. }
  6815. Map<String, dynamic> toJson() {
  6816. final map = super.toJson();
  6817. map['LimitHours'] = limitHours;
  6818. return map;
  6819. }
  6820. }
  6821. class ModifyReportPosterDevicesRequest extends TokenRequest{
  6822. String? reportPosterCode;
  6823. List<String >? deviceIds;
  6824. ModifyReportPosterDevicesRequest({
  6825. this.reportPosterCode,
  6826. this.deviceIds,
  6827. String? token,
  6828. }) : super(
  6829. token: token,
  6830. );
  6831. factory ModifyReportPosterDevicesRequest.fromJson(Map<String, dynamic> map) {
  6832. return ModifyReportPosterDevicesRequest(
  6833. reportPosterCode: map['ReportPosterCode'],
  6834. deviceIds: map['DeviceIds'] != null ? map['DeviceIds'].cast<String>().toList() : null,
  6835. token: map['Token'],
  6836. );
  6837. }
  6838. Map<String, dynamic> toJson() {
  6839. final map = super.toJson();
  6840. if(reportPosterCode != null)
  6841. map['ReportPosterCode'] = reportPosterCode;
  6842. if(deviceIds != null)
  6843. map['DeviceIds'] = deviceIds;
  6844. return map;
  6845. }
  6846. }
  6847. class ModifyRoleInfoRequest extends RoleDTO{
  6848. String? token;
  6849. List<String >? featuresCodeList;
  6850. ModifyRoleInfoRequest({
  6851. this.token,
  6852. this.featuresCodeList,
  6853. RoleShowTypeEnum roleShowType = RoleShowTypeEnum.NotShow,
  6854. String? iConUrl,
  6855. String? colorStart,
  6856. String? colorEnd,
  6857. RoleQualificationEnum roleQualification = RoleQualificationEnum.NoNeed,
  6858. String? userGroupCode,
  6859. RoleShowTypeEnum fieldShowType = RoleShowTypeEnum.NotShow,
  6860. List<String >? fieldList,
  6861. String? roleCode,
  6862. String? roleName,
  6863. String? description,
  6864. List<UserRoleLanguageConfigDTO >? languageConfigs,
  6865. DateTime? createTime,
  6866. DateTime? updateTime,
  6867. }) : super(
  6868. roleShowType: roleShowType,
  6869. iConUrl: iConUrl,
  6870. colorStart: colorStart,
  6871. colorEnd: colorEnd,
  6872. roleQualification: roleQualification,
  6873. userGroupCode: userGroupCode,
  6874. fieldShowType: fieldShowType,
  6875. fieldList: fieldList,
  6876. roleCode: roleCode,
  6877. roleName: roleName,
  6878. description: description,
  6879. languageConfigs: languageConfigs,
  6880. createTime: createTime,
  6881. updateTime: updateTime,
  6882. );
  6883. factory ModifyRoleInfoRequest.fromJson(Map<String, dynamic> map) {
  6884. return ModifyRoleInfoRequest(
  6885. token: map['Token'],
  6886. featuresCodeList: map['FeaturesCodeList'] != null ? map['FeaturesCodeList'].cast<String>().toList() : null,
  6887. roleShowType: RoleShowTypeEnum.values.firstWhere((e) => e.index == map['RoleShowType']),
  6888. iConUrl: map['IConUrl'],
  6889. colorStart: map['ColorStart'],
  6890. colorEnd: map['ColorEnd'],
  6891. roleQualification: RoleQualificationEnum.values.firstWhere((e) => e.index == map['RoleQualification']),
  6892. userGroupCode: map['UserGroupCode'],
  6893. fieldShowType: RoleShowTypeEnum.values.firstWhere((e) => e.index == map['FieldShowType']),
  6894. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  6895. roleCode: map['RoleCode'],
  6896. roleName: map['RoleName'],
  6897. description: map['Description'],
  6898. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>UserRoleLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  6899. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6900. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6901. );
  6902. }
  6903. Map<String, dynamic> toJson() {
  6904. final map = super.toJson();
  6905. if(token != null)
  6906. map['Token'] = token;
  6907. if(featuresCodeList != null)
  6908. map['FeaturesCodeList'] = featuresCodeList;
  6909. return map;
  6910. }
  6911. }
  6912. class ThirdPartyInfoDTO extends BaseDTO{
  6913. String? code;
  6914. String? name;
  6915. String? contactPersonName;
  6916. String? contactPhone;
  6917. List<String >? allowedInterfaces;
  6918. bool isValid;
  6919. String? token;
  6920. ThirdPartyInfoDTO({
  6921. this.code,
  6922. this.name,
  6923. this.contactPersonName,
  6924. this.contactPhone,
  6925. this.allowedInterfaces,
  6926. this.isValid = false,
  6927. this.token,
  6928. DateTime? createTime,
  6929. DateTime? updateTime,
  6930. }) : super(
  6931. createTime: createTime,
  6932. updateTime: updateTime,
  6933. );
  6934. factory ThirdPartyInfoDTO.fromJson(Map<String, dynamic> map) {
  6935. return ThirdPartyInfoDTO(
  6936. code: map['Code'],
  6937. name: map['Name'],
  6938. contactPersonName: map['ContactPersonName'],
  6939. contactPhone: map['ContactPhone'],
  6940. allowedInterfaces: map['AllowedInterfaces'] != null ? map['AllowedInterfaces'].cast<String>().toList() : null,
  6941. isValid: map['IsValid'],
  6942. token: map['Token'],
  6943. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6944. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6945. );
  6946. }
  6947. Map<String, dynamic> toJson() {
  6948. final map = super.toJson();
  6949. if(code != null)
  6950. map['Code'] = code;
  6951. if(name != null)
  6952. map['Name'] = name;
  6953. if(contactPersonName != null)
  6954. map['ContactPersonName'] = contactPersonName;
  6955. if(contactPhone != null)
  6956. map['ContactPhone'] = contactPhone;
  6957. if(allowedInterfaces != null)
  6958. map['AllowedInterfaces'] = allowedInterfaces;
  6959. map['IsValid'] = isValid;
  6960. if(token != null)
  6961. map['Token'] = token;
  6962. return map;
  6963. }
  6964. }
  6965. class ModifyThirdPartyInfoRequest extends ThirdPartyInfoDTO{
  6966. ModifyThirdPartyInfoRequest({
  6967. String? token,
  6968. String? code,
  6969. String? name,
  6970. String? contactPersonName,
  6971. String? contactPhone,
  6972. List<String >? allowedInterfaces,
  6973. bool isValid = false,
  6974. DateTime? createTime,
  6975. DateTime? updateTime,
  6976. }) : super(
  6977. code: code,
  6978. name: name,
  6979. contactPersonName: contactPersonName,
  6980. contactPhone: contactPhone,
  6981. allowedInterfaces: allowedInterfaces,
  6982. isValid: isValid,
  6983. token: token,
  6984. createTime: createTime,
  6985. updateTime: updateTime,
  6986. );
  6987. factory ModifyThirdPartyInfoRequest.fromJson(Map<String, dynamic> map) {
  6988. return ModifyThirdPartyInfoRequest(
  6989. token: map['Token'],
  6990. code: map['Code'],
  6991. name: map['Name'],
  6992. contactPersonName: map['ContactPersonName'],
  6993. contactPhone: map['ContactPhone'],
  6994. allowedInterfaces: map['AllowedInterfaces'] != null ? map['AllowedInterfaces'].cast<String>().toList() : null,
  6995. isValid: map['IsValid'],
  6996. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  6997. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  6998. );
  6999. }
  7000. Map<String, dynamic> toJson() {
  7001. final map = super.toJson();
  7002. return map;
  7003. }
  7004. }
  7005. class UserFeatureInfoDTO extends BaseFeatureInfoDTO{
  7006. UserFeatureInfoDTO({
  7007. String? featureCode,
  7008. String? featureName,
  7009. String? fatherCode,
  7010. String? uniqueCode,
  7011. DateTime? createTime,
  7012. DateTime? updateTime,
  7013. }) : super(
  7014. featureCode: featureCode,
  7015. featureName: featureName,
  7016. fatherCode: fatherCode,
  7017. uniqueCode: uniqueCode,
  7018. createTime: createTime,
  7019. updateTime: updateTime,
  7020. );
  7021. factory UserFeatureInfoDTO.fromJson(Map<String, dynamic> map) {
  7022. return UserFeatureInfoDTO(
  7023. featureCode: map['FeatureCode'],
  7024. featureName: map['FeatureName'],
  7025. fatherCode: map['FatherCode'],
  7026. uniqueCode: map['UniqueCode'],
  7027. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  7028. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  7029. );
  7030. }
  7031. Map<String, dynamic> toJson() {
  7032. final map = super.toJson();
  7033. return map;
  7034. }
  7035. }
  7036. class ModifyUserFeatureRequest extends UserFeatureInfoDTO{
  7037. String? token;
  7038. ModifyUserFeatureRequest({
  7039. this.token,
  7040. String? featureCode,
  7041. String? featureName,
  7042. String? fatherCode,
  7043. String? uniqueCode,
  7044. DateTime? createTime,
  7045. DateTime? updateTime,
  7046. }) : super(
  7047. featureCode: featureCode,
  7048. featureName: featureName,
  7049. fatherCode: fatherCode,
  7050. uniqueCode: uniqueCode,
  7051. createTime: createTime,
  7052. updateTime: updateTime,
  7053. );
  7054. factory ModifyUserFeatureRequest.fromJson(Map<String, dynamic> map) {
  7055. return ModifyUserFeatureRequest(
  7056. token: map['Token'],
  7057. featureCode: map['FeatureCode'],
  7058. featureName: map['FeatureName'],
  7059. fatherCode: map['FatherCode'],
  7060. uniqueCode: map['UniqueCode'],
  7061. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  7062. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  7063. );
  7064. }
  7065. Map<String, dynamic> toJson() {
  7066. final map = super.toJson();
  7067. if(token != null)
  7068. map['Token'] = token;
  7069. return map;
  7070. }
  7071. }
  7072. enum ManagementUserInfoStateEnum {
  7073. Nonactivated,
  7074. Activated,
  7075. Locked,
  7076. }
  7077. class ManageUserInfoDTO extends UserDTO{
  7078. String? roleName;
  7079. String? departmentName;
  7080. String? hospitalName;
  7081. String? identityApplyCode;
  7082. List<String >? identityCard;
  7083. List<String >? licenseCard;
  7084. String? identityApplyRoleCode;
  7085. String? identityApplyRoleName;
  7086. ManagementUserInfoStateEnum managementUserState;
  7087. ManageUserInfoDTO({
  7088. this.roleName,
  7089. this.departmentName,
  7090. this.hospitalName,
  7091. this.identityApplyCode,
  7092. this.identityCard,
  7093. this.licenseCard,
  7094. this.identityApplyRoleCode,
  7095. this.identityApplyRoleName,
  7096. bool isBatchExportDiagnoseData = false,
  7097. List<String >? fieldList,
  7098. this.managementUserState = ManagementUserInfoStateEnum.Nonactivated,
  7099. String? nickName,
  7100. String? organizationCode,
  7101. String? organizationName,
  7102. String? rootOrganizationCode,
  7103. String? rootOrganizationName,
  7104. List<String >? authorityGroups,
  7105. List<String >? bindDevices,
  7106. String? lastIP,
  7107. int logintimes = 0,
  7108. UserInfoStateEnum userState = UserInfoStateEnum.Nonactivated,
  7109. List<String >? roleCodes,
  7110. List<String >? rankCodes,
  7111. List<String >? positionCodes,
  7112. ApplyStateEnum applyState = ApplyStateEnum.NotApply,
  7113. String? rankName,
  7114. String? positionName,
  7115. bool isDirector = false,
  7116. List<String >? deletePatientCodes,
  7117. String? bindAssistantUserCode,
  7118. String? bindAssistantDoctorUserCode,
  7119. LoginLockInfoDTO? loginLockInfo,
  7120. String? signature,
  7121. String? language,
  7122. bool enableReportLabel = false,
  7123. List<AssociatedInfoDTO >? associatedInfos,
  7124. String? commonPlatformUserId,
  7125. String? bindEmergencyDeviceCode,
  7126. String? bindEmergencyExpertCode,
  7127. List<String >? dashboardOrgCodes,
  7128. String? phone,
  7129. String? email,
  7130. String? userCode,
  7131. String? userName,
  7132. String? fullName,
  7133. String? headImageUrl,
  7134. String? displayName,
  7135. DateTime? createTime,
  7136. DateTime? updateTime,
  7137. }) : super(
  7138. nickName: nickName,
  7139. organizationCode: organizationCode,
  7140. organizationName: organizationName,
  7141. rootOrganizationCode: rootOrganizationCode,
  7142. rootOrganizationName: rootOrganizationName,
  7143. authorityGroups: authorityGroups,
  7144. bindDevices: bindDevices,
  7145. lastIP: lastIP,
  7146. logintimes: logintimes,
  7147. userState: userState,
  7148. roleCodes: roleCodes,
  7149. rankCodes: rankCodes,
  7150. positionCodes: positionCodes,
  7151. applyState: applyState,
  7152. rankName: rankName,
  7153. positionName: positionName,
  7154. isDirector: isDirector,
  7155. fieldList: fieldList,
  7156. deletePatientCodes: deletePatientCodes,
  7157. isBatchExportDiagnoseData: isBatchExportDiagnoseData,
  7158. bindAssistantUserCode: bindAssistantUserCode,
  7159. bindAssistantDoctorUserCode: bindAssistantDoctorUserCode,
  7160. loginLockInfo: loginLockInfo,
  7161. signature: signature,
  7162. language: language,
  7163. enableReportLabel: enableReportLabel,
  7164. associatedInfos: associatedInfos,
  7165. commonPlatformUserId: commonPlatformUserId,
  7166. bindEmergencyDeviceCode: bindEmergencyDeviceCode,
  7167. bindEmergencyExpertCode: bindEmergencyExpertCode,
  7168. dashboardOrgCodes: dashboardOrgCodes,
  7169. phone: phone,
  7170. email: email,
  7171. userCode: userCode,
  7172. userName: userName,
  7173. fullName: fullName,
  7174. headImageUrl: headImageUrl,
  7175. displayName: displayName,
  7176. createTime: createTime,
  7177. updateTime: updateTime,
  7178. );
  7179. factory ManageUserInfoDTO.fromJson(Map<String, dynamic> map) {
  7180. return ManageUserInfoDTO(
  7181. roleName: map['RoleName'],
  7182. departmentName: map['DepartmentName'],
  7183. hospitalName: map['HospitalName'],
  7184. identityApplyCode: map['IdentityApplyCode'],
  7185. identityCard: map['IdentityCard'] != null ? map['IdentityCard'].cast<String>().toList() : null,
  7186. licenseCard: map['LicenseCard'] != null ? map['LicenseCard'].cast<String>().toList() : null,
  7187. identityApplyRoleCode: map['IdentityApplyRoleCode'],
  7188. identityApplyRoleName: map['IdentityApplyRoleName'],
  7189. isBatchExportDiagnoseData: map['IsBatchExportDiagnoseData'],
  7190. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  7191. managementUserState: ManagementUserInfoStateEnum.values.firstWhere((e) => e.index == map['ManagementUserState']),
  7192. nickName: map['NickName'],
  7193. organizationCode: map['OrganizationCode'],
  7194. organizationName: map['OrganizationName'],
  7195. rootOrganizationCode: map['RootOrganizationCode'],
  7196. rootOrganizationName: map['RootOrganizationName'],
  7197. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  7198. bindDevices: map['BindDevices'] != null ? map['BindDevices'].cast<String>().toList() : null,
  7199. lastIP: map['LastIP'],
  7200. logintimes: map['Logintimes'],
  7201. userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']),
  7202. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  7203. rankCodes: map['RankCodes'] != null ? map['RankCodes'].cast<String>().toList() : null,
  7204. positionCodes: map['PositionCodes'] != null ? map['PositionCodes'].cast<String>().toList() : null,
  7205. applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']),
  7206. rankName: map['RankName'],
  7207. positionName: map['PositionName'],
  7208. isDirector: map['IsDirector'],
  7209. deletePatientCodes: map['DeletePatientCodes'] != null ? map['DeletePatientCodes'].cast<String>().toList() : null,
  7210. bindAssistantUserCode: map['BindAssistantUserCode'],
  7211. bindAssistantDoctorUserCode: map['BindAssistantDoctorUserCode'],
  7212. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  7213. signature: map['Signature'],
  7214. language: map['Language'],
  7215. enableReportLabel: map['EnableReportLabel'],
  7216. associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  7217. commonPlatformUserId: map['CommonPlatformUserId'],
  7218. bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
  7219. bindEmergencyExpertCode: map['BindEmergencyExpertCode'],
  7220. dashboardOrgCodes: map['DashboardOrgCodes'] != null ? map['DashboardOrgCodes'].cast<String>().toList() : null,
  7221. phone: map['Phone'],
  7222. email: map['Email'],
  7223. userCode: map['UserCode'],
  7224. userName: map['UserName'],
  7225. fullName: map['FullName'],
  7226. headImageUrl: map['HeadImageUrl'],
  7227. displayName: map['DisplayName'],
  7228. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  7229. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  7230. );
  7231. }
  7232. Map<String, dynamic> toJson() {
  7233. final map = super.toJson();
  7234. if(roleName != null)
  7235. map['RoleName'] = roleName;
  7236. if(departmentName != null)
  7237. map['DepartmentName'] = departmentName;
  7238. if(hospitalName != null)
  7239. map['HospitalName'] = hospitalName;
  7240. if(identityApplyCode != null)
  7241. map['IdentityApplyCode'] = identityApplyCode;
  7242. if(identityCard != null)
  7243. map['IdentityCard'] = identityCard;
  7244. if(licenseCard != null)
  7245. map['LicenseCard'] = licenseCard;
  7246. if(identityApplyRoleCode != null)
  7247. map['IdentityApplyRoleCode'] = identityApplyRoleCode;
  7248. if(identityApplyRoleName != null)
  7249. map['IdentityApplyRoleName'] = identityApplyRoleName;
  7250. map['ManagementUserState'] = managementUserState.index;
  7251. return map;
  7252. }
  7253. }
  7254. class ModifyUserRequest extends ManageUserInfoDTO{
  7255. String? token;
  7256. ModifyUserRequest({
  7257. this.token,
  7258. String? roleName,
  7259. String? departmentName,
  7260. String? hospitalName,
  7261. String? identityApplyCode,
  7262. List<String >? identityCard,
  7263. List<String >? licenseCard,
  7264. String? identityApplyRoleCode,
  7265. String? identityApplyRoleName,
  7266. bool isBatchExportDiagnoseData = false,
  7267. List<String >? fieldList,
  7268. ManagementUserInfoStateEnum managementUserState = ManagementUserInfoStateEnum.Nonactivated,
  7269. String? nickName,
  7270. String? organizationCode,
  7271. String? organizationName,
  7272. String? rootOrganizationCode,
  7273. String? rootOrganizationName,
  7274. List<String >? authorityGroups,
  7275. List<String >? bindDevices,
  7276. String? lastIP,
  7277. int logintimes = 0,
  7278. UserInfoStateEnum userState = UserInfoStateEnum.Nonactivated,
  7279. List<String >? roleCodes,
  7280. List<String >? rankCodes,
  7281. List<String >? positionCodes,
  7282. ApplyStateEnum applyState = ApplyStateEnum.NotApply,
  7283. String? rankName,
  7284. String? positionName,
  7285. bool isDirector = false,
  7286. List<String >? deletePatientCodes,
  7287. String? bindAssistantUserCode,
  7288. String? bindAssistantDoctorUserCode,
  7289. LoginLockInfoDTO? loginLockInfo,
  7290. String? signature,
  7291. String? language,
  7292. bool enableReportLabel = false,
  7293. List<AssociatedInfoDTO >? associatedInfos,
  7294. String? commonPlatformUserId,
  7295. String? bindEmergencyDeviceCode,
  7296. String? bindEmergencyExpertCode,
  7297. List<String >? dashboardOrgCodes,
  7298. String? phone,
  7299. String? email,
  7300. String? userCode,
  7301. String? userName,
  7302. String? fullName,
  7303. String? headImageUrl,
  7304. String? displayName,
  7305. DateTime? createTime,
  7306. DateTime? updateTime,
  7307. }) : super(
  7308. roleName: roleName,
  7309. departmentName: departmentName,
  7310. hospitalName: hospitalName,
  7311. identityApplyCode: identityApplyCode,
  7312. identityCard: identityCard,
  7313. licenseCard: licenseCard,
  7314. identityApplyRoleCode: identityApplyRoleCode,
  7315. identityApplyRoleName: identityApplyRoleName,
  7316. isBatchExportDiagnoseData: isBatchExportDiagnoseData,
  7317. fieldList: fieldList,
  7318. managementUserState: managementUserState,
  7319. nickName: nickName,
  7320. organizationCode: organizationCode,
  7321. organizationName: organizationName,
  7322. rootOrganizationCode: rootOrganizationCode,
  7323. rootOrganizationName: rootOrganizationName,
  7324. authorityGroups: authorityGroups,
  7325. bindDevices: bindDevices,
  7326. lastIP: lastIP,
  7327. logintimes: logintimes,
  7328. userState: userState,
  7329. roleCodes: roleCodes,
  7330. rankCodes: rankCodes,
  7331. positionCodes: positionCodes,
  7332. applyState: applyState,
  7333. rankName: rankName,
  7334. positionName: positionName,
  7335. isDirector: isDirector,
  7336. deletePatientCodes: deletePatientCodes,
  7337. bindAssistantUserCode: bindAssistantUserCode,
  7338. bindAssistantDoctorUserCode: bindAssistantDoctorUserCode,
  7339. loginLockInfo: loginLockInfo,
  7340. signature: signature,
  7341. language: language,
  7342. enableReportLabel: enableReportLabel,
  7343. associatedInfos: associatedInfos,
  7344. commonPlatformUserId: commonPlatformUserId,
  7345. bindEmergencyDeviceCode: bindEmergencyDeviceCode,
  7346. bindEmergencyExpertCode: bindEmergencyExpertCode,
  7347. dashboardOrgCodes: dashboardOrgCodes,
  7348. phone: phone,
  7349. email: email,
  7350. userCode: userCode,
  7351. userName: userName,
  7352. fullName: fullName,
  7353. headImageUrl: headImageUrl,
  7354. displayName: displayName,
  7355. createTime: createTime,
  7356. updateTime: updateTime,
  7357. );
  7358. factory ModifyUserRequest.fromJson(Map<String, dynamic> map) {
  7359. return ModifyUserRequest(
  7360. token: map['Token'],
  7361. roleName: map['RoleName'],
  7362. departmentName: map['DepartmentName'],
  7363. hospitalName: map['HospitalName'],
  7364. identityApplyCode: map['IdentityApplyCode'],
  7365. identityCard: map['IdentityCard'] != null ? map['IdentityCard'].cast<String>().toList() : null,
  7366. licenseCard: map['LicenseCard'] != null ? map['LicenseCard'].cast<String>().toList() : null,
  7367. identityApplyRoleCode: map['IdentityApplyRoleCode'],
  7368. identityApplyRoleName: map['IdentityApplyRoleName'],
  7369. isBatchExportDiagnoseData: map['IsBatchExportDiagnoseData'],
  7370. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  7371. managementUserState: ManagementUserInfoStateEnum.values.firstWhere((e) => e.index == map['ManagementUserState']),
  7372. nickName: map['NickName'],
  7373. organizationCode: map['OrganizationCode'],
  7374. organizationName: map['OrganizationName'],
  7375. rootOrganizationCode: map['RootOrganizationCode'],
  7376. rootOrganizationName: map['RootOrganizationName'],
  7377. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  7378. bindDevices: map['BindDevices'] != null ? map['BindDevices'].cast<String>().toList() : null,
  7379. lastIP: map['LastIP'],
  7380. logintimes: map['Logintimes'],
  7381. userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']),
  7382. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  7383. rankCodes: map['RankCodes'] != null ? map['RankCodes'].cast<String>().toList() : null,
  7384. positionCodes: map['PositionCodes'] != null ? map['PositionCodes'].cast<String>().toList() : null,
  7385. applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']),
  7386. rankName: map['RankName'],
  7387. positionName: map['PositionName'],
  7388. isDirector: map['IsDirector'],
  7389. deletePatientCodes: map['DeletePatientCodes'] != null ? map['DeletePatientCodes'].cast<String>().toList() : null,
  7390. bindAssistantUserCode: map['BindAssistantUserCode'],
  7391. bindAssistantDoctorUserCode: map['BindAssistantDoctorUserCode'],
  7392. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  7393. signature: map['Signature'],
  7394. language: map['Language'],
  7395. enableReportLabel: map['EnableReportLabel'],
  7396. associatedInfos: map['AssociatedInfos'] != null ? (map['AssociatedInfos'] as List).map((e)=>AssociatedInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  7397. commonPlatformUserId: map['CommonPlatformUserId'],
  7398. bindEmergencyDeviceCode: map['BindEmergencyDeviceCode'],
  7399. bindEmergencyExpertCode: map['BindEmergencyExpertCode'],
  7400. dashboardOrgCodes: map['DashboardOrgCodes'] != null ? map['DashboardOrgCodes'].cast<String>().toList() : null,
  7401. phone: map['Phone'],
  7402. email: map['Email'],
  7403. userCode: map['UserCode'],
  7404. userName: map['UserName'],
  7405. fullName: map['FullName'],
  7406. headImageUrl: map['HeadImageUrl'],
  7407. displayName: map['DisplayName'],
  7408. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  7409. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  7410. );
  7411. }
  7412. Map<String, dynamic> toJson() {
  7413. final map = super.toJson();
  7414. if(token != null)
  7415. map['Token'] = token;
  7416. return map;
  7417. }
  7418. }
  7419. class PublishReportTemplateRequest extends TokenRequest{
  7420. String? reportTemplateCode;
  7421. PublishReportTemplateRequest({
  7422. this.reportTemplateCode,
  7423. String? token,
  7424. }) : super(
  7425. token: token,
  7426. );
  7427. factory PublishReportTemplateRequest.fromJson(Map<String, dynamic> map) {
  7428. return PublishReportTemplateRequest(
  7429. reportTemplateCode: map['ReportTemplateCode'],
  7430. token: map['Token'],
  7431. );
  7432. }
  7433. Map<String, dynamic> toJson() {
  7434. final map = super.toJson();
  7435. if(reportTemplateCode != null)
  7436. map['ReportTemplateCode'] = reportTemplateCode;
  7437. return map;
  7438. }
  7439. }
  7440. class PublishThesaurusRequest extends TokenRequest{
  7441. String? thesaurusCode;
  7442. PublishThesaurusRequest({
  7443. this.thesaurusCode,
  7444. String? token,
  7445. }) : super(
  7446. token: token,
  7447. );
  7448. factory PublishThesaurusRequest.fromJson(Map<String, dynamic> map) {
  7449. return PublishThesaurusRequest(
  7450. thesaurusCode: map['ThesaurusCode'],
  7451. token: map['Token'],
  7452. );
  7453. }
  7454. Map<String, dynamic> toJson() {
  7455. final map = super.toJson();
  7456. if(thesaurusCode != null)
  7457. map['ThesaurusCode'] = thesaurusCode;
  7458. return map;
  7459. }
  7460. }
  7461. class QueryAnnouncementPageRequest extends PageRequest{
  7462. AnnouncementTypeEnum announcementType;
  7463. AnnouncementStatusEnum announcementStatus;
  7464. String? keyword;
  7465. DateTime? startTime;
  7466. DateTime? endTime;
  7467. QueryAnnouncementPageRequest({
  7468. this.announcementType = AnnouncementTypeEnum.Broadcast,
  7469. this.announcementStatus = AnnouncementStatusEnum.Released,
  7470. this.keyword,
  7471. this.startTime,
  7472. this.endTime,
  7473. int pageIndex = 0,
  7474. int pageSize = 0,
  7475. String? token,
  7476. }) : super(
  7477. pageIndex: pageIndex,
  7478. pageSize: pageSize,
  7479. token: token,
  7480. );
  7481. factory QueryAnnouncementPageRequest.fromJson(Map<String, dynamic> map) {
  7482. return QueryAnnouncementPageRequest(
  7483. announcementType: AnnouncementTypeEnum.values.firstWhere((e) => e.index == map['AnnouncementType']),
  7484. announcementStatus: AnnouncementStatusEnum.values.firstWhere((e) => e.index == map['AnnouncementStatus']),
  7485. keyword: map['Keyword'],
  7486. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  7487. endTime: map['EndTime'] != null ? DateTime.parse(map['EndTime']) : null,
  7488. pageIndex: map['PageIndex'],
  7489. pageSize: map['PageSize'],
  7490. token: map['Token'],
  7491. );
  7492. }
  7493. Map<String, dynamic> toJson() {
  7494. final map = super.toJson();
  7495. map['AnnouncementType'] = announcementType.index;
  7496. map['AnnouncementStatus'] = announcementStatus.index;
  7497. if(keyword != null)
  7498. map['Keyword'] = keyword;
  7499. if(startTime != null)
  7500. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  7501. if(endTime != null)
  7502. map['EndTime'] = JsonRpcUtils.dateFormat(endTime!);
  7503. return map;
  7504. }
  7505. }
  7506. class QueryDeviceModelBindNumRequest extends TokenRequest{
  7507. String? deviceModelCode;
  7508. QueryDeviceModelBindNumRequest({
  7509. this.deviceModelCode,
  7510. String? token,
  7511. }) : super(
  7512. token: token,
  7513. );
  7514. factory QueryDeviceModelBindNumRequest.fromJson(Map<String, dynamic> map) {
  7515. return QueryDeviceModelBindNumRequest(
  7516. deviceModelCode: map['DeviceModelCode'],
  7517. token: map['Token'],
  7518. );
  7519. }
  7520. Map<String, dynamic> toJson() {
  7521. final map = super.toJson();
  7522. if(deviceModelCode != null)
  7523. map['DeviceModelCode'] = deviceModelCode;
  7524. return map;
  7525. }
  7526. }
  7527. class QueryRoleAdminNumRequest extends TokenRequest{
  7528. String? adminRoleCode;
  7529. QueryRoleAdminNumRequest({
  7530. this.adminRoleCode,
  7531. String? token,
  7532. }) : super(
  7533. token: token,
  7534. );
  7535. factory QueryRoleAdminNumRequest.fromJson(Map<String, dynamic> map) {
  7536. return QueryRoleAdminNumRequest(
  7537. adminRoleCode: map['AdminRoleCode'],
  7538. token: map['Token'],
  7539. );
  7540. }
  7541. Map<String, dynamic> toJson() {
  7542. final map = super.toJson();
  7543. if(adminRoleCode != null)
  7544. map['AdminRoleCode'] = adminRoleCode;
  7545. return map;
  7546. }
  7547. }
  7548. class QueryRoleUserNumRequest extends TokenRequest{
  7549. String? roleCode;
  7550. QueryRoleUserNumRequest({
  7551. this.roleCode,
  7552. String? token,
  7553. }) : super(
  7554. token: token,
  7555. );
  7556. factory QueryRoleUserNumRequest.fromJson(Map<String, dynamic> map) {
  7557. return QueryRoleUserNumRequest(
  7558. roleCode: map['RoleCode'],
  7559. token: map['Token'],
  7560. );
  7561. }
  7562. Map<String, dynamic> toJson() {
  7563. final map = super.toJson();
  7564. if(roleCode != null)
  7565. map['RoleCode'] = roleCode;
  7566. return map;
  7567. }
  7568. }
  7569. class QuerySystemConfigRequest extends TokenRequest{
  7570. String? code;
  7571. String? configKey;
  7572. QuerySystemConfigRequest({
  7573. this.code,
  7574. this.configKey,
  7575. String? token,
  7576. }) : super(
  7577. token: token,
  7578. );
  7579. factory QuerySystemConfigRequest.fromJson(Map<String, dynamic> map) {
  7580. return QuerySystemConfigRequest(
  7581. code: map['Code'],
  7582. configKey: map['ConfigKey'],
  7583. token: map['Token'],
  7584. );
  7585. }
  7586. Map<String, dynamic> toJson() {
  7587. final map = super.toJson();
  7588. if(code != null)
  7589. map['Code'] = code;
  7590. if(configKey != null)
  7591. map['ConfigKey'] = configKey;
  7592. return map;
  7593. }
  7594. }
  7595. class RejectIdentityApplyRequest extends TokenRequest{
  7596. String? identityApplyCode;
  7597. String? rejectReason;
  7598. RejectIdentityApplyRequest({
  7599. this.identityApplyCode,
  7600. this.rejectReason,
  7601. String? token,
  7602. }) : super(
  7603. token: token,
  7604. );
  7605. factory RejectIdentityApplyRequest.fromJson(Map<String, dynamic> map) {
  7606. return RejectIdentityApplyRequest(
  7607. identityApplyCode: map['IdentityApplyCode'],
  7608. rejectReason: map['RejectReason'],
  7609. token: map['Token'],
  7610. );
  7611. }
  7612. Map<String, dynamic> toJson() {
  7613. final map = super.toJson();
  7614. if(identityApplyCode != null)
  7615. map['IdentityApplyCode'] = identityApplyCode;
  7616. if(rejectReason != null)
  7617. map['RejectReason'] = rejectReason;
  7618. return map;
  7619. }
  7620. }
  7621. class RemoveAdminRequest extends TokenRequest{
  7622. String? adminCode;
  7623. RemoveAdminRequest({
  7624. this.adminCode,
  7625. String? token,
  7626. }) : super(
  7627. token: token,
  7628. );
  7629. factory RemoveAdminRequest.fromJson(Map<String, dynamic> map) {
  7630. return RemoveAdminRequest(
  7631. adminCode: map['AdminCode'],
  7632. token: map['Token'],
  7633. );
  7634. }
  7635. Map<String, dynamic> toJson() {
  7636. final map = super.toJson();
  7637. if(adminCode != null)
  7638. map['AdminCode'] = adminCode;
  7639. return map;
  7640. }
  7641. }
  7642. class RemoveOrganizationRequest extends TokenRequest{
  7643. String? organizationCode;
  7644. RemoveOrganizationRequest({
  7645. this.organizationCode,
  7646. String? token,
  7647. }) : super(
  7648. token: token,
  7649. );
  7650. factory RemoveOrganizationRequest.fromJson(Map<String, dynamic> map) {
  7651. return RemoveOrganizationRequest(
  7652. organizationCode: map['OrganizationCode'],
  7653. token: map['Token'],
  7654. );
  7655. }
  7656. Map<String, dynamic> toJson() {
  7657. final map = super.toJson();
  7658. if(organizationCode != null)
  7659. map['OrganizationCode'] = organizationCode;
  7660. return map;
  7661. }
  7662. }
  7663. class RemoveReportLabelRequest extends TokenRequest{
  7664. String? reportLabelCode;
  7665. RemoveReportLabelRequest({
  7666. this.reportLabelCode,
  7667. String? token,
  7668. }) : super(
  7669. token: token,
  7670. );
  7671. factory RemoveReportLabelRequest.fromJson(Map<String, dynamic> map) {
  7672. return RemoveReportLabelRequest(
  7673. reportLabelCode: map['ReportLabelCode'],
  7674. token: map['Token'],
  7675. );
  7676. }
  7677. Map<String, dynamic> toJson() {
  7678. final map = super.toJson();
  7679. if(reportLabelCode != null)
  7680. map['ReportLabelCode'] = reportLabelCode;
  7681. return map;
  7682. }
  7683. }
  7684. class RemoveReportPosterRequest extends TokenRequest{
  7685. String? reportPosterCode;
  7686. RemoveReportPosterRequest({
  7687. this.reportPosterCode,
  7688. String? token,
  7689. }) : super(
  7690. token: token,
  7691. );
  7692. factory RemoveReportPosterRequest.fromJson(Map<String, dynamic> map) {
  7693. return RemoveReportPosterRequest(
  7694. reportPosterCode: map['ReportPosterCode'],
  7695. token: map['Token'],
  7696. );
  7697. }
  7698. Map<String, dynamic> toJson() {
  7699. final map = super.toJson();
  7700. if(reportPosterCode != null)
  7701. map['ReportPosterCode'] = reportPosterCode;
  7702. return map;
  7703. }
  7704. }
  7705. class RemoveUserRequest extends TokenRequest{
  7706. String? userCode;
  7707. RemoveUserRequest({
  7708. this.userCode,
  7709. String? token,
  7710. }) : super(
  7711. token: token,
  7712. );
  7713. factory RemoveUserRequest.fromJson(Map<String, dynamic> map) {
  7714. return RemoveUserRequest(
  7715. userCode: map['UserCode'],
  7716. token: map['Token'],
  7717. );
  7718. }
  7719. Map<String, dynamic> toJson() {
  7720. final map = super.toJson();
  7721. if(userCode != null)
  7722. map['UserCode'] = userCode;
  7723. return map;
  7724. }
  7725. }
  7726. class UnlockAccountRequest extends TokenRequest{
  7727. String? userCode;
  7728. UnlockAccountRequest({
  7729. this.userCode,
  7730. String? token,
  7731. }) : super(
  7732. token: token,
  7733. );
  7734. factory UnlockAccountRequest.fromJson(Map<String, dynamic> map) {
  7735. return UnlockAccountRequest(
  7736. userCode: map['UserCode'],
  7737. token: map['Token'],
  7738. );
  7739. }
  7740. Map<String, dynamic> toJson() {
  7741. final map = super.toJson();
  7742. if(userCode != null)
  7743. map['UserCode'] = userCode;
  7744. return map;
  7745. }
  7746. }
  7747. class ResetUserPasswordRequest extends TokenRequest{
  7748. String? userCode;
  7749. String? passWord;
  7750. ResetUserPasswordRequest({
  7751. this.userCode,
  7752. this.passWord,
  7753. String? token,
  7754. }) : super(
  7755. token: token,
  7756. );
  7757. factory ResetUserPasswordRequest.fromJson(Map<String, dynamic> map) {
  7758. return ResetUserPasswordRequest(
  7759. userCode: map['UserCode'],
  7760. passWord: map['PassWord'],
  7761. token: map['Token'],
  7762. );
  7763. }
  7764. Map<String, dynamic> toJson() {
  7765. final map = super.toJson();
  7766. if(userCode != null)
  7767. map['UserCode'] = userCode;
  7768. if(passWord != null)
  7769. map['PassWord'] = passWord;
  7770. return map;
  7771. }
  7772. }
  7773. class RetryPushReportRecordsRequest extends TokenRequest{
  7774. List<String >? codes;
  7775. RetryPushReportRecordsRequest({
  7776. this.codes,
  7777. String? token,
  7778. }) : super(
  7779. token: token,
  7780. );
  7781. factory RetryPushReportRecordsRequest.fromJson(Map<String, dynamic> map) {
  7782. return RetryPushReportRecordsRequest(
  7783. codes: map['Codes'] != null ? map['Codes'].cast<String>().toList() : null,
  7784. token: map['Token'],
  7785. );
  7786. }
  7787. Map<String, dynamic> toJson() {
  7788. final map = super.toJson();
  7789. if(codes != null)
  7790. map['Codes'] = codes;
  7791. return map;
  7792. }
  7793. }
  7794. class SaveCMSTemplateDetailRequest extends TokenRequest{
  7795. String? cMSTemplateCode;
  7796. String? cMSTemplateName;
  7797. CMSTemplateStatusTypeEnum cMSTemplateStateType;
  7798. String? cMSTemplateJson;
  7799. bool isDefault;
  7800. String? cMSBgColor;
  7801. String? cMSBgImg;
  7802. bool isShowTop;
  7803. String? cMSBorderColor;
  7804. int cMSBorderShadow;
  7805. SaveCMSTemplateDetailRequest({
  7806. this.cMSTemplateCode,
  7807. this.cMSTemplateName,
  7808. this.cMSTemplateStateType = CMSTemplateStatusTypeEnum.UnPublished,
  7809. this.cMSTemplateJson,
  7810. this.isDefault = false,
  7811. this.cMSBgColor,
  7812. this.cMSBgImg,
  7813. this.isShowTop = false,
  7814. this.cMSBorderColor,
  7815. this.cMSBorderShadow = 0,
  7816. String? token,
  7817. }) : super(
  7818. token: token,
  7819. );
  7820. factory SaveCMSTemplateDetailRequest.fromJson(Map<String, dynamic> map) {
  7821. return SaveCMSTemplateDetailRequest(
  7822. cMSTemplateCode: map['CMSTemplateCode'],
  7823. cMSTemplateName: map['CMSTemplateName'],
  7824. cMSTemplateStateType: CMSTemplateStatusTypeEnum.values.firstWhere((e) => e.index == map['CMSTemplateStateType']),
  7825. cMSTemplateJson: map['CMSTemplateJson'],
  7826. isDefault: map['IsDefault'],
  7827. cMSBgColor: map['CMSBgColor'],
  7828. cMSBgImg: map['CMSBgImg'],
  7829. isShowTop: map['IsShowTop'],
  7830. cMSBorderColor: map['CMSBorderColor'],
  7831. cMSBorderShadow: map['CMSBorderShadow'],
  7832. token: map['Token'],
  7833. );
  7834. }
  7835. Map<String, dynamic> toJson() {
  7836. final map = super.toJson();
  7837. if(cMSTemplateCode != null)
  7838. map['CMSTemplateCode'] = cMSTemplateCode;
  7839. if(cMSTemplateName != null)
  7840. map['CMSTemplateName'] = cMSTemplateName;
  7841. map['CMSTemplateStateType'] = cMSTemplateStateType.index;
  7842. if(cMSTemplateJson != null)
  7843. map['CMSTemplateJson'] = cMSTemplateJson;
  7844. map['IsDefault'] = isDefault;
  7845. if(cMSBgColor != null)
  7846. map['CMSBgColor'] = cMSBgColor;
  7847. if(cMSBgImg != null)
  7848. map['CMSBgImg'] = cMSBgImg;
  7849. map['IsShowTop'] = isShowTop;
  7850. if(cMSBorderColor != null)
  7851. map['CMSBorderColor'] = cMSBorderColor;
  7852. map['CMSBorderShadow'] = cMSBorderShadow;
  7853. return map;
  7854. }
  7855. }
  7856. class SaveReportLabelRequest extends TokenRequest{
  7857. String? reportLabelCode;
  7858. String? labelName;
  7859. String? languageCode;
  7860. ReportLabelUsageTypeEnum usageType;
  7861. List<String >? labelItems;
  7862. SaveReportLabelRequest({
  7863. this.reportLabelCode,
  7864. this.labelName,
  7865. this.languageCode,
  7866. this.usageType = ReportLabelUsageTypeEnum.People,
  7867. this.labelItems,
  7868. String? token,
  7869. }) : super(
  7870. token: token,
  7871. );
  7872. factory SaveReportLabelRequest.fromJson(Map<String, dynamic> map) {
  7873. return SaveReportLabelRequest(
  7874. reportLabelCode: map['ReportLabelCode'],
  7875. labelName: map['LabelName'],
  7876. languageCode: map['LanguageCode'],
  7877. usageType: ReportLabelUsageTypeEnum.values.firstWhere((e) => e.index == map['UsageType']),
  7878. labelItems: map['LabelItems'] != null ? map['LabelItems'].cast<String>().toList() : null,
  7879. token: map['Token'],
  7880. );
  7881. }
  7882. Map<String, dynamic> toJson() {
  7883. final map = super.toJson();
  7884. if(reportLabelCode != null)
  7885. map['ReportLabelCode'] = reportLabelCode;
  7886. if(labelName != null)
  7887. map['LabelName'] = labelName;
  7888. if(languageCode != null)
  7889. map['LanguageCode'] = languageCode;
  7890. map['UsageType'] = usageType.index;
  7891. if(labelItems != null)
  7892. map['LabelItems'] = labelItems;
  7893. return map;
  7894. }
  7895. }
  7896. class SaveReportPosterRequest extends TokenRequest{
  7897. String? reportPosterCode;
  7898. String? receiverName;
  7899. String? contact;
  7900. String? phone;
  7901. String? targetUrl;
  7902. String? template;
  7903. ReportPosterTypeEnum posterType;
  7904. ReportFormatEnum reportFormat;
  7905. int postTimeout;
  7906. SaveReportPosterRequest({
  7907. this.reportPosterCode,
  7908. this.receiverName,
  7909. this.contact,
  7910. this.phone,
  7911. this.targetUrl,
  7912. this.template,
  7913. this.posterType = ReportPosterTypeEnum.Default,
  7914. this.reportFormat = ReportFormatEnum.Json,
  7915. this.postTimeout = 0,
  7916. String? token,
  7917. }) : super(
  7918. token: token,
  7919. );
  7920. factory SaveReportPosterRequest.fromJson(Map<String, dynamic> map) {
  7921. return SaveReportPosterRequest(
  7922. reportPosterCode: map['ReportPosterCode'],
  7923. receiverName: map['ReceiverName'],
  7924. contact: map['Contact'],
  7925. phone: map['Phone'],
  7926. targetUrl: map['TargetUrl'],
  7927. template: map['Template'],
  7928. posterType: ReportPosterTypeEnum.values.firstWhere((e) => e.index == map['PosterType']),
  7929. reportFormat: ReportFormatEnum.values.firstWhere((e) => e.index == map['ReportFormat']),
  7930. postTimeout: map['PostTimeout'],
  7931. token: map['Token'],
  7932. );
  7933. }
  7934. Map<String, dynamic> toJson() {
  7935. final map = super.toJson();
  7936. if(reportPosterCode != null)
  7937. map['ReportPosterCode'] = reportPosterCode;
  7938. if(receiverName != null)
  7939. map['ReceiverName'] = receiverName;
  7940. if(contact != null)
  7941. map['Contact'] = contact;
  7942. if(phone != null)
  7943. map['Phone'] = phone;
  7944. if(targetUrl != null)
  7945. map['TargetUrl'] = targetUrl;
  7946. if(template != null)
  7947. map['Template'] = template;
  7948. map['PosterType'] = posterType.index;
  7949. map['ReportFormat'] = reportFormat.index;
  7950. map['PostTimeout'] = postTimeout;
  7951. return map;
  7952. }
  7953. }
  7954. class SaveThesaurusRequest extends ThesaurusDTO{
  7955. String? token;
  7956. SaveThesaurusRequest({
  7957. this.token,
  7958. String? thesaurusCode,
  7959. String? thesaurusName,
  7960. ThesaurusStatusTypeEnum thesaurusStateType = ThesaurusStatusTypeEnum.Unpublished,
  7961. ThesaurusTypeEnum thesaurusType = ThesaurusTypeEnum.Default,
  7962. ThesaurusUsageTypeEnum thesaurusUsageType = ThesaurusUsageTypeEnum.People,
  7963. String? organizationCode,
  7964. String? personalCode,
  7965. String? referenceThesaurusCode,
  7966. bool isDefault = false,
  7967. bool isUserDefault = false,
  7968. }) : super(
  7969. thesaurusCode: thesaurusCode,
  7970. thesaurusName: thesaurusName,
  7971. thesaurusStateType: thesaurusStateType,
  7972. thesaurusType: thesaurusType,
  7973. thesaurusUsageType: thesaurusUsageType,
  7974. organizationCode: organizationCode,
  7975. personalCode: personalCode,
  7976. referenceThesaurusCode: referenceThesaurusCode,
  7977. isDefault: isDefault,
  7978. isUserDefault: isUserDefault,
  7979. );
  7980. factory SaveThesaurusRequest.fromJson(Map<String, dynamic> map) {
  7981. return SaveThesaurusRequest(
  7982. token: map['Token'],
  7983. thesaurusCode: map['ThesaurusCode'],
  7984. thesaurusName: map['ThesaurusName'],
  7985. thesaurusStateType: ThesaurusStatusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusStateType']),
  7986. thesaurusType: ThesaurusTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusType']),
  7987. thesaurusUsageType: ThesaurusUsageTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusUsageType']),
  7988. organizationCode: map['OrganizationCode'],
  7989. personalCode: map['PersonalCode'],
  7990. referenceThesaurusCode: map['ReferenceThesaurusCode'],
  7991. isDefault: map['IsDefault'],
  7992. isUserDefault: map['IsUserDefault'],
  7993. );
  7994. }
  7995. Map<String, dynamic> toJson() {
  7996. final map = super.toJson();
  7997. if(token != null)
  7998. map['Token'] = token;
  7999. return map;
  8000. }
  8001. }
  8002. class SettingReloadRequest extends TokenRequest{
  8003. String? settingKey;
  8004. SettingReloadRequest({
  8005. this.settingKey,
  8006. String? token,
  8007. }) : super(
  8008. token: token,
  8009. );
  8010. factory SettingReloadRequest.fromJson(Map<String, dynamic> map) {
  8011. return SettingReloadRequest(
  8012. settingKey: map['SettingKey'],
  8013. token: map['Token'],
  8014. );
  8015. }
  8016. Map<String, dynamic> toJson() {
  8017. final map = super.toJson();
  8018. if(settingKey != null)
  8019. map['SettingKey'] = settingKey;
  8020. return map;
  8021. }
  8022. }
  8023. class ShareDeviceRequest extends TokenRequest{
  8024. List<String >? userCodeList;
  8025. List<String >? deviceCodes;
  8026. ShareDeviceRequest({
  8027. this.userCodeList,
  8028. this.deviceCodes,
  8029. String? token,
  8030. }) : super(
  8031. token: token,
  8032. );
  8033. factory ShareDeviceRequest.fromJson(Map<String, dynamic> map) {
  8034. return ShareDeviceRequest(
  8035. userCodeList: map['UserCodeList'] != null ? map['UserCodeList'].cast<String>().toList() : null,
  8036. deviceCodes: map['DeviceCodes'] != null ? map['DeviceCodes'].cast<String>().toList() : null,
  8037. token: map['Token'],
  8038. );
  8039. }
  8040. Map<String, dynamic> toJson() {
  8041. final map = super.toJson();
  8042. if(userCodeList != null)
  8043. map['UserCodeList'] = userCodeList;
  8044. if(deviceCodes != null)
  8045. map['DeviceCodes'] = deviceCodes;
  8046. return map;
  8047. }
  8048. }
  8049. class ThesaurusItemRequest extends TokenRequest{
  8050. String? thesaurusItemCode;
  8051. ThesaurusItemTypeEnum thesaurusItemType;
  8052. String? thesaurusItemName;
  8053. String? parentItemCode;
  8054. String? thesaurusCode;
  8055. String? thesaurusItemDescription;
  8056. String? thesaurusItemConclusion;
  8057. ThesaurusItemRequest({
  8058. this.thesaurusItemCode,
  8059. this.thesaurusItemType = ThesaurusItemTypeEnum.Classification,
  8060. this.thesaurusItemName,
  8061. this.parentItemCode,
  8062. this.thesaurusCode,
  8063. this.thesaurusItemDescription,
  8064. this.thesaurusItemConclusion,
  8065. String? token,
  8066. }) : super(
  8067. token: token,
  8068. );
  8069. factory ThesaurusItemRequest.fromJson(Map<String, dynamic> map) {
  8070. return ThesaurusItemRequest(
  8071. thesaurusItemCode: map['ThesaurusItemCode'],
  8072. thesaurusItemType: ThesaurusItemTypeEnum.values.firstWhere((e) => e.index == map['ThesaurusItemType']),
  8073. thesaurusItemName: map['ThesaurusItemName'],
  8074. parentItemCode: map['ParentItemCode'],
  8075. thesaurusCode: map['ThesaurusCode'],
  8076. thesaurusItemDescription: map['ThesaurusItemDescription'],
  8077. thesaurusItemConclusion: map['ThesaurusItemConclusion'],
  8078. token: map['Token'],
  8079. );
  8080. }
  8081. Map<String, dynamic> toJson() {
  8082. final map = super.toJson();
  8083. if(thesaurusItemCode != null)
  8084. map['ThesaurusItemCode'] = thesaurusItemCode;
  8085. map['ThesaurusItemType'] = thesaurusItemType.index;
  8086. if(thesaurusItemName != null)
  8087. map['ThesaurusItemName'] = thesaurusItemName;
  8088. if(parentItemCode != null)
  8089. map['ParentItemCode'] = parentItemCode;
  8090. if(thesaurusCode != null)
  8091. map['ThesaurusCode'] = thesaurusCode;
  8092. if(thesaurusItemDescription != null)
  8093. map['ThesaurusItemDescription'] = thesaurusItemDescription;
  8094. if(thesaurusItemConclusion != null)
  8095. map['ThesaurusItemConclusion'] = thesaurusItemConclusion;
  8096. return map;
  8097. }
  8098. }
  8099. enum GradingConfigTypeEnum {
  8100. Switch,
  8101. Text,
  8102. }
  8103. class UpdateGradingProtectionConfigEnableRequest extends TokenRequest{
  8104. List<String >? codes;
  8105. GradingConfigTypeEnum configType;
  8106. String? value;
  8107. UpdateGradingProtectionConfigEnableRequest({
  8108. this.codes,
  8109. this.configType = GradingConfigTypeEnum.Switch,
  8110. this.value,
  8111. String? token,
  8112. }) : super(
  8113. token: token,
  8114. );
  8115. factory UpdateGradingProtectionConfigEnableRequest.fromJson(Map<String, dynamic> map) {
  8116. return UpdateGradingProtectionConfigEnableRequest(
  8117. codes: map['Codes'] != null ? map['Codes'].cast<String>().toList() : null,
  8118. configType: GradingConfigTypeEnum.values.firstWhere((e) => e.index == map['ConfigType']),
  8119. value: map['Value'],
  8120. token: map['Token'],
  8121. );
  8122. }
  8123. Map<String, dynamic> toJson() {
  8124. final map = super.toJson();
  8125. if(codes != null)
  8126. map['Codes'] = codes;
  8127. map['ConfigType'] = configType.index;
  8128. if(value != null)
  8129. map['Value'] = value;
  8130. return map;
  8131. }
  8132. }
  8133. class FindCourseAlbumPageRequest extends PageRequest{
  8134. String? keyword;
  8135. StudentCourseStatusEnum queryStatus;
  8136. List<String >? courseLabelCodes;
  8137. String? teacherCode;
  8138. String? teacherName;
  8139. CourseViewRangeEnum viewRange;
  8140. double price;
  8141. FindCourseAlbumPageRequest({
  8142. this.keyword,
  8143. this.queryStatus = StudentCourseStatusEnum.All,
  8144. this.courseLabelCodes,
  8145. this.teacherCode,
  8146. this.teacherName,
  8147. this.viewRange = CourseViewRangeEnum.All,
  8148. this.price = 0,
  8149. int pageIndex = 0,
  8150. int pageSize = 0,
  8151. String? token,
  8152. }) : super(
  8153. pageIndex: pageIndex,
  8154. pageSize: pageSize,
  8155. token: token,
  8156. );
  8157. factory FindCourseAlbumPageRequest.fromJson(Map<String, dynamic> map) {
  8158. return FindCourseAlbumPageRequest(
  8159. keyword: map['Keyword'],
  8160. queryStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['QueryStatus']),
  8161. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  8162. teacherCode: map['TeacherCode'],
  8163. teacherName: map['TeacherName'],
  8164. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  8165. price: double.parse(map['Price'].toString()),
  8166. pageIndex: map['PageIndex'],
  8167. pageSize: map['PageSize'],
  8168. token: map['Token'],
  8169. );
  8170. }
  8171. Map<String, dynamic> toJson() {
  8172. final map = super.toJson();
  8173. if(keyword != null)
  8174. map['Keyword'] = keyword;
  8175. map['QueryStatus'] = queryStatus.index;
  8176. if(courseLabelCodes != null)
  8177. map['CourseLabelCodes'] = courseLabelCodes;
  8178. if(teacherCode != null)
  8179. map['TeacherCode'] = teacherCode;
  8180. if(teacherName != null)
  8181. map['TeacherName'] = teacherName;
  8182. map['ViewRange'] = viewRange.index;
  8183. map['Price'] = price;
  8184. return map;
  8185. }
  8186. }
  8187. class CourseAlbumAddCourseCodesRequest extends TokenRequest{
  8188. List<String >? courseCodes;
  8189. CourseAlbumAddCourseCodesRequest({
  8190. this.courseCodes,
  8191. String? token,
  8192. }) : super(
  8193. token: token,
  8194. );
  8195. factory CourseAlbumAddCourseCodesRequest.fromJson(Map<String, dynamic> map) {
  8196. return CourseAlbumAddCourseCodesRequest(
  8197. courseCodes: map['CourseCodes'] != null ? map['CourseCodes'].cast<String>().toList() : null,
  8198. token: map['Token'],
  8199. );
  8200. }
  8201. Map<String, dynamic> toJson() {
  8202. final map = super.toJson();
  8203. if(courseCodes != null)
  8204. map['CourseCodes'] = courseCodes;
  8205. return map;
  8206. }
  8207. }
  8208. class CourseAlbumAddCourseLabelCodesRequest extends TokenRequest{
  8209. List<String >? courseLabelCodes;
  8210. CourseAlbumAddCourseLabelCodesRequest({
  8211. this.courseLabelCodes,
  8212. String? token,
  8213. }) : super(
  8214. token: token,
  8215. );
  8216. factory CourseAlbumAddCourseLabelCodesRequest.fromJson(Map<String, dynamic> map) {
  8217. return CourseAlbumAddCourseLabelCodesRequest(
  8218. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  8219. token: map['Token'],
  8220. );
  8221. }
  8222. Map<String, dynamic> toJson() {
  8223. final map = super.toJson();
  8224. if(courseLabelCodes != null)
  8225. map['CourseLabelCodes'] = courseLabelCodes;
  8226. return map;
  8227. }
  8228. }
  8229. class SignUpCourseAlbumRequest extends TokenRequest{
  8230. String? courseAlbumCode;
  8231. SignUpCourseAlbumRequest({
  8232. this.courseAlbumCode,
  8233. String? token,
  8234. }) : super(
  8235. token: token,
  8236. );
  8237. factory SignUpCourseAlbumRequest.fromJson(Map<String, dynamic> map) {
  8238. return SignUpCourseAlbumRequest(
  8239. courseAlbumCode: map['CourseAlbumCode'],
  8240. token: map['Token'],
  8241. );
  8242. }
  8243. Map<String, dynamic> toJson() {
  8244. final map = super.toJson();
  8245. if(courseAlbumCode != null)
  8246. map['CourseAlbumCode'] = courseAlbumCode;
  8247. return map;
  8248. }
  8249. }
  8250. class FindVideosByCourseCodeRequest extends TokenRequest{
  8251. String? code;
  8252. String? courseCode;
  8253. FindVideosByCourseCodeRequest({
  8254. this.code,
  8255. this.courseCode,
  8256. String? token,
  8257. }) : super(
  8258. token: token,
  8259. );
  8260. factory FindVideosByCourseCodeRequest.fromJson(Map<String, dynamic> map) {
  8261. return FindVideosByCourseCodeRequest(
  8262. code: map['Code'],
  8263. courseCode: map['CourseCode'],
  8264. token: map['Token'],
  8265. );
  8266. }
  8267. Map<String, dynamic> toJson() {
  8268. final map = super.toJson();
  8269. if(code != null)
  8270. map['Code'] = code;
  8271. if(courseCode != null)
  8272. map['CourseCode'] = courseCode;
  8273. return map;
  8274. }
  8275. }
  8276. class GetReportDetailRequest extends AppletAPIBaseRequest{
  8277. String? reportId;
  8278. GetReportDetailRequest({
  8279. this.reportId,
  8280. String? openId,
  8281. }) : super(
  8282. openId: openId,
  8283. );
  8284. factory GetReportDetailRequest.fromJson(Map<String, dynamic> map) {
  8285. return GetReportDetailRequest(
  8286. reportId: map['ReportId'],
  8287. openId: map['OpenId'],
  8288. );
  8289. }
  8290. Map<String, dynamic> toJson() {
  8291. final map = super.toJson();
  8292. if(reportId != null)
  8293. map['ReportId'] = reportId;
  8294. return map;
  8295. }
  8296. }
  8297. class GetOpLogsByCodesFormMasterRequest {
  8298. List<String >? codes;
  8299. GetOpLogsByCodesFormMasterRequest({
  8300. this.codes,
  8301. });
  8302. factory GetOpLogsByCodesFormMasterRequest.fromJson(Map<String, dynamic> map) {
  8303. return GetOpLogsByCodesFormMasterRequest(
  8304. codes: map['Codes'] != null ? map['Codes'].cast<String>().toList() : null,
  8305. );
  8306. }
  8307. Map<String, dynamic> toJson() {
  8308. final map = Map<String, dynamic>();
  8309. if(codes != null)
  8310. map['Codes'] = codes;
  8311. return map;
  8312. }
  8313. }
  8314. class GetOpLogsFormMasterRequest {
  8315. int cursor;
  8316. String? sourceUrl;
  8317. GetOpLogsFormMasterRequest({
  8318. this.cursor = 0,
  8319. this.sourceUrl,
  8320. });
  8321. factory GetOpLogsFormMasterRequest.fromJson(Map<String, dynamic> map) {
  8322. return GetOpLogsFormMasterRequest(
  8323. cursor: map['Cursor'],
  8324. sourceUrl: map['SourceUrl'],
  8325. );
  8326. }
  8327. Map<String, dynamic> toJson() {
  8328. final map = Map<String, dynamic>();
  8329. map['Cursor'] = cursor;
  8330. if(sourceUrl != null)
  8331. map['SourceUrl'] = sourceUrl;
  8332. return map;
  8333. }
  8334. }
  8335. enum MongoDBActionTypeEnum {
  8336. InsertOne,
  8337. InsertOneAsync,
  8338. InsertMany,
  8339. InsertManyAsync,
  8340. DeleteOne,
  8341. DeleteOneAsync,
  8342. DeleteMany,
  8343. DeleteManyAsync,
  8344. FindOneAndDelete,
  8345. FindOneAndDeleteAsync,
  8346. ReplaceOne,
  8347. ReplaceOneAsync,
  8348. FindOneAndReplace,
  8349. FindOneAndReplaceAsync,
  8350. UpdateOne,
  8351. UpdateOneAsync,
  8352. UpdateMany,
  8353. UpdateManyAsync,
  8354. FindOneAndUpdate,
  8355. FindOneAndUpdateAsync,
  8356. }
  8357. class OperationLogDTO {
  8358. int id;
  8359. String? collectionName;
  8360. MongoDBActionTypeEnum actionType;
  8361. String? bsonContent;
  8362. String? filterContent;
  8363. DateTime? createTime;
  8364. String? code;
  8365. String? sourceUrl;
  8366. bool isSimple;
  8367. OperationLogDTO({
  8368. this.id = 0,
  8369. this.collectionName,
  8370. this.actionType = MongoDBActionTypeEnum.InsertOne,
  8371. this.bsonContent,
  8372. this.filterContent,
  8373. this.createTime,
  8374. this.code,
  8375. this.sourceUrl,
  8376. this.isSimple = false,
  8377. });
  8378. factory OperationLogDTO.fromJson(Map<String, dynamic> map) {
  8379. return OperationLogDTO(
  8380. id: map['Id'],
  8381. collectionName: map['CollectionName'],
  8382. actionType: MongoDBActionTypeEnum.values.firstWhere((e) => e.index == map['ActionType']),
  8383. bsonContent: map['BsonContent'],
  8384. filterContent: map['FilterContent'],
  8385. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  8386. code: map['Code'],
  8387. sourceUrl: map['SourceUrl'],
  8388. isSimple: map['IsSimple'],
  8389. );
  8390. }
  8391. Map<String, dynamic> toJson() {
  8392. final map = Map<String, dynamic>();
  8393. map['Id'] = id;
  8394. if(collectionName != null)
  8395. map['CollectionName'] = collectionName;
  8396. map['ActionType'] = actionType.index;
  8397. if(bsonContent != null)
  8398. map['BsonContent'] = bsonContent;
  8399. if(filterContent != null)
  8400. map['FilterContent'] = filterContent;
  8401. if(createTime != null)
  8402. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  8403. if(code != null)
  8404. map['Code'] = code;
  8405. if(sourceUrl != null)
  8406. map['SourceUrl'] = sourceUrl;
  8407. map['IsSimple'] = isSimple;
  8408. return map;
  8409. }
  8410. }
  8411. class SyncCompleteOpLogsRequest {
  8412. List<OperationLogDTO >? oplogs;
  8413. SyncCompleteOpLogsRequest({
  8414. this.oplogs,
  8415. });
  8416. factory SyncCompleteOpLogsRequest.fromJson(Map<String, dynamic> map) {
  8417. return SyncCompleteOpLogsRequest(
  8418. oplogs: map['Oplogs'] != null ? (map['Oplogs'] as List).map((e)=>OperationLogDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  8419. );
  8420. }
  8421. Map<String, dynamic> toJson() {
  8422. final map = Map<String, dynamic>();
  8423. if(oplogs != null)
  8424. map['Oplogs'] = oplogs;
  8425. return map;
  8426. }
  8427. }
  8428. class SyncOpLogToMasterRequest {
  8429. String? collectionName;
  8430. MongoDBActionTypeEnum actionType;
  8431. String? bsonContent;
  8432. String? filterContent;
  8433. DateTime? createTime;
  8434. String? sourceUrl;
  8435. String? code;
  8436. String? serverID;
  8437. bool isSimple;
  8438. SyncOpLogToMasterRequest({
  8439. this.collectionName,
  8440. this.actionType = MongoDBActionTypeEnum.InsertOne,
  8441. this.bsonContent,
  8442. this.filterContent,
  8443. this.createTime,
  8444. this.sourceUrl,
  8445. this.code,
  8446. this.serverID,
  8447. this.isSimple = false,
  8448. });
  8449. factory SyncOpLogToMasterRequest.fromJson(Map<String, dynamic> map) {
  8450. return SyncOpLogToMasterRequest(
  8451. collectionName: map['CollectionName'],
  8452. actionType: MongoDBActionTypeEnum.values.firstWhere((e) => e.index == map['ActionType']),
  8453. bsonContent: map['BsonContent'],
  8454. filterContent: map['FilterContent'],
  8455. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  8456. sourceUrl: map['SourceUrl'],
  8457. code: map['Code'],
  8458. serverID: map['ServerID'],
  8459. isSimple: map['IsSimple'],
  8460. );
  8461. }
  8462. Map<String, dynamic> toJson() {
  8463. final map = Map<String, dynamic>();
  8464. if(collectionName != null)
  8465. map['CollectionName'] = collectionName;
  8466. map['ActionType'] = actionType.index;
  8467. if(bsonContent != null)
  8468. map['BsonContent'] = bsonContent;
  8469. if(filterContent != null)
  8470. map['FilterContent'] = filterContent;
  8471. if(createTime != null)
  8472. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  8473. if(sourceUrl != null)
  8474. map['SourceUrl'] = sourceUrl;
  8475. if(code != null)
  8476. map['Code'] = code;
  8477. if(serverID != null)
  8478. map['ServerID'] = serverID;
  8479. map['IsSimple'] = isSimple;
  8480. return map;
  8481. }
  8482. }
  8483. class NotificationClientInfo {
  8484. String? clientId;
  8485. String? loginServerUrl;
  8486. NotificationClientInfo({
  8487. this.clientId,
  8488. this.loginServerUrl,
  8489. });
  8490. factory NotificationClientInfo.fromJson(Map<String, dynamic> map) {
  8491. return NotificationClientInfo(
  8492. clientId: map['ClientId'],
  8493. loginServerUrl: map['LoginServerUrl'],
  8494. );
  8495. }
  8496. Map<String, dynamic> toJson() {
  8497. final map = Map<String, dynamic>();
  8498. if(clientId != null)
  8499. map['ClientId'] = clientId;
  8500. if(loginServerUrl != null)
  8501. map['LoginServerUrl'] = loginServerUrl;
  8502. return map;
  8503. }
  8504. }
  8505. class ChangeConsultationControllingStateRequest extends TokenRequest{
  8506. String? deviceCode;
  8507. String? userCode;
  8508. bool isControllingParameter;
  8509. ChangeConsultationControllingStateRequest({
  8510. this.deviceCode,
  8511. this.userCode,
  8512. this.isControllingParameter = false,
  8513. String? token,
  8514. }) : super(
  8515. token: token,
  8516. );
  8517. factory ChangeConsultationControllingStateRequest.fromJson(Map<String, dynamic> map) {
  8518. return ChangeConsultationControllingStateRequest(
  8519. deviceCode: map['DeviceCode'],
  8520. userCode: map['UserCode'],
  8521. isControllingParameter: map['IsControllingParameter'],
  8522. token: map['Token'],
  8523. );
  8524. }
  8525. Map<String, dynamic> toJson() {
  8526. final map = super.toJson();
  8527. if(deviceCode != null)
  8528. map['DeviceCode'] = deviceCode;
  8529. if(userCode != null)
  8530. map['UserCode'] = userCode;
  8531. map['IsControllingParameter'] = isControllingParameter;
  8532. return map;
  8533. }
  8534. }
  8535. enum ConsultationMemeberAcceptStatus {
  8536. Default,
  8537. Accepted,
  8538. Rejected,
  8539. }
  8540. enum LiveConsultationRoleEnum {
  8541. Expert,
  8542. General,
  8543. OtherParticipant,
  8544. AssistantDoctor,
  8545. Assistant,
  8546. }
  8547. enum LiveConsultationRoomStatus {
  8548. Default,
  8549. Initiating,
  8550. Cancelled,
  8551. ConnectionTimeout,
  8552. Connected,
  8553. Closed,
  8554. }
  8555. enum VideoProtocol {
  8556. Rtmp,
  8557. Rtc,
  8558. }
  8559. class DeviceJoinLiveConsultationResult {
  8560. String? consultationCode;
  8561. String? deviceCode;
  8562. int roomNo;
  8563. int appId;
  8564. String? deviceSign;
  8565. List<LiveConsultationMember >? memberLiveDatas;
  8566. List<InteractiveBoardDataDTO >? interactiveBoardDatas;
  8567. DeviceJoinLiveConsultationResult({
  8568. this.consultationCode,
  8569. this.deviceCode,
  8570. this.roomNo = 0,
  8571. this.appId = 0,
  8572. this.deviceSign,
  8573. this.memberLiveDatas,
  8574. this.interactiveBoardDatas,
  8575. });
  8576. factory DeviceJoinLiveConsultationResult.fromJson(Map<String, dynamic> map) {
  8577. return DeviceJoinLiveConsultationResult(
  8578. consultationCode: map['ConsultationCode'],
  8579. deviceCode: map['DeviceCode'],
  8580. roomNo: map['RoomNo'],
  8581. appId: map['AppId'],
  8582. deviceSign: map['DeviceSign'],
  8583. memberLiveDatas: map['MemberLiveDatas'] != null ? (map['MemberLiveDatas'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map<String,dynamic>)).toList() : null,
  8584. interactiveBoardDatas: map['InteractiveBoardDatas'] != null ? (map['InteractiveBoardDatas'] as List).map((e)=>InteractiveBoardDataDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  8585. );
  8586. }
  8587. Map<String, dynamic> toJson() {
  8588. final map = Map<String, dynamic>();
  8589. if(consultationCode != null)
  8590. map['ConsultationCode'] = consultationCode;
  8591. if(deviceCode != null)
  8592. map['DeviceCode'] = deviceCode;
  8593. map['RoomNo'] = roomNo;
  8594. map['AppId'] = appId;
  8595. if(deviceSign != null)
  8596. map['DeviceSign'] = deviceSign;
  8597. if(memberLiveDatas != null)
  8598. map['MemberLiveDatas'] = memberLiveDatas;
  8599. if(interactiveBoardDatas != null)
  8600. map['InteractiveBoardDatas'] = interactiveBoardDatas;
  8601. return map;
  8602. }
  8603. }
  8604. class LiveConsultationRoomDTO {
  8605. String? consultationCode;
  8606. LiveConsultationMember? initiator;
  8607. List<LiveConsultationMember >? members;
  8608. List<LiveConsultationMember >? devices;
  8609. LiveConsultationRoomStatus status;
  8610. int roomNo;
  8611. LiveConsultationRoomDTO({
  8612. this.consultationCode,
  8613. this.initiator,
  8614. this.members,
  8615. this.devices,
  8616. this.status = LiveConsultationRoomStatus.Default,
  8617. this.roomNo = 0,
  8618. });
  8619. factory LiveConsultationRoomDTO.fromJson(Map<String, dynamic> map) {
  8620. return LiveConsultationRoomDTO(
  8621. consultationCode: map['ConsultationCode'],
  8622. initiator: map['Initiator'] != null ? LiveConsultationMember.fromJson(map['Initiator']) : null,
  8623. members: map['Members'] != null ? (map['Members'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map<String,dynamic>)).toList() : null,
  8624. devices: map['Devices'] != null ? (map['Devices'] as List).map((e)=>LiveConsultationMember.fromJson(e as Map<String,dynamic>)).toList() : null,
  8625. status: LiveConsultationRoomStatus.values.firstWhere((e) => e.index == map['Status']),
  8626. roomNo: map['RoomNo'],
  8627. );
  8628. }
  8629. Map<String, dynamic> toJson() {
  8630. final map = Map<String, dynamic>();
  8631. if(consultationCode != null)
  8632. map['ConsultationCode'] = consultationCode;
  8633. if(initiator != null)
  8634. map['Initiator'] = initiator;
  8635. if(members != null)
  8636. map['Members'] = members;
  8637. if(devices != null)
  8638. map['Devices'] = devices;
  8639. map['Status'] = status.index;
  8640. map['RoomNo'] = roomNo;
  8641. return map;
  8642. }
  8643. }
  8644. enum BoardTypeEnum {
  8645. ReadOnly,
  8646. Ink,
  8647. Line,
  8648. Erase,
  8649. }
  8650. class FindConsultationSettingRequest extends TokenRequest{
  8651. String? version;
  8652. FindConsultationSettingRequest({
  8653. this.version,
  8654. String? token,
  8655. }) : super(
  8656. token: token,
  8657. );
  8658. factory FindConsultationSettingRequest.fromJson(Map<String, dynamic> map) {
  8659. return FindConsultationSettingRequest(
  8660. version: map['Version'],
  8661. token: map['Token'],
  8662. );
  8663. }
  8664. Map<String, dynamic> toJson() {
  8665. final map = super.toJson();
  8666. if(version != null)
  8667. map['Version'] = version;
  8668. return map;
  8669. }
  8670. }
  8671. class FindOrganizationBindExpertsRequest extends TokenRequest{
  8672. FindOrganizationBindExpertsRequest({
  8673. String? token,
  8674. }) : super(
  8675. token: token,
  8676. );
  8677. factory FindOrganizationBindExpertsRequest.fromJson(Map<String, dynamic> map) {
  8678. return FindOrganizationBindExpertsRequest(
  8679. token: map['Token'],
  8680. );
  8681. }
  8682. Map<String, dynamic> toJson() {
  8683. final map = super.toJson();
  8684. return map;
  8685. }
  8686. }
  8687. class GetEmergencyOrderRequest extends TokenRequest{
  8688. String? emergencySerialNumber;
  8689. GetEmergencyOrderRequest({
  8690. this.emergencySerialNumber,
  8691. String? token,
  8692. }) : super(
  8693. token: token,
  8694. );
  8695. factory GetEmergencyOrderRequest.fromJson(Map<String, dynamic> map) {
  8696. return GetEmergencyOrderRequest(
  8697. emergencySerialNumber: map['EmergencySerialNumber'],
  8698. token: map['Token'],
  8699. );
  8700. }
  8701. Map<String, dynamic> toJson() {
  8702. final map = super.toJson();
  8703. if(emergencySerialNumber != null)
  8704. map['EmergencySerialNumber'] = emergencySerialNumber;
  8705. return map;
  8706. }
  8707. }
  8708. enum AgeUnitsEnum {
  8709. Year,
  8710. YearAndMonth,
  8711. MonthAndWeek,
  8712. WeekAndDay,
  8713. }
  8714. enum AnnounceTypeEnum {
  8715. Broadcast,
  8716. Maintain,
  8717. }
  8718. enum MessageCategoryEnum {
  8719. Consultation,
  8720. Diagnosis,
  8721. Course,
  8722. }
  8723. enum UpgradeEnum {
  8724. Windows,
  8725. Android,
  8726. SonoPost,
  8727. Server,
  8728. FISSDK,
  8729. }
  8730. enum BusinessModuleEnum {
  8731. placeHolder_0,
  8732. RemoteDiagnosis,
  8733. LivingConsultation,
  8734. LivingCourse,
  8735. DeviceLiving,
  8736. RemoteControl,
  8737. }
  8738. enum ChannelDescriptionEnum {
  8739. DeskChannel,
  8740. TerminalChannel,
  8741. CameraChannel,
  8742. TerminalTestChannel,
  8743. NoneChannel,
  8744. }
  8745. enum QueryCMSTemplateStatusTypeEnum {
  8746. UnPublished,
  8747. Published,
  8748. }
  8749. enum QueryCMSMessageStatusEnum {
  8750. UnRead,
  8751. Read,
  8752. }
  8753. enum CMSMessageStatusEnum {
  8754. UnRead,
  8755. Read,
  8756. }
  8757. enum StatisticsPlatformEnum {
  8758. Management,
  8759. CMS,
  8760. }
  8761. enum StatisticsBannerTypeEnum {
  8762. PlatActivity,
  8763. Devices,
  8764. Download,
  8765. }
  8766. enum QueryStatisticsBannerTypeEnum {
  8767. PlatActivity,
  8768. Devices,
  8769. Download,
  8770. }
  8771. enum CourseAvailabilityEnum {
  8772. Public,
  8773. Limited,
  8774. Fee,
  8775. Invitation,
  8776. Meeting,
  8777. }
  8778. enum CustomLabelTypeEnum {
  8779. Group,
  8780. Label,
  8781. }
  8782. enum LogEventLevel {
  8783. Verbose,
  8784. Debug,
  8785. Information,
  8786. Warning,
  8787. Error,
  8788. Fatal,
  8789. }
  8790. enum DevicePatchTypeEnum {
  8791. US,
  8792. sonopost,
  8793. FISSDK,
  8794. }
  8795. enum DiagnosisLabelEnum {
  8796. BIRads1,
  8797. Lipomyoma,
  8798. BIRads2,
  8799. BIRads3,
  8800. BIRads4A,
  8801. BIRads4B,
  8802. BIRads4C,
  8803. BIRads5,
  8804. IntrahepaticHyperechoic,
  8805. HHE,
  8806. CYST,
  8807. PossibleCancer,
  8808. FattyLiver,
  8809. DiffuseLesions,
  8810. Cirrhosis,
  8811. PCLD,
  8812. }
  8813. enum DiagnosisBreastLabelEnum {
  8814. BIRads1,
  8815. Lipomyoma,
  8816. BIRads2,
  8817. BIRads3,
  8818. BIRads4A,
  8819. BIRads4B,
  8820. BIRads4C,
  8821. BIRads5,
  8822. }
  8823. enum DiagnosisLiverLabelEnum {
  8824. BIRads1,
  8825. Hyperechoic,
  8826. HHE,
  8827. CYST,
  8828. PossibleCancer,
  8829. FattyLiver,
  8830. DiffuseLesions,
  8831. Cirrhosis,
  8832. PCLD,
  8833. }
  8834. enum AIThyroidLabelEnum {
  8835. TIRADS0,
  8836. TIRADS2,
  8837. TIRADS3,
  8838. TIRADS4a,
  8839. TIRADS4b,
  8840. TIRADS4c,
  8841. TIRADS5,
  8842. DiffuseDisease,
  8843. }
  8844. enum DiseaseConclusion {
  8845. NoConclusion,
  8846. Positive,
  8847. Negative,
  8848. }
  8849. enum ExaminationAvailabilityEnum {
  8850. Public,
  8851. Limited,
  8852. }
  8853. enum ExamTypeEnum {
  8854. GeneralExam,
  8855. AgentExam,
  8856. Standardized,
  8857. }
  8858. enum FunctionalityStatusEnum {
  8859. DemoMode,
  8860. Activity,
  8861. }
  8862. enum GestationalAgeOriginEnum {
  8863. GestationalAge,
  8864. IVF,
  8865. OospermForm,
  8866. BBT,
  8867. LMP,
  8868. }
  8869. enum GetUserListTypeEnum {
  8870. FullName,
  8871. Phone,
  8872. }
  8873. enum HeartbeatTypeEnum {
  8874. ClientToken,
  8875. TerminalToken,
  8876. ThirdpartyToken,
  8877. LiveState,
  8878. RTCState,
  8879. }
  8880. enum ImageTypeEnum {
  8881. placeHolder_0,
  8882. Local,
  8883. Ob,
  8884. WorkSheet,
  8885. Remote,
  8886. DigitalSignature,
  8887. AIDiagnosis,
  8888. }
  8889. enum LabConvertStateEnum {
  8890. NotStarted,
  8891. Running,
  8892. Finish,
  8893. }
  8894. enum LabFileTypeEnum {
  8895. Media,
  8896. ZipFile,
  8897. }
  8898. enum LiveMemberStatusEnum {
  8899. Default,
  8900. Accepted,
  8901. Rejected,
  8902. Joined,
  8903. Left,
  8904. }
  8905. enum LiveProtocolEnum {
  8906. placeHolder_0,
  8907. RTMP,
  8908. RTC,
  8909. }
  8910. enum LiveRoomStatus {
  8911. Default,
  8912. Initiating,
  8913. Cancelled,
  8914. ConnectionTimeout,
  8915. Connected,
  8916. Closed,
  8917. }
  8918. enum LoginProcessorTypeEnum {
  8919. Official,
  8920. Wechat,
  8921. Phone,
  8922. Email,
  8923. placeHolder_4,
  8924. placeHolder_5,
  8925. placeHolder_6,
  8926. placeHolder_7,
  8927. placeHolder_8,
  8928. placeHolder_9,
  8929. placeHolder_10,
  8930. placeHolder_11,
  8931. placeHolder_12,
  8932. placeHolder_13,
  8933. placeHolder_14,
  8934. placeHolder_15,
  8935. placeHolder_16,
  8936. placeHolder_17,
  8937. placeHolder_18,
  8938. placeHolder_19,
  8939. placeHolder_20,
  8940. placeHolder_21,
  8941. placeHolder_22,
  8942. placeHolder_23,
  8943. placeHolder_24,
  8944. placeHolder_25,
  8945. placeHolder_26,
  8946. placeHolder_27,
  8947. placeHolder_28,
  8948. placeHolder_29,
  8949. placeHolder_30,
  8950. placeHolder_31,
  8951. placeHolder_32,
  8952. placeHolder_33,
  8953. placeHolder_34,
  8954. placeHolder_35,
  8955. placeHolder_36,
  8956. placeHolder_37,
  8957. placeHolder_38,
  8958. placeHolder_39,
  8959. placeHolder_40,
  8960. placeHolder_41,
  8961. placeHolder_42,
  8962. placeHolder_43,
  8963. placeHolder_44,
  8964. placeHolder_45,
  8965. placeHolder_46,
  8966. placeHolder_47,
  8967. placeHolder_48,
  8968. placeHolder_49,
  8969. placeHolder_50,
  8970. placeHolder_51,
  8971. placeHolder_52,
  8972. placeHolder_53,
  8973. placeHolder_54,
  8974. placeHolder_55,
  8975. placeHolder_56,
  8976. placeHolder_57,
  8977. placeHolder_58,
  8978. placeHolder_59,
  8979. placeHolder_60,
  8980. placeHolder_61,
  8981. placeHolder_62,
  8982. placeHolder_63,
  8983. placeHolder_64,
  8984. placeHolder_65,
  8985. placeHolder_66,
  8986. placeHolder_67,
  8987. placeHolder_68,
  8988. placeHolder_69,
  8989. placeHolder_70,
  8990. placeHolder_71,
  8991. placeHolder_72,
  8992. placeHolder_73,
  8993. placeHolder_74,
  8994. placeHolder_75,
  8995. placeHolder_76,
  8996. placeHolder_77,
  8997. placeHolder_78,
  8998. placeHolder_79,
  8999. placeHolder_80,
  9000. placeHolder_81,
  9001. placeHolder_82,
  9002. placeHolder_83,
  9003. placeHolder_84,
  9004. placeHolder_85,
  9005. placeHolder_86,
  9006. placeHolder_87,
  9007. placeHolder_88,
  9008. placeHolder_89,
  9009. placeHolder_90,
  9010. placeHolder_91,
  9011. placeHolder_92,
  9012. placeHolder_93,
  9013. placeHolder_94,
  9014. placeHolder_95,
  9015. placeHolder_96,
  9016. placeHolder_97,
  9017. placeHolder_98,
  9018. placeHolder_99,
  9019. placeHolder_100,
  9020. placeHolder_101,
  9021. placeHolder_102,
  9022. placeHolder_103,
  9023. placeHolder_104,
  9024. placeHolder_105,
  9025. placeHolder_106,
  9026. placeHolder_107,
  9027. placeHolder_108,
  9028. placeHolder_109,
  9029. placeHolder_110,
  9030. placeHolder_111,
  9031. placeHolder_112,
  9032. placeHolder_113,
  9033. placeHolder_114,
  9034. placeHolder_115,
  9035. placeHolder_116,
  9036. placeHolder_117,
  9037. placeHolder_118,
  9038. placeHolder_119,
  9039. placeHolder_120,
  9040. placeHolder_121,
  9041. placeHolder_122,
  9042. placeHolder_123,
  9043. placeHolder_124,
  9044. placeHolder_125,
  9045. placeHolder_126,
  9046. placeHolder_127,
  9047. placeHolder_128,
  9048. placeHolder_129,
  9049. placeHolder_130,
  9050. placeHolder_131,
  9051. placeHolder_132,
  9052. placeHolder_133,
  9053. placeHolder_134,
  9054. placeHolder_135,
  9055. placeHolder_136,
  9056. placeHolder_137,
  9057. placeHolder_138,
  9058. placeHolder_139,
  9059. placeHolder_140,
  9060. placeHolder_141,
  9061. placeHolder_142,
  9062. placeHolder_143,
  9063. placeHolder_144,
  9064. placeHolder_145,
  9065. placeHolder_146,
  9066. placeHolder_147,
  9067. placeHolder_148,
  9068. placeHolder_149,
  9069. placeHolder_150,
  9070. placeHolder_151,
  9071. placeHolder_152,
  9072. placeHolder_153,
  9073. placeHolder_154,
  9074. placeHolder_155,
  9075. placeHolder_156,
  9076. placeHolder_157,
  9077. placeHolder_158,
  9078. placeHolder_159,
  9079. placeHolder_160,
  9080. placeHolder_161,
  9081. placeHolder_162,
  9082. placeHolder_163,
  9083. placeHolder_164,
  9084. placeHolder_165,
  9085. placeHolder_166,
  9086. placeHolder_167,
  9087. placeHolder_168,
  9088. placeHolder_169,
  9089. placeHolder_170,
  9090. placeHolder_171,
  9091. placeHolder_172,
  9092. placeHolder_173,
  9093. placeHolder_174,
  9094. placeHolder_175,
  9095. placeHolder_176,
  9096. placeHolder_177,
  9097. placeHolder_178,
  9098. placeHolder_179,
  9099. placeHolder_180,
  9100. placeHolder_181,
  9101. placeHolder_182,
  9102. placeHolder_183,
  9103. placeHolder_184,
  9104. placeHolder_185,
  9105. placeHolder_186,
  9106. placeHolder_187,
  9107. placeHolder_188,
  9108. placeHolder_189,
  9109. placeHolder_190,
  9110. placeHolder_191,
  9111. placeHolder_192,
  9112. placeHolder_193,
  9113. placeHolder_194,
  9114. placeHolder_195,
  9115. placeHolder_196,
  9116. placeHolder_197,
  9117. placeHolder_198,
  9118. placeHolder_199,
  9119. placeHolder_200,
  9120. placeHolder_201,
  9121. placeHolder_202,
  9122. placeHolder_203,
  9123. placeHolder_204,
  9124. placeHolder_205,
  9125. placeHolder_206,
  9126. placeHolder_207,
  9127. placeHolder_208,
  9128. placeHolder_209,
  9129. placeHolder_210,
  9130. placeHolder_211,
  9131. placeHolder_212,
  9132. placeHolder_213,
  9133. placeHolder_214,
  9134. placeHolder_215,
  9135. placeHolder_216,
  9136. placeHolder_217,
  9137. placeHolder_218,
  9138. placeHolder_219,
  9139. placeHolder_220,
  9140. placeHolder_221,
  9141. placeHolder_222,
  9142. placeHolder_223,
  9143. placeHolder_224,
  9144. placeHolder_225,
  9145. placeHolder_226,
  9146. placeHolder_227,
  9147. placeHolder_228,
  9148. placeHolder_229,
  9149. placeHolder_230,
  9150. placeHolder_231,
  9151. placeHolder_232,
  9152. placeHolder_233,
  9153. placeHolder_234,
  9154. placeHolder_235,
  9155. placeHolder_236,
  9156. placeHolder_237,
  9157. placeHolder_238,
  9158. placeHolder_239,
  9159. placeHolder_240,
  9160. placeHolder_241,
  9161. placeHolder_242,
  9162. placeHolder_243,
  9163. placeHolder_244,
  9164. placeHolder_245,
  9165. placeHolder_246,
  9166. placeHolder_247,
  9167. placeHolder_248,
  9168. placeHolder_249,
  9169. placeHolder_250,
  9170. placeHolder_251,
  9171. placeHolder_252,
  9172. placeHolder_253,
  9173. placeHolder_254,
  9174. placeHolder_255,
  9175. placeHolder_256,
  9176. placeHolder_257,
  9177. placeHolder_258,
  9178. placeHolder_259,
  9179. placeHolder_260,
  9180. placeHolder_261,
  9181. placeHolder_262,
  9182. placeHolder_263,
  9183. placeHolder_264,
  9184. placeHolder_265,
  9185. placeHolder_266,
  9186. placeHolder_267,
  9187. placeHolder_268,
  9188. placeHolder_269,
  9189. placeHolder_270,
  9190. placeHolder_271,
  9191. placeHolder_272,
  9192. placeHolder_273,
  9193. placeHolder_274,
  9194. placeHolder_275,
  9195. placeHolder_276,
  9196. placeHolder_277,
  9197. placeHolder_278,
  9198. placeHolder_279,
  9199. placeHolder_280,
  9200. placeHolder_281,
  9201. placeHolder_282,
  9202. placeHolder_283,
  9203. placeHolder_284,
  9204. placeHolder_285,
  9205. placeHolder_286,
  9206. placeHolder_287,
  9207. placeHolder_288,
  9208. placeHolder_289,
  9209. placeHolder_290,
  9210. placeHolder_291,
  9211. placeHolder_292,
  9212. placeHolder_293,
  9213. placeHolder_294,
  9214. placeHolder_295,
  9215. placeHolder_296,
  9216. placeHolder_297,
  9217. placeHolder_298,
  9218. placeHolder_299,
  9219. placeHolder_300,
  9220. placeHolder_301,
  9221. placeHolder_302,
  9222. placeHolder_303,
  9223. placeHolder_304,
  9224. placeHolder_305,
  9225. placeHolder_306,
  9226. placeHolder_307,
  9227. placeHolder_308,
  9228. placeHolder_309,
  9229. placeHolder_310,
  9230. placeHolder_311,
  9231. placeHolder_312,
  9232. placeHolder_313,
  9233. placeHolder_314,
  9234. placeHolder_315,
  9235. placeHolder_316,
  9236. placeHolder_317,
  9237. placeHolder_318,
  9238. placeHolder_319,
  9239. placeHolder_320,
  9240. placeHolder_321,
  9241. placeHolder_322,
  9242. placeHolder_323,
  9243. placeHolder_324,
  9244. placeHolder_325,
  9245. placeHolder_326,
  9246. placeHolder_327,
  9247. placeHolder_328,
  9248. placeHolder_329,
  9249. placeHolder_330,
  9250. placeHolder_331,
  9251. placeHolder_332,
  9252. placeHolder_333,
  9253. placeHolder_334,
  9254. placeHolder_335,
  9255. placeHolder_336,
  9256. placeHolder_337,
  9257. placeHolder_338,
  9258. placeHolder_339,
  9259. placeHolder_340,
  9260. placeHolder_341,
  9261. placeHolder_342,
  9262. placeHolder_343,
  9263. placeHolder_344,
  9264. placeHolder_345,
  9265. placeHolder_346,
  9266. placeHolder_347,
  9267. placeHolder_348,
  9268. placeHolder_349,
  9269. placeHolder_350,
  9270. placeHolder_351,
  9271. placeHolder_352,
  9272. placeHolder_353,
  9273. placeHolder_354,
  9274. placeHolder_355,
  9275. placeHolder_356,
  9276. placeHolder_357,
  9277. placeHolder_358,
  9278. placeHolder_359,
  9279. placeHolder_360,
  9280. placeHolder_361,
  9281. placeHolder_362,
  9282. placeHolder_363,
  9283. placeHolder_364,
  9284. placeHolder_365,
  9285. placeHolder_366,
  9286. placeHolder_367,
  9287. placeHolder_368,
  9288. placeHolder_369,
  9289. placeHolder_370,
  9290. placeHolder_371,
  9291. placeHolder_372,
  9292. placeHolder_373,
  9293. placeHolder_374,
  9294. placeHolder_375,
  9295. placeHolder_376,
  9296. placeHolder_377,
  9297. placeHolder_378,
  9298. placeHolder_379,
  9299. placeHolder_380,
  9300. placeHolder_381,
  9301. placeHolder_382,
  9302. placeHolder_383,
  9303. placeHolder_384,
  9304. placeHolder_385,
  9305. placeHolder_386,
  9306. placeHolder_387,
  9307. placeHolder_388,
  9308. placeHolder_389,
  9309. placeHolder_390,
  9310. placeHolder_391,
  9311. placeHolder_392,
  9312. placeHolder_393,
  9313. placeHolder_394,
  9314. placeHolder_395,
  9315. placeHolder_396,
  9316. placeHolder_397,
  9317. placeHolder_398,
  9318. placeHolder_399,
  9319. placeHolder_400,
  9320. placeHolder_401,
  9321. placeHolder_402,
  9322. placeHolder_403,
  9323. placeHolder_404,
  9324. placeHolder_405,
  9325. placeHolder_406,
  9326. placeHolder_407,
  9327. placeHolder_408,
  9328. placeHolder_409,
  9329. placeHolder_410,
  9330. placeHolder_411,
  9331. placeHolder_412,
  9332. placeHolder_413,
  9333. placeHolder_414,
  9334. placeHolder_415,
  9335. placeHolder_416,
  9336. placeHolder_417,
  9337. placeHolder_418,
  9338. placeHolder_419,
  9339. placeHolder_420,
  9340. placeHolder_421,
  9341. placeHolder_422,
  9342. placeHolder_423,
  9343. placeHolder_424,
  9344. placeHolder_425,
  9345. placeHolder_426,
  9346. placeHolder_427,
  9347. placeHolder_428,
  9348. placeHolder_429,
  9349. placeHolder_430,
  9350. placeHolder_431,
  9351. placeHolder_432,
  9352. placeHolder_433,
  9353. placeHolder_434,
  9354. placeHolder_435,
  9355. placeHolder_436,
  9356. placeHolder_437,
  9357. placeHolder_438,
  9358. placeHolder_439,
  9359. placeHolder_440,
  9360. placeHolder_441,
  9361. placeHolder_442,
  9362. placeHolder_443,
  9363. placeHolder_444,
  9364. placeHolder_445,
  9365. placeHolder_446,
  9366. placeHolder_447,
  9367. placeHolder_448,
  9368. placeHolder_449,
  9369. placeHolder_450,
  9370. placeHolder_451,
  9371. placeHolder_452,
  9372. placeHolder_453,
  9373. placeHolder_454,
  9374. placeHolder_455,
  9375. placeHolder_456,
  9376. placeHolder_457,
  9377. placeHolder_458,
  9378. placeHolder_459,
  9379. placeHolder_460,
  9380. placeHolder_461,
  9381. placeHolder_462,
  9382. placeHolder_463,
  9383. placeHolder_464,
  9384. placeHolder_465,
  9385. placeHolder_466,
  9386. placeHolder_467,
  9387. placeHolder_468,
  9388. placeHolder_469,
  9389. placeHolder_470,
  9390. placeHolder_471,
  9391. placeHolder_472,
  9392. placeHolder_473,
  9393. placeHolder_474,
  9394. placeHolder_475,
  9395. placeHolder_476,
  9396. placeHolder_477,
  9397. placeHolder_478,
  9398. placeHolder_479,
  9399. placeHolder_480,
  9400. placeHolder_481,
  9401. placeHolder_482,
  9402. placeHolder_483,
  9403. placeHolder_484,
  9404. placeHolder_485,
  9405. placeHolder_486,
  9406. placeHolder_487,
  9407. placeHolder_488,
  9408. placeHolder_489,
  9409. placeHolder_490,
  9410. placeHolder_491,
  9411. placeHolder_492,
  9412. placeHolder_493,
  9413. placeHolder_494,
  9414. placeHolder_495,
  9415. placeHolder_496,
  9416. placeHolder_497,
  9417. placeHolder_498,
  9418. placeHolder_499,
  9419. placeHolder_500,
  9420. placeHolder_501,
  9421. placeHolder_502,
  9422. placeHolder_503,
  9423. placeHolder_504,
  9424. placeHolder_505,
  9425. placeHolder_506,
  9426. placeHolder_507,
  9427. placeHolder_508,
  9428. placeHolder_509,
  9429. placeHolder_510,
  9430. placeHolder_511,
  9431. placeHolder_512,
  9432. placeHolder_513,
  9433. placeHolder_514,
  9434. placeHolder_515,
  9435. placeHolder_516,
  9436. placeHolder_517,
  9437. placeHolder_518,
  9438. placeHolder_519,
  9439. placeHolder_520,
  9440. placeHolder_521,
  9441. placeHolder_522,
  9442. placeHolder_523,
  9443. placeHolder_524,
  9444. placeHolder_525,
  9445. placeHolder_526,
  9446. placeHolder_527,
  9447. placeHolder_528,
  9448. placeHolder_529,
  9449. placeHolder_530,
  9450. placeHolder_531,
  9451. placeHolder_532,
  9452. placeHolder_533,
  9453. placeHolder_534,
  9454. placeHolder_535,
  9455. placeHolder_536,
  9456. placeHolder_537,
  9457. placeHolder_538,
  9458. placeHolder_539,
  9459. placeHolder_540,
  9460. placeHolder_541,
  9461. placeHolder_542,
  9462. placeHolder_543,
  9463. placeHolder_544,
  9464. placeHolder_545,
  9465. placeHolder_546,
  9466. placeHolder_547,
  9467. placeHolder_548,
  9468. placeHolder_549,
  9469. placeHolder_550,
  9470. placeHolder_551,
  9471. placeHolder_552,
  9472. placeHolder_553,
  9473. placeHolder_554,
  9474. placeHolder_555,
  9475. placeHolder_556,
  9476. placeHolder_557,
  9477. placeHolder_558,
  9478. placeHolder_559,
  9479. placeHolder_560,
  9480. placeHolder_561,
  9481. placeHolder_562,
  9482. placeHolder_563,
  9483. placeHolder_564,
  9484. placeHolder_565,
  9485. placeHolder_566,
  9486. placeHolder_567,
  9487. placeHolder_568,
  9488. placeHolder_569,
  9489. placeHolder_570,
  9490. placeHolder_571,
  9491. placeHolder_572,
  9492. placeHolder_573,
  9493. placeHolder_574,
  9494. placeHolder_575,
  9495. placeHolder_576,
  9496. placeHolder_577,
  9497. placeHolder_578,
  9498. placeHolder_579,
  9499. placeHolder_580,
  9500. placeHolder_581,
  9501. placeHolder_582,
  9502. placeHolder_583,
  9503. placeHolder_584,
  9504. placeHolder_585,
  9505. placeHolder_586,
  9506. placeHolder_587,
  9507. placeHolder_588,
  9508. placeHolder_589,
  9509. placeHolder_590,
  9510. placeHolder_591,
  9511. placeHolder_592,
  9512. placeHolder_593,
  9513. placeHolder_594,
  9514. placeHolder_595,
  9515. placeHolder_596,
  9516. placeHolder_597,
  9517. placeHolder_598,
  9518. placeHolder_599,
  9519. placeHolder_600,
  9520. placeHolder_601,
  9521. placeHolder_602,
  9522. placeHolder_603,
  9523. placeHolder_604,
  9524. placeHolder_605,
  9525. placeHolder_606,
  9526. placeHolder_607,
  9527. placeHolder_608,
  9528. placeHolder_609,
  9529. placeHolder_610,
  9530. placeHolder_611,
  9531. placeHolder_612,
  9532. placeHolder_613,
  9533. placeHolder_614,
  9534. placeHolder_615,
  9535. placeHolder_616,
  9536. placeHolder_617,
  9537. placeHolder_618,
  9538. placeHolder_619,
  9539. placeHolder_620,
  9540. placeHolder_621,
  9541. placeHolder_622,
  9542. placeHolder_623,
  9543. placeHolder_624,
  9544. placeHolder_625,
  9545. placeHolder_626,
  9546. placeHolder_627,
  9547. placeHolder_628,
  9548. placeHolder_629,
  9549. placeHolder_630,
  9550. placeHolder_631,
  9551. placeHolder_632,
  9552. placeHolder_633,
  9553. placeHolder_634,
  9554. placeHolder_635,
  9555. placeHolder_636,
  9556. placeHolder_637,
  9557. placeHolder_638,
  9558. placeHolder_639,
  9559. placeHolder_640,
  9560. placeHolder_641,
  9561. placeHolder_642,
  9562. placeHolder_643,
  9563. placeHolder_644,
  9564. placeHolder_645,
  9565. placeHolder_646,
  9566. placeHolder_647,
  9567. placeHolder_648,
  9568. placeHolder_649,
  9569. placeHolder_650,
  9570. placeHolder_651,
  9571. placeHolder_652,
  9572. placeHolder_653,
  9573. placeHolder_654,
  9574. placeHolder_655,
  9575. placeHolder_656,
  9576. placeHolder_657,
  9577. placeHolder_658,
  9578. placeHolder_659,
  9579. placeHolder_660,
  9580. placeHolder_661,
  9581. placeHolder_662,
  9582. placeHolder_663,
  9583. placeHolder_664,
  9584. placeHolder_665,
  9585. placeHolder_666,
  9586. placeHolder_667,
  9587. placeHolder_668,
  9588. placeHolder_669,
  9589. placeHolder_670,
  9590. placeHolder_671,
  9591. placeHolder_672,
  9592. placeHolder_673,
  9593. placeHolder_674,
  9594. placeHolder_675,
  9595. placeHolder_676,
  9596. placeHolder_677,
  9597. placeHolder_678,
  9598. placeHolder_679,
  9599. placeHolder_680,
  9600. placeHolder_681,
  9601. placeHolder_682,
  9602. placeHolder_683,
  9603. placeHolder_684,
  9604. placeHolder_685,
  9605. placeHolder_686,
  9606. placeHolder_687,
  9607. placeHolder_688,
  9608. placeHolder_689,
  9609. placeHolder_690,
  9610. placeHolder_691,
  9611. placeHolder_692,
  9612. placeHolder_693,
  9613. placeHolder_694,
  9614. placeHolder_695,
  9615. placeHolder_696,
  9616. placeHolder_697,
  9617. placeHolder_698,
  9618. placeHolder_699,
  9619. placeHolder_700,
  9620. placeHolder_701,
  9621. placeHolder_702,
  9622. placeHolder_703,
  9623. placeHolder_704,
  9624. placeHolder_705,
  9625. placeHolder_706,
  9626. placeHolder_707,
  9627. placeHolder_708,
  9628. placeHolder_709,
  9629. placeHolder_710,
  9630. placeHolder_711,
  9631. placeHolder_712,
  9632. placeHolder_713,
  9633. placeHolder_714,
  9634. placeHolder_715,
  9635. placeHolder_716,
  9636. placeHolder_717,
  9637. placeHolder_718,
  9638. placeHolder_719,
  9639. placeHolder_720,
  9640. placeHolder_721,
  9641. placeHolder_722,
  9642. placeHolder_723,
  9643. placeHolder_724,
  9644. placeHolder_725,
  9645. placeHolder_726,
  9646. placeHolder_727,
  9647. placeHolder_728,
  9648. placeHolder_729,
  9649. placeHolder_730,
  9650. placeHolder_731,
  9651. placeHolder_732,
  9652. placeHolder_733,
  9653. placeHolder_734,
  9654. placeHolder_735,
  9655. placeHolder_736,
  9656. placeHolder_737,
  9657. placeHolder_738,
  9658. placeHolder_739,
  9659. placeHolder_740,
  9660. placeHolder_741,
  9661. placeHolder_742,
  9662. placeHolder_743,
  9663. placeHolder_744,
  9664. placeHolder_745,
  9665. placeHolder_746,
  9666. placeHolder_747,
  9667. placeHolder_748,
  9668. placeHolder_749,
  9669. placeHolder_750,
  9670. placeHolder_751,
  9671. placeHolder_752,
  9672. placeHolder_753,
  9673. placeHolder_754,
  9674. placeHolder_755,
  9675. placeHolder_756,
  9676. placeHolder_757,
  9677. placeHolder_758,
  9678. placeHolder_759,
  9679. placeHolder_760,
  9680. placeHolder_761,
  9681. placeHolder_762,
  9682. placeHolder_763,
  9683. placeHolder_764,
  9684. placeHolder_765,
  9685. placeHolder_766,
  9686. placeHolder_767,
  9687. placeHolder_768,
  9688. placeHolder_769,
  9689. placeHolder_770,
  9690. placeHolder_771,
  9691. placeHolder_772,
  9692. placeHolder_773,
  9693. placeHolder_774,
  9694. placeHolder_775,
  9695. placeHolder_776,
  9696. placeHolder_777,
  9697. placeHolder_778,
  9698. placeHolder_779,
  9699. placeHolder_780,
  9700. placeHolder_781,
  9701. placeHolder_782,
  9702. placeHolder_783,
  9703. placeHolder_784,
  9704. placeHolder_785,
  9705. placeHolder_786,
  9706. placeHolder_787,
  9707. placeHolder_788,
  9708. placeHolder_789,
  9709. placeHolder_790,
  9710. placeHolder_791,
  9711. placeHolder_792,
  9712. placeHolder_793,
  9713. placeHolder_794,
  9714. placeHolder_795,
  9715. placeHolder_796,
  9716. placeHolder_797,
  9717. placeHolder_798,
  9718. placeHolder_799,
  9719. placeHolder_800,
  9720. placeHolder_801,
  9721. placeHolder_802,
  9722. placeHolder_803,
  9723. placeHolder_804,
  9724. placeHolder_805,
  9725. placeHolder_806,
  9726. placeHolder_807,
  9727. placeHolder_808,
  9728. placeHolder_809,
  9729. placeHolder_810,
  9730. placeHolder_811,
  9731. placeHolder_812,
  9732. placeHolder_813,
  9733. placeHolder_814,
  9734. placeHolder_815,
  9735. placeHolder_816,
  9736. placeHolder_817,
  9737. placeHolder_818,
  9738. placeHolder_819,
  9739. placeHolder_820,
  9740. placeHolder_821,
  9741. placeHolder_822,
  9742. placeHolder_823,
  9743. placeHolder_824,
  9744. placeHolder_825,
  9745. placeHolder_826,
  9746. placeHolder_827,
  9747. placeHolder_828,
  9748. placeHolder_829,
  9749. placeHolder_830,
  9750. placeHolder_831,
  9751. placeHolder_832,
  9752. placeHolder_833,
  9753. placeHolder_834,
  9754. placeHolder_835,
  9755. placeHolder_836,
  9756. placeHolder_837,
  9757. placeHolder_838,
  9758. placeHolder_839,
  9759. placeHolder_840,
  9760. placeHolder_841,
  9761. placeHolder_842,
  9762. placeHolder_843,
  9763. placeHolder_844,
  9764. placeHolder_845,
  9765. placeHolder_846,
  9766. placeHolder_847,
  9767. placeHolder_848,
  9768. placeHolder_849,
  9769. placeHolder_850,
  9770. placeHolder_851,
  9771. placeHolder_852,
  9772. placeHolder_853,
  9773. placeHolder_854,
  9774. placeHolder_855,
  9775. placeHolder_856,
  9776. placeHolder_857,
  9777. placeHolder_858,
  9778. placeHolder_859,
  9779. placeHolder_860,
  9780. placeHolder_861,
  9781. placeHolder_862,
  9782. placeHolder_863,
  9783. placeHolder_864,
  9784. placeHolder_865,
  9785. placeHolder_866,
  9786. placeHolder_867,
  9787. placeHolder_868,
  9788. placeHolder_869,
  9789. placeHolder_870,
  9790. placeHolder_871,
  9791. placeHolder_872,
  9792. placeHolder_873,
  9793. placeHolder_874,
  9794. placeHolder_875,
  9795. placeHolder_876,
  9796. placeHolder_877,
  9797. placeHolder_878,
  9798. placeHolder_879,
  9799. placeHolder_880,
  9800. placeHolder_881,
  9801. placeHolder_882,
  9802. placeHolder_883,
  9803. placeHolder_884,
  9804. placeHolder_885,
  9805. placeHolder_886,
  9806. placeHolder_887,
  9807. placeHolder_888,
  9808. placeHolder_889,
  9809. placeHolder_890,
  9810. placeHolder_891,
  9811. placeHolder_892,
  9812. placeHolder_893,
  9813. placeHolder_894,
  9814. placeHolder_895,
  9815. placeHolder_896,
  9816. placeHolder_897,
  9817. placeHolder_898,
  9818. placeHolder_899,
  9819. placeHolder_900,
  9820. placeHolder_901,
  9821. placeHolder_902,
  9822. placeHolder_903,
  9823. placeHolder_904,
  9824. placeHolder_905,
  9825. placeHolder_906,
  9826. placeHolder_907,
  9827. placeHolder_908,
  9828. placeHolder_909,
  9829. placeHolder_910,
  9830. placeHolder_911,
  9831. placeHolder_912,
  9832. placeHolder_913,
  9833. placeHolder_914,
  9834. placeHolder_915,
  9835. placeHolder_916,
  9836. placeHolder_917,
  9837. placeHolder_918,
  9838. placeHolder_919,
  9839. placeHolder_920,
  9840. placeHolder_921,
  9841. placeHolder_922,
  9842. placeHolder_923,
  9843. placeHolder_924,
  9844. placeHolder_925,
  9845. placeHolder_926,
  9846. placeHolder_927,
  9847. placeHolder_928,
  9848. placeHolder_929,
  9849. placeHolder_930,
  9850. placeHolder_931,
  9851. placeHolder_932,
  9852. placeHolder_933,
  9853. placeHolder_934,
  9854. placeHolder_935,
  9855. placeHolder_936,
  9856. placeHolder_937,
  9857. placeHolder_938,
  9858. placeHolder_939,
  9859. placeHolder_940,
  9860. placeHolder_941,
  9861. placeHolder_942,
  9862. placeHolder_943,
  9863. placeHolder_944,
  9864. placeHolder_945,
  9865. placeHolder_946,
  9866. placeHolder_947,
  9867. placeHolder_948,
  9868. placeHolder_949,
  9869. placeHolder_950,
  9870. placeHolder_951,
  9871. placeHolder_952,
  9872. placeHolder_953,
  9873. placeHolder_954,
  9874. placeHolder_955,
  9875. placeHolder_956,
  9876. placeHolder_957,
  9877. placeHolder_958,
  9878. placeHolder_959,
  9879. placeHolder_960,
  9880. placeHolder_961,
  9881. placeHolder_962,
  9882. placeHolder_963,
  9883. placeHolder_964,
  9884. placeHolder_965,
  9885. placeHolder_966,
  9886. placeHolder_967,
  9887. placeHolder_968,
  9888. placeHolder_969,
  9889. placeHolder_970,
  9890. placeHolder_971,
  9891. placeHolder_972,
  9892. placeHolder_973,
  9893. placeHolder_974,
  9894. placeHolder_975,
  9895. placeHolder_976,
  9896. placeHolder_977,
  9897. placeHolder_978,
  9898. placeHolder_979,
  9899. placeHolder_980,
  9900. placeHolder_981,
  9901. placeHolder_982,
  9902. placeHolder_983,
  9903. placeHolder_984,
  9904. placeHolder_985,
  9905. placeHolder_986,
  9906. placeHolder_987,
  9907. placeHolder_988,
  9908. placeHolder_989,
  9909. placeHolder_990,
  9910. placeHolder_991,
  9911. placeHolder_992,
  9912. placeHolder_993,
  9913. placeHolder_994,
  9914. placeHolder_995,
  9915. placeHolder_996,
  9916. placeHolder_997,
  9917. placeHolder_998,
  9918. Unregistered,
  9919. }
  9920. enum AnimalGenderEnum {
  9921. AnimalInfoNotFilled,
  9922. AnimalInfoMale,
  9923. AnimalInfoFemale,
  9924. }
  9925. enum QualifiedState {
  9926. UnSet,
  9927. Qualified,
  9928. UnQualified,
  9929. }
  9930. enum QualityType {
  9931. None,
  9932. Qualified,
  9933. InformationUnCompleted,
  9934. ImageNotClear,
  9935. PositiveSiteNotClear,
  9936. }
  9937. enum RegionGradeEnum {
  9938. Country,
  9939. Province,
  9940. City,
  9941. Area,
  9942. }
  9943. enum RemedicalApparatusTypeEnum {
  9944. BreastOuterUpper,
  9945. BreastInnerUpper,
  9946. BreastOuterLower,
  9947. BreastInnerLower,
  9948. Lobe,
  9949. LobeOfUnder,
  9950. LobeOfInter,
  9951. Thyroid,
  9952. Abdomen,
  9953. }
  9954. enum RemedicalImageLocationTypeEnum {
  9955. BreastImageLocation,
  9956. LiverImageLocation,
  9957. ThyroidImageLocation,
  9958. PositionImageLocation,
  9959. }
  9960. enum RemedicalImagePositionTypeEnum {
  9961. None,
  9962. Left,
  9963. Right,
  9964. Middle,
  9965. }
  9966. enum ReportTemplateQueryTypeEnum {
  9967. All,
  9968. Personal,
  9969. Organization,
  9970. }
  9971. enum SyncTypeEnum {
  9972. Initiate,
  9973. Accept,
  9974. Reject,
  9975. CancelInitiate,
  9976. HeartRateJoin,
  9977. NetworkErr,
  9978. HeartRateLeave,
  9979. Leave,
  9980. Close,
  9981. ChangeMuteState,
  9982. ChangeVideoOpenState,
  9983. InviteIn,
  9984. CancelInviteIn,
  9985. AcceptIn,
  9986. RejectIn,
  9987. ChangeConsultationStatus,
  9988. Agree,
  9989. Notification,
  9990. EmergencyAccept,
  9991. ChangeControllingParameter,
  9992. SendInteractiveBoardData,
  9993. ChangeRoom,
  9994. SaveViewer,
  9995. DeleteViewer,
  9996. DeviceAcceptIn,
  9997. SyncControllingParameter,
  9998. ApplyRemoteConnect,
  9999. AcceptRemoteConnect,
  10000. RejectRemoteConnect,
  10001. ApplyDisConnect,
  10002. AcceptDisConnect,
  10003. DeviceDisconnect,
  10004. DeviceRemoteConnectHeartRate,
  10005. UserRemoteConnectHeartRate,
  10006. DeviceRemoteConnectOutline,
  10007. UserRemoteConnectOutline,
  10008. ConsultionRemoteConnect,
  10009. ConsultionDisConnect,
  10010. RestartDevice,
  10011. AcceptDevice,
  10012. SetShareInfo,
  10013. LeaveDevice,
  10014. RemoteMaintainData,
  10015. ProbeApplication,
  10016. }
  10017. enum SyncServiceEnum {
  10018. Live,
  10019. LiveConsultation,
  10020. Notification,
  10021. ScanLogin,
  10022. Device,
  10023. RemoteConnect,
  10024. }
  10025. enum VideoPermissionsEnum {
  10026. Public,
  10027. Private,
  10028. LinkToCourse,
  10029. Fee,
  10030. AdminAvailable,
  10031. Standardized,
  10032. }
  10033. enum VideoImportanceEnum {
  10034. Normal,
  10035. Importance,
  10036. }
  10037. enum VideoLabelEnum {
  10038. NoRecording,
  10039. NoFastForward,
  10040. TeachingDocument,
  10041. }
  10042. enum WSConnectTypeEnum {
  10043. Default,
  10044. ConsultationSecondWindow,
  10045. EducationSecondWindow,
  10046. RemoteConnectSecondWindow,
  10047. AppletAPI,
  10048. }
  10049. enum ASETypeEnum {
  10050. Off,
  10051. Max,
  10052. Mean,
  10053. Both,
  10054. }
  10055. enum StraightLineShapeEnum {
  10056. StraightLine,
  10057. HalfCircle,
  10058. AutoPWVSlope,
  10059. }
  10060. enum DefinitionMeasureItemsEnum {
  10061. Default,
  10062. UserDefined,
  10063. }
  10064. enum DefinitionPriorityEnum {
  10065. Notset,
  10066. Root,
  10067. Global,
  10068. GlobalCategory,
  10069. GlobalApp,
  10070. FactoryDefault,
  10071. OemDefault,
  10072. UserDefined,
  10073. }
  10074. enum MeasureTypeUnitEnum {
  10075. None,
  10076. AreaUnit,
  10077. VelocityUnit,
  10078. TimeUnit,
  10079. }
  10080. enum UnExecuteAction {
  10081. None,
  10082. OneStep,
  10083. AllSteps,
  10084. GeometryOnly,
  10085. }
  10086. class PriorityPair {
  10087. DefinitionPriorityEnum target;
  10088. DefinitionPriorityEnum? base;
  10089. PriorityPair({
  10090. this.target = DefinitionPriorityEnum.Notset,
  10091. this.base,
  10092. });
  10093. factory PriorityPair.fromJson(Map<String, dynamic> map) {
  10094. return PriorityPair(
  10095. target: DefinitionPriorityEnum.values.firstWhere((e) => e.index == map['Target']),
  10096. base: map['Base'] != null ? DefinitionPriorityEnum.values.firstWhere((e) => e.index == map['Base']) : null,
  10097. );
  10098. }
  10099. Map<String, dynamic> toJson() {
  10100. final map = Map<String, dynamic>();
  10101. map['Target'] = target.index;
  10102. if(base != null)
  10103. map['Base'] = base;
  10104. return map;
  10105. }
  10106. }
  10107. class DefinitionPriorityEnumExtension {
  10108. DefinitionPriorityEnumExtension();
  10109. factory DefinitionPriorityEnumExtension.fromJson(Map<String, dynamic> map) {
  10110. return DefinitionPriorityEnumExtension(
  10111. );
  10112. }
  10113. Map<String, dynamic> toJson() {
  10114. final map = Map<String, dynamic>();
  10115. return map;
  10116. }
  10117. }
  10118. enum TracePeakType {
  10119. Normal,
  10120. OnePeak,
  10121. TwoPeaks,
  10122. }
  10123. enum LineWeightType {
  10124. NormalWeight,
  10125. Thin,
  10126. }
  10127. enum IMTType {
  10128. placeHolder_0,
  10129. Post,
  10130. Ant,
  10131. Both,
  10132. }
  10133. enum MeasureSectionType {
  10134. None,
  10135. Root,
  10136. Application,
  10137. MeasureMode,
  10138. Group,
  10139. Folder,
  10140. Item,
  10141. Calculator,
  10142. OutPut,
  10143. Formular,
  10144. Processor,
  10145. TypeParams,
  10146. }
  10147. enum ModeTypeEnum {
  10148. Undefined,
  10149. Tissue,
  10150. Flow,
  10151. Doppler,
  10152. TissueTM,
  10153. }
  10154. enum ResourceDefPriorityEnum {
  10155. Root,
  10156. placeHolder_1,
  10157. placeHolder_2,
  10158. placeHolder_3,
  10159. placeHolder_4,
  10160. placeHolder_5,
  10161. placeHolder_6,
  10162. placeHolder_7,
  10163. placeHolder_8,
  10164. placeHolder_9,
  10165. placeHolder_10,
  10166. placeHolder_11,
  10167. placeHolder_12,
  10168. placeHolder_13,
  10169. placeHolder_14,
  10170. placeHolder_15,
  10171. placeHolder_16,
  10172. placeHolder_17,
  10173. placeHolder_18,
  10174. placeHolder_19,
  10175. placeHolder_20,
  10176. placeHolder_21,
  10177. placeHolder_22,
  10178. placeHolder_23,
  10179. placeHolder_24,
  10180. placeHolder_25,
  10181. placeHolder_26,
  10182. placeHolder_27,
  10183. placeHolder_28,
  10184. placeHolder_29,
  10185. placeHolder_30,
  10186. placeHolder_31,
  10187. placeHolder_32,
  10188. placeHolder_33,
  10189. placeHolder_34,
  10190. placeHolder_35,
  10191. placeHolder_36,
  10192. placeHolder_37,
  10193. placeHolder_38,
  10194. placeHolder_39,
  10195. FactoryDefault,
  10196. placeHolder_41,
  10197. placeHolder_42,
  10198. placeHolder_43,
  10199. placeHolder_44,
  10200. PackageDefault,
  10201. placeHolder_46,
  10202. placeHolder_47,
  10203. placeHolder_48,
  10204. placeHolder_49,
  10205. OemDefault,
  10206. placeHolder_51,
  10207. placeHolder_52,
  10208. placeHolder_53,
  10209. placeHolder_54,
  10210. placeHolder_55,
  10211. placeHolder_56,
  10212. placeHolder_57,
  10213. placeHolder_58,
  10214. placeHolder_59,
  10215. UserDefined,
  10216. }
  10217. enum Unit {
  10218. None,
  10219. percent,
  10220. fraction,
  10221. placeHolder_3,
  10222. placeHolder_4,
  10223. placeHolder_5,
  10224. placeHolder_6,
  10225. placeHolder_7,
  10226. placeHolder_8,
  10227. placeHolder_9,
  10228. cm,
  10229. mm,
  10230. inch,
  10231. ft,
  10232. placeHolder_14,
  10233. placeHolder_15,
  10234. placeHolder_16,
  10235. placeHolder_17,
  10236. placeHolder_18,
  10237. placeHolder_19,
  10238. s,
  10239. minute,
  10240. hour,
  10241. day,
  10242. week,
  10243. week_day,
  10244. Tick,
  10245. msec,
  10246. placeHolder_28,
  10247. placeHolder_29,
  10248. degree,
  10249. radian,
  10250. placeHolder_32,
  10251. placeHolder_33,
  10252. placeHolder_34,
  10253. placeHolder_35,
  10254. placeHolder_36,
  10255. placeHolder_37,
  10256. placeHolder_38,
  10257. placeHolder_39,
  10258. g,
  10259. mg,
  10260. ng,
  10261. kg,
  10262. oz,
  10263. lb,
  10264. lb_oz,
  10265. placeHolder_47,
  10266. placeHolder_48,
  10267. placeHolder_49,
  10268. cm2,
  10269. mm2,
  10270. m2,
  10271. placeHolder_53,
  10272. placeHolder_54,
  10273. placeHolder_55,
  10274. placeHolder_56,
  10275. placeHolder_57,
  10276. placeHolder_58,
  10277. placeHolder_59,
  10278. cm3,
  10279. mm3,
  10280. ml,
  10281. L,
  10282. placeHolder_64,
  10283. placeHolder_65,
  10284. placeHolder_66,
  10285. placeHolder_67,
  10286. placeHolder_68,
  10287. placeHolder_69,
  10288. cms,
  10289. mms,
  10290. ms,
  10291. placeHolder_73,
  10292. placeHolder_74,
  10293. placeHolder_75,
  10294. placeHolder_76,
  10295. placeHolder_77,
  10296. placeHolder_78,
  10297. placeHolder_79,
  10298. cms2,
  10299. mms2,
  10300. placeHolder_82,
  10301. placeHolder_83,
  10302. placeHolder_84,
  10303. placeHolder_85,
  10304. placeHolder_86,
  10305. placeHolder_87,
  10306. placeHolder_88,
  10307. placeHolder_89,
  10308. cm3s,
  10309. mls,
  10310. mlmin,
  10311. Lmin,
  10312. placeHolder_94,
  10313. placeHolder_95,
  10314. placeHolder_96,
  10315. placeHolder_97,
  10316. placeHolder_98,
  10317. placeHolder_99,
  10318. gcm3,
  10319. gml,
  10320. ngml,
  10321. placeHolder_103,
  10322. placeHolder_104,
  10323. placeHolder_105,
  10324. placeHolder_106,
  10325. placeHolder_107,
  10326. placeHolder_108,
  10327. placeHolder_109,
  10328. mmHg,
  10329. placeHolder_111,
  10330. placeHolder_112,
  10331. placeHolder_113,
  10332. placeHolder_114,
  10333. placeHolder_115,
  10334. placeHolder_116,
  10335. placeHolder_117,
  10336. placeHolder_118,
  10337. placeHolder_119,
  10338. mV,
  10339. placeHolder_121,
  10340. placeHolder_122,
  10341. placeHolder_123,
  10342. placeHolder_124,
  10343. placeHolder_125,
  10344. placeHolder_126,
  10345. placeHolder_127,
  10346. placeHolder_128,
  10347. placeHolder_129,
  10348. Hz,
  10349. KHz,
  10350. HR,
  10351. placeHolder_133,
  10352. placeHolder_134,
  10353. placeHolder_135,
  10354. placeHolder_136,
  10355. placeHolder_137,
  10356. placeHolder_138,
  10357. placeHolder_139,
  10358. cm3m2,
  10359. mlm2,
  10360. placeHolder_142,
  10361. placeHolder_143,
  10362. placeHolder_144,
  10363. placeHolder_145,
  10364. placeHolder_146,
  10365. placeHolder_147,
  10366. placeHolder_148,
  10367. placeHolder_149,
  10368. cm3sm2,
  10369. mlsm2,
  10370. placeHolder_152,
  10371. cm3minm2,
  10372. mlminm2,
  10373. Lminm2,
  10374. placeHolder_156,
  10375. placeHolder_157,
  10376. placeHolder_158,
  10377. placeHolder_159,
  10378. circs,
  10379. placeHolder_161,
  10380. placeHolder_162,
  10381. placeHolder_163,
  10382. placeHolder_164,
  10383. placeHolder_165,
  10384. placeHolder_166,
  10385. placeHolder_167,
  10386. placeHolder_168,
  10387. placeHolder_169,
  10388. mlbeat,
  10389. placeHolder_171,
  10390. placeHolder_172,
  10391. placeHolder_173,
  10392. placeHolder_174,
  10393. placeHolder_175,
  10394. placeHolder_176,
  10395. placeHolder_177,
  10396. placeHolder_178,
  10397. placeHolder_179,
  10398. mm2pa,
  10399. d1mpa,
  10400. kpa,
  10401. placeHolder_183,
  10402. placeHolder_184,
  10403. placeHolder_185,
  10404. placeHolder_186,
  10405. placeHolder_187,
  10406. placeHolder_188,
  10407. placeHolder_189,
  10408. mmHgs,
  10409. placeHolder_191,
  10410. placeHolder_192,
  10411. placeHolder_193,
  10412. placeHolder_194,
  10413. placeHolder_195,
  10414. placeHolder_196,
  10415. placeHolder_197,
  10416. placeHolder_198,
  10417. placeHolder_199,
  10418. gm2,
  10419. kgm2,
  10420. placeHolder_202,
  10421. placeHolder_203,
  10422. placeHolder_204,
  10423. placeHolder_205,
  10424. placeHolder_206,
  10425. placeHolder_207,
  10426. placeHolder_208,
  10427. placeHolder_209,
  10428. cm2m2,
  10429. placeHolder_211,
  10430. placeHolder_212,
  10431. placeHolder_213,
  10432. placeHolder_214,
  10433. placeHolder_215,
  10434. placeHolder_216,
  10435. placeHolder_217,
  10436. placeHolder_218,
  10437. placeHolder_219,
  10438. cmm2,
  10439. mmm2,
  10440. placeHolder_222,
  10441. placeHolder_223,
  10442. placeHolder_224,
  10443. placeHolder_225,
  10444. placeHolder_226,
  10445. placeHolder_227,
  10446. placeHolder_228,
  10447. placeHolder_229,
  10448. pers,
  10449. placeHolder_231,
  10450. placeHolder_232,
  10451. placeHolder_233,
  10452. placeHolder_234,
  10453. placeHolder_235,
  10454. placeHolder_236,
  10455. placeHolder_237,
  10456. placeHolder_238,
  10457. placeHolder_239,
  10458. placeHolder_240,
  10459. placeHolder_241,
  10460. placeHolder_242,
  10461. placeHolder_243,
  10462. placeHolder_244,
  10463. placeHolder_245,
  10464. placeHolder_246,
  10465. placeHolder_247,
  10466. placeHolder_248,
  10467. placeHolder_249,
  10468. Celsius,
  10469. Fahrenheit,
  10470. placeHolder_252,
  10471. placeHolder_253,
  10472. placeHolder_254,
  10473. placeHolder_255,
  10474. placeHolder_256,
  10475. placeHolder_257,
  10476. placeHolder_258,
  10477. placeHolder_259,
  10478. Ohm,
  10479. placeHolder_261,
  10480. placeHolder_262,
  10481. placeHolder_263,
  10482. placeHolder_264,
  10483. placeHolder_265,
  10484. placeHolder_266,
  10485. placeHolder_267,
  10486. placeHolder_268,
  10487. placeHolder_269,
  10488. mmHgml,
  10489. }
  10490. enum QueryCourseSortEnum {
  10491. StartTime,
  10492. Recommended,
  10493. }
  10494. enum QueryCourseTypeEnum {
  10495. All,
  10496. LiveCourse,
  10497. VideoCourse,
  10498. }
  10499. enum ArrowOrientation {
  10500. Down,
  10501. Left,
  10502. Up,
  10503. Right,
  10504. }
  10505. class UserScanInfo {
  10506. String? scanCode;
  10507. ScanLoginSource scanLoginSource;
  10508. Platform platform;
  10509. DateTime? createTime;
  10510. DateTime? expireTime;
  10511. String? installVersion;
  10512. LoginResult? loginResult;
  10513. UserScanInfo({
  10514. this.scanCode,
  10515. this.scanLoginSource = ScanLoginSource.PC,
  10516. this.platform = Platform.Windows,
  10517. this.createTime,
  10518. this.expireTime,
  10519. this.installVersion,
  10520. this.loginResult,
  10521. });
  10522. factory UserScanInfo.fromJson(Map<String, dynamic> map) {
  10523. return UserScanInfo(
  10524. scanCode: map['ScanCode'],
  10525. scanLoginSource: ScanLoginSource.values.firstWhere((e) => e.index == map['ScanLoginSource']),
  10526. platform: Platform.values.firstWhere((e) => e.index == map['Platform']),
  10527. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  10528. expireTime: map['ExpireTime'] != null ? DateTime.parse(map['ExpireTime']) : null,
  10529. installVersion: map['InstallVersion'],
  10530. loginResult: map['LoginResult'] != null ? LoginResult.fromJson(map['LoginResult']) : null,
  10531. );
  10532. }
  10533. Map<String, dynamic> toJson() {
  10534. final map = Map<String, dynamic>();
  10535. if(scanCode != null)
  10536. map['ScanCode'] = scanCode;
  10537. map['ScanLoginSource'] = scanLoginSource.index;
  10538. map['Platform'] = platform.index;
  10539. if(createTime != null)
  10540. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  10541. if(expireTime != null)
  10542. map['ExpireTime'] = JsonRpcUtils.dateFormat(expireTime!);
  10543. if(installVersion != null)
  10544. map['InstallVersion'] = installVersion;
  10545. if(loginResult != null)
  10546. map['LoginResult'] = loginResult;
  10547. return map;
  10548. }
  10549. }
  10550. class UserCMSDTO {
  10551. String? cMSData;
  10552. UserCMSDTO({
  10553. this.cMSData,
  10554. });
  10555. factory UserCMSDTO.fromJson(Map<String, dynamic> map) {
  10556. return UserCMSDTO(
  10557. cMSData: map['CMSData'],
  10558. );
  10559. }
  10560. Map<String, dynamic> toJson() {
  10561. final map = Map<String, dynamic>();
  10562. if(cMSData != null)
  10563. map['CMSData'] = cMSData;
  10564. return map;
  10565. }
  10566. }
  10567. class UserPasswordDTO extends BaseDTO{
  10568. String? userCode;
  10569. String? userName;
  10570. String? secretPassword;
  10571. String? phone;
  10572. String? email;
  10573. String? nickName;
  10574. String? fullName;
  10575. String? headImageUrl;
  10576. String? organizationCode;
  10577. String? rootOrganizationCode;
  10578. List<String >? authorityGroups;
  10579. List<String >? bindDevices;
  10580. String? lastIP;
  10581. int logintimes;
  10582. UserInfoStateEnum userState;
  10583. List<String >? roleCodes;
  10584. List<String >? rankCodes;
  10585. List<String >? positionCodes;
  10586. ApplyStateEnum applyState;
  10587. List<String >? fieldList;
  10588. List<String >? deletePatientCodes;
  10589. bool isBatchExportDiagnoseData;
  10590. String? bindAssistantUserCode;
  10591. String? bindAssistantDoctorUserCode;
  10592. DateTime? passwordUpdateTime;
  10593. List<String >? passwordRecords;
  10594. String? signature;
  10595. String? language;
  10596. bool enableReportLabel;
  10597. UserPasswordDTO({
  10598. this.userCode,
  10599. this.userName,
  10600. this.secretPassword,
  10601. this.phone,
  10602. this.email,
  10603. this.nickName,
  10604. this.fullName,
  10605. this.headImageUrl,
  10606. this.organizationCode,
  10607. this.rootOrganizationCode,
  10608. this.authorityGroups,
  10609. this.bindDevices,
  10610. this.lastIP,
  10611. this.logintimes = 0,
  10612. this.userState = UserInfoStateEnum.Nonactivated,
  10613. this.roleCodes,
  10614. this.rankCodes,
  10615. this.positionCodes,
  10616. this.applyState = ApplyStateEnum.NotApply,
  10617. this.fieldList,
  10618. this.deletePatientCodes,
  10619. this.isBatchExportDiagnoseData = false,
  10620. this.bindAssistantUserCode,
  10621. this.bindAssistantDoctorUserCode,
  10622. this.passwordUpdateTime,
  10623. this.passwordRecords,
  10624. this.signature,
  10625. this.language,
  10626. this.enableReportLabel = false,
  10627. DateTime? createTime,
  10628. DateTime? updateTime,
  10629. }) : super(
  10630. createTime: createTime,
  10631. updateTime: updateTime,
  10632. );
  10633. factory UserPasswordDTO.fromJson(Map<String, dynamic> map) {
  10634. return UserPasswordDTO(
  10635. userCode: map['UserCode'],
  10636. userName: map['UserName'],
  10637. secretPassword: map['SecretPassword'],
  10638. phone: map['Phone'],
  10639. email: map['Email'],
  10640. nickName: map['NickName'],
  10641. fullName: map['FullName'],
  10642. headImageUrl: map['HeadImageUrl'],
  10643. organizationCode: map['OrganizationCode'],
  10644. rootOrganizationCode: map['RootOrganizationCode'],
  10645. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  10646. bindDevices: map['BindDevices'] != null ? map['BindDevices'].cast<String>().toList() : null,
  10647. lastIP: map['LastIP'],
  10648. logintimes: map['Logintimes'],
  10649. userState: UserInfoStateEnum.values.firstWhere((e) => e.index == map['UserState']),
  10650. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  10651. rankCodes: map['RankCodes'] != null ? map['RankCodes'].cast<String>().toList() : null,
  10652. positionCodes: map['PositionCodes'] != null ? map['PositionCodes'].cast<String>().toList() : null,
  10653. applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']),
  10654. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  10655. deletePatientCodes: map['DeletePatientCodes'] != null ? map['DeletePatientCodes'].cast<String>().toList() : null,
  10656. isBatchExportDiagnoseData: map['IsBatchExportDiagnoseData'],
  10657. bindAssistantUserCode: map['BindAssistantUserCode'],
  10658. bindAssistantDoctorUserCode: map['BindAssistantDoctorUserCode'],
  10659. passwordUpdateTime: map['PasswordUpdateTime'] != null ? DateTime.parse(map['PasswordUpdateTime']) : null,
  10660. passwordRecords: map['PasswordRecords'] != null ? map['PasswordRecords'].cast<String>().toList() : null,
  10661. signature: map['Signature'],
  10662. language: map['Language'],
  10663. enableReportLabel: map['EnableReportLabel'],
  10664. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  10665. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  10666. );
  10667. }
  10668. Map<String, dynamic> toJson() {
  10669. final map = super.toJson();
  10670. if(userCode != null)
  10671. map['UserCode'] = userCode;
  10672. if(userName != null)
  10673. map['UserName'] = userName;
  10674. if(secretPassword != null)
  10675. map['SecretPassword'] = secretPassword;
  10676. if(phone != null)
  10677. map['Phone'] = phone;
  10678. if(email != null)
  10679. map['Email'] = email;
  10680. if(nickName != null)
  10681. map['NickName'] = nickName;
  10682. if(fullName != null)
  10683. map['FullName'] = fullName;
  10684. if(headImageUrl != null)
  10685. map['HeadImageUrl'] = headImageUrl;
  10686. if(organizationCode != null)
  10687. map['OrganizationCode'] = organizationCode;
  10688. if(rootOrganizationCode != null)
  10689. map['RootOrganizationCode'] = rootOrganizationCode;
  10690. if(authorityGroups != null)
  10691. map['AuthorityGroups'] = authorityGroups;
  10692. if(bindDevices != null)
  10693. map['BindDevices'] = bindDevices;
  10694. if(lastIP != null)
  10695. map['LastIP'] = lastIP;
  10696. map['Logintimes'] = logintimes;
  10697. map['UserState'] = userState.index;
  10698. if(roleCodes != null)
  10699. map['RoleCodes'] = roleCodes;
  10700. if(rankCodes != null)
  10701. map['RankCodes'] = rankCodes;
  10702. if(positionCodes != null)
  10703. map['PositionCodes'] = positionCodes;
  10704. map['ApplyState'] = applyState.index;
  10705. if(fieldList != null)
  10706. map['FieldList'] = fieldList;
  10707. if(deletePatientCodes != null)
  10708. map['DeletePatientCodes'] = deletePatientCodes;
  10709. map['IsBatchExportDiagnoseData'] = isBatchExportDiagnoseData;
  10710. if(bindAssistantUserCode != null)
  10711. map['BindAssistantUserCode'] = bindAssistantUserCode;
  10712. if(bindAssistantDoctorUserCode != null)
  10713. map['BindAssistantDoctorUserCode'] = bindAssistantDoctorUserCode;
  10714. if(passwordUpdateTime != null)
  10715. map['PasswordUpdateTime'] = JsonRpcUtils.dateFormat(passwordUpdateTime!);
  10716. if(passwordRecords != null)
  10717. map['PasswordRecords'] = passwordRecords;
  10718. if(signature != null)
  10719. map['Signature'] = signature;
  10720. if(language != null)
  10721. map['Language'] = language;
  10722. map['EnableReportLabel'] = enableReportLabel;
  10723. return map;
  10724. }
  10725. }
  10726. class UserTokenDTO {
  10727. String? token;
  10728. bool passwordExpired;
  10729. UserTokenDTO({
  10730. this.token,
  10731. this.passwordExpired = false,
  10732. });
  10733. factory UserTokenDTO.fromJson(Map<String, dynamic> map) {
  10734. return UserTokenDTO(
  10735. token: map['Token'],
  10736. passwordExpired: map['PasswordExpired'],
  10737. );
  10738. }
  10739. Map<String, dynamic> toJson() {
  10740. final map = Map<String, dynamic>();
  10741. if(token != null)
  10742. map['Token'] = token;
  10743. map['PasswordExpired'] = passwordExpired;
  10744. return map;
  10745. }
  10746. }
  10747. class BaseFeatureItemBaseDTO<T> {
  10748. String? id;
  10749. String? label;
  10750. String? fatherCode;
  10751. String? uniqueCode;
  10752. List<T>? children;
  10753. BaseFeatureItemBaseDTO({
  10754. this.id,
  10755. this.label,
  10756. this.fatherCode,
  10757. this.uniqueCode,
  10758. this.children,
  10759. });
  10760. factory BaseFeatureItemBaseDTO.fromJson(Map<String, dynamic> map) {
  10761. List<T> childrenList = [];
  10762. if (map['Children'] != null) {
  10763. childrenList.addAll(
  10764. (map['Children'] as List).map((e) => FJsonConvert.fromJson<T>(e)!));
  10765. }
  10766. return BaseFeatureItemBaseDTO(
  10767. id: map['Id'],
  10768. label: map['Label'],
  10769. fatherCode: map['FatherCode'],
  10770. uniqueCode: map['UniqueCode'],
  10771. children: childrenList,
  10772. );
  10773. }
  10774. Map<String, dynamic> toJson() {
  10775. final map = Map<String, dynamic>();
  10776. if(id != null)
  10777. map['Id'] = id;
  10778. if(label != null)
  10779. map['Label'] = label;
  10780. if(fatherCode != null)
  10781. map['FatherCode'] = fatherCode;
  10782. if(uniqueCode != null)
  10783. map['UniqueCode'] = uniqueCode;
  10784. if(children != null)
  10785. map['Children'] = children;
  10786. return map;
  10787. }
  10788. }
  10789. class UserFeatureItemDTO extends BaseFeatureItemBaseDTO<UserFeatureItemDTO>{
  10790. UserFeatureItemDTO(
  10791. );
  10792. factory UserFeatureItemDTO.fromJson(Map<String, dynamic> map) {
  10793. return UserFeatureItemDTO(
  10794. );
  10795. }
  10796. Map<String, dynamic> toJson() {
  10797. final map = super.toJson();
  10798. return map;
  10799. }
  10800. }
  10801. class UserAuthorityGroupDTO extends BaseDTO{
  10802. String? userGroupCode;
  10803. String? description;
  10804. List<String >? adminCodes;
  10805. List<String >? features;
  10806. String? createAdmin;
  10807. UserAuthorityGroupDTO({
  10808. this.userGroupCode,
  10809. this.description,
  10810. this.adminCodes,
  10811. this.features,
  10812. this.createAdmin,
  10813. DateTime? createTime,
  10814. DateTime? updateTime,
  10815. }) : super(
  10816. createTime: createTime,
  10817. updateTime: updateTime,
  10818. );
  10819. factory UserAuthorityGroupDTO.fromJson(Map<String, dynamic> map) {
  10820. return UserAuthorityGroupDTO(
  10821. userGroupCode: map['UserGroupCode'],
  10822. description: map['Description'],
  10823. adminCodes: map['AdminCodes'] != null ? map['AdminCodes'].cast<String>().toList() : null,
  10824. features: map['Features'] != null ? map['Features'].cast<String>().toList() : null,
  10825. createAdmin: map['CreateAdmin'],
  10826. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  10827. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  10828. );
  10829. }
  10830. Map<String, dynamic> toJson() {
  10831. final map = super.toJson();
  10832. if(userGroupCode != null)
  10833. map['UserGroupCode'] = userGroupCode;
  10834. if(description != null)
  10835. map['Description'] = description;
  10836. if(adminCodes != null)
  10837. map['AdminCodes'] = adminCodes;
  10838. if(features != null)
  10839. map['Features'] = features;
  10840. if(createAdmin != null)
  10841. map['CreateAdmin'] = createAdmin;
  10842. return map;
  10843. }
  10844. }
  10845. class StorageInfoDTO extends BaseDTO{
  10846. String? token;
  10847. String? fileName;
  10848. String? storageRoute;
  10849. StorageInfoDTO({
  10850. this.token,
  10851. this.fileName,
  10852. this.storageRoute,
  10853. DateTime? createTime,
  10854. DateTime? updateTime,
  10855. }) : super(
  10856. createTime: createTime,
  10857. updateTime: updateTime,
  10858. );
  10859. factory StorageInfoDTO.fromJson(Map<String, dynamic> map) {
  10860. return StorageInfoDTO(
  10861. token: map['Token'],
  10862. fileName: map['FileName'],
  10863. storageRoute: map['StorageRoute'],
  10864. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  10865. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  10866. );
  10867. }
  10868. Map<String, dynamic> toJson() {
  10869. final map = super.toJson();
  10870. if(token != null)
  10871. map['Token'] = token;
  10872. if(fileName != null)
  10873. map['FileName'] = fileName;
  10874. if(storageRoute != null)
  10875. map['StorageRoute'] = storageRoute;
  10876. return map;
  10877. }
  10878. }
  10879. class StatisticDTO extends BaseDTO{
  10880. String? statisticCode;
  10881. String? name;
  10882. String? description;
  10883. String? intervalSetting;
  10884. bool enabled;
  10885. String? handleClass;
  10886. String? serverHost;
  10887. StatisticDTO({
  10888. this.statisticCode,
  10889. this.name,
  10890. this.description,
  10891. this.intervalSetting,
  10892. this.enabled = false,
  10893. this.handleClass,
  10894. this.serverHost,
  10895. DateTime? createTime,
  10896. DateTime? updateTime,
  10897. }) : super(
  10898. createTime: createTime,
  10899. updateTime: updateTime,
  10900. );
  10901. factory StatisticDTO.fromJson(Map<String, dynamic> map) {
  10902. return StatisticDTO(
  10903. statisticCode: map['StatisticCode'],
  10904. name: map['Name'],
  10905. description: map['Description'],
  10906. intervalSetting: map['IntervalSetting'],
  10907. enabled: map['Enabled'],
  10908. handleClass: map['HandleClass'],
  10909. serverHost: map['ServerHost'],
  10910. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  10911. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  10912. );
  10913. }
  10914. Map<String, dynamic> toJson() {
  10915. final map = super.toJson();
  10916. if(statisticCode != null)
  10917. map['StatisticCode'] = statisticCode;
  10918. if(name != null)
  10919. map['Name'] = name;
  10920. if(description != null)
  10921. map['Description'] = description;
  10922. if(intervalSetting != null)
  10923. map['IntervalSetting'] = intervalSetting;
  10924. map['Enabled'] = enabled;
  10925. if(handleClass != null)
  10926. map['HandleClass'] = handleClass;
  10927. if(serverHost != null)
  10928. map['ServerHost'] = serverHost;
  10929. return map;
  10930. }
  10931. }
  10932. class StatisticInfoDTO {
  10933. List<String >? xAxisDatas;
  10934. List<List<double> >? yAxisDatas;
  10935. List<StatisticInfoDTO >? children;
  10936. StatisticInfoDTO({
  10937. this.xAxisDatas,
  10938. this.yAxisDatas,
  10939. this.children,
  10940. });
  10941. factory StatisticInfoDTO.fromJson(Map<String, dynamic> map) {
  10942. return StatisticInfoDTO(
  10943. xAxisDatas: map['XAxisDatas'] != null ? map['XAxisDatas'].cast<String>().toList() : null,
  10944. yAxisDatas: map['YAxisDatas'] != null ? map['YAxisDatas'].cast<List<double>>().toList() : null,
  10945. children: map['Children'] != null ? (map['Children'] as List).map((e)=>StatisticInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  10946. );
  10947. }
  10948. Map<String, dynamic> toJson() {
  10949. final map = Map<String, dynamic>();
  10950. if(xAxisDatas != null)
  10951. map['XAxisDatas'] = xAxisDatas;
  10952. if(yAxisDatas != null)
  10953. map['YAxisDatas'] = yAxisDatas;
  10954. if(children != null)
  10955. map['Children'] = children;
  10956. return map;
  10957. }
  10958. }
  10959. class StatisticRecordDTO extends BaseDTO{
  10960. String? statisticRecordCode;
  10961. String? statisticCode;
  10962. String? statisticName;
  10963. String? userCode;
  10964. DateTime? lastestUpdateTime;
  10965. DateTime? nextHandleTime;
  10966. List<String >? xAxisDatas;
  10967. List<List<double> >? yAxisDatas;
  10968. List<StatisticInfoDTO >? children;
  10969. StatisticRecordDTO({
  10970. this.statisticRecordCode,
  10971. this.statisticCode,
  10972. this.statisticName,
  10973. this.userCode,
  10974. this.lastestUpdateTime,
  10975. this.nextHandleTime,
  10976. this.xAxisDatas,
  10977. this.yAxisDatas,
  10978. this.children,
  10979. DateTime? createTime,
  10980. DateTime? updateTime,
  10981. }) : super(
  10982. createTime: createTime,
  10983. updateTime: updateTime,
  10984. );
  10985. factory StatisticRecordDTO.fromJson(Map<String, dynamic> map) {
  10986. return StatisticRecordDTO(
  10987. statisticRecordCode: map['StatisticRecordCode'],
  10988. statisticCode: map['StatisticCode'],
  10989. statisticName: map['StatisticName'],
  10990. userCode: map['UserCode'],
  10991. lastestUpdateTime: map['LastestUpdateTime'] != null ? DateTime.parse(map['LastestUpdateTime']) : null,
  10992. nextHandleTime: map['NextHandleTime'] != null ? DateTime.parse(map['NextHandleTime']) : null,
  10993. xAxisDatas: map['XAxisDatas'] != null ? map['XAxisDatas'].cast<String>().toList() : null,
  10994. yAxisDatas: map['YAxisDatas'] != null ? map['YAxisDatas'].cast<List<double>>().toList() : null,
  10995. children: map['Children'] != null ? (map['Children'] as List).map((e)=>StatisticInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  10996. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  10997. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  10998. );
  10999. }
  11000. Map<String, dynamic> toJson() {
  11001. final map = super.toJson();
  11002. if(statisticRecordCode != null)
  11003. map['StatisticRecordCode'] = statisticRecordCode;
  11004. if(statisticCode != null)
  11005. map['StatisticCode'] = statisticCode;
  11006. if(statisticName != null)
  11007. map['StatisticName'] = statisticName;
  11008. if(userCode != null)
  11009. map['UserCode'] = userCode;
  11010. if(lastestUpdateTime != null)
  11011. map['LastestUpdateTime'] = JsonRpcUtils.dateFormat(lastestUpdateTime!);
  11012. if(nextHandleTime != null)
  11013. map['NextHandleTime'] = JsonRpcUtils.dateFormat(nextHandleTime!);
  11014. if(xAxisDatas != null)
  11015. map['XAxisDatas'] = xAxisDatas;
  11016. if(yAxisDatas != null)
  11017. map['YAxisDatas'] = yAxisDatas;
  11018. if(children != null)
  11019. map['Children'] = children;
  11020. return map;
  11021. }
  11022. }
  11023. class ServerListResult extends BaseServerResult{
  11024. bool isDistributed;
  11025. List<ServerInfoDTO >? serverList;
  11026. ServerListResult({
  11027. this.isDistributed = false,
  11028. this.serverList,
  11029. int code = 0,
  11030. }) : super(
  11031. code: code,
  11032. );
  11033. factory ServerListResult.fromJson(Map<String, dynamic> map) {
  11034. return ServerListResult(
  11035. isDistributed: map['IsDistributed'],
  11036. serverList: map['ServerList'] != null ? (map['ServerList'] as List).map((e)=>ServerInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11037. code: map['Code'],
  11038. );
  11039. }
  11040. Map<String, dynamic> toJson() {
  11041. final map = super.toJson();
  11042. map['IsDistributed'] = isDistributed;
  11043. if(serverList != null)
  11044. map['ServerList'] = serverList;
  11045. return map;
  11046. }
  11047. }
  11048. class LoginSuccessResult extends BaseServerResult{
  11049. LoginSuccessResult({
  11050. int code = 0,
  11051. }) : super(
  11052. code: code,
  11053. );
  11054. factory LoginSuccessResult.fromJson(Map<String, dynamic> map) {
  11055. return LoginSuccessResult(
  11056. code: map['Code'],
  11057. );
  11058. }
  11059. Map<String, dynamic> toJson() {
  11060. final map = super.toJson();
  11061. return map;
  11062. }
  11063. }
  11064. class ScheduleDTO extends ClientScheduleDTO{
  11065. List<String >? userCodes;
  11066. String? code;
  11067. ScheduleDTO({
  11068. this.userCodes,
  11069. this.code,
  11070. String? title,
  11071. TransactionStatusEnum status = TransactionStatusEnum.Applied,
  11072. ScheduleTypeEnum scheduleType = ScheduleTypeEnum.Consultation,
  11073. DateTime? startTime,
  11074. DateTime? endTime,
  11075. String? relevanceCode,
  11076. }) : super(
  11077. title: title,
  11078. status: status,
  11079. scheduleType: scheduleType,
  11080. startTime: startTime,
  11081. endTime: endTime,
  11082. relevanceCode: relevanceCode,
  11083. );
  11084. factory ScheduleDTO.fromJson(Map<String, dynamic> map) {
  11085. return ScheduleDTO(
  11086. userCodes: map['UserCodes'] != null ? map['UserCodes'].cast<String>().toList() : null,
  11087. code: map['Code'],
  11088. title: map['Title'],
  11089. status: TransactionStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  11090. scheduleType: ScheduleTypeEnum.values.firstWhere((e) => e.index == map['ScheduleType']),
  11091. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  11092. endTime: map['EndTime'] != null ? DateTime.parse(map['EndTime']) : null,
  11093. relevanceCode: map['RelevanceCode'],
  11094. );
  11095. }
  11096. Map<String, dynamic> toJson() {
  11097. final map = super.toJson();
  11098. if(userCodes != null)
  11099. map['UserCodes'] = userCodes;
  11100. if(code != null)
  11101. map['Code'] = code;
  11102. return map;
  11103. }
  11104. }
  11105. class LiveMemberDTO {
  11106. String? code;
  11107. LiveMemberEnum memberType;
  11108. String? name;
  11109. String? headImageToken;
  11110. LiveMemberStatus status;
  11111. bool muteOpened;
  11112. bool videoOpened;
  11113. LiveDataDTO? liveData;
  11114. bool isControllingParameter;
  11115. DateTime? firstJoinTime;
  11116. int sortLevel;
  11117. List<VideoDeviceInfoDTO >? videoDeviceInfos;
  11118. LoginSource loginSource;
  11119. String? inviterCode;
  11120. LiveMemberDTO({
  11121. this.code,
  11122. this.memberType = LiveMemberEnum.User,
  11123. this.name,
  11124. this.headImageToken,
  11125. this.status = LiveMemberStatus.Default,
  11126. this.muteOpened = false,
  11127. this.videoOpened = false,
  11128. this.liveData,
  11129. this.isControllingParameter = false,
  11130. this.firstJoinTime,
  11131. this.sortLevel = 0,
  11132. this.videoDeviceInfos,
  11133. this.loginSource = LoginSource.PC,
  11134. this.inviterCode,
  11135. });
  11136. factory LiveMemberDTO.fromJson(Map<String, dynamic> map) {
  11137. return LiveMemberDTO(
  11138. code: map['Code'],
  11139. memberType: LiveMemberEnum.values.firstWhere((e) => e.index == map['MemberType']),
  11140. name: map['Name'],
  11141. headImageToken: map['HeadImageToken'],
  11142. status: LiveMemberStatus.values.firstWhere((e) => e.index == map['Status']),
  11143. muteOpened: map['MuteOpened'],
  11144. videoOpened: map['VideoOpened'],
  11145. liveData: map['LiveData'] != null ? LiveDataDTO.fromJson(map['LiveData']) : null,
  11146. isControllingParameter: map['IsControllingParameter'],
  11147. firstJoinTime: map['FirstJoinTime'] != null ? DateTime.parse(map['FirstJoinTime']) : null,
  11148. sortLevel: map['SortLevel'],
  11149. videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11150. loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
  11151. inviterCode: map['InviterCode'],
  11152. );
  11153. }
  11154. Map<String, dynamic> toJson() {
  11155. final map = Map<String, dynamic>();
  11156. if(code != null)
  11157. map['Code'] = code;
  11158. map['MemberType'] = memberType.index;
  11159. if(name != null)
  11160. map['Name'] = name;
  11161. if(headImageToken != null)
  11162. map['HeadImageToken'] = headImageToken;
  11163. map['Status'] = status.index;
  11164. map['MuteOpened'] = muteOpened;
  11165. map['VideoOpened'] = videoOpened;
  11166. if(liveData != null)
  11167. map['LiveData'] = liveData;
  11168. map['IsControllingParameter'] = isControllingParameter;
  11169. if(firstJoinTime != null)
  11170. map['FirstJoinTime'] = JsonRpcUtils.dateFormat(firstJoinTime!);
  11171. map['SortLevel'] = sortLevel;
  11172. if(videoDeviceInfos != null)
  11173. map['VideoDeviceInfos'] = videoDeviceInfos;
  11174. map['LoginSource'] = loginSource.index;
  11175. if(inviterCode != null)
  11176. map['InviterCode'] = inviterCode;
  11177. return map;
  11178. }
  11179. }
  11180. class LiveViewerDTO {
  11181. String? userCode;
  11182. String? name;
  11183. DateTime? lastReportTime;
  11184. LiveViewerDTO({
  11185. this.userCode,
  11186. this.name,
  11187. this.lastReportTime,
  11188. });
  11189. factory LiveViewerDTO.fromJson(Map<String, dynamic> map) {
  11190. return LiveViewerDTO(
  11191. userCode: map['UserCode'],
  11192. name: map['Name'],
  11193. lastReportTime: map['LastReportTime'] != null ? DateTime.parse(map['LastReportTime']) : null,
  11194. );
  11195. }
  11196. Map<String, dynamic> toJson() {
  11197. final map = Map<String, dynamic>();
  11198. if(userCode != null)
  11199. map['UserCode'] = userCode;
  11200. if(name != null)
  11201. map['Name'] = name;
  11202. if(lastReportTime != null)
  11203. map['LastReportTime'] = JsonRpcUtils.dateFormat(lastReportTime!);
  11204. return map;
  11205. }
  11206. }
  11207. class LiveRoomInfoDTO {
  11208. String? roomId;
  11209. int roomNo;
  11210. String? msgQueueId;
  11211. List<LiveMemberDTO >? members;
  11212. List<LiveViewerDTO >? viewerInfos;
  11213. LiveMemberDTO? initiator;
  11214. List<LiveMemberDTO >? userInfos;
  11215. List<LiveMemberDTO >? deviceInfos;
  11216. List<LiveMemberDTO >? expertUserInfos;
  11217. List<LiveMemberDTO >? assistantsInfos;
  11218. LiveRoomStatus status;
  11219. String? name;
  11220. DateTime? liveTime;
  11221. int liveStatus;
  11222. List<InteractiveBoardDataDTO >? interactiveBoardDatas;
  11223. LiveRoomInfoDTO({
  11224. this.roomId,
  11225. this.roomNo = 0,
  11226. this.msgQueueId,
  11227. this.members,
  11228. this.viewerInfos,
  11229. this.initiator,
  11230. this.userInfos,
  11231. this.deviceInfos,
  11232. this.expertUserInfos,
  11233. this.assistantsInfos,
  11234. this.status = LiveRoomStatus.Default,
  11235. this.name,
  11236. this.liveTime,
  11237. this.liveStatus = 0,
  11238. this.interactiveBoardDatas,
  11239. });
  11240. factory LiveRoomInfoDTO.fromJson(Map<String, dynamic> map) {
  11241. return LiveRoomInfoDTO(
  11242. roomId: map['RoomId'],
  11243. roomNo: map['RoomNo'],
  11244. msgQueueId: map['MsgQueueId'],
  11245. members: map['Members'] != null ? (map['Members'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11246. viewerInfos: map['ViewerInfos'] != null ? (map['ViewerInfos'] as List).map((e)=>LiveViewerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11247. initiator: map['Initiator'] != null ? LiveMemberDTO.fromJson(map['Initiator']) : null,
  11248. userInfos: map['UserInfos'] != null ? (map['UserInfos'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11249. deviceInfos: map['DeviceInfos'] != null ? (map['DeviceInfos'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11250. expertUserInfos: map['ExpertUserInfos'] != null ? (map['ExpertUserInfos'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11251. assistantsInfos: map['AssistantsInfos'] != null ? (map['AssistantsInfos'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11252. status: LiveRoomStatus.values.firstWhere((e) => e.index == map['Status']),
  11253. name: map['Name'],
  11254. liveTime: map['LiveTime'] != null ? DateTime.parse(map['LiveTime']) : null,
  11255. liveStatus: map['LiveStatus'],
  11256. interactiveBoardDatas: map['InteractiveBoardDatas'] != null ? (map['InteractiveBoardDatas'] as List).map((e)=>InteractiveBoardDataDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11257. );
  11258. }
  11259. Map<String, dynamic> toJson() {
  11260. final map = Map<String, dynamic>();
  11261. if(roomId != null)
  11262. map['RoomId'] = roomId;
  11263. map['RoomNo'] = roomNo;
  11264. if(msgQueueId != null)
  11265. map['MsgQueueId'] = msgQueueId;
  11266. if(members != null)
  11267. map['Members'] = members;
  11268. if(viewerInfos != null)
  11269. map['ViewerInfos'] = viewerInfos;
  11270. if(initiator != null)
  11271. map['Initiator'] = initiator;
  11272. if(userInfos != null)
  11273. map['UserInfos'] = userInfos;
  11274. if(deviceInfos != null)
  11275. map['DeviceInfos'] = deviceInfos;
  11276. if(expertUserInfos != null)
  11277. map['ExpertUserInfos'] = expertUserInfos;
  11278. if(assistantsInfos != null)
  11279. map['AssistantsInfos'] = assistantsInfos;
  11280. map['Status'] = status.index;
  11281. if(name != null)
  11282. map['Name'] = name;
  11283. if(liveTime != null)
  11284. map['LiveTime'] = JsonRpcUtils.dateFormat(liveTime!);
  11285. map['LiveStatus'] = liveStatus;
  11286. if(interactiveBoardDatas != null)
  11287. map['InteractiveBoardDatas'] = interactiveBoardDatas;
  11288. return map;
  11289. }
  11290. }
  11291. class RtcBoardDataDTO {
  11292. String? userCode;
  11293. String? boardData;
  11294. DateTime? interactiveTime;
  11295. RtcBoardDataDTO({
  11296. this.userCode,
  11297. this.boardData,
  11298. this.interactiveTime,
  11299. });
  11300. factory RtcBoardDataDTO.fromJson(Map<String, dynamic> map) {
  11301. return RtcBoardDataDTO(
  11302. userCode: map['UserCode'],
  11303. boardData: map['BoardData'],
  11304. interactiveTime: map['InteractiveTime'] != null ? DateTime.parse(map['InteractiveTime']) : null,
  11305. );
  11306. }
  11307. Map<String, dynamic> toJson() {
  11308. final map = Map<String, dynamic>();
  11309. if(userCode != null)
  11310. map['UserCode'] = userCode;
  11311. if(boardData != null)
  11312. map['BoardData'] = boardData;
  11313. if(interactiveTime != null)
  11314. map['InteractiveTime'] = JsonRpcUtils.dateFormat(interactiveTime!);
  11315. return map;
  11316. }
  11317. }
  11318. class RtcLiveDataDTO {
  11319. String? pullUrl;
  11320. RtcLiveDataDTO({
  11321. this.pullUrl,
  11322. });
  11323. factory RtcLiveDataDTO.fromJson(Map<String, dynamic> map) {
  11324. return RtcLiveDataDTO(
  11325. pullUrl: map['PullUrl'],
  11326. );
  11327. }
  11328. Map<String, dynamic> toJson() {
  11329. final map = Map<String, dynamic>();
  11330. if(pullUrl != null)
  11331. map['PullUrl'] = pullUrl;
  11332. return map;
  11333. }
  11334. }
  11335. class RtcMemberDTO {
  11336. String? id;
  11337. String? name;
  11338. String? avatarUrl;
  11339. LiveMemberEnum memberType;
  11340. LiveMemberStatus status;
  11341. bool muteOpened;
  11342. bool videoOpened;
  11343. bool isInitiator;
  11344. bool isControllingParameter;
  11345. RtcLiveDataDTO? rtcLiveData;
  11346. RtcMemberDTO({
  11347. this.id,
  11348. this.name,
  11349. this.avatarUrl,
  11350. this.memberType = LiveMemberEnum.User,
  11351. this.status = LiveMemberStatus.Default,
  11352. this.muteOpened = false,
  11353. this.videoOpened = false,
  11354. this.isInitiator = false,
  11355. this.isControllingParameter = false,
  11356. this.rtcLiveData,
  11357. });
  11358. factory RtcMemberDTO.fromJson(Map<String, dynamic> map) {
  11359. return RtcMemberDTO(
  11360. id: map['Id'],
  11361. name: map['Name'],
  11362. avatarUrl: map['AvatarUrl'],
  11363. memberType: LiveMemberEnum.values.firstWhere((e) => e.index == map['MemberType']),
  11364. status: LiveMemberStatus.values.firstWhere((e) => e.index == map['Status']),
  11365. muteOpened: map['MuteOpened'],
  11366. videoOpened: map['VideoOpened'],
  11367. isInitiator: map['IsInitiator'],
  11368. isControllingParameter: map['IsControllingParameter'],
  11369. rtcLiveData: map['RtcLiveData'] != null ? RtcLiveDataDTO.fromJson(map['RtcLiveData']) : null,
  11370. );
  11371. }
  11372. Map<String, dynamic> toJson() {
  11373. final map = Map<String, dynamic>();
  11374. if(id != null)
  11375. map['Id'] = id;
  11376. if(name != null)
  11377. map['Name'] = name;
  11378. if(avatarUrl != null)
  11379. map['AvatarUrl'] = avatarUrl;
  11380. map['MemberType'] = memberType.index;
  11381. map['Status'] = status.index;
  11382. map['MuteOpened'] = muteOpened;
  11383. map['VideoOpened'] = videoOpened;
  11384. map['IsInitiator'] = isInitiator;
  11385. map['IsControllingParameter'] = isControllingParameter;
  11386. if(rtcLiveData != null)
  11387. map['RtcLiveData'] = rtcLiveData;
  11388. return map;
  11389. }
  11390. }
  11391. class RtcViewerDTO {
  11392. String? userCode;
  11393. DateTime? lastReportTime;
  11394. RtcViewerDTO({
  11395. this.userCode,
  11396. this.lastReportTime,
  11397. });
  11398. factory RtcViewerDTO.fromJson(Map<String, dynamic> map) {
  11399. return RtcViewerDTO(
  11400. userCode: map['UserCode'],
  11401. lastReportTime: map['LastReportTime'] != null ? DateTime.parse(map['LastReportTime']) : null,
  11402. );
  11403. }
  11404. Map<String, dynamic> toJson() {
  11405. final map = Map<String, dynamic>();
  11406. if(userCode != null)
  11407. map['UserCode'] = userCode;
  11408. if(lastReportTime != null)
  11409. map['LastReportTime'] = JsonRpcUtils.dateFormat(lastReportTime!);
  11410. return map;
  11411. }
  11412. }
  11413. class RtcRoomDTO {
  11414. String? liveRoomCode;
  11415. String? name;
  11416. String? initiateCode;
  11417. int rtcRoomId;
  11418. int sdkAppId;
  11419. String? msgQueueId;
  11420. LiveRoomStatus status;
  11421. List<RtcMemberDTO >? members;
  11422. List<RtcViewerDTO >? viewers;
  11423. List<RtcBoardDataDTO >? interactiveBoardDatas;
  11424. RtcRoomDTO({
  11425. this.liveRoomCode,
  11426. this.name,
  11427. this.initiateCode,
  11428. this.rtcRoomId = 0,
  11429. this.sdkAppId = 0,
  11430. this.msgQueueId,
  11431. this.status = LiveRoomStatus.Default,
  11432. this.members,
  11433. this.viewers,
  11434. this.interactiveBoardDatas,
  11435. });
  11436. factory RtcRoomDTO.fromJson(Map<String, dynamic> map) {
  11437. return RtcRoomDTO(
  11438. liveRoomCode: map['LiveRoomCode'],
  11439. name: map['Name'],
  11440. initiateCode: map['InitiateCode'],
  11441. rtcRoomId: map['RtcRoomId'],
  11442. sdkAppId: map['SdkAppId'],
  11443. msgQueueId: map['MsgQueueId'],
  11444. status: LiveRoomStatus.values.firstWhere((e) => e.index == map['Status']),
  11445. members: map['Members'] != null ? (map['Members'] as List).map((e)=>RtcMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11446. viewers: map['Viewers'] != null ? (map['Viewers'] as List).map((e)=>RtcViewerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11447. interactiveBoardDatas: map['InteractiveBoardDatas'] != null ? (map['InteractiveBoardDatas'] as List).map((e)=>RtcBoardDataDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11448. );
  11449. }
  11450. Map<String, dynamic> toJson() {
  11451. final map = Map<String, dynamic>();
  11452. if(liveRoomCode != null)
  11453. map['LiveRoomCode'] = liveRoomCode;
  11454. if(name != null)
  11455. map['Name'] = name;
  11456. if(initiateCode != null)
  11457. map['InitiateCode'] = initiateCode;
  11458. map['RtcRoomId'] = rtcRoomId;
  11459. map['SdkAppId'] = sdkAppId;
  11460. if(msgQueueId != null)
  11461. map['MsgQueueId'] = msgQueueId;
  11462. map['Status'] = status.index;
  11463. if(members != null)
  11464. map['Members'] = members;
  11465. if(viewers != null)
  11466. map['Viewers'] = viewers;
  11467. if(interactiveBoardDatas != null)
  11468. map['InteractiveBoardDatas'] = interactiveBoardDatas;
  11469. return map;
  11470. }
  11471. }
  11472. class ReportElementDTO {
  11473. String? key;
  11474. String? tagId;
  11475. String? name;
  11476. String? aILanguage;
  11477. ReportElementDTO({
  11478. this.key,
  11479. this.tagId,
  11480. this.name,
  11481. this.aILanguage,
  11482. });
  11483. factory ReportElementDTO.fromJson(Map<String, dynamic> map) {
  11484. return ReportElementDTO(
  11485. key: map['Key'],
  11486. tagId: map['TagId'],
  11487. name: map['Name'],
  11488. aILanguage: map['AILanguage'],
  11489. );
  11490. }
  11491. Map<String, dynamic> toJson() {
  11492. final map = Map<String, dynamic>();
  11493. if(key != null)
  11494. map['Key'] = key;
  11495. if(tagId != null)
  11496. map['TagId'] = tagId;
  11497. if(name != null)
  11498. map['Name'] = name;
  11499. if(aILanguage != null)
  11500. map['AILanguage'] = aILanguage;
  11501. return map;
  11502. }
  11503. }
  11504. class ReportPosterDTO extends BaseDTO{
  11505. String? reportPosterCode;
  11506. String? receiverName;
  11507. String? contact;
  11508. String? phone;
  11509. String? targetUrl;
  11510. String? template;
  11511. ReportPosterTypeEnum posterType;
  11512. ReportFormatEnum reportFormat;
  11513. int postTimeout;
  11514. List<String >? deviceIds;
  11515. ReportPosterDTO({
  11516. this.reportPosterCode,
  11517. this.receiverName,
  11518. this.contact,
  11519. this.phone,
  11520. this.targetUrl,
  11521. this.template,
  11522. this.posterType = ReportPosterTypeEnum.Default,
  11523. this.reportFormat = ReportFormatEnum.Json,
  11524. this.postTimeout = 0,
  11525. this.deviceIds,
  11526. DateTime? createTime,
  11527. DateTime? updateTime,
  11528. }) : super(
  11529. createTime: createTime,
  11530. updateTime: updateTime,
  11531. );
  11532. factory ReportPosterDTO.fromJson(Map<String, dynamic> map) {
  11533. return ReportPosterDTO(
  11534. reportPosterCode: map['ReportPosterCode'],
  11535. receiverName: map['ReceiverName'],
  11536. contact: map['Contact'],
  11537. phone: map['Phone'],
  11538. targetUrl: map['TargetUrl'],
  11539. template: map['Template'],
  11540. posterType: ReportPosterTypeEnum.values.firstWhere((e) => e.index == map['PosterType']),
  11541. reportFormat: ReportFormatEnum.values.firstWhere((e) => e.index == map['ReportFormat']),
  11542. postTimeout: map['PostTimeout'],
  11543. deviceIds: map['DeviceIds'] != null ? map['DeviceIds'].cast<String>().toList() : null,
  11544. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  11545. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  11546. );
  11547. }
  11548. Map<String, dynamic> toJson() {
  11549. final map = super.toJson();
  11550. if(reportPosterCode != null)
  11551. map['ReportPosterCode'] = reportPosterCode;
  11552. if(receiverName != null)
  11553. map['ReceiverName'] = receiverName;
  11554. if(contact != null)
  11555. map['Contact'] = contact;
  11556. if(phone != null)
  11557. map['Phone'] = phone;
  11558. if(targetUrl != null)
  11559. map['TargetUrl'] = targetUrl;
  11560. if(template != null)
  11561. map['Template'] = template;
  11562. map['PosterType'] = posterType.index;
  11563. map['ReportFormat'] = reportFormat.index;
  11564. map['PostTimeout'] = postTimeout;
  11565. if(deviceIds != null)
  11566. map['DeviceIds'] = deviceIds;
  11567. return map;
  11568. }
  11569. }
  11570. class ReportPushRecordDTO extends BaseDTO{
  11571. String? pushRecordCode;
  11572. String? patientId;
  11573. String? patientName;
  11574. String? poseterConfigId;
  11575. PushDataStateEnum state;
  11576. String? poseterConfigName;
  11577. String? reportId;
  11578. String? patientRecordId;
  11579. String? pushResultToken;
  11580. String? pushResponse;
  11581. ReportPushRecordDTO({
  11582. this.pushRecordCode,
  11583. this.patientId,
  11584. this.patientName,
  11585. this.poseterConfigId,
  11586. this.state = PushDataStateEnum.UnDo,
  11587. this.poseterConfigName,
  11588. this.reportId,
  11589. this.patientRecordId,
  11590. this.pushResultToken,
  11591. this.pushResponse,
  11592. DateTime? createTime,
  11593. DateTime? updateTime,
  11594. }) : super(
  11595. createTime: createTime,
  11596. updateTime: updateTime,
  11597. );
  11598. factory ReportPushRecordDTO.fromJson(Map<String, dynamic> map) {
  11599. return ReportPushRecordDTO(
  11600. pushRecordCode: map['PushRecordCode'],
  11601. patientId: map['PatientId'],
  11602. patientName: map['PatientName'],
  11603. poseterConfigId: map['PoseterConfigId'],
  11604. state: PushDataStateEnum.values.firstWhere((e) => e.index == map['State']),
  11605. poseterConfigName: map['PoseterConfigName'],
  11606. reportId: map['ReportId'],
  11607. patientRecordId: map['PatientRecordId'],
  11608. pushResultToken: map['PushResultToken'],
  11609. pushResponse: map['PushResponse'],
  11610. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  11611. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  11612. );
  11613. }
  11614. Map<String, dynamic> toJson() {
  11615. final map = super.toJson();
  11616. if(pushRecordCode != null)
  11617. map['PushRecordCode'] = pushRecordCode;
  11618. if(patientId != null)
  11619. map['PatientId'] = patientId;
  11620. if(patientName != null)
  11621. map['PatientName'] = patientName;
  11622. if(poseterConfigId != null)
  11623. map['PoseterConfigId'] = poseterConfigId;
  11624. map['State'] = state.index;
  11625. if(poseterConfigName != null)
  11626. map['PoseterConfigName'] = poseterConfigName;
  11627. if(reportId != null)
  11628. map['ReportId'] = reportId;
  11629. if(patientRecordId != null)
  11630. map['PatientRecordId'] = patientRecordId;
  11631. if(pushResultToken != null)
  11632. map['PushResultToken'] = pushResultToken;
  11633. if(pushResponse != null)
  11634. map['PushResponse'] = pushResponse;
  11635. return map;
  11636. }
  11637. }
  11638. class RegionItemDTO {
  11639. String? c;
  11640. String? g;
  11641. String? f;
  11642. String? n;
  11643. RegionItemDTO({
  11644. this.c,
  11645. this.g,
  11646. this.f,
  11647. this.n,
  11648. });
  11649. factory RegionItemDTO.fromJson(Map<String, dynamic> map) {
  11650. return RegionItemDTO(
  11651. c: map['c'],
  11652. g: map['g'],
  11653. f: map['f'],
  11654. n: map['n'],
  11655. );
  11656. }
  11657. Map<String, dynamic> toJson() {
  11658. final map = Map<String, dynamic>();
  11659. if(c != null)
  11660. map['c'] = c;
  11661. if(g != null)
  11662. map['g'] = g;
  11663. if(f != null)
  11664. map['f'] = f;
  11665. if(n != null)
  11666. map['n'] = n;
  11667. return map;
  11668. }
  11669. }
  11670. class RegionDataDTO {
  11671. String? lang;
  11672. List<RegionItemDTO >? datas;
  11673. RegionDataDTO({
  11674. this.lang,
  11675. this.datas,
  11676. });
  11677. factory RegionDataDTO.fromJson(Map<String, dynamic> map) {
  11678. return RegionDataDTO(
  11679. lang: map['lang'],
  11680. datas: map['datas'] != null ? (map['datas'] as List).map((e)=>RegionItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  11681. );
  11682. }
  11683. Map<String, dynamic> toJson() {
  11684. final map = Map<String, dynamic>();
  11685. if(lang != null)
  11686. map['lang'] = lang;
  11687. if(datas != null)
  11688. map['datas'] = datas;
  11689. return map;
  11690. }
  11691. }
  11692. class ReferralRecordSettingDTO extends BaseDTO{
  11693. String? referralRecordSettingCode;
  11694. double limitHours;
  11695. ReferralRecordSettingDTO({
  11696. this.referralRecordSettingCode,
  11697. this.limitHours = 0,
  11698. DateTime? createTime,
  11699. DateTime? updateTime,
  11700. }) : super(
  11701. createTime: createTime,
  11702. updateTime: updateTime,
  11703. );
  11704. factory ReferralRecordSettingDTO.fromJson(Map<String, dynamic> map) {
  11705. return ReferralRecordSettingDTO(
  11706. referralRecordSettingCode: map['ReferralRecordSettingCode'],
  11707. limitHours: double.parse(map['LimitHours'].toString()),
  11708. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  11709. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  11710. );
  11711. }
  11712. Map<String, dynamic> toJson() {
  11713. final map = super.toJson();
  11714. if(referralRecordSettingCode != null)
  11715. map['ReferralRecordSettingCode'] = referralRecordSettingCode;
  11716. map['LimitHours'] = limitHours;
  11717. return map;
  11718. }
  11719. }
  11720. class CreatePaymentRecordResultDTO {
  11721. String? paymentRecordCode;
  11722. CreatePaymentRecordResultDTO({
  11723. this.paymentRecordCode,
  11724. });
  11725. factory CreatePaymentRecordResultDTO.fromJson(Map<String, dynamic> map) {
  11726. return CreatePaymentRecordResultDTO(
  11727. paymentRecordCode: map['PaymentRecordCode'],
  11728. );
  11729. }
  11730. Map<String, dynamic> toJson() {
  11731. final map = Map<String, dynamic>();
  11732. if(paymentRecordCode != null)
  11733. map['PaymentRecordCode'] = paymentRecordCode;
  11734. return map;
  11735. }
  11736. }
  11737. class CreateProductDTO extends BaseDTO{
  11738. String? productCode;
  11739. CreateProductDTO({
  11740. this.productCode,
  11741. DateTime? createTime,
  11742. DateTime? updateTime,
  11743. }) : super(
  11744. createTime: createTime,
  11745. updateTime: updateTime,
  11746. );
  11747. factory CreateProductDTO.fromJson(Map<String, dynamic> map) {
  11748. return CreateProductDTO(
  11749. productCode: map['ProductCode'],
  11750. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  11751. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  11752. );
  11753. }
  11754. Map<String, dynamic> toJson() {
  11755. final map = super.toJson();
  11756. if(productCode != null)
  11757. map['ProductCode'] = productCode;
  11758. return map;
  11759. }
  11760. }
  11761. class PaymentRecordDTO extends BaseDTO{
  11762. String? orderCode;
  11763. double payAmount;
  11764. DateTime? payTime;
  11765. PayStatusEnum payStatus;
  11766. PayTypeEnum payType;
  11767. String? payReqContent;
  11768. String? payResContent;
  11769. PaymentRecordDTO({
  11770. this.orderCode,
  11771. this.payAmount = 0,
  11772. this.payTime,
  11773. this.payStatus = PayStatusEnum.NoPay,
  11774. this.payType = PayTypeEnum.Alipay_PAGE,
  11775. this.payReqContent,
  11776. this.payResContent,
  11777. DateTime? createTime,
  11778. DateTime? updateTime,
  11779. }) : super(
  11780. createTime: createTime,
  11781. updateTime: updateTime,
  11782. );
  11783. factory PaymentRecordDTO.fromJson(Map<String, dynamic> map) {
  11784. return PaymentRecordDTO(
  11785. orderCode: map['OrderCode'],
  11786. payAmount: double.parse(map['PayAmount'].toString()),
  11787. payTime: map['PayTime'] != null ? DateTime.parse(map['PayTime']) : null,
  11788. payStatus: PayStatusEnum.values.firstWhere((e) => e.index == map['PayStatus']),
  11789. payType: PayTypeEnum.values.firstWhere((e) => e.index == map['PayType']),
  11790. payReqContent: map['PayReqContent'],
  11791. payResContent: map['PayResContent'],
  11792. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  11793. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  11794. );
  11795. }
  11796. Map<String, dynamic> toJson() {
  11797. final map = super.toJson();
  11798. if(orderCode != null)
  11799. map['OrderCode'] = orderCode;
  11800. map['PayAmount'] = payAmount;
  11801. if(payTime != null)
  11802. map['PayTime'] = JsonRpcUtils.dateFormat(payTime!);
  11803. map['PayStatus'] = payStatus.index;
  11804. map['PayType'] = payType.index;
  11805. if(payReqContent != null)
  11806. map['PayReqContent'] = payReqContent;
  11807. if(payResContent != null)
  11808. map['PayResContent'] = payResContent;
  11809. return map;
  11810. }
  11811. }
  11812. class ProductDetailDTO extends BaseDTO{
  11813. String? code;
  11814. String? name;
  11815. String? headImage;
  11816. double price;
  11817. ProductStatusEnum status;
  11818. ProductTypeEnum productType;
  11819. String? belongerCode;
  11820. String? relationInfo;
  11821. ProductDetailDTO({
  11822. this.code,
  11823. this.name,
  11824. this.headImage,
  11825. this.price = 0,
  11826. this.status = ProductStatusEnum.SoldOut,
  11827. this.productType = ProductTypeEnum.Course,
  11828. this.belongerCode,
  11829. this.relationInfo,
  11830. DateTime? createTime,
  11831. DateTime? updateTime,
  11832. }) : super(
  11833. createTime: createTime,
  11834. updateTime: updateTime,
  11835. );
  11836. factory ProductDetailDTO.fromJson(Map<String, dynamic> map) {
  11837. return ProductDetailDTO(
  11838. code: map['Code'],
  11839. name: map['Name'],
  11840. headImage: map['HeadImage'],
  11841. price: double.parse(map['Price'].toString()),
  11842. status: ProductStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  11843. productType: ProductTypeEnum.values.firstWhere((e) => e.index == map['ProductType']),
  11844. belongerCode: map['BelongerCode'],
  11845. relationInfo: map['RelationInfo'],
  11846. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  11847. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  11848. );
  11849. }
  11850. Map<String, dynamic> toJson() {
  11851. final map = super.toJson();
  11852. if(code != null)
  11853. map['Code'] = code;
  11854. if(name != null)
  11855. map['Name'] = name;
  11856. if(headImage != null)
  11857. map['HeadImage'] = headImage;
  11858. map['Price'] = price;
  11859. map['Status'] = status.index;
  11860. map['ProductType'] = productType.index;
  11861. if(belongerCode != null)
  11862. map['BelongerCode'] = belongerCode;
  11863. if(relationInfo != null)
  11864. map['RelationInfo'] = relationInfo;
  11865. return map;
  11866. }
  11867. }
  11868. class UpdateOrderResultDTO {
  11869. bool isSuccess;
  11870. UpdateOrderResultDTO({
  11871. this.isSuccess = false,
  11872. });
  11873. factory UpdateOrderResultDTO.fromJson(Map<String, dynamic> map) {
  11874. return UpdateOrderResultDTO(
  11875. isSuccess: map['IsSuccess'],
  11876. );
  11877. }
  11878. Map<String, dynamic> toJson() {
  11879. final map = Map<String, dynamic>();
  11880. map['IsSuccess'] = isSuccess;
  11881. return map;
  11882. }
  11883. }
  11884. class UpdatePaymentRecordResultDTO {
  11885. bool isSuccess;
  11886. UpdatePaymentRecordResultDTO({
  11887. this.isSuccess = false,
  11888. });
  11889. factory UpdatePaymentRecordResultDTO.fromJson(Map<String, dynamic> map) {
  11890. return UpdatePaymentRecordResultDTO(
  11891. isSuccess: map['IsSuccess'],
  11892. );
  11893. }
  11894. Map<String, dynamic> toJson() {
  11895. final map = Map<String, dynamic>();
  11896. map['IsSuccess'] = isSuccess;
  11897. return map;
  11898. }
  11899. }
  11900. class UpdateProductDTO {
  11901. bool isSuccess;
  11902. UpdateProductDTO({
  11903. this.isSuccess = false,
  11904. });
  11905. factory UpdateProductDTO.fromJson(Map<String, dynamic> map) {
  11906. return UpdateProductDTO(
  11907. isSuccess: map['IsSuccess'],
  11908. );
  11909. }
  11910. Map<String, dynamic> toJson() {
  11911. final map = Map<String, dynamic>();
  11912. map['IsSuccess'] = isSuccess;
  11913. return map;
  11914. }
  11915. }
  11916. class StatisticDetailSettingDTO {
  11917. String? cMSTemplateCode;
  11918. StatisticDetailSettingDTO({
  11919. this.cMSTemplateCode,
  11920. });
  11921. factory StatisticDetailSettingDTO.fromJson(Map<String, dynamic> map) {
  11922. return StatisticDetailSettingDTO(
  11923. cMSTemplateCode: map['CMSTemplateCode'],
  11924. );
  11925. }
  11926. Map<String, dynamic> toJson() {
  11927. final map = Map<String, dynamic>();
  11928. if(cMSTemplateCode != null)
  11929. map['CMSTemplateCode'] = cMSTemplateCode;
  11930. return map;
  11931. }
  11932. }
  11933. class ClientInfoDTO {
  11934. String? clientId;
  11935. String? name;
  11936. bool isReaded;
  11937. DateTime? deliveryTime;
  11938. DateTime? readTime;
  11939. ClientInfoDTO({
  11940. this.clientId,
  11941. this.name,
  11942. this.isReaded = false,
  11943. this.deliveryTime,
  11944. this.readTime,
  11945. });
  11946. factory ClientInfoDTO.fromJson(Map<String, dynamic> map) {
  11947. return ClientInfoDTO(
  11948. clientId: map['ClientId'],
  11949. name: map['Name'],
  11950. isReaded: map['IsReaded'],
  11951. deliveryTime: map['DeliveryTime'] != null ? DateTime.parse(map['DeliveryTime']) : null,
  11952. readTime: map['ReadTime'] != null ? DateTime.parse(map['ReadTime']) : null,
  11953. );
  11954. }
  11955. Map<String, dynamic> toJson() {
  11956. final map = Map<String, dynamic>();
  11957. if(clientId != null)
  11958. map['ClientId'] = clientId;
  11959. if(name != null)
  11960. map['Name'] = name;
  11961. map['IsReaded'] = isReaded;
  11962. if(deliveryTime != null)
  11963. map['DeliveryTime'] = JsonRpcUtils.dateFormat(deliveryTime!);
  11964. if(readTime != null)
  11965. map['ReadTime'] = JsonRpcUtils.dateFormat(readTime!);
  11966. return map;
  11967. }
  11968. }
  11969. class MessageInfoDTO extends BaseDTO{
  11970. String? code;
  11971. NotificationTypeEnum notificationType;
  11972. String? content;
  11973. String? serverHost;
  11974. DateTime? notifyTime;
  11975. ApplicantTypeEnum receiverType;
  11976. TransactionTypeEnum transactionType;
  11977. String? relevanceCode;
  11978. List<ClientInfoDTO >? clientInfos;
  11979. MessageInfoDTO({
  11980. this.code,
  11981. this.notificationType = NotificationTypeEnum.Unknown,
  11982. this.content,
  11983. this.serverHost,
  11984. this.notifyTime,
  11985. this.receiverType = ApplicantTypeEnum.Client,
  11986. this.transactionType = TransactionTypeEnum.Consultion,
  11987. this.relevanceCode,
  11988. this.clientInfos,
  11989. DateTime? createTime,
  11990. DateTime? updateTime,
  11991. }) : super(
  11992. createTime: createTime,
  11993. updateTime: updateTime,
  11994. );
  11995. factory MessageInfoDTO.fromJson(Map<String, dynamic> map) {
  11996. return MessageInfoDTO(
  11997. code: map['Code'],
  11998. notificationType: NotificationTypeEnum.values.firstWhere((e) => e.index == map['NotificationType']),
  11999. content: map['Content'],
  12000. serverHost: map['ServerHost'],
  12001. notifyTime: map['NotifyTime'] != null ? DateTime.parse(map['NotifyTime']) : null,
  12002. receiverType: ApplicantTypeEnum.values.firstWhere((e) => e.index == map['ReceiverType']),
  12003. transactionType: TransactionTypeEnum.values.firstWhere((e) => e.index == map['TransactionType']),
  12004. relevanceCode: map['RelevanceCode'],
  12005. clientInfos: map['ClientInfos'] != null ? (map['ClientInfos'] as List).map((e)=>ClientInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12006. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  12007. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  12008. );
  12009. }
  12010. Map<String, dynamic> toJson() {
  12011. final map = super.toJson();
  12012. if(code != null)
  12013. map['Code'] = code;
  12014. map['NotificationType'] = notificationType.index;
  12015. if(content != null)
  12016. map['Content'] = content;
  12017. if(serverHost != null)
  12018. map['ServerHost'] = serverHost;
  12019. if(notifyTime != null)
  12020. map['NotifyTime'] = JsonRpcUtils.dateFormat(notifyTime!);
  12021. map['ReceiverType'] = receiverType.index;
  12022. map['TransactionType'] = transactionType.index;
  12023. if(relevanceCode != null)
  12024. map['RelevanceCode'] = relevanceCode;
  12025. if(clientInfos != null)
  12026. map['ClientInfos'] = clientInfos;
  12027. return map;
  12028. }
  12029. }
  12030. class OutputUnitDTO {
  12031. int unit;
  12032. OutputUnitDTO({
  12033. this.unit = 0,
  12034. });
  12035. factory OutputUnitDTO.fromJson(Map<String, dynamic> map) {
  12036. return OutputUnitDTO(
  12037. unit: map['Unit'],
  12038. );
  12039. }
  12040. Map<String, dynamic> toJson() {
  12041. final map = Map<String, dynamic>();
  12042. map['Unit'] = unit;
  12043. return map;
  12044. }
  12045. }
  12046. class FormularMetaDTO {
  12047. String? name;
  12048. FormularMetaDTO({
  12049. this.name,
  12050. });
  12051. factory FormularMetaDTO.fromJson(Map<String, dynamic> map) {
  12052. return FormularMetaDTO(
  12053. name: map['Name'],
  12054. );
  12055. }
  12056. Map<String, dynamic> toJson() {
  12057. final map = Map<String, dynamic>();
  12058. if(name != null)
  12059. map['Name'] = name;
  12060. return map;
  12061. }
  12062. }
  12063. class MeasuredValueDTO {
  12064. String? typeName;
  12065. String? name;
  12066. String? description;
  12067. bool worksheetAffinity;
  12068. String? briefDescription;
  12069. String? value;
  12070. Unit unit;
  12071. Unit targetUnit;
  12072. MeasuredValueDTO({
  12073. this.typeName,
  12074. this.name,
  12075. this.description,
  12076. this.worksheetAffinity = false,
  12077. this.briefDescription,
  12078. this.value,
  12079. this.unit = Unit.None,
  12080. this.targetUnit = Unit.None,
  12081. });
  12082. factory MeasuredValueDTO.fromJson(Map<String, dynamic> map) {
  12083. return MeasuredValueDTO(
  12084. typeName: map['TypeName'],
  12085. name: map['Name'],
  12086. description: map['Description'],
  12087. worksheetAffinity: map['WorksheetAffinity'],
  12088. briefDescription: map['BriefDescription'],
  12089. value: map['Value'],
  12090. unit: Unit.values.firstWhere((e) => e.index == map['Unit']),
  12091. targetUnit: Unit.values.firstWhere((e) => e.index == map['TargetUnit']),
  12092. );
  12093. }
  12094. Map<String, dynamic> toJson() {
  12095. final map = Map<String, dynamic>();
  12096. if(typeName != null)
  12097. map['TypeName'] = typeName;
  12098. if(name != null)
  12099. map['Name'] = name;
  12100. if(description != null)
  12101. map['Description'] = description;
  12102. map['WorksheetAffinity'] = worksheetAffinity;
  12103. if(briefDescription != null)
  12104. map['BriefDescription'] = briefDescription;
  12105. if(value != null)
  12106. map['Value'] = value;
  12107. map['Unit'] = unit.index;
  12108. map['TargetUnit'] = targetUnit.index;
  12109. return map;
  12110. }
  12111. }
  12112. class MeasuredFeatureDTO {
  12113. String? typeName;
  12114. String? creator;
  12115. String? guid;
  12116. bool showChildFeatures;
  12117. DateTime? timeStamp;
  12118. bool isAutoCalculated;
  12119. List<MeasuredValueDTO >? values;
  12120. List<MeasuredFeatureDTO >? childFeatures;
  12121. MeasuredFeatureDTO({
  12122. this.typeName,
  12123. this.creator,
  12124. this.guid,
  12125. this.showChildFeatures = false,
  12126. this.timeStamp,
  12127. this.isAutoCalculated = false,
  12128. this.values,
  12129. this.childFeatures,
  12130. });
  12131. factory MeasuredFeatureDTO.fromJson(Map<String, dynamic> map) {
  12132. return MeasuredFeatureDTO(
  12133. typeName: map['TypeName'],
  12134. creator: map['Creator'],
  12135. guid: map['Guid'],
  12136. showChildFeatures: map['ShowChildFeatures'],
  12137. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  12138. isAutoCalculated: map['IsAutoCalculated'],
  12139. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12140. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12141. );
  12142. }
  12143. Map<String, dynamic> toJson() {
  12144. final map = Map<String, dynamic>();
  12145. if(typeName != null)
  12146. map['TypeName'] = typeName;
  12147. if(creator != null)
  12148. map['Creator'] = creator;
  12149. if(guid != null)
  12150. map['Guid'] = guid;
  12151. map['ShowChildFeatures'] = showChildFeatures;
  12152. if(timeStamp != null)
  12153. map['TimeStamp'] = JsonRpcUtils.dateFormat(timeStamp!);
  12154. map['IsAutoCalculated'] = isAutoCalculated;
  12155. if(values != null)
  12156. map['Values'] = values;
  12157. if(childFeatures != null)
  12158. map['ChildFeatures'] = childFeatures;
  12159. return map;
  12160. }
  12161. }
  12162. class MeasureExportRecordDTO {
  12163. String? languageCode;
  12164. List<MeasureExportDetailDTO >? remedicalMeasuredInfoCodes;
  12165. String? exportFileToken;
  12166. DateTime? createTime;
  12167. DateTime? updateTime;
  12168. MeasureExportRecordDTO({
  12169. this.languageCode,
  12170. this.remedicalMeasuredInfoCodes,
  12171. this.exportFileToken,
  12172. this.createTime,
  12173. this.updateTime,
  12174. });
  12175. factory MeasureExportRecordDTO.fromJson(Map<String, dynamic> map) {
  12176. return MeasureExportRecordDTO(
  12177. languageCode: map['LanguageCode'],
  12178. remedicalMeasuredInfoCodes: map['RemedicalMeasuredInfoCodes'] != null ? (map['RemedicalMeasuredInfoCodes'] as List).map((e)=>MeasureExportDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12179. exportFileToken: map['ExportFileToken'],
  12180. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  12181. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  12182. );
  12183. }
  12184. Map<String, dynamic> toJson() {
  12185. final map = Map<String, dynamic>();
  12186. if(languageCode != null)
  12187. map['LanguageCode'] = languageCode;
  12188. if(remedicalMeasuredInfoCodes != null)
  12189. map['RemedicalMeasuredInfoCodes'] = remedicalMeasuredInfoCodes;
  12190. if(exportFileToken != null)
  12191. map['ExportFileToken'] = exportFileToken;
  12192. if(createTime != null)
  12193. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  12194. if(updateTime != null)
  12195. map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!);
  12196. return map;
  12197. }
  12198. }
  12199. class MeasureItemDTO {
  12200. String? name;
  12201. String? description;
  12202. String? briefAnnotation;
  12203. String? typeName;
  12204. MeasureItemDTO({
  12205. this.name,
  12206. this.description,
  12207. this.briefAnnotation,
  12208. this.typeName,
  12209. });
  12210. factory MeasureItemDTO.fromJson(Map<String, dynamic> map) {
  12211. return MeasureItemDTO(
  12212. name: map['Name'],
  12213. description: map['Description'],
  12214. briefAnnotation: map['BriefAnnotation'],
  12215. typeName: map['TypeName'],
  12216. );
  12217. }
  12218. Map<String, dynamic> toJson() {
  12219. final map = Map<String, dynamic>();
  12220. if(name != null)
  12221. map['Name'] = name;
  12222. if(description != null)
  12223. map['Description'] = description;
  12224. if(briefAnnotation != null)
  12225. map['BriefAnnotation'] = briefAnnotation;
  12226. if(typeName != null)
  12227. map['TypeName'] = typeName;
  12228. return map;
  12229. }
  12230. }
  12231. class MeasureResultExcelDTO {
  12232. String? number;
  12233. String? measureItem;
  12234. String? measureResult;
  12235. MeasureResultExcelDTO({
  12236. this.number,
  12237. this.measureItem,
  12238. this.measureResult,
  12239. });
  12240. factory MeasureResultExcelDTO.fromJson(Map<String, dynamic> map) {
  12241. return MeasureResultExcelDTO(
  12242. number: map['Number'],
  12243. measureItem: map['MeasureItem'],
  12244. measureResult: map['MeasureResult'],
  12245. );
  12246. }
  12247. Map<String, dynamic> toJson() {
  12248. final map = Map<String, dynamic>();
  12249. if(number != null)
  12250. map['Number'] = number;
  12251. if(measureItem != null)
  12252. map['MeasureItem'] = measureItem;
  12253. if(measureResult != null)
  12254. map['MeasureResult'] = measureResult;
  12255. return map;
  12256. }
  12257. }
  12258. class MultiMethodItemDTO extends MeasureItemDTO{
  12259. MultiMethodItemDTO({
  12260. String? name,
  12261. String? description,
  12262. String? briefAnnotation,
  12263. String? typeName,
  12264. }) : super(
  12265. name: name,
  12266. description: description,
  12267. briefAnnotation: briefAnnotation,
  12268. typeName: typeName,
  12269. );
  12270. factory MultiMethodItemDTO.fromJson(Map<String, dynamic> map) {
  12271. return MultiMethodItemDTO(
  12272. name: map['Name'],
  12273. description: map['Description'],
  12274. briefAnnotation: map['BriefAnnotation'],
  12275. typeName: map['TypeName'],
  12276. );
  12277. }
  12278. Map<String, dynamic> toJson() {
  12279. final map = super.toJson();
  12280. return map;
  12281. }
  12282. }
  12283. class UserDefinedMeasureApplicationDTO {
  12284. String? version;
  12285. String? id;
  12286. String? categoryName;
  12287. List<UserDefinedMeasureModeDTO >? modes;
  12288. UserDefinedMeasureApplicationDTO({
  12289. this.version,
  12290. this.id,
  12291. this.categoryName,
  12292. this.modes,
  12293. });
  12294. factory UserDefinedMeasureApplicationDTO.fromJson(Map<String, dynamic> map) {
  12295. return UserDefinedMeasureApplicationDTO(
  12296. version: map['Version'],
  12297. id: map['Id'],
  12298. categoryName: map['CategoryName'],
  12299. modes: map['Modes'] != null ? (map['Modes'] as List).map((e)=>UserDefinedMeasureModeDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12300. );
  12301. }
  12302. Map<String, dynamic> toJson() {
  12303. final map = Map<String, dynamic>();
  12304. if(version != null)
  12305. map['Version'] = version;
  12306. if(id != null)
  12307. map['Id'] = id;
  12308. if(categoryName != null)
  12309. map['CategoryName'] = categoryName;
  12310. if(modes != null)
  12311. map['Modes'] = modes;
  12312. return map;
  12313. }
  12314. }
  12315. class UserDefinedCommentDataDTO {
  12316. String? version;
  12317. String? languageCode;
  12318. String? categoryName;
  12319. String? applicationName;
  12320. List<CommentItemDTO >? commentItems;
  12321. UserDefinedCommentDataDTO({
  12322. this.version,
  12323. this.languageCode,
  12324. this.categoryName,
  12325. this.applicationName,
  12326. this.commentItems,
  12327. });
  12328. factory UserDefinedCommentDataDTO.fromJson(Map<String, dynamic> map) {
  12329. return UserDefinedCommentDataDTO(
  12330. version: map['Version'],
  12331. languageCode: map['LanguageCode'],
  12332. categoryName: map['CategoryName'],
  12333. applicationName: map['ApplicationName'],
  12334. commentItems: map['CommentItems'] != null ? (map['CommentItems'] as List).map((e)=>CommentItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12335. );
  12336. }
  12337. Map<String, dynamic> toJson() {
  12338. final map = Map<String, dynamic>();
  12339. if(version != null)
  12340. map['Version'] = version;
  12341. if(languageCode != null)
  12342. map['LanguageCode'] = languageCode;
  12343. if(categoryName != null)
  12344. map['CategoryName'] = categoryName;
  12345. if(applicationName != null)
  12346. map['ApplicationName'] = applicationName;
  12347. if(commentItems != null)
  12348. map['CommentItems'] = commentItems;
  12349. return map;
  12350. }
  12351. }
  12352. class UserDefinedMeasureInfoDTO {
  12353. String? userId;
  12354. Map<String,String>? systemSettings;
  12355. List<UserDefinedMeasureApplicationDTO >? measureApplications;
  12356. List<UserDefinedCommentDataDTO >? commentItems;
  12357. UserDefinedMeasureInfoDTO({
  12358. this.userId,
  12359. this.systemSettings,
  12360. this.measureApplications,
  12361. this.commentItems,
  12362. });
  12363. factory UserDefinedMeasureInfoDTO.fromJson(Map<String, dynamic> map) {
  12364. return UserDefinedMeasureInfoDTO(
  12365. userId: map['UserId'],
  12366. systemSettings: map['SystemSettings'] != null ? map['SystemSettings'].cast<String,String>() : null,
  12367. measureApplications: map['MeasureApplications'] != null ? (map['MeasureApplications'] as List).map((e)=>UserDefinedMeasureApplicationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12368. commentItems: map['CommentItems'] != null ? (map['CommentItems'] as List).map((e)=>UserDefinedCommentDataDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12369. );
  12370. }
  12371. Map<String, dynamic> toJson() {
  12372. final map = Map<String, dynamic>();
  12373. if(userId != null)
  12374. map['UserId'] = userId;
  12375. if(systemSettings != null)
  12376. map['SystemSettings'] = systemSettings;
  12377. if(measureApplications != null)
  12378. map['MeasureApplications'] = measureApplications;
  12379. if(commentItems != null)
  12380. map['CommentItems'] = commentItems;
  12381. return map;
  12382. }
  12383. }
  12384. class AbRatioDTO extends MultiMethodItemDTO{
  12385. AbRatioDTO({
  12386. String? name,
  12387. String? description,
  12388. String? briefAnnotation,
  12389. String? typeName,
  12390. }) : super(
  12391. name: name,
  12392. description: description,
  12393. briefAnnotation: briefAnnotation,
  12394. typeName: typeName,
  12395. );
  12396. factory AbRatioDTO.fromJson(Map<String, dynamic> map) {
  12397. return AbRatioDTO(
  12398. name: map['Name'],
  12399. description: map['Description'],
  12400. briefAnnotation: map['BriefAnnotation'],
  12401. typeName: map['TypeName'],
  12402. );
  12403. }
  12404. Map<String, dynamic> toJson() {
  12405. final map = super.toJson();
  12406. return map;
  12407. }
  12408. }
  12409. class AngleDTO extends MeasureItemDTO{
  12410. AngleDTO({
  12411. String? name,
  12412. String? description,
  12413. String? briefAnnotation,
  12414. String? typeName,
  12415. }) : super(
  12416. name: name,
  12417. description: description,
  12418. briefAnnotation: briefAnnotation,
  12419. typeName: typeName,
  12420. );
  12421. factory AngleDTO.fromJson(Map<String, dynamic> map) {
  12422. return AngleDTO(
  12423. name: map['Name'],
  12424. description: map['Description'],
  12425. briefAnnotation: map['BriefAnnotation'],
  12426. typeName: map['TypeName'],
  12427. );
  12428. }
  12429. Map<String, dynamic> toJson() {
  12430. final map = super.toJson();
  12431. return map;
  12432. }
  12433. }
  12434. class AreaPerimeterDTO extends MultiMethodItemDTO{
  12435. AreaPerimeterDTO({
  12436. String? name,
  12437. String? description,
  12438. String? briefAnnotation,
  12439. String? typeName,
  12440. }) : super(
  12441. name: name,
  12442. description: description,
  12443. briefAnnotation: briefAnnotation,
  12444. typeName: typeName,
  12445. );
  12446. factory AreaPerimeterDTO.fromJson(Map<String, dynamic> map) {
  12447. return AreaPerimeterDTO(
  12448. name: map['Name'],
  12449. description: map['Description'],
  12450. briefAnnotation: map['BriefAnnotation'],
  12451. typeName: map['TypeName'],
  12452. );
  12453. }
  12454. Map<String, dynamic> toJson() {
  12455. final map = super.toJson();
  12456. return map;
  12457. }
  12458. }
  12459. class CircleDTO extends MeasureItemDTO{
  12460. CircleDTO({
  12461. String? name,
  12462. String? description,
  12463. String? briefAnnotation,
  12464. String? typeName,
  12465. }) : super(
  12466. name: name,
  12467. description: description,
  12468. briefAnnotation: briefAnnotation,
  12469. typeName: typeName,
  12470. );
  12471. factory CircleDTO.fromJson(Map<String, dynamic> map) {
  12472. return CircleDTO(
  12473. name: map['Name'],
  12474. description: map['Description'],
  12475. briefAnnotation: map['BriefAnnotation'],
  12476. typeName: map['TypeName'],
  12477. );
  12478. }
  12479. Map<String, dynamic> toJson() {
  12480. final map = super.toJson();
  12481. return map;
  12482. }
  12483. }
  12484. class CurveLengthDTO extends MultiMethodItemDTO{
  12485. CurveLengthDTO({
  12486. String? name,
  12487. String? description,
  12488. String? briefAnnotation,
  12489. String? typeName,
  12490. }) : super(
  12491. name: name,
  12492. description: description,
  12493. briefAnnotation: briefAnnotation,
  12494. typeName: typeName,
  12495. );
  12496. factory CurveLengthDTO.fromJson(Map<String, dynamic> map) {
  12497. return CurveLengthDTO(
  12498. name: map['Name'],
  12499. description: map['Description'],
  12500. briefAnnotation: map['BriefAnnotation'],
  12501. typeName: map['TypeName'],
  12502. );
  12503. }
  12504. Map<String, dynamic> toJson() {
  12505. final map = super.toJson();
  12506. return map;
  12507. }
  12508. }
  12509. class EllipseDTO extends MeasureItemDTO{
  12510. EllipseDTO({
  12511. String? name,
  12512. String? description,
  12513. String? briefAnnotation,
  12514. String? typeName,
  12515. }) : super(
  12516. name: name,
  12517. description: description,
  12518. briefAnnotation: briefAnnotation,
  12519. typeName: typeName,
  12520. );
  12521. factory EllipseDTO.fromJson(Map<String, dynamic> map) {
  12522. return EllipseDTO(
  12523. name: map['Name'],
  12524. description: map['Description'],
  12525. briefAnnotation: map['BriefAnnotation'],
  12526. typeName: map['TypeName'],
  12527. );
  12528. }
  12529. Map<String, dynamic> toJson() {
  12530. final map = super.toJson();
  12531. return map;
  12532. }
  12533. }
  12534. class LocationDTO extends MeasureItemDTO{
  12535. LocationDTO({
  12536. String? name,
  12537. String? description,
  12538. String? briefAnnotation,
  12539. String? typeName,
  12540. }) : super(
  12541. name: name,
  12542. description: description,
  12543. briefAnnotation: briefAnnotation,
  12544. typeName: typeName,
  12545. );
  12546. factory LocationDTO.fromJson(Map<String, dynamic> map) {
  12547. return LocationDTO(
  12548. name: map['Name'],
  12549. description: map['Description'],
  12550. briefAnnotation: map['BriefAnnotation'],
  12551. typeName: map['TypeName'],
  12552. );
  12553. }
  12554. Map<String, dynamic> toJson() {
  12555. final map = super.toJson();
  12556. return map;
  12557. }
  12558. }
  12559. class LWHStraightLineDTO extends MeasureItemDTO{
  12560. LWHStraightLineDTO({
  12561. String? name,
  12562. String? description,
  12563. String? briefAnnotation,
  12564. String? typeName,
  12565. }) : super(
  12566. name: name,
  12567. description: description,
  12568. briefAnnotation: briefAnnotation,
  12569. typeName: typeName,
  12570. );
  12571. factory LWHStraightLineDTO.fromJson(Map<String, dynamic> map) {
  12572. return LWHStraightLineDTO(
  12573. name: map['Name'],
  12574. description: map['Description'],
  12575. briefAnnotation: map['BriefAnnotation'],
  12576. typeName: map['TypeName'],
  12577. );
  12578. }
  12579. Map<String, dynamic> toJson() {
  12580. final map = super.toJson();
  12581. return map;
  12582. }
  12583. }
  12584. class PolylineDTO extends MeasureItemDTO{
  12585. PolylineDTO({
  12586. String? name,
  12587. String? description,
  12588. String? briefAnnotation,
  12589. String? typeName,
  12590. }) : super(
  12591. name: name,
  12592. description: description,
  12593. briefAnnotation: briefAnnotation,
  12594. typeName: typeName,
  12595. );
  12596. factory PolylineDTO.fromJson(Map<String, dynamic> map) {
  12597. return PolylineDTO(
  12598. name: map['Name'],
  12599. description: map['Description'],
  12600. briefAnnotation: map['BriefAnnotation'],
  12601. typeName: map['TypeName'],
  12602. );
  12603. }
  12604. Map<String, dynamic> toJson() {
  12605. final map = super.toJson();
  12606. return map;
  12607. }
  12608. }
  12609. class RectDTO extends MeasureItemDTO{
  12610. RectDTO({
  12611. String? name,
  12612. String? description,
  12613. String? briefAnnotation,
  12614. String? typeName,
  12615. }) : super(
  12616. name: name,
  12617. description: description,
  12618. briefAnnotation: briefAnnotation,
  12619. typeName: typeName,
  12620. );
  12621. factory RectDTO.fromJson(Map<String, dynamic> map) {
  12622. return RectDTO(
  12623. name: map['Name'],
  12624. description: map['Description'],
  12625. briefAnnotation: map['BriefAnnotation'],
  12626. typeName: map['TypeName'],
  12627. );
  12628. }
  12629. Map<String, dynamic> toJson() {
  12630. final map = super.toJson();
  12631. return map;
  12632. }
  12633. }
  12634. class StenosisDTO extends MultiMethodItemDTO{
  12635. StenosisDTO({
  12636. String? name,
  12637. String? description,
  12638. String? briefAnnotation,
  12639. String? typeName,
  12640. }) : super(
  12641. name: name,
  12642. description: description,
  12643. briefAnnotation: briefAnnotation,
  12644. typeName: typeName,
  12645. );
  12646. factory StenosisDTO.fromJson(Map<String, dynamic> map) {
  12647. return StenosisDTO(
  12648. name: map['Name'],
  12649. description: map['Description'],
  12650. briefAnnotation: map['BriefAnnotation'],
  12651. typeName: map['TypeName'],
  12652. );
  12653. }
  12654. Map<String, dynamic> toJson() {
  12655. final map = super.toJson();
  12656. return map;
  12657. }
  12658. }
  12659. class StraightLineDTO extends MeasureItemDTO{
  12660. StraightLineDTO({
  12661. String? name,
  12662. String? description,
  12663. String? briefAnnotation,
  12664. String? typeName,
  12665. }) : super(
  12666. name: name,
  12667. description: description,
  12668. briefAnnotation: briefAnnotation,
  12669. typeName: typeName,
  12670. );
  12671. factory StraightLineDTO.fromJson(Map<String, dynamic> map) {
  12672. return StraightLineDTO(
  12673. name: map['Name'],
  12674. description: map['Description'],
  12675. briefAnnotation: map['BriefAnnotation'],
  12676. typeName: map['TypeName'],
  12677. );
  12678. }
  12679. Map<String, dynamic> toJson() {
  12680. final map = super.toJson();
  12681. return map;
  12682. }
  12683. }
  12684. class VolumeDTO extends MultiMethodItemDTO{
  12685. VolumeDTO({
  12686. String? name,
  12687. String? description,
  12688. String? briefAnnotation,
  12689. String? typeName,
  12690. }) : super(
  12691. name: name,
  12692. description: description,
  12693. briefAnnotation: briefAnnotation,
  12694. typeName: typeName,
  12695. );
  12696. factory VolumeDTO.fromJson(Map<String, dynamic> map) {
  12697. return VolumeDTO(
  12698. name: map['Name'],
  12699. description: map['Description'],
  12700. briefAnnotation: map['BriefAnnotation'],
  12701. typeName: map['TypeName'],
  12702. );
  12703. }
  12704. Map<String, dynamic> toJson() {
  12705. final map = super.toJson();
  12706. return map;
  12707. }
  12708. }
  12709. class CardiacAxisFeatureDTO extends MeasuredFeatureDTO{
  12710. String? logicalName;
  12711. String? logicalMode;
  12712. CardiacAxisFeatureDTO({
  12713. String? typeName,
  12714. this.logicalName,
  12715. this.logicalMode,
  12716. String? creator,
  12717. String? guid,
  12718. bool showChildFeatures = false,
  12719. DateTime? timeStamp,
  12720. bool isAutoCalculated = false,
  12721. List<MeasuredValueDTO >? values,
  12722. List<MeasuredFeatureDTO >? childFeatures,
  12723. }) : super(
  12724. typeName: typeName,
  12725. creator: creator,
  12726. guid: guid,
  12727. showChildFeatures: showChildFeatures,
  12728. timeStamp: timeStamp,
  12729. isAutoCalculated: isAutoCalculated,
  12730. values: values,
  12731. childFeatures: childFeatures,
  12732. );
  12733. factory CardiacAxisFeatureDTO.fromJson(Map<String, dynamic> map) {
  12734. return CardiacAxisFeatureDTO(
  12735. typeName: map['TypeName'],
  12736. logicalName: map['LogicalName'],
  12737. logicalMode: map['LogicalMode'],
  12738. creator: map['Creator'],
  12739. guid: map['Guid'],
  12740. showChildFeatures: map['ShowChildFeatures'],
  12741. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  12742. isAutoCalculated: map['IsAutoCalculated'],
  12743. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12744. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12745. );
  12746. }
  12747. Map<String, dynamic> toJson() {
  12748. final map = super.toJson();
  12749. if(logicalName != null)
  12750. map['LogicalName'] = logicalName;
  12751. if(logicalMode != null)
  12752. map['LogicalMode'] = logicalMode;
  12753. return map;
  12754. }
  12755. }
  12756. class CustomCalculatorFeatureDTO extends MeasuredFeatureDTO{
  12757. String? logicalName;
  12758. String? logicalMode;
  12759. CustomCalculatorFeatureDTO({
  12760. String? typeName,
  12761. this.logicalName,
  12762. this.logicalMode,
  12763. String? creator,
  12764. String? guid,
  12765. bool showChildFeatures = false,
  12766. DateTime? timeStamp,
  12767. bool isAutoCalculated = false,
  12768. List<MeasuredValueDTO >? values,
  12769. List<MeasuredFeatureDTO >? childFeatures,
  12770. }) : super(
  12771. typeName: typeName,
  12772. creator: creator,
  12773. guid: guid,
  12774. showChildFeatures: showChildFeatures,
  12775. timeStamp: timeStamp,
  12776. isAutoCalculated: isAutoCalculated,
  12777. values: values,
  12778. childFeatures: childFeatures,
  12779. );
  12780. factory CustomCalculatorFeatureDTO.fromJson(Map<String, dynamic> map) {
  12781. return CustomCalculatorFeatureDTO(
  12782. typeName: map['TypeName'],
  12783. logicalName: map['LogicalName'],
  12784. logicalMode: map['LogicalMode'],
  12785. creator: map['Creator'],
  12786. guid: map['Guid'],
  12787. showChildFeatures: map['ShowChildFeatures'],
  12788. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  12789. isAutoCalculated: map['IsAutoCalculated'],
  12790. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12791. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12792. );
  12793. }
  12794. Map<String, dynamic> toJson() {
  12795. final map = super.toJson();
  12796. if(logicalName != null)
  12797. map['LogicalName'] = logicalName;
  12798. if(logicalMode != null)
  12799. map['LogicalMode'] = logicalMode;
  12800. return map;
  12801. }
  12802. }
  12803. class GeometryFeatureDTO extends MeasuredFeatureDTO{
  12804. bool isVisible;
  12805. String? annotation;
  12806. String? briefAnnotation;
  12807. Unit xUnit;
  12808. Unit yUnit;
  12809. bool showAnnotation;
  12810. bool showCalliper;
  12811. List<PointDTO >? points;
  12812. GeometryFeatureDTO({
  12813. this.isVisible = false,
  12814. this.annotation,
  12815. this.briefAnnotation,
  12816. this.xUnit = Unit.None,
  12817. this.yUnit = Unit.None,
  12818. this.showAnnotation = false,
  12819. this.showCalliper = false,
  12820. this.points,
  12821. String? typeName,
  12822. String? creator,
  12823. String? guid,
  12824. bool showChildFeatures = false,
  12825. DateTime? timeStamp,
  12826. bool isAutoCalculated = false,
  12827. List<MeasuredValueDTO >? values,
  12828. List<MeasuredFeatureDTO >? childFeatures,
  12829. }) : super(
  12830. typeName: typeName,
  12831. creator: creator,
  12832. guid: guid,
  12833. showChildFeatures: showChildFeatures,
  12834. timeStamp: timeStamp,
  12835. isAutoCalculated: isAutoCalculated,
  12836. values: values,
  12837. childFeatures: childFeatures,
  12838. );
  12839. factory GeometryFeatureDTO.fromJson(Map<String, dynamic> map) {
  12840. return GeometryFeatureDTO(
  12841. isVisible: map['IsVisible'],
  12842. annotation: map['Annotation'],
  12843. briefAnnotation: map['BriefAnnotation'],
  12844. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  12845. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  12846. showAnnotation: map['ShowAnnotation'],
  12847. showCalliper: map['ShowCalliper'],
  12848. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12849. typeName: map['TypeName'],
  12850. creator: map['Creator'],
  12851. guid: map['Guid'],
  12852. showChildFeatures: map['ShowChildFeatures'],
  12853. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  12854. isAutoCalculated: map['IsAutoCalculated'],
  12855. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12856. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  12857. );
  12858. }
  12859. Map<String, dynamic> toJson() {
  12860. final map = super.toJson();
  12861. map['IsVisible'] = isVisible;
  12862. if(annotation != null)
  12863. map['Annotation'] = annotation;
  12864. if(briefAnnotation != null)
  12865. map['BriefAnnotation'] = briefAnnotation;
  12866. map['XUnit'] = xUnit.index;
  12867. map['YUnit'] = yUnit.index;
  12868. map['ShowAnnotation'] = showAnnotation;
  12869. map['ShowCalliper'] = showCalliper;
  12870. if(points != null)
  12871. map['Points'] = points;
  12872. return map;
  12873. }
  12874. }
  12875. class CardiacCycleDTO {
  12876. int index;
  12877. PointDTO? systoleStart;
  12878. PointDTO? diastoleEnd;
  12879. PointDTO? peakSystolic;
  12880. PointDTO? minimumAbsoluteVelocity;
  12881. CardiacCycleDTO({
  12882. this.index = 0,
  12883. this.systoleStart,
  12884. this.diastoleEnd,
  12885. this.peakSystolic,
  12886. this.minimumAbsoluteVelocity,
  12887. });
  12888. factory CardiacCycleDTO.fromJson(Map<String, dynamic> map) {
  12889. return CardiacCycleDTO(
  12890. index: map['Index'],
  12891. systoleStart: map['SystoleStart'] != null ? PointDTO.fromJson(map['SystoleStart']) : null,
  12892. diastoleEnd: map['DiastoleEnd'] != null ? PointDTO.fromJson(map['DiastoleEnd']) : null,
  12893. peakSystolic: map['PeakSystolic'] != null ? PointDTO.fromJson(map['PeakSystolic']) : null,
  12894. minimumAbsoluteVelocity: map['MinimumAbsoluteVelocity'] != null ? PointDTO.fromJson(map['MinimumAbsoluteVelocity']) : null,
  12895. );
  12896. }
  12897. Map<String, dynamic> toJson() {
  12898. final map = Map<String, dynamic>();
  12899. map['Index'] = index;
  12900. if(systoleStart != null)
  12901. map['SystoleStart'] = systoleStart;
  12902. if(diastoleEnd != null)
  12903. map['DiastoleEnd'] = diastoleEnd;
  12904. if(peakSystolic != null)
  12905. map['PeakSystolic'] = peakSystolic;
  12906. if(minimumAbsoluteVelocity != null)
  12907. map['MinimumAbsoluteVelocity'] = minimumAbsoluteVelocity;
  12908. return map;
  12909. }
  12910. }
  12911. class GrowthPercentileDTO {
  12912. int oBTableCategory;
  12913. String? tableAuthor;
  12914. String? measureItem;
  12915. int gAinDays;
  12916. int status;
  12917. double value;
  12918. double tableDataLimitation;
  12919. double zScoreValue;
  12920. int zScoreStatus;
  12921. GrowthPercentileDTO({
  12922. this.oBTableCategory = 0,
  12923. this.tableAuthor,
  12924. this.measureItem,
  12925. this.gAinDays = 0,
  12926. this.status = 0,
  12927. this.value = 0,
  12928. this.tableDataLimitation = 0,
  12929. this.zScoreValue = 0,
  12930. this.zScoreStatus = 0,
  12931. });
  12932. factory GrowthPercentileDTO.fromJson(Map<String, dynamic> map) {
  12933. return GrowthPercentileDTO(
  12934. oBTableCategory: map['OBTableCategory'],
  12935. tableAuthor: map['TableAuthor'],
  12936. measureItem: map['MeasureItem'],
  12937. gAinDays: map['GAinDays'],
  12938. status: map['Status'],
  12939. value: double.parse(map['Value'].toString()),
  12940. tableDataLimitation: double.parse(map['TableDataLimitation'].toString()),
  12941. zScoreValue: double.parse(map['ZScoreValue'].toString()),
  12942. zScoreStatus: map['ZScoreStatus'],
  12943. );
  12944. }
  12945. Map<String, dynamic> toJson() {
  12946. final map = Map<String, dynamic>();
  12947. map['OBTableCategory'] = oBTableCategory;
  12948. if(tableAuthor != null)
  12949. map['TableAuthor'] = tableAuthor;
  12950. if(measureItem != null)
  12951. map['MeasureItem'] = measureItem;
  12952. map['GAinDays'] = gAinDays;
  12953. map['Status'] = status;
  12954. map['Value'] = value;
  12955. map['TableDataLimitation'] = tableDataLimitation;
  12956. map['ZScoreValue'] = zScoreValue;
  12957. map['ZScoreStatus'] = zScoreStatus;
  12958. return map;
  12959. }
  12960. }
  12961. class GrowthAgeDTO {
  12962. int oBTableCategory;
  12963. String? tableAuthor;
  12964. String? measureItem;
  12965. int days;
  12966. int status;
  12967. int minDays;
  12968. int maxDays;
  12969. GrowthAgeDTO({
  12970. this.oBTableCategory = 0,
  12971. this.tableAuthor,
  12972. this.measureItem,
  12973. this.days = 0,
  12974. this.status = 0,
  12975. this.minDays = 0,
  12976. this.maxDays = 0,
  12977. });
  12978. factory GrowthAgeDTO.fromJson(Map<String, dynamic> map) {
  12979. return GrowthAgeDTO(
  12980. oBTableCategory: map['OBTableCategory'],
  12981. tableAuthor: map['TableAuthor'],
  12982. measureItem: map['MeasureItem'],
  12983. days: map['Days'],
  12984. status: map['Status'],
  12985. minDays: map['MinDays'],
  12986. maxDays: map['MaxDays'],
  12987. );
  12988. }
  12989. Map<String, dynamic> toJson() {
  12990. final map = Map<String, dynamic>();
  12991. map['OBTableCategory'] = oBTableCategory;
  12992. if(tableAuthor != null)
  12993. map['TableAuthor'] = tableAuthor;
  12994. if(measureItem != null)
  12995. map['MeasureItem'] = measureItem;
  12996. map['Days'] = days;
  12997. map['Status'] = status;
  12998. map['MinDays'] = minDays;
  12999. map['MaxDays'] = maxDays;
  13000. return map;
  13001. }
  13002. }
  13003. class FetalGrowthIndexDTO {
  13004. GrowthPercentileDTO? percentile;
  13005. GrowthAgeDTO? growthAge;
  13006. DateTime? estimateDueDate;
  13007. FetalGrowthIndexDTO({
  13008. this.percentile,
  13009. this.growthAge,
  13010. this.estimateDueDate,
  13011. });
  13012. factory FetalGrowthIndexDTO.fromJson(Map<String, dynamic> map) {
  13013. return FetalGrowthIndexDTO(
  13014. percentile: map['Percentile'] != null ? GrowthPercentileDTO.fromJson(map['Percentile']) : null,
  13015. growthAge: map['GrowthAge'] != null ? GrowthAgeDTO.fromJson(map['GrowthAge']) : null,
  13016. estimateDueDate: map['EstimateDueDate'] != null ? DateTime.parse(map['EstimateDueDate']) : null,
  13017. );
  13018. }
  13019. Map<String, dynamic> toJson() {
  13020. final map = Map<String, dynamic>();
  13021. if(percentile != null)
  13022. map['Percentile'] = percentile;
  13023. if(growthAge != null)
  13024. map['GrowthAge'] = growthAge;
  13025. if(estimateDueDate != null)
  13026. map['EstimateDueDate'] = JsonRpcUtils.dateFormat(estimateDueDate!);
  13027. return map;
  13028. }
  13029. }
  13030. class FloatValueDTO extends MeasuredValueDTO{
  13031. FetalGrowthIndexDTO? fetalGrowthIndex;
  13032. String? typeName;
  13033. String? name;
  13034. String? description;
  13035. bool worksheetAffinity;
  13036. String? briefDescription;
  13037. String? value;
  13038. Unit unit;
  13039. Unit targetUnit;
  13040. FloatValueDTO({
  13041. this.fetalGrowthIndex,
  13042. this.typeName,
  13043. this.name,
  13044. this.description,
  13045. this.worksheetAffinity = false,
  13046. this.briefDescription,
  13047. this.value,
  13048. this.unit = Unit.None,
  13049. this.targetUnit = Unit.None,
  13050. });
  13051. factory FloatValueDTO.fromJson(Map<String, dynamic> map) {
  13052. return FloatValueDTO(
  13053. fetalGrowthIndex: map['FetalGrowthIndex'] != null ? FetalGrowthIndexDTO.fromJson(map['FetalGrowthIndex']) : null,
  13054. typeName: map['TypeName'],
  13055. name: map['Name'],
  13056. description: map['Description'],
  13057. worksheetAffinity: map['WorksheetAffinity'],
  13058. briefDescription: map['BriefDescription'],
  13059. value: map['Value'],
  13060. unit: Unit.values.firstWhere((e) => e.index == map['Unit']),
  13061. targetUnit: Unit.values.firstWhere((e) => e.index == map['TargetUnit']),
  13062. );
  13063. }
  13064. Map<String, dynamic> toJson() {
  13065. final map = super.toJson();
  13066. return map;
  13067. }
  13068. }
  13069. class DopplerTraceFeatureDTO extends GeometryFeatureDTO{
  13070. int avgHeartCycle;
  13071. ASETypeEnum traceType;
  13072. List<PointDTO >? maxTraceLine;
  13073. List<CardiacCycleDTO >? cardiacCycles;
  13074. List<FloatValueDTO >? autoMeasureValues;
  13075. DopplerTraceFeatureDTO({
  13076. String? typeName,
  13077. this.avgHeartCycle = 0,
  13078. this.traceType = ASETypeEnum.Off,
  13079. this.maxTraceLine,
  13080. this.cardiacCycles,
  13081. this.autoMeasureValues,
  13082. bool isVisible = false,
  13083. String? annotation,
  13084. String? briefAnnotation,
  13085. Unit xUnit = Unit.None,
  13086. Unit yUnit = Unit.None,
  13087. bool showAnnotation = false,
  13088. bool showCalliper = false,
  13089. List<PointDTO >? points,
  13090. String? creator,
  13091. String? guid,
  13092. bool showChildFeatures = false,
  13093. DateTime? timeStamp,
  13094. bool isAutoCalculated = false,
  13095. List<MeasuredValueDTO >? values,
  13096. List<MeasuredFeatureDTO >? childFeatures,
  13097. }) : super(
  13098. isVisible: isVisible,
  13099. annotation: annotation,
  13100. briefAnnotation: briefAnnotation,
  13101. xUnit: xUnit,
  13102. yUnit: yUnit,
  13103. showAnnotation: showAnnotation,
  13104. showCalliper: showCalliper,
  13105. points: points,
  13106. typeName: typeName,
  13107. creator: creator,
  13108. guid: guid,
  13109. showChildFeatures: showChildFeatures,
  13110. timeStamp: timeStamp,
  13111. isAutoCalculated: isAutoCalculated,
  13112. values: values,
  13113. childFeatures: childFeatures,
  13114. );
  13115. factory DopplerTraceFeatureDTO.fromJson(Map<String, dynamic> map) {
  13116. return DopplerTraceFeatureDTO(
  13117. typeName: map['TypeName'],
  13118. avgHeartCycle: map['AvgHeartCycle'],
  13119. traceType: ASETypeEnum.values.firstWhere((e) => e.index == map['TraceType']),
  13120. maxTraceLine: map['MaxTraceLine'] != null ? (map['MaxTraceLine'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13121. cardiacCycles: map['CardiacCycles'] != null ? (map['CardiacCycles'] as List).map((e)=>CardiacCycleDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13122. autoMeasureValues: map['AutoMeasureValues'] != null ? (map['AutoMeasureValues'] as List).map((e)=>FloatValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13123. isVisible: map['IsVisible'],
  13124. annotation: map['Annotation'],
  13125. briefAnnotation: map['BriefAnnotation'],
  13126. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13127. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13128. showAnnotation: map['ShowAnnotation'],
  13129. showCalliper: map['ShowCalliper'],
  13130. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13131. creator: map['Creator'],
  13132. guid: map['Guid'],
  13133. showChildFeatures: map['ShowChildFeatures'],
  13134. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13135. isAutoCalculated: map['IsAutoCalculated'],
  13136. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13137. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13138. );
  13139. }
  13140. Map<String, dynamic> toJson() {
  13141. final map = super.toJson();
  13142. map['AvgHeartCycle'] = avgHeartCycle;
  13143. map['TraceType'] = traceType.index;
  13144. if(maxTraceLine != null)
  13145. map['MaxTraceLine'] = maxTraceLine;
  13146. if(cardiacCycles != null)
  13147. map['CardiacCycles'] = cardiacCycles;
  13148. if(autoMeasureValues != null)
  13149. map['AutoMeasureValues'] = autoMeasureValues;
  13150. return map;
  13151. }
  13152. }
  13153. class EllipseFeatureDTO extends GeometryFeatureDTO{
  13154. double angle;
  13155. EllipseFeatureDTO({
  13156. String? typeName,
  13157. this.angle = 0,
  13158. bool isVisible = false,
  13159. String? annotation,
  13160. String? briefAnnotation,
  13161. Unit xUnit = Unit.None,
  13162. Unit yUnit = Unit.None,
  13163. bool showAnnotation = false,
  13164. bool showCalliper = false,
  13165. List<PointDTO >? points,
  13166. String? creator,
  13167. String? guid,
  13168. bool showChildFeatures = false,
  13169. DateTime? timeStamp,
  13170. bool isAutoCalculated = false,
  13171. List<MeasuredValueDTO >? values,
  13172. List<MeasuredFeatureDTO >? childFeatures,
  13173. }) : super(
  13174. isVisible: isVisible,
  13175. annotation: annotation,
  13176. briefAnnotation: briefAnnotation,
  13177. xUnit: xUnit,
  13178. yUnit: yUnit,
  13179. showAnnotation: showAnnotation,
  13180. showCalliper: showCalliper,
  13181. points: points,
  13182. typeName: typeName,
  13183. creator: creator,
  13184. guid: guid,
  13185. showChildFeatures: showChildFeatures,
  13186. timeStamp: timeStamp,
  13187. isAutoCalculated: isAutoCalculated,
  13188. values: values,
  13189. childFeatures: childFeatures,
  13190. );
  13191. factory EllipseFeatureDTO.fromJson(Map<String, dynamic> map) {
  13192. return EllipseFeatureDTO(
  13193. typeName: map['TypeName'],
  13194. angle: double.parse(map['Angle'].toString()),
  13195. isVisible: map['IsVisible'],
  13196. annotation: map['Annotation'],
  13197. briefAnnotation: map['BriefAnnotation'],
  13198. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13199. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13200. showAnnotation: map['ShowAnnotation'],
  13201. showCalliper: map['ShowCalliper'],
  13202. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13203. creator: map['Creator'],
  13204. guid: map['Guid'],
  13205. showChildFeatures: map['ShowChildFeatures'],
  13206. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13207. isAutoCalculated: map['IsAutoCalculated'],
  13208. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13209. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13210. );
  13211. }
  13212. Map<String, dynamic> toJson() {
  13213. final map = super.toJson();
  13214. map['Angle'] = angle;
  13215. return map;
  13216. }
  13217. }
  13218. class AutoMeasureGeometryDTO {
  13219. int index;
  13220. List<PointDTO >? points;
  13221. AutoMeasureGeometryDTO({
  13222. this.index = 0,
  13223. this.points,
  13224. });
  13225. factory AutoMeasureGeometryDTO.fromJson(Map<String, dynamic> map) {
  13226. return AutoMeasureGeometryDTO(
  13227. index: map['Index'],
  13228. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13229. );
  13230. }
  13231. Map<String, dynamic> toJson() {
  13232. final map = Map<String, dynamic>();
  13233. map['Index'] = index;
  13234. if(points != null)
  13235. map['Points'] = points;
  13236. return map;
  13237. }
  13238. }
  13239. class FollicleShapeFeatureDTO extends GeometryFeatureDTO{
  13240. List<AutoMeasureGeometryDTO >? geometries;
  13241. FollicleShapeFeatureDTO({
  13242. String? typeName,
  13243. this.geometries,
  13244. bool isVisible = false,
  13245. String? annotation,
  13246. String? briefAnnotation,
  13247. Unit xUnit = Unit.None,
  13248. Unit yUnit = Unit.None,
  13249. bool showAnnotation = false,
  13250. bool showCalliper = false,
  13251. List<PointDTO >? points,
  13252. String? creator,
  13253. String? guid,
  13254. bool showChildFeatures = false,
  13255. DateTime? timeStamp,
  13256. bool isAutoCalculated = false,
  13257. List<MeasuredValueDTO >? values,
  13258. List<MeasuredFeatureDTO >? childFeatures,
  13259. }) : super(
  13260. isVisible: isVisible,
  13261. annotation: annotation,
  13262. briefAnnotation: briefAnnotation,
  13263. xUnit: xUnit,
  13264. yUnit: yUnit,
  13265. showAnnotation: showAnnotation,
  13266. showCalliper: showCalliper,
  13267. points: points,
  13268. typeName: typeName,
  13269. creator: creator,
  13270. guid: guid,
  13271. showChildFeatures: showChildFeatures,
  13272. timeStamp: timeStamp,
  13273. isAutoCalculated: isAutoCalculated,
  13274. values: values,
  13275. childFeatures: childFeatures,
  13276. );
  13277. factory FollicleShapeFeatureDTO.fromJson(Map<String, dynamic> map) {
  13278. return FollicleShapeFeatureDTO(
  13279. typeName: map['TypeName'],
  13280. geometries: map['Geometries'] != null ? (map['Geometries'] as List).map((e)=>AutoMeasureGeometryDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13281. isVisible: map['IsVisible'],
  13282. annotation: map['Annotation'],
  13283. briefAnnotation: map['BriefAnnotation'],
  13284. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13285. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13286. showAnnotation: map['ShowAnnotation'],
  13287. showCalliper: map['ShowCalliper'],
  13288. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13289. creator: map['Creator'],
  13290. guid: map['Guid'],
  13291. showChildFeatures: map['ShowChildFeatures'],
  13292. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13293. isAutoCalculated: map['IsAutoCalculated'],
  13294. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13295. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13296. );
  13297. }
  13298. Map<String, dynamic> toJson() {
  13299. final map = super.toJson();
  13300. if(geometries != null)
  13301. map['Geometries'] = geometries;
  13302. return map;
  13303. }
  13304. }
  13305. class LocationFeatureDTO extends GeometryFeatureDTO{
  13306. LocationFeatureDTO({
  13307. String? typeName,
  13308. bool isVisible = false,
  13309. String? annotation,
  13310. String? briefAnnotation,
  13311. Unit xUnit = Unit.None,
  13312. Unit yUnit = Unit.None,
  13313. bool showAnnotation = false,
  13314. bool showCalliper = false,
  13315. List<PointDTO >? points,
  13316. String? creator,
  13317. String? guid,
  13318. bool showChildFeatures = false,
  13319. DateTime? timeStamp,
  13320. bool isAutoCalculated = false,
  13321. List<MeasuredValueDTO >? values,
  13322. List<MeasuredFeatureDTO >? childFeatures,
  13323. }) : super(
  13324. isVisible: isVisible,
  13325. annotation: annotation,
  13326. briefAnnotation: briefAnnotation,
  13327. xUnit: xUnit,
  13328. yUnit: yUnit,
  13329. showAnnotation: showAnnotation,
  13330. showCalliper: showCalliper,
  13331. points: points,
  13332. typeName: typeName,
  13333. creator: creator,
  13334. guid: guid,
  13335. showChildFeatures: showChildFeatures,
  13336. timeStamp: timeStamp,
  13337. isAutoCalculated: isAutoCalculated,
  13338. values: values,
  13339. childFeatures: childFeatures,
  13340. );
  13341. factory LocationFeatureDTO.fromJson(Map<String, dynamic> map) {
  13342. return LocationFeatureDTO(
  13343. typeName: map['TypeName'],
  13344. isVisible: map['IsVisible'],
  13345. annotation: map['Annotation'],
  13346. briefAnnotation: map['BriefAnnotation'],
  13347. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13348. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13349. showAnnotation: map['ShowAnnotation'],
  13350. showCalliper: map['ShowCalliper'],
  13351. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13352. creator: map['Creator'],
  13353. guid: map['Guid'],
  13354. showChildFeatures: map['ShowChildFeatures'],
  13355. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13356. isAutoCalculated: map['IsAutoCalculated'],
  13357. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13358. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13359. );
  13360. }
  13361. Map<String, dynamic> toJson() {
  13362. final map = super.toJson();
  13363. return map;
  13364. }
  13365. }
  13366. class RayFeatureDTO extends LocationFeatureDTO{
  13367. bool isReverse;
  13368. double angle;
  13369. RayFeatureDTO({
  13370. String? typeName,
  13371. this.isReverse = false,
  13372. this.angle = 0,
  13373. bool isVisible = false,
  13374. String? annotation,
  13375. String? briefAnnotation,
  13376. Unit xUnit = Unit.None,
  13377. Unit yUnit = Unit.None,
  13378. bool showAnnotation = false,
  13379. bool showCalliper = false,
  13380. List<PointDTO >? points,
  13381. String? creator,
  13382. String? guid,
  13383. bool showChildFeatures = false,
  13384. DateTime? timeStamp,
  13385. bool isAutoCalculated = false,
  13386. List<MeasuredValueDTO >? values,
  13387. List<MeasuredFeatureDTO >? childFeatures,
  13388. }) : super(
  13389. typeName: typeName,
  13390. isVisible: isVisible,
  13391. annotation: annotation,
  13392. briefAnnotation: briefAnnotation,
  13393. xUnit: xUnit,
  13394. yUnit: yUnit,
  13395. showAnnotation: showAnnotation,
  13396. showCalliper: showCalliper,
  13397. points: points,
  13398. creator: creator,
  13399. guid: guid,
  13400. showChildFeatures: showChildFeatures,
  13401. timeStamp: timeStamp,
  13402. isAutoCalculated: isAutoCalculated,
  13403. values: values,
  13404. childFeatures: childFeatures,
  13405. );
  13406. factory RayFeatureDTO.fromJson(Map<String, dynamic> map) {
  13407. return RayFeatureDTO(
  13408. typeName: map['TypeName'],
  13409. isReverse: map['IsReverse'],
  13410. angle: double.parse(map['Angle'].toString()),
  13411. isVisible: map['IsVisible'],
  13412. annotation: map['Annotation'],
  13413. briefAnnotation: map['BriefAnnotation'],
  13414. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13415. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13416. showAnnotation: map['ShowAnnotation'],
  13417. showCalliper: map['ShowCalliper'],
  13418. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13419. creator: map['Creator'],
  13420. guid: map['Guid'],
  13421. showChildFeatures: map['ShowChildFeatures'],
  13422. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13423. isAutoCalculated: map['IsAutoCalculated'],
  13424. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13425. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13426. );
  13427. }
  13428. Map<String, dynamic> toJson() {
  13429. final map = super.toJson();
  13430. map['IsReverse'] = isReverse;
  13431. map['Angle'] = angle;
  13432. return map;
  13433. }
  13434. }
  13435. class ManualTraceFeatureDTO extends GeometryFeatureDTO{
  13436. ManualTraceFeatureDTO({
  13437. String? typeName,
  13438. bool isVisible = false,
  13439. String? annotation,
  13440. String? briefAnnotation,
  13441. Unit xUnit = Unit.None,
  13442. Unit yUnit = Unit.None,
  13443. bool showAnnotation = false,
  13444. bool showCalliper = false,
  13445. List<PointDTO >? points,
  13446. String? creator,
  13447. String? guid,
  13448. bool showChildFeatures = false,
  13449. DateTime? timeStamp,
  13450. bool isAutoCalculated = false,
  13451. List<MeasuredValueDTO >? values,
  13452. List<MeasuredFeatureDTO >? childFeatures,
  13453. }) : super(
  13454. isVisible: isVisible,
  13455. annotation: annotation,
  13456. briefAnnotation: briefAnnotation,
  13457. xUnit: xUnit,
  13458. yUnit: yUnit,
  13459. showAnnotation: showAnnotation,
  13460. showCalliper: showCalliper,
  13461. points: points,
  13462. typeName: typeName,
  13463. creator: creator,
  13464. guid: guid,
  13465. showChildFeatures: showChildFeatures,
  13466. timeStamp: timeStamp,
  13467. isAutoCalculated: isAutoCalculated,
  13468. values: values,
  13469. childFeatures: childFeatures,
  13470. );
  13471. factory ManualTraceFeatureDTO.fromJson(Map<String, dynamic> map) {
  13472. return ManualTraceFeatureDTO(
  13473. typeName: map['TypeName'],
  13474. isVisible: map['IsVisible'],
  13475. annotation: map['Annotation'],
  13476. briefAnnotation: map['BriefAnnotation'],
  13477. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13478. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13479. showAnnotation: map['ShowAnnotation'],
  13480. showCalliper: map['ShowCalliper'],
  13481. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13482. creator: map['Creator'],
  13483. guid: map['Guid'],
  13484. showChildFeatures: map['ShowChildFeatures'],
  13485. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13486. isAutoCalculated: map['IsAutoCalculated'],
  13487. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13488. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13489. );
  13490. }
  13491. Map<String, dynamic> toJson() {
  13492. final map = super.toJson();
  13493. return map;
  13494. }
  13495. }
  13496. class PolyLineFeatureDTO extends MeasuredFeatureDTO{
  13497. bool isClosed;
  13498. double splineTension;
  13499. PolyLineFeatureDTO({
  13500. String? typeName,
  13501. this.isClosed = false,
  13502. this.splineTension = 0,
  13503. String? creator,
  13504. String? guid,
  13505. bool showChildFeatures = false,
  13506. DateTime? timeStamp,
  13507. bool isAutoCalculated = false,
  13508. List<MeasuredValueDTO >? values,
  13509. List<MeasuredFeatureDTO >? childFeatures,
  13510. }) : super(
  13511. typeName: typeName,
  13512. creator: creator,
  13513. guid: guid,
  13514. showChildFeatures: showChildFeatures,
  13515. timeStamp: timeStamp,
  13516. isAutoCalculated: isAutoCalculated,
  13517. values: values,
  13518. childFeatures: childFeatures,
  13519. );
  13520. factory PolyLineFeatureDTO.fromJson(Map<String, dynamic> map) {
  13521. return PolyLineFeatureDTO(
  13522. typeName: map['TypeName'],
  13523. isClosed: map['IsClosed'],
  13524. splineTension: double.parse(map['SplineTension'].toString()),
  13525. creator: map['Creator'],
  13526. guid: map['Guid'],
  13527. showChildFeatures: map['ShowChildFeatures'],
  13528. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13529. isAutoCalculated: map['IsAutoCalculated'],
  13530. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13531. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13532. );
  13533. }
  13534. Map<String, dynamic> toJson() {
  13535. final map = super.toJson();
  13536. map['IsClosed'] = isClosed;
  13537. map['SplineTension'] = splineTension;
  13538. return map;
  13539. }
  13540. }
  13541. class TraceLineFeatureDTO extends PolyLineFeatureDTO{
  13542. TraceLineFeatureDTO({
  13543. String? typeName,
  13544. bool isClosed = false,
  13545. double splineTension = 0,
  13546. String? creator,
  13547. String? guid,
  13548. bool showChildFeatures = false,
  13549. DateTime? timeStamp,
  13550. bool isAutoCalculated = false,
  13551. List<MeasuredValueDTO >? values,
  13552. List<MeasuredFeatureDTO >? childFeatures,
  13553. }) : super(
  13554. typeName: typeName,
  13555. isClosed: isClosed,
  13556. splineTension: splineTension,
  13557. creator: creator,
  13558. guid: guid,
  13559. showChildFeatures: showChildFeatures,
  13560. timeStamp: timeStamp,
  13561. isAutoCalculated: isAutoCalculated,
  13562. values: values,
  13563. childFeatures: childFeatures,
  13564. );
  13565. factory TraceLineFeatureDTO.fromJson(Map<String, dynamic> map) {
  13566. return TraceLineFeatureDTO(
  13567. typeName: map['TypeName'],
  13568. isClosed: map['IsClosed'],
  13569. splineTension: double.parse(map['SplineTension'].toString()),
  13570. creator: map['Creator'],
  13571. guid: map['Guid'],
  13572. showChildFeatures: map['ShowChildFeatures'],
  13573. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13574. isAutoCalculated: map['IsAutoCalculated'],
  13575. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13576. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13577. );
  13578. }
  13579. Map<String, dynamic> toJson() {
  13580. final map = super.toJson();
  13581. return map;
  13582. }
  13583. }
  13584. class SimpsonPathFeatureDTO extends TraceLineFeatureDTO{
  13585. PointDTO? centerLineMovablePoint;
  13586. SimpsonPathFeatureDTO({
  13587. String? typeName,
  13588. this.centerLineMovablePoint,
  13589. bool isClosed = false,
  13590. double splineTension = 0,
  13591. String? creator,
  13592. String? guid,
  13593. bool showChildFeatures = false,
  13594. DateTime? timeStamp,
  13595. bool isAutoCalculated = false,
  13596. List<MeasuredValueDTO >? values,
  13597. List<MeasuredFeatureDTO >? childFeatures,
  13598. }) : super(
  13599. typeName: typeName,
  13600. isClosed: isClosed,
  13601. splineTension: splineTension,
  13602. creator: creator,
  13603. guid: guid,
  13604. showChildFeatures: showChildFeatures,
  13605. timeStamp: timeStamp,
  13606. isAutoCalculated: isAutoCalculated,
  13607. values: values,
  13608. childFeatures: childFeatures,
  13609. );
  13610. factory SimpsonPathFeatureDTO.fromJson(Map<String, dynamic> map) {
  13611. return SimpsonPathFeatureDTO(
  13612. typeName: map['TypeName'],
  13613. centerLineMovablePoint: map['CenterLineMovablePoint'] != null ? PointDTO.fromJson(map['CenterLineMovablePoint']) : null,
  13614. isClosed: map['IsClosed'],
  13615. splineTension: double.parse(map['SplineTension'].toString()),
  13616. creator: map['Creator'],
  13617. guid: map['Guid'],
  13618. showChildFeatures: map['ShowChildFeatures'],
  13619. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13620. isAutoCalculated: map['IsAutoCalculated'],
  13621. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13622. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13623. );
  13624. }
  13625. Map<String, dynamic> toJson() {
  13626. final map = super.toJson();
  13627. if(centerLineMovablePoint != null)
  13628. map['CenterLineMovablePoint'] = centerLineMovablePoint;
  13629. return map;
  13630. }
  13631. }
  13632. class RectFeatureDTO extends GeometryFeatureDTO{
  13633. bool showRootFeature;
  13634. List<MeasuredFeatureDTO >? autoLines;
  13635. RectFeatureDTO({
  13636. String? typeName,
  13637. this.showRootFeature = false,
  13638. this.autoLines,
  13639. bool isVisible = false,
  13640. String? annotation,
  13641. String? briefAnnotation,
  13642. Unit xUnit = Unit.None,
  13643. Unit yUnit = Unit.None,
  13644. bool showAnnotation = false,
  13645. bool showCalliper = false,
  13646. List<PointDTO >? points,
  13647. String? creator,
  13648. String? guid,
  13649. bool showChildFeatures = false,
  13650. DateTime? timeStamp,
  13651. bool isAutoCalculated = false,
  13652. List<MeasuredValueDTO >? values,
  13653. List<MeasuredFeatureDTO >? childFeatures,
  13654. }) : super(
  13655. isVisible: isVisible,
  13656. annotation: annotation,
  13657. briefAnnotation: briefAnnotation,
  13658. xUnit: xUnit,
  13659. yUnit: yUnit,
  13660. showAnnotation: showAnnotation,
  13661. showCalliper: showCalliper,
  13662. points: points,
  13663. typeName: typeName,
  13664. creator: creator,
  13665. guid: guid,
  13666. showChildFeatures: showChildFeatures,
  13667. timeStamp: timeStamp,
  13668. isAutoCalculated: isAutoCalculated,
  13669. values: values,
  13670. childFeatures: childFeatures,
  13671. );
  13672. factory RectFeatureDTO.fromJson(Map<String, dynamic> map) {
  13673. return RectFeatureDTO(
  13674. typeName: map['TypeName'],
  13675. showRootFeature: map['ShowRootFeature'],
  13676. autoLines: map['AutoLines'] != null ? (map['AutoLines'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13677. isVisible: map['IsVisible'],
  13678. annotation: map['Annotation'],
  13679. briefAnnotation: map['BriefAnnotation'],
  13680. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13681. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13682. showAnnotation: map['ShowAnnotation'],
  13683. showCalliper: map['ShowCalliper'],
  13684. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13685. creator: map['Creator'],
  13686. guid: map['Guid'],
  13687. showChildFeatures: map['ShowChildFeatures'],
  13688. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13689. isAutoCalculated: map['IsAutoCalculated'],
  13690. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13691. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13692. );
  13693. }
  13694. Map<String, dynamic> toJson() {
  13695. final map = super.toJson();
  13696. map['ShowRootFeature'] = showRootFeature;
  13697. if(autoLines != null)
  13698. map['AutoLines'] = autoLines;
  13699. return map;
  13700. }
  13701. }
  13702. class FollicleRectFeatureDTO extends RectFeatureDTO{
  13703. FollicleRectFeatureDTO({
  13704. String? typeName,
  13705. bool showRootFeature = false,
  13706. List<MeasuredFeatureDTO >? autoLines,
  13707. bool isVisible = false,
  13708. String? annotation,
  13709. String? briefAnnotation,
  13710. Unit xUnit = Unit.None,
  13711. Unit yUnit = Unit.None,
  13712. bool showAnnotation = false,
  13713. bool showCalliper = false,
  13714. List<PointDTO >? points,
  13715. String? creator,
  13716. String? guid,
  13717. bool showChildFeatures = false,
  13718. DateTime? timeStamp,
  13719. bool isAutoCalculated = false,
  13720. List<MeasuredValueDTO >? values,
  13721. List<MeasuredFeatureDTO >? childFeatures,
  13722. }) : super(
  13723. typeName: typeName,
  13724. showRootFeature: showRootFeature,
  13725. autoLines: autoLines,
  13726. isVisible: isVisible,
  13727. annotation: annotation,
  13728. briefAnnotation: briefAnnotation,
  13729. xUnit: xUnit,
  13730. yUnit: yUnit,
  13731. showAnnotation: showAnnotation,
  13732. showCalliper: showCalliper,
  13733. points: points,
  13734. creator: creator,
  13735. guid: guid,
  13736. showChildFeatures: showChildFeatures,
  13737. timeStamp: timeStamp,
  13738. isAutoCalculated: isAutoCalculated,
  13739. values: values,
  13740. childFeatures: childFeatures,
  13741. );
  13742. factory FollicleRectFeatureDTO.fromJson(Map<String, dynamic> map) {
  13743. return FollicleRectFeatureDTO(
  13744. typeName: map['TypeName'],
  13745. showRootFeature: map['ShowRootFeature'],
  13746. autoLines: map['AutoLines'] != null ? (map['AutoLines'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13747. isVisible: map['IsVisible'],
  13748. annotation: map['Annotation'],
  13749. briefAnnotation: map['BriefAnnotation'],
  13750. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13751. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13752. showAnnotation: map['ShowAnnotation'],
  13753. showCalliper: map['ShowCalliper'],
  13754. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13755. creator: map['Creator'],
  13756. guid: map['Guid'],
  13757. showChildFeatures: map['ShowChildFeatures'],
  13758. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13759. isAutoCalculated: map['IsAutoCalculated'],
  13760. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13761. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13762. );
  13763. }
  13764. Map<String, dynamic> toJson() {
  13765. final map = super.toJson();
  13766. return map;
  13767. }
  13768. }
  13769. class StraightLineFeatureDTO extends GeometryFeatureDTO{
  13770. StraightLineShapeEnum shapeType;
  13771. bool useDashLine;
  13772. StraightLineFeatureDTO({
  13773. String? typeName,
  13774. this.shapeType = StraightLineShapeEnum.StraightLine,
  13775. this.useDashLine = false,
  13776. bool isVisible = false,
  13777. String? annotation,
  13778. String? briefAnnotation,
  13779. Unit xUnit = Unit.None,
  13780. Unit yUnit = Unit.None,
  13781. bool showAnnotation = false,
  13782. bool showCalliper = false,
  13783. List<PointDTO >? points,
  13784. String? creator,
  13785. String? guid,
  13786. bool showChildFeatures = false,
  13787. DateTime? timeStamp,
  13788. bool isAutoCalculated = false,
  13789. List<MeasuredValueDTO >? values,
  13790. List<MeasuredFeatureDTO >? childFeatures,
  13791. }) : super(
  13792. isVisible: isVisible,
  13793. annotation: annotation,
  13794. briefAnnotation: briefAnnotation,
  13795. xUnit: xUnit,
  13796. yUnit: yUnit,
  13797. showAnnotation: showAnnotation,
  13798. showCalliper: showCalliper,
  13799. points: points,
  13800. typeName: typeName,
  13801. creator: creator,
  13802. guid: guid,
  13803. showChildFeatures: showChildFeatures,
  13804. timeStamp: timeStamp,
  13805. isAutoCalculated: isAutoCalculated,
  13806. values: values,
  13807. childFeatures: childFeatures,
  13808. );
  13809. factory StraightLineFeatureDTO.fromJson(Map<String, dynamic> map) {
  13810. return StraightLineFeatureDTO(
  13811. typeName: map['TypeName'],
  13812. shapeType: StraightLineShapeEnum.values.firstWhere((e) => e.index == map['ShapeType']),
  13813. useDashLine: map['UseDashLine'],
  13814. isVisible: map['IsVisible'],
  13815. annotation: map['Annotation'],
  13816. briefAnnotation: map['BriefAnnotation'],
  13817. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13818. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13819. showAnnotation: map['ShowAnnotation'],
  13820. showCalliper: map['ShowCalliper'],
  13821. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13822. creator: map['Creator'],
  13823. guid: map['Guid'],
  13824. showChildFeatures: map['ShowChildFeatures'],
  13825. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13826. isAutoCalculated: map['IsAutoCalculated'],
  13827. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13828. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13829. );
  13830. }
  13831. Map<String, dynamic> toJson() {
  13832. final map = super.toJson();
  13833. map['ShapeType'] = shapeType.index;
  13834. map['UseDashLine'] = useDashLine;
  13835. return map;
  13836. }
  13837. }
  13838. class VasPlaqueSplitterFeatureDTO extends GeometryFeatureDTO{
  13839. int maxZoneCount;
  13840. int currentZoneCount;
  13841. int angle;
  13842. List<PointDTO >? splitterLinesPoints;
  13843. VasPlaqueSplitterFeatureDTO({
  13844. String? typeName,
  13845. this.maxZoneCount = 0,
  13846. this.currentZoneCount = 0,
  13847. this.angle = 0,
  13848. bool isVisible = false,
  13849. this.splitterLinesPoints,
  13850. String? annotation,
  13851. String? briefAnnotation,
  13852. Unit xUnit = Unit.None,
  13853. Unit yUnit = Unit.None,
  13854. bool showAnnotation = false,
  13855. bool showCalliper = false,
  13856. List<PointDTO >? points,
  13857. String? creator,
  13858. String? guid,
  13859. bool showChildFeatures = false,
  13860. DateTime? timeStamp,
  13861. bool isAutoCalculated = false,
  13862. List<MeasuredValueDTO >? values,
  13863. List<MeasuredFeatureDTO >? childFeatures,
  13864. }) : super(
  13865. isVisible: isVisible,
  13866. annotation: annotation,
  13867. briefAnnotation: briefAnnotation,
  13868. xUnit: xUnit,
  13869. yUnit: yUnit,
  13870. showAnnotation: showAnnotation,
  13871. showCalliper: showCalliper,
  13872. points: points,
  13873. typeName: typeName,
  13874. creator: creator,
  13875. guid: guid,
  13876. showChildFeatures: showChildFeatures,
  13877. timeStamp: timeStamp,
  13878. isAutoCalculated: isAutoCalculated,
  13879. values: values,
  13880. childFeatures: childFeatures,
  13881. );
  13882. factory VasPlaqueSplitterFeatureDTO.fromJson(Map<String, dynamic> map) {
  13883. return VasPlaqueSplitterFeatureDTO(
  13884. typeName: map['TypeName'],
  13885. maxZoneCount: map['MaxZoneCount'],
  13886. currentZoneCount: map['CurrentZoneCount'],
  13887. angle: map['Angle'],
  13888. isVisible: map['IsVisible'],
  13889. splitterLinesPoints: map['SplitterLinesPoints'] != null ? (map['SplitterLinesPoints'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13890. annotation: map['Annotation'],
  13891. briefAnnotation: map['BriefAnnotation'],
  13892. xUnit: Unit.values.firstWhere((e) => e.index == map['XUnit']),
  13893. yUnit: Unit.values.firstWhere((e) => e.index == map['YUnit']),
  13894. showAnnotation: map['ShowAnnotation'],
  13895. showCalliper: map['ShowCalliper'],
  13896. points: map['Points'] != null ? (map['Points'] as List).map((e)=>PointDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13897. creator: map['Creator'],
  13898. guid: map['Guid'],
  13899. showChildFeatures: map['ShowChildFeatures'],
  13900. timeStamp: map['TimeStamp'] != null ? DateTime.parse(map['TimeStamp']) : null,
  13901. isAutoCalculated: map['IsAutoCalculated'],
  13902. values: map['Values'] != null ? (map['Values'] as List).map((e)=>MeasuredValueDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13903. childFeatures: map['ChildFeatures'] != null ? (map['ChildFeatures'] as List).map((e)=>MeasuredFeatureDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  13904. );
  13905. }
  13906. Map<String, dynamic> toJson() {
  13907. final map = super.toJson();
  13908. map['MaxZoneCount'] = maxZoneCount;
  13909. map['CurrentZoneCount'] = currentZoneCount;
  13910. map['Angle'] = angle;
  13911. if(splitterLinesPoints != null)
  13912. map['SplitterLinesPoints'] = splitterLinesPoints;
  13913. return map;
  13914. }
  13915. }
  13916. class GrowthNormalRangeDTO {
  13917. String? typeName;
  13918. String? tableAuthor;
  13919. String? measureItem;
  13920. int gAinDays;
  13921. int status;
  13922. double value;
  13923. double minValue;
  13924. double maxValue;
  13925. Unit valueUnit;
  13926. Unit targetUnit;
  13927. GrowthNormalRangeDTO({
  13928. this.typeName,
  13929. this.tableAuthor,
  13930. this.measureItem,
  13931. this.gAinDays = 0,
  13932. this.status = 0,
  13933. this.value = 0,
  13934. this.minValue = 0,
  13935. this.maxValue = 0,
  13936. this.valueUnit = Unit.None,
  13937. this.targetUnit = Unit.None,
  13938. });
  13939. factory GrowthNormalRangeDTO.fromJson(Map<String, dynamic> map) {
  13940. return GrowthNormalRangeDTO(
  13941. typeName: map['TypeName'],
  13942. tableAuthor: map['TableAuthor'],
  13943. measureItem: map['MeasureItem'],
  13944. gAinDays: map['GAinDays'],
  13945. status: map['Status'],
  13946. value: double.parse(map['Value'].toString()),
  13947. minValue: double.parse(map['MinValue'].toString()),
  13948. maxValue: double.parse(map['MaxValue'].toString()),
  13949. valueUnit: Unit.values.firstWhere((e) => e.index == map['ValueUnit']),
  13950. targetUnit: Unit.values.firstWhere((e) => e.index == map['TargetUnit']),
  13951. );
  13952. }
  13953. Map<String, dynamic> toJson() {
  13954. final map = Map<String, dynamic>();
  13955. if(typeName != null)
  13956. map['TypeName'] = typeName;
  13957. if(tableAuthor != null)
  13958. map['TableAuthor'] = tableAuthor;
  13959. if(measureItem != null)
  13960. map['MeasureItem'] = measureItem;
  13961. map['GAinDays'] = gAinDays;
  13962. map['Status'] = status;
  13963. map['Value'] = value;
  13964. map['MinValue'] = minValue;
  13965. map['MaxValue'] = maxValue;
  13966. map['ValueUnit'] = valueUnit.index;
  13967. map['TargetUnit'] = targetUnit.index;
  13968. return map;
  13969. }
  13970. }
  13971. class EFWRepresentationDTO extends FloatValueDTO{
  13972. EFWRepresentationDTO({
  13973. FetalGrowthIndexDTO? fetalGrowthIndex,
  13974. String? typeName,
  13975. String? name,
  13976. String? description,
  13977. bool worksheetAffinity = false,
  13978. String? briefDescription,
  13979. String? value,
  13980. Unit unit = Unit.None,
  13981. Unit targetUnit = Unit.None,
  13982. }) : super(
  13983. fetalGrowthIndex: fetalGrowthIndex,
  13984. typeName: typeName,
  13985. name: name,
  13986. description: description,
  13987. worksheetAffinity: worksheetAffinity,
  13988. briefDescription: briefDescription,
  13989. value: value,
  13990. unit: unit,
  13991. targetUnit: targetUnit,
  13992. );
  13993. factory EFWRepresentationDTO.fromJson(Map<String, dynamic> map) {
  13994. return EFWRepresentationDTO(
  13995. fetalGrowthIndex: map['FetalGrowthIndex'] != null ? FetalGrowthIndexDTO.fromJson(map['FetalGrowthIndex']) : null,
  13996. typeName: map['TypeName'],
  13997. name: map['Name'],
  13998. description: map['Description'],
  13999. worksheetAffinity: map['WorksheetAffinity'],
  14000. briefDescription: map['BriefDescription'],
  14001. value: map['Value'],
  14002. unit: Unit.values.firstWhere((e) => e.index == map['Unit']),
  14003. targetUnit: Unit.values.firstWhere((e) => e.index == map['TargetUnit']),
  14004. );
  14005. }
  14006. Map<String, dynamic> toJson() {
  14007. final map = super.toJson();
  14008. return map;
  14009. }
  14010. }
  14011. class AdminExtendInfoDTO extends AdminInfoDTO{
  14012. List<String >? roleNames;
  14013. String? defaultRoleCode;
  14014. String? defaultRoleName;
  14015. bool isLocked;
  14016. AdminExtendInfoDTO({
  14017. this.roleNames,
  14018. this.defaultRoleCode,
  14019. this.defaultRoleName,
  14020. this.isLocked = false,
  14021. String? adminCode,
  14022. String? fatherCode,
  14023. String? adminName,
  14024. String? fullName,
  14025. String? secretPassword,
  14026. String? headImageToken,
  14027. String? licenseKey,
  14028. String? lastIP,
  14029. String? phone,
  14030. String? email,
  14031. List<String >? roleCodes,
  14032. LoginLockInfoDTO? loginLockInfo,
  14033. DateTime? passwordUpdateTime,
  14034. List<String >? passwordRecords,
  14035. List<ClearLogOperateDTO >? clearLogOperateList,
  14036. DateTime? createTime,
  14037. DateTime? updateTime,
  14038. }) : super(
  14039. adminCode: adminCode,
  14040. fatherCode: fatherCode,
  14041. adminName: adminName,
  14042. fullName: fullName,
  14043. secretPassword: secretPassword,
  14044. headImageToken: headImageToken,
  14045. licenseKey: licenseKey,
  14046. lastIP: lastIP,
  14047. phone: phone,
  14048. email: email,
  14049. roleCodes: roleCodes,
  14050. loginLockInfo: loginLockInfo,
  14051. passwordUpdateTime: passwordUpdateTime,
  14052. passwordRecords: passwordRecords,
  14053. clearLogOperateList: clearLogOperateList,
  14054. createTime: createTime,
  14055. updateTime: updateTime,
  14056. );
  14057. factory AdminExtendInfoDTO.fromJson(Map<String, dynamic> map) {
  14058. return AdminExtendInfoDTO(
  14059. roleNames: map['RoleNames'] != null ? map['RoleNames'].cast<String>().toList() : null,
  14060. defaultRoleCode: map['DefaultRoleCode'],
  14061. defaultRoleName: map['DefaultRoleName'],
  14062. isLocked: map['IsLocked'],
  14063. adminCode: map['AdminCode'],
  14064. fatherCode: map['FatherCode'],
  14065. adminName: map['AdminName'],
  14066. fullName: map['FullName'],
  14067. secretPassword: map['SecretPassword'],
  14068. headImageToken: map['HeadImageToken'],
  14069. licenseKey: map['LicenseKey'],
  14070. lastIP: map['LastIP'],
  14071. phone: map['Phone'],
  14072. email: map['Email'],
  14073. roleCodes: map['RoleCodes'] != null ? map['RoleCodes'].cast<String>().toList() : null,
  14074. loginLockInfo: map['LoginLockInfo'] != null ? LoginLockInfoDTO.fromJson(map['LoginLockInfo']) : null,
  14075. passwordUpdateTime: map['PasswordUpdateTime'] != null ? DateTime.parse(map['PasswordUpdateTime']) : null,
  14076. passwordRecords: map['PasswordRecords'] != null ? map['PasswordRecords'].cast<String>().toList() : null,
  14077. clearLogOperateList: map['ClearLogOperateList'] != null ? (map['ClearLogOperateList'] as List).map((e)=>ClearLogOperateDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14078. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14079. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14080. );
  14081. }
  14082. Map<String, dynamic> toJson() {
  14083. final map = super.toJson();
  14084. if(roleNames != null)
  14085. map['RoleNames'] = roleNames;
  14086. if(defaultRoleCode != null)
  14087. map['DefaultRoleCode'] = defaultRoleCode;
  14088. if(defaultRoleName != null)
  14089. map['DefaultRoleName'] = defaultRoleName;
  14090. map['IsLocked'] = isLocked;
  14091. return map;
  14092. }
  14093. }
  14094. class AdminLoginResult {
  14095. LoginStateEnum loginState;
  14096. String? token;
  14097. int? lockRemainingTimes;
  14098. bool isDistributedServer;
  14099. bool passwordExpired;
  14100. String? adminName;
  14101. AdminLoginResult({
  14102. this.loginState = LoginStateEnum.Succeed,
  14103. this.token,
  14104. this.lockRemainingTimes,
  14105. this.isDistributedServer = false,
  14106. this.passwordExpired = false,
  14107. this.adminName,
  14108. });
  14109. factory AdminLoginResult.fromJson(Map<String, dynamic> map) {
  14110. return AdminLoginResult(
  14111. loginState: LoginStateEnum.values.firstWhere((e) => e.index == map['LoginState']),
  14112. token: map['Token'],
  14113. lockRemainingTimes: map['LockRemainingTimes'],
  14114. isDistributedServer: map['IsDistributedServer'],
  14115. passwordExpired: map['PasswordExpired'],
  14116. adminName: map['AdminName'],
  14117. );
  14118. }
  14119. Map<String, dynamic> toJson() {
  14120. final map = Map<String, dynamic>();
  14121. map['LoginState'] = loginState.index;
  14122. if(token != null)
  14123. map['Token'] = token;
  14124. if(lockRemainingTimes != null)
  14125. map['LockRemainingTimes'] = lockRemainingTimes;
  14126. map['IsDistributedServer'] = isDistributedServer;
  14127. map['PasswordExpired'] = passwordExpired;
  14128. if(adminName != null)
  14129. map['AdminName'] = adminName;
  14130. return map;
  14131. }
  14132. }
  14133. class WaitDeleteLogBaseDTO {
  14134. int daysAgoList;
  14135. int waitDeleteLogCount;
  14136. WaitDeleteLogBaseDTO({
  14137. this.daysAgoList = 0,
  14138. this.waitDeleteLogCount = 0,
  14139. });
  14140. factory WaitDeleteLogBaseDTO.fromJson(Map<String, dynamic> map) {
  14141. return WaitDeleteLogBaseDTO(
  14142. daysAgoList: map['DaysAgoList'],
  14143. waitDeleteLogCount: map['WaitDeleteLogCount'],
  14144. );
  14145. }
  14146. Map<String, dynamic> toJson() {
  14147. final map = Map<String, dynamic>();
  14148. map['DaysAgoList'] = daysAgoList;
  14149. map['WaitDeleteLogCount'] = waitDeleteLogCount;
  14150. return map;
  14151. }
  14152. }
  14153. class WaitDeleteLogsDTO {
  14154. List<WaitDeleteLogBaseDTO >? waitDeleteLogs;
  14155. int daysAgo;
  14156. String? requestServerHost;
  14157. DateTime? lastClearTime;
  14158. DateTime? lastClearOperateTime;
  14159. WaitDeleteLogsDTO({
  14160. this.waitDeleteLogs,
  14161. this.daysAgo = 0,
  14162. this.requestServerHost,
  14163. this.lastClearTime,
  14164. this.lastClearOperateTime,
  14165. });
  14166. factory WaitDeleteLogsDTO.fromJson(Map<String, dynamic> map) {
  14167. return WaitDeleteLogsDTO(
  14168. waitDeleteLogs: map['WaitDeleteLogs'] != null ? (map['WaitDeleteLogs'] as List).map((e)=>WaitDeleteLogBaseDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14169. daysAgo: map['DaysAgo'],
  14170. requestServerHost: map['RequestServerHost'],
  14171. lastClearTime: map['LastClearTime'] != null ? DateTime.parse(map['LastClearTime']) : null,
  14172. lastClearOperateTime: map['LastClearOperateTime'] != null ? DateTime.parse(map['LastClearOperateTime']) : null,
  14173. );
  14174. }
  14175. Map<String, dynamic> toJson() {
  14176. final map = Map<String, dynamic>();
  14177. if(waitDeleteLogs != null)
  14178. map['WaitDeleteLogs'] = waitDeleteLogs;
  14179. map['DaysAgo'] = daysAgo;
  14180. if(requestServerHost != null)
  14181. map['RequestServerHost'] = requestServerHost;
  14182. if(lastClearTime != null)
  14183. map['LastClearTime'] = JsonRpcUtils.dateFormat(lastClearTime!);
  14184. if(lastClearOperateTime != null)
  14185. map['LastClearOperateTime'] = JsonRpcUtils.dateFormat(lastClearOperateTime!);
  14186. return map;
  14187. }
  14188. }
  14189. class ManageAdminFeatureInfoDTO {
  14190. List<String >? featureCodeList;
  14191. ManageAdminFeatureInfoDTO({
  14192. this.featureCodeList,
  14193. });
  14194. factory ManageAdminFeatureInfoDTO.fromJson(Map<String, dynamic> map) {
  14195. return ManageAdminFeatureInfoDTO(
  14196. featureCodeList: map['FeatureCodeList'] != null ? map['FeatureCodeList'].cast<String>().toList() : null,
  14197. );
  14198. }
  14199. Map<String, dynamic> toJson() {
  14200. final map = Map<String, dynamic>();
  14201. if(featureCodeList != null)
  14202. map['FeatureCodeList'] = featureCodeList;
  14203. return map;
  14204. }
  14205. }
  14206. class FeatureDetail {
  14207. String? id;
  14208. FeatureDetail({
  14209. this.id,
  14210. });
  14211. factory FeatureDetail.fromJson(Map<String, dynamic> map) {
  14212. return FeatureDetail(
  14213. id: map['Id'],
  14214. );
  14215. }
  14216. Map<String, dynamic> toJson() {
  14217. final map = Map<String, dynamic>();
  14218. if(id != null)
  14219. map['Id'] = id;
  14220. return map;
  14221. }
  14222. }
  14223. class ManageAdminRoleInfoDTO extends AdminRoleDTO{
  14224. List<FeatureDetail >? featureList;
  14225. ManageAdminRoleInfoDTO({
  14226. this.featureList,
  14227. String? adminGroupCode,
  14228. int adminNum = 0,
  14229. String? roleCode,
  14230. String? roleName,
  14231. String? description,
  14232. List<UserRoleLanguageConfigDTO >? languageConfigs,
  14233. DateTime? createTime,
  14234. DateTime? updateTime,
  14235. }) : super(
  14236. adminGroupCode: adminGroupCode,
  14237. adminNum: adminNum,
  14238. roleCode: roleCode,
  14239. roleName: roleName,
  14240. description: description,
  14241. languageConfigs: languageConfigs,
  14242. createTime: createTime,
  14243. updateTime: updateTime,
  14244. );
  14245. factory ManageAdminRoleInfoDTO.fromJson(Map<String, dynamic> map) {
  14246. return ManageAdminRoleInfoDTO(
  14247. featureList: map['FeatureList'] != null ? (map['FeatureList'] as List).map((e)=>FeatureDetail.fromJson(e as Map<String,dynamic>)).toList() : null,
  14248. adminGroupCode: map['AdminGroupCode'],
  14249. adminNum: map['AdminNum'],
  14250. roleCode: map['RoleCode'],
  14251. roleName: map['RoleName'],
  14252. description: map['Description'],
  14253. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>UserRoleLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14254. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14255. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14256. );
  14257. }
  14258. Map<String, dynamic> toJson() {
  14259. final map = super.toJson();
  14260. if(featureList != null)
  14261. map['FeatureList'] = featureList;
  14262. return map;
  14263. }
  14264. }
  14265. class ManageCreateProductDTO extends CreateProductDTO{
  14266. ManageCreateProductDTO({
  14267. String? productCode,
  14268. DateTime? createTime,
  14269. DateTime? updateTime,
  14270. }) : super(
  14271. productCode: productCode,
  14272. createTime: createTime,
  14273. updateTime: updateTime,
  14274. );
  14275. factory ManageCreateProductDTO.fromJson(Map<String, dynamic> map) {
  14276. return ManageCreateProductDTO(
  14277. productCode: map['ProductCode'],
  14278. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14279. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14280. );
  14281. }
  14282. Map<String, dynamic> toJson() {
  14283. final map = super.toJson();
  14284. return map;
  14285. }
  14286. }
  14287. class ManageDeviceInfoDTO extends DeviceInfoDTO{
  14288. String? hospitalName;
  14289. String? departmentName;
  14290. String? directorName;
  14291. String? adminName;
  14292. String? shareUserNum;
  14293. String? deviceModelName;
  14294. List<DictionaryLanguageConfigDTO >? languageConfigs;
  14295. ManageDeviceInfoDTO({
  14296. this.hospitalName,
  14297. this.departmentName,
  14298. this.directorName,
  14299. this.adminName,
  14300. this.shareUserNum,
  14301. this.deviceModelName,
  14302. this.languageConfigs,
  14303. String? deviceCode,
  14304. String? serialNumber,
  14305. String? password,
  14306. String? name,
  14307. String? description,
  14308. String? deviceModel,
  14309. String? deviceType,
  14310. String? headPicUrl,
  14311. String? deviceSoftwareVersion,
  14312. String? sDKSoftwareVersion,
  14313. String? organizationCode,
  14314. String? departmentCode,
  14315. String? shortCode,
  14316. bool isAutoShared = false,
  14317. bool isEncryptedShow = false,
  14318. DateTime? lastLoginTime,
  14319. String? systemVersion,
  14320. String? cPUModel,
  14321. String? systemLanguage,
  14322. List<String >? diagnosisModules,
  14323. List<String >? reportPosterCodes,
  14324. bool mergedChannel = false,
  14325. int mergedVideoOutputWidth = 0,
  14326. int mergedVideoOutputHeight = 0,
  14327. List<VideoDeviceDTO >? videoDeviceInfos,
  14328. DownloadModeSettingEnum downloadModeSetting = DownloadModeSettingEnum.Auto,
  14329. bool liveOpened = false,
  14330. DateTime? createTime,
  14331. DateTime? updateTime,
  14332. }) : super(
  14333. deviceCode: deviceCode,
  14334. serialNumber: serialNumber,
  14335. password: password,
  14336. name: name,
  14337. description: description,
  14338. deviceModel: deviceModel,
  14339. deviceType: deviceType,
  14340. headPicUrl: headPicUrl,
  14341. deviceSoftwareVersion: deviceSoftwareVersion,
  14342. sDKSoftwareVersion: sDKSoftwareVersion,
  14343. organizationCode: organizationCode,
  14344. departmentCode: departmentCode,
  14345. shortCode: shortCode,
  14346. isAutoShared: isAutoShared,
  14347. isEncryptedShow: isEncryptedShow,
  14348. lastLoginTime: lastLoginTime,
  14349. systemVersion: systemVersion,
  14350. cPUModel: cPUModel,
  14351. systemLanguage: systemLanguage,
  14352. diagnosisModules: diagnosisModules,
  14353. reportPosterCodes: reportPosterCodes,
  14354. mergedChannel: mergedChannel,
  14355. mergedVideoOutputWidth: mergedVideoOutputWidth,
  14356. mergedVideoOutputHeight: mergedVideoOutputHeight,
  14357. videoDeviceInfos: videoDeviceInfos,
  14358. downloadModeSetting: downloadModeSetting,
  14359. liveOpened: liveOpened,
  14360. createTime: createTime,
  14361. updateTime: updateTime,
  14362. );
  14363. factory ManageDeviceInfoDTO.fromJson(Map<String, dynamic> map) {
  14364. return ManageDeviceInfoDTO(
  14365. hospitalName: map['HospitalName'],
  14366. departmentName: map['DepartmentName'],
  14367. directorName: map['DirectorName'],
  14368. adminName: map['AdminName'],
  14369. shareUserNum: map['ShareUserNum'],
  14370. deviceModelName: map['DeviceModelName'],
  14371. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14372. deviceCode: map['DeviceCode'],
  14373. serialNumber: map['SerialNumber'],
  14374. password: map['Password'],
  14375. name: map['Name'],
  14376. description: map['Description'],
  14377. deviceModel: map['DeviceModel'],
  14378. deviceType: map['DeviceType'],
  14379. headPicUrl: map['HeadPicUrl'],
  14380. deviceSoftwareVersion: map['DeviceSoftwareVersion'],
  14381. sDKSoftwareVersion: map['SDKSoftwareVersion'],
  14382. organizationCode: map['OrganizationCode'],
  14383. departmentCode: map['DepartmentCode'],
  14384. shortCode: map['ShortCode'],
  14385. isAutoShared: map['IsAutoShared'],
  14386. isEncryptedShow: map['IsEncryptedShow'],
  14387. lastLoginTime: map['LastLoginTime'] != null ? DateTime.parse(map['LastLoginTime']) : null,
  14388. systemVersion: map['SystemVersion'],
  14389. cPUModel: map['CPUModel'],
  14390. systemLanguage: map['SystemLanguage'],
  14391. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  14392. reportPosterCodes: map['ReportPosterCodes'] != null ? map['ReportPosterCodes'].cast<String>().toList() : null,
  14393. mergedChannel: map['MergedChannel'],
  14394. mergedVideoOutputWidth: map['MergedVideoOutputWidth'],
  14395. mergedVideoOutputHeight: map['MergedVideoOutputHeight'],
  14396. videoDeviceInfos: map['VideoDeviceInfos'] != null ? (map['VideoDeviceInfos'] as List).map((e)=>VideoDeviceDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14397. downloadModeSetting: DownloadModeSettingEnum.values.firstWhere((e) => e.index == map['DownloadModeSetting']),
  14398. liveOpened: map['LiveOpened'],
  14399. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14400. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14401. );
  14402. }
  14403. Map<String, dynamic> toJson() {
  14404. final map = super.toJson();
  14405. if(hospitalName != null)
  14406. map['HospitalName'] = hospitalName;
  14407. if(departmentName != null)
  14408. map['DepartmentName'] = departmentName;
  14409. if(directorName != null)
  14410. map['DirectorName'] = directorName;
  14411. if(adminName != null)
  14412. map['AdminName'] = adminName;
  14413. if(shareUserNum != null)
  14414. map['ShareUserNum'] = shareUserNum;
  14415. if(deviceModelName != null)
  14416. map['DeviceModelName'] = deviceModelName;
  14417. if(languageConfigs != null)
  14418. map['LanguageConfigs'] = languageConfigs;
  14419. return map;
  14420. }
  14421. }
  14422. class ManageDeviceTypeDTO {
  14423. String? dictionaryCode;
  14424. String? value;
  14425. List<DictionaryLanguageConfigDTO >? languageConfigs;
  14426. List<DictionaryDTO >? dictionaryList;
  14427. ManageDeviceTypeDTO({
  14428. this.dictionaryCode,
  14429. this.value,
  14430. this.languageConfigs,
  14431. this.dictionaryList,
  14432. });
  14433. factory ManageDeviceTypeDTO.fromJson(Map<String, dynamic> map) {
  14434. return ManageDeviceTypeDTO(
  14435. dictionaryCode: map['DictionaryCode'],
  14436. value: map['Value'],
  14437. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>DictionaryLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14438. dictionaryList: map['DictionaryList'] != null ? (map['DictionaryList'] as List).map((e)=>DictionaryDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14439. );
  14440. }
  14441. Map<String, dynamic> toJson() {
  14442. final map = Map<String, dynamic>();
  14443. if(dictionaryCode != null)
  14444. map['DictionaryCode'] = dictionaryCode;
  14445. if(value != null)
  14446. map['Value'] = value;
  14447. if(languageConfigs != null)
  14448. map['LanguageConfigs'] = languageConfigs;
  14449. if(dictionaryList != null)
  14450. map['DictionaryList'] = dictionaryList;
  14451. return map;
  14452. }
  14453. }
  14454. class ManageDeviceUserDTO {
  14455. String? userCode;
  14456. String? userName;
  14457. String? phone;
  14458. String? email;
  14459. String? nickName;
  14460. String? fullName;
  14461. String? hospitalName;
  14462. ManageDeviceUserDTO({
  14463. this.userCode,
  14464. this.userName,
  14465. this.phone,
  14466. this.email,
  14467. this.nickName,
  14468. this.fullName,
  14469. this.hospitalName,
  14470. });
  14471. factory ManageDeviceUserDTO.fromJson(Map<String, dynamic> map) {
  14472. return ManageDeviceUserDTO(
  14473. userCode: map['UserCode'],
  14474. userName: map['UserName'],
  14475. phone: map['Phone'],
  14476. email: map['Email'],
  14477. nickName: map['NickName'],
  14478. fullName: map['FullName'],
  14479. hospitalName: map['HospitalName'],
  14480. );
  14481. }
  14482. Map<String, dynamic> toJson() {
  14483. final map = Map<String, dynamic>();
  14484. if(userCode != null)
  14485. map['UserCode'] = userCode;
  14486. if(userName != null)
  14487. map['UserName'] = userName;
  14488. if(phone != null)
  14489. map['Phone'] = phone;
  14490. if(email != null)
  14491. map['Email'] = email;
  14492. if(nickName != null)
  14493. map['NickName'] = nickName;
  14494. if(fullName != null)
  14495. map['FullName'] = fullName;
  14496. if(hospitalName != null)
  14497. map['HospitalName'] = hospitalName;
  14498. return map;
  14499. }
  14500. }
  14501. class ManageOrderDetailDTO extends OrderDetailDTO{
  14502. ManageOrderDetailDTO({
  14503. String? code,
  14504. String? orderUserName,
  14505. String? orderUserCode,
  14506. String? productCode,
  14507. String? tPORderCode,
  14508. String? orderTitle,
  14509. OrderTypeEnum orderType = OrderTypeEnum.General,
  14510. double orderAmount = 0,
  14511. DateTime? payTime,
  14512. PayStatusEnum payStatus = PayStatusEnum.NoPay,
  14513. DateTime? createTime,
  14514. DateTime? updateTime,
  14515. }) : super(
  14516. code: code,
  14517. orderUserName: orderUserName,
  14518. orderUserCode: orderUserCode,
  14519. productCode: productCode,
  14520. tPORderCode: tPORderCode,
  14521. orderTitle: orderTitle,
  14522. orderType: orderType,
  14523. orderAmount: orderAmount,
  14524. payTime: payTime,
  14525. payStatus: payStatus,
  14526. createTime: createTime,
  14527. updateTime: updateTime,
  14528. );
  14529. factory ManageOrderDetailDTO.fromJson(Map<String, dynamic> map) {
  14530. return ManageOrderDetailDTO(
  14531. code: map['Code'],
  14532. orderUserName: map['OrderUserName'],
  14533. orderUserCode: map['OrderUserCode'],
  14534. productCode: map['ProductCode'],
  14535. tPORderCode: map['TPORderCode'],
  14536. orderTitle: map['OrderTitle'],
  14537. orderType: OrderTypeEnum.values.firstWhere((e) => e.index == map['OrderType']),
  14538. orderAmount: double.parse(map['OrderAmount'].toString()),
  14539. payTime: map['PayTime'] != null ? DateTime.parse(map['PayTime']) : null,
  14540. payStatus: PayStatusEnum.values.firstWhere((e) => e.index == map['PayStatus']),
  14541. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14542. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14543. );
  14544. }
  14545. Map<String, dynamic> toJson() {
  14546. final map = super.toJson();
  14547. return map;
  14548. }
  14549. }
  14550. class ManageOrganizationDTO extends OrganizationDTO{
  14551. String? countryName;
  14552. String? provinceName;
  14553. String? cityName;
  14554. String? countryCode;
  14555. String? provinceCode;
  14556. String? cityCode;
  14557. String? directorName;
  14558. String? adminFullName;
  14559. ManageOrganizationDTO({
  14560. this.countryName,
  14561. this.provinceName,
  14562. this.cityName,
  14563. this.countryCode,
  14564. this.provinceCode,
  14565. this.cityCode,
  14566. this.directorName,
  14567. this.adminFullName,
  14568. String? description,
  14569. String? rootCode,
  14570. OrganizationTypeEnum organizationType = OrganizationTypeEnum.Corporation,
  14571. List<String >? authorityGroups,
  14572. String? nautica,
  14573. OrganizationStateEnum state = OrganizationStateEnum.WaitAudit,
  14574. List<String >? directors,
  14575. List<String >? assignedAdmins,
  14576. String? patientSettingJson,
  14577. String? examSettingJson,
  14578. String? consultationSettingJson,
  14579. String? patientSettingVersion,
  14580. String? examSettingVersion,
  14581. String? consultationSettingVersion,
  14582. String? parentOrganizationName,
  14583. String? regionCode,
  14584. String? parentCode,
  14585. String? logoUrl,
  14586. OrganizationPatientTypeEnum patientType = OrganizationPatientTypeEnum.Person,
  14587. bool isinvented = false,
  14588. List<SettingDTOClass >? settings,
  14589. List<String >? diagnosisModules,
  14590. bool isEncryptedShow = false,
  14591. double referralLimitHours = 0,
  14592. List<String >? referralOrganizationCodes,
  14593. List<ReferralOrganizationDTO >? referralOrganizations,
  14594. String? organizationCode,
  14595. String? organizationName,
  14596. DateTime? createTime,
  14597. DateTime? updateTime,
  14598. }) : super(
  14599. description: description,
  14600. rootCode: rootCode,
  14601. organizationType: organizationType,
  14602. authorityGroups: authorityGroups,
  14603. nautica: nautica,
  14604. state: state,
  14605. directors: directors,
  14606. assignedAdmins: assignedAdmins,
  14607. patientSettingJson: patientSettingJson,
  14608. examSettingJson: examSettingJson,
  14609. consultationSettingJson: consultationSettingJson,
  14610. patientSettingVersion: patientSettingVersion,
  14611. examSettingVersion: examSettingVersion,
  14612. consultationSettingVersion: consultationSettingVersion,
  14613. parentOrganizationName: parentOrganizationName,
  14614. regionCode: regionCode,
  14615. parentCode: parentCode,
  14616. logoUrl: logoUrl,
  14617. patientType: patientType,
  14618. isinvented: isinvented,
  14619. settings: settings,
  14620. diagnosisModules: diagnosisModules,
  14621. isEncryptedShow: isEncryptedShow,
  14622. referralLimitHours: referralLimitHours,
  14623. referralOrganizationCodes: referralOrganizationCodes,
  14624. referralOrganizations: referralOrganizations,
  14625. organizationCode: organizationCode,
  14626. organizationName: organizationName,
  14627. createTime: createTime,
  14628. updateTime: updateTime,
  14629. );
  14630. factory ManageOrganizationDTO.fromJson(Map<String, dynamic> map) {
  14631. return ManageOrganizationDTO(
  14632. countryName: map['CountryName'],
  14633. provinceName: map['ProvinceName'],
  14634. cityName: map['CityName'],
  14635. countryCode: map['CountryCode'],
  14636. provinceCode: map['ProvinceCode'],
  14637. cityCode: map['CityCode'],
  14638. directorName: map['DirectorName'],
  14639. adminFullName: map['AdminFullName'],
  14640. description: map['Description'],
  14641. rootCode: map['RootCode'],
  14642. organizationType: OrganizationTypeEnum.values.firstWhere((e) => e.index == map['OrganizationType']),
  14643. authorityGroups: map['AuthorityGroups'] != null ? map['AuthorityGroups'].cast<String>().toList() : null,
  14644. nautica: map['Nautica'],
  14645. state: OrganizationStateEnum.values.firstWhere((e) => e.index == map['State']),
  14646. directors: map['Directors'] != null ? map['Directors'].cast<String>().toList() : null,
  14647. assignedAdmins: map['AssignedAdmins'] != null ? map['AssignedAdmins'].cast<String>().toList() : null,
  14648. patientSettingJson: map['PatientSettingJson'],
  14649. examSettingJson: map['ExamSettingJson'],
  14650. consultationSettingJson: map['ConsultationSettingJson'],
  14651. patientSettingVersion: map['PatientSettingVersion'],
  14652. examSettingVersion: map['ExamSettingVersion'],
  14653. consultationSettingVersion: map['ConsultationSettingVersion'],
  14654. parentOrganizationName: map['ParentOrganizationName'],
  14655. regionCode: map['RegionCode'],
  14656. parentCode: map['ParentCode'],
  14657. logoUrl: map['LogoUrl'],
  14658. patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
  14659. isinvented: map['Isinvented'],
  14660. settings: map['Settings'] != null ? (map['Settings'] as List).map((e)=>SettingDTOClass.fromJson(e as Map<String,dynamic>)).toList() : null,
  14661. diagnosisModules: map['DiagnosisModules'] != null ? map['DiagnosisModules'].cast<String>().toList() : null,
  14662. isEncryptedShow: map['IsEncryptedShow'],
  14663. referralLimitHours: double.parse(map['ReferralLimitHours'].toString()),
  14664. referralOrganizationCodes: map['ReferralOrganizationCodes'] != null ? map['ReferralOrganizationCodes'].cast<String>().toList() : null,
  14665. referralOrganizations: map['ReferralOrganizations'] != null ? (map['ReferralOrganizations'] as List).map((e)=>ReferralOrganizationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14666. organizationCode: map['OrganizationCode'],
  14667. organizationName: map['OrganizationName'],
  14668. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14669. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14670. );
  14671. }
  14672. Map<String, dynamic> toJson() {
  14673. final map = super.toJson();
  14674. if(countryName != null)
  14675. map['CountryName'] = countryName;
  14676. if(provinceName != null)
  14677. map['ProvinceName'] = provinceName;
  14678. if(cityName != null)
  14679. map['CityName'] = cityName;
  14680. if(countryCode != null)
  14681. map['CountryCode'] = countryCode;
  14682. if(provinceCode != null)
  14683. map['ProvinceCode'] = provinceCode;
  14684. if(cityCode != null)
  14685. map['CityCode'] = cityCode;
  14686. if(directorName != null)
  14687. map['DirectorName'] = directorName;
  14688. if(adminFullName != null)
  14689. map['AdminFullName'] = adminFullName;
  14690. return map;
  14691. }
  14692. }
  14693. class ManageOrganizationUserDTO {
  14694. String? userCode;
  14695. String? userName;
  14696. String? phone;
  14697. String? email;
  14698. String? nickName;
  14699. String? fullName;
  14700. String? hospitalName;
  14701. ManageOrganizationUserDTO({
  14702. this.userCode,
  14703. this.userName,
  14704. this.phone,
  14705. this.email,
  14706. this.nickName,
  14707. this.fullName,
  14708. this.hospitalName,
  14709. });
  14710. factory ManageOrganizationUserDTO.fromJson(Map<String, dynamic> map) {
  14711. return ManageOrganizationUserDTO(
  14712. userCode: map['UserCode'],
  14713. userName: map['UserName'],
  14714. phone: map['Phone'],
  14715. email: map['Email'],
  14716. nickName: map['NickName'],
  14717. fullName: map['FullName'],
  14718. hospitalName: map['HospitalName'],
  14719. );
  14720. }
  14721. Map<String, dynamic> toJson() {
  14722. final map = Map<String, dynamic>();
  14723. if(userCode != null)
  14724. map['UserCode'] = userCode;
  14725. if(userName != null)
  14726. map['UserName'] = userName;
  14727. if(phone != null)
  14728. map['Phone'] = phone;
  14729. if(email != null)
  14730. map['Email'] = email;
  14731. if(nickName != null)
  14732. map['NickName'] = nickName;
  14733. if(fullName != null)
  14734. map['FullName'] = fullName;
  14735. if(hospitalName != null)
  14736. map['HospitalName'] = hospitalName;
  14737. return map;
  14738. }
  14739. }
  14740. class ManagePaymentRecordDTO extends PaymentRecordDTO{
  14741. ManagePaymentRecordDTO({
  14742. String? orderCode,
  14743. double payAmount = 0,
  14744. DateTime? payTime,
  14745. PayStatusEnum payStatus = PayStatusEnum.NoPay,
  14746. PayTypeEnum payType = PayTypeEnum.Alipay_PAGE,
  14747. String? payReqContent,
  14748. String? payResContent,
  14749. DateTime? createTime,
  14750. DateTime? updateTime,
  14751. }) : super(
  14752. orderCode: orderCode,
  14753. payAmount: payAmount,
  14754. payTime: payTime,
  14755. payStatus: payStatus,
  14756. payType: payType,
  14757. payReqContent: payReqContent,
  14758. payResContent: payResContent,
  14759. createTime: createTime,
  14760. updateTime: updateTime,
  14761. );
  14762. factory ManagePaymentRecordDTO.fromJson(Map<String, dynamic> map) {
  14763. return ManagePaymentRecordDTO(
  14764. orderCode: map['OrderCode'],
  14765. payAmount: double.parse(map['PayAmount'].toString()),
  14766. payTime: map['PayTime'] != null ? DateTime.parse(map['PayTime']) : null,
  14767. payStatus: PayStatusEnum.values.firstWhere((e) => e.index == map['PayStatus']),
  14768. payType: PayTypeEnum.values.firstWhere((e) => e.index == map['PayType']),
  14769. payReqContent: map['PayReqContent'],
  14770. payResContent: map['PayResContent'],
  14771. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14772. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14773. );
  14774. }
  14775. Map<String, dynamic> toJson() {
  14776. final map = super.toJson();
  14777. return map;
  14778. }
  14779. }
  14780. class ManageRoleInfoDTO extends RoleDTO{
  14781. List<FeatureDetail >? featureList;
  14782. ManageRoleInfoDTO({
  14783. this.featureList,
  14784. RoleShowTypeEnum roleShowType = RoleShowTypeEnum.NotShow,
  14785. String? iConUrl,
  14786. String? colorStart,
  14787. String? colorEnd,
  14788. RoleQualificationEnum roleQualification = RoleQualificationEnum.NoNeed,
  14789. String? userGroupCode,
  14790. RoleShowTypeEnum fieldShowType = RoleShowTypeEnum.NotShow,
  14791. List<String >? fieldList,
  14792. String? roleCode,
  14793. String? roleName,
  14794. String? description,
  14795. List<UserRoleLanguageConfigDTO >? languageConfigs,
  14796. DateTime? createTime,
  14797. DateTime? updateTime,
  14798. }) : super(
  14799. roleShowType: roleShowType,
  14800. iConUrl: iConUrl,
  14801. colorStart: colorStart,
  14802. colorEnd: colorEnd,
  14803. roleQualification: roleQualification,
  14804. userGroupCode: userGroupCode,
  14805. fieldShowType: fieldShowType,
  14806. fieldList: fieldList,
  14807. roleCode: roleCode,
  14808. roleName: roleName,
  14809. description: description,
  14810. languageConfigs: languageConfigs,
  14811. createTime: createTime,
  14812. updateTime: updateTime,
  14813. );
  14814. factory ManageRoleInfoDTO.fromJson(Map<String, dynamic> map) {
  14815. return ManageRoleInfoDTO(
  14816. featureList: map['FeatureList'] != null ? (map['FeatureList'] as List).map((e)=>FeatureDetail.fromJson(e as Map<String,dynamic>)).toList() : null,
  14817. roleShowType: RoleShowTypeEnum.values.firstWhere((e) => e.index == map['RoleShowType']),
  14818. iConUrl: map['IConUrl'],
  14819. colorStart: map['ColorStart'],
  14820. colorEnd: map['ColorEnd'],
  14821. roleQualification: RoleQualificationEnum.values.firstWhere((e) => e.index == map['RoleQualification']),
  14822. userGroupCode: map['UserGroupCode'],
  14823. fieldShowType: RoleShowTypeEnum.values.firstWhere((e) => e.index == map['FieldShowType']),
  14824. fieldList: map['FieldList'] != null ? map['FieldList'].cast<String>().toList() : null,
  14825. roleCode: map['RoleCode'],
  14826. roleName: map['RoleName'],
  14827. description: map['Description'],
  14828. languageConfigs: map['LanguageConfigs'] != null ? (map['LanguageConfigs'] as List).map((e)=>UserRoleLanguageConfigDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  14829. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14830. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  14831. );
  14832. }
  14833. Map<String, dynamic> toJson() {
  14834. final map = super.toJson();
  14835. if(featureList != null)
  14836. map['FeatureList'] = featureList;
  14837. return map;
  14838. }
  14839. }
  14840. class BaseThesaurusItemBaseDTO<T> {
  14841. String? id;
  14842. String? label;
  14843. String? fatherCode;
  14844. String? thesaurusItemDescription;
  14845. String? thesaurusItemConclusion;
  14846. ThesaurusItemTypeEnum type;
  14847. List<T>? children;
  14848. bool isExistThesaurusItem;
  14849. BaseThesaurusItemBaseDTO({
  14850. this.id,
  14851. this.label,
  14852. this.fatherCode,
  14853. this.thesaurusItemDescription,
  14854. this.thesaurusItemConclusion,
  14855. this.type = ThesaurusItemTypeEnum.Classification,
  14856. this.children,
  14857. this.isExistThesaurusItem = false,
  14858. });
  14859. factory BaseThesaurusItemBaseDTO.fromJson(Map<String, dynamic> map) {
  14860. List<T> childrenList = [];
  14861. if (map['Children'] != null) {
  14862. childrenList.addAll(
  14863. (map['Children'] as List).map((e) => FJsonConvert.fromJson<T>(e)!));
  14864. }
  14865. return BaseThesaurusItemBaseDTO(
  14866. id: map['Id'],
  14867. label: map['Label'],
  14868. fatherCode: map['FatherCode'],
  14869. thesaurusItemDescription: map['ThesaurusItemDescription'],
  14870. thesaurusItemConclusion: map['ThesaurusItemConclusion'],
  14871. type: ThesaurusItemTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  14872. children: childrenList,
  14873. isExistThesaurusItem: map['IsExistThesaurusItem'],
  14874. );
  14875. }
  14876. Map<String, dynamic> toJson() {
  14877. final map = Map<String, dynamic>();
  14878. if(id != null)
  14879. map['Id'] = id;
  14880. if(label != null)
  14881. map['Label'] = label;
  14882. if(fatherCode != null)
  14883. map['FatherCode'] = fatherCode;
  14884. if(thesaurusItemDescription != null)
  14885. map['ThesaurusItemDescription'] = thesaurusItemDescription;
  14886. if(thesaurusItemConclusion != null)
  14887. map['ThesaurusItemConclusion'] = thesaurusItemConclusion;
  14888. map['Type'] = type.index;
  14889. if(children != null)
  14890. map['Children'] = children;
  14891. map['IsExistThesaurusItem'] = isExistThesaurusItem;
  14892. return map;
  14893. }
  14894. }
  14895. class ManageThesaurusItemDTO extends BaseThesaurusItemBaseDTO<ManageThesaurusItemDTO>{
  14896. ManageThesaurusItemDTO(
  14897. );
  14898. factory ManageThesaurusItemDTO.fromJson(Map<String, dynamic> map) {
  14899. return ManageThesaurusItemDTO(
  14900. );
  14901. }
  14902. Map<String, dynamic> toJson() {
  14903. final map = super.toJson();
  14904. return map;
  14905. }
  14906. }
  14907. class ManageUpdateProductDTO extends UpdateProductDTO{
  14908. ManageUpdateProductDTO({
  14909. bool isSuccess = false,
  14910. }) : super(
  14911. isSuccess: isSuccess,
  14912. );
  14913. factory ManageUpdateProductDTO.fromJson(Map<String, dynamic> map) {
  14914. return ManageUpdateProductDTO(
  14915. isSuccess: map['IsSuccess'],
  14916. );
  14917. }
  14918. Map<String, dynamic> toJson() {
  14919. final map = super.toJson();
  14920. return map;
  14921. }
  14922. }
  14923. class OnlineTokenDTO extends TokenDTO{
  14924. String? ipAddress;
  14925. OnlineTokenDTO({
  14926. this.ipAddress,
  14927. int version = 0,
  14928. String? code,
  14929. AccountType accountType = AccountType.Admin,
  14930. String? accountName,
  14931. Platform platform = Platform.Windows,
  14932. LoginSource loginSource = LoginSource.PC,
  14933. String? clientId,
  14934. String? loginServer,
  14935. DateTime? createTime,
  14936. DateTime? expiration,
  14937. int ipValue = 0,
  14938. bool isOnline = false,
  14939. String? installVersion,
  14940. }) : super(
  14941. version: version,
  14942. code: code,
  14943. accountType: accountType,
  14944. accountName: accountName,
  14945. platform: platform,
  14946. loginSource: loginSource,
  14947. clientId: clientId,
  14948. loginServer: loginServer,
  14949. createTime: createTime,
  14950. expiration: expiration,
  14951. ipValue: ipValue,
  14952. isOnline: isOnline,
  14953. installVersion: installVersion,
  14954. );
  14955. factory OnlineTokenDTO.fromJson(Map<String, dynamic> map) {
  14956. return OnlineTokenDTO(
  14957. ipAddress: map['IpAddress'],
  14958. version: map['Version'],
  14959. code: map['Code'],
  14960. accountType: AccountType.values.firstWhere((e) => e.index == map['AccountType']),
  14961. accountName: map['AccountName'],
  14962. platform: Platform.values.firstWhere((e) => e.index == map['Platform']),
  14963. loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
  14964. clientId: map['ClientId'],
  14965. loginServer: map['LoginServer'],
  14966. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  14967. expiration: map['Expiration'] != null ? DateTime.parse(map['Expiration']) : null,
  14968. ipValue: map['IpValue'],
  14969. isOnline: map['IsOnline'],
  14970. installVersion: map['InstallVersion'],
  14971. );
  14972. }
  14973. Map<String, dynamic> toJson() {
  14974. final map = super.toJson();
  14975. if(ipAddress != null)
  14976. map['IpAddress'] = ipAddress;
  14977. return map;
  14978. }
  14979. }
  14980. class SelectParentItemDTO extends SelectItemDTO{
  14981. String? parentCode;
  14982. SelectParentItemDTO({
  14983. this.parentCode,
  14984. String? key,
  14985. String? value,
  14986. }) : super(
  14987. key: key,
  14988. value: value,
  14989. );
  14990. factory SelectParentItemDTO.fromJson(Map<String, dynamic> map) {
  14991. return SelectParentItemDTO(
  14992. parentCode: map['ParentCode'],
  14993. key: map['Key'],
  14994. value: map['Value'],
  14995. );
  14996. }
  14997. Map<String, dynamic> toJson() {
  14998. final map = super.toJson();
  14999. if(parentCode != null)
  15000. map['ParentCode'] = parentCode;
  15001. return map;
  15002. }
  15003. }
  15004. class SystemConfigDTO extends BaseDTO{
  15005. String? code;
  15006. String? configKey;
  15007. String? configContent;
  15008. String? configPageControls;
  15009. SystemConfigDTO({
  15010. this.code,
  15011. this.configKey,
  15012. this.configContent,
  15013. this.configPageControls,
  15014. DateTime? createTime,
  15015. DateTime? updateTime,
  15016. }) : super(
  15017. createTime: createTime,
  15018. updateTime: updateTime,
  15019. );
  15020. factory SystemConfigDTO.fromJson(Map<String, dynamic> map) {
  15021. return SystemConfigDTO(
  15022. code: map['Code'],
  15023. configKey: map['ConfigKey'],
  15024. configContent: map['ConfigContent'],
  15025. configPageControls: map['ConfigPageControls'],
  15026. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  15027. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  15028. );
  15029. }
  15030. Map<String, dynamic> toJson() {
  15031. final map = super.toJson();
  15032. if(code != null)
  15033. map['Code'] = code;
  15034. if(configKey != null)
  15035. map['ConfigKey'] = configKey;
  15036. if(configContent != null)
  15037. map['ConfigContent'] = configContent;
  15038. if(configPageControls != null)
  15039. map['ConfigPageControls'] = configPageControls;
  15040. return map;
  15041. }
  15042. }
  15043. class LiveBoardDataDTO {
  15044. String? userCode;
  15045. String? boardData;
  15046. DateTime? interactiveTime;
  15047. LiveBoardDataDTO({
  15048. this.userCode,
  15049. this.boardData,
  15050. this.interactiveTime,
  15051. });
  15052. factory LiveBoardDataDTO.fromJson(Map<String, dynamic> map) {
  15053. return LiveBoardDataDTO(
  15054. userCode: map['UserCode'],
  15055. boardData: map['BoardData'],
  15056. interactiveTime: map['InteractiveTime'] != null ? DateTime.parse(map['InteractiveTime']) : null,
  15057. );
  15058. }
  15059. Map<String, dynamic> toJson() {
  15060. final map = Map<String, dynamic>();
  15061. if(userCode != null)
  15062. map['UserCode'] = userCode;
  15063. if(boardData != null)
  15064. map['BoardData'] = boardData;
  15065. if(interactiveTime != null)
  15066. map['InteractiveTime'] = JsonRpcUtils.dateFormat(interactiveTime!);
  15067. return map;
  15068. }
  15069. }
  15070. class LiveMemberStatusDTO {
  15071. String? code;
  15072. String? liveRoomCode;
  15073. LiveMemberStatus status;
  15074. UserStatusEnum userStatusType;
  15075. String? loginServerUrl;
  15076. LoginSource loginSource;
  15077. LiveMemberStatusDTO({
  15078. this.code,
  15079. this.liveRoomCode,
  15080. this.status = LiveMemberStatus.Default,
  15081. this.userStatusType = UserStatusEnum.NotOnline,
  15082. this.loginServerUrl,
  15083. this.loginSource = LoginSource.PC,
  15084. });
  15085. factory LiveMemberStatusDTO.fromJson(Map<String, dynamic> map) {
  15086. return LiveMemberStatusDTO(
  15087. code: map['Code'],
  15088. liveRoomCode: map['LiveRoomCode'],
  15089. status: LiveMemberStatus.values.firstWhere((e) => e.index == map['Status']),
  15090. userStatusType: UserStatusEnum.values.firstWhere((e) => e.index == map['UserStatusType']),
  15091. loginServerUrl: map['LoginServerUrl'],
  15092. loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
  15093. );
  15094. }
  15095. Map<String, dynamic> toJson() {
  15096. final map = Map<String, dynamic>();
  15097. if(code != null)
  15098. map['Code'] = code;
  15099. if(liveRoomCode != null)
  15100. map['LiveRoomCode'] = liveRoomCode;
  15101. map['Status'] = status.index;
  15102. map['UserStatusType'] = userStatusType.index;
  15103. if(loginServerUrl != null)
  15104. map['LoginServerUrl'] = loginServerUrl;
  15105. map['LoginSource'] = loginSource.index;
  15106. return map;
  15107. }
  15108. }
  15109. class LiveRoomDTO {
  15110. String? liveRoomCode;
  15111. String? name;
  15112. String? relatedCode;
  15113. String? initiatorCode;
  15114. int rtcRoomId;
  15115. int sdkAppId;
  15116. BusinessModuleEnum businessModule;
  15117. LiveRoomStatus status;
  15118. List<LiveMemberDTO >? deviceInfos;
  15119. List<LiveMemberDTO >? userInfos;
  15120. List<LiveViewerDTO >? viewerInfos;
  15121. ShareInfoDTO? shareInfo;
  15122. LiveRoomDTO({
  15123. this.liveRoomCode,
  15124. this.name,
  15125. this.relatedCode,
  15126. this.initiatorCode,
  15127. this.rtcRoomId = 0,
  15128. this.sdkAppId = 0,
  15129. this.businessModule = BusinessModuleEnum.RemoteDiagnosis,
  15130. this.status = LiveRoomStatus.Default,
  15131. this.deviceInfos,
  15132. this.userInfos,
  15133. this.viewerInfos,
  15134. this.shareInfo,
  15135. });
  15136. factory LiveRoomDTO.fromJson(Map<String, dynamic> map) {
  15137. return LiveRoomDTO(
  15138. liveRoomCode: map['LiveRoomCode'],
  15139. name: map['Name'],
  15140. relatedCode: map['RelatedCode'],
  15141. initiatorCode: map['InitiatorCode'],
  15142. rtcRoomId: map['RtcRoomId'],
  15143. sdkAppId: map['SdkAppId'],
  15144. businessModule: BusinessModuleEnum.values.firstWhere((e) => e.index == map['BusinessModule']),
  15145. status: LiveRoomStatus.values.firstWhere((e) => e.index == map['Status']),
  15146. deviceInfos: map['DeviceInfos'] != null ? (map['DeviceInfos'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15147. userInfos: map['UserInfos'] != null ? (map['UserInfos'] as List).map((e)=>LiveMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15148. viewerInfos: map['ViewerInfos'] != null ? (map['ViewerInfos'] as List).map((e)=>LiveViewerDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15149. shareInfo: map['ShareInfo'] != null ? ShareInfoDTO.fromJson(map['ShareInfo']) : null,
  15150. );
  15151. }
  15152. Map<String, dynamic> toJson() {
  15153. final map = Map<String, dynamic>();
  15154. if(liveRoomCode != null)
  15155. map['LiveRoomCode'] = liveRoomCode;
  15156. if(name != null)
  15157. map['Name'] = name;
  15158. if(relatedCode != null)
  15159. map['RelatedCode'] = relatedCode;
  15160. if(initiatorCode != null)
  15161. map['InitiatorCode'] = initiatorCode;
  15162. map['RtcRoomId'] = rtcRoomId;
  15163. map['SdkAppId'] = sdkAppId;
  15164. map['BusinessModule'] = businessModule.index;
  15165. map['Status'] = status.index;
  15166. if(deviceInfos != null)
  15167. map['DeviceInfos'] = deviceInfos;
  15168. if(userInfos != null)
  15169. map['UserInfos'] = userInfos;
  15170. if(viewerInfos != null)
  15171. map['ViewerInfos'] = viewerInfos;
  15172. if(shareInfo != null)
  15173. map['ShareInfo'] = shareInfo;
  15174. return map;
  15175. }
  15176. }
  15177. class DownloadFileInfoDTO {
  15178. List<FileUploadInfoDTO >? fileUploadInfos;
  15179. String? folderCode;
  15180. String? fileName;
  15181. DownloadFileInfoDTO({
  15182. this.fileUploadInfos,
  15183. this.folderCode,
  15184. this.fileName,
  15185. });
  15186. factory DownloadFileInfoDTO.fromJson(Map<String, dynamic> map) {
  15187. return DownloadFileInfoDTO(
  15188. fileUploadInfos: map['FileUploadInfos'] != null ? (map['FileUploadInfos'] as List).map((e)=>FileUploadInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15189. folderCode: map['FolderCode'],
  15190. fileName: map['FileName'],
  15191. );
  15192. }
  15193. Map<String, dynamic> toJson() {
  15194. final map = Map<String, dynamic>();
  15195. if(fileUploadInfos != null)
  15196. map['FileUploadInfos'] = fileUploadInfos;
  15197. if(folderCode != null)
  15198. map['FolderCode'] = folderCode;
  15199. if(fileName != null)
  15200. map['FileName'] = fileName;
  15201. return map;
  15202. }
  15203. }
  15204. class ConvertFileInfoDTO {
  15205. String? recordCode;
  15206. String? filePath;
  15207. String? folderCode;
  15208. UploadFileTypeEnum fileType;
  15209. ConvertFileInfoDTO({
  15210. this.recordCode,
  15211. this.filePath,
  15212. this.folderCode,
  15213. this.fileType = UploadFileTypeEnum.Unknown,
  15214. });
  15215. factory ConvertFileInfoDTO.fromJson(Map<String, dynamic> map) {
  15216. return ConvertFileInfoDTO(
  15217. recordCode: map['RecordCode'],
  15218. filePath: map['FilePath'],
  15219. folderCode: map['FolderCode'],
  15220. fileType: UploadFileTypeEnum.values.firstWhere((e) => e.index == map['FileType']),
  15221. );
  15222. }
  15223. Map<String, dynamic> toJson() {
  15224. final map = Map<String, dynamic>();
  15225. if(recordCode != null)
  15226. map['RecordCode'] = recordCode;
  15227. if(filePath != null)
  15228. map['FilePath'] = filePath;
  15229. if(folderCode != null)
  15230. map['FolderCode'] = folderCode;
  15231. map['FileType'] = fileType.index;
  15232. return map;
  15233. }
  15234. }
  15235. class LabConvertStateDTO {
  15236. String? code;
  15237. String? creatorCode;
  15238. String? recordCode;
  15239. bool isTemplate;
  15240. DateTime? lastExecuteTime;
  15241. int errorCount;
  15242. List<DownloadFileInfoDTO >? downloadErrorFiles;
  15243. List<ConvertFileInfoDTO >? convertErrorFiles;
  15244. LabConvertStateDTO({
  15245. this.code,
  15246. this.creatorCode,
  15247. this.recordCode,
  15248. this.isTemplate = false,
  15249. this.lastExecuteTime,
  15250. this.errorCount = 0,
  15251. this.downloadErrorFiles,
  15252. this.convertErrorFiles,
  15253. });
  15254. factory LabConvertStateDTO.fromJson(Map<String, dynamic> map) {
  15255. return LabConvertStateDTO(
  15256. code: map['Code'],
  15257. creatorCode: map['CreatorCode'],
  15258. recordCode: map['RecordCode'],
  15259. isTemplate: map['IsTemplate'],
  15260. lastExecuteTime: map['LastExecuteTime'] != null ? DateTime.parse(map['LastExecuteTime']) : null,
  15261. errorCount: map['ErrorCount'],
  15262. downloadErrorFiles: map['DownloadErrorFiles'] != null ? (map['DownloadErrorFiles'] as List).map((e)=>DownloadFileInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15263. convertErrorFiles: map['ConvertErrorFiles'] != null ? (map['ConvertErrorFiles'] as List).map((e)=>ConvertFileInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15264. );
  15265. }
  15266. Map<String, dynamic> toJson() {
  15267. final map = Map<String, dynamic>();
  15268. if(code != null)
  15269. map['Code'] = code;
  15270. if(creatorCode != null)
  15271. map['CreatorCode'] = creatorCode;
  15272. if(recordCode != null)
  15273. map['RecordCode'] = recordCode;
  15274. map['IsTemplate'] = isTemplate;
  15275. if(lastExecuteTime != null)
  15276. map['LastExecuteTime'] = JsonRpcUtils.dateFormat(lastExecuteTime!);
  15277. map['ErrorCount'] = errorCount;
  15278. if(downloadErrorFiles != null)
  15279. map['DownloadErrorFiles'] = downloadErrorFiles;
  15280. if(convertErrorFiles != null)
  15281. map['ConvertErrorFiles'] = convertErrorFiles;
  15282. return map;
  15283. }
  15284. }
  15285. class GradingProtectionConfigDTO extends BaseDTO{
  15286. String? moduleCode;
  15287. String? name;
  15288. String? description;
  15289. GradingConfigTypeEnum configType;
  15290. String? value;
  15291. GradingProtectionConfigDTO({
  15292. this.moduleCode,
  15293. this.name,
  15294. this.description,
  15295. this.configType = GradingConfigTypeEnum.Switch,
  15296. this.value,
  15297. DateTime? createTime,
  15298. DateTime? updateTime,
  15299. }) : super(
  15300. createTime: createTime,
  15301. updateTime: updateTime,
  15302. );
  15303. factory GradingProtectionConfigDTO.fromJson(Map<String, dynamic> map) {
  15304. return GradingProtectionConfigDTO(
  15305. moduleCode: map['ModuleCode'],
  15306. name: map['Name'],
  15307. description: map['Description'],
  15308. configType: GradingConfigTypeEnum.values.firstWhere((e) => e.index == map['ConfigType']),
  15309. value: map['Value'],
  15310. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  15311. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  15312. );
  15313. }
  15314. Map<String, dynamic> toJson() {
  15315. final map = super.toJson();
  15316. if(moduleCode != null)
  15317. map['ModuleCode'] = moduleCode;
  15318. if(name != null)
  15319. map['Name'] = name;
  15320. if(description != null)
  15321. map['Description'] = description;
  15322. map['ConfigType'] = configType.index;
  15323. if(value != null)
  15324. map['Value'] = value;
  15325. return map;
  15326. }
  15327. }
  15328. class DistributedServerInfoDTO extends BaseDTO{
  15329. String? serverCode;
  15330. bool isMaster;
  15331. String? name;
  15332. String? description;
  15333. bool enable;
  15334. DistributedServerTypeEnum serverType;
  15335. String? serverUrl;
  15336. String? lat;
  15337. String? lng;
  15338. List<IPAddressInfoDTO >? assignClientIPList;
  15339. int rTCStartingRoomId;
  15340. String? shareCodePrefix;
  15341. DistributedServerInfoDTO({
  15342. this.serverCode,
  15343. this.isMaster = false,
  15344. this.name,
  15345. this.description,
  15346. this.enable = false,
  15347. this.serverType = DistributedServerTypeEnum.Official,
  15348. this.serverUrl,
  15349. this.lat,
  15350. this.lng,
  15351. this.assignClientIPList,
  15352. this.rTCStartingRoomId = 0,
  15353. this.shareCodePrefix,
  15354. DateTime? createTime,
  15355. DateTime? updateTime,
  15356. }) : super(
  15357. createTime: createTime,
  15358. updateTime: updateTime,
  15359. );
  15360. factory DistributedServerInfoDTO.fromJson(Map<String, dynamic> map) {
  15361. return DistributedServerInfoDTO(
  15362. serverCode: map['ServerCode'],
  15363. isMaster: map['IsMaster'],
  15364. name: map['Name'],
  15365. description: map['Description'],
  15366. enable: map['Enable'],
  15367. serverType: DistributedServerTypeEnum.values.firstWhere((e) => e.index == map['ServerType']),
  15368. serverUrl: map['ServerUrl'],
  15369. lat: map['Lat'],
  15370. lng: map['Lng'],
  15371. assignClientIPList: map['AssignClientIPList'] != null ? (map['AssignClientIPList'] as List).map((e)=>IPAddressInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15372. rTCStartingRoomId: map['RTCStartingRoomId'],
  15373. shareCodePrefix: map['ShareCodePrefix'],
  15374. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  15375. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  15376. );
  15377. }
  15378. Map<String, dynamic> toJson() {
  15379. final map = super.toJson();
  15380. if(serverCode != null)
  15381. map['ServerCode'] = serverCode;
  15382. map['IsMaster'] = isMaster;
  15383. if(name != null)
  15384. map['Name'] = name;
  15385. if(description != null)
  15386. map['Description'] = description;
  15387. map['Enable'] = enable;
  15388. map['ServerType'] = serverType.index;
  15389. if(serverUrl != null)
  15390. map['ServerUrl'] = serverUrl;
  15391. if(lat != null)
  15392. map['Lat'] = lat;
  15393. if(lng != null)
  15394. map['Lng'] = lng;
  15395. if(assignClientIPList != null)
  15396. map['AssignClientIPList'] = assignClientIPList;
  15397. map['RTCStartingRoomId'] = rTCStartingRoomId;
  15398. if(shareCodePrefix != null)
  15399. map['ShareCodePrefix'] = shareCodePrefix;
  15400. return map;
  15401. }
  15402. }
  15403. class DiagnosisResultDTO {
  15404. int index;
  15405. String? diagnosisResult;
  15406. DiagnosisResultDTO({
  15407. this.index = 0,
  15408. this.diagnosisResult,
  15409. });
  15410. factory DiagnosisResultDTO.fromJson(Map<String, dynamic> map) {
  15411. return DiagnosisResultDTO(
  15412. index: map['Index'],
  15413. diagnosisResult: map['DiagnosisResult'],
  15414. );
  15415. }
  15416. Map<String, dynamic> toJson() {
  15417. final map = Map<String, dynamic>();
  15418. map['Index'] = index;
  15419. if(diagnosisResult != null)
  15420. map['DiagnosisResult'] = diagnosisResult;
  15421. return map;
  15422. }
  15423. }
  15424. class DeviceOutputConfigDTO {
  15425. String? code;
  15426. String? name;
  15427. DeviceVideoOutputTypeEnum deviceVideoOutputType;
  15428. int videoWidth;
  15429. int videoHeight;
  15430. DeviceOutputConfigDTO({
  15431. this.code,
  15432. this.name,
  15433. this.deviceVideoOutputType = DeviceVideoOutputTypeEnum.MergedVideo,
  15434. this.videoWidth = 0,
  15435. this.videoHeight = 0,
  15436. });
  15437. factory DeviceOutputConfigDTO.fromJson(Map<String, dynamic> map) {
  15438. return DeviceOutputConfigDTO(
  15439. code: map['Code'],
  15440. name: map['Name'],
  15441. deviceVideoOutputType: DeviceVideoOutputTypeEnum.values.firstWhere((e) => e.index == map['DeviceVideoOutputType']),
  15442. videoWidth: map['VideoWidth'],
  15443. videoHeight: map['VideoHeight'],
  15444. );
  15445. }
  15446. Map<String, dynamic> toJson() {
  15447. final map = Map<String, dynamic>();
  15448. if(code != null)
  15449. map['Code'] = code;
  15450. if(name != null)
  15451. map['Name'] = name;
  15452. map['DeviceVideoOutputType'] = deviceVideoOutputType.index;
  15453. map['VideoWidth'] = videoWidth;
  15454. map['VideoHeight'] = videoHeight;
  15455. return map;
  15456. }
  15457. }
  15458. class ResolutionDTO {
  15459. String? shortCode;
  15460. int videoWidth;
  15461. int videoHeight;
  15462. ResolutionDTO({
  15463. this.shortCode,
  15464. this.videoWidth = 0,
  15465. this.videoHeight = 0,
  15466. });
  15467. factory ResolutionDTO.fromJson(Map<String, dynamic> map) {
  15468. return ResolutionDTO(
  15469. shortCode: map['ShortCode'],
  15470. videoWidth: map['VideoWidth'],
  15471. videoHeight: map['VideoHeight'],
  15472. );
  15473. }
  15474. Map<String, dynamic> toJson() {
  15475. final map = Map<String, dynamic>();
  15476. if(shortCode != null)
  15477. map['ShortCode'] = shortCode;
  15478. map['VideoWidth'] = videoWidth;
  15479. map['VideoHeight'] = videoHeight;
  15480. return map;
  15481. }
  15482. }
  15483. class BrandModelDetailDTO {
  15484. String? code;
  15485. String? brand;
  15486. String? model;
  15487. List<ResolutionDTO >? resolutions;
  15488. BrandModelDetailDTO({
  15489. this.code,
  15490. this.brand,
  15491. this.model,
  15492. this.resolutions,
  15493. });
  15494. factory BrandModelDetailDTO.fromJson(Map<String, dynamic> map) {
  15495. return BrandModelDetailDTO(
  15496. code: map['Code'],
  15497. brand: map['Brand'],
  15498. model: map['Model'],
  15499. resolutions: map['Resolutions'] != null ? (map['Resolutions'] as List).map((e)=>ResolutionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15500. );
  15501. }
  15502. Map<String, dynamic> toJson() {
  15503. final map = Map<String, dynamic>();
  15504. if(code != null)
  15505. map['Code'] = code;
  15506. if(brand != null)
  15507. map['Brand'] = brand;
  15508. if(model != null)
  15509. map['Model'] = model;
  15510. if(resolutions != null)
  15511. map['Resolutions'] = resolutions;
  15512. return map;
  15513. }
  15514. }
  15515. class DeviceLiveShareInfoDTO {
  15516. String? deviceCode;
  15517. String? shareUserCode;
  15518. String? shareUserName;
  15519. DateTime? shareTime;
  15520. DeviceLiveShareInfoDTO({
  15521. this.deviceCode,
  15522. this.shareUserCode,
  15523. this.shareUserName,
  15524. this.shareTime,
  15525. });
  15526. factory DeviceLiveShareInfoDTO.fromJson(Map<String, dynamic> map) {
  15527. return DeviceLiveShareInfoDTO(
  15528. deviceCode: map['DeviceCode'],
  15529. shareUserCode: map['ShareUserCode'],
  15530. shareUserName: map['ShareUserName'],
  15531. shareTime: map['ShareTime'] != null ? DateTime.parse(map['ShareTime']) : null,
  15532. );
  15533. }
  15534. Map<String, dynamic> toJson() {
  15535. final map = Map<String, dynamic>();
  15536. if(deviceCode != null)
  15537. map['DeviceCode'] = deviceCode;
  15538. if(shareUserCode != null)
  15539. map['ShareUserCode'] = shareUserCode;
  15540. if(shareUserName != null)
  15541. map['ShareUserName'] = shareUserName;
  15542. if(shareTime != null)
  15543. map['ShareTime'] = JsonRpcUtils.dateFormat(shareTime!);
  15544. return map;
  15545. }
  15546. }
  15547. class NameItemSettingInfoDTO {
  15548. String? name;
  15549. String? key;
  15550. NameItemSettingInfoDTO({
  15551. this.name,
  15552. this.key,
  15553. });
  15554. factory NameItemSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15555. return NameItemSettingInfoDTO(
  15556. name: map['Name'],
  15557. key: map['Key'],
  15558. );
  15559. }
  15560. Map<String, dynamic> toJson() {
  15561. final map = Map<String, dynamic>();
  15562. if(name != null)
  15563. map['Name'] = name;
  15564. if(key != null)
  15565. map['Key'] = key;
  15566. return map;
  15567. }
  15568. }
  15569. class GroupSettingInfoDTO extends NameItemSettingInfoDTO{
  15570. List<NameItemSettingInfoDTO >? items;
  15571. GroupSettingInfoDTO({
  15572. this.items,
  15573. String? name,
  15574. String? key,
  15575. }) : super(
  15576. name: name,
  15577. key: key,
  15578. );
  15579. factory GroupSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15580. return GroupSettingInfoDTO(
  15581. items: map['Items'] != null ? (map['Items'] as List).map((e)=>NameItemSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15582. name: map['Name'],
  15583. key: map['Key'],
  15584. );
  15585. }
  15586. Map<String, dynamic> toJson() {
  15587. final map = super.toJson();
  15588. if(items != null)
  15589. map['Items'] = items;
  15590. return map;
  15591. }
  15592. }
  15593. class ListPageSettingInfoDTO extends NameItemSettingInfoDTO{
  15594. List<GroupSettingInfoDTO >? groups;
  15595. ListPageSettingInfoDTO({
  15596. this.groups,
  15597. String? name,
  15598. String? key,
  15599. }) : super(
  15600. name: name,
  15601. key: key,
  15602. );
  15603. factory ListPageSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15604. return ListPageSettingInfoDTO(
  15605. groups: map['Groups'] != null ? (map['Groups'] as List).map((e)=>GroupSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15606. name: map['Name'],
  15607. key: map['Key'],
  15608. );
  15609. }
  15610. Map<String, dynamic> toJson() {
  15611. final map = super.toJson();
  15612. if(groups != null)
  15613. map['Groups'] = groups;
  15614. return map;
  15615. }
  15616. }
  15617. class SystemSettingInfoDTO {
  15618. String? selectedListPageKey;
  15619. String? selectedGroupKey;
  15620. List<ListPageSettingInfoDTO >? listPages;
  15621. String? applyLicenseResult;
  15622. SystemSettingInfoDTO({
  15623. this.selectedListPageKey,
  15624. this.selectedGroupKey,
  15625. this.listPages,
  15626. this.applyLicenseResult,
  15627. });
  15628. factory SystemSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15629. return SystemSettingInfoDTO(
  15630. selectedListPageKey: map['SelectedListPageKey'],
  15631. selectedGroupKey: map['SelectedGroupKey'],
  15632. listPages: map['ListPages'] != null ? (map['ListPages'] as List).map((e)=>ListPageSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15633. applyLicenseResult: map['ApplyLicenseResult'],
  15634. );
  15635. }
  15636. Map<String, dynamic> toJson() {
  15637. final map = Map<String, dynamic>();
  15638. if(selectedListPageKey != null)
  15639. map['SelectedListPageKey'] = selectedListPageKey;
  15640. if(selectedGroupKey != null)
  15641. map['SelectedGroupKey'] = selectedGroupKey;
  15642. if(listPages != null)
  15643. map['ListPages'] = listPages;
  15644. if(applyLicenseResult != null)
  15645. map['ApplyLicenseResult'] = applyLicenseResult;
  15646. return map;
  15647. }
  15648. }
  15649. class CommandSettingInfoDTO extends NameItemSettingInfoDTO{
  15650. String? commandDescription;
  15651. CommandSettingInfoDTO({
  15652. this.commandDescription,
  15653. String? name,
  15654. String? key,
  15655. }) : super(
  15656. name: name,
  15657. key: key,
  15658. );
  15659. factory CommandSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15660. return CommandSettingInfoDTO(
  15661. commandDescription: map['CommandDescription'],
  15662. name: map['Name'],
  15663. key: map['Key'],
  15664. );
  15665. }
  15666. Map<String, dynamic> toJson() {
  15667. final map = super.toJson();
  15668. if(commandDescription != null)
  15669. map['CommandDescription'] = commandDescription;
  15670. return map;
  15671. }
  15672. }
  15673. class ExtendCommandSettingInfoDTO extends CommandSettingInfoDTO{
  15674. String? additionalDescription;
  15675. String? value;
  15676. ExtendCommandSettingInfoDTO({
  15677. this.additionalDescription,
  15678. this.value,
  15679. String? commandDescription,
  15680. String? name,
  15681. String? key,
  15682. }) : super(
  15683. commandDescription: commandDescription,
  15684. name: name,
  15685. key: key,
  15686. );
  15687. factory ExtendCommandSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15688. return ExtendCommandSettingInfoDTO(
  15689. additionalDescription: map['AdditionalDescription'],
  15690. value: map['Value'],
  15691. commandDescription: map['CommandDescription'],
  15692. name: map['Name'],
  15693. key: map['Key'],
  15694. );
  15695. }
  15696. Map<String, dynamic> toJson() {
  15697. final map = super.toJson();
  15698. if(additionalDescription != null)
  15699. map['AdditionalDescription'] = additionalDescription;
  15700. if(value != null)
  15701. map['Value'] = value;
  15702. return map;
  15703. }
  15704. }
  15705. class CommandResultInfoDTO extends NameItemSettingInfoDTO{
  15706. String? result;
  15707. CommandResultInfoDTO({
  15708. this.result,
  15709. String? name,
  15710. String? key,
  15711. }) : super(
  15712. name: name,
  15713. key: key,
  15714. );
  15715. factory CommandResultInfoDTO.fromJson(Map<String, dynamic> map) {
  15716. return CommandResultInfoDTO(
  15717. result: map['Result'],
  15718. name: map['Name'],
  15719. key: map['Key'],
  15720. );
  15721. }
  15722. Map<String, dynamic> toJson() {
  15723. final map = super.toJson();
  15724. if(result != null)
  15725. map['Result'] = result;
  15726. return map;
  15727. }
  15728. }
  15729. class FeatureItemInfoDTO extends NameItemSettingInfoDTO{
  15730. String? details;
  15731. String? status;
  15732. FeatureItemInfoDTO({
  15733. this.details,
  15734. this.status,
  15735. String? name,
  15736. String? key,
  15737. }) : super(
  15738. name: name,
  15739. key: key,
  15740. );
  15741. factory FeatureItemInfoDTO.fromJson(Map<String, dynamic> map) {
  15742. return FeatureItemInfoDTO(
  15743. details: map['Details'],
  15744. status: map['Status'],
  15745. name: map['Name'],
  15746. key: map['Key'],
  15747. );
  15748. }
  15749. Map<String, dynamic> toJson() {
  15750. final map = super.toJson();
  15751. if(details != null)
  15752. map['Details'] = details;
  15753. if(status != null)
  15754. map['Status'] = status;
  15755. return map;
  15756. }
  15757. }
  15758. class ApplyLicenseInfoDTO extends NameItemSettingInfoDTO{
  15759. String? applyLicenseDescription;
  15760. ApplyLicenseInfoDTO({
  15761. this.applyLicenseDescription,
  15762. String? name,
  15763. String? key,
  15764. }) : super(
  15765. name: name,
  15766. key: key,
  15767. );
  15768. factory ApplyLicenseInfoDTO.fromJson(Map<String, dynamic> map) {
  15769. return ApplyLicenseInfoDTO(
  15770. applyLicenseDescription: map['ApplyLicenseDescription'],
  15771. name: map['Name'],
  15772. key: map['Key'],
  15773. );
  15774. }
  15775. Map<String, dynamic> toJson() {
  15776. final map = super.toJson();
  15777. if(applyLicenseDescription != null)
  15778. map['ApplyLicenseDescription'] = applyLicenseDescription;
  15779. return map;
  15780. }
  15781. }
  15782. class BoolParameterInfoDTO extends NameItemSettingInfoDTO{
  15783. bool value;
  15784. BoolParameterInfoDTO({
  15785. this.value = false,
  15786. String? name,
  15787. String? key,
  15788. }) : super(
  15789. name: name,
  15790. key: key,
  15791. );
  15792. factory BoolParameterInfoDTO.fromJson(Map<String, dynamic> map) {
  15793. return BoolParameterInfoDTO(
  15794. value: map['Value'],
  15795. name: map['Name'],
  15796. key: map['Key'],
  15797. );
  15798. }
  15799. Map<String, dynamic> toJson() {
  15800. final map = super.toJson();
  15801. map['Value'] = value;
  15802. return map;
  15803. }
  15804. }
  15805. class StringParameterInfoDTO extends NameItemSettingInfoDTO{
  15806. String? value;
  15807. StringParameterInfoDTO({
  15808. this.value,
  15809. String? name,
  15810. String? key,
  15811. }) : super(
  15812. name: name,
  15813. key: key,
  15814. );
  15815. factory StringParameterInfoDTO.fromJson(Map<String, dynamic> map) {
  15816. return StringParameterInfoDTO(
  15817. value: map['Value'],
  15818. name: map['Name'],
  15819. key: map['Key'],
  15820. );
  15821. }
  15822. Map<String, dynamic> toJson() {
  15823. final map = super.toJson();
  15824. if(value != null)
  15825. map['Value'] = value;
  15826. return map;
  15827. }
  15828. }
  15829. class ChoiceParameterInfoDTO extends NameItemSettingInfoDTO{
  15830. String? value;
  15831. List<String >? items;
  15832. ChoiceParameterInfoDTO({
  15833. this.value,
  15834. this.items,
  15835. String? name,
  15836. String? key,
  15837. }) : super(
  15838. name: name,
  15839. key: key,
  15840. );
  15841. factory ChoiceParameterInfoDTO.fromJson(Map<String, dynamic> map) {
  15842. return ChoiceParameterInfoDTO(
  15843. value: map['Value'],
  15844. items: map['Items'] != null ? map['Items'].cast<String>().toList() : null,
  15845. name: map['Name'],
  15846. key: map['Key'],
  15847. );
  15848. }
  15849. Map<String, dynamic> toJson() {
  15850. final map = super.toJson();
  15851. if(value != null)
  15852. map['Value'] = value;
  15853. if(items != null)
  15854. map['Items'] = items;
  15855. return map;
  15856. }
  15857. }
  15858. class CommandResultPageSettingInfoDTO extends ListPageSettingInfoDTO{
  15859. String? result;
  15860. CommandResultPageSettingInfoDTO({
  15861. this.result,
  15862. List<GroupSettingInfoDTO >? groups,
  15863. String? name,
  15864. String? key,
  15865. }) : super(
  15866. groups: groups,
  15867. name: name,
  15868. key: key,
  15869. );
  15870. factory CommandResultPageSettingInfoDTO.fromJson(Map<String, dynamic> map) {
  15871. return CommandResultPageSettingInfoDTO(
  15872. result: map['Result'],
  15873. groups: map['Groups'] != null ? (map['Groups'] as List).map((e)=>GroupSettingInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  15874. name: map['Name'],
  15875. key: map['Key'],
  15876. );
  15877. }
  15878. Map<String, dynamic> toJson() {
  15879. final map = super.toJson();
  15880. if(result != null)
  15881. map['Result'] = result;
  15882. return map;
  15883. }
  15884. }
  15885. class AdminView {
  15886. String? code;
  15887. String? name;
  15888. AdminView({
  15889. this.code,
  15890. this.name,
  15891. });
  15892. factory AdminView.fromJson(Map<String, dynamic> map) {
  15893. return AdminView(
  15894. code: map['Code'],
  15895. name: map['Name'],
  15896. );
  15897. }
  15898. Map<String, dynamic> toJson() {
  15899. final map = Map<String, dynamic>();
  15900. if(code != null)
  15901. map['Code'] = code;
  15902. if(name != null)
  15903. map['Name'] = name;
  15904. return map;
  15905. }
  15906. }
  15907. class BaseInfoView {
  15908. String? code;
  15909. String? name;
  15910. BaseInfoView({
  15911. this.code,
  15912. this.name,
  15913. });
  15914. factory BaseInfoView.fromJson(Map<String, dynamic> map) {
  15915. return BaseInfoView(
  15916. code: map['Code'],
  15917. name: map['Name'],
  15918. );
  15919. }
  15920. Map<String, dynamic> toJson() {
  15921. final map = Map<String, dynamic>();
  15922. if(code != null)
  15923. map['Code'] = code;
  15924. if(name != null)
  15925. map['Name'] = name;
  15926. return map;
  15927. }
  15928. }
  15929. class CaseLabelView {
  15930. String? code;
  15931. String? name;
  15932. CaseLabelView({
  15933. this.code,
  15934. this.name,
  15935. });
  15936. factory CaseLabelView.fromJson(Map<String, dynamic> map) {
  15937. return CaseLabelView(
  15938. code: map['Code'],
  15939. name: map['Name'],
  15940. );
  15941. }
  15942. Map<String, dynamic> toJson() {
  15943. final map = Map<String, dynamic>();
  15944. if(code != null)
  15945. map['Code'] = code;
  15946. if(name != null)
  15947. map['Name'] = name;
  15948. return map;
  15949. }
  15950. }
  15951. class ChannelDataView {
  15952. String? channelId;
  15953. String? downLoadUrl;
  15954. String? upLoadUrl;
  15955. ChannelDescriptionEnum description;
  15956. String? httpUrl;
  15957. String? hlsUrl;
  15958. ChannelDataView({
  15959. this.channelId,
  15960. this.downLoadUrl,
  15961. this.upLoadUrl,
  15962. this.description = ChannelDescriptionEnum.DeskChannel,
  15963. this.httpUrl,
  15964. this.hlsUrl,
  15965. });
  15966. factory ChannelDataView.fromJson(Map<String, dynamic> map) {
  15967. return ChannelDataView(
  15968. channelId: map['ChannelId'],
  15969. downLoadUrl: map['DownLoadUrl'],
  15970. upLoadUrl: map['UpLoadUrl'],
  15971. description: ChannelDescriptionEnum.values.firstWhere((e) => e.index == map['Description']),
  15972. httpUrl: map['HttpUrl'],
  15973. hlsUrl: map['HlsUrl'],
  15974. );
  15975. }
  15976. Map<String, dynamic> toJson() {
  15977. final map = Map<String, dynamic>();
  15978. if(channelId != null)
  15979. map['ChannelId'] = channelId;
  15980. if(downLoadUrl != null)
  15981. map['DownLoadUrl'] = downLoadUrl;
  15982. if(upLoadUrl != null)
  15983. map['UpLoadUrl'] = upLoadUrl;
  15984. map['Description'] = description.index;
  15985. if(httpUrl != null)
  15986. map['HttpUrl'] = httpUrl;
  15987. if(hlsUrl != null)
  15988. map['HlsUrl'] = hlsUrl;
  15989. return map;
  15990. }
  15991. }
  15992. class ClassView {
  15993. String? code;
  15994. String? name;
  15995. ClassView({
  15996. this.code,
  15997. this.name,
  15998. });
  15999. factory ClassView.fromJson(Map<String, dynamic> map) {
  16000. return ClassView(
  16001. code: map['Code'],
  16002. name: map['Name'],
  16003. );
  16004. }
  16005. Map<String, dynamic> toJson() {
  16006. final map = Map<String, dynamic>();
  16007. if(code != null)
  16008. map['Code'] = code;
  16009. if(name != null)
  16010. map['Name'] = name;
  16011. return map;
  16012. }
  16013. }
  16014. class CommentView {
  16015. String? userCode;
  16016. String? userName;
  16017. double score;
  16018. String? description;
  16019. CommentView({
  16020. this.userCode,
  16021. this.userName,
  16022. this.score = 0,
  16023. this.description,
  16024. });
  16025. factory CommentView.fromJson(Map<String, dynamic> map) {
  16026. return CommentView(
  16027. userCode: map['UserCode'],
  16028. userName: map['UserName'],
  16029. score: double.parse(map['Score'].toString()),
  16030. description: map['Description'],
  16031. );
  16032. }
  16033. Map<String, dynamic> toJson() {
  16034. final map = Map<String, dynamic>();
  16035. if(userCode != null)
  16036. map['UserCode'] = userCode;
  16037. if(userName != null)
  16038. map['UserName'] = userName;
  16039. map['Score'] = score;
  16040. if(description != null)
  16041. map['Description'] = description;
  16042. return map;
  16043. }
  16044. }
  16045. class UserView {
  16046. String? code;
  16047. String? name;
  16048. String? organizationCode;
  16049. String? organizationName;
  16050. UserView({
  16051. this.code,
  16052. this.name,
  16053. this.organizationCode,
  16054. this.organizationName,
  16055. });
  16056. factory UserView.fromJson(Map<String, dynamic> map) {
  16057. return UserView(
  16058. code: map['Code'],
  16059. name: map['Name'],
  16060. organizationCode: map['OrganizationCode'],
  16061. organizationName: map['OrganizationName'],
  16062. );
  16063. }
  16064. Map<String, dynamic> toJson() {
  16065. final map = Map<String, dynamic>();
  16066. if(code != null)
  16067. map['Code'] = code;
  16068. if(name != null)
  16069. map['Name'] = name;
  16070. if(organizationCode != null)
  16071. map['OrganizationCode'] = organizationCode;
  16072. if(organizationName != null)
  16073. map['OrganizationName'] = organizationName;
  16074. return map;
  16075. }
  16076. }
  16077. class StudentView extends UserView{
  16078. bool isNoSpeaking;
  16079. bool isAssistant;
  16080. List<int>? smallHeadImage;
  16081. bool isPay;
  16082. StudentCourseStatusEnum signCourseStatus;
  16083. StudentView({
  16084. this.isNoSpeaking = false,
  16085. this.isAssistant = false,
  16086. this.smallHeadImage,
  16087. this.isPay = false,
  16088. this.signCourseStatus = StudentCourseStatusEnum.All,
  16089. String? code,
  16090. String? name,
  16091. String? organizationCode,
  16092. String? organizationName,
  16093. }) : super(
  16094. code: code,
  16095. name: name,
  16096. organizationCode: organizationCode,
  16097. organizationName: organizationName,
  16098. );
  16099. factory StudentView.fromJson(Map<String, dynamic> map) {
  16100. final smallHeadImageData = map['SmallHeadImage'];
  16101. return StudentView(
  16102. isNoSpeaking: map['IsNoSpeaking'],
  16103. isAssistant: map['IsAssistant'],
  16104. smallHeadImage: smallHeadImageData != null ? (smallHeadImageData as List).map((e) => e as int).toList(): null,
  16105. isPay: map['IsPay'],
  16106. signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
  16107. code: map['Code'],
  16108. name: map['Name'],
  16109. organizationCode: map['OrganizationCode'],
  16110. organizationName: map['OrganizationName'],
  16111. );
  16112. }
  16113. Map<String, dynamic> toJson() {
  16114. final map = super.toJson();
  16115. map['IsNoSpeaking'] = isNoSpeaking;
  16116. map['IsAssistant'] = isAssistant;
  16117. if(smallHeadImage != null)
  16118. map['SmallHeadImage'] = smallHeadImage;
  16119. map['IsPay'] = isPay;
  16120. map['SignCourseStatus'] = signCourseStatus.index;
  16121. return map;
  16122. }
  16123. }
  16124. class CourseAlbumView extends BaseDTO{
  16125. String? code;
  16126. String? name;
  16127. String? teacherCode;
  16128. String? teacherName;
  16129. List<BaseInfoView >? courseInfos;
  16130. String? cover;
  16131. String? introduction;
  16132. List<CourseLabelDTO >? courseLabels;
  16133. CourseViewRangeEnum viewRange;
  16134. double price;
  16135. List<StudentView >? students;
  16136. int sort;
  16137. bool isStick;
  16138. CourseAlbumView({
  16139. this.code,
  16140. this.name,
  16141. this.teacherCode,
  16142. this.teacherName,
  16143. this.courseInfos,
  16144. this.cover,
  16145. this.introduction,
  16146. this.courseLabels,
  16147. this.viewRange = CourseViewRangeEnum.All,
  16148. this.price = 0,
  16149. this.students,
  16150. this.sort = 0,
  16151. this.isStick = false,
  16152. DateTime? createTime,
  16153. DateTime? updateTime,
  16154. }) : super(
  16155. createTime: createTime,
  16156. updateTime: updateTime,
  16157. );
  16158. factory CourseAlbumView.fromJson(Map<String, dynamic> map) {
  16159. return CourseAlbumView(
  16160. code: map['Code'],
  16161. name: map['Name'],
  16162. teacherCode: map['TeacherCode'],
  16163. teacherName: map['TeacherName'],
  16164. courseInfos: map['CourseInfos'] != null ? (map['CourseInfos'] as List).map((e)=>BaseInfoView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16165. cover: map['Cover'],
  16166. introduction: map['Introduction'],
  16167. courseLabels: map['CourseLabels'] != null ? (map['CourseLabels'] as List).map((e)=>CourseLabelDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  16168. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  16169. price: double.parse(map['Price'].toString()),
  16170. students: map['Students'] != null ? (map['Students'] as List).map((e)=>StudentView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16171. sort: map['Sort'],
  16172. isStick: map['IsStick'],
  16173. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  16174. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  16175. );
  16176. }
  16177. Map<String, dynamic> toJson() {
  16178. final map = super.toJson();
  16179. if(code != null)
  16180. map['Code'] = code;
  16181. if(name != null)
  16182. map['Name'] = name;
  16183. if(teacherCode != null)
  16184. map['TeacherCode'] = teacherCode;
  16185. if(teacherName != null)
  16186. map['TeacherName'] = teacherName;
  16187. if(courseInfos != null)
  16188. map['CourseInfos'] = courseInfos;
  16189. if(cover != null)
  16190. map['Cover'] = cover;
  16191. if(introduction != null)
  16192. map['Introduction'] = introduction;
  16193. if(courseLabels != null)
  16194. map['CourseLabels'] = courseLabels;
  16195. map['ViewRange'] = viewRange.index;
  16196. map['Price'] = price;
  16197. if(students != null)
  16198. map['Students'] = students;
  16199. map['Sort'] = sort;
  16200. map['IsStick'] = isStick;
  16201. return map;
  16202. }
  16203. }
  16204. class LabelLanguageConfigView {
  16205. String? name;
  16206. String? languageCode;
  16207. LabelLanguageConfigView({
  16208. this.name,
  16209. this.languageCode,
  16210. });
  16211. factory LabelLanguageConfigView.fromJson(Map<String, dynamic> map) {
  16212. return LabelLanguageConfigView(
  16213. name: map['Name'],
  16214. languageCode: map['LanguageCode'],
  16215. );
  16216. }
  16217. Map<String, dynamic> toJson() {
  16218. final map = Map<String, dynamic>();
  16219. if(name != null)
  16220. map['Name'] = name;
  16221. if(languageCode != null)
  16222. map['LanguageCode'] = languageCode;
  16223. return map;
  16224. }
  16225. }
  16226. class CourseLabelView {
  16227. OrganizationPatientTypeEnum useObjectType;
  16228. List<LabelLanguageConfigView >? labelLanguageConfigs;
  16229. LabelTypeEnum type;
  16230. List<CourseLabelView >? childLabels;
  16231. CourseLabelView({
  16232. this.useObjectType = OrganizationPatientTypeEnum.Person,
  16233. this.labelLanguageConfigs,
  16234. this.type = LabelTypeEnum.Unknown,
  16235. this.childLabels,
  16236. });
  16237. factory CourseLabelView.fromJson(Map<String, dynamic> map) {
  16238. return CourseLabelView(
  16239. useObjectType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['UseObjectType']),
  16240. labelLanguageConfigs: map['LabelLanguageConfigs'] != null ? (map['LabelLanguageConfigs'] as List).map((e)=>LabelLanguageConfigView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16241. type: LabelTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  16242. childLabels: map['ChildLabels'] != null ? (map['ChildLabels'] as List).map((e)=>CourseLabelView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16243. );
  16244. }
  16245. Map<String, dynamic> toJson() {
  16246. final map = Map<String, dynamic>();
  16247. map['UseObjectType'] = useObjectType.index;
  16248. if(labelLanguageConfigs != null)
  16249. map['LabelLanguageConfigs'] = labelLanguageConfigs;
  16250. map['Type'] = type.index;
  16251. if(childLabels != null)
  16252. map['ChildLabels'] = childLabels;
  16253. return map;
  16254. }
  16255. }
  16256. class CustomerLabelView {
  16257. String? code;
  16258. String? name;
  16259. CustomerLabelView({
  16260. this.code,
  16261. this.name,
  16262. });
  16263. factory CustomerLabelView.fromJson(Map<String, dynamic> map) {
  16264. return CustomerLabelView(
  16265. code: map['Code'],
  16266. name: map['Name'],
  16267. );
  16268. }
  16269. Map<String, dynamic> toJson() {
  16270. final map = Map<String, dynamic>();
  16271. if(code != null)
  16272. map['Code'] = code;
  16273. if(name != null)
  16274. map['Name'] = name;
  16275. return map;
  16276. }
  16277. }
  16278. class DeviceView {
  16279. String? code;
  16280. String? name;
  16281. String? description;
  16282. String? uniqueCode;
  16283. String? organizationCode;
  16284. String? organizationName;
  16285. String? deviceType;
  16286. String? deviceModel;
  16287. DeviceView({
  16288. this.code,
  16289. this.name,
  16290. this.description,
  16291. this.uniqueCode,
  16292. this.organizationCode,
  16293. this.organizationName,
  16294. this.deviceType,
  16295. this.deviceModel,
  16296. });
  16297. factory DeviceView.fromJson(Map<String, dynamic> map) {
  16298. return DeviceView(
  16299. code: map['Code'],
  16300. name: map['Name'],
  16301. description: map['Description'],
  16302. uniqueCode: map['UniqueCode'],
  16303. organizationCode: map['OrganizationCode'],
  16304. organizationName: map['OrganizationName'],
  16305. deviceType: map['DeviceType'],
  16306. deviceModel: map['DeviceModel'],
  16307. );
  16308. }
  16309. Map<String, dynamic> toJson() {
  16310. final map = Map<String, dynamic>();
  16311. if(code != null)
  16312. map['Code'] = code;
  16313. if(name != null)
  16314. map['Name'] = name;
  16315. if(description != null)
  16316. map['Description'] = description;
  16317. if(uniqueCode != null)
  16318. map['UniqueCode'] = uniqueCode;
  16319. if(organizationCode != null)
  16320. map['OrganizationCode'] = organizationCode;
  16321. if(organizationName != null)
  16322. map['OrganizationName'] = organizationName;
  16323. if(deviceType != null)
  16324. map['DeviceType'] = deviceType;
  16325. if(deviceModel != null)
  16326. map['DeviceModel'] = deviceModel;
  16327. return map;
  16328. }
  16329. }
  16330. class DiagnosisView {
  16331. DiagnosisOrganEnum organ;
  16332. DiagnosisConclusionEnum diagnosisStatus;
  16333. DiagnosisView({
  16334. this.organ = DiagnosisOrganEnum.Null,
  16335. this.diagnosisStatus = DiagnosisConclusionEnum.NotRequired,
  16336. });
  16337. factory DiagnosisView.fromJson(Map<String, dynamic> map) {
  16338. return DiagnosisView(
  16339. organ: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['Organ']),
  16340. diagnosisStatus: DiagnosisConclusionEnum.values.firstWhere((e) => e.index == map['DiagnosisStatus']),
  16341. );
  16342. }
  16343. Map<String, dynamic> toJson() {
  16344. final map = Map<String, dynamic>();
  16345. map['Organ'] = organ.index;
  16346. map['DiagnosisStatus'] = diagnosisStatus.index;
  16347. return map;
  16348. }
  16349. }
  16350. class ExamQuestionView {
  16351. String? code;
  16352. String? stem;
  16353. QuestionTypeEnum questionType;
  16354. List<QuestionOptionDTO >? questionOptionList;
  16355. List<QuestionFileDTO >? fileList;
  16356. List<String >? caseLabelCodes;
  16357. List<String >? courseLabelCodes;
  16358. bool trueOrFalse;
  16359. double score;
  16360. ExamQuestionView({
  16361. this.code,
  16362. this.stem,
  16363. this.questionType = QuestionTypeEnum.Judge,
  16364. this.questionOptionList,
  16365. this.fileList,
  16366. this.caseLabelCodes,
  16367. this.courseLabelCodes,
  16368. this.trueOrFalse = false,
  16369. this.score = 0,
  16370. });
  16371. factory ExamQuestionView.fromJson(Map<String, dynamic> map) {
  16372. return ExamQuestionView(
  16373. code: map['Code'],
  16374. stem: map['Stem'],
  16375. questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
  16376. questionOptionList: map['QuestionOptionList'] != null ? (map['QuestionOptionList'] as List).map((e)=>QuestionOptionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  16377. fileList: map['FileList'] != null ? (map['FileList'] as List).map((e)=>QuestionFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  16378. caseLabelCodes: map['CaseLabelCodes'] != null ? map['CaseLabelCodes'].cast<String>().toList() : null,
  16379. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  16380. trueOrFalse: map['TrueOrFalse'],
  16381. score: double.parse(map['Score'].toString()),
  16382. );
  16383. }
  16384. Map<String, dynamic> toJson() {
  16385. final map = Map<String, dynamic>();
  16386. if(code != null)
  16387. map['Code'] = code;
  16388. if(stem != null)
  16389. map['Stem'] = stem;
  16390. map['QuestionType'] = questionType.index;
  16391. if(questionOptionList != null)
  16392. map['QuestionOptionList'] = questionOptionList;
  16393. if(fileList != null)
  16394. map['FileList'] = fileList;
  16395. if(caseLabelCodes != null)
  16396. map['CaseLabelCodes'] = caseLabelCodes;
  16397. if(courseLabelCodes != null)
  16398. map['CourseLabelCodes'] = courseLabelCodes;
  16399. map['TrueOrFalse'] = trueOrFalse;
  16400. map['Score'] = score;
  16401. return map;
  16402. }
  16403. }
  16404. class ICollection<T> {
  16405. int count;
  16406. bool isReadOnly;
  16407. ICollection({
  16408. this.count = 0,
  16409. this.isReadOnly = false,
  16410. });
  16411. factory ICollection.fromJson(Map<String, dynamic> map) {
  16412. return ICollection(
  16413. count: map['Count'],
  16414. isReadOnly: map['IsReadOnly'],
  16415. );
  16416. }
  16417. Map<String, dynamic> toJson() {
  16418. final map = Map<String, dynamic>();
  16419. map['Count'] = count;
  16420. map['IsReadOnly'] = isReadOnly;
  16421. return map;
  16422. }
  16423. }
  16424. class LearnerView {
  16425. String? code;
  16426. LearnerStatusEnum learnerStatus;
  16427. LearnerView({
  16428. this.code,
  16429. this.learnerStatus = LearnerStatusEnum.Unknown,
  16430. });
  16431. factory LearnerView.fromJson(Map<String, dynamic> map) {
  16432. return LearnerView(
  16433. code: map['Code'],
  16434. learnerStatus: LearnerStatusEnum.values.firstWhere((e) => e.index == map['LearnerStatus']),
  16435. );
  16436. }
  16437. Map<String, dynamic> toJson() {
  16438. final map = Map<String, dynamic>();
  16439. if(code != null)
  16440. map['Code'] = code;
  16441. map['LearnerStatus'] = learnerStatus.index;
  16442. return map;
  16443. }
  16444. }
  16445. class GroupView {
  16446. String? code;
  16447. String? name;
  16448. String? shortCode;
  16449. int maxPeople;
  16450. List<LearnerView >? students;
  16451. GroupView({
  16452. this.code,
  16453. this.name,
  16454. this.shortCode,
  16455. this.maxPeople = 0,
  16456. this.students,
  16457. });
  16458. factory GroupView.fromJson(Map<String, dynamic> map) {
  16459. return GroupView(
  16460. code: map['Code'],
  16461. name: map['Name'],
  16462. shortCode: map['ShortCode'],
  16463. maxPeople: map['MaxPeople'],
  16464. students: map['Students'] != null ? (map['Students'] as List).map((e)=>LearnerView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16465. );
  16466. }
  16467. Map<String, dynamic> toJson() {
  16468. final map = Map<String, dynamic>();
  16469. if(code != null)
  16470. map['Code'] = code;
  16471. if(name != null)
  16472. map['Name'] = name;
  16473. if(shortCode != null)
  16474. map['ShortCode'] = shortCode;
  16475. map['MaxPeople'] = maxPeople;
  16476. if(students != null)
  16477. map['Students'] = students;
  16478. return map;
  16479. }
  16480. }
  16481. class ExamVideoView {
  16482. String? id;
  16483. String? videoName;
  16484. DateTime? createTime;
  16485. String? posterToken;
  16486. int duration;
  16487. int size;
  16488. String? description;
  16489. String? url;
  16490. ExamVideoView({
  16491. this.id,
  16492. this.videoName,
  16493. this.createTime,
  16494. this.posterToken,
  16495. this.duration = 0,
  16496. this.size = 0,
  16497. this.description,
  16498. this.url,
  16499. });
  16500. factory ExamVideoView.fromJson(Map<String, dynamic> map) {
  16501. return ExamVideoView(
  16502. id: map['Id'],
  16503. videoName: map['VideoName'],
  16504. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  16505. posterToken: map['PosterToken'],
  16506. duration: map['Duration'],
  16507. size: map['Size'],
  16508. description: map['Description'],
  16509. url: map['Url'],
  16510. );
  16511. }
  16512. Map<String, dynamic> toJson() {
  16513. final map = Map<String, dynamic>();
  16514. if(id != null)
  16515. map['Id'] = id;
  16516. if(videoName != null)
  16517. map['VideoName'] = videoName;
  16518. if(createTime != null)
  16519. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  16520. if(posterToken != null)
  16521. map['PosterToken'] = posterToken;
  16522. map['Duration'] = duration;
  16523. map['Size'] = size;
  16524. if(description != null)
  16525. map['Description'] = description;
  16526. if(url != null)
  16527. map['Url'] = url;
  16528. return map;
  16529. }
  16530. }
  16531. class MyExamAnswerView {
  16532. String? subjectId;
  16533. List<String >? answers;
  16534. MyExamAnswerView({
  16535. this.subjectId,
  16536. this.answers,
  16537. });
  16538. factory MyExamAnswerView.fromJson(Map<String, dynamic> map) {
  16539. return MyExamAnswerView(
  16540. subjectId: map['SubjectId'],
  16541. answers: map['Answers'] != null ? map['Answers'].cast<String>().toList() : null,
  16542. );
  16543. }
  16544. Map<String, dynamic> toJson() {
  16545. final map = Map<String, dynamic>();
  16546. if(subjectId != null)
  16547. map['SubjectId'] = subjectId;
  16548. if(answers != null)
  16549. map['Answers'] = answers;
  16550. return map;
  16551. }
  16552. }
  16553. class ExamScoreView {
  16554. double totalScore;
  16555. int correctCount;
  16556. int submitCount;
  16557. int maxScore;
  16558. List<MyExamAnswerView >? myExamAnswers;
  16559. ExamScoreView({
  16560. this.totalScore = 0,
  16561. this.correctCount = 0,
  16562. this.submitCount = 0,
  16563. this.maxScore = 0,
  16564. this.myExamAnswers,
  16565. });
  16566. factory ExamScoreView.fromJson(Map<String, dynamic> map) {
  16567. return ExamScoreView(
  16568. totalScore: double.parse(map['TotalScore'].toString()),
  16569. correctCount: map['CorrectCount'],
  16570. submitCount: map['SubmitCount'],
  16571. maxScore: map['MaxScore'],
  16572. myExamAnswers: map['MyExamAnswers'] != null ? (map['MyExamAnswers'] as List).map((e)=>MyExamAnswerView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16573. );
  16574. }
  16575. Map<String, dynamic> toJson() {
  16576. final map = Map<String, dynamic>();
  16577. map['TotalScore'] = totalScore;
  16578. map['CorrectCount'] = correctCount;
  16579. map['SubmitCount'] = submitCount;
  16580. map['MaxScore'] = maxScore;
  16581. if(myExamAnswers != null)
  16582. map['MyExamAnswers'] = myExamAnswers;
  16583. return map;
  16584. }
  16585. }
  16586. class VideoInfoView {
  16587. String? videoToken;
  16588. String? videoImageToken;
  16589. VideoInfoView({
  16590. this.videoToken,
  16591. this.videoImageToken,
  16592. });
  16593. factory VideoInfoView.fromJson(Map<String, dynamic> map) {
  16594. return VideoInfoView(
  16595. videoToken: map['VideoToken'],
  16596. videoImageToken: map['VideoImageToken'],
  16597. );
  16598. }
  16599. Map<String, dynamic> toJson() {
  16600. final map = Map<String, dynamic>();
  16601. if(videoToken != null)
  16602. map['VideoToken'] = videoToken;
  16603. if(videoImageToken != null)
  16604. map['VideoImageToken'] = videoImageToken;
  16605. return map;
  16606. }
  16607. }
  16608. class SubjectItemView {
  16609. String? content;
  16610. int index;
  16611. bool isAnswer;
  16612. SubjectItemView({
  16613. this.content,
  16614. this.index = 0,
  16615. this.isAnswer = false,
  16616. });
  16617. factory SubjectItemView.fromJson(Map<String, dynamic> map) {
  16618. return SubjectItemView(
  16619. content: map['Content'],
  16620. index: map['Index'],
  16621. isAnswer: map['IsAnswer'],
  16622. );
  16623. }
  16624. Map<String, dynamic> toJson() {
  16625. final map = Map<String, dynamic>();
  16626. if(content != null)
  16627. map['Content'] = content;
  16628. map['Index'] = index;
  16629. map['IsAnswer'] = isAnswer;
  16630. return map;
  16631. }
  16632. }
  16633. class SubjectInfoView {
  16634. String? id;
  16635. String? subject;
  16636. List<String >? images;
  16637. List<VideoInfoView >? videos;
  16638. double score;
  16639. int index;
  16640. QuestionTypeEnum subjectType;
  16641. List<SubjectItemView >? items;
  16642. SubjectInfoView({
  16643. this.id,
  16644. this.subject,
  16645. this.images,
  16646. this.videos,
  16647. this.score = 0,
  16648. this.index = 0,
  16649. this.subjectType = QuestionTypeEnum.Judge,
  16650. this.items,
  16651. });
  16652. factory SubjectInfoView.fromJson(Map<String, dynamic> map) {
  16653. return SubjectInfoView(
  16654. id: map['Id'],
  16655. subject: map['Subject'],
  16656. images: map['Images'] != null ? map['Images'].cast<String>().toList() : null,
  16657. videos: map['Videos'] != null ? (map['Videos'] as List).map((e)=>VideoInfoView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16658. score: double.parse(map['Score'].toString()),
  16659. index: map['Index'],
  16660. subjectType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['SubjectType']),
  16661. items: map['Items'] != null ? (map['Items'] as List).map((e)=>SubjectItemView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16662. );
  16663. }
  16664. Map<String, dynamic> toJson() {
  16665. final map = Map<String, dynamic>();
  16666. if(id != null)
  16667. map['Id'] = id;
  16668. if(subject != null)
  16669. map['Subject'] = subject;
  16670. if(images != null)
  16671. map['Images'] = images;
  16672. if(videos != null)
  16673. map['Videos'] = videos;
  16674. map['Score'] = score;
  16675. map['Index'] = index;
  16676. map['SubjectType'] = subjectType.index;
  16677. if(items != null)
  16678. map['Items'] = items;
  16679. return map;
  16680. }
  16681. }
  16682. class ExamTemplateView {
  16683. String? code;
  16684. List<SubjectInfoView >? subjects;
  16685. bool isDeleted;
  16686. String? name;
  16687. ExamTemplateView({
  16688. this.code,
  16689. this.subjects,
  16690. this.isDeleted = false,
  16691. this.name,
  16692. });
  16693. factory ExamTemplateView.fromJson(Map<String, dynamic> map) {
  16694. return ExamTemplateView(
  16695. code: map['Code'],
  16696. subjects: map['Subjects'] != null ? (map['Subjects'] as List).map((e)=>SubjectInfoView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16697. isDeleted: map['IsDeleted'],
  16698. name: map['Name'],
  16699. );
  16700. }
  16701. Map<String, dynamic> toJson() {
  16702. final map = Map<String, dynamic>();
  16703. if(code != null)
  16704. map['Code'] = code;
  16705. if(subjects != null)
  16706. map['Subjects'] = subjects;
  16707. map['IsDeleted'] = isDeleted;
  16708. if(name != null)
  16709. map['Name'] = name;
  16710. return map;
  16711. }
  16712. }
  16713. class ExamPaperDTO extends BaseDTO{
  16714. String? code;
  16715. String? name;
  16716. double totalScore;
  16717. List<ExamQuestionView >? questionList;
  16718. List<CourseLabelDTO >? caseLabels;
  16719. List<CourseLabelDTO >? courseLabels;
  16720. List<StudentExaminationDTO >? studentExaminationInfos;
  16721. String? description;
  16722. DateTime? starTime;
  16723. DateTime? endTime;
  16724. int limitCount;
  16725. String? result;
  16726. ICollection<UserView>? examiners;
  16727. ICollection<GroupView>? examinerUserGroups;
  16728. ExaminationAvailabilityEnum examinationAvailability;
  16729. ICollection<ClassView>? classes;
  16730. String? creatorId;
  16731. String? creatorName;
  16732. ExamTypeEnum examType;
  16733. bool hasPassScore;
  16734. double passScore;
  16735. List<ExamVideoView >? examVideoInfos;
  16736. List<ExamScoreView >? examScoreInfos;
  16737. ExamTemplateView? examTemplate;
  16738. bool isDisplayAnswer;
  16739. ExamPaperDTO({
  16740. this.code,
  16741. this.name,
  16742. this.totalScore = 0,
  16743. this.questionList,
  16744. this.caseLabels,
  16745. this.courseLabels,
  16746. this.studentExaminationInfos,
  16747. this.description,
  16748. this.starTime,
  16749. this.endTime,
  16750. this.limitCount = 0,
  16751. this.result,
  16752. this.examiners,
  16753. this.examinerUserGroups,
  16754. this.examinationAvailability = ExaminationAvailabilityEnum.Public,
  16755. this.classes,
  16756. this.creatorId,
  16757. this.creatorName,
  16758. this.examType = ExamTypeEnum.GeneralExam,
  16759. this.hasPassScore = false,
  16760. this.passScore = 0,
  16761. this.examVideoInfos,
  16762. this.examScoreInfos,
  16763. this.examTemplate,
  16764. this.isDisplayAnswer = false,
  16765. DateTime? createTime,
  16766. DateTime? updateTime,
  16767. }) : super(
  16768. createTime: createTime,
  16769. updateTime: updateTime,
  16770. );
  16771. factory ExamPaperDTO.fromJson(Map<String, dynamic> map) {
  16772. return ExamPaperDTO(
  16773. code: map['Code'],
  16774. name: map['Name'],
  16775. totalScore: double.parse(map['TotalScore'].toString()),
  16776. questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>ExamQuestionView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16777. caseLabels: map['CaseLabels'] != null ? (map['CaseLabels'] as List).map((e)=>CourseLabelDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  16778. courseLabels: map['CourseLabels'] != null ? (map['CourseLabels'] as List).map((e)=>CourseLabelDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  16779. studentExaminationInfos: map['StudentExaminationInfos'] != null ? (map['StudentExaminationInfos'] as List).map((e)=>StudentExaminationDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  16780. description: map['Description'],
  16781. starTime: map['StarTime'] != null ? DateTime.parse(map['StarTime']) : null,
  16782. endTime: map['EndTime'] != null ? DateTime.parse(map['EndTime']) : null,
  16783. limitCount: map['LimitCount'],
  16784. result: map['Result'],
  16785. examinationAvailability: ExaminationAvailabilityEnum.values.firstWhere((e) => e.index == map['ExaminationAvailability']),
  16786. creatorId: map['CreatorId'],
  16787. creatorName: map['CreatorName'],
  16788. examType: ExamTypeEnum.values.firstWhere((e) => e.index == map['ExamType']),
  16789. hasPassScore: map['HasPassScore'],
  16790. passScore: double.parse(map['PassScore'].toString()),
  16791. examVideoInfos: map['ExamVideoInfos'] != null ? (map['ExamVideoInfos'] as List).map((e)=>ExamVideoView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16792. examScoreInfos: map['ExamScoreInfos'] != null ? (map['ExamScoreInfos'] as List).map((e)=>ExamScoreView.fromJson(e as Map<String,dynamic>)).toList() : null,
  16793. examTemplate: map['ExamTemplate'] != null ? ExamTemplateView.fromJson(map['ExamTemplate']) : null,
  16794. isDisplayAnswer: map['IsDisplayAnswer'],
  16795. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  16796. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  16797. );
  16798. }
  16799. Map<String, dynamic> toJson() {
  16800. final map = super.toJson();
  16801. if(code != null)
  16802. map['Code'] = code;
  16803. if(name != null)
  16804. map['Name'] = name;
  16805. map['TotalScore'] = totalScore;
  16806. if(questionList != null)
  16807. map['QuestionList'] = questionList;
  16808. if(caseLabels != null)
  16809. map['CaseLabels'] = caseLabels;
  16810. if(courseLabels != null)
  16811. map['CourseLabels'] = courseLabels;
  16812. if(studentExaminationInfos != null)
  16813. map['StudentExaminationInfos'] = studentExaminationInfos;
  16814. if(description != null)
  16815. map['Description'] = description;
  16816. if(starTime != null)
  16817. map['StarTime'] = JsonRpcUtils.dateFormat(starTime!);
  16818. if(endTime != null)
  16819. map['EndTime'] = JsonRpcUtils.dateFormat(endTime!);
  16820. map['LimitCount'] = limitCount;
  16821. if(result != null)
  16822. map['Result'] = result;
  16823. if(examiners != null)
  16824. map['Examiners'] = examiners;
  16825. if(examinerUserGroups != null)
  16826. map['ExaminerUserGroups'] = examinerUserGroups;
  16827. map['ExaminationAvailability'] = examinationAvailability.index;
  16828. if(classes != null)
  16829. map['Classes'] = classes;
  16830. if(creatorId != null)
  16831. map['CreatorId'] = creatorId;
  16832. if(creatorName != null)
  16833. map['CreatorName'] = creatorName;
  16834. map['ExamType'] = examType.index;
  16835. map['HasPassScore'] = hasPassScore;
  16836. map['PassScore'] = passScore;
  16837. if(examVideoInfos != null)
  16838. map['ExamVideoInfos'] = examVideoInfos;
  16839. if(examScoreInfos != null)
  16840. map['ExamScoreInfos'] = examScoreInfos;
  16841. if(examTemplate != null)
  16842. map['ExamTemplate'] = examTemplate;
  16843. map['IsDisplayAnswer'] = isDisplayAnswer;
  16844. return map;
  16845. }
  16846. }
  16847. class FileDiagnosisResultDTO extends BaseDTO{
  16848. String? code;
  16849. String? remedicalCode;
  16850. DiagnosisConclusionEnum diagnosisConclusion;
  16851. String? diagnosisResult;
  16852. List<DiagnosisOrganEnum >? diagnosisOrgans;
  16853. MeasuredResultsDTO? measuredResult;
  16854. ScanImageDTO? commentResult;
  16855. CarotidResultDTO? carotidResult;
  16856. BusinessTypeEnum businessType;
  16857. FileDiagnosisResultDTO({
  16858. this.code,
  16859. this.remedicalCode,
  16860. this.diagnosisConclusion = DiagnosisConclusionEnum.NotRequired,
  16861. this.diagnosisResult,
  16862. this.diagnosisOrgans,
  16863. this.measuredResult,
  16864. this.commentResult,
  16865. this.carotidResult,
  16866. this.businessType = BusinessTypeEnum.RemoteDiagnosis,
  16867. DateTime? createTime,
  16868. DateTime? updateTime,
  16869. }) : super(
  16870. createTime: createTime,
  16871. updateTime: updateTime,
  16872. );
  16873. factory FileDiagnosisResultDTO.fromJson(Map<String, dynamic> map) {
  16874. return FileDiagnosisResultDTO(
  16875. code: map['Code'],
  16876. remedicalCode: map['RemedicalCode'],
  16877. diagnosisConclusion: DiagnosisConclusionEnum.values.firstWhere((e) => e.index == map['DiagnosisConclusion']),
  16878. diagnosisResult: map['DiagnosisResult'],
  16879. diagnosisOrgans: map['DiagnosisOrgans'] != null ? (map['DiagnosisOrgans'] as List).map((e)=>DiagnosisOrganEnum.values.firstWhere((i) => i.index == e)).toList() : null,
  16880. measuredResult: map['MeasuredResult'] != null ? MeasuredResultsDTO.fromJson(map['MeasuredResult']) : null,
  16881. commentResult: map['CommentResult'] != null ? ScanImageDTO.fromJson(map['CommentResult']) : null,
  16882. carotidResult: map['CarotidResult'] != null ? CarotidResultDTO.fromJson(map['CarotidResult']) : null,
  16883. businessType: BusinessTypeEnum.values.firstWhere((e) => e.index == map['BusinessType']),
  16884. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  16885. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  16886. );
  16887. }
  16888. Map<String, dynamic> toJson() {
  16889. final map = super.toJson();
  16890. if(code != null)
  16891. map['Code'] = code;
  16892. if(remedicalCode != null)
  16893. map['RemedicalCode'] = remedicalCode;
  16894. map['DiagnosisConclusion'] = diagnosisConclusion.index;
  16895. if(diagnosisResult != null)
  16896. map['DiagnosisResult'] = diagnosisResult;
  16897. if(diagnosisOrgans != null)
  16898. map['DiagnosisOrgans'] = diagnosisOrgans;
  16899. if(measuredResult != null)
  16900. map['MeasuredResult'] = measuredResult;
  16901. if(commentResult != null)
  16902. map['CommentResult'] = commentResult;
  16903. if(carotidResult != null)
  16904. map['CarotidResult'] = carotidResult;
  16905. map['BusinessType'] = businessType.index;
  16906. return map;
  16907. }
  16908. }
  16909. class FileView {
  16910. RemedicalFileDataTypeEnum dataType;
  16911. String? originalUrl;
  16912. String? cdnUrl;
  16913. int fileSize;
  16914. String? fileName;
  16915. String? previewUrl;
  16916. String? converUrl;
  16917. FileView({
  16918. this.dataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
  16919. this.originalUrl,
  16920. this.cdnUrl,
  16921. this.fileSize = 0,
  16922. this.fileName,
  16923. this.previewUrl,
  16924. this.converUrl,
  16925. });
  16926. factory FileView.fromJson(Map<String, dynamic> map) {
  16927. return FileView(
  16928. dataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['DataType']),
  16929. originalUrl: map['OriginalUrl'],
  16930. cdnUrl: map['CdnUrl'],
  16931. fileSize: map['FileSize'],
  16932. fileName: map['FileName'],
  16933. previewUrl: map['PreviewUrl'],
  16934. converUrl: map['ConverUrl'],
  16935. );
  16936. }
  16937. Map<String, dynamic> toJson() {
  16938. final map = Map<String, dynamic>();
  16939. map['DataType'] = dataType.index;
  16940. if(originalUrl != null)
  16941. map['OriginalUrl'] = originalUrl;
  16942. if(cdnUrl != null)
  16943. map['CdnUrl'] = cdnUrl;
  16944. map['FileSize'] = fileSize;
  16945. if(fileName != null)
  16946. map['FileName'] = fileName;
  16947. if(previewUrl != null)
  16948. map['PreviewUrl'] = previewUrl;
  16949. if(converUrl != null)
  16950. map['ConverUrl'] = converUrl;
  16951. return map;
  16952. }
  16953. }
  16954. class ImageLocationView {
  16955. String? group;
  16956. String? position;
  16957. String? quadrant;
  16958. ImageLocationView({
  16959. this.group,
  16960. this.position,
  16961. this.quadrant,
  16962. });
  16963. factory ImageLocationView.fromJson(Map<String, dynamic> map) {
  16964. return ImageLocationView(
  16965. group: map['Group'],
  16966. position: map['Position'],
  16967. quadrant: map['Quadrant'],
  16968. );
  16969. }
  16970. Map<String, dynamic> toJson() {
  16971. final map = Map<String, dynamic>();
  16972. if(group != null)
  16973. map['Group'] = group;
  16974. if(position != null)
  16975. map['Position'] = position;
  16976. if(quadrant != null)
  16977. map['Quadrant'] = quadrant;
  16978. return map;
  16979. }
  16980. }
  16981. class RemoteDiagnosisFileView extends FileView{
  16982. String? code;
  16983. String? application;
  16984. ImageLocationView? imageLocationInfo;
  16985. List<CommentView >? commentInfos;
  16986. RemoteDiagnosisFileView({
  16987. this.code,
  16988. this.application,
  16989. this.imageLocationInfo,
  16990. this.commentInfos,
  16991. RemedicalFileDataTypeEnum dataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
  16992. String? originalUrl,
  16993. String? cdnUrl,
  16994. int fileSize = 0,
  16995. String? fileName,
  16996. String? previewUrl,
  16997. String? converUrl,
  16998. }) : super(
  16999. dataType: dataType,
  17000. originalUrl: originalUrl,
  17001. cdnUrl: cdnUrl,
  17002. fileSize: fileSize,
  17003. fileName: fileName,
  17004. previewUrl: previewUrl,
  17005. converUrl: converUrl,
  17006. );
  17007. factory RemoteDiagnosisFileView.fromJson(Map<String, dynamic> map) {
  17008. return RemoteDiagnosisFileView(
  17009. code: map['Code'],
  17010. application: map['Application'],
  17011. imageLocationInfo: map['ImageLocationInfo'] != null ? ImageLocationView.fromJson(map['ImageLocationInfo']) : null,
  17012. commentInfos: map['CommentInfos'] != null ? (map['CommentInfos'] as List).map((e)=>CommentView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17013. dataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['DataType']),
  17014. originalUrl: map['OriginalUrl'],
  17015. cdnUrl: map['CdnUrl'],
  17016. fileSize: map['FileSize'],
  17017. fileName: map['FileName'],
  17018. previewUrl: map['PreviewUrl'],
  17019. converUrl: map['ConverUrl'],
  17020. );
  17021. }
  17022. Map<String, dynamic> toJson() {
  17023. final map = super.toJson();
  17024. if(code != null)
  17025. map['Code'] = code;
  17026. if(application != null)
  17027. map['Application'] = application;
  17028. if(imageLocationInfo != null)
  17029. map['ImageLocationInfo'] = imageLocationInfo;
  17030. if(commentInfos != null)
  17031. map['CommentInfos'] = commentInfos;
  17032. return map;
  17033. }
  17034. }
  17035. class LiveConsultationFileView extends FileView{
  17036. String? userCode;
  17037. String? userName;
  17038. String? type;
  17039. ConsultationFileTypeEnum consultationFileType;
  17040. String? remedicalCode;
  17041. String? remedicalMeasureCode;
  17042. LiveConsultationFileView({
  17043. this.userCode,
  17044. this.userName,
  17045. this.type,
  17046. this.consultationFileType = ConsultationFileTypeEnum.Screenshot,
  17047. this.remedicalCode,
  17048. this.remedicalMeasureCode,
  17049. RemedicalFileDataTypeEnum dataType = RemedicalFileDataTypeEnum.VinnoVidSingle,
  17050. String? originalUrl,
  17051. String? cdnUrl,
  17052. int fileSize = 0,
  17053. String? fileName,
  17054. String? previewUrl,
  17055. String? converUrl,
  17056. }) : super(
  17057. dataType: dataType,
  17058. originalUrl: originalUrl,
  17059. cdnUrl: cdnUrl,
  17060. fileSize: fileSize,
  17061. fileName: fileName,
  17062. previewUrl: previewUrl,
  17063. converUrl: converUrl,
  17064. );
  17065. factory LiveConsultationFileView.fromJson(Map<String, dynamic> map) {
  17066. return LiveConsultationFileView(
  17067. userCode: map['UserCode'],
  17068. userName: map['UserName'],
  17069. type: map['Type'],
  17070. consultationFileType: ConsultationFileTypeEnum.values.firstWhere((e) => e.index == map['ConsultationFileType']),
  17071. remedicalCode: map['RemedicalCode'],
  17072. remedicalMeasureCode: map['RemedicalMeasureCode'],
  17073. dataType: RemedicalFileDataTypeEnum.values.firstWhere((e) => e.index == map['DataType']),
  17074. originalUrl: map['OriginalUrl'],
  17075. cdnUrl: map['CdnUrl'],
  17076. fileSize: map['FileSize'],
  17077. fileName: map['FileName'],
  17078. previewUrl: map['PreviewUrl'],
  17079. converUrl: map['ConverUrl'],
  17080. );
  17081. }
  17082. Map<String, dynamic> toJson() {
  17083. final map = super.toJson();
  17084. if(userCode != null)
  17085. map['UserCode'] = userCode;
  17086. if(userName != null)
  17087. map['UserName'] = userName;
  17088. if(type != null)
  17089. map['Type'] = type;
  17090. map['ConsultationFileType'] = consultationFileType.index;
  17091. if(remedicalCode != null)
  17092. map['RemedicalCode'] = remedicalCode;
  17093. if(remedicalMeasureCode != null)
  17094. map['RemedicalMeasureCode'] = remedicalMeasureCode;
  17095. return map;
  17096. }
  17097. }
  17098. class PatientView {
  17099. String? code;
  17100. String? name;
  17101. String? identityCardId;
  17102. String? mobile;
  17103. String? gender;
  17104. String? age;
  17105. String? pastHistory;
  17106. String? diagnosis;
  17107. PatientView({
  17108. this.code,
  17109. this.name,
  17110. this.identityCardId,
  17111. this.mobile,
  17112. this.gender,
  17113. this.age,
  17114. this.pastHistory,
  17115. this.diagnosis,
  17116. });
  17117. factory PatientView.fromJson(Map<String, dynamic> map) {
  17118. return PatientView(
  17119. code: map['Code'],
  17120. name: map['Name'],
  17121. identityCardId: map['IdentityCardId'],
  17122. mobile: map['Mobile'],
  17123. gender: map['Gender'],
  17124. age: map['Age'],
  17125. pastHistory: map['PastHistory'],
  17126. diagnosis: map['Diagnosis'],
  17127. );
  17128. }
  17129. Map<String, dynamic> toJson() {
  17130. final map = Map<String, dynamic>();
  17131. if(code != null)
  17132. map['Code'] = code;
  17133. if(name != null)
  17134. map['Name'] = name;
  17135. if(identityCardId != null)
  17136. map['IdentityCardId'] = identityCardId;
  17137. if(mobile != null)
  17138. map['Mobile'] = mobile;
  17139. if(gender != null)
  17140. map['Gender'] = gender;
  17141. if(age != null)
  17142. map['Age'] = age;
  17143. if(pastHistory != null)
  17144. map['PastHistory'] = pastHistory;
  17145. if(diagnosis != null)
  17146. map['Diagnosis'] = diagnosis;
  17147. return map;
  17148. }
  17149. }
  17150. class OrganizationView {
  17151. String? code;
  17152. String? name;
  17153. String? departmentCode;
  17154. String? departmentName;
  17155. String? description;
  17156. String? logoUrl;
  17157. String? countryCode;
  17158. String? countryName;
  17159. String? provinceCode;
  17160. String? provinceName;
  17161. String? cityCode;
  17162. String? cityName;
  17163. OrganizationView({
  17164. this.code,
  17165. this.name,
  17166. this.departmentCode,
  17167. this.departmentName,
  17168. this.description,
  17169. this.logoUrl,
  17170. this.countryCode,
  17171. this.countryName,
  17172. this.provinceCode,
  17173. this.provinceName,
  17174. this.cityCode,
  17175. this.cityName,
  17176. });
  17177. factory OrganizationView.fromJson(Map<String, dynamic> map) {
  17178. return OrganizationView(
  17179. code: map['Code'],
  17180. name: map['Name'],
  17181. departmentCode: map['DepartmentCode'],
  17182. departmentName: map['DepartmentName'],
  17183. description: map['Description'],
  17184. logoUrl: map['LogoUrl'],
  17185. countryCode: map['CountryCode'],
  17186. countryName: map['CountryName'],
  17187. provinceCode: map['ProvinceCode'],
  17188. provinceName: map['ProvinceName'],
  17189. cityCode: map['CityCode'],
  17190. cityName: map['CityName'],
  17191. );
  17192. }
  17193. Map<String, dynamic> toJson() {
  17194. final map = Map<String, dynamic>();
  17195. if(code != null)
  17196. map['Code'] = code;
  17197. if(name != null)
  17198. map['Name'] = name;
  17199. if(departmentCode != null)
  17200. map['DepartmentCode'] = departmentCode;
  17201. if(departmentName != null)
  17202. map['DepartmentName'] = departmentName;
  17203. if(description != null)
  17204. map['Description'] = description;
  17205. if(logoUrl != null)
  17206. map['LogoUrl'] = logoUrl;
  17207. if(countryCode != null)
  17208. map['CountryCode'] = countryCode;
  17209. if(countryName != null)
  17210. map['CountryName'] = countryName;
  17211. if(provinceCode != null)
  17212. map['ProvinceCode'] = provinceCode;
  17213. if(provinceName != null)
  17214. map['ProvinceName'] = provinceName;
  17215. if(cityCode != null)
  17216. map['CityCode'] = cityCode;
  17217. if(cityName != null)
  17218. map['CityName'] = cityName;
  17219. return map;
  17220. }
  17221. }
  17222. class ReportConclusionView {
  17223. String? reportId;
  17224. String? diseaseName;
  17225. DiseaseConclusion diseaseConclusion;
  17226. ReportConclusionView({
  17227. this.reportId,
  17228. this.diseaseName,
  17229. this.diseaseConclusion = DiseaseConclusion.NoConclusion,
  17230. });
  17231. factory ReportConclusionView.fromJson(Map<String, dynamic> map) {
  17232. return ReportConclusionView(
  17233. reportId: map['ReportId'],
  17234. diseaseName: map['DiseaseName'],
  17235. diseaseConclusion: DiseaseConclusion.values.firstWhere((e) => e.index == map['DiseaseConclusion']),
  17236. );
  17237. }
  17238. Map<String, dynamic> toJson() {
  17239. final map = Map<String, dynamic>();
  17240. if(reportId != null)
  17241. map['ReportId'] = reportId;
  17242. if(diseaseName != null)
  17243. map['DiseaseName'] = diseaseName;
  17244. map['DiseaseConclusion'] = diseaseConclusion.index;
  17245. return map;
  17246. }
  17247. }
  17248. class LiveConsultationDTO extends BaseDTO{
  17249. String? code;
  17250. UserView? doctorInfo;
  17251. UserView? expertInfo;
  17252. PatientView? patientInfo;
  17253. OrganizationView? primaryHosptial;
  17254. OrganizationView? centralHospital;
  17255. DeviceView? deviceInfo;
  17256. String? checkPoint;
  17257. ConsultationState state;
  17258. String? consultationNumber;
  17259. String? queuingNumber;
  17260. QualityType qualityType;
  17261. FollowUpVisitStatusEnum followUpVisitStatus;
  17262. bool isNeedFollowUpVisit;
  17263. EvaluateGradeEnum evaluateGrade;
  17264. ICollection<LiveConsultationFileView>? fileInfos;
  17265. ICollection<ReportConclusionView>? reportConclusionInfos;
  17266. List<DataItemDTO >? patientDatas;
  17267. OrganizationPatientTypeEnum patientType;
  17268. String? scanPosition;
  17269. String? scanUserCode;
  17270. String? scanUserName;
  17271. String? operateUserCode;
  17272. String? operateUserName;
  17273. DateTime? consultationTime;
  17274. DateTime? consultationTimeEnd;
  17275. TransactionStatusEnum consultationStatus;
  17276. String? rejectReason;
  17277. String? location;
  17278. List<ConsultationMemberDTO >? consultationMembers;
  17279. String? description;
  17280. List<ConsultationReminderDTO >? consultationReminders;
  17281. String? approverCode;
  17282. ConsultationReportMode reportMode;
  17283. String? diseases;
  17284. String? primaryDiagnosis;
  17285. String? initiatorCode;
  17286. bool isEmergency;
  17287. String? emergencyCode;
  17288. LiveConsultationDTO({
  17289. this.code,
  17290. this.doctorInfo,
  17291. this.expertInfo,
  17292. this.patientInfo,
  17293. this.primaryHosptial,
  17294. this.centralHospital,
  17295. this.deviceInfo,
  17296. this.checkPoint,
  17297. this.state = ConsultationState.Unhandled,
  17298. this.consultationNumber,
  17299. this.queuingNumber,
  17300. this.qualityType = QualityType.None,
  17301. this.followUpVisitStatus = FollowUpVisitStatusEnum.Unknown,
  17302. this.isNeedFollowUpVisit = false,
  17303. this.evaluateGrade = EvaluateGradeEnum.UnSet,
  17304. this.fileInfos,
  17305. this.reportConclusionInfos,
  17306. this.patientDatas,
  17307. this.patientType = OrganizationPatientTypeEnum.Person,
  17308. this.scanPosition,
  17309. this.scanUserCode,
  17310. this.scanUserName,
  17311. this.operateUserCode,
  17312. this.operateUserName,
  17313. this.consultationTime,
  17314. this.consultationTimeEnd,
  17315. this.consultationStatus = TransactionStatusEnum.Applied,
  17316. this.rejectReason,
  17317. this.location,
  17318. this.consultationMembers,
  17319. this.description,
  17320. this.consultationReminders,
  17321. this.approverCode,
  17322. this.reportMode = ConsultationReportMode.ExpertReport,
  17323. this.diseases,
  17324. this.primaryDiagnosis,
  17325. this.initiatorCode,
  17326. this.isEmergency = false,
  17327. this.emergencyCode,
  17328. DateTime? createTime,
  17329. DateTime? updateTime,
  17330. }) : super(
  17331. createTime: createTime,
  17332. updateTime: updateTime,
  17333. );
  17334. factory LiveConsultationDTO.fromJson(Map<String, dynamic> map) {
  17335. return LiveConsultationDTO(
  17336. code: map['Code'],
  17337. doctorInfo: map['DoctorInfo'] != null ? UserView.fromJson(map['DoctorInfo']) : null,
  17338. expertInfo: map['ExpertInfo'] != null ? UserView.fromJson(map['ExpertInfo']) : null,
  17339. patientInfo: map['PatientInfo'] != null ? PatientView.fromJson(map['PatientInfo']) : null,
  17340. primaryHosptial: map['PrimaryHosptial'] != null ? OrganizationView.fromJson(map['PrimaryHosptial']) : null,
  17341. centralHospital: map['CentralHospital'] != null ? OrganizationView.fromJson(map['CentralHospital']) : null,
  17342. deviceInfo: map['DeviceInfo'] != null ? DeviceView.fromJson(map['DeviceInfo']) : null,
  17343. checkPoint: map['CheckPoint'],
  17344. state: ConsultationState.values.firstWhere((e) => e.index == map['State']),
  17345. consultationNumber: map['ConsultationNumber'],
  17346. queuingNumber: map['QueuingNumber'],
  17347. qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']),
  17348. followUpVisitStatus: FollowUpVisitStatusEnum.values.firstWhere((e) => e.index == map['FollowUpVisitStatus']),
  17349. isNeedFollowUpVisit: map['IsNeedFollowUpVisit'],
  17350. evaluateGrade: EvaluateGradeEnum.values.firstWhere((e) => e.index == map['EvaluateGrade']),
  17351. patientDatas: map['PatientDatas'] != null ? (map['PatientDatas'] as List).map((e)=>DataItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  17352. patientType: OrganizationPatientTypeEnum.values.firstWhere((e) => e.index == map['PatientType']),
  17353. scanPosition: map['ScanPosition'],
  17354. scanUserCode: map['ScanUserCode'],
  17355. scanUserName: map['ScanUserName'],
  17356. operateUserCode: map['OperateUserCode'],
  17357. operateUserName: map['OperateUserName'],
  17358. consultationTime: map['ConsultationTime'] != null ? DateTime.parse(map['ConsultationTime']) : null,
  17359. consultationTimeEnd: map['ConsultationTimeEnd'] != null ? DateTime.parse(map['ConsultationTimeEnd']) : null,
  17360. consultationStatus: TransactionStatusEnum.values.firstWhere((e) => e.index == map['ConsultationStatus']),
  17361. rejectReason: map['RejectReason'],
  17362. location: map['Location'],
  17363. consultationMembers: map['ConsultationMembers'] != null ? (map['ConsultationMembers'] as List).map((e)=>ConsultationMemberDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  17364. description: map['Description'],
  17365. consultationReminders: map['ConsultationReminders'] != null ? (map['ConsultationReminders'] as List).map((e)=>ConsultationReminderDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  17366. approverCode: map['ApproverCode'],
  17367. reportMode: ConsultationReportMode.values.firstWhere((e) => e.index == map['ReportMode']),
  17368. diseases: map['Diseases'],
  17369. primaryDiagnosis: map['PrimaryDiagnosis'],
  17370. initiatorCode: map['InitiatorCode'],
  17371. isEmergency: map['IsEmergency'],
  17372. emergencyCode: map['EmergencyCode'],
  17373. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  17374. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  17375. );
  17376. }
  17377. Map<String, dynamic> toJson() {
  17378. final map = super.toJson();
  17379. if(code != null)
  17380. map['Code'] = code;
  17381. if(doctorInfo != null)
  17382. map['DoctorInfo'] = doctorInfo;
  17383. if(expertInfo != null)
  17384. map['ExpertInfo'] = expertInfo;
  17385. if(patientInfo != null)
  17386. map['PatientInfo'] = patientInfo;
  17387. if(primaryHosptial != null)
  17388. map['PrimaryHosptial'] = primaryHosptial;
  17389. if(centralHospital != null)
  17390. map['CentralHospital'] = centralHospital;
  17391. if(deviceInfo != null)
  17392. map['DeviceInfo'] = deviceInfo;
  17393. if(checkPoint != null)
  17394. map['CheckPoint'] = checkPoint;
  17395. map['State'] = state.index;
  17396. if(consultationNumber != null)
  17397. map['ConsultationNumber'] = consultationNumber;
  17398. if(queuingNumber != null)
  17399. map['QueuingNumber'] = queuingNumber;
  17400. map['QualityType'] = qualityType.index;
  17401. map['FollowUpVisitStatus'] = followUpVisitStatus.index;
  17402. map['IsNeedFollowUpVisit'] = isNeedFollowUpVisit;
  17403. map['EvaluateGrade'] = evaluateGrade.index;
  17404. if(fileInfos != null)
  17405. map['FileInfos'] = fileInfos;
  17406. if(reportConclusionInfos != null)
  17407. map['ReportConclusionInfos'] = reportConclusionInfos;
  17408. if(patientDatas != null)
  17409. map['PatientDatas'] = patientDatas;
  17410. map['PatientType'] = patientType.index;
  17411. if(scanPosition != null)
  17412. map['ScanPosition'] = scanPosition;
  17413. if(scanUserCode != null)
  17414. map['ScanUserCode'] = scanUserCode;
  17415. if(scanUserName != null)
  17416. map['ScanUserName'] = scanUserName;
  17417. if(operateUserCode != null)
  17418. map['OperateUserCode'] = operateUserCode;
  17419. if(operateUserName != null)
  17420. map['OperateUserName'] = operateUserName;
  17421. if(consultationTime != null)
  17422. map['ConsultationTime'] = JsonRpcUtils.dateFormat(consultationTime!);
  17423. if(consultationTimeEnd != null)
  17424. map['ConsultationTimeEnd'] = JsonRpcUtils.dateFormat(consultationTimeEnd!);
  17425. map['ConsultationStatus'] = consultationStatus.index;
  17426. if(rejectReason != null)
  17427. map['RejectReason'] = rejectReason;
  17428. if(location != null)
  17429. map['Location'] = location;
  17430. if(consultationMembers != null)
  17431. map['ConsultationMembers'] = consultationMembers;
  17432. if(description != null)
  17433. map['Description'] = description;
  17434. if(consultationReminders != null)
  17435. map['ConsultationReminders'] = consultationReminders;
  17436. if(approverCode != null)
  17437. map['ApproverCode'] = approverCode;
  17438. map['ReportMode'] = reportMode.index;
  17439. if(diseases != null)
  17440. map['Diseases'] = diseases;
  17441. if(primaryDiagnosis != null)
  17442. map['PrimaryDiagnosis'] = primaryDiagnosis;
  17443. if(initiatorCode != null)
  17444. map['InitiatorCode'] = initiatorCode;
  17445. map['IsEmergency'] = isEmergency;
  17446. if(emergencyCode != null)
  17447. map['EmergencyCode'] = emergencyCode;
  17448. return map;
  17449. }
  17450. }
  17451. class SignStudentView {
  17452. String? studentCode;
  17453. String? studentName;
  17454. CourseAppearTypeEnum courseAppearType;
  17455. bool isPay;
  17456. StudentCourseStatusEnum signCourseStatus;
  17457. bool isNoSpeaking;
  17458. bool isAssistant;
  17459. List<int>? smallHeadImage;
  17460. SignStudentView({
  17461. this.studentCode,
  17462. this.studentName,
  17463. this.courseAppearType = CourseAppearTypeEnum.Unknown,
  17464. this.isPay = false,
  17465. this.signCourseStatus = StudentCourseStatusEnum.All,
  17466. this.isNoSpeaking = false,
  17467. this.isAssistant = false,
  17468. this.smallHeadImage,
  17469. });
  17470. factory SignStudentView.fromJson(Map<String, dynamic> map) {
  17471. final smallHeadImageData = map['SmallHeadImage'];
  17472. return SignStudentView(
  17473. studentCode: map['StudentCode'],
  17474. studentName: map['StudentName'],
  17475. courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
  17476. isPay: map['IsPay'],
  17477. signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
  17478. isNoSpeaking: map['IsNoSpeaking'],
  17479. isAssistant: map['IsAssistant'],
  17480. smallHeadImage: smallHeadImageData != null ? (smallHeadImageData as List).map((e) => e as int).toList(): null,
  17481. );
  17482. }
  17483. Map<String, dynamic> toJson() {
  17484. final map = Map<String, dynamic>();
  17485. if(studentCode != null)
  17486. map['StudentCode'] = studentCode;
  17487. if(studentName != null)
  17488. map['StudentName'] = studentName;
  17489. map['CourseAppearType'] = courseAppearType.index;
  17490. map['IsPay'] = isPay;
  17491. map['SignCourseStatus'] = signCourseStatus.index;
  17492. map['IsNoSpeaking'] = isNoSpeaking;
  17493. map['IsAssistant'] = isAssistant;
  17494. if(smallHeadImage != null)
  17495. map['SmallHeadImage'] = smallHeadImage;
  17496. return map;
  17497. }
  17498. }
  17499. class CourseExaminationQuestionView {
  17500. String? code;
  17501. String? stem;
  17502. QuestionTypeEnum questionType;
  17503. List<QuestionOptionDTO >? questionOptionList;
  17504. List<QuestionFileDTO >? fileList;
  17505. bool trueOrFalse;
  17506. double score;
  17507. CourseExaminationQuestionView({
  17508. this.code,
  17509. this.stem,
  17510. this.questionType = QuestionTypeEnum.Judge,
  17511. this.questionOptionList,
  17512. this.fileList,
  17513. this.trueOrFalse = false,
  17514. this.score = 0,
  17515. });
  17516. factory CourseExaminationQuestionView.fromJson(Map<String, dynamic> map) {
  17517. return CourseExaminationQuestionView(
  17518. code: map['Code'],
  17519. stem: map['Stem'],
  17520. questionType: QuestionTypeEnum.values.firstWhere((e) => e.index == map['QuestionType']),
  17521. questionOptionList: map['QuestionOptionList'] != null ? (map['QuestionOptionList'] as List).map((e)=>QuestionOptionDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  17522. fileList: map['FileList'] != null ? (map['FileList'] as List).map((e)=>QuestionFileDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  17523. trueOrFalse: map['TrueOrFalse'],
  17524. score: double.parse(map['Score'].toString()),
  17525. );
  17526. }
  17527. Map<String, dynamic> toJson() {
  17528. final map = Map<String, dynamic>();
  17529. if(code != null)
  17530. map['Code'] = code;
  17531. if(stem != null)
  17532. map['Stem'] = stem;
  17533. map['QuestionType'] = questionType.index;
  17534. if(questionOptionList != null)
  17535. map['QuestionOptionList'] = questionOptionList;
  17536. if(fileList != null)
  17537. map['FileList'] = fileList;
  17538. map['TrueOrFalse'] = trueOrFalse;
  17539. map['Score'] = score;
  17540. return map;
  17541. }
  17542. }
  17543. class CourseExaminationView {
  17544. String? code;
  17545. String? name;
  17546. double totalScore;
  17547. List<CourseExaminationQuestionView >? questionList;
  17548. int submitLimitCount;
  17549. bool isRelease;
  17550. CourseExaminationTypeEnum examinationType;
  17551. DateTime? startTime;
  17552. int examDuration;
  17553. double passingScore;
  17554. CourseExaminationView({
  17555. this.code,
  17556. this.name,
  17557. this.totalScore = 0,
  17558. this.questionList,
  17559. this.submitLimitCount = 0,
  17560. this.isRelease = false,
  17561. this.examinationType = CourseExaminationTypeEnum.Practice,
  17562. this.startTime,
  17563. this.examDuration = 0,
  17564. this.passingScore = 0,
  17565. });
  17566. factory CourseExaminationView.fromJson(Map<String, dynamic> map) {
  17567. return CourseExaminationView(
  17568. code: map['Code'],
  17569. name: map['Name'],
  17570. totalScore: double.parse(map['TotalScore'].toString()),
  17571. questionList: map['QuestionList'] != null ? (map['QuestionList'] as List).map((e)=>CourseExaminationQuestionView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17572. submitLimitCount: map['SubmitLimitCount'],
  17573. isRelease: map['IsRelease'],
  17574. examinationType: CourseExaminationTypeEnum.values.firstWhere((e) => e.index == map['ExaminationType']),
  17575. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  17576. examDuration: map['ExamDuration'],
  17577. passingScore: double.parse(map['PassingScore'].toString()),
  17578. );
  17579. }
  17580. Map<String, dynamic> toJson() {
  17581. final map = Map<String, dynamic>();
  17582. if(code != null)
  17583. map['Code'] = code;
  17584. if(name != null)
  17585. map['Name'] = name;
  17586. map['TotalScore'] = totalScore;
  17587. if(questionList != null)
  17588. map['QuestionList'] = questionList;
  17589. map['SubmitLimitCount'] = submitLimitCount;
  17590. map['IsRelease'] = isRelease;
  17591. map['ExaminationType'] = examinationType.index;
  17592. if(startTime != null)
  17593. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  17594. map['ExamDuration'] = examDuration;
  17595. map['PassingScore'] = passingScore;
  17596. return map;
  17597. }
  17598. }
  17599. class OnlineTrainingDTO extends BaseDTO{
  17600. String? code;
  17601. String? name;
  17602. String? teacherCode;
  17603. String? teacherName;
  17604. int duration;
  17605. CourseStatusEnum status;
  17606. CourseViewRangeEnum viewRange;
  17607. double price;
  17608. String? courseIntro;
  17609. CourseAudienceTypeEnum audienceType;
  17610. String? poster;
  17611. String? creatorCode;
  17612. String? organizationCode;
  17613. DateTime? startTime;
  17614. DateTime? deadline;
  17615. DateTime? actualStartTime;
  17616. DateTime? actualEndTime;
  17617. List<CourseLabelView >? caseLabelInfos;
  17618. String? courseToken;
  17619. String? coursewareToken;
  17620. List<GroupView >? userGroupInfos;
  17621. CourseTypeEnum courseType;
  17622. List<SignStudentView >? students;
  17623. List<SignStudentView >? assistants;
  17624. List<SignStudentView >? experts;
  17625. List<CourseLabelView >? courseLabelInfos;
  17626. bool isAgentCourse;
  17627. bool isStick;
  17628. int sort;
  17629. List<CourseExaminationView >? bindExams;
  17630. List<String >? courseVideoCodes;
  17631. CourseAppearTypeEnum courseAppearType;
  17632. List<String >? courseAlbumCodes;
  17633. int playCount;
  17634. List<String >? courseMaterialCodes;
  17635. ApplyStateEnum applyState;
  17636. String? conversationId;
  17637. ICollection<ChannelDataView>? channelDatas;
  17638. AdminView? createAdmin;
  17639. ICollection<AdminView>? owners;
  17640. bool teacherOnlineState;
  17641. bool startCourseInAdvance;
  17642. List<UserView >? assistantInfos;
  17643. List<UserView >? guestInfos;
  17644. String? credentialCode;
  17645. String? courseNotice;
  17646. List<UserView >? meetingMemberInfos;
  17647. OnlineTrainingDTO({
  17648. this.code,
  17649. this.name,
  17650. this.teacherCode,
  17651. this.teacherName,
  17652. this.duration = 0,
  17653. this.status = CourseStatusEnum.Unknown,
  17654. this.viewRange = CourseViewRangeEnum.All,
  17655. this.price = 0,
  17656. this.courseIntro,
  17657. this.audienceType = CourseAudienceTypeEnum.Unknown,
  17658. this.poster,
  17659. this.creatorCode,
  17660. this.organizationCode,
  17661. this.startTime,
  17662. this.deadline,
  17663. this.actualStartTime,
  17664. this.actualEndTime,
  17665. this.caseLabelInfos,
  17666. this.courseToken,
  17667. this.coursewareToken,
  17668. this.userGroupInfos,
  17669. this.courseType = CourseTypeEnum.Unknown,
  17670. this.students,
  17671. this.assistants,
  17672. this.experts,
  17673. this.courseLabelInfos,
  17674. this.isAgentCourse = false,
  17675. this.isStick = false,
  17676. this.sort = 0,
  17677. this.bindExams,
  17678. this.courseVideoCodes,
  17679. this.courseAppearType = CourseAppearTypeEnum.Unknown,
  17680. this.courseAlbumCodes,
  17681. this.playCount = 0,
  17682. this.courseMaterialCodes,
  17683. this.applyState = ApplyStateEnum.NotApply,
  17684. this.conversationId,
  17685. this.channelDatas,
  17686. this.createAdmin,
  17687. this.owners,
  17688. this.teacherOnlineState = false,
  17689. this.startCourseInAdvance = false,
  17690. this.assistantInfos,
  17691. this.guestInfos,
  17692. this.credentialCode,
  17693. this.courseNotice,
  17694. this.meetingMemberInfos,
  17695. DateTime? createTime,
  17696. DateTime? updateTime,
  17697. }) : super(
  17698. createTime: createTime,
  17699. updateTime: updateTime,
  17700. );
  17701. factory OnlineTrainingDTO.fromJson(Map<String, dynamic> map) {
  17702. return OnlineTrainingDTO(
  17703. code: map['Code'],
  17704. name: map['Name'],
  17705. teacherCode: map['TeacherCode'],
  17706. teacherName: map['TeacherName'],
  17707. duration: map['Duration'],
  17708. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  17709. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  17710. price: double.parse(map['Price'].toString()),
  17711. courseIntro: map['CourseIntro'],
  17712. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  17713. poster: map['Poster'],
  17714. creatorCode: map['CreatorCode'],
  17715. organizationCode: map['OrganizationCode'],
  17716. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  17717. deadline: map['Deadline'] != null ? DateTime.parse(map['Deadline']) : null,
  17718. actualStartTime: map['ActualStartTime'] != null ? DateTime.parse(map['ActualStartTime']) : null,
  17719. actualEndTime: map['ActualEndTime'] != null ? DateTime.parse(map['ActualEndTime']) : null,
  17720. caseLabelInfos: map['CaseLabelInfos'] != null ? (map['CaseLabelInfos'] as List).map((e)=>CourseLabelView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17721. courseToken: map['CourseToken'],
  17722. coursewareToken: map['CoursewareToken'],
  17723. userGroupInfos: map['UserGroupInfos'] != null ? (map['UserGroupInfos'] as List).map((e)=>GroupView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17724. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  17725. students: map['Students'] != null ? (map['Students'] as List).map((e)=>SignStudentView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17726. assistants: map['Assistants'] != null ? (map['Assistants'] as List).map((e)=>SignStudentView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17727. experts: map['Experts'] != null ? (map['Experts'] as List).map((e)=>SignStudentView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17728. courseLabelInfos: map['CourseLabelInfos'] != null ? (map['CourseLabelInfos'] as List).map((e)=>CourseLabelView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17729. isAgentCourse: map['IsAgentCourse'],
  17730. isStick: map['IsStick'],
  17731. sort: map['Sort'],
  17732. bindExams: map['BindExams'] != null ? (map['BindExams'] as List).map((e)=>CourseExaminationView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17733. courseVideoCodes: map['CourseVideoCodes'] != null ? map['CourseVideoCodes'].cast<String>().toList() : null,
  17734. courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
  17735. courseAlbumCodes: map['CourseAlbumCodes'] != null ? map['CourseAlbumCodes'].cast<String>().toList() : null,
  17736. playCount: map['PlayCount'],
  17737. courseMaterialCodes: map['CourseMaterialCodes'] != null ? map['CourseMaterialCodes'].cast<String>().toList() : null,
  17738. applyState: ApplyStateEnum.values.firstWhere((e) => e.index == map['ApplyState']),
  17739. conversationId: map['ConversationId'],
  17740. createAdmin: map['CreateAdmin'] != null ? AdminView.fromJson(map['CreateAdmin']) : null,
  17741. teacherOnlineState: map['TeacherOnlineState'],
  17742. startCourseInAdvance: map['StartCourseInAdvance'],
  17743. assistantInfos: map['AssistantInfos'] != null ? (map['AssistantInfos'] as List).map((e)=>UserView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17744. guestInfos: map['GuestInfos'] != null ? (map['GuestInfos'] as List).map((e)=>UserView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17745. credentialCode: map['CredentialCode'],
  17746. courseNotice: map['CourseNotice'],
  17747. meetingMemberInfos: map['MeetingMemberInfos'] != null ? (map['MeetingMemberInfos'] as List).map((e)=>UserView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17748. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  17749. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  17750. );
  17751. }
  17752. Map<String, dynamic> toJson() {
  17753. final map = super.toJson();
  17754. if(code != null)
  17755. map['Code'] = code;
  17756. if(name != null)
  17757. map['Name'] = name;
  17758. if(teacherCode != null)
  17759. map['TeacherCode'] = teacherCode;
  17760. if(teacherName != null)
  17761. map['TeacherName'] = teacherName;
  17762. map['Duration'] = duration;
  17763. map['Status'] = status.index;
  17764. map['ViewRange'] = viewRange.index;
  17765. map['Price'] = price;
  17766. if(courseIntro != null)
  17767. map['CourseIntro'] = courseIntro;
  17768. map['AudienceType'] = audienceType.index;
  17769. if(poster != null)
  17770. map['Poster'] = poster;
  17771. if(creatorCode != null)
  17772. map['CreatorCode'] = creatorCode;
  17773. if(organizationCode != null)
  17774. map['OrganizationCode'] = organizationCode;
  17775. if(startTime != null)
  17776. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  17777. if(deadline != null)
  17778. map['Deadline'] = JsonRpcUtils.dateFormat(deadline!);
  17779. if(actualStartTime != null)
  17780. map['ActualStartTime'] = JsonRpcUtils.dateFormat(actualStartTime!);
  17781. if(actualEndTime != null)
  17782. map['ActualEndTime'] = JsonRpcUtils.dateFormat(actualEndTime!);
  17783. if(caseLabelInfos != null)
  17784. map['CaseLabelInfos'] = caseLabelInfos;
  17785. if(courseToken != null)
  17786. map['CourseToken'] = courseToken;
  17787. if(coursewareToken != null)
  17788. map['CoursewareToken'] = coursewareToken;
  17789. if(userGroupInfos != null)
  17790. map['UserGroupInfos'] = userGroupInfos;
  17791. map['CourseType'] = courseType.index;
  17792. if(students != null)
  17793. map['Students'] = students;
  17794. if(assistants != null)
  17795. map['Assistants'] = assistants;
  17796. if(experts != null)
  17797. map['Experts'] = experts;
  17798. if(courseLabelInfos != null)
  17799. map['CourseLabelInfos'] = courseLabelInfos;
  17800. map['IsAgentCourse'] = isAgentCourse;
  17801. map['IsStick'] = isStick;
  17802. map['Sort'] = sort;
  17803. if(bindExams != null)
  17804. map['BindExams'] = bindExams;
  17805. if(courseVideoCodes != null)
  17806. map['CourseVideoCodes'] = courseVideoCodes;
  17807. map['CourseAppearType'] = courseAppearType.index;
  17808. if(courseAlbumCodes != null)
  17809. map['CourseAlbumCodes'] = courseAlbumCodes;
  17810. map['PlayCount'] = playCount;
  17811. if(courseMaterialCodes != null)
  17812. map['CourseMaterialCodes'] = courseMaterialCodes;
  17813. map['ApplyState'] = applyState.index;
  17814. if(conversationId != null)
  17815. map['ConversationId'] = conversationId;
  17816. if(channelDatas != null)
  17817. map['ChannelDatas'] = channelDatas;
  17818. if(createAdmin != null)
  17819. map['CreateAdmin'] = createAdmin;
  17820. if(owners != null)
  17821. map['Owners'] = owners;
  17822. map['TeacherOnlineState'] = teacherOnlineState;
  17823. map['StartCourseInAdvance'] = startCourseInAdvance;
  17824. if(assistantInfos != null)
  17825. map['AssistantInfos'] = assistantInfos;
  17826. if(guestInfos != null)
  17827. map['GuestInfos'] = guestInfos;
  17828. if(credentialCode != null)
  17829. map['CredentialCode'] = credentialCode;
  17830. if(courseNotice != null)
  17831. map['CourseNotice'] = courseNotice;
  17832. if(meetingMemberInfos != null)
  17833. map['MeetingMemberInfos'] = meetingMemberInfos;
  17834. return map;
  17835. }
  17836. }
  17837. class OnlineVideoDTO extends BaseDTO{
  17838. String? code;
  17839. String? name;
  17840. String? creatorCode;
  17841. String? creatorName;
  17842. UploadFileTypeEnum fodderType;
  17843. bool isPublic;
  17844. CourseViewRangeEnum viewRange;
  17845. String? videoToken;
  17846. String? vodFileId;
  17847. String? poster;
  17848. int duration;
  17849. double videoSize;
  17850. int playCount;
  17851. String? srcFileToken;
  17852. String? description;
  17853. VideoImportanceEnum importance;
  17854. VideoPermissionsEnum permissions;
  17855. List<UserView >? users;
  17856. List<GroupView >? userGroups;
  17857. List<ClassView >? classInfos;
  17858. List<OnlineTrainingDTO >? courses;
  17859. List<VideoLabelEnum >? labels;
  17860. String? teachingDocumentName;
  17861. String? teachingDocument;
  17862. int realBrowsedCount;
  17863. int baseBrowsedCount;
  17864. List<UserView >? finishedUsers;
  17865. OnlineVideoDTO({
  17866. this.code,
  17867. this.name,
  17868. this.creatorCode,
  17869. this.creatorName,
  17870. this.fodderType = UploadFileTypeEnum.Unknown,
  17871. this.isPublic = false,
  17872. this.viewRange = CourseViewRangeEnum.All,
  17873. this.videoToken,
  17874. this.vodFileId,
  17875. this.poster,
  17876. this.duration = 0,
  17877. this.videoSize = 0,
  17878. this.playCount = 0,
  17879. this.srcFileToken,
  17880. this.description,
  17881. this.importance = VideoImportanceEnum.Normal,
  17882. this.permissions = VideoPermissionsEnum.Public,
  17883. this.users,
  17884. this.userGroups,
  17885. this.classInfos,
  17886. this.courses,
  17887. this.labels,
  17888. this.teachingDocumentName,
  17889. this.teachingDocument,
  17890. this.realBrowsedCount = 0,
  17891. this.baseBrowsedCount = 0,
  17892. this.finishedUsers,
  17893. DateTime? createTime,
  17894. DateTime? updateTime,
  17895. }) : super(
  17896. createTime: createTime,
  17897. updateTime: updateTime,
  17898. );
  17899. factory OnlineVideoDTO.fromJson(Map<String, dynamic> map) {
  17900. return OnlineVideoDTO(
  17901. code: map['Code'],
  17902. name: map['Name'],
  17903. creatorCode: map['CreatorCode'],
  17904. creatorName: map['CreatorName'],
  17905. fodderType: UploadFileTypeEnum.values.firstWhere((e) => e.index == map['FodderType']),
  17906. isPublic: map['IsPublic'],
  17907. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  17908. videoToken: map['VideoToken'],
  17909. vodFileId: map['VodFileId'],
  17910. poster: map['Poster'],
  17911. duration: map['Duration'],
  17912. videoSize: double.parse(map['VideoSize'].toString()),
  17913. playCount: map['PlayCount'],
  17914. srcFileToken: map['SrcFileToken'],
  17915. description: map['Description'],
  17916. importance: VideoImportanceEnum.values.firstWhere((e) => e.index == map['Importance']),
  17917. permissions: VideoPermissionsEnum.values.firstWhere((e) => e.index == map['Permissions']),
  17918. users: map['Users'] != null ? (map['Users'] as List).map((e)=>UserView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17919. userGroups: map['UserGroups'] != null ? (map['UserGroups'] as List).map((e)=>GroupView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17920. classInfos: map['ClassInfos'] != null ? (map['ClassInfos'] as List).map((e)=>ClassView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17921. courses: map['Courses'] != null ? (map['Courses'] as List).map((e)=>OnlineTrainingDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  17922. labels: map['Labels'] != null ? (map['Labels'] as List).map((e)=>VideoLabelEnum.values.firstWhere((i) => i.index == e)).toList() : null,
  17923. teachingDocumentName: map['TeachingDocumentName'],
  17924. teachingDocument: map['TeachingDocument'],
  17925. realBrowsedCount: map['RealBrowsedCount'],
  17926. baseBrowsedCount: map['BaseBrowsedCount'],
  17927. finishedUsers: map['FinishedUsers'] != null ? (map['FinishedUsers'] as List).map((e)=>UserView.fromJson(e as Map<String,dynamic>)).toList() : null,
  17928. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  17929. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  17930. );
  17931. }
  17932. Map<String, dynamic> toJson() {
  17933. final map = super.toJson();
  17934. if(code != null)
  17935. map['Code'] = code;
  17936. if(name != null)
  17937. map['Name'] = name;
  17938. if(creatorCode != null)
  17939. map['CreatorCode'] = creatorCode;
  17940. if(creatorName != null)
  17941. map['CreatorName'] = creatorName;
  17942. map['FodderType'] = fodderType.index;
  17943. map['IsPublic'] = isPublic;
  17944. map['ViewRange'] = viewRange.index;
  17945. if(videoToken != null)
  17946. map['VideoToken'] = videoToken;
  17947. if(vodFileId != null)
  17948. map['VodFileId'] = vodFileId;
  17949. if(poster != null)
  17950. map['Poster'] = poster;
  17951. map['Duration'] = duration;
  17952. map['VideoSize'] = videoSize;
  17953. map['PlayCount'] = playCount;
  17954. if(srcFileToken != null)
  17955. map['SrcFileToken'] = srcFileToken;
  17956. if(description != null)
  17957. map['Description'] = description;
  17958. map['Importance'] = importance.index;
  17959. map['Permissions'] = permissions.index;
  17960. if(users != null)
  17961. map['Users'] = users;
  17962. if(userGroups != null)
  17963. map['UserGroups'] = userGroups;
  17964. if(classInfos != null)
  17965. map['ClassInfos'] = classInfos;
  17966. if(courses != null)
  17967. map['Courses'] = courses;
  17968. if(labels != null)
  17969. map['Labels'] = labels;
  17970. if(teachingDocumentName != null)
  17971. map['TeachingDocumentName'] = teachingDocumentName;
  17972. if(teachingDocument != null)
  17973. map['TeachingDocument'] = teachingDocument;
  17974. map['RealBrowsedCount'] = realBrowsedCount;
  17975. map['BaseBrowsedCount'] = baseBrowsedCount;
  17976. if(finishedUsers != null)
  17977. map['FinishedUsers'] = finishedUsers;
  17978. return map;
  17979. }
  17980. }
  17981. class QualifiedView {
  17982. QualifiedState qualifiedState;
  17983. QualityType qualityType;
  17984. QualifiedView({
  17985. this.qualifiedState = QualifiedState.UnSet,
  17986. this.qualityType = QualityType.None,
  17987. });
  17988. factory QualifiedView.fromJson(Map<String, dynamic> map) {
  17989. return QualifiedView(
  17990. qualifiedState: QualifiedState.values.firstWhere((e) => e.index == map['QualifiedState']),
  17991. qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']),
  17992. );
  17993. }
  17994. Map<String, dynamic> toJson() {
  17995. final map = Map<String, dynamic>();
  17996. map['QualifiedState'] = qualifiedState.index;
  17997. map['QualityType'] = qualityType.index;
  17998. return map;
  17999. }
  18000. }
  18001. class ScreenshotView {
  18002. String? createUserCode;
  18003. String? createUserName;
  18004. String? prelDiagnosis;
  18005. String? examDoctor;
  18006. ScreenshotView({
  18007. this.createUserCode,
  18008. this.createUserName,
  18009. this.prelDiagnosis,
  18010. this.examDoctor,
  18011. });
  18012. factory ScreenshotView.fromJson(Map<String, dynamic> map) {
  18013. return ScreenshotView(
  18014. createUserCode: map['CreateUserCode'],
  18015. createUserName: map['CreateUserName'],
  18016. prelDiagnosis: map['PrelDiagnosis'],
  18017. examDoctor: map['ExamDoctor'],
  18018. );
  18019. }
  18020. Map<String, dynamic> toJson() {
  18021. final map = Map<String, dynamic>();
  18022. if(createUserCode != null)
  18023. map['CreateUserCode'] = createUserCode;
  18024. if(createUserName != null)
  18025. map['CreateUserName'] = createUserName;
  18026. if(prelDiagnosis != null)
  18027. map['PrelDiagnosis'] = prelDiagnosis;
  18028. if(examDoctor != null)
  18029. map['ExamDoctor'] = examDoctor;
  18030. return map;
  18031. }
  18032. }
  18033. class RemoteDiagnosisDTO extends BaseDTO{
  18034. String? code;
  18035. String? examId;
  18036. OrganizationView? organizationInfo;
  18037. DeviceView? deviceInfo;
  18038. PatientView? patientInfo;
  18039. ScreenshotView? screenshotInfo;
  18040. QualifiedView? qualifiedInfo;
  18041. List<DiagnosisView >? diagnosisInfos;
  18042. List<String >? shareUserCodes;
  18043. String? customDoctor;
  18044. String? customOrganzation;
  18045. String? equipmentSN;
  18046. List<RemoteDiagnosisFileView >? fileInfos;
  18047. List<String >? completedUsers;
  18048. RecordStatusEnum recordStatus;
  18049. String? creatorCode;
  18050. String? tags;
  18051. RecordCreateTypeEnum createType;
  18052. List<DataItemDTO >? patientDataInfo;
  18053. List<PatientInfoExt >? patientInfoExtList;
  18054. String? patientType;
  18055. List<String >? readUsers;
  18056. List<String >? associatedExamCodes;
  18057. RemoteDiagnosisDTO({
  18058. this.code,
  18059. this.examId,
  18060. this.organizationInfo,
  18061. this.deviceInfo,
  18062. this.patientInfo,
  18063. this.screenshotInfo,
  18064. this.qualifiedInfo,
  18065. this.diagnosisInfos,
  18066. this.shareUserCodes,
  18067. this.customDoctor,
  18068. this.customOrganzation,
  18069. this.equipmentSN,
  18070. this.fileInfos,
  18071. this.completedUsers,
  18072. this.recordStatus = RecordStatusEnum.NotScanned,
  18073. this.creatorCode,
  18074. this.tags,
  18075. this.createType = RecordCreateTypeEnum.Reservation,
  18076. this.patientDataInfo,
  18077. this.patientInfoExtList,
  18078. this.patientType,
  18079. this.readUsers,
  18080. this.associatedExamCodes,
  18081. DateTime? createTime,
  18082. DateTime? updateTime,
  18083. }) : super(
  18084. createTime: createTime,
  18085. updateTime: updateTime,
  18086. );
  18087. factory RemoteDiagnosisDTO.fromJson(Map<String, dynamic> map) {
  18088. return RemoteDiagnosisDTO(
  18089. code: map['Code'],
  18090. examId: map['ExamId'],
  18091. organizationInfo: map['OrganizationInfo'] != null ? OrganizationView.fromJson(map['OrganizationInfo']) : null,
  18092. deviceInfo: map['DeviceInfo'] != null ? DeviceView.fromJson(map['DeviceInfo']) : null,
  18093. patientInfo: map['PatientInfo'] != null ? PatientView.fromJson(map['PatientInfo']) : null,
  18094. screenshotInfo: map['ScreenshotInfo'] != null ? ScreenshotView.fromJson(map['ScreenshotInfo']) : null,
  18095. qualifiedInfo: map['QualifiedInfo'] != null ? QualifiedView.fromJson(map['QualifiedInfo']) : null,
  18096. diagnosisInfos: map['DiagnosisInfos'] != null ? (map['DiagnosisInfos'] as List).map((e)=>DiagnosisView.fromJson(e as Map<String,dynamic>)).toList() : null,
  18097. shareUserCodes: map['ShareUserCodes'] != null ? map['ShareUserCodes'].cast<String>().toList() : null,
  18098. customDoctor: map['CustomDoctor'],
  18099. customOrganzation: map['CustomOrganzation'],
  18100. equipmentSN: map['EquipmentSN'],
  18101. fileInfos: map['FileInfos'] != null ? (map['FileInfos'] as List).map((e)=>RemoteDiagnosisFileView.fromJson(e as Map<String,dynamic>)).toList() : null,
  18102. completedUsers: map['CompletedUsers'] != null ? map['CompletedUsers'].cast<String>().toList() : null,
  18103. recordStatus: RecordStatusEnum.values.firstWhere((e) => e.index == map['RecordStatus']),
  18104. creatorCode: map['CreatorCode'],
  18105. tags: map['Tags'],
  18106. createType: RecordCreateTypeEnum.values.firstWhere((e) => e.index == map['CreateType']),
  18107. patientDataInfo: map['PatientDataInfo'] != null ? (map['PatientDataInfo'] as List).map((e)=>DataItemDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18108. patientInfoExtList: map['PatientInfoExtList'] != null ? (map['PatientInfoExtList'] as List).map((e)=>PatientInfoExt.fromJson(e as Map<String,dynamic>)).toList() : null,
  18109. patientType: map['PatientType'],
  18110. readUsers: map['ReadUsers'] != null ? map['ReadUsers'].cast<String>().toList() : null,
  18111. associatedExamCodes: map['AssociatedExamCodes'] != null ? map['AssociatedExamCodes'].cast<String>().toList() : null,
  18112. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18113. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  18114. );
  18115. }
  18116. Map<String, dynamic> toJson() {
  18117. final map = super.toJson();
  18118. if(code != null)
  18119. map['Code'] = code;
  18120. if(examId != null)
  18121. map['ExamId'] = examId;
  18122. if(organizationInfo != null)
  18123. map['OrganizationInfo'] = organizationInfo;
  18124. if(deviceInfo != null)
  18125. map['DeviceInfo'] = deviceInfo;
  18126. if(patientInfo != null)
  18127. map['PatientInfo'] = patientInfo;
  18128. if(screenshotInfo != null)
  18129. map['ScreenshotInfo'] = screenshotInfo;
  18130. if(qualifiedInfo != null)
  18131. map['QualifiedInfo'] = qualifiedInfo;
  18132. if(diagnosisInfos != null)
  18133. map['DiagnosisInfos'] = diagnosisInfos;
  18134. if(shareUserCodes != null)
  18135. map['ShareUserCodes'] = shareUserCodes;
  18136. if(customDoctor != null)
  18137. map['CustomDoctor'] = customDoctor;
  18138. if(customOrganzation != null)
  18139. map['CustomOrganzation'] = customOrganzation;
  18140. if(equipmentSN != null)
  18141. map['EquipmentSN'] = equipmentSN;
  18142. if(fileInfos != null)
  18143. map['FileInfos'] = fileInfos;
  18144. if(completedUsers != null)
  18145. map['CompletedUsers'] = completedUsers;
  18146. map['RecordStatus'] = recordStatus.index;
  18147. if(creatorCode != null)
  18148. map['CreatorCode'] = creatorCode;
  18149. if(tags != null)
  18150. map['Tags'] = tags;
  18151. map['CreateType'] = createType.index;
  18152. if(patientDataInfo != null)
  18153. map['PatientDataInfo'] = patientDataInfo;
  18154. if(patientInfoExtList != null)
  18155. map['PatientInfoExtList'] = patientInfoExtList;
  18156. if(patientType != null)
  18157. map['PatientType'] = patientType;
  18158. if(readUsers != null)
  18159. map['ReadUsers'] = readUsers;
  18160. if(associatedExamCodes != null)
  18161. map['AssociatedExamCodes'] = associatedExamCodes;
  18162. return map;
  18163. }
  18164. }
  18165. class ReportImageInfo2 {
  18166. String? name;
  18167. ImageTypeEnum type;
  18168. String? examDataId;
  18169. ReportImageInfo2({
  18170. this.name,
  18171. this.type = ImageTypeEnum.Local,
  18172. this.examDataId,
  18173. });
  18174. factory ReportImageInfo2.fromJson(Map<String, dynamic> map) {
  18175. return ReportImageInfo2(
  18176. name: map['Name'],
  18177. type: ImageTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  18178. examDataId: map['ExamDataId'],
  18179. );
  18180. }
  18181. Map<String, dynamic> toJson() {
  18182. final map = Map<String, dynamic>();
  18183. if(name != null)
  18184. map['Name'] = name;
  18185. map['Type'] = type.index;
  18186. if(examDataId != null)
  18187. map['ExamDataId'] = examDataId;
  18188. return map;
  18189. }
  18190. }
  18191. class CustomLabelView {
  18192. String? name;
  18193. String? code;
  18194. String? description;
  18195. String? fatherCode;
  18196. CustomLabelTypeEnum labelType;
  18197. bool isShow;
  18198. List<String >? userIds;
  18199. CustomLabelView({
  18200. this.name,
  18201. this.code,
  18202. this.description,
  18203. this.fatherCode,
  18204. this.labelType = CustomLabelTypeEnum.Group,
  18205. this.isShow = false,
  18206. this.userIds,
  18207. });
  18208. factory CustomLabelView.fromJson(Map<String, dynamic> map) {
  18209. return CustomLabelView(
  18210. name: map['Name'],
  18211. code: map['Code'],
  18212. description: map['Description'],
  18213. fatherCode: map['FatherCode'],
  18214. labelType: CustomLabelTypeEnum.values.firstWhere((e) => e.index == map['LabelType']),
  18215. isShow: map['IsShow'],
  18216. userIds: map['UserIds'] != null ? map['UserIds'].cast<String>().toList() : null,
  18217. );
  18218. }
  18219. Map<String, dynamic> toJson() {
  18220. final map = Map<String, dynamic>();
  18221. if(name != null)
  18222. map['Name'] = name;
  18223. if(code != null)
  18224. map['Code'] = code;
  18225. if(description != null)
  18226. map['Description'] = description;
  18227. if(fatherCode != null)
  18228. map['FatherCode'] = fatherCode;
  18229. map['LabelType'] = labelType.index;
  18230. map['IsShow'] = isShow;
  18231. if(userIds != null)
  18232. map['UserIds'] = userIds;
  18233. return map;
  18234. }
  18235. }
  18236. class QualityControlScoreItemView {
  18237. int sort;
  18238. double score;
  18239. QualityControlScoreItemView({
  18240. this.sort = 0,
  18241. this.score = 0,
  18242. });
  18243. factory QualityControlScoreItemView.fromJson(Map<String, dynamic> map) {
  18244. return QualityControlScoreItemView(
  18245. sort: map['Sort'],
  18246. score: double.parse(map['Score'].toString()),
  18247. );
  18248. }
  18249. Map<String, dynamic> toJson() {
  18250. final map = Map<String, dynamic>();
  18251. map['Sort'] = sort;
  18252. map['Score'] = score;
  18253. return map;
  18254. }
  18255. }
  18256. class QualityControlDataView {
  18257. String? controlPersonId;
  18258. String? controlPersonName;
  18259. String? opinion;
  18260. double score;
  18261. List<QualityControlScoreItemView >? scoreItems;
  18262. DateTime? controlTime;
  18263. QualityControlDataView({
  18264. this.controlPersonId,
  18265. this.controlPersonName,
  18266. this.opinion,
  18267. this.score = 0,
  18268. this.scoreItems,
  18269. this.controlTime,
  18270. });
  18271. factory QualityControlDataView.fromJson(Map<String, dynamic> map) {
  18272. return QualityControlDataView(
  18273. controlPersonId: map['ControlPersonId'],
  18274. controlPersonName: map['ControlPersonName'],
  18275. opinion: map['Opinion'],
  18276. score: double.parse(map['Score'].toString()),
  18277. scoreItems: map['ScoreItems'] != null ? (map['ScoreItems'] as List).map((e)=>QualityControlScoreItemView.fromJson(e as Map<String,dynamic>)).toList() : null,
  18278. controlTime: map['ControlTime'] != null ? DateTime.parse(map['ControlTime']) : null,
  18279. );
  18280. }
  18281. Map<String, dynamic> toJson() {
  18282. final map = Map<String, dynamic>();
  18283. if(controlPersonId != null)
  18284. map['ControlPersonId'] = controlPersonId;
  18285. if(controlPersonName != null)
  18286. map['ControlPersonName'] = controlPersonName;
  18287. if(opinion != null)
  18288. map['Opinion'] = opinion;
  18289. map['Score'] = score;
  18290. if(scoreItems != null)
  18291. map['ScoreItems'] = scoreItems;
  18292. if(controlTime != null)
  18293. map['ControlTime'] = JsonRpcUtils.dateFormat(controlTime!);
  18294. return map;
  18295. }
  18296. }
  18297. class ReportInfoResultDTO extends BaseDTO{
  18298. String? code;
  18299. String? organizationCode;
  18300. String? organizationName;
  18301. String? recordCode;
  18302. String? reportUserCode;
  18303. String? reportUserName;
  18304. DeviceView? deviceInfo;
  18305. String? patientCode;
  18306. String? patientId;
  18307. String? reportTemplateJson;
  18308. String? reportDatasJson;
  18309. String? patientName;
  18310. List<String >? reportLabels;
  18311. List<String >? platformLabels;
  18312. List<String >? diagnosisLabels;
  18313. DiagnosisOrganEnum reportOrgan;
  18314. List<ReportPreviewDTO >? reportPreviewList;
  18315. String? referralRecordCode;
  18316. ReportTypeEnum reportType;
  18317. String? elementCollectionJson;
  18318. String? measureElementCollectionJson;
  18319. String? patientPerfPhysician;
  18320. String? patientRefPhysician;
  18321. ICollection<ReportImageInfo2>? previewImages;
  18322. ICollection<CustomLabelView>? customLabels;
  18323. QualifiedState qualifiedState;
  18324. QualityType qualityType;
  18325. String? reportPreviewPdf;
  18326. ICollection<QualityControlDataView>? qualityControlDatas;
  18327. ReportInfoResultDTO({
  18328. this.code,
  18329. this.organizationCode,
  18330. this.organizationName,
  18331. this.recordCode,
  18332. this.reportUserCode,
  18333. this.reportUserName,
  18334. this.deviceInfo,
  18335. this.patientCode,
  18336. this.patientId,
  18337. this.reportTemplateJson,
  18338. this.reportDatasJson,
  18339. this.patientName,
  18340. this.reportLabels,
  18341. this.platformLabels,
  18342. this.diagnosisLabels,
  18343. this.reportOrgan = DiagnosisOrganEnum.Null,
  18344. this.reportPreviewList,
  18345. this.referralRecordCode,
  18346. this.reportType = ReportTypeEnum.RemoteDiagnosis,
  18347. this.elementCollectionJson,
  18348. this.measureElementCollectionJson,
  18349. this.patientPerfPhysician,
  18350. this.patientRefPhysician,
  18351. this.previewImages,
  18352. this.customLabels,
  18353. this.qualifiedState = QualifiedState.UnSet,
  18354. this.qualityType = QualityType.None,
  18355. this.reportPreviewPdf,
  18356. this.qualityControlDatas,
  18357. DateTime? createTime,
  18358. DateTime? updateTime,
  18359. }) : super(
  18360. createTime: createTime,
  18361. updateTime: updateTime,
  18362. );
  18363. factory ReportInfoResultDTO.fromJson(Map<String, dynamic> map) {
  18364. return ReportInfoResultDTO(
  18365. code: map['Code'],
  18366. organizationCode: map['OrganizationCode'],
  18367. organizationName: map['OrganizationName'],
  18368. recordCode: map['RecordCode'],
  18369. reportUserCode: map['ReportUserCode'],
  18370. reportUserName: map['ReportUserName'],
  18371. deviceInfo: map['DeviceInfo'] != null ? DeviceView.fromJson(map['DeviceInfo']) : null,
  18372. patientCode: map['PatientCode'],
  18373. patientId: map['PatientId'],
  18374. reportTemplateJson: map['ReportTemplateJson'],
  18375. reportDatasJson: map['ReportDatasJson'],
  18376. patientName: map['PatientName'],
  18377. reportLabels: map['ReportLabels'] != null ? map['ReportLabels'].cast<String>().toList() : null,
  18378. platformLabels: map['PlatformLabels'] != null ? map['PlatformLabels'].cast<String>().toList() : null,
  18379. diagnosisLabels: map['DiagnosisLabels'] != null ? map['DiagnosisLabels'].cast<String>().toList() : null,
  18380. reportOrgan: DiagnosisOrganEnum.values.firstWhere((e) => e.index == map['ReportOrgan']),
  18381. reportPreviewList: map['ReportPreviewList'] != null ? (map['ReportPreviewList'] as List).map((e)=>ReportPreviewDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18382. referralRecordCode: map['ReferralRecordCode'],
  18383. reportType: ReportTypeEnum.values.firstWhere((e) => e.index == map['ReportType']),
  18384. elementCollectionJson: map['ElementCollectionJson'],
  18385. measureElementCollectionJson: map['MeasureElementCollectionJson'],
  18386. patientPerfPhysician: map['PatientPerfPhysician'],
  18387. patientRefPhysician: map['PatientRefPhysician'],
  18388. qualifiedState: QualifiedState.values.firstWhere((e) => e.index == map['QualifiedState']),
  18389. qualityType: QualityType.values.firstWhere((e) => e.index == map['QualityType']),
  18390. reportPreviewPdf: map['ReportPreviewPdf'],
  18391. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18392. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  18393. );
  18394. }
  18395. Map<String, dynamic> toJson() {
  18396. final map = super.toJson();
  18397. if(code != null)
  18398. map['Code'] = code;
  18399. if(organizationCode != null)
  18400. map['OrganizationCode'] = organizationCode;
  18401. if(organizationName != null)
  18402. map['OrganizationName'] = organizationName;
  18403. if(recordCode != null)
  18404. map['RecordCode'] = recordCode;
  18405. if(reportUserCode != null)
  18406. map['ReportUserCode'] = reportUserCode;
  18407. if(reportUserName != null)
  18408. map['ReportUserName'] = reportUserName;
  18409. if(deviceInfo != null)
  18410. map['DeviceInfo'] = deviceInfo;
  18411. if(patientCode != null)
  18412. map['PatientCode'] = patientCode;
  18413. if(patientId != null)
  18414. map['PatientId'] = patientId;
  18415. if(reportTemplateJson != null)
  18416. map['ReportTemplateJson'] = reportTemplateJson;
  18417. if(reportDatasJson != null)
  18418. map['ReportDatasJson'] = reportDatasJson;
  18419. if(patientName != null)
  18420. map['PatientName'] = patientName;
  18421. if(reportLabels != null)
  18422. map['ReportLabels'] = reportLabels;
  18423. if(platformLabels != null)
  18424. map['PlatformLabels'] = platformLabels;
  18425. if(diagnosisLabels != null)
  18426. map['DiagnosisLabels'] = diagnosisLabels;
  18427. map['ReportOrgan'] = reportOrgan.index;
  18428. if(reportPreviewList != null)
  18429. map['ReportPreviewList'] = reportPreviewList;
  18430. if(referralRecordCode != null)
  18431. map['ReferralRecordCode'] = referralRecordCode;
  18432. map['ReportType'] = reportType.index;
  18433. if(elementCollectionJson != null)
  18434. map['ElementCollectionJson'] = elementCollectionJson;
  18435. if(measureElementCollectionJson != null)
  18436. map['MeasureElementCollectionJson'] = measureElementCollectionJson;
  18437. if(patientPerfPhysician != null)
  18438. map['PatientPerfPhysician'] = patientPerfPhysician;
  18439. if(patientRefPhysician != null)
  18440. map['PatientRefPhysician'] = patientRefPhysician;
  18441. if(previewImages != null)
  18442. map['PreviewImages'] = previewImages;
  18443. if(customLabels != null)
  18444. map['CustomLabels'] = customLabels;
  18445. map['QualifiedState'] = qualifiedState.index;
  18446. map['QualityType'] = qualityType.index;
  18447. if(reportPreviewPdf != null)
  18448. map['ReportPreviewPdf'] = reportPreviewPdf;
  18449. if(qualityControlDatas != null)
  18450. map['QualityControlDatas'] = qualityControlDatas;
  18451. return map;
  18452. }
  18453. }
  18454. class TeacherView extends UserView{
  18455. String? introduction;
  18456. List<int>? smallAvatar;
  18457. TeacherView({
  18458. this.introduction,
  18459. this.smallAvatar,
  18460. String? code,
  18461. String? name,
  18462. String? organizationCode,
  18463. String? organizationName,
  18464. }) : super(
  18465. code: code,
  18466. name: name,
  18467. organizationCode: organizationCode,
  18468. organizationName: organizationName,
  18469. );
  18470. factory TeacherView.fromJson(Map<String, dynamic> map) {
  18471. final smallAvatarData = map['SmallAvatar'];
  18472. return TeacherView(
  18473. introduction: map['Introduction'],
  18474. smallAvatar: smallAvatarData != null ? (smallAvatarData as List).map((e) => e as int).toList(): null,
  18475. code: map['Code'],
  18476. name: map['Name'],
  18477. organizationCode: map['OrganizationCode'],
  18478. organizationName: map['OrganizationName'],
  18479. );
  18480. }
  18481. Map<String, dynamic> toJson() {
  18482. final map = super.toJson();
  18483. if(introduction != null)
  18484. map['Introduction'] = introduction;
  18485. if(smallAvatar != null)
  18486. map['SmallAvatar'] = smallAvatar;
  18487. return map;
  18488. }
  18489. }
  18490. class AudienceView extends UserView{
  18491. int totalMinutes;
  18492. List<GroupView >? groupInfos;
  18493. AudienceView({
  18494. this.totalMinutes = 0,
  18495. this.groupInfos,
  18496. String? code,
  18497. String? name,
  18498. String? organizationCode,
  18499. String? organizationName,
  18500. }) : super(
  18501. code: code,
  18502. name: name,
  18503. organizationCode: organizationCode,
  18504. organizationName: organizationName,
  18505. );
  18506. factory AudienceView.fromJson(Map<String, dynamic> map) {
  18507. return AudienceView(
  18508. totalMinutes: map['TotalMinutes'],
  18509. groupInfos: map['GroupInfos'] != null ? (map['GroupInfos'] as List).map((e)=>GroupView.fromJson(e as Map<String,dynamic>)).toList() : null,
  18510. code: map['Code'],
  18511. name: map['Name'],
  18512. organizationCode: map['OrganizationCode'],
  18513. organizationName: map['OrganizationName'],
  18514. );
  18515. }
  18516. Map<String, dynamic> toJson() {
  18517. final map = super.toJson();
  18518. map['TotalMinutes'] = totalMinutes;
  18519. if(groupInfos != null)
  18520. map['GroupInfos'] = groupInfos;
  18521. return map;
  18522. }
  18523. }
  18524. class CourseAlbumDetailDTO extends CourseAlbumDTO{
  18525. List<CourseInfoDetailDTO >? courseInfos;
  18526. int studentCount;
  18527. CourseAlbumDetailDTO({
  18528. this.courseInfos,
  18529. this.studentCount = 0,
  18530. String? cover,
  18531. List<String >? courseCodes,
  18532. String? introduction,
  18533. List<String >? courseLabelCodes,
  18534. String? teacherCode,
  18535. String? teacherName,
  18536. CourseViewRangeEnum viewRange = CourseViewRangeEnum.All,
  18537. double price = 0,
  18538. DateTime? createTime,
  18539. int sort = 0,
  18540. bool isStick = false,
  18541. String? code,
  18542. String? name,
  18543. }) : super(
  18544. cover: cover,
  18545. courseCodes: courseCodes,
  18546. introduction: introduction,
  18547. courseLabelCodes: courseLabelCodes,
  18548. teacherCode: teacherCode,
  18549. teacherName: teacherName,
  18550. viewRange: viewRange,
  18551. price: price,
  18552. createTime: createTime,
  18553. sort: sort,
  18554. isStick: isStick,
  18555. code: code,
  18556. name: name,
  18557. );
  18558. factory CourseAlbumDetailDTO.fromJson(Map<String, dynamic> map) {
  18559. return CourseAlbumDetailDTO(
  18560. courseInfos: map['CourseInfos'] != null ? (map['CourseInfos'] as List).map((e)=>CourseInfoDetailDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18561. studentCount: map['StudentCount'],
  18562. cover: map['Cover'],
  18563. courseCodes: map['CourseCodes'] != null ? map['CourseCodes'].cast<String>().toList() : null,
  18564. introduction: map['Introduction'],
  18565. courseLabelCodes: map['CourseLabelCodes'] != null ? map['CourseLabelCodes'].cast<String>().toList() : null,
  18566. teacherCode: map['TeacherCode'],
  18567. teacherName: map['TeacherName'],
  18568. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  18569. price: double.parse(map['Price'].toString()),
  18570. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18571. sort: map['Sort'],
  18572. isStick: map['IsStick'],
  18573. code: map['Code'],
  18574. name: map['Name'],
  18575. );
  18576. }
  18577. Map<String, dynamic> toJson() {
  18578. final map = super.toJson();
  18579. if(courseInfos != null)
  18580. map['CourseInfos'] = courseInfos;
  18581. map['StudentCount'] = studentCount;
  18582. return map;
  18583. }
  18584. }
  18585. class BaseCoursePageDTO {
  18586. String? code;
  18587. String? name;
  18588. String? cover;
  18589. DateTime? startTime;
  18590. DateTime? createTime;
  18591. int playCount;
  18592. CourseStatusEnum status;
  18593. String? teacherName;
  18594. CourseTypeEnum courseType;
  18595. CourseAudienceTypeEnum audienceType;
  18596. int duration;
  18597. double price;
  18598. List<BaseUserGroupDTO >? userGroupList;
  18599. List<BaseCourseAlbumDTO >? courseAlbumList;
  18600. BaseCoursePageDTO({
  18601. this.code,
  18602. this.name,
  18603. this.cover,
  18604. this.startTime,
  18605. this.createTime,
  18606. this.playCount = 0,
  18607. this.status = CourseStatusEnum.Unknown,
  18608. this.teacherName,
  18609. this.courseType = CourseTypeEnum.Unknown,
  18610. this.audienceType = CourseAudienceTypeEnum.Unknown,
  18611. this.duration = 0,
  18612. this.price = 0,
  18613. this.userGroupList,
  18614. this.courseAlbumList,
  18615. });
  18616. factory BaseCoursePageDTO.fromJson(Map<String, dynamic> map) {
  18617. return BaseCoursePageDTO(
  18618. code: map['Code'],
  18619. name: map['Name'],
  18620. cover: map['Cover'],
  18621. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  18622. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18623. playCount: map['PlayCount'],
  18624. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  18625. teacherName: map['TeacherName'],
  18626. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  18627. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  18628. duration: map['Duration'],
  18629. price: double.parse(map['Price'].toString()),
  18630. userGroupList: map['UserGroupList'] != null ? (map['UserGroupList'] as List).map((e)=>BaseUserGroupDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18631. courseAlbumList: map['CourseAlbumList'] != null ? (map['CourseAlbumList'] as List).map((e)=>BaseCourseAlbumDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18632. );
  18633. }
  18634. Map<String, dynamic> toJson() {
  18635. final map = Map<String, dynamic>();
  18636. if(code != null)
  18637. map['Code'] = code;
  18638. if(name != null)
  18639. map['Name'] = name;
  18640. if(cover != null)
  18641. map['Cover'] = cover;
  18642. if(startTime != null)
  18643. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  18644. if(createTime != null)
  18645. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  18646. map['PlayCount'] = playCount;
  18647. map['Status'] = status.index;
  18648. if(teacherName != null)
  18649. map['TeacherName'] = teacherName;
  18650. map['CourseType'] = courseType.index;
  18651. map['AudienceType'] = audienceType.index;
  18652. map['Duration'] = duration;
  18653. map['Price'] = price;
  18654. if(userGroupList != null)
  18655. map['UserGroupList'] = userGroupList;
  18656. if(courseAlbumList != null)
  18657. map['CourseAlbumList'] = courseAlbumList;
  18658. return map;
  18659. }
  18660. }
  18661. class CoursePageDTO extends BaseCoursePageDTO{
  18662. CoursePageDTO({
  18663. String? code,
  18664. String? name,
  18665. String? cover,
  18666. DateTime? startTime,
  18667. DateTime? createTime,
  18668. int playCount = 0,
  18669. CourseStatusEnum status = CourseStatusEnum.Unknown,
  18670. String? teacherName,
  18671. CourseTypeEnum courseType = CourseTypeEnum.Unknown,
  18672. CourseAudienceTypeEnum audienceType = CourseAudienceTypeEnum.Unknown,
  18673. int duration = 0,
  18674. double price = 0,
  18675. List<BaseUserGroupDTO >? userGroupList,
  18676. List<BaseCourseAlbumDTO >? courseAlbumList,
  18677. }) : super(
  18678. code: code,
  18679. name: name,
  18680. cover: cover,
  18681. startTime: startTime,
  18682. createTime: createTime,
  18683. playCount: playCount,
  18684. status: status,
  18685. teacherName: teacherName,
  18686. courseType: courseType,
  18687. audienceType: audienceType,
  18688. duration: duration,
  18689. price: price,
  18690. userGroupList: userGroupList,
  18691. courseAlbumList: courseAlbumList,
  18692. );
  18693. factory CoursePageDTO.fromJson(Map<String, dynamic> map) {
  18694. return CoursePageDTO(
  18695. code: map['Code'],
  18696. name: map['Name'],
  18697. cover: map['Cover'],
  18698. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  18699. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18700. playCount: map['PlayCount'],
  18701. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  18702. teacherName: map['TeacherName'],
  18703. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  18704. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  18705. duration: map['Duration'],
  18706. price: double.parse(map['Price'].toString()),
  18707. userGroupList: map['UserGroupList'] != null ? (map['UserGroupList'] as List).map((e)=>BaseUserGroupDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18708. courseAlbumList: map['CourseAlbumList'] != null ? (map['CourseAlbumList'] as List).map((e)=>BaseCourseAlbumDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18709. );
  18710. }
  18711. Map<String, dynamic> toJson() {
  18712. final map = super.toJson();
  18713. return map;
  18714. }
  18715. }
  18716. class MyCoursePageDTO {
  18717. String? code;
  18718. String? courseOrAlbumCode;
  18719. CourseAppearTypeEnum courseAppearType;
  18720. CourseTypeEnum courseType;
  18721. String? name;
  18722. String? teacherName;
  18723. List<String >? courseLabelNames;
  18724. bool isPay;
  18725. DateTime? createTime;
  18726. CourseStatusEnum status;
  18727. CourseViewRangeEnum viewRange;
  18728. DateTime? startTime;
  18729. int playCount;
  18730. MyCoursePageDTO({
  18731. this.code,
  18732. this.courseOrAlbumCode,
  18733. this.courseAppearType = CourseAppearTypeEnum.Unknown,
  18734. this.courseType = CourseTypeEnum.Unknown,
  18735. this.name,
  18736. this.teacherName,
  18737. this.courseLabelNames,
  18738. this.isPay = false,
  18739. this.createTime,
  18740. this.status = CourseStatusEnum.Unknown,
  18741. this.viewRange = CourseViewRangeEnum.All,
  18742. this.startTime,
  18743. this.playCount = 0,
  18744. });
  18745. factory MyCoursePageDTO.fromJson(Map<String, dynamic> map) {
  18746. return MyCoursePageDTO(
  18747. code: map['Code'],
  18748. courseOrAlbumCode: map['CourseOrAlbumCode'],
  18749. courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
  18750. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  18751. name: map['Name'],
  18752. teacherName: map['TeacherName'],
  18753. courseLabelNames: map['CourseLabelNames'] != null ? map['CourseLabelNames'].cast<String>().toList() : null,
  18754. isPay: map['IsPay'],
  18755. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18756. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  18757. viewRange: CourseViewRangeEnum.values.firstWhere((e) => e.index == map['ViewRange']),
  18758. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  18759. playCount: map['PlayCount'],
  18760. );
  18761. }
  18762. Map<String, dynamic> toJson() {
  18763. final map = Map<String, dynamic>();
  18764. if(code != null)
  18765. map['Code'] = code;
  18766. if(courseOrAlbumCode != null)
  18767. map['CourseOrAlbumCode'] = courseOrAlbumCode;
  18768. map['CourseAppearType'] = courseAppearType.index;
  18769. map['CourseType'] = courseType.index;
  18770. if(name != null)
  18771. map['Name'] = name;
  18772. if(teacherName != null)
  18773. map['TeacherName'] = teacherName;
  18774. if(courseLabelNames != null)
  18775. map['CourseLabelNames'] = courseLabelNames;
  18776. map['IsPay'] = isPay;
  18777. if(createTime != null)
  18778. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  18779. map['Status'] = status.index;
  18780. map['ViewRange'] = viewRange.index;
  18781. if(startTime != null)
  18782. map['StartTime'] = JsonRpcUtils.dateFormat(startTime!);
  18783. map['PlayCount'] = playCount;
  18784. return map;
  18785. }
  18786. }
  18787. class StudentInCoursePageDTO extends BaseCoursePageDTO{
  18788. StudentCourseStatusEnum signCourseStatus;
  18789. bool isPay;
  18790. StudentInCoursePageDTO({
  18791. this.signCourseStatus = StudentCourseStatusEnum.All,
  18792. this.isPay = false,
  18793. String? code,
  18794. String? name,
  18795. String? cover,
  18796. DateTime? startTime,
  18797. DateTime? createTime,
  18798. int playCount = 0,
  18799. CourseStatusEnum status = CourseStatusEnum.Unknown,
  18800. String? teacherName,
  18801. CourseTypeEnum courseType = CourseTypeEnum.Unknown,
  18802. CourseAudienceTypeEnum audienceType = CourseAudienceTypeEnum.Unknown,
  18803. int duration = 0,
  18804. double price = 0,
  18805. List<BaseUserGroupDTO >? userGroupList,
  18806. List<BaseCourseAlbumDTO >? courseAlbumList,
  18807. }) : super(
  18808. code: code,
  18809. name: name,
  18810. cover: cover,
  18811. startTime: startTime,
  18812. createTime: createTime,
  18813. playCount: playCount,
  18814. status: status,
  18815. teacherName: teacherName,
  18816. courseType: courseType,
  18817. audienceType: audienceType,
  18818. duration: duration,
  18819. price: price,
  18820. userGroupList: userGroupList,
  18821. courseAlbumList: courseAlbumList,
  18822. );
  18823. factory StudentInCoursePageDTO.fromJson(Map<String, dynamic> map) {
  18824. return StudentInCoursePageDTO(
  18825. signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
  18826. isPay: map['IsPay'],
  18827. code: map['Code'],
  18828. name: map['Name'],
  18829. cover: map['Cover'],
  18830. startTime: map['StartTime'] != null ? DateTime.parse(map['StartTime']) : null,
  18831. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18832. playCount: map['PlayCount'],
  18833. status: CourseStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  18834. teacherName: map['TeacherName'],
  18835. courseType: CourseTypeEnum.values.firstWhere((e) => e.index == map['CourseType']),
  18836. audienceType: CourseAudienceTypeEnum.values.firstWhere((e) => e.index == map['AudienceType']),
  18837. duration: map['Duration'],
  18838. price: double.parse(map['Price'].toString()),
  18839. userGroupList: map['UserGroupList'] != null ? (map['UserGroupList'] as List).map((e)=>BaseUserGroupDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18840. courseAlbumList: map['CourseAlbumList'] != null ? (map['CourseAlbumList'] as List).map((e)=>BaseCourseAlbumDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18841. );
  18842. }
  18843. Map<String, dynamic> toJson() {
  18844. final map = super.toJson();
  18845. map['SignCourseStatus'] = signCourseStatus.index;
  18846. map['IsPay'] = isPay;
  18847. return map;
  18848. }
  18849. }
  18850. class SignStudentDTO {
  18851. String? studentCode;
  18852. String? courseOrAlbumCode;
  18853. CourseAppearTypeEnum courseAppearType;
  18854. bool isPay;
  18855. StudentCourseStatusEnum signCourseStatus;
  18856. SignStudentDTO({
  18857. this.studentCode,
  18858. this.courseOrAlbumCode,
  18859. this.courseAppearType = CourseAppearTypeEnum.Unknown,
  18860. this.isPay = false,
  18861. this.signCourseStatus = StudentCourseStatusEnum.All,
  18862. });
  18863. factory SignStudentDTO.fromJson(Map<String, dynamic> map) {
  18864. return SignStudentDTO(
  18865. studentCode: map['StudentCode'],
  18866. courseOrAlbumCode: map['CourseOrAlbumCode'],
  18867. courseAppearType: CourseAppearTypeEnum.values.firstWhere((e) => e.index == map['CourseAppearType']),
  18868. isPay: map['IsPay'],
  18869. signCourseStatus: StudentCourseStatusEnum.values.firstWhere((e) => e.index == map['SignCourseStatus']),
  18870. );
  18871. }
  18872. Map<String, dynamic> toJson() {
  18873. final map = Map<String, dynamic>();
  18874. if(studentCode != null)
  18875. map['StudentCode'] = studentCode;
  18876. if(courseOrAlbumCode != null)
  18877. map['CourseOrAlbumCode'] = courseOrAlbumCode;
  18878. map['CourseAppearType'] = courseAppearType.index;
  18879. map['IsPay'] = isPay;
  18880. map['SignCourseStatus'] = signCourseStatus.index;
  18881. return map;
  18882. }
  18883. }
  18884. class BoardPointDTO {
  18885. double x;
  18886. double y;
  18887. BoardPointDTO({
  18888. this.x = 0,
  18889. this.y = 0,
  18890. });
  18891. factory BoardPointDTO.fromJson(Map<String, dynamic> map) {
  18892. return BoardPointDTO(
  18893. x: double.parse(map['X'].toString()),
  18894. y: double.parse(map['Y'].toString()),
  18895. );
  18896. }
  18897. Map<String, dynamic> toJson() {
  18898. final map = Map<String, dynamic>();
  18899. map['X'] = x;
  18900. map['Y'] = y;
  18901. return map;
  18902. }
  18903. }
  18904. class ConsultationExpertDTO extends UserBaseDTO{
  18905. ConsultationExpertDTO({
  18906. String? phone,
  18907. String? email,
  18908. String? userCode,
  18909. String? userName,
  18910. String? fullName,
  18911. String? headImageUrl,
  18912. String? displayName,
  18913. DateTime? createTime,
  18914. DateTime? updateTime,
  18915. }) : super(
  18916. phone: phone,
  18917. email: email,
  18918. userCode: userCode,
  18919. userName: userName,
  18920. fullName: fullName,
  18921. headImageUrl: headImageUrl,
  18922. displayName: displayName,
  18923. createTime: createTime,
  18924. updateTime: updateTime,
  18925. );
  18926. factory ConsultationExpertDTO.fromJson(Map<String, dynamic> map) {
  18927. return ConsultationExpertDTO(
  18928. phone: map['Phone'],
  18929. email: map['Email'],
  18930. userCode: map['UserCode'],
  18931. userName: map['UserName'],
  18932. fullName: map['FullName'],
  18933. headImageUrl: map['HeadImageUrl'],
  18934. displayName: map['DisplayName'],
  18935. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18936. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  18937. );
  18938. }
  18939. Map<String, dynamic> toJson() {
  18940. final map = super.toJson();
  18941. return map;
  18942. }
  18943. }
  18944. class AdminStatisticRecordDTO extends BaseDTO{
  18945. String? adminStatisticRecordCode;
  18946. String? adminStatisticCode;
  18947. String? adminStatisticName;
  18948. String? adminCode;
  18949. String? serverHost;
  18950. DateTime? lastestUpdateTime;
  18951. DateTime? nextHandleTime;
  18952. List<String >? xAxisDatas;
  18953. List<List<double> >? yAxisDatas;
  18954. List<StatisticInfoDTO >? children;
  18955. String? statisticJsonData;
  18956. StatisticsPlatformEnum statisticsPlatform;
  18957. AdminStatisticRecordDTO({
  18958. this.adminStatisticRecordCode,
  18959. this.adminStatisticCode,
  18960. this.adminStatisticName,
  18961. this.adminCode,
  18962. this.serverHost,
  18963. this.lastestUpdateTime,
  18964. this.nextHandleTime,
  18965. this.xAxisDatas,
  18966. this.yAxisDatas,
  18967. this.children,
  18968. this.statisticJsonData,
  18969. this.statisticsPlatform = StatisticsPlatformEnum.Management,
  18970. DateTime? createTime,
  18971. DateTime? updateTime,
  18972. }) : super(
  18973. createTime: createTime,
  18974. updateTime: updateTime,
  18975. );
  18976. factory AdminStatisticRecordDTO.fromJson(Map<String, dynamic> map) {
  18977. return AdminStatisticRecordDTO(
  18978. adminStatisticRecordCode: map['AdminStatisticRecordCode'],
  18979. adminStatisticCode: map['AdminStatisticCode'],
  18980. adminStatisticName: map['AdminStatisticName'],
  18981. adminCode: map['AdminCode'],
  18982. serverHost: map['ServerHost'],
  18983. lastestUpdateTime: map['LastestUpdateTime'] != null ? DateTime.parse(map['LastestUpdateTime']) : null,
  18984. nextHandleTime: map['NextHandleTime'] != null ? DateTime.parse(map['NextHandleTime']) : null,
  18985. xAxisDatas: map['XAxisDatas'] != null ? map['XAxisDatas'].cast<String>().toList() : null,
  18986. yAxisDatas: map['YAxisDatas'] != null ? map['YAxisDatas'].cast<List<double>>().toList() : null,
  18987. children: map['Children'] != null ? (map['Children'] as List).map((e)=>StatisticInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  18988. statisticJsonData: map['StatisticJsonData'],
  18989. statisticsPlatform: StatisticsPlatformEnum.values.firstWhere((e) => e.index == map['StatisticsPlatform']),
  18990. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  18991. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  18992. );
  18993. }
  18994. Map<String, dynamic> toJson() {
  18995. final map = super.toJson();
  18996. if(adminStatisticRecordCode != null)
  18997. map['AdminStatisticRecordCode'] = adminStatisticRecordCode;
  18998. if(adminStatisticCode != null)
  18999. map['AdminStatisticCode'] = adminStatisticCode;
  19000. if(adminStatisticName != null)
  19001. map['AdminStatisticName'] = adminStatisticName;
  19002. if(adminCode != null)
  19003. map['AdminCode'] = adminCode;
  19004. if(serverHost != null)
  19005. map['ServerHost'] = serverHost;
  19006. if(lastestUpdateTime != null)
  19007. map['LastestUpdateTime'] = JsonRpcUtils.dateFormat(lastestUpdateTime!);
  19008. if(nextHandleTime != null)
  19009. map['NextHandleTime'] = JsonRpcUtils.dateFormat(nextHandleTime!);
  19010. if(xAxisDatas != null)
  19011. map['XAxisDatas'] = xAxisDatas;
  19012. if(yAxisDatas != null)
  19013. map['YAxisDatas'] = yAxisDatas;
  19014. if(children != null)
  19015. map['Children'] = children;
  19016. if(statisticJsonData != null)
  19017. map['StatisticJsonData'] = statisticJsonData;
  19018. map['StatisticsPlatform'] = statisticsPlatform.index;
  19019. return map;
  19020. }
  19021. }
  19022. class CMSStatisticRecordDTO extends AdminStatisticRecordDTO{
  19023. CMSStatisticRecordDTO({
  19024. String? statisticJsonData,
  19025. String? adminStatisticRecordCode,
  19026. String? adminStatisticCode,
  19027. String? adminStatisticName,
  19028. String? adminCode,
  19029. String? serverHost,
  19030. DateTime? lastestUpdateTime,
  19031. DateTime? nextHandleTime,
  19032. List<String >? xAxisDatas,
  19033. List<List<double> >? yAxisDatas,
  19034. List<StatisticInfoDTO >? children,
  19035. StatisticsPlatformEnum statisticsPlatform = StatisticsPlatformEnum.Management,
  19036. DateTime? createTime,
  19037. DateTime? updateTime,
  19038. }) : super(
  19039. adminStatisticRecordCode: adminStatisticRecordCode,
  19040. adminStatisticCode: adminStatisticCode,
  19041. adminStatisticName: adminStatisticName,
  19042. adminCode: adminCode,
  19043. serverHost: serverHost,
  19044. lastestUpdateTime: lastestUpdateTime,
  19045. nextHandleTime: nextHandleTime,
  19046. xAxisDatas: xAxisDatas,
  19047. yAxisDatas: yAxisDatas,
  19048. children: children,
  19049. statisticJsonData: statisticJsonData,
  19050. statisticsPlatform: statisticsPlatform,
  19051. createTime: createTime,
  19052. updateTime: updateTime,
  19053. );
  19054. factory CMSStatisticRecordDTO.fromJson(Map<String, dynamic> map) {
  19055. return CMSStatisticRecordDTO(
  19056. statisticJsonData: map['StatisticJsonData'],
  19057. adminStatisticRecordCode: map['AdminStatisticRecordCode'],
  19058. adminStatisticCode: map['AdminStatisticCode'],
  19059. adminStatisticName: map['AdminStatisticName'],
  19060. adminCode: map['AdminCode'],
  19061. serverHost: map['ServerHost'],
  19062. lastestUpdateTime: map['LastestUpdateTime'] != null ? DateTime.parse(map['LastestUpdateTime']) : null,
  19063. nextHandleTime: map['NextHandleTime'] != null ? DateTime.parse(map['NextHandleTime']) : null,
  19064. xAxisDatas: map['XAxisDatas'] != null ? map['XAxisDatas'].cast<String>().toList() : null,
  19065. yAxisDatas: map['YAxisDatas'] != null ? map['YAxisDatas'].cast<List<double>>().toList() : null,
  19066. children: map['Children'] != null ? (map['Children'] as List).map((e)=>StatisticInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  19067. statisticsPlatform: StatisticsPlatformEnum.values.firstWhere((e) => e.index == map['StatisticsPlatform']),
  19068. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  19069. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  19070. );
  19071. }
  19072. Map<String, dynamic> toJson() {
  19073. final map = super.toJson();
  19074. return map;
  19075. }
  19076. }
  19077. class CMSTemplateDTO extends BaseDTO{
  19078. String? cMSTemplateCode;
  19079. String? cMSTemplateName;
  19080. CMSTemplateStatusTypeEnum cMSTemplateStateType;
  19081. String? cMSTemplateJson;
  19082. bool isDefault;
  19083. List<String >? organizationCodes;
  19084. String? cMSBgColor;
  19085. String? cMSBgImg;
  19086. bool isShowTop;
  19087. String? cMSBorderColor;
  19088. int cMSBorderShadow;
  19089. CMSTemplateDTO({
  19090. this.cMSTemplateCode,
  19091. this.cMSTemplateName,
  19092. this.cMSTemplateStateType = CMSTemplateStatusTypeEnum.UnPublished,
  19093. this.cMSTemplateJson,
  19094. this.isDefault = false,
  19095. this.organizationCodes,
  19096. this.cMSBgColor,
  19097. this.cMSBgImg,
  19098. this.isShowTop = false,
  19099. this.cMSBorderColor,
  19100. this.cMSBorderShadow = 0,
  19101. DateTime? createTime,
  19102. DateTime? updateTime,
  19103. }) : super(
  19104. createTime: createTime,
  19105. updateTime: updateTime,
  19106. );
  19107. factory CMSTemplateDTO.fromJson(Map<String, dynamic> map) {
  19108. return CMSTemplateDTO(
  19109. cMSTemplateCode: map['CMSTemplateCode'],
  19110. cMSTemplateName: map['CMSTemplateName'],
  19111. cMSTemplateStateType: CMSTemplateStatusTypeEnum.values.firstWhere((e) => e.index == map['CMSTemplateStateType']),
  19112. cMSTemplateJson: map['CMSTemplateJson'],
  19113. isDefault: map['IsDefault'],
  19114. organizationCodes: map['OrganizationCodes'] != null ? map['OrganizationCodes'].cast<String>().toList() : null,
  19115. cMSBgColor: map['CMSBgColor'],
  19116. cMSBgImg: map['CMSBgImg'],
  19117. isShowTop: map['IsShowTop'],
  19118. cMSBorderColor: map['CMSBorderColor'],
  19119. cMSBorderShadow: map['CMSBorderShadow'],
  19120. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  19121. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  19122. );
  19123. }
  19124. Map<String, dynamic> toJson() {
  19125. final map = super.toJson();
  19126. if(cMSTemplateCode != null)
  19127. map['CMSTemplateCode'] = cMSTemplateCode;
  19128. if(cMSTemplateName != null)
  19129. map['CMSTemplateName'] = cMSTemplateName;
  19130. map['CMSTemplateStateType'] = cMSTemplateStateType.index;
  19131. if(cMSTemplateJson != null)
  19132. map['CMSTemplateJson'] = cMSTemplateJson;
  19133. map['IsDefault'] = isDefault;
  19134. if(organizationCodes != null)
  19135. map['OrganizationCodes'] = organizationCodes;
  19136. if(cMSBgColor != null)
  19137. map['CMSBgColor'] = cMSBgColor;
  19138. if(cMSBgImg != null)
  19139. map['CMSBgImg'] = cMSBgImg;
  19140. map['IsShowTop'] = isShowTop;
  19141. if(cMSBorderColor != null)
  19142. map['CMSBorderColor'] = cMSBorderColor;
  19143. map['CMSBorderShadow'] = cMSBorderShadow;
  19144. return map;
  19145. }
  19146. }
  19147. class StatisticAnnouncesDTO {
  19148. AnnouncementTypeEnum announcementType;
  19149. DateTime? contentTime;
  19150. String? content;
  19151. CMSMessageStatusEnum status;
  19152. StatisticAnnouncesDTO({
  19153. this.announcementType = AnnouncementTypeEnum.Broadcast,
  19154. this.contentTime,
  19155. this.content,
  19156. this.status = CMSMessageStatusEnum.UnRead,
  19157. });
  19158. factory StatisticAnnouncesDTO.fromJson(Map<String, dynamic> map) {
  19159. return StatisticAnnouncesDTO(
  19160. announcementType: AnnouncementTypeEnum.values.firstWhere((e) => e.index == map['AnnouncementType']),
  19161. contentTime: map['ContentTime'] != null ? DateTime.parse(map['ContentTime']) : null,
  19162. content: map['Content'],
  19163. status: CMSMessageStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  19164. );
  19165. }
  19166. Map<String, dynamic> toJson() {
  19167. final map = Map<String, dynamic>();
  19168. map['AnnouncementType'] = announcementType.index;
  19169. if(contentTime != null)
  19170. map['ContentTime'] = JsonRpcUtils.dateFormat(contentTime!);
  19171. if(content != null)
  19172. map['Content'] = content;
  19173. map['Status'] = status.index;
  19174. return map;
  19175. }
  19176. }
  19177. class StatisticDevicesDTO {
  19178. String? imgUrl;
  19179. String? name;
  19180. String? transferUrl;
  19181. StatisticDevicesDTO({
  19182. this.imgUrl,
  19183. this.name,
  19184. this.transferUrl,
  19185. });
  19186. factory StatisticDevicesDTO.fromJson(Map<String, dynamic> map) {
  19187. return StatisticDevicesDTO(
  19188. imgUrl: map['ImgUrl'],
  19189. name: map['Name'],
  19190. transferUrl: map['TransferUrl'],
  19191. );
  19192. }
  19193. Map<String, dynamic> toJson() {
  19194. final map = Map<String, dynamic>();
  19195. if(imgUrl != null)
  19196. map['ImgUrl'] = imgUrl;
  19197. if(name != null)
  19198. map['Name'] = name;
  19199. if(transferUrl != null)
  19200. map['TransferUrl'] = transferUrl;
  19201. return map;
  19202. }
  19203. }
  19204. class StatisticDiagnosisDataDTO {
  19205. String? organizationCode;
  19206. DateTime? createTime;
  19207. int totalCount;
  19208. BusinessModuleEnum businessType;
  19209. StatisticDiagnosisDataDTO({
  19210. this.organizationCode,
  19211. this.createTime,
  19212. this.totalCount = 0,
  19213. this.businessType = BusinessModuleEnum.RemoteDiagnosis,
  19214. });
  19215. factory StatisticDiagnosisDataDTO.fromJson(Map<String, dynamic> map) {
  19216. return StatisticDiagnosisDataDTO(
  19217. organizationCode: map['OrganizationCode'],
  19218. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  19219. totalCount: map['TotalCount'],
  19220. businessType: BusinessModuleEnum.values.firstWhere((e) => e.index == map['BusinessType']),
  19221. );
  19222. }
  19223. Map<String, dynamic> toJson() {
  19224. final map = Map<String, dynamic>();
  19225. if(organizationCode != null)
  19226. map['OrganizationCode'] = organizationCode;
  19227. if(createTime != null)
  19228. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  19229. map['TotalCount'] = totalCount;
  19230. map['BusinessType'] = businessType.index;
  19231. return map;
  19232. }
  19233. }
  19234. class StatisticDownloadDTO {
  19235. String? imgUrl;
  19236. String? transferUrl;
  19237. StatisticDownloadDTO({
  19238. this.imgUrl,
  19239. this.transferUrl,
  19240. });
  19241. factory StatisticDownloadDTO.fromJson(Map<String, dynamic> map) {
  19242. return StatisticDownloadDTO(
  19243. imgUrl: map['ImgUrl'],
  19244. transferUrl: map['TransferUrl'],
  19245. );
  19246. }
  19247. Map<String, dynamic> toJson() {
  19248. final map = Map<String, dynamic>();
  19249. if(imgUrl != null)
  19250. map['ImgUrl'] = imgUrl;
  19251. if(transferUrl != null)
  19252. map['TransferUrl'] = transferUrl;
  19253. return map;
  19254. }
  19255. }
  19256. class StatisticMessagesDTO {
  19257. String? content;
  19258. DateTime? time;
  19259. String? transferUrl;
  19260. CMSMessageStatusEnum status;
  19261. StatisticMessagesDTO({
  19262. this.content,
  19263. this.time,
  19264. this.transferUrl,
  19265. this.status = CMSMessageStatusEnum.UnRead,
  19266. });
  19267. factory StatisticMessagesDTO.fromJson(Map<String, dynamic> map) {
  19268. return StatisticMessagesDTO(
  19269. content: map['Content'],
  19270. time: map['Time'] != null ? DateTime.parse(map['Time']) : null,
  19271. transferUrl: map['TransferUrl'],
  19272. status: CMSMessageStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  19273. );
  19274. }
  19275. Map<String, dynamic> toJson() {
  19276. final map = Map<String, dynamic>();
  19277. if(content != null)
  19278. map['Content'] = content;
  19279. if(time != null)
  19280. map['Time'] = JsonRpcUtils.dateFormat(time!);
  19281. if(transferUrl != null)
  19282. map['TransferUrl'] = transferUrl;
  19283. map['Status'] = status.index;
  19284. return map;
  19285. }
  19286. }
  19287. class StatisticMessageInfoDTO extends StatisticMessagesDTO{
  19288. String? userCode;
  19289. String? messageCode;
  19290. StatisticMessageInfoDTO({
  19291. this.userCode,
  19292. this.messageCode,
  19293. String? content,
  19294. DateTime? time,
  19295. String? transferUrl,
  19296. CMSMessageStatusEnum status = CMSMessageStatusEnum.UnRead,
  19297. }) : super(
  19298. content: content,
  19299. time: time,
  19300. transferUrl: transferUrl,
  19301. status: status,
  19302. );
  19303. factory StatisticMessageInfoDTO.fromJson(Map<String, dynamic> map) {
  19304. return StatisticMessageInfoDTO(
  19305. userCode: map['UserCode'],
  19306. messageCode: map['MessageCode'],
  19307. content: map['Content'],
  19308. time: map['Time'] != null ? DateTime.parse(map['Time']) : null,
  19309. transferUrl: map['TransferUrl'],
  19310. status: CMSMessageStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  19311. );
  19312. }
  19313. Map<String, dynamic> toJson() {
  19314. final map = super.toJson();
  19315. if(userCode != null)
  19316. map['UserCode'] = userCode;
  19317. if(messageCode != null)
  19318. map['MessageCode'] = messageCode;
  19319. return map;
  19320. }
  19321. }
  19322. class StatisticMyPendingDTO {
  19323. String? title;
  19324. double rate;
  19325. StatisticMyPendingDTO({
  19326. this.title,
  19327. this.rate = 0,
  19328. });
  19329. factory StatisticMyPendingDTO.fromJson(Map<String, dynamic> map) {
  19330. return StatisticMyPendingDTO(
  19331. title: map['Title'],
  19332. rate: double.parse(map['Rate'].toString()),
  19333. );
  19334. }
  19335. Map<String, dynamic> toJson() {
  19336. final map = Map<String, dynamic>();
  19337. if(title != null)
  19338. map['Title'] = title;
  19339. map['Rate'] = rate;
  19340. return map;
  19341. }
  19342. }
  19343. class StatisticMyStandingDTO {
  19344. String? title;
  19345. int data;
  19346. String? unit;
  19347. String? transferUrl;
  19348. StatisticMyStandingDTO({
  19349. this.title,
  19350. this.data = 0,
  19351. this.unit,
  19352. this.transferUrl,
  19353. });
  19354. factory StatisticMyStandingDTO.fromJson(Map<String, dynamic> map) {
  19355. return StatisticMyStandingDTO(
  19356. title: map['Title'],
  19357. data: map['Data'],
  19358. unit: map['Unit'],
  19359. transferUrl: map['TransferUrl'],
  19360. );
  19361. }
  19362. Map<String, dynamic> toJson() {
  19363. final map = Map<String, dynamic>();
  19364. if(title != null)
  19365. map['Title'] = title;
  19366. map['Data'] = data;
  19367. if(unit != null)
  19368. map['Unit'] = unit;
  19369. if(transferUrl != null)
  19370. map['TransferUrl'] = transferUrl;
  19371. return map;
  19372. }
  19373. }
  19374. class StatisticPlatActivityDTO {
  19375. String? imgUrl;
  19376. String? transferUrl;
  19377. StatisticPlatActivityDTO({
  19378. this.imgUrl,
  19379. this.transferUrl,
  19380. });
  19381. factory StatisticPlatActivityDTO.fromJson(Map<String, dynamic> map) {
  19382. return StatisticPlatActivityDTO(
  19383. imgUrl: map['ImgUrl'],
  19384. transferUrl: map['TransferUrl'],
  19385. );
  19386. }
  19387. Map<String, dynamic> toJson() {
  19388. final map = Map<String, dynamic>();
  19389. if(imgUrl != null)
  19390. map['ImgUrl'] = imgUrl;
  19391. if(transferUrl != null)
  19392. map['TransferUrl'] = transferUrl;
  19393. return map;
  19394. }
  19395. }
  19396. class StatisticRealtimeDataDTO {
  19397. DateTime? createTime;
  19398. String? organizationCode;
  19399. String? organizationName;
  19400. String? doctorCode;
  19401. String? doctorName;
  19402. RecordStatusEnum status;
  19403. StatisticRealtimeDataDTO({
  19404. this.createTime,
  19405. this.organizationCode,
  19406. this.organizationName,
  19407. this.doctorCode,
  19408. this.doctorName,
  19409. this.status = RecordStatusEnum.NotScanned,
  19410. });
  19411. factory StatisticRealtimeDataDTO.fromJson(Map<String, dynamic> map) {
  19412. return StatisticRealtimeDataDTO(
  19413. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  19414. organizationCode: map['OrganizationCode'],
  19415. organizationName: map['OrganizationName'],
  19416. doctorCode: map['DoctorCode'],
  19417. doctorName: map['DoctorName'],
  19418. status: RecordStatusEnum.values.firstWhere((e) => e.index == map['Status']),
  19419. );
  19420. }
  19421. Map<String, dynamic> toJson() {
  19422. final map = Map<String, dynamic>();
  19423. if(createTime != null)
  19424. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  19425. if(organizationCode != null)
  19426. map['OrganizationCode'] = organizationCode;
  19427. if(organizationName != null)
  19428. map['OrganizationName'] = organizationName;
  19429. if(doctorCode != null)
  19430. map['DoctorCode'] = doctorCode;
  19431. if(doctorName != null)
  19432. map['DoctorName'] = doctorName;
  19433. map['Status'] = status.index;
  19434. return map;
  19435. }
  19436. }
  19437. class StatisticSubmittedReportsDTO {
  19438. String? organizationCode;
  19439. String? organizationName;
  19440. int totalCount;
  19441. StatisticSubmittedReportsDTO({
  19442. this.organizationCode,
  19443. this.organizationName,
  19444. this.totalCount = 0,
  19445. });
  19446. factory StatisticSubmittedReportsDTO.fromJson(Map<String, dynamic> map) {
  19447. return StatisticSubmittedReportsDTO(
  19448. organizationCode: map['OrganizationCode'],
  19449. organizationName: map['OrganizationName'],
  19450. totalCount: map['TotalCount'],
  19451. );
  19452. }
  19453. Map<String, dynamic> toJson() {
  19454. final map = Map<String, dynamic>();
  19455. if(organizationCode != null)
  19456. map['OrganizationCode'] = organizationCode;
  19457. if(organizationName != null)
  19458. map['OrganizationName'] = organizationName;
  19459. map['TotalCount'] = totalCount;
  19460. return map;
  19461. }
  19462. }
  19463. class StatisticUpdateCourseDTO {
  19464. String? title;
  19465. String? teacher;
  19466. String? thumbnail;
  19467. String? transferUrl;
  19468. StatisticUpdateCourseDTO({
  19469. this.title,
  19470. this.teacher,
  19471. this.thumbnail,
  19472. this.transferUrl,
  19473. });
  19474. factory StatisticUpdateCourseDTO.fromJson(Map<String, dynamic> map) {
  19475. return StatisticUpdateCourseDTO(
  19476. title: map['Title'],
  19477. teacher: map['Teacher'],
  19478. thumbnail: map['Thumbnail'],
  19479. transferUrl: map['TransferUrl'],
  19480. );
  19481. }
  19482. Map<String, dynamic> toJson() {
  19483. final map = Map<String, dynamic>();
  19484. if(title != null)
  19485. map['Title'] = title;
  19486. if(teacher != null)
  19487. map['Teacher'] = teacher;
  19488. if(thumbnail != null)
  19489. map['Thumbnail'] = thumbnail;
  19490. if(transferUrl != null)
  19491. map['TransferUrl'] = transferUrl;
  19492. return map;
  19493. }
  19494. }
  19495. class BaseFeatureItemDTO extends BaseFeatureItemBaseDTO<BaseFeatureItemDTO>{
  19496. BaseFeatureItemDTO(
  19497. );
  19498. factory BaseFeatureItemDTO.fromJson(Map<String, dynamic> map) {
  19499. return BaseFeatureItemDTO(
  19500. );
  19501. }
  19502. Map<String, dynamic> toJson() {
  19503. final map = super.toJson();
  19504. return map;
  19505. }
  19506. }
  19507. class ArrowCommentItemDTO {
  19508. ArrowOrientation arrowOrientation;
  19509. String? text;
  19510. ArrowCommentItemDTO({
  19511. this.arrowOrientation = ArrowOrientation.Down,
  19512. this.text,
  19513. });
  19514. factory ArrowCommentItemDTO.fromJson(Map<String, dynamic> map) {
  19515. return ArrowCommentItemDTO(
  19516. arrowOrientation: ArrowOrientation.values.firstWhere((e) => e.index == map['ArrowOrientation']),
  19517. text: map['Text'],
  19518. );
  19519. }
  19520. Map<String, dynamic> toJson() {
  19521. final map = Map<String, dynamic>();
  19522. map['ArrowOrientation'] = arrowOrientation.index;
  19523. if(text != null)
  19524. map['Text'] = text;
  19525. return map;
  19526. }
  19527. }
  19528. class UserDefinedCommentsDTO {
  19529. String? userId;
  19530. List<UserDefinedCommentDataDTO >? commentItems;
  19531. UserDefinedCommentsDTO({
  19532. this.userId,
  19533. this.commentItems,
  19534. });
  19535. factory UserDefinedCommentsDTO.fromJson(Map<String, dynamic> map) {
  19536. return UserDefinedCommentsDTO(
  19537. userId: map['UserId'],
  19538. commentItems: map['CommentItems'] != null ? (map['CommentItems'] as List).map((e)=>UserDefinedCommentDataDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  19539. );
  19540. }
  19541. Map<String, dynamic> toJson() {
  19542. final map = Map<String, dynamic>();
  19543. if(userId != null)
  19544. map['UserId'] = userId;
  19545. if(commentItems != null)
  19546. map['CommentItems'] = commentItems;
  19547. return map;
  19548. }
  19549. }
  19550. class FunctionalityInfo {
  19551. String? functionalityName;
  19552. FunctionalityStatusEnum functionalityStatus;
  19553. FunctionalityInfo({
  19554. this.functionalityName,
  19555. this.functionalityStatus = FunctionalityStatusEnum.DemoMode,
  19556. });
  19557. factory FunctionalityInfo.fromJson(Map<String, dynamic> map) {
  19558. return FunctionalityInfo(
  19559. functionalityName: map['FunctionalityName'],
  19560. functionalityStatus: FunctionalityStatusEnum.values.firstWhere((e) => e.index == map['FunctionalityStatus']),
  19561. );
  19562. }
  19563. Map<String, dynamic> toJson() {
  19564. final map = Map<String, dynamic>();
  19565. if(functionalityName != null)
  19566. map['FunctionalityName'] = functionalityName;
  19567. map['FunctionalityStatus'] = functionalityStatus.index;
  19568. return map;
  19569. }
  19570. }
  19571. class AdminStatisticDTO extends BaseDTO{
  19572. String? adminStatisticCode;
  19573. String? name;
  19574. String? description;
  19575. String? intervalSetting;
  19576. bool enabled;
  19577. String? handleClass;
  19578. String? serverHost;
  19579. AdminStatisticDTO({
  19580. this.adminStatisticCode,
  19581. this.name,
  19582. this.description,
  19583. this.intervalSetting,
  19584. this.enabled = false,
  19585. this.handleClass,
  19586. this.serverHost,
  19587. DateTime? createTime,
  19588. DateTime? updateTime,
  19589. }) : super(
  19590. createTime: createTime,
  19591. updateTime: updateTime,
  19592. );
  19593. factory AdminStatisticDTO.fromJson(Map<String, dynamic> map) {
  19594. return AdminStatisticDTO(
  19595. adminStatisticCode: map['AdminStatisticCode'],
  19596. name: map['Name'],
  19597. description: map['Description'],
  19598. intervalSetting: map['IntervalSetting'],
  19599. enabled: map['Enabled'],
  19600. handleClass: map['HandleClass'],
  19601. serverHost: map['ServerHost'],
  19602. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  19603. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  19604. );
  19605. }
  19606. Map<String, dynamic> toJson() {
  19607. final map = super.toJson();
  19608. if(adminStatisticCode != null)
  19609. map['AdminStatisticCode'] = adminStatisticCode;
  19610. if(name != null)
  19611. map['Name'] = name;
  19612. if(description != null)
  19613. map['Description'] = description;
  19614. if(intervalSetting != null)
  19615. map['IntervalSetting'] = intervalSetting;
  19616. map['Enabled'] = enabled;
  19617. if(handleClass != null)
  19618. map['HandleClass'] = handleClass;
  19619. if(serverHost != null)
  19620. map['ServerHost'] = serverHost;
  19621. return map;
  19622. }
  19623. }
  19624. class AdminFeatureItemDTO extends BaseFeatureItemBaseDTO<AdminFeatureItemDTO>{
  19625. AdminFeatureItemDTO(
  19626. );
  19627. factory AdminFeatureItemDTO.fromJson(Map<String, dynamic> map) {
  19628. return AdminFeatureItemDTO(
  19629. );
  19630. }
  19631. Map<String, dynamic> toJson() {
  19632. final map = super.toJson();
  19633. return map;
  19634. }
  19635. }
  19636. class AdminAuthorityGroupDTO extends BaseDTO{
  19637. String? adminGroupCode;
  19638. String? description;
  19639. List<String >? adminCodes;
  19640. List<String >? features;
  19641. String? createAdmin;
  19642. AdminAuthorityGroupDTO({
  19643. this.adminGroupCode,
  19644. this.description,
  19645. this.adminCodes,
  19646. this.features,
  19647. this.createAdmin,
  19648. DateTime? createTime,
  19649. DateTime? updateTime,
  19650. }) : super(
  19651. createTime: createTime,
  19652. updateTime: updateTime,
  19653. );
  19654. factory AdminAuthorityGroupDTO.fromJson(Map<String, dynamic> map) {
  19655. return AdminAuthorityGroupDTO(
  19656. adminGroupCode: map['AdminGroupCode'],
  19657. description: map['Description'],
  19658. adminCodes: map['AdminCodes'] != null ? map['AdminCodes'].cast<String>().toList() : null,
  19659. features: map['Features'] != null ? map['Features'].cast<String>().toList() : null,
  19660. createAdmin: map['CreateAdmin'],
  19661. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  19662. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  19663. );
  19664. }
  19665. Map<String, dynamic> toJson() {
  19666. final map = super.toJson();
  19667. if(adminGroupCode != null)
  19668. map['AdminGroupCode'] = adminGroupCode;
  19669. if(description != null)
  19670. map['Description'] = description;
  19671. if(adminCodes != null)
  19672. map['AdminCodes'] = adminCodes;
  19673. if(features != null)
  19674. map['Features'] = features;
  19675. if(createAdmin != null)
  19676. map['CreateAdmin'] = createAdmin;
  19677. return map;
  19678. }
  19679. }