123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014 |
- package sg
-
- import (
- "archive/zip"
- "bytes"
- "encoding/base64"
- //"github.com/jung-kurt/gofpdf"
-
- //"github.com/tjfoc/gmsm/sm3"
- "math"
-
- "strings"
- //"crypto/x509/pkix"
- "encoding/json"
- "fmt"
-
- "gdyb/controllers"
- "gdyb/enums"
- "gdyb/models"
- "gdyb/service"
- "gdyb/utils"
- "github.com/astaxie/beego"
- "github.com/axgle/mahonia"
- "github.com/go-ole/go-ole/oleutil"
- "github.com/gorilla/websocket"
- "github.com/jinzhu/gorm"
- "github.com/shopspring/decimal"
- "io"
- "io/ioutil"
-
- "math/rand"
- "net/http"
- "net/url"
- "os"
- "path/filepath"
- "regexp"
- "strconv"
-
- "syscall"
- "time"
- "unsafe"
- )
-
- type HisApiController struct {
- controllers.BaseAuthAPIController
- }
-
- func HisManagerApiRegistRouters() {
- //挂号
- beego.Router("/test/net", &HisApiController{}, "get:TestNet")
-
- beego.Router("/api/register/get", &HisApiController{}, "get:GetRegisterInfo")
- //上传就诊信息-上传明细-结算
- beego.Router("/api/upload/get", &HisApiController{}, "get:GetUploadInfo")
- //查询
- beego.Router("/api/settle/query", &HisApiController{}, "get:GetSettleAccounts")
- //对总账
- beego.Router("/api/checkaccount/get", &HisApiController{}, "get:GetCheckAccount")
- //对明细
- beego.Router("/api/checkdetailaccount/get", &HisApiController{}, "get:GetCheckDetailAccount")
- //退费,退明细
- beego.Router("/api/refund/post", &HisApiController{}, "get:Refund")
- //退号
- beego.Router("/api/refundnumber/post", &HisApiController{}, "get:RefundNumber")
- //退明细
- beego.Router("/api/refunddetail/post", &HisApiController{}, "get:RefundDetail")
- //上传就诊信息-上传明细-预结算
- beego.Router("/api/presettle/get", &HisApiController{}, "get:GetPreUploadInfo")
-
- //beego.Router("/api/treatment/check", &HisApiController{}, "get:CheckTreatment")
- beego.Router("/api/org/info", &HisApiController{}, "get:GetOrgInfo")
- beego.Router("/api/readcard", &HisApiController{}, "get:ReadCard")
- beego.Router("/api/310", &HisApiController{}, "get:Check310")
- beego.Router("/api/390", &HisApiController{}, "get:Check390")
- beego.Router("/api/patient/info", &HisApiController{}, "get:GetPatientInfo")
- beego.Router("/api/checkcode/get", &HisApiController{}, "get:GetCheckCode")
- beego.Router("/api/uncheckcode/get", &HisApiController{}, "get:UnCheckCode")
- beego.Router("/api/psn/putonrecord", &HisApiController{}, "get:PsnPutOnRecord")
- beego.Router("/api/psn/unputonrecord", &HisApiController{}, "get:PsnUnPutOnRecord")
- beego.Router("/api/psn/ncds/putonrecord", &HisApiController{}, "get:PsnPutNCDSOnRecord")
- beego.Router("/api/psn/ncds/unputonrecord", &HisApiController{}, "get:PsnPutUnNCDSOnRecord")
- beego.Router("/api/reversal", &HisApiController{}, "get:ReversalData")
- beego.Router("/api/reversal/other", &HisApiController{}, "get:ReversalOtherData")
- beego.Router("/api/settlelist/get", &HisApiController{}, "get:GetSettleList")
- beego.Router("/api/settlelisthosptial/get", &HisApiController{}, "get:GetSettleListHospital")
-
- beego.Router("/api/pwd/check", &HisApiController{}, "get:CheckCardPWD")
- beego.Router("/api/insutype/check", &HisApiController{}, "get:CheckInsutype")
- beego.Router("/api/psn/info", &HisApiController{}, "get:GetPsnNcdsInfo")
- beego.Router("/api/allopatry/refund", &HisApiController{}, "post:RefundAllopatry")
- beego.Router("/api/check", &HisApiController{}, "get:Check")
-
- beego.Router("/90990", &HisApiController{}, "get:CheckCardPWDTwo")
- beego.Router("/9001", &HisApiController{}, "get:Get9001")
-
- //beego.Router("/api/readelecard", &HisApiController{}, "get:ReadEleCard")
-
- beego.Router("/api/3202", &HisApiController{}, "get:Post3202")
- beego.Router("/api/3204a", &HisApiController{}, "get:Post3204a")
-
- beego.Router("/api/3202b", &HisApiController{}, "get:Post3202b")
-
- beego.Router("/api/8404", &HisApiController{}, "get:Post8404")
- beego.Router("/api/3204", &HisApiController{}, "get:Post3204")
-
- beego.Router("/api/1608", &HisApiController{}, "get:Post1608")
-
- beego.Router("/api/5302", &HisApiController{}, "get:Post5302")
-
- beego.Router("/api/3501", &HisApiController{}, "post:Post3501")
-
- beego.Router("/api/readele", &HisApiController{}, "get:ReadEleToken")
-
- beego.Router("/api/2505", &HisApiController{}, "get:Get2505")
-
- beego.Router("/api/4201A", &HisApiController{}, "get:Get4201A")
- beego.Router("/api/4202", &HisApiController{}, "get:Get4202")
- beego.Router("/api/4203", &HisApiController{}, "get:Get4203")
- beego.Router("/api/4205", &HisApiController{}, "get:Get4205")
- beego.Router("/api/4207", &HisApiController{}, "get:Get4207")
- beego.Router("/api/4208", &HisApiController{}, "get:Get4208")
- beego.Router("/api/4209", &HisApiController{}, "get:Get4209")
-
- beego.Router("/api/allopatry/get", &HisApiController{}, "get:GetAllopatry")
- //beego.Router("/api/comfirmallopatry/post", &HisApiController{}, "post:ComfirmAllopatry")
- beego.Router("/api/allopatry/refund", &HisApiController{}, "get:RefundAllopatry")
-
- beego.Router("/api/settle/query/batch", &HisApiController{}, "get:GetBatchSettleAccounts")
-
- beego.Router("/api/bl4201A", &HisApiController{}, "get:GetBL4201A")
-
- beego.Router("/api/bl4201A", &HisApiController{}, "get:GetBL4201A")
-
- beego.Router("/api/CFYLJG001", &HisApiController{}, "get:GetCFYLJG001")
- beego.Router("/api/CFYLJG002", &HisApiController{}, "get:GetCFYLJG002")
- beego.Router("/api/CFYLJG003", &HisApiController{}, "get:GetCFYLJG003")
- beego.Router("/api/CFYLJG004", &HisApiController{}, "get:GetCFYLJG004")
- beego.Router("/api/CFYLJG005", &HisApiController{}, "get:GetCFYLJG005")
- beego.Router("/api/CFYLJG006", &HisApiController{}, "get:GetCFYLJG006")
- beego.Router("/api/CFYLJG007", &HisApiController{}, "get:GetCFYLJG007")
- beego.Router("/api/CFYLJG008", &HisApiController{}, "get:GetCFYLJG008")
- //beego.Router("/api/CFYLJG009", &HisApiController{}, "get:GetCFYLJG009")
- //beego.Router("/api/2205", &HisApiController{}, "get:Get2205")
-
- beego.Router("/api/3260", &HisApiController{}, "get:Get3260")
- beego.Router("/api/3261", &HisApiController{}, "get:Get3261")
- beego.Router("/api/3262", &HisApiController{}, "get:Get3262")
- beego.Router("/api/3263", &HisApiController{}, "get:Get3263")
- beego.Router("/api/3264", &HisApiController{}, "get:Get3264")
- beego.Router("/api/3265", &HisApiController{}, "get:Get3265")
- beego.Router("/api/3266", &HisApiController{}, "get:Get3266")
- beego.Router("/api/3267", &HisApiController{}, "get:Get3267")
- beego.Router("/api/3268", &HisApiController{}, "get:Get3268")
- beego.Router("/api/3269", &HisApiController{}, "get:Get3269")
- beego.Router("/api/3270", &HisApiController{}, "get:Get3270")
- beego.Router("/api/3271", &HisApiController{}, "get:Get3271")
- beego.Router("/api/3272", &HisApiController{}, "get:Get3272")
- beego.Router("/api/3273", &HisApiController{}, "get:Get3273")
- beego.Router("/api/3274", &HisApiController{}, "get:Get3274")
- beego.Router("/api/3275", &HisApiController{}, "get:Get3275")
- beego.Router("/api/3276", &HisApiController{}, "get:Get3276")
- beego.Router("/api/3277", &HisApiController{}, "get:Get3277")
-
- beego.Router("/api/comfirm/upload", &HisApiController{}, "get:Get4102")
-
- beego.Router("/api/batch/check_drug", &HisApiController{}, "get:Drugscheck")
- beego.Router("/api/batch/check_good", &HisApiController{}, "get:Goodcheck")
- beego.Router("/api/batch/check_project", &HisApiController{}, "get:Projectcheck")
-
- beego.Router("/api/querydata", &HisApiController{}, "get:Getquerydata")
- //beego.Router("/api/5267", &HisApiController{}, "get:Get5267")
- //beego.Router("/api/1312a", &HisApiController{}, "get:Get1312a")
-
- //beego.Router("/api/cancledia/get", &HisApiController{}, "get:CancleDia")
- beego.Router("/api/4105", &HisApiController{}, "get:Get4105")
- beego.Router("/api/4104", &HisApiController{}, "get:Get4104")
-
- beego.Router("/api/2406", &HisApiController{}, "get:Get2406")
-
- beego.Router("/api/2503", &HisApiController{}, "get:Get2503")
-
- beego.Router("/api/1318", &HisApiController{}, "get:Get1318")
-
- beego.Router("/api/readelebyface", &HisApiController{}, "get:ReadEleFace")
-
- beego.Router("/api/settlelist/get/batch", &HisApiController{}, "get:GetbatchSettleList")
-
- //库盘和变更
- beego.Router("/api/pc_bg", &HisApiController{}, "get:FJ3501AND3502")
- //删除库盘和变更
- beego.Router("/api/delete_pc_bg", &HisApiController{}, "get:DeletePCandBG")
- beego.Router("/api/delete_xs_bg", &HisApiController{}, "get:DeleteXSandBG")
- //药品变更
- beego.Router("/api/changedrug", &HisApiController{}, "get:ChangeDrug")
-
- beego.Router("/api/changedrug/two", &HisApiController{}, "get:ChangeDrugtwo")
-
- beego.Router("/api/changedrug/three", &HisApiController{}, "get:ChangeDrugthree")
-
- beego.Router("/api/changedrug/ten", &HisApiController{}, "get:ChangeDrugTen")
-
- beego.Router("/api/3508", &HisApiController{}, "get:Get3508")
- beego.Router("/api/3509", &HisApiController{}, "get:Get3509")
- beego.Router("/api/3510", &HisApiController{}, "get:Get3510")
- beego.Router("/api/3511", &HisApiController{}, "get:Get3511")
- beego.Router("/api/3512", &HisApiController{}, "get:Get3512")
- beego.Router("/api/3513", &HisApiController{}, "get:Get3513")
- beego.Router("/api/35081", &HisApiController{}, "get:Get35081")
- beego.Router("/api/35082", &HisApiController{}, "get:Get35082")
-
- beego.Router("/api/changedrug/four", &HisApiController{}, "get:ChangeDrugfour")
- //beego.Router("/api/delete_xs_bg_two", &HisApiController{}, "get:DeleteXSandBGTwo")
- beego.Router("/api/3201", &HisApiController{}, "get:Get3201")
-
- }
- func (c *HisApiController) Get3201() {
- adminUser := c.GetAdminUserInfo()
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
-
- result, _ := service.AHyb3201(932, 0, 571536.19, 543283.9, "2024-10-01", "2024-10-31", "340699", "11", "390", miConfig.OrgName, "王幸子", miConfig.Code, "340399", "340399", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey, miConfig.Cainfo)
-
- var response Response
- if err := json.Unmarshal([]byte(result), &response); err != nil {
- fmt.Println("Error decoding JSON:", err)
- return
- }
-
- }
-
- func (c *HisApiController) TestNet() {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "成功",
- })
- }
-
- func (c *HisApiController) Get3508() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
-
- var struct3508 models.Struct3508
- struct3508.OrgName = miConfig.OrgName
-
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.Begndate = start_time
- struct3508.Enddate = end_time
- result1, result2, _ := service.FJyb3508(struct3508)
- saveLog(result1, result2, "3508", "3508")
-
- var res models.Result3508
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
-
- }
- func (c *HisApiController) Get3509() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
-
- var struct3508 models.Struct3509
- struct3508.OrgName = miConfig.OrgName
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.Begndate = start_time
- struct3508.Enddate = end_time
- result1, result2, _ := service.FJyb3509(struct3508)
- saveLog(result1, result2, "3509", "3509")
-
- var res models.Result3509
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
- }
- func (c *HisApiController) Get3510() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
-
- var struct3508 models.Struct3510
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.OrgName = miConfig.OrgName
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.Begndate = start_time
- struct3508.Enddate = end_time
- result1, result2, _ := service.FJyb3510(struct3508)
- saveLog(result1, result2, "3510", "3510")
-
- var res models.Result3510
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
- }
- func (c *HisApiController) Get3511() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
-
- var struct3508 models.Struct3511
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.OrgName = miConfig.OrgName
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.Begndate = start_time
- struct3508.Enddate = end_time
- result1, result2, _ := service.FJyb3511(struct3508)
- saveLog(result1, result2, "3511", "3511")
-
- var res models.Result3511
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
- }
- func (c *HisApiController) Get3512() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
-
- var struct3508 models.Struct3512
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.OrgName = miConfig.OrgName
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.Begndate = start_time
- struct3508.Enddate = end_time
- result1, result2, _ := service.FJyb3512(struct3508)
- saveLog(result1, result2, "3512", "3512")
-
- var res models.Result3512
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
- }
- func (c *HisApiController) Get3513() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
-
- var struct3508 models.Struct3513
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.OrgName = miConfig.OrgName
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.Begndate = start_time
- struct3508.Enddate = end_time
- result1, result2, _ := service.FJyb3513(struct3508)
- saveLog(result1, result2, "3513", "3513")
-
- var res models.Result3513
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
- }
- func (c *HisApiController) Get35081() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- //start_time := c.GetString("start_time")
- //end_time := c.GetString("end_time")
- page, _ := c.GetInt("page")
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
- var struct3508 models.Struct35081
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.OrgName = miConfig.OrgName
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.PageNum = page
- struct3508.PageSize = 10
- result1, result2, _ := service.FJyb35081(struct3508)
- saveLog(result1, result2, "35081", "35081")
-
- var res models.Result35081
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
-
- }
- func (c *HisApiController) Get35082() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- drug_id, _ := c.GetInt64("id")
- //start_time := c.GetString("start_time")
- //end_time := c.GetString("end_time")
- page, _ := c.GetInt("page")
- adminUser := c.GetAdminUserInfo()
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- drug, _ := service.GetDrugByID(drug_id)
- var struct3508 models.Struct35082
- struct3508.FixmedinsCode = miConfig.Code
-
- struct3508.OrgName = miConfig.OrgName
- struct3508.AccessKey = miConfig.AccessKey
- struct3508.Opter = curRoles.UserName
- struct3508.RequestUrl = miConfig.Url
- struct3508.Url = miConfig.Url
- struct3508.AppId = miConfig.Cainfo
- struct3508.AppSecret = miConfig.AppSecret
- struct3508.Enckey = miConfig.EncKey
- struct3508.SignKey = miConfig.SignKey
- struct3508.SecretKey = miConfig.SecretKey
- struct3508.MedListCodg = drug.MedicalInsuranceNumber
- struct3508.PageNum = page
- struct3508.PageSize = 10
- result1, result2, _ := service.FJyb35082(struct3508)
- saveLog(result1, result2, "35082", "35082")
-
- var res models.Result35082
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
-
- }
- func (c *HisApiController) FJ3501AND3502() {
- ids := c.GetString("ids")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
-
- id_arr := strings.Split(ids, ",")
- drugs, _ := service.GetNewDrugWarehouseInfo(c.GetAdminUserInfo().CurrentOrgId, id_arr)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //库盘
- var errs []string
- for _, drug := range drugs {
- if drug.IsPc == 0 && drug.IsBg == 0 {
- var res2 ResultSix
- var res3 ResultSix
-
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(drug.ID, 10) + "-" + "3501"
- var struct3501 models.Struct3501
- struct3501.Code = miConfig.Code
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.Opter = roles.UserName
- struct3501.RequestUrl = miConfig.Url
- struct3501.Url = miConfig.Url
- struct3501.AppId = miConfig.Cainfo
- struct3501.AppSecret = miConfig.AppSecret
- struct3501.Enckey = miConfig.EncKey
- struct3501.SignKey = miConfig.SignKey
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.MedListCodg = drug.BaseDrugLib.MedicalInsuranceNumber
- struct3501.FixmedinsHilistId = drug.BaseDrugLib.MedicalInsuranceNumber
- struct3501.FixmedinsHilistName = drug.BaseDrugLib.DrugName
- struct3501.RxFlag = "1"
- struct3501.Invdate = time.Unix(drug.Ctime, 0).Format("2006-01-02")
- struct3501.ManuDate = time.Unix(drug.ProductDate, 0).Format("2006-01-02")
-
- struct3501.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3501.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3501.InvCnt = strconv.FormatInt(drug.StockMaxNumber, 10)
- struct3501.ExpyEnd = time.Unix(drug.ExpiryDate, 0).Format("2006-01-02")
- struct3501.FixmedinsBchno = number
- struct3501.DrugTracCodg = drug.DrugCode
- memo := make(map[string]interface{})
- memo["pric"] = drug.Price
- bytesData, _ := json.Marshal(memo)
- struct3501.Memo = string(bytesData)
-
- if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "350") { //福建
-
- result1, result2, _ := service.FJyb3501(struct3501)
- saveLog(result1, result2, "3501", "3501")
- //saveLog(result, requestLog, "2201", "挂号")
-
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "320") { //江苏
- data := make(map[string]interface{})
- data["struct_3501s"] = struct3501
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "340") { //安徽
- data := make(map[string]interface{})
- data["struct_3501s"] = struct3501
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.Url+"ahyb/3501", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "150") { //内蒙
- data := make(map[string]interface{})
- data["struct_3501s"] = struct3501
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.Url+"nmyb/3501", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "440") { //广东
- result1, result2 := service.Gdyb3501(struct3501, struct3501.SecretKey)
- saveLog(result1, result2, "3501", "3501")
- //saveLog(result, requestLog, "2201", "挂号")
-
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res2.Infcode != -1 {
- drug.IsPc = 1
- drug.Bchno = number
- drug.PcDate = time.Now().Unix()
- err := service.SaveW(drug)
- if err == nil {
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(drug.ID, 10) + "-" + "3502"
- var struct3502 models.Struct3502
- struct3502.MedListCodg = drug.BaseDrugLib.MedicalInsuranceNumber
- struct3502.FixmedinsHilistId = drug.BaseDrugLib.MedicalInsuranceNumber
- struct3502.FixmedinsHilistName = drug.BaseDrugLib.DrugName
- struct3502.FixmedinsCode = miConfig.Code
- struct3502.Code = miConfig.Code
-
- struct3502.RxFlag = "0"
- struct3502.InvChgTime = time.Now().Format("2006-01-02")
- struct3502.OrgName = miConfig.OrgName
- struct3502.Opter = roles.UserName
- struct3502.AccessKey = miConfig.AccessKey
- struct3502.RequestUrl = miConfig.Url
- struct3502.SecretKey = miConfig.SecretKey
- struct3502.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3502.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3502.Url = miConfig.Url
- struct3502.AppId = miConfig.Cainfo
- struct3502.AppSecret = miConfig.AppSecret
- struct3502.Enckey = miConfig.EncKey
- struct3502.SignKey = miConfig.SignKey
- struct3502.SecretKey = miConfig.SecretKey
- struct3502.DrugTracCodg = drug.DrugCode
-
- struct3502.Memo = ""
- struct3502.InvChgType = "108"
- struct3502.FixmedinsBchno = bg_number
- struct3502.Cnt = strconv.FormatInt(drug.WarehousingCount, 10)
- struct3502.Pric = fmt.Sprintf("%.2f", drug.BaseDrugLib.RetailPrice)
-
- if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "350") {
- result11, result22, _ := service.FJyb3502(struct3502)
- saveLog(result11, result22, "3502", "3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "320") {
- data := make(map[string]interface{})
- data["struct_3502s"] = struct3502
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res3.InfRefmsgid = resSix10265.InfRefmsgid
- res3.Output = resSix10265.Output
- res3.ErrMsg = resSix10265.ErrMsg
- res3.Cainfo = resSix10265.Cainfo
- res3.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res3.Infcode = infocode
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "150") {
-
- data := make(map[string]interface{})
- data["struct_3502s"] = struct3502
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"nmyb/3502", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res3.InfRefmsgid = resSix10265.InfRefmsgid
- res3.Output = resSix10265.Output
- res3.ErrMsg = resSix10265.ErrMsg
- res3.Cainfo = resSix10265.Cainfo
- res3.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res3.Infcode = infocode
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "340") {
-
- data := make(map[string]interface{})
- data["struct_3501s"] = struct3501
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.Url+"ahyb/3501", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "440") {
- result11, result22 := service.Gdyb3502(struct3502, struct3502.SecretKey)
- saveLog(result11, result22, "3502", "3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- if res3.Infcode == -1 {
- errs = append(errs, "变更"+drug.BaseDrugLib.DrugName+",出错:"+res3.ErrMsg)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3.ErrMsg,
- })
- } else {
- drug.IsBg = 1
- drug.BgBchno = bg_number
- service.SaveW(drug)
- }
- }
- } else {
- errs = append(errs, "盘存"+drug.BaseDrugLib.DrugName+",出错:"+res2.ErrMsg)
- }
- }
- //变更
- if drug.IsPc == 1 && drug.IsBg == 0 {
- var res3 ResultSix
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(drug.ID, 10) + "-" + "3502"
-
- var struct3502 models.Struct3502
- struct3502.MedListCodg = drug.BaseDrugLib.MedicalInsuranceNumber
- struct3502.FixmedinsHilistId = drug.BaseDrugLib.MedicalInsuranceNumber
- struct3502.FixmedinsHilistName = drug.BaseDrugLib.DrugName
- struct3502.FixmedinsCode = miConfig.Code
- struct3502.Code = miConfig.Code
-
- struct3502.Opter = roles.UserName
- struct3502.RxFlag = "0"
- struct3502.InvChgTime = time.Now().Format("2006-01-02")
- struct3502.OrgName = miConfig.OrgName
- struct3502.AccessKey = miConfig.AccessKey
- struct3502.RequestUrl = miConfig.Url
- struct3502.SecretKey = miConfig.SecretKey
- struct3502.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3502.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3502.InvChgType = "108"
- struct3502.DrugTracCodg = drug.DrugCode
-
- struct3502.Url = miConfig.Url
- struct3502.AppId = miConfig.Cainfo
- struct3502.AppSecret = miConfig.AppSecret
- struct3502.Enckey = miConfig.EncKey
- struct3502.SignKey = miConfig.SignKey
- struct3502.SecretKey = miConfig.SecretKey
-
- struct3502.FixmedinsBchno = bg_number
- struct3502.Cnt = strconv.FormatInt(drug.WarehousingCount, 10)
- struct3502.Pric = fmt.Sprintf("%.2f", drug.BaseDrugLib.RetailPrice)
-
- if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "350") {
- result1, result2, _ := service.FJyb3502(struct3502)
- saveLog(result1, result2, "3502", "3502")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result1)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "320") {
- data := make(map[string]interface{})
- data["struct_3502s"] = struct3502
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res3.InfRefmsgid = resSix10265.InfRefmsgid
- res3.Output = resSix10265.Output
- res3.ErrMsg = resSix10265.ErrMsg
- res3.Cainfo = resSix10265.Cainfo
- res3.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res3.Infcode = infocode
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "150") {
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "340") {
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "420") {
-
- }
- if res3.Infcode == -1 {
- errs = append(errs, "变更"+drug.BaseDrugLib.DrugName+",出错:"+res3.ErrMsg)
- } else {
- drug.IsBg = 1
- drug.BgBchno = bg_number
- service.SaveW(drug)
- }
- }
- }
-
- if len(errs) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "盘存变更成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errs,
- })
- }
- }
- func (c *HisApiController) DeletePCandBG() {
- ids := c.GetString("ids")
- id_arr := strings.Split(ids, ",")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
-
- drugs, _ := service.GetNewDrugWarehouseInfo(c.GetAdminUserInfo().CurrentOrgId, id_arr)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var err []string
- for _, item := range drugs {
- if item.IsPc == 1 && item.IsBg == 1 {
- var res FJ3507Result
- var res2 FJ3507Result
-
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.Bchno
- struct3507.InvDataType = "1"
- struct3507.Opter = roles.UserName
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.Code = miConfig.Code
-
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsPc = 0
- err2 := service.SaveW(item)
- if err2 == nil {
-
- var struct3507_2 models.Struct3507
- struct3507_2.OrgName = miConfig.OrgName
- struct3507_2.AccessKey = miConfig.AccessKey
- struct3507_2.RequestUrl = miConfig.Url
- struct3507_2.Opter = roles.UserName
- struct3507_2.FixmedinsCode = miConfig.Code
- struct3507_2.Code = miConfig.Code
-
- struct3507_2.SecretKey = miConfig.SecretKey
- struct3507_2.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507_2.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507_2.Url = miConfig.Url
- struct3507_2.AppId = miConfig.Cainfo
- struct3507_2.AppSecret = miConfig.AppSecret
- struct3507_2.Enckey = miConfig.EncKey
- struct3507_2.SignKey = miConfig.SignKey
- struct3507_2.SecretKey = miConfig.SecretKey
- struct3507_2.FixmedinsBchno = item.BgBchno
- struct3507_2.InvDataType = "2"
- if miConfig.MdtrtareaAdmvs == "350500" {
- result11, result22, _ := service.FJyb3507(struct3507_2)
- saveLog(result11, result22, "3507", "3507")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
-
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507_2
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- //res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- }
-
- if res2.Infcode != -1 {
- item.IsBg = 0
- item.Bchno = ""
- item.BgBchno = ""
- item.PcDate = 0
- service.SaveW(item)
- } else {
- err = append(err, "删除"+item.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
- } else {
- err = append(err, "删除"+item.BaseDrugLib.DrugName+"盘存失败,失败原因:"+res.ErrMsg)
- }
-
- }
- if item.IsPc == 1 && item.IsBg == 0 {
-
- var res FJ3507Result
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.Bchno
- struct3507.InvDataType = "1"
- struct3507.Opter = roles.UserName
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.Code = miConfig.Code
-
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
-
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsPc = 0
- item.Bchno = ""
- item.BgBchno = ""
- item.PcDate = 0
- service.SaveW(item)
- } else {
- err = append(err, "删除"+item.BaseDrugLib.DrugName+"盘存失败,失败原因:"+res.ErrMsg)
- }
- }
-
- if item.IsPc == 0 && item.IsBg == 1 {
-
- var res FJ3507Result
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.BgBchno
- struct3507.InvDataType = "2"
- struct3507.Opter = roles.UserName
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsBg = 0
- item.Bchno = ""
- item.BgBchno = ""
- item.PcDate = 0
- service.SaveW(item)
- } else {
- err = append(err, "删除"+item.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
-
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "删除盘存变更成功",
- })
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
-
- }
-
- }
- func (c *HisApiController) DeleteXSandBG() {
- ids := c.GetString("ids")
- id_arr := strings.Split(ids, ",")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- flows, _ := service.GetNewDrugFlowInfo(c.GetAdminUserInfo().CurrentOrgId, id_arr)
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- var err []string
- for _, item := range flows {
- if item.IsSale == 1 && item.IsChange == 1 {
- var res FJ3507Result
- var res2 FJ3507Result
-
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.Bchno
- struct3507.InvDataType = "4"
- struct3507.Opter = roles.UserName
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
-
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsSale = 0
- item.SaleDate = ""
- item.Bchno = ""
-
- err2 := service.SaveDF(item)
- if err2 == nil {
- var struct3507_2 models.Struct3507
- struct3507_2.OrgName = miConfig.OrgName
- struct3507_2.AccessKey = miConfig.AccessKey
- struct3507_2.RequestUrl = miConfig.Url
- struct3507_2.Opter = roles.UserName
- struct3507_2.FixmedinsCode = miConfig.Code
- struct3507_2.Code = miConfig.Code
-
- struct3507_2.SecretKey = miConfig.SecretKey
- struct3507_2.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507_2.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507_2.Url = miConfig.Url
- struct3507_2.AppId = miConfig.Cainfo
- struct3507_2.AppSecret = miConfig.AppSecret
- struct3507_2.Enckey = miConfig.EncKey
- struct3507_2.SignKey = miConfig.SignKey
- struct3507_2.SecretKey = miConfig.SecretKey
- struct3507_2.FixmedinsBchno = item.BgBchno
- struct3507_2.InvDataType = "2"
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result11, result22, _ := service.FJyb3507(struct3507_2)
- saveLog(result11, result22, "3507", "3507")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
-
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507_2
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
- }
-
- if res2.Infcode == 0 {
- item.IsChange = 0
- item.BgBchno = ""
- service.SaveDF2(item)
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"盘存失败,失败原因:"+res.ErrMsg)
- }
-
- }
- if item.IsSale == 2 && item.IsChange == 1 {
- var res FJ3507Result
- var res2 FJ3507Result
-
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.Bchno
- struct3507.InvDataType = "4"
- struct3507.Opter = roles.UserName
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.Code = miConfig.Code
-
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
- //
- //var respJSON2 map[string]interface{}
- //if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //userJSONBytes2, _ := json.Marshal(respJSON2)
- //if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsSale = 0
- item.SaleDate = ""
- item.Bchno = ""
- err2 := service.SaveDF(item)
- if err2 == nil {
- var struct3507_2 models.Struct3507
- struct3507_2.OrgName = miConfig.OrgName
- struct3507_2.AccessKey = miConfig.AccessKey
- struct3507_2.RequestUrl = miConfig.Url
- struct3507_2.Opter = roles.UserName
- struct3507_2.FixmedinsCode = miConfig.Code
- struct3507_2.Code = miConfig.Code
-
- struct3507_2.SecretKey = miConfig.SecretKey
- struct3507_2.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507_2.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507_2.Url = miConfig.Url
- struct3507_2.AppId = miConfig.Cainfo
- struct3507_2.AppSecret = miConfig.AppSecret
- struct3507_2.Enckey = miConfig.EncKey
- struct3507_2.SignKey = miConfig.SignKey
- struct3507_2.SecretKey = miConfig.SecretKey
- struct3507_2.FixmedinsBchno = item.BgBchno
- struct3507_2.InvDataType = "2"
-
- //result11, result22, _ := service.FJyb3507(struct3507_2)
- //saveLog(result11, result22, "3507", "3507")
- //var respJSON3 map[string]interface{}
- //if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result11, result22, _ := service.FJyb3507(struct3507_2)
- saveLog(result11, result22, "3507", "3507")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
-
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507_2
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
- }
- if res2.Infcode == 0 {
- item.IsChange = 0
- item.BgBchno = ""
- service.SaveDF2(item)
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"盘存失败,失败原因:"+res.ErrMsg)
- }
-
- }
- if item.IsSale == 1 && item.IsChange == 0 {
-
- var res FJ3507Result
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.Bchno
- struct3507.InvDataType = "4"
- struct3507.Opter = roles.UserName
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.Code = miConfig.Code
-
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
- //
- //var respJSON3 map[string]interface{}
- //if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsSale = 0
- item.SaleDate = ""
- service.SaveDF(item)
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
- if item.IsSale == 2 && item.IsChange == 0 {
-
- var res FJ3507Result
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.Bchno
- struct3507.InvDataType = "4"
- struct3507.Opter = roles.UserName
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.Code = miConfig.Code
-
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
- //
- //var respJSON3 map[string]interface{}
- //if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsSale = 0
- item.SaleDate = ""
- item.Bchno = ""
-
- service.SaveDF(item)
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
- if item.IsSale == 0 && item.IsChange == 1 {
-
- var res FJ3507Result
- var struct3507 models.Struct3507
- struct3507.FixmedinsBchno = item.BgBchno
- struct3507.InvDataType = "2"
- struct3507.Opter = roles.UserName
- struct3507.FixmedinsCode = miConfig.Code
- struct3507.Code = miConfig.Code
-
- struct3507.OrgName = miConfig.OrgName
- struct3507.AccessKey = miConfig.AccessKey
- struct3507.RequestUrl = miConfig.Url
- struct3507.SecretKey = miConfig.SecretKey
- struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3507.Url = miConfig.Url
- struct3507.AppId = miConfig.Cainfo
- struct3507.AppSecret = miConfig.AppSecret
- struct3507.Enckey = miConfig.EncKey
- struct3507.SignKey = miConfig.SignKey
- struct3507.SecretKey = miConfig.SecretKey
- //result, result1, _ := service.FJyb3507(struct3507)
- //saveLog(result, result1, "3507", "3507")
- //
- //var respJSON3 map[string]interface{}
- //if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, result1, _ := service.FJyb3507(struct3507)
- saveLog(result, result1, "3507", "3507")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- data := make(map[string]interface{})
- data["struct_3507s"] = struct3507
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsChange = 0
- item.BgBchno = ""
- service.SaveDF2(item)
- } else {
- err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- }
- }
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "删除销售变更成功",
- })
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
-
- }
-
- }
-
- //func (c *HisApiController) DeleteXSandBGTwo() {
- // patient_id, _ := c.GetInt64("patient_id")
- // admin_user_id, _ := c.GetInt64("admin_user_id")
- // //id_arr := strings.Split(ids, ",")
- // times := c.GetString("time", "")
- // timeLayout := "2006-01-02"
- // loc, _ := time.LoadLocation("Local")
- // var stime, etime int64
- // if times == "" {
- // stime, etime = GetNowTime()
- // } else {
- // stmp, _ := time.ParseInLocation(timeLayout+" 15:04:05", times+" 00:00:00", loc)
- // stime = stmp.Unix()
- // etime = stime + 86399
- // }
- // advicelist, _ := service.FindUploadHisAdviceDocAdvice(c.GetAdminUserInfo().CurrentOrgId, patient_id, stime, etime)
- // var flows []*models.DrugFlow
- // for _, item := range advicelist {
- // flow, _ := service.GetNewUploadDrugFlowInfoByPatientTwo(patient_id, item.ID, times, c.GetAdminUserInfo().CurrentOrgId)
- // flows = append(flows, flow...)
- // }
- //
- // //flows, _ := service.GetNewDrugFlowInfo(c.GetAdminUserInfo().CurrentOrgId, id_arr)
- // roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- // miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //
- // var err []string
- // for _, item := range flows {
- // if item.IsSale == 1 && item.IsChange == 1 {
- // var res FJ3507Result
- // var res2 FJ3507Result
- //
- // var struct3507 models.Struct3507
- // struct3507.FixmedinsBchno = item.Bchno
- // struct3507.InvDataType = "4"
- // struct3507.Opter = roles.UserName
- // struct3507.OrgName = miConfig.OrgName
- // struct3507.AccessKey = miConfig.AccessKey
- // struct3507.RequestUrl = miConfig.Url
- // struct3507.FixmedinsCode = miConfig.Code
- // struct3507.SecretKey = miConfig.SecretKey
- // struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507.Url = miConfig.Url
- // struct3507.AppId = miConfig.Cainfo
- // struct3507.AppSecret = miConfig.AppSecret
- // struct3507.Enckey = miConfig.EncKey
- // struct3507.SignKey = miConfig.SignKey
- // struct3507.SecretKey = miConfig.SecretKey
- //
- // //result, result1, _ := service.FJyb3507(struct3507)
- // //saveLog(result, result1, "3507", "3507")
- //
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result, result1, _ := service.FJyb3507(struct3507)
- // saveLog(result, result1, "3507", "3507")
- // var respJSON2 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes2, _ := json.Marshal(respJSON2)
- // if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res.ErrMsg = resSix10265.ErrMsg
- // res.Cainfo = resSix10265.Cainfo
- // res.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // }
- //
- // if res.Infcode == 0 {
- // item.IsSale = 0
- // item.SaleDate = ""
- // item.Bchno = ""
- //
- // err2 := service.SaveDF(item)
- // if err2 == nil {
- // var struct3507_2 models.Struct3507
- // struct3507_2.OrgName = miConfig.OrgName
- // struct3507_2.AccessKey = miConfig.AccessKey
- // struct3507_2.RequestUrl = miConfig.Url
- // struct3507_2.Opter = roles.UserName
- // struct3507_2.FixmedinsCode = miConfig.Code
- // struct3507_2.Code = miConfig.Code
- //
- // struct3507_2.SecretKey = miConfig.SecretKey
- // struct3507_2.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507_2.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507_2.Url = miConfig.Url
- // struct3507_2.AppId = miConfig.Cainfo
- // struct3507_2.AppSecret = miConfig.AppSecret
- // struct3507_2.Enckey = miConfig.EncKey
- // struct3507_2.SignKey = miConfig.SignKey
- // struct3507_2.SecretKey = miConfig.SecretKey
- // struct3507_2.FixmedinsBchno = item.BgBchno
- // struct3507_2.InvDataType = "2"
- //
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result11, result22, _ := service.FJyb3507(struct3507_2)
- // saveLog(result11, result22, "3507", "3507")
- //
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes3, _ := json.Marshal(respJSON3)
- // if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- //
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507_2
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res2.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res2.ErrMsg = resSix10265.ErrMsg
- // res2.Cainfo = resSix10265.Cainfo
- // res2.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res2.Infcode = infocode
- // }
- //
- // if res2.Infcode == 0 {
- // item.IsChange = 0
- // item.BgBchno = ""
- // service.SaveDF2(item)
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- // }
- // }
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"盘存失败,失败原因:"+res.ErrMsg)
- // }
- //
- // }
- // if item.IsSale == 2 && item.IsChange == 1 {
- // var res FJ3507Result
- // var res2 FJ3507Result
- //
- // var struct3507 models.Struct3507
- // struct3507.FixmedinsBchno = item.Bchno
- // struct3507.InvDataType = "4"
- // struct3507.Opter = roles.UserName
- // struct3507.OrgName = miConfig.OrgName
- // struct3507.AccessKey = miConfig.AccessKey
- // struct3507.RequestUrl = miConfig.Url
- // struct3507.FixmedinsCode = miConfig.Code
- // struct3507.Code = miConfig.Code
- //
- // struct3507.SecretKey = miConfig.SecretKey
- // struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507.Url = miConfig.Url
- // struct3507.AppId = miConfig.Cainfo
- // struct3507.AppSecret = miConfig.AppSecret
- // struct3507.Enckey = miConfig.EncKey
- // struct3507.SignKey = miConfig.SignKey
- // struct3507.SecretKey = miConfig.SecretKey
- // //result, result1, _ := service.FJyb3507(struct3507)
- // //saveLog(result, result1, "3507", "3507")
- // //
- // //var respJSON2 map[string]interface{}
- // //if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // //userJSONBytes2, _ := json.Marshal(respJSON2)
- // //if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // // utils.ErrorLog("解析失败:%v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- //
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result, result1, _ := service.FJyb3507(struct3507)
- // saveLog(result, result1, "3507", "3507")
- // var respJSON2 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes2, _ := json.Marshal(respJSON2)
- // if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res.ErrMsg = resSix10265.ErrMsg
- // res.Cainfo = resSix10265.Cainfo
- // res.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // }
- //
- // if res.Infcode == 0 {
- // item.IsSale = 0
- // item.SaleDate = ""
- // item.Bchno = ""
- // err2 := service.SaveDF(item)
- // if err2 == nil {
- // var struct3507_2 models.Struct3507
- // struct3507_2.OrgName = miConfig.OrgName
- // struct3507_2.AccessKey = miConfig.AccessKey
- // struct3507_2.RequestUrl = miConfig.Url
- // struct3507_2.Opter = roles.UserName
- // struct3507_2.FixmedinsCode = miConfig.Code
- // struct3507_2.Code = miConfig.Code
- //
- // struct3507_2.SecretKey = miConfig.SecretKey
- // struct3507_2.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507_2.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507_2.Url = miConfig.Url
- // struct3507_2.AppId = miConfig.Cainfo
- // struct3507_2.AppSecret = miConfig.AppSecret
- // struct3507_2.Enckey = miConfig.EncKey
- // struct3507_2.SignKey = miConfig.SignKey
- // struct3507_2.SecretKey = miConfig.SecretKey
- // struct3507_2.FixmedinsBchno = item.BgBchno
- // struct3507_2.InvDataType = "2"
- //
- // //result11, result22, _ := service.FJyb3507(struct3507_2)
- // //saveLog(result11, result22, "3507", "3507")
- // //var respJSON3 map[string]interface{}
- // //if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- // // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // //userJSONBytes3, _ := json.Marshal(respJSON3)
- // //if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- // // utils.ErrorLog("解析失败:%v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- //
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result11, result22, _ := service.FJyb3507(struct3507_2)
- // saveLog(result11, result22, "3507", "3507")
- //
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result11)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes3, _ := json.Marshal(respJSON3)
- // if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- //
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507_2
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res2.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res2.ErrMsg = resSix10265.ErrMsg
- // res2.Cainfo = resSix10265.Cainfo
- // res2.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res2.Infcode = infocode
- // }
- // if res2.Infcode == 0 {
- // item.IsChange = 0
- // item.BgBchno = ""
- // service.SaveDF2(item)
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- // }
- // }
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"盘存失败,失败原因:"+res.ErrMsg)
- // }
- //
- // }
- // if item.IsSale == 1 && item.IsChange == 0 {
- //
- // var res FJ3507Result
- // var struct3507 models.Struct3507
- // struct3507.FixmedinsBchno = item.Bchno
- // struct3507.InvDataType = "4"
- // struct3507.Opter = roles.UserName
- // struct3507.FixmedinsCode = miConfig.Code
- // struct3507.Code = miConfig.Code
- //
- // struct3507.OrgName = miConfig.OrgName
- // struct3507.AccessKey = miConfig.AccessKey
- // struct3507.RequestUrl = miConfig.Url
- // struct3507.SecretKey = miConfig.SecretKey
- // struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507.Url = miConfig.Url
- // struct3507.AppId = miConfig.Cainfo
- // struct3507.AppSecret = miConfig.AppSecret
- // struct3507.Enckey = miConfig.EncKey
- // struct3507.SignKey = miConfig.SignKey
- // struct3507.SecretKey = miConfig.SecretKey
- // //result, result1, _ := service.FJyb3507(struct3507)
- // //saveLog(result, result1, "3507", "3507")
- // //
- // //var respJSON3 map[string]interface{}
- // //if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // //userJSONBytes3, _ := json.Marshal(respJSON3)
- // //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // // utils.ErrorLog("解析失败:%v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result, result1, _ := service.FJyb3507(struct3507)
- // saveLog(result, result1, "3507", "3507")
- // var respJSON2 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes2, _ := json.Marshal(respJSON2)
- // if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res.ErrMsg = resSix10265.ErrMsg
- // res.Cainfo = resSix10265.Cainfo
- // res.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // }
- //
- // if res.Infcode == 0 {
- // item.IsSale = 0
- // item.SaleDate = ""
- // service.SaveDF(item)
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- // }
- // }
- // if item.IsSale == 2 && item.IsChange == 0 {
- //
- // var res FJ3507Result
- // var struct3507 models.Struct3507
- // struct3507.FixmedinsBchno = item.Bchno
- // struct3507.InvDataType = "4"
- // struct3507.Opter = roles.UserName
- // struct3507.FixmedinsCode = miConfig.Code
- // struct3507.Code = miConfig.Code
- //
- // struct3507.OrgName = miConfig.OrgName
- // struct3507.AccessKey = miConfig.AccessKey
- // struct3507.RequestUrl = miConfig.Url
- // struct3507.SecretKey = miConfig.SecretKey
- // struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507.Url = miConfig.Url
- // struct3507.AppId = miConfig.Cainfo
- // struct3507.AppSecret = miConfig.AppSecret
- // struct3507.Enckey = miConfig.EncKey
- // struct3507.SignKey = miConfig.SignKey
- // struct3507.SecretKey = miConfig.SecretKey
- // //result, result1, _ := service.FJyb3507(struct3507)
- // //saveLog(result, result1, "3507", "3507")
- // //
- // //var respJSON3 map[string]interface{}
- // //if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // //userJSONBytes3, _ := json.Marshal(respJSON3)
- // //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // // utils.ErrorLog("解析失败:%v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result, result1, _ := service.FJyb3507(struct3507)
- // saveLog(result, result1, "3507", "3507")
- // var respJSON2 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes2, _ := json.Marshal(respJSON2)
- // if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res.ErrMsg = resSix10265.ErrMsg
- // res.Cainfo = resSix10265.Cainfo
- // res.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // }
- //
- // if res.Infcode == 0 {
- // item.IsSale = 0
- // item.SaleDate = ""
- // item.Bchno = ""
- //
- // service.SaveDF(item)
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- // }
- // }
- // if item.IsSale == 0 && item.IsChange == 1 {
- //
- // var res FJ3507Result
- // var struct3507 models.Struct3507
- // struct3507.FixmedinsBchno = item.BgBchno
- // struct3507.InvDataType = "2"
- // struct3507.Opter = roles.UserName
- // struct3507.FixmedinsCode = miConfig.Code
- // struct3507.Code = miConfig.Code
- //
- // struct3507.OrgName = miConfig.OrgName
- // struct3507.AccessKey = miConfig.AccessKey
- // struct3507.RequestUrl = miConfig.Url
- // struct3507.SecretKey = miConfig.SecretKey
- // struct3507.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // struct3507.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // struct3507.Url = miConfig.Url
- // struct3507.AppId = miConfig.Cainfo
- // struct3507.AppSecret = miConfig.AppSecret
- // struct3507.Enckey = miConfig.EncKey
- // struct3507.SignKey = miConfig.SignKey
- // struct3507.SecretKey = miConfig.SecretKey
- // //result, result1, _ := service.FJyb3507(struct3507)
- // //saveLog(result, result1, "3507", "3507")
- // //
- // //var respJSON3 map[string]interface{}
- // //if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // //userJSONBytes3, _ := json.Marshal(respJSON3)
- // //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // // utils.ErrorLog("解析失败:%v", err)
- // // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // // return
- // //}
- // if miConfig.MdtrtareaAdmvs == "350500" {
- // result, result1, _ := service.FJyb3507(struct3507)
- // saveLog(result, result1, "3507", "3507")
- // var respJSON2 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes2, _ := json.Marshal(respJSON2)
- // if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // } else {
- // data := make(map[string]interface{})
- // data["struct_3507s"] = struct3507
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // var req *http.Request
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3507", bytes.NewReader(bytesData))
- // }
- //
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var resSix10265 ResultSix10265 //1101结果
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resSix10265.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res.ErrMsg = resSix10265.ErrMsg
- // res.Cainfo = resSix10265.Cainfo
- // res.WarnMsg = resSix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // }
- //
- // if res.Infcode == 0 {
- // item.IsChange = 0
- // item.BgBchno = ""
- // service.SaveDF2(item)
- // } else {
- // err = append(err, "删除"+item.HisDoctorAdviceInfo.BaseDrugLib.DrugName+"变更失败,失败原因:"+res.ErrMsg)
- // }
- // }
- // }
- // if len(err) == 0 {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": "删除销售变更成功",
- // })
- //
- // } else {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "failed_code": -10,
- // "msg": err,
- // })
- //
- // }
- //
- //}
-
- // 获取当天起止时间戳
- func GetNowTime() (int64, int64) {
- t := time.Now()
- addTime := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())
- timesamp := addTime.Unix()
- return timesamp, timesamp + 86399
- }
-
- func (c *HisApiController) ChangeDrugfour() {
- patient_id, _ := c.GetInt64("patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- //id_arr := strings.Split(ids, ",")
- times := c.GetString("time", "")
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- var stime, etime int64
- if times == "" {
- stime, etime = GetNowTime()
- } else {
- stmp, _ := time.ParseInLocation(timeLayout+" 15:04:05", times+" 00:00:00", loc)
- stime = stmp.Unix()
- etime = stime + 86399
- }
- advicelist, _ := service.FindeHisAdviceDocAdvice(c.GetAdminUserInfo().CurrentOrgId, patient_id, stime, etime)
- var flows []*models.DrugFlow
- for _, item := range advicelist {
- flow, _ := service.GetNewDrugFlowInfoByPatient(patient_id, item.ID, stime, c.GetAdminUserInfo().CurrentOrgId)
- flows = append(flows, flow...)
- }
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var err []string
-
- for _, item := range flows {
-
- if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- if prescription.OrderStatus == 2 {
- //已经结算
- //判断是否已经销售
- if item.IsSale == 1 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- //if item.IsChange == 0 { //没变更,进行变更操作
- // bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
- //
- // result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- // saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes3, _ := json.Marshal(respJSON3)
- // if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // if res3.Infcode == 0 {
- // item.IsChange = 1
- // item.BgBchno = bg_number
- // service.SaveDF2(item)
- // } else {
- //
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- // }
- //}
- } else { //没销售,
- var res FJ3507Result
- var res3507for10188 FJ3507ResultFor10188
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
-
- //进行商品销售接口
- result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = res3507for10188.ErrMsg
- res.Cainfo = res3507for10188.Cainfo
- res.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res.Infcode == 0 {
- item.IsSale = 1
- item.Bchno = number
- item.SaleDate = time.Now().Format("2006-01-02")
- service.SaveDF(item)
- //if err5 == nil {
- // if item.IsChange == 0 { //没变更,进行变更操作
- // bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
- //
- // result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- // saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
- //
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- // if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // //if res3507for10188.Infcode
- // res3.InfRefmsgid = res3507for10188.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res3.ErrMsg = res3507for10188.ErrMsg
- // res3.Cainfo = res3507for10188.Cainfo
- // res3.WarnMsg = res3507for10188.WarnMsg
- // infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- // res3.Infcode = infocode
- // } else {
- // if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // }
- // if res3.Infcode == 0 {
- // item.IsChange = 1
- // item.BgBchno = bg_number
- // service.SaveDF2(item)
- // } else {
- //
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- // }
- // }
- //}
- } else {
-
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- }
- }
-
- } else { //还没结,提示用户去结算,并药品追溯上传
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+"还没结算,请结算后,在药品追溯页面上传")
- }
- }
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "销售成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
- }
- }
-
- //func (c *HisApiController) ChangeDrugfour() {
- // patient_id, _ := c.GetInt64("patient_id")
- // admin_user_id, _ := c.GetInt64("admin_user_id")
- // //id_arr := strings.Split(ids, ",")
- // times := c.GetString("time", "")
- // timeLayout := "2006-01-02"
- // loc, _ := time.LoadLocation("Local")
- // var stime, etime int64
- // if times == "" {
- // stime, etime = GetNowTime()
- // } else {
- // stmp, _ := time.ParseInLocation(timeLayout+" 15:04:05", times+" 00:00:00", loc)
- // stime = stmp.Unix()
- // etime = stime + 86399
- // }
- // advicelist, _ := service.FindeHisAdviceDocAdvice(c.GetAdminUserInfo().CurrentOrgId, patient_id, stime, etime)
- // var flows []*models.DrugFlow
- // for _, item := range advicelist {
- // flow, _ := service.GetNewDrugFlowInfoByPatient(patient_id, item.DrugId, times, c.GetAdminUserInfo().CurrentOrgId)
- // flows = append(flows, flow...)
- // }
- // roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- // miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- // var err []string
- //
- // for _, item := range flows {
- // var res3 ResultSix
- // if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- // prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- // if prescription.OrderStatus == 2 {
- // //已经结算
- // //判断是否已经销售
- // if item.IsSale == 1 { //是否已经销售,1是 0否
- // //是否已经变更 1是 0否
- // if item.IsChange == 0 { //没变更,进行变更操作
- // bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
- //
- // result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- // saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes3, _ := json.Marshal(respJSON3)
- // if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // if res3.Infcode == 0 {
- // item.IsChange = 1
- // item.BgBchno = bg_number
- // service.SaveDF2(item)
- // } else {
- //
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- // }
- // }
- // } else { //没销售,
- // var res FJ3507Result
- // var res3507for10188 FJ3507ResultFor10188
- // number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
- //
- // //进行商品销售接口
- // result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- // saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes3, _ := json.Marshal(respJSON3)
- // if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- // if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // //if res3507for10188.Infcode
- // res.InfRefmsgid = res3507for10188.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res.ErrMsg = res3507for10188.ErrMsg
- // res.Cainfo = res3507for10188.Cainfo
- // res.WarnMsg = res3507for10188.WarnMsg
- // infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- // res.Infcode = infocode
- // } else {
- // if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // }
- // if res.Infcode == 0 {
- // item.IsSale = 1
- // item.Bchno = number
- // item.SaleDate = time.Now().Format("2006-01-02")
- //
- // err5 := service.SaveDF(item)
- // if err5 == nil {
- // if item.IsChange == 0 { //没变更,进行变更操作
- // bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
- //
- // result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- // saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
- //
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- // if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // //if res3507for10188.Infcode
- // res3.InfRefmsgid = res3507for10188.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res3.ErrMsg = res3507for10188.ErrMsg
- // res3.Cainfo = res3507for10188.Cainfo
- // res3.WarnMsg = res3507for10188.WarnMsg
- // infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- // res3.Infcode = infocode
- // } else {
- // if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // }
- // if res3.Infcode == 0 {
- // item.IsChange = 1
- // item.BgBchno = bg_number
- // service.SaveDF2(item)
- // } else {
- //
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- // }
- // }
- // }
- // } else {
- //
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- // }
- // }
- //
- // } else { //还没结,提示用户去结算,并药品追溯上传
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+"还没结算,请结算后,在药品追溯页面上传")
- // }
- // }
- // }
- // if len(err) == 0 {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": "销售变更成功",
- // })
- // } else {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "failed_code": -10,
- // "msg": err,
- // })
- // }
- //}
-
- func (c *HisApiController) ChangeDrug() {
- ids := c.GetString("ids")
- id_arr := strings.Split(ids, ",")
- flows, _ := service.GetNewDrugFlowInfo(c.GetAdminUserInfo().CurrentOrgId, id_arr)
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var err []string
- for _, item := range flows {
- var res3 ResultSix
- if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- if prescription.OrderStatus == 2 {
- //已经结算
- //判断是否已经销售
- if item.IsSale == 1 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- var res FJ3507Result
- var res3507for10188 FJ3507ResultFor10188
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
-
- //进行商品销售接口
- result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = res3507for10188.ErrMsg
- res.Cainfo = res3507for10188.Cainfo
- res.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res.Infcode == 0 {
- item.IsSale = 1
- item.Bchno = number
- item.SaleDate = time.Now().Format("2006-01-02")
-
- err5 := service.SaveDF(item)
- if err5 == nil {
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- }
- }
-
- } else { //还没结算
- var res3507for10188 FJ3507ResultFor10188
-
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else if item.ConsumableType == 7 {
- var res3507for10188 FJ3507ResultFor10188
-
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- order := service.GetHisOrderByNumber(prescription.BatchNumber)
- if order.OrderStatus == 2 || order.OrderStatus == 1 { //已经结算
- //判断是否已经销售
- if item.IsSale == 2 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- //进行商品销售退货接口
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3506"
-
- result111, result222 := CancleSaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result111, result222, "3506", "销售退货")
- var res7 FJ3507Result
-
- //进行商品销售接口
- //result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles,number)
- //saveLog(result3, result4, "3506", "自动退库,未销售退货进行销售退货行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result111)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res7.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res7.ErrMsg = res3507for10188.ErrMsg
- res7.Cainfo = res3507for10188.Cainfo
- res7.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res7.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res7); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res7.Infcode == 0 {
- item.IsSale = 2
- item.SaleDate = item.SaleDate
- item.Bchno = number
- service.SaveDF(item)
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res7.ErrMsg)
- }
- }
- } else { //还没结算
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- }
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "销售变更成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
- }
- }
-
- func (c *HisApiController) ChangeDrugtwo() {
-
- //ids := c.GetString("ids")
- //id_arr := strings.Split(ids, ",")
- flows, _ := service.GetNewDrugFlowInfotwo()
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var err []string
- for _, item := range flows {
- var res3 ResultSix
- if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- if prescription.OrderStatus == 2 {
- //已经结算
- //判断是否已经销售
- if item.IsSale == 1 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- var res FJ3507Result
- var res3507for10188 FJ3507ResultFor10188
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
-
- //进行商品销售接口
- result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = res3507for10188.ErrMsg
- res.Cainfo = res3507for10188.Cainfo
- res.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res.Infcode == 0 {
- item.IsSale = 1
- item.Bchno = number
- item.SaleDate = time.Now().Format("2006-01-02")
-
- err5 := service.SaveDF(item)
- if err5 == nil {
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- }
- }
-
- } else { //还没结算
- var res3507for10188 FJ3507ResultFor10188
-
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else if item.ConsumableType == 7 {
- var res3507for10188 FJ3507ResultFor10188
-
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- order := service.GetHisOrderByNumber(prescription.BatchNumber)
- if order.OrderStatus == 2 || order.OrderStatus == 1 { //已经结算
- //判断是否已经销售
- if item.IsSale == 2 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- //进行商品销售退货接口
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3506"
-
- result111, result222 := CancleSaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result111, result222, "3506", "销售退货")
- var res7 FJ3507Result
-
- //进行商品销售接口
- //result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles,number)
- //saveLog(result3, result4, "3506", "自动退库,未销售退货进行销售退货行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result111)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res7.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res7.ErrMsg = res3507for10188.ErrMsg
- res7.Cainfo = res3507for10188.Cainfo
- res7.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res7.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res7); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res7.Infcode == 0 {
- item.IsSale = 2
- item.SaleDate = item.SaleDate
- item.Bchno = number
- service.SaveDF(item)
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res7.ErrMsg)
- }
- }
- } else { //还没结算
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- }
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "销售变更成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
- }
- }
-
- func (c *HisApiController) ChangeDrugthree() {
-
- //ids := c.GetString("ids")
- //id_arr := strings.Split(ids, ",")
- flows, _ := service.GetNewDrugFlowInfothree()
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var err []string
- for _, item := range flows {
- var res3 ResultSix
- if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- if prescription.OrderStatus == 2 {
- //已经结算
- //判断是否已经销售
- if item.IsSale == 1 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- var res FJ3507Result
- var res3507for10188 FJ3507ResultFor10188
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
-
- //进行商品销售接口
- result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = res3507for10188.ErrMsg
- res.Cainfo = res3507for10188.Cainfo
- res.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res.Infcode == 0 {
- item.IsSale = 1
- item.Bchno = number
- item.SaleDate = time.Now().Format("2006-01-02")
-
- err5 := service.SaveDF(item)
- if err5 == nil {
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else if c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
-
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- }
- }
-
- } else { //还没结算
- var res3507for10188 FJ3507ResultFor10188
-
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else if c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
-
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else if item.ConsumableType == 7 {
- var res3507for10188 FJ3507ResultFor10188
-
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- order := service.GetHisOrderByNumber(prescription.BatchNumber)
- if order.OrderStatus == 2 || order.OrderStatus == 1 { //已经结算
- //判断是否已经销售
- if item.IsSale == 2 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- //进行商品销售退货接口
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3506"
-
- result111, result222 := CancleSaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result111, result222, "3506", "销售退货")
- var res7 FJ3507Result
-
- //进行商品销售接口
- //result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles,number)
- //saveLog(result3, result4, "3506", "自动退库,未销售退货进行销售退货行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result111)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res7.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res7.ErrMsg = res3507for10188.ErrMsg
- res7.Cainfo = res3507for10188.Cainfo
- res7.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res7.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res7); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res7.Infcode == 0 {
- item.IsSale = 2
- item.SaleDate = item.SaleDate
- item.Bchno = number
- service.SaveDF(item)
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res7.ErrMsg)
- }
- }
- } else { //还没结算
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- }
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "销售变更成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
- }
- }
-
- func (c *HisApiController) ChangeDrugTen() {
- start_time_str := c.GetString("start_time")
- end_time_str := c.GetString("end_time")
- //ids := c.GetString("ids")
- //id_arr := strings.Split(ids, ",")
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theStartTime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time_str+" 00:00:00", loc)
-
- recordStartTime := theStartTime.Unix()
-
- theEndTime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time_str+" 00:00:00", loc)
-
- recordEndTime := theEndTime.Unix()
-
- //timestamp := int64(1729612800)
- flows, _ := service.GetNewDrugFlowInforTenone(recordStartTime, recordEndTime, c.GetAdminUserInfo().CurrentOrgId)
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var err []string
- for _, item := range flows {
- var res3 ResultSix
- if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- if item.HisDoctorAdviceInfo.PrescriptionId == 0 {
- continue
- }
- if item.HisDoctorAdviceInfo.PrescriptionId == 0 {
- continue
- }
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
-
- if prescription.OrderStatus == 2 {
- //已经结算
- //判断 是否已经销售
- //if item.IsSale == 1 { //是否已经销售,1是 0否
- ////是否已经变更 1是 0否
- //if item.IsChange == 0 { //没变更,进行变更操作
- // bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
- //
- // result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- // saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // userJSONBytes3, _ := json.Marshal(respJSON3)
- // if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // if res3.Infcode == 0 {
- // item.IsChange = 1
- // item.BgBchno = bg_number
- // service.SaveDF2(item)
- // } else {
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- // }
- //}
-
- //} else
- if item.IsSale == 0 { //没销售,
- var res FJ3507Result
- var res3507for10188 FJ3507ResultFor10188
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
-
- //进行商品销售接口
- result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = res3507for10188.ErrMsg
- res.Cainfo = res3507for10188.Cainfo
- res.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res.Infcode == 0 {
- item.IsSale = 1
- item.Bchno = number
- item.SaleDate = time.Now().Format("2006-01-02")
-
- err5 := service.SaveDF(item)
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err5)
- //if err5 == nil {
- //
- // if item.IsChange == 1 { //没变更,进行变更操作
- // bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
- //
- // result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- // saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
- //
- // var respJSON3 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // if c.GetAdminUserInfo().CurrentOrgId == 10188 {
- // if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // //if res3507for10188.Infcode
- // res3.InfRefmsgid = res3507for10188.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res3.ErrMsg = res3507for10188.ErrMsg
- // res3.Cainfo = res3507for10188.Cainfo
- // res3.WarnMsg = res3507for10188.WarnMsg
- // infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- // res3.Infcode = infocode
- // } else if c.GetAdminUserInfo().CurrentOrgId == 10217 {
- // if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // //if res3507for10188.Infcode
- // res3.InfRefmsgid = res3507for10188.InfRefmsgid
- // //res.Output = resSix10265.Output
- // res3.ErrMsg = res3507for10188.ErrMsg
- // res3.Cainfo = res3507for10188.Cainfo
- // res3.WarnMsg = res3507for10188.WarnMsg
- // infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- // res3.Infcode = infocode
- //
- // } else {
- //
- // if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // }
- //
- // if res3.Infcode == 0 {
- // item.IsChange = 1
- // item.BgBchno = bg_number
- // service.SaveDF2(item)
- // return
- // } else {
- // err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- // }
- // }
- //}
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- }
- }
-
- }
- } else if item.ConsumableType == 7 {
- var res3507for10188 FJ3507ResultFor10188
-
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
- order := service.GetHisOrderByNumber(prescription.BatchNumber)
- if order.OrderStatus == 2 || order.OrderStatus == 1 { //已经结算
- //判断是否已经销售
- if item.IsSale == 2 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- //进行商品销售退货接口
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3506"
-
- result111, result222 := CancleSaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles, number)
- saveLog(result111, result222, "3506", "销售退货")
- var res7 FJ3507Result
-
- //进行商品销售接口
- //result3, result4 := SaleStock(c.GetAdminUserInfo().CurrentOrgId, prescription, item, miConfig, "", roles,number)
- //saveLog(result3, result4, "3506", "自动退库,未销售退货进行销售退货行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result111)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res7.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res7.ErrMsg = res3507for10188.ErrMsg
- res7.Cainfo = res3507for10188.Cainfo
- res7.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res7.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res7); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res7.Infcode == 0 {
- item.IsSale = 2
- item.SaleDate = item.SaleDate
- item.Bchno = number
- service.SaveDF(item)
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res7.ErrMsg)
- }
- }
- } else { //还没结算
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "101", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,未销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- }
- }
- if len(err) == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "销售变更成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err,
- })
- }
- }
-
- func ChangeDrugTenone() {
-
- //ids := c.GetString("ids")
- //id_arr := strings.Split(ids, ",")
- now := time.Now()
- timestamp := time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, time.Local).Unix()
- //timestamp := int64(1729612800)
- flows, _ := service.GetNewDrugFlowInforTen(timestamp, 10188)
-
- admin_user_id := int64(2463)
- roles, _ := service.GetAdminUserInfoByID(10188, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(10188)
- var err []string
- for _, item := range flows {
- var res3 ResultSix
- if item.ConsumableType == 3 { //3为自动出库 7为自动退库
- if item.HisDoctorAdviceInfo.PrescriptionId == 0 {
- continue
- }
- if item.HisDoctorAdviceInfo.PrescriptionId == 0 {
- continue
- }
- prescription := service.GetHisPrescriptionByID(item.HisDoctorAdviceInfo.PrescriptionId)
-
- if prescription.OrderStatus == 2 {
- //已经结算
- //判断是否已经销售
- if item.IsSale == 1 { //是否已经销售,1是 0否
- //是否已经变更 1是 0否
- if item.IsChange == 0 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,已经销售,未变更3502")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- } else { //没销售,
- var res FJ3507Result
- var res3507for10188 FJ3507ResultFor10188
- number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3505"
-
- //进行商品销售接口
- result3, result4 := SaleStock(10188, prescription, item, miConfig, "", roles, number)
- saveLog(result3, result4, "3505", "自动出库,未销售进行销售行为,3505")
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes3, _ := json.Marshal(respJSON3)
- {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- return
- }
- //if res3507for10188.Infcode
- res.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res.ErrMsg = res3507for10188.ErrMsg
- res.Cainfo = res3507for10188.Cainfo
- res.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res.Infcode = infocode
- }
-
- if res.Infcode == 0 {
- item.IsSale = 1
- item.Bchno = number
- item.SaleDate = time.Now().Format("2006-01-02")
-
- err5 := service.SaveDF(item)
- if err5 == nil {
-
- if item.IsChange == 1 { //没变更,进行变更操作
- bg_number := strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.FormatInt(item.ID, 10) + "-" + "3502"
-
- result, result2 := ChangeStock(item.Count, item, miConfig, "102", roles, bg_number)
- saveLog(result, result2, "3502", "自动出库,没销售,未变更3502")
-
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- return
- }
-
- {
- if err := json.Unmarshal(userJSONBytes3, &res3507for10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- return
- }
- //if res3507for10188.Infcode
- res3.InfRefmsgid = res3507for10188.InfRefmsgid
- //res.Output = resSix10265.Output
- res3.ErrMsg = res3507for10188.ErrMsg
- res3.Cainfo = res3507for10188.Cainfo
- res3.WarnMsg = res3507for10188.WarnMsg
- infocode, _ := strconv.ParseInt(res3507for10188.Infcode, 10, 64)
- res3.Infcode = infocode
-
- }
-
- if res3.Infcode == 0 {
- item.IsChange = 1
- item.BgBchno = bg_number
- service.SaveDF2(item)
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售变更失败:"+res3.ErrMsg)
- }
- }
- }
- } else {
- err = append(err, item.HisDoctorAdviceInfo.AdviceName+",销售失败:"+res.ErrMsg)
- }
- }
-
- }
- }
-
- }
-
- }
-
- func ChangeStock(count int64, drug *models.DrugFlow, miConfig models.MedicalInsuranceOrgConfig, chgType string, role models.UserAdminRole, number string) (string, string) {
- var struct3502 models.Struct3502
- struct3502.MedListCodg = drug.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- struct3502.FixmedinsHilistId = drug.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- struct3502.FixmedinsHilistName = drug.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- struct3502.FixmedinsCode = miConfig.Code
- struct3502.Code = miConfig.Code
-
- struct3502.DrugTracCodg = drug.HisDoctorAdviceInfo.DrugCode
-
- struct3502.Opter = role.UserName
- struct3502.RxFlag = "1"
- struct3502.InvChgTime = time.Now().Format("2006-01-02")
- struct3502.OrgName = miConfig.OrgName
- struct3502.AccessKey = miConfig.AccessKey
- struct3502.RequestUrl = miConfig.Url
- struct3502.SecretKey = miConfig.SecretKey
- struct3502.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3502.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3502.Url = miConfig.Url
- struct3502.AppId = miConfig.Cainfo
- struct3502.AppSecret = miConfig.AppSecret
- struct3502.Enckey = miConfig.EncKey
- struct3502.SignKey = miConfig.SignKey
- struct3502.SecretKey = miConfig.SecretKey
- struct3502.InvChgType = chgType
- struct3502.FixmedinsBchno = number
- struct3502.Cnt = strconv.FormatInt(count, 10)
- struct3502.Pric = fmt.Sprintf("%.2f", drug.Price)
- //result1, result2, _ := service.FJyb3502(struct3502)
- if miConfig.MdtrtareaAdmvs == "350500" {
- result1, result2, _ := service.FJyb3502(struct3502)
- //saveLog(result1, result2, "3502", "3502")
- return result1, result2
-
- } else if miConfig.MdtrtareaAdmvs == "440100" {
-
- result1, result2 := service.Gzyb3502(struct3502, struct3502.SecretKey)
- return result1, result2
-
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "440") {
- result1, result2 := service.Gdyb3502(struct3502, struct3502.SecretKey)
- return result1, result2
- } else {
- data := make(map[string]interface{})
- data["struct_3502s"] = struct3502
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- }
- //var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- return string(result), ""
-
- }
- }
- func SaleStock(org_id int64, pre models.HisPrescription, drug *models.DrugFlow, miConfig models.MedicalInsuranceOrgConfig, chgType string, role models.UserAdminRole, number string) (string, string) {
- var struct3505 models.Struct3505
- struct3505.MedListCodg = drug.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- struct3505.FixmedinsHilistId = drug.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- struct3505.FixmedinsHilistName = drug.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- struct3505.FixmedinsBchno = number
- struct3505.Opter = role.UserName
-
- struct3505.FixmedinsCode = miConfig.Code
- struct3505.Code = miConfig.Code
-
- roles, _ := service.GetAdminUserInfoByID(org_id, pre.Creator)
- struct3505.PrscDrName = roles.UserName
- if org_id == 10191 {
- struct3505.PharName = "刘水山"
- struct3505.PharPracCertNo = "2015026350260000002611351127"
- }
-
- if org_id == 10188 {
- struct3505.PharName = "李汉清"
- struct3505.PharPracCertNo = "30220200932022010034"
- }
-
- if org_id == 10217 {
- struct3505.PharName = "张敏"
- struct3505.PharPracCertNo = "30220230432090100108"
- }
-
- if org_id == 10318 {
- struct3505.PharName = "邹刘阳"
- struct3505.PharPracCertNo = "210441200001378"
- }
-
- if org_id == 10402 {
- struct3505.PharName = "刘韶健"
- struct3505.PharPracCertNo = "2015026440262015440501001198"
- }
-
- if org_id == 9919 {
- struct3505.PharName = "周君权"
- struct3505.PharPracCertNo = "089644396094401375"
- }
-
- if org_id == 10644 {
- struct3505.PharName = "陈金娣"
- struct3505.PharPracCertNo = "20181441500320100066"
- }
-
- if org_id == 10567 {
- struct3505.PharName = "范小兰"
- struct3505.PharPracCertNo = "0200102079485"
- }
- if org_id == 10721 {
- struct3505.PharName = "孙莉侠"
- struct3505.PharPracCertNo = "060399"
- }
- if org_id == 10726 {
- struct3505.PharName = "彭建福"
- struct3505.PharPracCertNo = "D445281006261"
- }
- order := service.GetHisOrderByNumber(pre.BatchNumber)
- struct3505.SetlId = order.SetlId
- struct3505.MdtrtSn = order.MdtrtId
- struct3505.ManuLotnum = drug.Number
- struct3505.ManuDate = time.Unix(drug.ProductDate, 0).Format("2006-01-02")
- struct3505.ExpyEnd = ""
- struct3505.RxFlag = "1"
- struct3505.TrdnFlag = "1"
- struct3505.RtalDocno = order.Number
- struct3505.PsnCertType = "01"
-
- struct3505.CertNo = order.Certno
- struct3505.PsnNo = order.PsnNo
- struct3505.PsnName = order.PsnName
-
- struct3505.Url = miConfig.Url
- struct3505.AppId = miConfig.Cainfo
- struct3505.AppSecret = miConfig.AppSecret
- struct3505.Enckey = miConfig.EncKey
- struct3505.SignKey = miConfig.SignKey
- struct3505.SecretKey = miConfig.SecretKey
- strValue := fmt.Sprintf("%.2f", drug.HisDoctorAdviceInfo.PrescribingNumber)
- struct3505.SelRetnCnt = strValue
- struct3505.SelRetnTime = time.Unix(drug.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- struct3505.SelRetnOpterName = role.UserName
- if order.IsMedicineInsurance == 1 {
- struct3505.MdtrtSetlType = "1"
- } else {
- struct3505.MdtrtSetlType = "2"
- }
- struct3505.OrgName = miConfig.OrgName
- struct3505.AccessKey = miConfig.AccessKey
- struct3505.RequestUrl = miConfig.Url
- struct3505.SecretKey = miConfig.SecretKey
- struct3505.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3505.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3505.Cainfo = miConfig.Cainfo
- struct3505.DrugTracCodg = drug.HisDoctorAdviceInfo.DrugCode
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result1, result2, _ := service.FJyb3505(struct3505)
- return result1, result2
- } else if miConfig.MdtrtareaAdmvs == "440100" {
- result1, result2 := service.Gzyb3505(struct3505, struct3505.SecretKey)
- return result1, result2
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "440") {
- result1, result2 := service.Gdyb3505(struct3505, struct3505.SecretKey)
- return result1, result2
- } else if strings.HasPrefix(miConfig.MdtrtareaAdmvs[0:3], "361") {
- result1, result2 := service.JXyb3505(struct3505, struct3505.SecretKey, struct3505.AccessKey, struct3505.RequestUrl)
- return result1, result2
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- result1, result2 := service.AHyb3505(struct3505, struct3505.SecretKey, struct3505.RequestUrl)
- return result1, result2
- } else {
- data := make(map[string]interface{})
- data["struct_3505s"] = struct3505
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3505", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3505", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- }
- //var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- return string(result), ""
-
- }
-
- }
- func CancleSaleStock(org_id int64, pre models.HisPrescription, drug *models.DrugFlow, miConfig models.MedicalInsuranceOrgConfig, chgType string, role models.UserAdminRole, number string) (string, string) {
- var struct3506 models.Struct3506
- struct3506.MedListCodg = drug.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- struct3506.FixmedinsHilistId = drug.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- struct3506.FixmedinsHilistName = drug.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- struct3506.FixmedinsCode = miConfig.Code
- struct3506.Code = miConfig.Code
-
- struct3506.FixmedinsBchno = number
- struct3506.Opter = role.UserName
- order := service.GetHisOrderByNumber(pre.BatchNumber)
- struct3506.ManuLotnum = drug.NewDrugWarehouseInfo.Number
- struct3506.ManuDate = time.Unix(drug.ProductDate, 0).Format("2006-01-02")
- struct3506.MdtrtSn = order.MdtrtId
- struct3506.ExpyEnd = ""
- struct3506.RxFlag = "0"
- struct3506.TrdnFlag = "1"
- strValue := fmt.Sprintf("%.2f", drug.HisDoctorAdviceInfo.PrescribingNumber)
- struct3506.SelRetnCnt = strValue
- struct3506.SelRetnTime = time.Unix(drug.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- //roles_two, _ := service.GetAdminUserInfoByID(org_id, order.Creator)
- struct3506.SelRetnOpterName = role.UserName
- struct3506.OrgName = miConfig.OrgName
- struct3506.AccessKey = miConfig.AccessKey
- struct3506.RequestUrl = miConfig.Url
- struct3506.SecretKey = miConfig.SecretKey
- struct3506.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- struct3506.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- struct3506.Url = miConfig.Url
- struct3506.AppId = miConfig.Cainfo
- struct3506.AppSecret = miConfig.AppSecret
- struct3506.Enckey = miConfig.EncKey
- struct3506.SignKey = miConfig.SignKey
- struct3506.SecretKey = miConfig.SecretKey
- struct3506.DrugTracCodg = drug.DrugCode
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- result1, result2, _ := service.FJyb3506(struct3506)
- return result1, result2
- } else {
- data := make(map[string]interface{})
- data["struct_3506s"] = struct3506
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3506", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3506", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- }
- //var resSix10265 ResultSix10265 //1101结果
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- return string(result), ""
- }
- }
-
- func (c *HisApiController) Get1318() {
- adminUser := c.GetAdminUserInfo()
- admin_user_id, _ := c.GetInt64("admin_user_id")
- code := c.GetString("code")
- code = ""
- curRoles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
-
- api := ""
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/1318?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&h_code=" + code
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/1318?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&h_code=" + code
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //var res Result2406
-
- /*respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "result": "",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- */return
- //}
- }
- func (c *HisApiController) Get2503() {
- adminUser := c.GetAdminUserInfo()
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- service.Gxyb2503(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.MdtrtareaAdmvs, miConfig.InsuplcAdmdvs, "", admin_user_id)
-
- }
- func (c *HisApiController) Get2406() {
- id, _ := c.GetInt64("id")
- record_time := c.GetString("record_time")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- diagnosis_id := c.GetString("diagnosis")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- adminUser := c.GetAdminUserInfo()
-
- diagnosis_ids := strings.Split(diagnosis_id, ",")
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- fmt.Println(his_patient_id)
- his, _ := service.GetNewHisPatientInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- //timestamp := time.Now().Unix()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, id, recordDateTime)
- }
-
- var res2 Result2406
- if miConfig.MdtrtareaAdmvs == "341203" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["operator"] = roles.UserName
- data["cert_no"] = his.IdCardNo
- data["org_name"] = miConfig.OrgName
- data["psn_name"] = his.Name
- data["ipt_otp_no"] = his.IptOtpNo
- data["ipt_psn_sp_flag_type"] = "0901"
- data["ipt_psn_sp_flag"] = "1"
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["url"] = miConfig.Url
- utils.ErrorLog("接口返回数据解析JSON失败: %v", data)
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- utils.ErrorLog("接口返回数据解析JSON失败: %v", miConfig.SecretKey)
-
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2406", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["operator"] = roles.UserName
- data["cert_no"] = his.IdCardNo
- data["org_name"] = miConfig.OrgName
- data["psn_name"] = his.Name
- data["ipt_otp_no"] = his.IptOtpNo
- data["ipt_psn_sp_flag_type"] = "0901"
- data["ipt_psn_sp_flag"] = "1"
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["url"] = miConfig.Url
- utils.ErrorLog("接口返回数据解析JSON失败: %v", data)
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- utils.ErrorLog("接口返回数据解析JSON失败: %v", miConfig.SecretKey)
-
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2406", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res2.Infcode != 0 {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res2.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 3,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
- }
- }
-
- func (c *HisApiController) Get4105() {
-
- }
-
- func (c *HisApiController) Post5302() {
- patient_id, _ := c.GetInt64("id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- p, _ := service.GetHisPatientById(patient_id)
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- service.Gxyb5302(p.PsnNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, admin_user_id)
-
- }
-
- func (c *HisApiController) Get4104() {
-
- }
-
- type Output struct {
- CertNo string `json:"certno"`
- PsnName string `json:"psn_name"`
- CardNo string `json:"card_no"`
- InsuplcAdmdvs string `json:"insuplc_admdvs"`
- CardSN string `json:"card_sn"`
- PsnCertType string `json:"psn_cert_type"`
- MdtrtCertNo string `json:"mdtrt_cert_no"`
- MdtrtCertType string `json:"mdtrt_cert_type"`
- QRCode string `json:"qrCode"`
- EcToken string `json:"ecToken"`
- }
- type AHResponse struct {
- Body AHBody `json:"body"`
- Code int `json:"code"`
- CSBCode int `json:"csbCode"`
- Message string `json:"message"`
- RequestID string `json:"requestId"`
- State struct{} `json:"state"`
- }
- type AHBody struct {
- ErrMsg string `json:"err_msg"`
- InfRefMsgID string `json:"inf_refmsgid"`
- InfCode int `json:"infcode"`
- Output struct {
- Result []struct {
- BasMednFlag string `json:"bas_medn_flag"`
- ChldMedcFlag string `json:"chld_medc_flag"`
- ChrgitmLv string `json:"chrgitm_lv"`
- Cnt float64 `json:"cnt"`
- DetItemFeeSumamt float64 `json:"det_item_fee_sumamt"`
- DrtReimFlag string `json:"drt_reim_flag"`
- FeedetlSn string `json:"feedetl_sn"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- HiNegoDrugFlag string `json:"hi_nego_drug_flag"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- ListSpItemFlag string `json:"list_sp_item_flag"`
- LmtUsedFlag string `json:"lmt_used_flag"`
- MedChrgitmType string `json:"med_chrgitm_type"`
- Memo string `json:"memo"`
- OverlmtAmt float64 `json:"overlmt_amt"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- Pric float64 `json:"pric"`
- PricUplmtAmt float64 `json:"pric_uplmt_amt"`
- SelfpayProp float64 `json:"selfpay_prop"`
- } `json:"result"`
- } `json:"output"`
- }
-
- type Response struct {
- Output Output `json:"output"`
- Infcode int `json:"infcode"`
- InfRefMsgID string `json:"inf_refmsgid"`
- RefMsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- ErrMsg string `json:"err_msg"`
- WarnMsg string `json:"warn_msg"`
- SignType string `json:"signtype"`
- CAInfo string `json:"cainfo"`
- }
-
- func (c *HisApiController) Getquerydata() {
- query_type, _ := c.GetInt64("type")
- refd_setl_flag := c.GetString("refd_setl_flag")
- med_type := c.GetString("med_type")
- //admin_user_id,_ := c.GetInt64("admin_user_id")
- cert_no := c.GetString("cert_no")
- psn_no := c.GetString("psn_no")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- page, _ := c.GetInt64("page")
- limit, _ := c.GetInt64("limit")
-
- var bp models.BusinessParams5262
- bp.RefdSetlFlag = refd_setl_flag
- bp.MedType = med_type
- bp.Certno = cert_no
- bp.Psnno = psn_no
- bp.QBegntime = start_time
- bp.QEndtime = end_time
-
- if query_type == 1 { //本地
- Post5262(c, bp, page, limit)
- } else { //异地
- Post5267(c, bp, page, limit)
- }
-
- }
-
- func (c *HisApiController) Drugscheck() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- var queryResult []QueryResult
- drugs, _ := service.GetBatchDrugListtw(adminUser.CurrentOrgId)
- for _, item := range drugs {
- result := QueryResult{
- ID: item.ID,
- Name: item.DrugName,
- Code: item.MedicalInsuranceNumber,
- List_type_code: "101",
- }
- queryResult = append(queryResult, result)
- }
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- //config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- for _, item := range queryResult {
- service.Hnyb3302(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2022-01-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- }
-
- }
- func (c *HisApiController) Goodcheck() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- var queryResult []QueryResult
- goods, _ := service.GetBatchGoodInformationListtwo(adminUser.CurrentOrgId)
-
- for _, item := range goods {
- result := QueryResult{
- ID: item.ID,
- Name: item.GoodName,
- Code: item.SocialSecurityDirectoryCode,
- List_type_code: "301",
- }
- queryResult = append(queryResult, result)
- }
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- //config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- for _, item := range queryResult {
- service.Hnyb3302(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2022-01-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
-
- //service.Hnyb3302(miConfig.OrgName,role.UserName,miConfig.Code,miConfig.InsuplcAdmdvs,miConfig.MdtrtareaAdmvs,miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2022-01-26", "2099-12-31", miConfig.Url,miConfig.AccessKey,miConfig.SecretKey)
- }
-
- }
- func (c *HisApiController) Projectcheck() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- var queryResult []QueryResult
- projects, _ := service.GetBathchMyPorjecgListtwo(adminUser.CurrentOrgId)
- for _, item := range projects {
- result := QueryResult{
- ID: item.ID,
- Name: item.ProjectName,
- Code: item.MedicalCode,
- List_type_code: "201",
- }
- queryResult = append(queryResult, result)
- }
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- //config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- for _, item := range queryResult {
- service.Hnyb3302(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2022-01-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- }
-
- }
-
- //func (c *HisApiController)CancleDia(){
- //
- // id, _ := c.GetInt64("id")
- // record_time := c.GetString("record_time")
- // his_patient_id, _ := c.GetInt64("his_patient_id")
- //
- // admin_user_id, _ := c.GetInt64("admin_user_id")
- //
- // diagnosis_id := c.GetString("diagnosis")
- // sick_type, _ := c.GetInt64("sick_type")
- // reg_type, _ := c.GetInt64("p_type")
- // begin_time := c.GetString("begin_time")
- // acct_used_flag_num, _ := c.GetInt64("acct_used_flag")
- //
- //
- // acct_used_flag := strconv.FormatInt(acct_used_flag_num, 10)
- //
- // fmt.Println(acct_used_flag)
- //
- //
- // timeLayout := "2006-01-02"
- // loc, _ := time.LoadLocation("Local")
- // theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- // if err != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- // return
- // }
- // recordDateTime := theTime.Unix()
- // adminUser := c.GetAdminUserInfo()
- //
- //
- //
- //
- //
- // roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- // his, _ := service.GetNewHisPatientInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- // var patientPrescription models.HisPrescriptionInfo
- // patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- // if patientPrescription.ID == 0 {
- // patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, id, recordDateTime)
- // }
- // //if patientPrescription.Do
- // miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- // department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- //
- // doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- // diagnosis_ids := strings.Split(diagnosis_id, ",")
- //
- // var config []*models.HisXtDiagnoseConfig
- // for _, item := range diagnosis_ids {
- // id, _ := strconv.ParseInt(item, 10, 64)
- // diagnosisConfig, _ := service.FindDiagnoseById(id)
- // config = append(config, &diagnosisConfig)
- // }
- //
- // sickConfig, _ := service.FindSickById(sick_type)
- //
- //
- // data := make(map[string]interface{})
- // client := &http.Client{}
- // data["psn_no"] = his.PsnNo
- // data["mdtrt_id"] = his.Number
- // data["doctor"] = roles.UserName
- // data["department"] = department.Name
- // data["org_name"] = miConfig.OrgName
- // data["med_type"] = strconv.FormatInt(reg_type, 10)
- // data["doctor_id"] = doctor_info.DoctorNumber
- // data["new_doctor_name"] = doctor_info.UserName
- // data["fixmedins_code"] = miConfig.Code
- // data["insuplc_admdvs"] = his.InsuplcAdmdvs
- // data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- // data["secret_key"] = miConfig.SecretKey
- // data["sick_code"] = sickConfig.CountryCode
- // data["sick_name"] = sickConfig.ClassName
- // data["url"] = miConfig.Url
- // data["ak"] = miConfig.AccessKey
- // data["begin_time"] = begin_time
- // data["cainfo"] = miConfig.Cainfo
- // data["is_vaild"] = "0"
- //
- // data["dept"] = strconv.FormatInt(department.ID, 10)
- // data["config"] = config
- // bytesData, _ := json.Marshal(data)
- //
- // var req *http.Request
- // req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/2203C", bytes.NewReader(bytesData))
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // userJSONBytes, _ := json.Marshal(respJSON)
- // fmt.Println("log")
- // fmt.Println(string(userJSONBytes))
- //
- // if err := json.Unmarshal(userJSONBytes, &ressix10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res2.InfRefmsgid = ressix10265.InfRefmsgid
- // res2.Output = ressix10265.Output
- // res2.ErrMsg = ressix10265.ErrMsg
- // res2.Cainfo = ressix10265.Cainfo
- // res2.WarnMsg = ressix10265.WarnMsg
- // infocode, _ := strconv.ParseInt(ressix10265.Infcode, 10, 64)
- // res2.Infcode = infocode
- //
- //}
-
- func (c *HisApiController) Get4102() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- stas_type := c.GetString("stas_type")
-
- order, _ := service.GetHisOrderByIDTwo(order_id)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- if miConfig.MdtrtareaAdmvs == "350500" {
- result, request, _ := service.Fjyb4102(order.PsnNo, order.SetlId, pp, stas_type)
- //result, request := service.Jxyb4103(order.PsnNo,order.SetlId,pp)
- saveLog(result, request, "4102", "清单确认")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- var empty ResultFourteen
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &empty); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if empty.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "确认成功",
- })
- return
- }
-
- } else {
- result, request := service.Jxyb4102(order.PsnNo, order.SetlId, pp, stas_type)
- result2, request2 := service.Jxyb4103(order.PsnNo, order.SetlId, pp)
- result3, request3 := service.Jxyb4105(pp)
-
- saveLog(result, request, "4102", "清单确认")
- saveLog(result2, request2, "4103", "清单确认")
- saveLog(result3, request3, "4105", "清单统计")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- var empty ResultFourteen
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &empty); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if empty.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "确认成功",
- })
- return
- }
-
- }
-
- }
-
- // 对账权限查询
- func (c *HisApiController) Get3260() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var api string
- var res models.JSResult3260
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/3260?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/3260?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "result": res.Output.Data,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3261() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- //month := c.GetString("month")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- times := strings.Split(startTime, "-")
-
- stmt_mon := times[0] + times[1]
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var api string
- var res models.JSResult3261
- //var res10265 Result5301For10265
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/3261?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&month=" + stmt_mon
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/3261?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&month=" + stmt_mon
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "result": res.Output,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
-
- type TempFun struct {
- FundKey string
- FundCode string
- }
-
- func (c *HisApiController) Get3262() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- endTime := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //timeLayout := "2006-01-02"
- //loc, _ := time.LoadLocation("Local")
- //var theStartTIme int64
- //if len(startTime) > 0 {
- // theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", startTime+" 00:00:00", loc)
- // if err != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- // return
- // }
- // theStartTIme = theTime.Unix()
- //}
- //var theEndtTIme int64
- //if len(endTime) > 0 {
- // theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", endTime+" 23:59:59", loc)
- // if err != nil {
- // utils.ErrorLog(err.Error())
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- // return
- // }
- // theEndtTIme = theTime.Unix()
- //}
- datas, _ := service.GetOrderByTimeTen(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId)
- datas_two, _ := service.GetOrderByTimeTentwo(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId)
-
- for _, team := range datas {
- fmt.Println(team.PsnTime)
- for _, team_two := range datas_two {
- fmt.Println(team_two.PsnTime)
- if team.FundKey == team_two.FundKey {
- fmt.Println(team_two.PsnTime)
- team.PsnTime = team.PsnTime + team_two.PsnTime*2
- fmt.Println(team.PsnTime)
-
- }
- }
- }
- fmt.Println("1111")
-
- fmt.Println(datas)
- fmt.Println("1111")
-
- var twos []models.FixMonRecDetailFileInTwo
- for _, team := range datas {
- var two models.FixMonRecDetailFileInTwo
- two.MedType = team.MedType
- two.Insutype = team.Insutype
- two.PsnType = team.PsnType
- two.MedType = team.MedType
- two.FixBlngAdmdvs = "999999"
- two.InsuAdmdvs = "555555"
- two.PsnTime = team.PsnTime
- two.PsnCnt = team.PsnCnt
- two.FundKey = team.FundKey
- ms, _ := strconv.ParseFloat(team.Sumamt, 64)
- fps, _ := strconv.ParseFloat(team.Fund, 64)
- ia, _ := strconv.ParseFloat(team.Amt, 64)
- two.MedfeeSumAmt = ms
- two.InscpAmt = ia
- two.FundPaySumAmt = fps
- twos = append(twos, two)
-
- }
- //startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- times := strings.Split(startTime, "-")
-
- stmt_mon := times[0] + times[1]
- var funs []models.FundDetail
- for _, item := range datas {
- fun, _ := service.GetOrderDetailByTimeTen(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId, item.FundKey)
-
- funs = append(funs, fun...)
- }
-
- var funInfos []models.Fund
- //for _, item := range funs {
- // var rf []models.FundInfo
- // json.Unmarshal([]byte(item.SetlDetail), &rf)
- // for _, subitem := range rf {
- // var fund models.Fund
- // fund.FundCode = subitem.FundPayType
- // fund.FundName = subitem.FundPayTypeName
- // fund.FundAmt = subitem.FundPayAmt
- // fund.FundKey = item.FundKey
- // fund.InsuAdmdvs = "555555"
- // fund.FixBlngAdmdvs = "999999"
- // funInfos = append(funInfos, fund)
- // }
- //}
-
- var tempFuns []TempFun
- for _, funInfo := range funInfos {
- var tempFun TempFun
- tempFun.FundKey = funInfo.FundKey
- tempFun.FundCode = funInfo.FundCode
- tempFuns = append(tempFuns, tempFun)
- }
- tempFuns = RemoveRepeatedFunElement(tempFuns)
- fmt.Println(tempFuns)
-
- var funInfosTwo []models.Fund
- decimal.DivisionPrecision = 2
-
- for _, item := range tempFuns {
- var fund models.Fund
- for _, subItem := range funInfos {
- if item.FundKey == subItem.FundKey && item.FundCode == subItem.FundCode {
- fund.FundKey = subItem.FundKey
- fund.InsuAdmdvs = subItem.InsuAdmdvs
- fund.FixBlngAdmdvs = subItem.FixBlngAdmdvs
- fund.FundName = subItem.FundName
- fund.FundCode = subItem.FundCode
- fund.FundAmt, _ = decimal.NewFromFloat(fund.FundAmt).Add(decimal.NewFromFloat(subItem.FundAmt)).Float64()
-
- }
-
- }
- funInfosTwo = append(funInfosTwo, fund)
- }
- fmt.Println("funInfosTwo")
- fmt.Println(funInfosTwo)
-
- var upld_btch string
- var empty models.JSResultEmpty
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["datas"] = twos
- data["fund"] = funInfosTwo
- fmt.Println(twos)
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
-
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
- fix_fill_date := year + month + day + hour + min + sec
- data["fix_fill_dept"] = miConfig.OrgName
-
- data["fix_fill_psn_id"] = strconv.FormatInt(curRoles.AdminUserId, 10)
- data["fix_fill_psn"] = curRoles.UserName
- data["fix_fill_date"] = fix_fill_date
- data["stmt_loc"] = "2"
- data["setl_mon"] = stmt_mon
- upld_btch = "0"
- data["upld_btch"] = upld_btch
- //fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3262", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3262", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- //fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- //fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &empty); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if empty.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": empty.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
- }
-
- }
- func RemoveRepeatedFunElement(arr []TempFun) (newArr []TempFun) {
- newArr = make([]TempFun, 0)
- for i := 0; i < len(arr); i++ {
- repeat := false
- for j := i + 1; j < len(arr); j++ {
- if arr[i].FundKey == arr[j].FundKey && arr[i].FundCode == arr[j].FundCode {
- repeat = true
- break
- }
- }
- if !repeat {
- newArr = append(newArr, arr[i])
- }
- }
- return
- }
-
- func (c *HisApiController) Get3263() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- upld_btch := "0"
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- var result3263 models.JSResult3263
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["stmt_loc"] = "2"
- data["upld_btch"] = upld_btch
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3263", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3263", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3263); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3263.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3263.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "list": result3263.Output,
- })
- return
- }
- }
- func (c *HisApiController) Get3264() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- upld_btch := "0"
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //solidify_id := []
-
- var result3263 models.JSResult3263
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["stmt_loc"] = "2"
- data["upld_btch"] = upld_btch
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req3263 *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req3263, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3263", bytes.NewReader(bytesData))
- } else {
- req3263, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3263", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req3263)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON3263 map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON3263); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON3263 = respJSON3263["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON3263)
- result, _ := json.Marshal(respJSON3263)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3263); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
-
- var ids []string
- for _, item := range result3263.Output {
- ids = append(ids, item.SolidifyID)
-
- }
-
- var empty models.JSResultEmpty
- data2 := make(map[string]interface{})
- data2["org_name"] = miConfig.OrgName
- data2["doctor"] = curRoles.UserName
- data2["doctor_name"] = curRoles.UserName
- data2["fixmedins_code"] = miConfig.Code
- data2["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data2["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data2["secret_key"] = miConfig.SecretKey
- data2["url"] = miConfig.Url
- data2["ak"] = miConfig.AccessKey
- data2["cainfo"] = miConfig.Cainfo
- data2["setl_mon"] = setl_mon
- data2["stmt_loc"] = "2"
- data2["upld_btch"] = upld_btch
- data2["solidify_id"] = ids
-
- client2 := &http.Client{}
- bytesData2, _ := json.Marshal(data2)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3264", bytes.NewReader(bytesData2))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3264", bytes.NewReader(bytesData2))
- }
- resp2, _ := client2.Do(req)
- defer resp.Body.Close()
- body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- if ioErr2 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body2), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- fmt.Println(respJSON)
- result2, _ := json.Marshal(respJSON)
- fmt.Println(result2)
- if err := json.Unmarshal([]byte(result2), &empty); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if empty.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": empty.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "",
- })
- return
- }
-
- }
- func (c *HisApiController) Get3265() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- var upld_btch string
- upld_btch = "0"
- //var empty models.JSResultEmpty
- var result3265 models.JSResult3264
-
- var result3263 models.JSResult3263
- data2 := make(map[string]interface{})
- data2["org_name"] = miConfig.OrgName
- data2["doctor"] = curRoles.UserName
- data2["doctor_name"] = curRoles.UserName
- data2["fixmedins_code"] = miConfig.Code
- data2["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data2["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data2["secret_key"] = miConfig.SecretKey
- data2["url"] = miConfig.Url
- data2["ak"] = miConfig.AccessKey
- data2["cainfo"] = miConfig.Cainfo
- data2["setl_mon"] = setl_mon
- data2["stmt_loc"] = "2"
- data2["upld_btch"] = upld_btch
-
- client2 := &http.Client{}
- bytesData2, _ := json.Marshal(data2)
- var req3263 *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req3263, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3263", bytes.NewReader(bytesData2))
- } else {
- req3263, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3263", bytes.NewReader(bytesData2))
- }
- resp2, _ := client2.Do(req3263)
- defer resp2.Body.Close()
- body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- if ioErr2 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON3263 map[string]interface{}
- if err := json.Unmarshal([]byte(body2), &respJSON3263); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON3263 = respJSON3263["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON3263)
- result2, _ := json.Marshal(respJSON3263)
- fmt.Println(result2)
- if err := json.Unmarshal([]byte(result2), &result3263); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
-
- var ids []string
- for _, item := range result3263.Output {
- ids = append(ids, item.SolidifyID)
-
- }
-
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["solidify_id"] = ids
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
- fix_fill_date := year + month + day + hour + min + sec
- data["fix_fill_dept"] = miConfig.OrgName
- data["fix_fill_psn_id"] = strconv.FormatInt(curRoles.AdminUserId, 10)
- data["fix_fill_psn"] = curRoles.UserName
- data["fix_fill_date"] = fix_fill_date
- data["stmt_loc"] = "2"
- data["upld_btch"] = upld_btch
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3265", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3265", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3265.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3265.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3265.Output,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3266() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- stmt_mon := times[0] + times[1]
- var upld_btch string
- //var empty models.JSResultEmpty
- var result3265 models.JSResult3264
-
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = stmt_mon
-
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
- fix_fill_date := year + month + day + hour + min + sec
- data["fix_fill_dept"] = miConfig.OrgName
- data["fix_fill_psn_id"] = strconv.FormatInt(curRoles.AdminUserId, 10)
- data["fix_fill_psn"] = curRoles.UserName
- data["fix_fill_date"] = fix_fill_date
- data["stmt_loc"] = "2"
- upld_btch = "0"
- data["upld_btch"] = upld_btch
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3266", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3266", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3265.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3265.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3265.Output,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3267() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- var upld_btch string
- //var empty models.JSResultEmpty
- var result3265 models.JSResult3264
- upld_btch = "0"
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["stmt_loc"] = "2"
- data["upld_btch"] = upld_btch
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3267", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3267", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3265.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3265.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3265.Output.Data,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3268() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- endTime := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
-
- datas, _ := service.GetOrderByTimeTen(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId)
- var twos []models.FixMonRecDetailFileInTwo
-
- var funs []models.FundDetail
- for _, item := range datas {
- fun, _ := service.GetOrderDetailByTimeTen(startTime, endTime, c.GetAdminUserInfo().CurrentOrgId, item.FundKey)
- funs = append(funs, fun...)
- }
-
- var funInfos []models.Fund
- //for _, item := range funs {
- // var rf []models.FundInfo
- // json.Unmarshal([]byte(item.SetlDetail), &rf)
- // for _, subitem := range rf {
- // var fund models.Fund
- // fund.FundCode = subitem.FundPayType
- // fund.FundName = subitem.FundPayTypeName
- // fund.FundAmt = subitem.FundPayAmt
- // fund.FundKey = item.FundKey
- // fund.InsuAdmdvs = "555555"
- // fund.FixBlngAdmdvs = miConfig.MdtrtareaAdmvs
- // funInfos = append(funInfos, fund)
- // }
- //}
- for _, team := range datas {
- var two models.FixMonRecDetailFileInTwo
- two.SetlDate = time.Now().Format("2006-01-02")
- two.MedType = team.MedType
- two.Insutype = team.Insutype
- two.PsnType = team.PsnType
- two.MedType = team.MedType
- two.FixBlngAdmdvs = team.FixBlngAdmdvs
- two.InsuAdmdvs = team.InsuAdmdvs
- two.PsnTime = team.PsnTime
- two.PsnCnt = team.PsnCnt
- two.FundKey = team.FundKey
- ms, _ := strconv.ParseFloat(team.Sumamt, 64)
- fps, _ := strconv.ParseFloat(team.Fund, 64)
- ia, _ := strconv.ParseFloat(team.Amt, 64)
- two.MedfeeSumAmt = ms
- two.InscpAmt = ia
- two.FundPaySumAmt = fps
- twos = append(twos, two)
- }
-
- var upld_btch string
- upld_btch = "0"
- var empty models.JSResultEmpty
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["datas"] = twos
- data["fund"] = funInfos
- data["setl_mon"] = setl_mon
-
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
-
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
- fix_fill_date := year + month + day + hour + min + sec
-
- data["fix_fill_dept"] = miConfig.OrgName
- data["fix_fill_psn_id"] = strconv.FormatInt(curRoles.AdminUserId, 10)
- data["fix_fill_psn"] = curRoles.UserName
- data["fix_fill_date"] = fix_fill_date
- data["stmt_loc"] = "2"
-
- data["upld_btch"] = upld_btch
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3268", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3268", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &empty); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if empty.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": empty.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
- }
-
- }
- func (c *HisApiController) Get3269() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- var result3263 models.JSResult3263
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["stmt_loc"] = "2"
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3269", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3269", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3263); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3263.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3263.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
- }
- }
- func (c *HisApiController) Get3270() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- var result3263 models.JSResult3263
- data2 := make(map[string]interface{})
- data2["org_name"] = miConfig.OrgName
- data2["doctor"] = curRoles.UserName
- data2["doctor_name"] = curRoles.UserName
- data2["fixmedins_code"] = miConfig.Code
- data2["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data2["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data2["secret_key"] = miConfig.SecretKey
- data2["url"] = miConfig.Url
- data2["ak"] = miConfig.AccessKey
- data2["cainfo"] = miConfig.Cainfo
- data2["setl_mon"] = setl_mon
- data2["stmt_loc"] = "2"
-
- client2 := &http.Client{}
- bytesData2, _ := json.Marshal(data2)
- var req3263 *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req3263, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3269", bytes.NewReader(bytesData2))
- } else {
- req3263, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3269", bytes.NewReader(bytesData2))
- }
- resp2, _ := client2.Do(req3263)
- defer resp2.Body.Close()
- body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- if ioErr2 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON3263 map[string]interface{}
- if err := json.Unmarshal([]byte(body2), &respJSON3263); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON3263 = respJSON3263["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON3263)
- result2, _ := json.Marshal(respJSON3263)
- fmt.Println(result2)
- if err := json.Unmarshal([]byte(result2), &result3263); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
-
- var ids []string
- for _, item := range result3263.Output {
- ids = append(ids, item.SolidifyID)
-
- }
-
- var result3264 models.JSResult3264
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["stmt_loc"] = "2"
- data["solidify_id"] = ids
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3270", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3270", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3264); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3264.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3264.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3264.Output,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3271() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- //var empty models.JSResultEmpty
- var result3265 models.JSResult3264
-
- var result3263 models.JSResult3263
- data2 := make(map[string]interface{})
- data2["org_name"] = miConfig.OrgName
- data2["doctor"] = curRoles.UserName
- data2["doctor_name"] = curRoles.UserName
- data2["fixmedins_code"] = miConfig.Code
- data2["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data2["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data2["secret_key"] = miConfig.SecretKey
- data2["url"] = miConfig.Url
- data2["ak"] = miConfig.AccessKey
- data2["cainfo"] = miConfig.Cainfo
- data2["setl_mon"] = setl_mon
- data2["stmt_loc"] = "2"
-
- client2 := &http.Client{}
- bytesData2, _ := json.Marshal(data2)
- var req3263 *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req3263, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3269", bytes.NewReader(bytesData2))
- } else {
- req3263, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3269", bytes.NewReader(bytesData2))
- }
- resp2, _ := client2.Do(req3263)
- defer resp2.Body.Close()
- body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- if ioErr2 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON3263 map[string]interface{}
- if err := json.Unmarshal([]byte(body2), &respJSON3263); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON3263 = respJSON3263["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON3263)
- result2, _ := json.Marshal(respJSON3263)
- fmt.Println(result2)
- if err := json.Unmarshal([]byte(result2), &result3263); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
-
- var ids []string
- for _, item := range result3263.Output {
- ids = append(ids, item.SolidifyID)
-
- }
-
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["solidify_id"] = ids
-
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
- fix_fill_date := year + month + day + hour + min + sec
- data["fix_fill_dept"] = miConfig.OrgName
- data["fix_fill_psn_id"] = strconv.FormatInt(curRoles.AdminUserId, 10)
- data["fix_fill_psn"] = curRoles.UserName
- data["fix_fill_date"] = fix_fill_date
- data["stmt_loc"] = "2"
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3271", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3271", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3265.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3265.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3265.Output.Data,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3272() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- var upld_btch string
- //var empty models.JSResultEmpty
- var result3265 models.JSResult3264
-
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
-
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
- fix_fill_date := year + month + day + hour + min + sec
- data["fix_fill_dept"] = miConfig.OrgName
- data["fix_fill_psn_id"] = strconv.FormatInt(curRoles.AdminUserId, 10)
- data["fix_fill_psn"] = curRoles.UserName
- data["fix_fill_date"] = fix_fill_date
- data["stmt_loc"] = "2"
- data["upld_btch"] = upld_btch
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3272", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3272", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3265.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3265.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3265.Output,
- })
- return
- }
-
- }
- func (c *HisApiController) Get3273() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- startTime := c.GetString("start_time")
- //endTime, _ := c.GetString("end_time")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- times := strings.Split(startTime, "-")
-
- setl_mon := times[0] + times[1]
- var result3265 models.JSResult3264
-
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = curRoles.UserName
- data["doctor_name"] = curRoles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- data["setl_mon"] = setl_mon
- data["stmt_loc"] = "2"
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3273", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3273", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &result3265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- if result3265.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3265.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": result3265.Output.Data,
- })
- return
- }
- }
- func (c *HisApiController) Get3274() {
- //if miConfig.MdtrtareaAdmvs == "320921" {
- // api = "http://192.168.2.3:9532/" + "jsyb/3274?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
- //
- //} else {
- // api = "http://192.168.5.251:9532/" + "jsyb/3274?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
- //
- //}
-
- }
- func (c *HisApiController) Get3275() {
- //if miConfig.MdtrtareaAdmvs == "320921" {
- // api = "http://192.168.2.3:9532/" + "jsyb/3275?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
- //
- //} else {
- // api = "http://192.168.5.251:9532/" + "jsyb/3275?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
- //
- //}
-
- }
- func (c *HisApiController) Get3276() {
- //admin_user_id, _ := c.GetInt64("admin_user_id")
- //month := c.GetString("month")
- //
- //curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- //miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //var api string
- //var res Result5301
- //
- //if miConfig.MdtrtareaAdmvs == "320921" {
- // api = "http://192.168.2.3:9532/" + "jsyb/3276?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&month=" + month
- //} else {
- // api = "http://192.168.5.251:9532/" + "jsyb/3264?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&month=" + month
- //}
- //
- //resp, requestErr := http.Get(api)
- //if requestErr != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //body, ioErr := ioutil.ReadAll(resp.Body)
- //if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //var respJSON map[string]interface{}
- //if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- //result, _ := json.Marshal(respJSON)
- //if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- }
- func (c *HisApiController) Get3277() {
- //admin_user_id, _ := c.GetInt64("admin_user_id")
- //month := c.GetString("month")
- //
- //curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- //miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //var api string
- //var res Result5301
- //
- //if miConfig.MdtrtareaAdmvs == "320921" {
- // api = "http://192.168.2.3:9532/" + "jsyb/3264?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&month=" + month
- //} else {
- // api = "http://192.168.5.251:9532/" + "jsyb/3264?" + "org_name=" + miConfig.OrgName + "&doctor=" + curRoles.UserName + "&doctor_name=" + curRoles.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.MdtrtareaAdmvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&month=" + month
- //}
- //
- //resp, requestErr := http.Get(api)
- //if requestErr != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //body, ioErr := ioutil.ReadAll(resp.Body)
- //if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //var respJSON map[string]interface{}
- //if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- //result, _ := json.Marshal(respJSON)
- //if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- }
-
- func (c *HisApiController) GetCFYLJG001() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- patient_id, _ := c.GetInt64("patient_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- record_time := c.GetString("record_time")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- psn, _ := service.GetPsnByPatientId(patient_id)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var cFYLJG001 models.CFYLJG001
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- prescriptions, _ := service.GetHisPrescriptionForMedType(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- info, _ := service.FindLastPatientPrescriptionInfoTwo(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
-
- //info, _ := service.FindLastPatientPrescriptionInfoTwo(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- doctor_info, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, info.DoctorId)
-
- //dept, _ := service.GetDepartMentDetail(info.Departments)
-
- for _, item := range prescriptions {
- doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, item.Creator)
- if his.IdCardType == 1 {
- bas := strings.Split(psn.CardInfo, "|")
- basNumber := bas[1]
- fmt.Println(basNumber)
- card_sn := bas[3]
- card_no := bas[2]
- cFYLJG001.MdtrtCertType = "03"
- cFYLJG001.CardSn = card_sn
- cFYLJG001.MdtrtCertNo = card_no
- cFYLJG001.EcToken = ""
- cFYLJG001.AuthNo = ""
- } else if his.IdCardType == 2 {
- cFYLJG001.MdtrtCertType = "02"
- cFYLJG001.CardSn = ""
- cFYLJG001.MdtrtCertNo = his.IdCardNo
- cFYLJG001.EcToken = ""
- cFYLJG001.AuthNo = ""
- } else if his.IdCardType == 4 {
- cFYLJG001.MdtrtCertType = "01"
- cFYLJG001.CardSn = ""
- cFYLJG001.MdtrtCertNo = psn.VerifyNumber
- cFYLJG001.EcToken = psn.VerifyNumber
- cFYLJG001.AuthNo = ""
- }
- cFYLJG001.BizTypeCode = "01"
- cFYLJG001.InsuAdmdvs = psn.InsuplcAdmdvs
- cFYLJG001.HospRxno = strconv.FormatInt(item.ID, 10)
- cFYLJG001.RxTypeCode = "1"
- tempTime := time.Unix(item.PreTime, 0)
- timeFormatOne := tempTime.Format("2006-01-02 15:04:05")
- cFYLJG001.PrscTime = timeFormatOne
- var count float64
- if item.Type == 1 {
- for _, sumItem := range item.HisDoctorAdviceInfo {
- count = count + sumItem.PrescribingNumber
- }
- }
- cFYLJG001.RxDrugCnt = count
- cFYLJG001.ValiDays = "5"
- ts := time.Unix(item.PreTime, 0)
- record_time2 := ts.AddDate(0, 0, int(5)).Unix()
- tempTime3 := time.Unix(record_time2, 0)
- timeFormat3 := tempTime3.Format("2006-01-02 15:04:05")
- cFYLJG001.ValiEndTime = timeFormat3
- cFYLJG001.RxCotnFlag = "0"
- for _, subItem := range item.HisDoctorAdviceInfo {
- var drug models.RxDrug
- drug.MedListCodg = subItem.BaseDrugLib.MedicalInsuranceNumber
- drug.MedinsListCodg = subItem.BaseDrugLib.MedicalInsuranceNumber
- drug.RxItemTypeCode = "11"
-
- drug.DrugDosform = "乳膏剂" //TODO
- if subItem.BaseDrugLib.MinUnit != subItem.BaseDrugLib.DoseUnit {
- drug.DrugSpec = subItem.BaseDrugLib.Dose + subItem.BaseDrugLib.DoseUnit + "*" + strconv.FormatInt(subItem.BaseDrugLib.MinNumber, 10) + subItem.BaseDrugLib.MinUnit + "/" + subItem.BaseDrugLib.MaxUnit
- }
-
- drug.MedcWayDscr = subItem.DeliveryWay
-
- tempTime2 := time.Unix(subItem.StartTime, 0)
- timeFormatTwo := tempTime2.Format("2006-01-02 15:04:05")
- drug.MedcBegntime = timeFormatTwo
- if subItem.Day > 0 {
- ts := time.Unix(subItem.StartTime, 0)
- record_time := ts.AddDate(0, 0, int(subItem.Day)).Unix()
- tempTime4 := time.Unix(record_time, 0)
- timeFormat5 := tempTime4.Format("2006-01-02 15:04:05")
- drug.MedcEndtime = timeFormat5
- } else {
- tempTime2 := time.Unix(subItem.StartTime, 0)
- timeFormatTwo := tempTime2.Format("2006-01-02 15:04:05")
- drug.MedcEndtime = timeFormatTwo
- }
-
- drug.MedcDays = strconv.FormatInt(subItem.Day, 10)
- drug.DrugPric = fmt.Sprintf("%.2f", subItem.Price)
- drug.DrugSumamt = fmt.Sprintf("%.2f", subItem.Price*subItem.PrescribingNumber)
- drug.DrugCnt = subItem.PrescribingNumber
- drug.DrugDosunt = subItem.PrescribingNumberUnit
- drug.DrugGenname = subItem.AdviceName
- drug.MedcWayCodg = subItem.DeliveryWay
- //drug.DrugTotlcnt = subItem.PrescribingNumber
- drug.SinDoscnt = subItem.SingleDose
- drug.SinDosunt = subItem.SingleDoseUnit
- drug.UsedFrquCodg = strconv.FormatInt(subItem.ID, 10)
- drug.UsedFrquName = subItem.ExecutionFrequency
- drug.DrugTotlcnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- drug.DrugTotlcntEmp = subItem.PrescribingNumberUnit
- drug.HospApprFlag = "1"
- cFYLJG001.List = append(cFYLJG001.List, drug)
- }
- cFYLJG001.Mdtrtinfo.FixmedinsCode = miConfig.Code
- cFYLJG001.Mdtrtinfo.FixmedinsName = miConfig.Code
- cFYLJG001.Mdtrtinfo.MdtrtID = his.Number
- cFYLJG001.Mdtrtinfo.MedType = item.MedType
- cFYLJG001.Mdtrtinfo.IptOtpNo = his.IptOtpNo
- cFYLJG001.Mdtrtinfo.OtpIptFlag = "1"
- cFYLJG001.Mdtrtinfo.PsnNo = his.PsnNo
- cFYLJG001.Mdtrtinfo.PatnName = his.PsnName
- cFYLJG001.Mdtrtinfo.Certno = his.IdCardNo
- cFYLJG001.Mdtrtinfo.PsnCertType = "01"
- cFYLJG001.Mdtrtinfo.PatnAge = fmt.Sprintf("%.1f", his.Age)
- cFYLJG001.Mdtrtinfo.PatnHgt = "160" //todo
- cFYLJG001.Mdtrtinfo.PatnWt = "58" //todo
- cFYLJG001.Mdtrtinfo.Gend = his.Gend
- cFYLJG001.Mdtrtinfo.PatnAge = fmt.Sprintf("%.1f", his.Age)
- cFYLJG001.Mdtrtinfo.PrscDeptName = "肾内科"
- cFYLJG001.Mdtrtinfo.PrscDeptCode = "A03.06"
- cFYLJG001.Mdtrtinfo.DrCode = doctor.DoctorNumber
- cFYLJG001.Mdtrtinfo.PrscDrName = doctor.UserName
- cFYLJG001.Mdtrtinfo.DrProfttlCodg = "234"
- cFYLJG001.Mdtrtinfo.DrProfttlName = "医师"
- cFYLJG001.Mdtrtinfo.DrDeptCode = "A03.06"
- cFYLJG001.Mdtrtinfo.DrDeptName = "肾内科"
- cFYLJG001.Mdtrtinfo.Caty = "A03.06"
- tempTime2 := time.Now().Unix()
- tempTime6 := time.Unix(tempTime2, 0)
- timeFormatTwo := tempTime6.Format("2006-01-02 15:04:05")
- cFYLJG001.Mdtrtinfo.MdtrtTime = timeFormatTwo
- cFYLJG001.Mdtrtinfo.DiseCodg = "M07803"
- cFYLJG001.Mdtrtinfo.SpDiseFlag = "1"
- cFYLJG001.Mdtrtinfo.MaindiagCode = "N18.500"
- cFYLJG001.Mdtrtinfo.MaindiagName = "慢性肾脏病5期"
-
- //memo := make(map[string]interface{})
- //inputData := make(map[string]interface{}, 0)
-
- //type MyData struct {
- // Insutype string `json:"insutype"`
- //}
- //
- // data := MyData{
- // Insutype: his.Insutype,
- //}
- //
-
- diagnosis_ids := strings.Split(info.Diagnosis, ",")
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
- for index, subitem := range config {
- if index == 0 {
- var dia models.DiseInfo
- dia.DiagType = "1"
- dia.MaindiagFlag = "1"
- dia.DiagSrtNo = strconv.FormatInt(int64(index+1), 10)
- dia.DiagCode = subitem.CountryCode
- dia.DiagName = subitem.ClassName
- dia.DiagDept = "肾内科"
- dia.DiagDrNo = doctor.DoctorNumber
- dia.DiagDrName = doctor.UserName
- tempTime3 := time.Unix(item.PreTime, 0)
- timeFormatTwo := tempTime3.Format("2006-01-02 15:04:05")
- dia.DiagTime = timeFormatTwo
- cFYLJG001.Diseinfo = append(cFYLJG001.Diseinfo, dia)
- } else {
- var dia models.DiseInfo
- dia.DiagType = "1"
- dia.MaindiagFlag = "0"
- dia.DiagSrtNo = strconv.FormatInt(int64(index+1), 10)
- dia.DiagCode = subitem.CountryCode
- dia.DiagName = subitem.ClassName
- dia.DiagDept = "肾内科"
- dia.DiagDrNo = doctor.DoctorNumber
- dia.DiagDrName = doctor.UserName
- tempTime3 := time.Unix(item.PreTime, 0)
- timeFormatTwo := tempTime3.Format("2006-01-02 15:04:05")
- dia.DiagTime = timeFormatTwo
- cFYLJG001.Diseinfo = append(cFYLJG001.Diseinfo, dia)
- }
- }
- result, request := service.GetCFYLJG001(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG001, his.Insutype)
-
- saveLog(result, request, "GetCFYLJG001", "GetCFYLJG001")
-
- var res ResultCFYLJG001
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
-
- } else {
- var flow models.HisPrescriptionFlow
- flow.Ctime = time.Now().Unix()
- flow.SignDigest = ""
- flow.RxTraceCode = res.Output.RxTraceCode
- flow.HiRxno = res.Output.HiRxno
- flow.MID = his.Number
- flow.Status = 1
- flow.DCode = doctor_info.DoctorNumber
- flow.OriginalRxFile = ""
- flow.OriginalValue = ""
- flow.SignCertDn = ""
- flow.UserOrgId = 10454
- flow.SignCertSn = ""
- flow.Mtime = time.Now().Unix()
-
- service.Createflow(&flow)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- }
- }
- }
- func (c *HisApiController) GetCFYLJG002() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- record_time := c.GetString("record_time")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- //id, _ := c.GetInt64("id")
- admin_user_id = 3626
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- flow, _ := service.Getflowtwo(his.Number)
- //his, _ := service.GetHisPatientByNumber(flow.MID)
- //record_time := c.GetString("record_time")
- patient_id, _ := c.GetInt64("patient_id")
- //patient_id = 23834
- //record_time = "2023-09-18"
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- //prescriptions, _ := service.GetHisPrescriptionForMedType(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- info, _ := service.FindLastPatientPrescriptionInfoTwo(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- doctor_info, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, info.DoctorId)
-
- dept, _ := service.GetDepartMentDetail(info.Departments)
-
- inputData := make(map[string]interface{})
- inputData["rxTraceCode"] = flow.RxTraceCode
- inputData["hiRxno"] = flow.HiRxno
- inputData["mdtrtId"] = flow.MID
- inputData["patnName"] = his.PsnName
- inputData["psnCertType"] = his.PsnCertType
- inputData["certno"] = his.Certno
- inputData["fixmedinsName"] = miConfig.OrgName
- inputData["fixmedinsCode"] = miConfig.Code
- inputData["drCode"] = doctor_info.DoctorNumber
- inputData["prscDrName"] = doctor_info.UserName
- inputData["pharDeptName"] = dept.Name
- inputData["pharDeptCode"] = dept.Number
- inputData["pharProfttlCodg"] = dept.Name
- inputData["pharProfttlName"] = ""
- inputData["pharCode"] = "HY440309002107"
- inputData["pharCertType"] = "01"
- inputData["pharCertno"] = "430482199408260023"
- inputData["pharName"] = "彭斯遥"
- inputData["pharPracCertNo"] = ""
- tempTime2 := time.Unix(info.Ctime, 0)
- timeFormatTwo := tempTime2.Format("2006-01-02 15:04:05")
- inputData["pharChkTime"] = timeFormatTwo
-
- bytesData, _ := json.Marshal(inputData)
- fmt.Println(string(bytesData))
- encoded := base64.StdEncoding.EncodeToString(bytesData)
- pdfContent, err := ioutil.ReadFile("signed_data.pdf")
- if err != nil {
- fmt.Println("Error reading PDF file:", err)
- return
- }
-
- // 将 PDF 文件内容进行 Base64 编码
- rx_encoded := base64.StdEncoding.EncodeToString(pdfContent)
-
- fmt.Println(err)
-
- result, request := service.GetCFYLJG002(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, encoded, rx_encoded, "")
- //result, request := service.GetCFYLJG001(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG001,his.Insutype)
- saveLog(result, request, "GetCFYLJG002", "GetCFYLJG002")
-
- var res2 Result002
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- flow.Ctime = time.Now().Unix()
- flow.SignDigest = res2.Output.SignDigest
- flow.RxFile = res2.Output.RxFile
- flow.MID = his.Number
- flow.Status = 1
- flow.DCode = doctor_info.DoctorNumber
- flow.OriginalRxFile = rx_encoded
- flow.OriginalValue = encoded
- flow.SignCertDn = res2.Output.SignCertDn
- flow.SignCertSn = res2.Output.SignCertSn
- flow.Mtime = time.Now().Unix()
- service.Saveflow(flow)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "预签名成功",
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- func (c *HisApiController) GetCFYLJG003() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- record_time := c.GetString("record_time")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- //id, _ := c.GetInt64("id")
- admin_user_id = 3626
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- flow, _ := service.Getflowtwo(his.Number)
- //id = 3
- patient_id, _ := c.GetInt64("patient_id")
- //patient_id = 23834
- //record_time = "2023-09-18"
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- //prescriptions, _ := service.GetHisPrescriptionForMedType(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- info, _ := service.FindLastPatientPrescriptionInfoTwo(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- doctor_info, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, info.DoctorId)
- dept, _ := service.GetDepartMentDetail(info.Departments)
-
- //psn_info,_ := service.GetPsnByPatientId(his.PatientId)
-
- var cFYLJG003 models.CFYLJG003
-
- cFYLJG003.RxTraceCode = flow.RxTraceCode
- cFYLJG003.HiRxno = flow.HiRxno
- cFYLJG003.MdtrtID = flow.MID
- cFYLJG003.PatnName = his.Name
- cFYLJG003.Certno = his.Certno
- cFYLJG003.FixmedinsName = miConfig.OrgName
- cFYLJG003.FixmedinsCode = miConfig.Code
-
- cFYLJG003.DrCode = doctor_info.DoctorNumber
- cFYLJG003.PrscDrName = doctor_info.UserName
- cFYLJG003.PharDeptName = dept.Name
- cFYLJG003.PharDeptCode = dept.Number
- cFYLJG003.PharCode = "HY440309002107"
- cFYLJG003.PharCertType = "01"
- cFYLJG003.PharCertno = "430482199408260023"
- cFYLJG003.PharName = "彭斯遥"
- cFYLJG003.PsnCertType = "01"
- cFYLJG003.RxFile = flow.RxFile
- cFYLJG003.SignDigest = flow.SignDigest
- cFYLJG003.FixmedinsCode = miConfig.Code
- cFYLJG003.PsnCertType = "01"
- cFYLJG003.PharProfttlCodg = dept.Name
- //inputData["pharProfttlCodg"] =dept.Name
-
- tempTime2 := time.Unix(info.Ctime, 0)
- timeFormatTwo := tempTime2.Format("2006-01-02 15:04:05")
- cFYLJG003.PharChkTime = timeFormatTwo
-
- result, request := service.GetCFYLJG003(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG003)
- saveLog(result, request, "GetCFYLJG003", "GetCFYLJG003")
-
- var res ResultCFYLJG003
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- }
-
- }
- func (c *HisApiController) GetCFYLJG004() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- record_time := c.GetString("record_time")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- //id, _ := c.GetInt64("id")
- admin_user_id = 3626
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- flow, _ := service.Getflowtwo(his.Number)
- //id = 3
- patient_id, _ := c.GetInt64("patient_id")
- //patient_id = 23834
- //record_time = "2023-09-18"
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- info, _ := service.FindLastPatientPrescriptionInfoTwo(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
- doctor_info, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, info.DoctorId)
- var cFYLJG004 models.CFYLJG004
- cFYLJG004.HiRxno = flow.HiRxno
- cFYLJG004.FixmedinsCode = miConfig.Code
- cFYLJG004.UndoDrCertno = doctor_info.IdCard
- cFYLJG004.UndoDrCertType = "01"
- cFYLJG004.UndoRea = "撤销处方"
- cFYLJG004.UndoTime = time.Now().Format("2006-01-02 15:04:05")
- cFYLJG004.UndoDrName = doctor_info.UserName
- cFYLJG004.UndoDrCode = doctor_info.DoctorNumber
- result, request := service.GetCFYLJG004(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG004)
- saveLog(result, request, "GetCFYLJG004", "GetCFYLJG004")
-
- var res ResultCFYLJG004
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- flow.Status = 0
- service.Saveflow(flow)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销成功",
- })
- return
-
- }
- }
- func (c *HisApiController) GetCFYLJG005() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- //record_time := c.GetString("record_time")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- //id, _ := c.GetInt64("id")
- admin_user_id = 3626
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- flow, _ := service.Getflowtwo(his.Number)
- //id = 3
- var cFYLJG005 models.CFYLJG005
-
- //patient_id, _ := c.GetInt64("patient_id")
- cFYLJG005.HiRxno = flow.HiRxno
- cFYLJG005.MdtrtID = flow.MID
- cFYLJG005.EcToken = ""
- cFYLJG005.PsnName = his.Name
- cFYLJG005.PsnCertType = "01"
- cFYLJG005.Certno = his.IdCardNo
- result, request := service.GetCFYLJG005(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG005)
- saveLog(result, request, "GetCFYLJG005", "GetCFYLJG005")
-
- var res ResultCFYLJG005
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- return
- }
- }
- func (c *HisApiController) GetCFYLJG006() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- //id, _ := c.GetInt64("id")
- admin_user_id = 3626
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- flow, _ := service.Getflowtwo(his.Number)
- //id = 3
- patient_id, _ := c.GetInt64("patient_id")
- var cFYLJG006 models.CFYLJG006
- patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, patient_id)
- cFYLJG006.HiRxno = flow.HiRxno
- cFYLJG006.MdtrtID = flow.MID
- cFYLJG006.PsnName = patient.Name
- cFYLJG006.PsnCertType = "01"
- cFYLJG006.Certno = patient.IdCardNo
- result, request := service.GetCFYLJG006(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG006)
- saveLog(result, request, "GetCFYLJG006", "GetCFYLJG006")
- var res ResultCFYLJG006
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- return
- }
- }
- func (c *HisApiController) GetCFYLJG007() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- admin_user_id = 3626
- his, _ := service.GetHisPatientRecord(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- //id, _ := c.GetInt64("id")
- admin_user_id = 3626
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- flow, _ := service.Getflowtwo(his.Number)
- //id = 3
- patient_id, _ := c.GetInt64("patient_id")
- var cFYLJG007 models.CFYLJG007
- patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, patient_id)
- //his, _ := service.GetHisPatient(c.GetAdminUserInfo().CurrentOrgId,patient_id)
-
- cFYLJG007.HiRxno = flow.HiRxno
- cFYLJG007.MdtrtID = flow.MID
- cFYLJG007.PsnNo = his.PsnNo
- cFYLJG007.PsnCertType = "01"
- cFYLJG007.Certno = patient.IdCardNo
- cFYLJG007.PsnName = patient.Name
- result, request := service.GetCFYLJG007(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG007)
- saveLog(result, request, "GetCFYLJG007", "GetCFYLJG007")
-
- var res ResultCFYLJG007
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res,
- })
- return
- }
- }
-
- func (c *HisApiController) GetCFYLJG008() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- var cFYLJG008 models.CFYLJG008
- //id, _ := c.GetInt64("id")
- patient_id, _ := c.GetInt64("patient_id")
- //patient, _ := service.G/etPatientByID(c.GetAdminUserInfo().CurrentOrgId,patient_id)
- //his, _ := service.GetHisPatient(c.GetAdminUserInfo().CurrentOrgId,patient_id)
- //id = 3
- //flow, _ := service.Getflow(id)
- //his, _ := service.GetHisPatientByNumber(flow.MID)
-
- //
- //admin_user_id, _ := c.GetInt64("admin_user_id")
- //patient_id, _ := c.GetInt64("patient_id")
- //his_patient_id, _ := c.GetInt64("his_patient_id")
- record_time := c.GetString("record_time")
-
- admin_user_id = 3626
- patient_id = 19424
- //his_patient_id = 263947
- record_time = "2023-08-29"
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- prescriptions, _ := service.GetHisPrescriptionForMedType(c.GetAdminUserInfo().CurrentOrgId, patient_id, recordDateTime)
-
- cFYLJG008.FixmedinsName = ""
- cFYLJG008.Lat = ""
- cFYLJG008.Lng = ""
- cFYLJG008.OrderType = "1"
- cFYLJG008.PoolareaNo = ""
- cFYLJG008.Lng = ""
- cFYLJG008.PageNum = 1
- cFYLJG008.PageSize = 10
- var MPI models.MedinsProdInvChgDDTO
- MPI.MedListCodg = prescriptions[0].HisDoctorAdviceInfo[0].MedListCodg
- MPI.Cnt = prescriptions[0].HisDoctorAdviceInfo[0].PrescribingNumber
- cFYLJG008.MedList = append(cFYLJG008.MedList, MPI)
- result, request := service.GetCFYLJG008(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, cFYLJG008)
- saveLog(result, request, "GetCFYLJG008", "GetCFYLJG008")
-
- var res ResultCFYLJG008
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "info": res.Output,
- })
- return
- }
-
- }
-
- func (c *HisApiController) GetBL4201A() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- order, _ := service.GetHisOrderByIDTwo(order_id)
- his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- order_info, _ := service.GetHisOrderInfoByNumber(order.MdtrtId)
- order_info_two, _ := service.GetHisOrderInfoByNumberTwo(order.MdtrtId)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- department, _ := service.GetDepartMentDetail(his.Departments)
- pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
-
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- return
- }
- var struct4201A models.Struct4201A
- var fsiOPFLDs []models.FsiOwnpayPatnFeeListDDTO
- for _, items := range order_info {
- memo := make(map[string]interface{})
-
- var fsiOPFLD models.FsiOwnpayPatnFeeListDDTO
- fsiOPFLD.FixmedinsMdtrtID = items.OrderNumber
- fsiOPFLD.MedType = "14"
- fsiOPFLD.BkkpSn = items.FeedetlSn
- fsiOPFLD.FixmedinsCode = miConfig.Code
- fsiOPFLD.FixmedinsName = miConfig.OrgName
- fsiOPFLD.Cnt = fmt.Sprintf("%.2f", items.Cnt)
- fsiOPFLD.Pric = fmt.Sprintf("%.2f", items.Pric)
- fsiOPFLD.DetItemFeeSumamt = fmt.Sprintf("%.2f", items.DetItemFeeSumamt)
-
- if items.AdviceId > 0 && items.ProjectId == 0 && items.HisDoctorAdviceInfo.BaseDrugLib.IsUser != 1 && len(items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
-
- fsiOPFLD.MedinsListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.MedinsListName = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
-
- fsiOPFLD.Prodname = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedChrgitmType = "09"
-
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
-
- } else if items.AdviceId == 0 && items.ProjectId > 0 {
- if items.HisPrescriptionProject.Type == 2 && len(items.HisPrescriptionProject.HisProject.MedicalCode) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- switch items.HisPrescriptionProject.HisProject.CostClassify {
- case 0:
-
- break
- case 1:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 2:
- fsiOPFLD.MedChrgitmType = "05"
-
- break
- case 3:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 4:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 5:
- fsiOPFLD.MedChrgitmType = "08"
-
- break
- case 6:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 7:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 8:
- fsiOPFLD.MedChrgitmType = "03"
- break
- case 9:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 10:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 11:
- fsiOPFLD.MedChrgitmType = "06"
- break
- case 12:
- fsiOPFLD.MedChrgitmType = "12"
- break
- case 13:
- fsiOPFLD.MedChrgitmType = "01"
- break
- case 14:
- fsiOPFLD.MedChrgitmType = "04"
- break
- case 15:
- fsiOPFLD.MedChrgitmType = "14"
- break
-
- }
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- } else if items.HisPrescriptionProject.Type == 3 && items.HisPrescriptionProject.GoodInfo.IsUser != 1 && len(items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.MedChrgitmType = "08"
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- }
- }
-
- }
- for _, items := range order_info_two {
- memo := make(map[string]interface{})
- var fsiOPFLD models.FsiOwnpayPatnFeeListDDTO
- fsiOPFLD.FixmedinsMdtrtID = items.OrderNumber
- fsiOPFLD.MedType = "14"
- fsiOPFLD.BkkpSn = items.FeedetlSn
- fsiOPFLD.FixmedinsCode = miConfig.Code
- fsiOPFLD.FixmedinsName = miConfig.OrgName
- fsiOPFLD.Cnt = fmt.Sprintf("%.2f", items.Cnt)
- fsiOPFLD.Pric = fmt.Sprintf("%.2f", items.Pric)
- fsiOPFLD.DetItemFeeSumamt = fmt.Sprintf("%.2f", items.DetItemFeeSumamt)
-
- if items.AdviceId > 0 && items.ProjectId == 0 && items.HisDoctorAdviceInfo.BaseDrugLib.IsUser != 1 && len(items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
-
- fsiOPFLD.MedinsListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.MedinsListName = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.Prodname = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedChrgitmType = "09"
-
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
-
- } else if items.AdviceId == 0 && items.ProjectId > 0 {
-
- if items.HisPrescriptionProject.Type == 2 && len(items.HisPrescriptionProject.HisProject.MedicalCode) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.HisProject.ProjectName
-
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
-
- switch items.HisPrescriptionProject.HisProject.CostClassify {
- case 0:
-
- break
- case 1:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 2:
- fsiOPFLD.MedChrgitmType = "05"
-
- break
- case 3:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 4:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 5:
- fsiOPFLD.MedChrgitmType = "08"
-
- break
- case 6:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 7:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 8:
- fsiOPFLD.MedChrgitmType = "03"
- break
- case 9:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 10:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 11:
- fsiOPFLD.MedChrgitmType = "06"
- break
- case 12:
- fsiOPFLD.MedChrgitmType = "12"
- break
- case 13:
- fsiOPFLD.MedChrgitmType = "01"
- break
- case 14:
- fsiOPFLD.MedChrgitmType = "04"
- break
- case 15:
- fsiOPFLD.MedChrgitmType = "14"
- break
-
- }
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- } else if items.HisPrescriptionProject.Type == 3 && len(items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber) > 0 && items.HisPrescriptionProject.GoodInfo.IsUser != 1 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.GoodInfo.GoodName
-
- fsiOPFLD.MedChrgitmType = "08"
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- }
- }
-
- }
-
- fmt.Println(fsiOPFLDs)
-
- struct4201A.Fopfd = fsiOPFLDs
- fmt.Println(struct4201A.Fopfd)
-
- result, requestLog := service.Gdyb4201A(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4201A)
- saveLog(result, requestLog, "4201A", "自费费用明细上传")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- order.IsUploadOrderInfo = 1
- service.UpdateOrder(order)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- }
-
- }
-
- func (c *HisApiController) Get2505() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- miConfig, _ := service.FindMedicalInsuranceInfo(10375)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
-
- service.Gdyb2505("45000000000008100145868008", curRoles.UserName, miConfig.OrgName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, "2024-01-12 09:00:00", "2026-12-31 23:00:00", admin_user_id)
- }
-
- func (c *HisApiController) Get4201A() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- order, _ := service.GetHisOrderByIDTwo(order_id)
- his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- order_info, _ := service.GetHisOrderInfoByNumber(order.MdtrtId)
- order_info_two, _ := service.GetHisOrderInfoByNumberTwo(order.MdtrtId)
- //order_info = append(order_info, order_info_two...)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- department, _ := service.GetDepartMentDetail(his.Departments)
- pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
-
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- return
- }
- var struct4201A models.Struct4201A
- var fsiOPFLDs []models.FsiOwnpayPatnFeeListDDTO
- for _, items := range order_info {
- memo := make(map[string]interface{})
-
- var fsiOPFLD models.FsiOwnpayPatnFeeListDDTO
- fsiOPFLD.FixmedinsMdtrtID = items.OrderNumber
- fsiOPFLD.MedType = "14"
- fsiOPFLD.BkkpSn = items.FeedetlSn
- fsiOPFLD.FixmedinsCode = miConfig.Code
- fsiOPFLD.FixmedinsName = miConfig.OrgName
- fsiOPFLD.Cnt = fmt.Sprintf("%.2f", items.Cnt)
- fsiOPFLD.Pric = fmt.Sprintf("%.2f", items.Pric)
- fsiOPFLD.DetItemFeeSumamt = fmt.Sprintf("%.2f", items.DetItemFeeSumamt)
-
- if items.AdviceId > 0 && items.ProjectId == 0 && items.HisDoctorAdviceInfo.BaseDrugLib.IsUser != 1 && len(items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
-
- fsiOPFLD.MedinsListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.MedinsListName = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
-
- fsiOPFLD.Prodname = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedChrgitmType = "09"
-
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
-
- } else if items.AdviceId == 0 && items.ProjectId > 0 {
- if items.HisPrescriptionProject.Type == 2 && len(items.HisPrescriptionProject.HisProject.MedicalCode) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- switch items.HisPrescriptionProject.HisProject.CostClassify {
- case 0:
-
- break
- case 1:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 2:
- fsiOPFLD.MedChrgitmType = "05"
-
- break
- case 3:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 4:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 5:
- fsiOPFLD.MedChrgitmType = "08"
-
- break
- case 6:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 7:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 8:
- fsiOPFLD.MedChrgitmType = "03"
- break
- case 9:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 10:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 11:
- fsiOPFLD.MedChrgitmType = "06"
- break
- case 12:
- fsiOPFLD.MedChrgitmType = "12"
- break
- case 13:
- fsiOPFLD.MedChrgitmType = "01"
- break
- case 14:
- fsiOPFLD.MedChrgitmType = "04"
- break
- case 15:
- fsiOPFLD.MedChrgitmType = "14"
- break
-
- }
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- } else if items.HisPrescriptionProject.Type == 3 && items.HisPrescriptionProject.GoodInfo.IsUser != 1 && len(items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.MedChrgitmType = "08"
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- }
- }
-
- }
- for _, items := range order_info_two {
- memo := make(map[string]interface{})
- var fsiOPFLD models.FsiOwnpayPatnFeeListDDTO
- fsiOPFLD.FixmedinsMdtrtID = items.OrderNumber
- fsiOPFLD.MedType = "14"
- fsiOPFLD.BkkpSn = items.FeedetlSn
- fsiOPFLD.FixmedinsCode = miConfig.Code
- fsiOPFLD.FixmedinsName = miConfig.OrgName
- fsiOPFLD.Cnt = fmt.Sprintf("%.2f", items.Cnt)
- fsiOPFLD.Pric = fmt.Sprintf("%.2f", items.Pric)
- fsiOPFLD.DetItemFeeSumamt = fmt.Sprintf("%.2f", items.DetItemFeeSumamt)
-
- if items.AdviceId > 0 && items.ProjectId == 0 && items.HisDoctorAdviceInfo.BaseDrugLib.IsUser != 1 && len(items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
-
- fsiOPFLD.MedinsListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.MedinsListName = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.Prodname = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedChrgitmType = "09"
-
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
-
- } else if items.AdviceId == 0 && items.ProjectId > 0 {
-
- if items.HisPrescriptionProject.Type == 2 && len(items.HisPrescriptionProject.HisProject.MedicalCode) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.HisProject.ProjectName
-
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
-
- switch items.HisPrescriptionProject.HisProject.CostClassify {
- case 0:
-
- break
- case 1:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 2:
- fsiOPFLD.MedChrgitmType = "05"
-
- break
- case 3:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 4:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 5:
- fsiOPFLD.MedChrgitmType = "08"
-
- break
- case 6:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 7:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 8:
- fsiOPFLD.MedChrgitmType = "03"
- break
- case 9:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 10:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 11:
- fsiOPFLD.MedChrgitmType = "06"
- break
- case 12:
- fsiOPFLD.MedChrgitmType = "12"
- break
- case 13:
- fsiOPFLD.MedChrgitmType = "01"
- break
- case 14:
- fsiOPFLD.MedChrgitmType = "04"
- break
- case 15:
- fsiOPFLD.MedChrgitmType = "14"
- break
-
- }
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- } else if items.HisPrescriptionProject.Type == 3 && len(items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber) > 0 && items.HisPrescriptionProject.GoodInfo.IsUser != 1 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.GoodInfo.GoodName
-
- fsiOPFLD.MedChrgitmType = "08"
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = order.MdtrtId
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- }
- }
-
- }
-
- fmt.Println(fsiOPFLDs)
-
- struct4201A.Fopfd = fsiOPFLDs
- fmt.Println(struct4201A.Fopfd)
-
- result, requestLog := service.Gdyb4201A(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4201A)
- saveLog(result, requestLog, "4201A", "自费费用明细上传")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- order.IsUploadOrderInfo = 1
- service.UpdateOrder(order)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- }
- }
- func (c *HisApiController) Get4202() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- order, _ := service.GetHisOrderByIDTwo(order_id)
- his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- return
- }
-
- var struct4202 models.Struct4202
- struct4202.OwnPayPatnMdtrtD.FixmedinsMdtrtID = his.Number
- struct4202.OwnPayPatnMdtrtD.FixmedinsCode = miConfig.Code
- struct4202.OwnPayPatnMdtrtD.FixmedinsName = miConfig.OrgName
- struct4202.OwnPayPatnMdtrtD.PsnCertType = "01"
- struct4202.OwnPayPatnMdtrtD.Certno = his.IdCardNo
- struct4202.OwnPayPatnMdtrtD.PsnName = his.Name
- struct4202.OwnPayPatnMdtrtD.Begntime = his.InHosptialTime
- struct4202.OwnPayPatnMdtrtD.MedType = "14"
- struct4202.OwnPayPatnMdtrtD.ValiFlag = "1"
- struct4202.OwnPayPatnMdtrtD.MedfeeSumamt = fmt.Sprintf("%.2f", order.MedfeeSumamt)
-
- diagnosis_ids := strings.Split(his.Diagnosis, ",")
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
- var tempDiaginfos []models.OwnPayPatnDiagListD
- for index, item := range config {
- if index == 0 {
- var tempDiaginfo models.OwnPayPatnDiagListD
- tempDiaginfo.InoutDiagType = "1"
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.DiagSrtNo = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfo.ValiFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- } else {
-
- var tempDiaginfo models.OwnPayPatnDiagListD
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "2"
- tempDiaginfo.DiagSrtNo = strconv.FormatInt(int64(index+1), 10)
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfo.ValiFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
- struct4202.ODiagListD = tempDiaginfos
- result, requestLog := service.Gdyb4202(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4202)
- saveLog(result, requestLog, "4202", "自费就诊和诊断信息上传")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- order.IsUploadDiagnose = 1
- service.UpdateOrder(order)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- }
- }
- func (c *HisApiController) Get4203() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- order_id, _ := c.GetInt64("order_id")
-
- order, _ := service.GetHisOrderByIDTwo1111(order_id)
- number := ""
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- hospital, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- if his.ID == 0 {
- number = hospital.Number
- } else {
- number = his.Number
-
- }
- result, requestLog := service.Gdyb4203(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, number)
- saveLog(result, requestLog, "4203", "自费就诊与结算明细上传完成")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- order.IsUploadSuccess = 1
- service.UpdateOrderTwo(order)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- }
- }
- func (c *HisApiController) Get4205() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- fapiao_code := c.GetString("fapiao_code")
- order, _ := service.GetHisOrderByIDTwo1111(order_id)
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- order_info, _ := service.GetHisOrderInfoByNumber(order.Number)
- order_info_two, _ := service.GetHisOrderInfoByNumberTwo(order.Number)
- //order_info = append(order_info, order_info_two...)
- department, _ := service.GetDepartMentDetail(his.Departments)
- pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
-
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- return
- }
-
- var struct4201A models.Struct4201A
- var fsiOPFLDs []models.FsiOwnpayPatnFeeListDDTO
- for _, items := range order_info {
- memo := make(map[string]interface{})
-
- var fsiOPFLD models.FsiOwnpayPatnFeeListDDTO
- fsiOPFLD.FixmedinsMdtrtID = items.OrderNumber
- fsiOPFLD.MedType = pre.MedType
- fsiOPFLD.FixmedinsCode = miConfig.Code
- fsiOPFLD.FixmedinsName = miConfig.OrgName
- fsiOPFLD.Cnt = fmt.Sprintf("%.2f", items.Cnt)
- fsiOPFLD.Pric = fmt.Sprintf("%.2f", items.Pric)
- fsiOPFLD.DetItemFeeSumamt = fmt.Sprintf("%.2f", items.DetItemFeeSumamt)
-
- if items.AdviceId > 0 && items.ProjectId == 0 && items.HisDoctorAdviceInfo.BaseDrugLib.IsUser != 1 && len(items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.BkkpSn = items.HisDoctorAdviceInfo.FeedetlSn
-
- fsiOPFLD.MedinsListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.MedinsListName = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
-
- fsiOPFLD.Prodname = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedChrgitmType = "09"
-
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = fapiao_code
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
-
- } else if items.AdviceId == 0 && items.ProjectId > 0 {
- fsiOPFLD.BkkpSn = items.HisPrescriptionProject.FeedetlSn
- if items.HisPrescriptionProject.Type == 2 && len(items.HisPrescriptionProject.HisProject.MedicalCode) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- switch items.HisPrescriptionProject.HisProject.CostClassify {
- case 0:
-
- break
- case 1:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 2:
- fsiOPFLD.MedChrgitmType = "05"
-
- break
- case 3:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 4:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 5:
- fsiOPFLD.MedChrgitmType = "08"
-
- break
- case 6:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 7:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 8:
- fsiOPFLD.MedChrgitmType = "03"
- break
- case 9:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 10:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 11:
- fsiOPFLD.MedChrgitmType = "06"
- break
- case 12:
- fsiOPFLD.MedChrgitmType = "12"
- break
- case 13:
- fsiOPFLD.MedChrgitmType = "01"
- break
- case 14:
- fsiOPFLD.MedChrgitmType = "04"
- break
- case 15:
- fsiOPFLD.MedChrgitmType = "14"
- break
-
- }
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = fapiao_code
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- } else if items.HisPrescriptionProject.Type == 3 && items.HisPrescriptionProject.GoodInfo.IsUser != 1 && len(items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.MedChrgitmType = "08"
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = fapiao_code
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- }
- }
-
- }
- for _, items := range order_info_two {
- memo := make(map[string]interface{})
- var fsiOPFLD models.FsiOwnpayPatnFeeListDDTO
- fsiOPFLD.FixmedinsMdtrtID = items.OrderNumber
- fsiOPFLD.MedType = pre.MedType
- fsiOPFLD.BkkpSn = items.FeedetlSn
- fsiOPFLD.FixmedinsCode = miConfig.Code
- fsiOPFLD.FixmedinsName = miConfig.OrgName
- fsiOPFLD.Cnt = fmt.Sprintf("%.2f", items.Cnt)
- fsiOPFLD.Pric = fmt.Sprintf("%.2f", items.Pric)
- fsiOPFLD.DetItemFeeSumamt = fmt.Sprintf("%.2f", items.DetItemFeeSumamt)
-
- if items.AdviceId > 0 && items.ProjectId == 0 && items.HisDoctorAdviceInfo.BaseDrugLib.IsUser != 1 && len(items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisDoctorAdviceInfo.CreatedTime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
-
- fsiOPFLD.MedinsListCodg = items.HisDoctorAdviceInfo.BaseDrugLib.MedicalInsuranceNumber
- fsiOPFLD.MedinsListName = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.Prodname = items.HisDoctorAdviceInfo.BaseDrugLib.DrugName
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedChrgitmType = "09"
-
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = fapiao_code
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
-
- } else if items.AdviceId == 0 && items.ProjectId > 0 {
- fsiOPFLD.BkkpSn = items.HisPrescriptionProject.FeedetlSn
- if items.HisPrescriptionProject.Type == 2 && len(items.HisPrescriptionProject.HisProject.MedicalCode) > 0 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.HisProject.ProjectName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.HisProject.ProjectName
-
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.HisProject.MedicalCode
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
-
- switch items.HisPrescriptionProject.HisProject.CostClassify {
- case 0:
-
- break
- case 1:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 2:
- fsiOPFLD.MedChrgitmType = "05"
-
- break
- case 3:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 4:
- fsiOPFLD.MedChrgitmType = "03"
-
- break
- case 5:
- fsiOPFLD.MedChrgitmType = "08"
-
- break
- case 6:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 7:
- fsiOPFLD.MedChrgitmType = "14"
-
- break
- case 8:
- fsiOPFLD.MedChrgitmType = "03"
- break
- case 9:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 10:
- fsiOPFLD.MedChrgitmType = "14"
- break
- case 11:
- fsiOPFLD.MedChrgitmType = "06"
- break
- case 12:
- fsiOPFLD.MedChrgitmType = "12"
- break
- case 13:
- fsiOPFLD.MedChrgitmType = "01"
- break
- case 14:
- fsiOPFLD.MedChrgitmType = "04"
- break
- case 15:
- fsiOPFLD.MedChrgitmType = "14"
- break
-
- }
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = fapiao_code
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- } else if items.HisPrescriptionProject.Type == 3 && len(items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber) > 0 && items.HisPrescriptionProject.GoodInfo.IsUser != 1 {
- fsiOPFLD.FeeOcurTime = time.Unix(items.HisPrescriptionProject.Ctime, 0).Format("2006-01-02 15:04:05")
- fsiOPFLD.MedListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.MedinsListCodg = items.HisPrescriptionProject.GoodInfo.MedicalInsuranceNumber
- fsiOPFLD.BilgDeptName = department.Name
- fsiOPFLD.BilgDeptCodg = department.Number
- fsiOPFLD.BilgDrCode = doctor.DoctorNumber
- fsiOPFLD.BilgDrName = doctor.UserName
- fsiOPFLD.MedinsListName = items.HisPrescriptionProject.GoodInfo.GoodName
- fsiOPFLD.Prodname = items.HisPrescriptionProject.GoodInfo.GoodName
-
- fsiOPFLD.MedChrgitmType = "08"
- memo["hosp_appr_flag"] = "1"
- memo["invoice_no"] = fapiao_code
- memo["memo"] = "自费"
- bytesData, _ := json.Marshal(memo)
- fsiOPFLD.Memo = string(bytesData)
- fsiOPFLDs = append(fsiOPFLDs, fsiOPFLD)
- }
- }
-
- }
-
- fmt.Println(fsiOPFLDs)
-
- struct4201A.Fopfd = fsiOPFLDs
- fmt.Println(struct4201A.Fopfd)
-
- var struct4202 models.Struct4202
- timeLayout := "2006-01-02 15:04:05"
- dataTimeStr := time.Unix(his.Ctime, 0).Format(timeLayout)
- struct4202.OwnPayPatnMdtrtD.FixmedinsMdtrtID = his.Number
- struct4202.OwnPayPatnMdtrtD.FixmedinsCode = miConfig.Code
- struct4202.OwnPayPatnMdtrtD.FixmedinsName = miConfig.OrgName
- struct4202.OwnPayPatnMdtrtD.PsnCertType = "01"
- struct4202.OwnPayPatnMdtrtD.Certno = his.IdCardNo
- struct4202.OwnPayPatnMdtrtD.PsnName = his.Name
- struct4202.OwnPayPatnMdtrtD.Begntime = dataTimeStr
- struct4202.OwnPayPatnMdtrtD.MedType = pre.MedType
- struct4202.OwnPayPatnMdtrtD.ValiFlag = "1"
- struct4202.OwnPayPatnMdtrtD.MedfeeSumamt = fmt.Sprintf("%.2f", order.MedfeeSumamt)
-
- diagnosis_ids := strings.Split(his.Diagnosis, ",")
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
- var tempDiaginfos []models.OwnPayPatnDiagListD
- for index, item := range config {
- if index == 0 {
- var tempDiaginfo models.OwnPayPatnDiagListD
- tempDiaginfo.InoutDiagType = "1"
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.DiagSrtNo = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfo.ValiFlag = "1"
- tempDiaginfo.DiagDrName = doctor.UserName
- tempDiaginfo.DiagDrCode = doctor.DoctorNumber
- tempDiaginfo.DiagTime = time.Unix(pre.Ctime, 0).Format("2006-01-02 15:04:05")
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- } else {
-
- var tempDiaginfo models.OwnPayPatnDiagListD
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "2"
- tempDiaginfo.DiagSrtNo = strconv.FormatInt(int64(index+1), 10)
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfo.ValiFlag = "1"
- tempDiaginfo.DiagDrName = doctor.UserName
- tempDiaginfo.DiagDrCode = doctor.DoctorNumber
- tempDiaginfo.DiagTime = time.Unix(pre.Ctime, 0).Format("2006-01-02 15:04:05")
-
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
- struct4202.ODiagListD = tempDiaginfos
- result, requestLog := service.Gdyb4205(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4202, struct4201A)
- saveLog(result, requestLog, "4205", "自费就诊和诊断信息上传")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- order.IsUploadDiagnose = 1
- order.IsUploadOrderInfo = 1
- service.UpdateOrderTwo(order)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- }
-
- }
- func (c *HisApiController) Get4207() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- order_id, _ := c.GetInt64("order_id")
-
- order, _ := service.GetHisOrderByIDTwo(order_id)
- //his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
-
- var struct4207 models.Struct4207
- struct4207.PageNum = "1"
- struct4207.PageSize = "1000"
- struct4207.FixmedinsCode = miConfig.Code
- struct4207.FixmedinsMdtrtID = order.Number
-
- result, requestLog := service.Gdyb4207(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4207)
- saveLog(result, requestLog, "4207", "查询")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "查询成功",
- })
- }
-
- }
- func (c *HisApiController) Get4208() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- order_id, _ := c.GetInt64("order_id")
-
- order, _ := service.GetHisOrderByIDTwo(order_id)
- his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
-
- var struct4208 models.Struct4208
- struct4208.PageNum = "1"
- struct4208.PageSize = "1000"
- struct4208.PsnCertType = "01"
- struct4208.Certno = his.Certno
- struct4208.MedType = order.MedType
- struct4208.PsnName = his.Name
-
- result, requestLog := service.Gdyb4208(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4208)
- saveLog(result, requestLog, "4208", "查询")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "查询成功",
- })
- }
-
- }
- func (c *HisApiController) Get4209() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- order_id, _ := c.GetInt64("order_id")
-
- order, _ := service.GetHisOrderByIDTwo(order_id)
- //his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
-
- var struct4209 models.Struct4209
- struct4209.FixmedinsMdtrtID = order.Number
- struct4209.FixmedinsCode = miConfig.Code
- struct4209.PageSize = "1000"
- struct4209.PageNum = "1"
-
- result, requestLog := service.Gdyb4209(miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, struct4209)
- saveLog(result, requestLog, "4209", "查询")
- var res2 ResultSix
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "查询成功",
- })
- }
- }
-
- type Result3101 struct {
- Infcode string `json:"infcode"`
- InfRefmsgid string `json:"inf_refmsgid"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Enctype string `json:"enctype"`
- Signtype string `json:"signtype"`
- ErrMsg string `json:"err_msg"`
- Output struct {
- Result []struct {
- JudgeResultDetailDtos []struct {
- VolaItemType string `json:"vola_item_type"`
- MdtrtID string `json:"mdtrt_id"`
- JrdID string `json:"jrd_id"`
- PatnID string `json:"patn_id"`
- RxID string `json:"rx_id"`
- VolaAmt interface{} `json:"vola_amt"`
- } `json:"judge_result_detail_dtos"`
- RuleID string `json:"rule_id"`
- VolaEvid string `json:"vola_evid"`
- MdtrtID string `json:"mdtrt_id"`
- RuleName string `json:"rule_name"`
- VolaAmtStas string `json:"vola_amt_stas"`
- JrID string `json:"jr_id"`
- PatnID string `json:"patn_id"`
- SevDeg string `json:"sev_deg"`
- VolaAmt float64 `json:"vola_amt"`
- VolaBhvrType string `json:"vola_bhvr_type"`
- VolaCont string `json:"vola_cont"`
- } `json:"result"`
- } `json:"output"`
- }
-
- type Resultgd3101 struct {
- Infcode int64 `json:"infcode"`
- InfRefmsgid string `json:"inf_refmsgid"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Enctype string `json:"enctype"`
- Signtype string `json:"signtype"`
- ErrMsg string `json:"err_msg"`
- Output struct {
- Result []struct {
- JudgeResultDetailDtos []struct {
- VolaItemType string `json:"vola_item_type"`
- MdtrtID string `json:"mdtrt_id"`
- JrdID string `json:"jrd_id"`
- PatnID string `json:"patn_id"`
- RxID string `json:"rx_id"`
- VolaAmt interface{} `json:"vola_amt"`
- } `json:"judge_result_detail_dtos"`
- RuleID string `json:"rule_id"`
- VolaEvid string `json:"vola_evid"`
- MdtrtID string `json:"mdtrt_id"`
- RuleName string `json:"rule_name"`
- VolaAmtStas string `json:"vola_amt_stas"`
- JrID string `json:"jr_id"`
- PatnID string `json:"patn_id"`
- SevDeg string `json:"sev_deg"`
- VolaAmt float64 `json:"vola_amt"`
- VolaBhvrType string `json:"vola_bhvr_type"`
- VolaCont string `json:"vola_cont"`
- } `json:"result"`
- } `json:"output"`
- }
-
- func (c *HisApiController) ReadEleToken() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("his_patient_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- tokens := ReadEleCard(admin_user_id, c.GetAdminUserInfo().CurrentOrgId, c)
- if len(tokens) > 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "读取成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "读取失败",
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- tokens := ReadEleCardforah(admin_user_id, c.GetAdminUserInfo().CurrentOrgId, c)
- if len(tokens) > 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "读取成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "读取失败",
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- tokens := ReadEleCardforah(admin_user_id, c.GetAdminUserInfo().CurrentOrgId, c)
- if len(tokens) > 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "读取成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "读取失败",
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var api string
- api = "http://172.16.13.254:9532/" + "nmyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(4, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName + "&is_settle=1"
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
-
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
-
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
-
- if status == "0" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
-
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- //date,age,_ := GetBirthdateAndAge(res.Output.Baseinfo.Certno),
- b, age, _ := getBirthdateAndAge(res.Output.Baseinfo.Certno)
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Age: float64(age),
- Brdy: b,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- IdCardType: 4,
- }
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- _, outPutInfo, errMsg := service.ReadEleCardForSettle(miConfig.Code, roles.UserName, roles.AdminUserId)
- if len(errMsg) == 0 {
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(outPutInfo), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
-
- if len(token) > 0 {
- psn := &models.HisPsn{
- PsnNo: his.PsnNo,
- Age: 0,
- PatientId: his.PatientId,
- Certno: his.Certno,
- Brdy: his.Brdy,
- Gend: his.Gend,
- Naty: his.Naty,
- PsnCertType: his.PsnCertType,
- PsnName: his.PsnName,
- Idetinfo: his.Idetinfo,
- Insuinfo: his.Iinfo,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: outPutInfo,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
-
- }
-
- if len(token) > 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "读取成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "读取失败",
- })
- }
-
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- _, result := GetELeInfoThree(miConfig.Code, "1", roles.UserName)
-
- //json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
- fmt.Println(ele.Data.UserName)
- result2, requestLog2 := service.Jxyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
-
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- _, result := GetELeInfoThree(miConfig.Code, "1", roles.UserName)
-
- //json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
- fmt.Println(ele.Data.UserName)
- result2, requestLog2 := service.Jxyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
-
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "430800" {
-
- //if initFlag == 0 {
- //c.TestGetJiangXiBasBaseInit()
- //}
- //if initEleFlag == 0 {
- // GetJxEleBaseInitInfo(c.GetAdminUserInfo().CurrentOrgId)
- //}
- _, json_result := GethnELeInfo(miConfig.Code, "1", roles.UserName)
- utils.ErrorLog("解析失败:%v", json_result)
- //json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(json_result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
-
- //result2, requestLog2 := service.Hnyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
-
- result2, requestLog2 := service.Hnyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
-
- //result2, requestLog2 := service.Hnyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, insuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, ecToken, "", idNo, userName)
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- InsuplcAdmdvs: ele.Data.InsuOrg,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "450721" {
-
- res := c.GetoleInfo()
- if res.Infcode == 0 {
- var result string
-
- if res.Output.MdtrtCertType == "01" {
-
- result = service.Gdyb1101d(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, res.Output.CardSN, 1, res.Output.PsnName, res.Output.EcToken, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "02" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "03" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res2 ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res2.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.CertNo, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res2.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res2.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- //var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- psn := &models.HisPsn{
- PsnNo: res2.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res2.Output.Baseinfo.Certno,
- Gend: res2.Output.Baseinfo.Gend,
- Naty: res2.Output.Baseinfo.Naty,
- PsnCertType: res2.Output.Baseinfo.PsnCertType,
- PsnName: res2.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: res.Output.CertNo + "|" + res.Output.CardSN,
- VerifyNumber: res.Output.EcToken,
- InsuplcAdmdvs: res.Output.InsuplcAdmdvs,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.CardNo,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
-
- } else {
- //if initFlag == 0 {
- // c.TestGetBasBaseInit()
- //}
- //token := c.GetEleBaseInfo()
- //token = Remove0000(token)
- type ELeData struct {
- Code string `json:"code"`
- Data struct {
- Aac002 string `json:"aac002"`
- Aaz500 string `json:"aaz500"`
- ActCardNo string `json:"actCardNo"`
- Bab520 string `json:"bab520"`
- Bkz543 string `json:"bkz543"`
- BusinessType string `json:"businessType"`
- CertfCodg string `json:"certfCodg"`
- EcIndexNo string `json:"ecIndexNo"`
- EcToken string `json:"ecToken"`
- ID0000 string `json:"id0000"`
- IDNo string `json:"idNo"`
- IDType string `json:"idType"`
- Idcode string `json:"idcode"`
- IdentityToken string `json:"identity_token"`
- InsuOrg string `json:"insuOrg"`
- OfficeID string `json:"officeId"`
- OfficeName string `json:"officeName"`
- OperatorID string `json:"operatorId"`
- OperatorName string `json:"operatorName"`
- OrgID string `json:"orgId"`
- UserName string `json:"userName"`
- } `json:"data"`
- Infno interface{} `json:"infno"`
- Message string `json:"message"`
- OrgID string `json:"orgId"`
- TransType string `json:"transType"`
- }
- _, result := GetELeInfoThree(miConfig.Code, "1", roles.UserName)
- fmt.Println(result)
- outPutInfo := Remove0000(result)
- fmt.Println(outPutInfo)
- var ele ELeData
- err := json.Unmarshal([]byte(outPutInfo), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- var result2 string
- var requestLog2 string
- if len(token) > 0 {
- if strings.Contains(ele.Data.IDNo, "HKG") {
- result2, requestLog2 = service.Gdyb1101ForEleCert1111(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, token, ele.Data.UserName, ele.Data.IDNo, 6)
-
- } else {
- result2, requestLog2 = service.Gdyb1101ForEleCerttwo(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, token, ele.Data.UserName, ele.Data.IDNo)
-
- }
-
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "读取成功",
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "读取失败",
- })
- }
-
- }
- }
- func (c *HisApiController) ReadEleFace() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- //his_patient_id, _ := c.GetInt64("his_patient_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- //roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- tokens := ReadEleFace(admin_user_id, c.GetAdminUserInfo().CurrentOrgId, c)
- if len(tokens) > 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "读取成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "读取失败",
- })
- }
-
- }
-
- }
-
- func (c *HisApiController) Get9001() {
- adminUser := c.GetAdminUserInfo()
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- if miConfig.MdtrtareaAdmvs == "350500" {
- service.GetFjAuthorizationInfo(miConfig.Code)
- } else if miConfig.MdtrtareaAdmvs == "131023" {
-
- result, _ := service.HeBeiyb9001(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1669)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res models.Result9001
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- fmt.Println(miConfig.SecretKey)
- var res models.Result9001Two
- api := miConfig.SecretKey + "ahyb/9001?org_name=" + miConfig.OrgName + "&opera_name=" + roles.UserName + "&opera_id=" + strconv.FormatInt(admin_user_id, 10) + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&cainfo=" + miConfig.Cainfo + "&url=" + miConfig.Url
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- sign := models.HisSignIn{
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- SignNo: res.Output.Signinoutb.SignNo,
- SignTime: "",
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Status: 1,
- InputLog: "",
- OutputLog: "",
- FixmedinsCode: miConfig.Code,
- }
- err := service.CreateSignIn(&sign)
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "签到成功",
- })
- }
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- //return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- fmt.Println(miConfig.SecretKey)
- var res models.Result9001Two
- api := miConfig.SecretKey + "ahyb/9001?org_name=" + miConfig.OrgName + "&opera_name=" + roles.UserName + "&opera_id=" + strconv.FormatInt(admin_user_id, 10) + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&cainfo=" + miConfig.Cainfo + "&url=" + miConfig.Url
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- sign := models.HisSignIn{
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- SignNo: res.Output.Signinoutb.SignNo,
- SignTime: "",
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Status: 1,
- InputLog: "",
- OutputLog: "",
- FixmedinsCode: miConfig.Code,
- }
- err := service.CreateSignIn(&sign)
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "签到成功",
- })
- }
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- //return
- }
-
- } else {
- result, _ := service.Gdyb9001Two(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, admin_user_id)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res models.Result9001
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- sign := models.HisSignIn{
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- SignNo: res.Output.Signinoutb.SignNo,
- SignTime: res.Output.Signinoutb.SignTime,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Status: 1,
- InputLog: "",
- OutputLog: "",
- FixmedinsCode: miConfig.Code,
- }
- err := service.CreateSignIn(&sign)
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "签到成功",
- })
- }
- }
- }
-
- }
- func Check3101ForOne(c *HisApiController, patient_id int64, his models.VMHisPatient, admin_user_id int64, trig_scen string, record_time string, prescriptions []*models.HisPrescription, de models.XtHisDepartment) (res2 Result3101) {
- var res Result3101
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- //his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //record_time := c.GetString("record_time")
- //trig_scen := c.GetString("trig_scen")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return res
- }
- recordDateTime := theTime.Unix()
-
- var patientPrescription models.HisPrescriptionInfo
- //patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- //if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfoTwo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- //}
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- diagnosis_ids := strings.Split(patientPrescription.Diagnosis, ",")
-
- //prescriptions, _ := service.GetNewHisPrescriptionTen(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
-
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = roles.UserName
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- var pd models.PatientDtos
- pd.PatnID = his.PsnNo
- pd.PatnName = his.Name
- pd.Gend = his.Gend
- pd.Brdy = his.Brdy
- pd.Poolarea = miConfig.MdtrtareaAdmvs
- pd.CurrMdtrtID = his.Number
-
- var fed models.FsiEncounterDtos
- fed.MdtrtID = his.Number
- fed.MedinsID = miConfig.Code
- fed.MedinsName = miConfig.OrgName
- fed.MedinsAdmdvs = miConfig.MdtrtareaAdmvs
- fed.MedMdtrtType = "1"
- fed.MedinsType = "1"
- fed.MedinsLv = "11"
- tm := time.Unix(his.RecordDate, 0)
- s_tm := tm.Format("2006-01-02 15:04:05")
- fed.AdmDate = s_tm
- fed.DscgDate = s_tm
- fed.DscgMainDiseCodg = config[0].CountryCode
- fed.DscgMainDiseName = config[0].CountryContentName
- //诊断信息
- var fdds []*models.FsiDiagnoseDtos
- for index, item := range config {
- if index == 0 {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = "1"
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
-
- } else {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = strconv.FormatInt(int64(index), 10)
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
- }
- }
- fed.DrCodg = strconv.FormatInt(doctor_info.ID, 10)
- fed.AdmDeptCodg = strconv.FormatInt(de.ID, 10)
- fed.AdmDeptName = de.Name
- fed.DscgDeptCodg = strconv.FormatInt(de.ID, 10)
- fed.DscgDeptName = de.Name
- fed.MedMdtrtType = "1"
- fed.MedType = "11"
- //if his.Insutype == "390" {
- // fed.MedType = "1402"
- //} else {
- // fed.MedType = "9933"
- //}
- var orders []*models.FsiOrderDtos
-
- if trig_scen == "2" {
- //处方医嘱信息
- for _, item := range prescriptions {
- for _, subItem := range item.HisDoctorAdviceInfo {
- if len(subItem.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.Cnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", (subItem.PrescribingNumber * subItem.Price))
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
- }
- }
- for _, subItem := range item.HisPrescriptionProject {
- if subItem.Type == 2 && len(subItem.HisProject.MedicalCode) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- if subItem.Type == 3 && len(subItem.GoodInfo.MedicalInsuranceNumber) > 0 {
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- }
- }
- //处方医嘱信息
- }
- fed.MatnStas = "0"
- fed.MedfeeSumamt = "0"
- fed.OwnpayAmt = "0"
- fed.SelfpayAmt = "0"
- fed.AcctPayamt = "0"
- fed.MaAmt = "0"
- fed.HifpPayamt = "0"
- fed.SetlTotlnum = "1"
- fed.Insutype = his.Insutype
- fed.ReimFlag = "0"
- fed.OutSetlFlag = "0"
-
- var fopd []*models.FsiOperationDtosData
- data := make(map[string]interface{})
- data["fed"] = fed
- data["fdd"] = fdds
- data["fod"] = orders
- data["pd"] = pd
- data["pp"] = pp
- data["fopd"] = fopd
- data["trig_scen"] = trig_scen
- fmt.Println(data)
- fmt.Println(fed)
- fmt.Println(fdds)
- fmt.Println(orders)
- fmt.Println(pd)
- fmt.Println(pp)
- fmt.Println(fopd)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- return res
- } else {
- //if miConfig.MdtrtareaAdmvs == "441202" {
- output, input := service.Gdyb3101(pd, fed, fdds, orders, fopd, pp, trig_scen)
- saveLog(output, input, "3101", "事前")
- if err := json.Unmarshal([]byte(output), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- return res
- //}
- }
- }
- func Check3101(c *HisApiController, patient_id int64, his_patient_id int64, admin_user_id int64, trig_scen string, record_time string, prescriptions []*models.HisPrescription) (res Result3101) {
-
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //record_time := c.GetString("record_time")
- //trig_scen := c.GetString("trig_scen")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return res
- }
- recordDateTime := theTime.Unix()
-
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- }
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- diagnosis_ids := strings.Split(patientPrescription.Diagnosis, ",")
-
- //prescriptions, _ := service.GetNewHisPrescriptionTen(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
-
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = roles.UserName
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- var pd models.PatientDtos
- pd.PatnID = his.PsnNo
- pd.PatnName = his.Name
- pd.Gend = his.Gend
- pd.Brdy = his.Brdy
- pd.Poolarea = his.InsuplcAdmdvs
- pd.CurrMdtrtID = his.Number
-
- var fed models.FsiEncounterDtos
- fed.MdtrtID = his.Number
- fed.MedinsID = miConfig.Code
- fed.MedinsName = miConfig.OrgName
- fed.MedinsAdmdvs = miConfig.MdtrtareaAdmvs
- fed.MedMdtrtType = "1"
- fed.MedinsType = "1"
- fed.MedinsLv = "11"
- tm := time.Unix(his.RecordDate, 0)
- s_tm := tm.Format("2006-01-02 15:04:05")
- fed.AdmDate = s_tm
- fed.DscgDate = s_tm
- fed.DscgMainDiseCodg = config[0].CountryCode
- fed.DscgMainDiseName = config[0].CountryContentName
- //诊断信息
- var fdds []*models.FsiDiagnoseDtos
- for index, item := range config {
- if index == 0 {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = "1"
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
-
- } else {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = strconv.FormatInt(int64(index), 10)
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
- }
- }
- fed.DrCodg = strconv.FormatInt(doctor_info.ID, 10)
- fed.AdmDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.AdmDeptName = department.Name
- fed.DscgDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.DscgDeptName = department.Name
- fed.MedMdtrtType = "1"
- fed.MedType = "11"
- //if his.Insutype == "390" {
- // fed.MedType = "1402"
- //} else {
- // fed.MedType = "9933"
- //}
- var orders []*models.FsiOrderDtos
-
- if trig_scen == "2" {
- //处方医嘱信息
- for _, item := range prescriptions {
- for _, subItem := range item.HisDoctorAdviceInfo {
- if len(subItem.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.Cnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", (subItem.PrescribingNumber * subItem.Price))
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
- }
- }
- for _, subItem := range item.HisPrescriptionProject {
- if subItem.Type == 2 && len(subItem.HisProject.MedicalCode) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- if subItem.Type == 3 && len(subItem.GoodInfo.MedicalInsuranceNumber) > 0 {
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- }
- }
- //处方医嘱信息
- }
- fed.MatnStas = "0"
- fed.MedfeeSumamt = "0"
- fed.OwnpayAmt = "0"
- fed.SelfpayAmt = "0"
- fed.AcctPayamt = "0"
- fed.MaAmt = "0"
- fed.HifpPayamt = "0"
- fed.SetlTotlnum = "1"
- fed.Insutype = his.Insutype
- fed.ReimFlag = "0"
- fed.OutSetlFlag = "0"
-
- var fopd []*models.FsiOperationDtosData
- data := make(map[string]interface{})
- data["fed"] = fed
- data["fdd"] = fdds
- data["fod"] = orders
- data["pd"] = pd
- data["pp"] = pp
- data["fopd"] = fopd
- data["trig_scen"] = trig_scen
- fmt.Println(data)
- fmt.Println(fed)
- fmt.Println(fdds)
- fmt.Println(orders)
- fmt.Println(pd)
- fmt.Println(pp)
- fmt.Println(fopd)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- return res
- } else {
- output, input := service.Gdyb3101(pd, fed, fdds, orders, fopd, pp, trig_scen)
- saveLog(output, input, "3101", "事前")
- if err := json.Unmarshal([]byte(output), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- return res
- }
- return res
- }
- func Check3102(c *HisApiController, patient_id int64, his_patient_id int64, admin_user_id int64, trig_scen string, order_id int64) (res Result3101) {
- ////patient_id, _ := c.GetInt64("patient_id")
- //order_id, _ := c.GetInt64("order_id")
- ////his_patient_id, _ := c.GetInt64("his_patient_id")
- ////admin_user_id, _ := c.GetInt64("admin_user_id")
- //trig_scen := c.GetString("trig_scen")
-
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- record_time := c.GetString("record_time")
- order, _ := service.GetHisOrderByID(order_id)
- psn_info, _ := service.GetPsnByPatientId(patient_id)
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
-
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- }
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- diagnosis_ids := strings.Split(his.Diagnosis, ",")
-
- prescriptions, _ := service.GetNewHisPrescriptionTen(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = roles.UserName
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- var pd models.PatientDtos
- pd.PatnID = his.PsnNo
- pd.PatnName = his.Name
- pd.Gend = his.Gend
- pd.Brdy = psn_info.Brdy
- pd.Poolarea = his.InsuplcAdmdvs
- pd.CurrMdtrtID = his.Number
-
- var fed models.FsiEncounterDtos
- fed.MdtrtID = his.Number
- fed.MedinsID = miConfig.Code
- fed.MedinsName = miConfig.OrgName
- fed.MedinsAdmdvs = miConfig.MdtrtareaAdmvs
- fed.MedMdtrtType = "1"
- fed.MedinsType = "1"
- fed.MedinsLv = "11"
- tm := time.Unix(his.RecordDate, 0)
- s_tm := tm.Format("2006-01-02 15:04:05")
- fed.AdmDate = s_tm
- fed.DscgDate = s_tm
- fed.DscgMainDiseCodg = config[0].CountryCode
- fed.DscgMainDiseName = config[0].CountryContentName
- //诊断信息
- var fdds []*models.FsiDiagnoseDtos
- for index, item := range config {
- if index == 0 {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = "1"
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
-
- } else {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = strconv.FormatInt(int64(index), 10)
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
- }
- }
- fed.DrCodg = strconv.FormatInt(doctor_info.ID, 10)
- fed.AdmDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.AdmDeptName = department.Name
- fed.DscgDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.DscgDeptName = department.Name
-
- fed.MedType = order.MedType
- //处方医嘱信息
- var orders []*models.FsiOrderDtos
- //for _, item := range prescriptions {
- // for _, subItem := range item.HisDoctorAdviceInfo {
- // var order models.FsiOrderDtos
- // order.RxID = strconv.FormatInt(item.ID, 10)
- // order.Rxno = strconv.FormatInt(item.ID, 10)
- // order.LongDrordFlag = "0"
- // order.HilistType = "1"
- // order.ChrgType = "1"
- // order.DrordBhvr = "-"
- // order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- // order.HosplistName = subItem.BaseDrugLib.DrugName
- // order.HilistLv = "1"
- // order.HilistPric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- // order.HosplistName = subItem.BaseDrugLib.DrugName
- // order.Cnt = strconv.FormatFloat(subItem.PrescribingNumber, 'E', -1, 64)
- // order.Pric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.Sumamt = strconv.FormatFloat((subItem.Price * subItem.PrescribingNumber), 'E', -1, 64)
- // order.OwnpayAmt = ""
- // order.SelfpayAmt = ""
- // order.Spec = ""
- // order.SpecUnt = ""
- // order.DrordBegnDate = s_tm
- // order.DrordStopDate = ""
- // order.DrordDrCodg = "1"
- // order.DrordDeptName = department.Name
- // order.DrordDrCodg = "1"
- // order.DrordDrName = doctor_info.UserName
- // order.DrordDrProfttl = ""
- // order.CurrDrordFlag = "1"
- // orders = append(orders, &order)
- // }
- // for _, subItem := range item.HisPrescriptionProject {
- // if subItem.Type == 2 {
- // var order models.FsiOrderDtos
- // order.RxID = strconv.FormatInt(item.ID, 10)
- // order.Rxno = strconv.FormatInt(item.ID, 10)
- // order.LongDrordFlag = "0"
- // order.HilistType = "1"
- // order.ChrgType = "1"
- // order.DrordBhvr = "-"
- // order.HilistCode = subItem.HisProject.MedicalCode
- // order.HosplistName = subItem.HisProject.ProjectName
- // order.HilistLv = "1"
- // order.HilistPric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.HosplistCode = subItem.HisProject.MedicalCode
- // order.HosplistName = subItem.HisProject.ProjectName
- // order.Cnt = subItem.Count
- // cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- //
- // order.Pric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.Sumamt = strconv.FormatFloat((subItem.Price * cnt), 'E', -1, 64)
- // order.OwnpayAmt = ""
- // order.SelfpayAmt = ""
- // order.Spec = ""
- // order.SpecUnt = ""
- // order.DrordBegnDate = s_tm
- // order.DrordStopDate = ""
- // order.DrordDrCodg = "1"
- // order.DrordDeptName = department.Name
- // order.DrordDrCodg = "1"
- // order.DrordDrName = doctor_info.UserName
- // order.DrordDrProfttl = ""
- // order.CurrDrordFlag = "1"
- // orders = append(orders, &order)
- //
- // }
- // if subItem.Type == 3 {
- //
- // var order models.FsiOrderDtos
- // order.RxID = strconv.FormatInt(item.ID, 10)
- // order.Rxno = strconv.FormatInt(item.ID, 10)
- // order.LongDrordFlag = "0"
- // order.HilistType = "1"
- // order.ChrgType = "1"
- // order.DrordBhvr = "-"
- // order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- // order.HosplistName = subItem.GoodInfo.GoodName
- // order.HilistLv = "1"
- // order.HilistPric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- // order.HosplistName = subItem.GoodInfo.GoodName
- // order.Cnt = subItem.Count
- // cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- // order.Pric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.Sumamt = strconv.FormatFloat((subItem.Price * cnt), 'E', -1, 64)
- // order.OwnpayAmt = ""
- // order.SelfpayAmt = ""
- // order.Spec = ""
- // order.SpecUnt = ""
- // order.DrordBegnDate = s_tm
- // order.DrordStopDate = ""
- // order.DrordDrCodg = "1"
- // order.DrordDeptName = department.Name
- // order.DrordDrCodg = "1"
- // order.DrordDrName = doctor_info.UserName
- // order.DrordDrProfttl = ""
- // order.CurrDrordFlag = "1"
- // orders = append(orders, &order)
- //
- // }
- // }
- //}
- for _, item := range prescriptions {
- for _, subItem := range item.HisDoctorAdviceInfo {
- if len(subItem.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.Cnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", (subItem.PrescribingNumber * subItem.Price))
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
- }
- }
- for _, subItem := range item.HisPrescriptionProject {
- if subItem.Type == 2 && len(subItem.HisProject.MedicalCode) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "-"
- order.HilistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- if subItem.Type == 3 && len(subItem.GoodInfo.MedicalInsuranceNumber) > 0 {
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = ""
- order.SpecUnt = ""
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- }
- }
- //处方医嘱信息
- fed.MatnStas = "0"
- fed.MedfeeSumamt = fmt.Sprintf("%.2f", order.MedfeeSumamt)
- fed.OwnpayAmt = fmt.Sprintf("%.2f", order.FulamtOwnpayAmt)
- fed.SelfpayAmt = fmt.Sprintf("%.2f", order.PreselfpayAmt)
- fed.AcctPayamt = fmt.Sprintf("%.2f", order.AcctPay)
- fed.MaAmt = fmt.Sprintf("%.2f", order.MafPay)
- fed.HifpPayamt = fmt.Sprintf("%.2f", order.HifpPay)
- fed.SetlTotlnum = "1"
- fed.Insutype = his.Insutype
- fed.ReimFlag = "0"
- fed.OutSetlFlag = "0"
-
- var fopd []*models.FsiOperationDtosData
- data := make(map[string]interface{})
- data["fed"] = fed
- data["fdd"] = fdds
- data["fod"] = orders
- data["pd"] = pd
- data["pp"] = pp
- data["fopd"] = fopd
- data["trig_scen"] = trig_scen
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3102", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3102", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- return res
- } else {
- output, input := service.Gdyb3102(pd, fed, fdds, orders, fopd, pp, trig_scen)
- saveLog(output, input, "3102", "事中")
- if err := json.Unmarshal([]byte(output), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- return res
- }
- return res
- }
-
- func Checkgd3101ForOne(c *HisApiController, patient_id int64, his models.VMHisPatient, admin_user_id int64, trig_scen string, record_time string, prescriptions []*models.HisPrescription, de models.XtHisDepartment) (res2 Resultgd3101) {
- var res Resultgd3101
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- //his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //record_time := c.GetString("record_time")
- //trig_scen := c.GetString("trig_scen")
- //psn_info, _ := service.GetPsnByPatientId(patient_id)
- //psn_info, _ := service.GetPatientId(patient_id)
- patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, patient_id)
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return res
- }
- recordDateTime := theTime.Unix()
-
- var patientPrescription models.HisPrescriptionInfo
- //patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- //if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfoTwo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- //}
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- diagnosis_ids := strings.Split(patientPrescription.Diagnosis, ",")
-
- //prescriptions, _ := service.GetNewHisPrescriptionTen(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- str, _ := getBirthDateFromIDCard(patient.IdCardNo)
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
-
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = roles.UserName
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- var pd models.PatientDtos
- pd.PatnID = his.PsnNo
- pd.PatnName = his.Name
- pd.Gend = his.Gend
- pd.Brdy = str
- pd.Poolarea = miConfig.MdtrtareaAdmvs
- pd.CurrMdtrtID = his.Number
-
- var fed models.FsiEncounterDtos
- fed.MdtrtID = his.Number
- fed.MedinsID = miConfig.Code
- fed.MedinsName = miConfig.OrgName
- fed.MedinsAdmdvs = miConfig.MdtrtareaAdmvs
- fed.MedMdtrtType = "1"
- fed.MedinsType = "1"
- fed.MedinsLv = "11"
- tm := time.Unix(his.RecordDate, 0)
- s_tm := tm.Format("2006-01-02 15:04:05")
- fed.AdmDate = s_tm
- fed.DscgDate = s_tm
- fed.DscgMainDiseCodg = config[0].CountryCode
- fed.DscgMainDiseName = config[0].CountryContentName
- //诊断信息
- var fdds []*models.FsiDiagnoseDtos
- for index, item := range config {
- if index == 0 {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = "1"
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
-
- } else {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = strconv.FormatInt(int64(index), 10)
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
- }
- }
- fed.DrCodg = strconv.FormatInt(doctor_info.ID, 10)
- fed.AdmDeptCodg = strconv.FormatInt(de.ID, 10)
- fed.AdmDeptName = de.Name
- fed.DscgDeptCodg = strconv.FormatInt(de.ID, 10)
- fed.DscgDeptName = de.Name
- fed.MedMdtrtType = "1"
- fed.MedType = "11"
- //if his.Insutype == "390" {
- // fed.MedType = "1402"
- //} else {
- // fed.MedType = "9933"
- //}
- var orders []*models.FsiOrderDtos
-
- if trig_scen == "2" {
- //处方医嘱信息
- for _, item := range prescriptions {
- for _, subItem := range item.HisDoctorAdviceInfo {
- if len(subItem.BaseDrugLib.MedicalInsuranceNumber) > 0 {
-
- spec := (subItem.BaseDrugLib.Dose + subItem.BaseDrugLib.DoseUnit) + "*" + strconv.FormatInt(subItem.BaseDrugLib.MinNumber, 10) + subItem.BaseDrugLib.MinUnit + "/" + subItem.BaseDrugLib.MaxUnit
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.Cnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", (subItem.PrescribingNumber * subItem.Price))
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
-
- order.Spec = spec
- order.SpecUnt = subItem.PrescribingNumberUnit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
- }
- }
- for _, subItem := range item.HisPrescriptionProject {
- if subItem.Type == 2 && len(subItem.HisProject.MedicalCode) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = subItem.Unit
- order.SpecUnt = subItem.Unit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- if subItem.Type == 3 && len(subItem.GoodInfo.MedicalInsuranceNumber) > 0 {
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = subItem.GoodInfo.SpecificationName
- order.SpecUnt = subItem.Unit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- }
- }
- //处方医嘱信息
- }
- fed.MatnStas = "0"
- fed.MedfeeSumamt = "0"
- fed.OwnpayAmt = "0"
- fed.SelfpayAmt = "0"
- fed.AcctPayamt = "0"
- fed.MaAmt = "0"
- fed.HifpPayamt = "0"
- fed.SetlTotlnum = "1"
- fed.Insutype = his.Insutype
- fed.ReimFlag = "0"
- fed.OutSetlFlag = "0"
-
- var fopd []*models.FsiOperationDtosData
- data := make(map[string]interface{})
- data["fed"] = fed
- data["fdd"] = fdds
- data["fod"] = orders
- data["pd"] = pd
- data["pp"] = pp
- data["fopd"] = fopd
- data["trig_scen"] = trig_scen
- fmt.Println(data)
- fmt.Println(fed)
- fmt.Println(fdds)
- fmt.Println(orders)
- fmt.Println(pd)
- fmt.Println(pp)
- fmt.Println(fopd)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- return res
- } else {
- //if miConfig.MdtrtareaAdmvs == "441202" {
- output, input := service.Gdyb3101(pd, fed, fdds, orders, fopd, pp, trig_scen)
- saveLog(output, input, "3101", "事前")
- if err := json.Unmarshal([]byte(output), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- return res
- //}
- }
- }
- func Checkgd3101(c *HisApiController, patient_id int64, his_patient_id int64, admin_user_id int64, trig_scen string, record_time string, prescriptions []*models.HisPrescription) (res Resultgd3101) {
-
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //record_time := c.GetString("record_time")
- //trig_scen := c.GetString("trig_scen")
- //psn_info, _ := service.GetPsnByPatientId(patient_id)
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return res
- }
- recordDateTime := theTime.Unix()
- patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, patient_id)
-
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- }
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- diagnosis_ids := strings.Split(patientPrescription.Diagnosis, ",")
-
- //prescriptions, _ := service.GetNewHisPrescriptionTen(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
-
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = roles.UserName
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
- str, _ := getBirthDateFromIDCard(patient.IdCardNo)
-
- var pd models.PatientDtos
- pd.PatnID = his.PsnNo
- pd.PatnName = his.Name
- pd.Gend = his.Gend
- pd.Brdy = str
- pd.Poolarea = his.InsuplcAdmdvs
- pd.CurrMdtrtID = his.Number
-
- var fed models.FsiEncounterDtos
- fed.MdtrtID = his.Number
- fed.MedinsID = miConfig.Code
- fed.MedinsName = miConfig.OrgName
- fed.MedinsAdmdvs = miConfig.MdtrtareaAdmvs
- fed.MedMdtrtType = "1"
- fed.MedinsType = "1"
- fed.MedinsLv = "11"
- tm := time.Unix(his.RecordDate, 0)
- s_tm := tm.Format("2006-01-02 15:04:05")
- fed.AdmDate = s_tm
- fed.DscgDate = s_tm
- fed.DscgMainDiseCodg = config[0].CountryCode
- fed.DscgMainDiseName = config[0].CountryContentName
- //诊断信息
- var fdds []*models.FsiDiagnoseDtos
- for index, item := range config {
- if index == 0 {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = "1"
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
-
- } else {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = strconv.FormatInt(int64(index), 10)
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
- }
- }
- fed.DrCodg = strconv.FormatInt(doctor_info.ID, 10)
- fed.AdmDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.AdmDeptName = department.Name
- fed.DscgDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.DscgDeptName = department.Name
- fed.MedMdtrtType = "1"
- fed.MedType = "11"
- //if his.Insutype == "390" {
- // fed.MedType = "1402"
- //} else {
- // fed.MedType = "9933"
- //}
- var orders []*models.FsiOrderDtos
-
- if trig_scen == "2" {
- //处方医嘱信息
- for _, item := range prescriptions {
- for _, subItem := range item.HisDoctorAdviceInfo {
- if len(subItem.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- spec := (subItem.BaseDrugLib.Dose + subItem.BaseDrugLib.DoseUnit) + "*" + strconv.FormatInt(subItem.BaseDrugLib.MinNumber, 10) + subItem.BaseDrugLib.MinUnit + "/" + subItem.BaseDrugLib.MaxUnit
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.Cnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", (subItem.PrescribingNumber * subItem.Price))
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = spec
- order.SpecUnt = subItem.PrescribingNumberUnit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
- }
- }
- for _, subItem := range item.HisPrescriptionProject {
- if subItem.Type == 2 && len(subItem.HisProject.MedicalCode) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = subItem.Unit
- order.SpecUnt = subItem.Unit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- if subItem.Type == 3 && len(subItem.GoodInfo.MedicalInsuranceNumber) > 0 {
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = subItem.GoodInfo.SpecificationName
- order.SpecUnt = subItem.Unit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- }
- }
- //处方医嘱信息
- }
- fed.MatnStas = "0"
- fed.MedfeeSumamt = "0"
- fed.OwnpayAmt = "0"
- fed.SelfpayAmt = "0"
- fed.AcctPayamt = "0"
- fed.MaAmt = "0"
- fed.HifpPayamt = "0"
- fed.SetlTotlnum = "1"
- fed.Insutype = his.Insutype
- fed.ReimFlag = "0"
- fed.OutSetlFlag = "0"
-
- var fopd []*models.FsiOperationDtosData
- data := make(map[string]interface{})
- data["fed"] = fed
- data["fdd"] = fdds
- data["fod"] = orders
- data["pd"] = pd
- data["pp"] = pp
- data["fopd"] = fopd
- data["trig_scen"] = trig_scen
- fmt.Println(data)
- fmt.Println(fed)
- fmt.Println(fdds)
- fmt.Println(orders)
- fmt.Println(pd)
- fmt.Println(pp)
- fmt.Println(fopd)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3101", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- fmt.Println(respJSON)
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- return res
- } else {
- output, input := service.Gdyb3101(pd, fed, fdds, orders, fopd, pp, trig_scen)
- saveLog(output, input, "3101", "事前")
- if err := json.Unmarshal([]byte(output), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- return res
- }
- return res
- }
- func Checkgd3102(c *HisApiController, patient_id int64, his_patient_id int64, admin_user_id int64, trig_scen string, order_id int64) (res Resultgd3101) {
- ////patient_id, _ := c.GetInt64("patient_id")
- //order_id, _ := c.GetInt64("order_id")
- ////his_patient_id, _ := c.GetInt64("his_patient_id")
- ////admin_user_id, _ := c.GetInt64("admin_user_id")
- //trig_scen := c.GetString("trig_scen")
- //psn_info, _ := service.GetPsnByPatientId(patient_id)
- //utils.ErrorLog("解析失败:%v", psn_info)
-
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- record_time := c.GetString("record_time")
- order, _ := service.GetHisOrderByID(order_id)
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, patient_id)
-
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- }
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
- //
- diagnosis_ids := strings.Split(his.Diagnosis, ",")
-
- prescriptions, _ := service.GetNewHisPrescriptionTen(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = roles.UserName
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
- str, _ := getBirthDateFromIDCard(patient.IdCardNo)
-
- var pd models.PatientDtos
- pd.PatnID = his.PsnNo
- pd.PatnName = his.Name
- pd.Gend = his.Gend
- pd.Brdy = str
- pd.Poolarea = his.InsuplcAdmdvs
- pd.CurrMdtrtID = his.Number
-
- var fed models.FsiEncounterDtos
- fed.MdtrtID = his.Number
- fed.MedinsID = miConfig.Code
- fed.MedinsName = miConfig.OrgName
- fed.MedinsAdmdvs = miConfig.MdtrtareaAdmvs
- fed.MedMdtrtType = "1"
- fed.MedinsType = "1"
- fed.MedinsLv = "11"
- tm := time.Unix(his.RecordDate, 0)
- s_tm := tm.Format("2006-01-02 15:04:05")
- fed.AdmDate = s_tm
- fed.DscgDate = s_tm
- fed.DscgMainDiseCodg = config[0].CountryCode
- fed.DscgMainDiseName = config[0].CountryContentName
- //诊断信息
- var fdds []*models.FsiDiagnoseDtos
- for index, item := range config {
- if index == 0 {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = "1"
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
-
- } else {
- var fdd models.FsiDiagnoseDtos
- fdd.DiseID = strconv.FormatInt(item.ID, 10)
- fdd.InoutDiseType = "1"
- fdd.MaindiseFlag = "1"
- fdd.DiseDate = s_tm
- fdd.DiasSrtNo = strconv.FormatInt(int64(index), 10)
- fdd.DiseName = item.CountryContentName
- fdd.DiseCodg = item.CountryCode
- fdds = append(fdds, &fdd)
- }
- }
- fed.DrCodg = strconv.FormatInt(doctor_info.ID, 10)
- fed.AdmDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.AdmDeptName = department.Name
- fed.DscgDeptCodg = strconv.FormatInt(department.ID, 10)
- fed.DscgDeptName = department.Name
-
- fed.MedType = order.MedType
- //处方医嘱信息
- var orders []*models.FsiOrderDtos
- //for _, item := range prescriptions {
- // for _, subItem := range item.HisDoctorAdviceInfo {
- // var order models.FsiOrderDtos
- // order.RxID = strconv.FormatInt(item.ID, 10)
- // order.Rxno = strconv.FormatInt(item.ID, 10)
- // order.LongDrordFlag = "0"
- // order.HilistType = "1"
- // order.ChrgType = "1"
- // order.DrordBhvr = "-"
- // order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- // order.HosplistName = subItem.BaseDrugLib.DrugName
- // order.HilistLv = "1"
- // order.HilistPric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- // order.HosplistName = subItem.BaseDrugLib.DrugName
- // order.Cnt = strconv.FormatFloat(subItem.PrescribingNumber, 'E', -1, 64)
- // order.Pric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.Sumamt = strconv.FormatFloat((subItem.Price * subItem.PrescribingNumber), 'E', -1, 64)
- // order.OwnpayAmt = ""
- // order.SelfpayAmt = ""
- // order.Spec = ""
- // order.SpecUnt = ""
- // order.DrordBegnDate = s_tm
- // order.DrordStopDate = ""
- // order.DrordDrCodg = "1"
- // order.DrordDeptName = department.Name
- // order.DrordDrCodg = "1"
- // order.DrordDrName = doctor_info.UserName
- // order.DrordDrProfttl = ""
- // order.CurrDrordFlag = "1"
- // orders = append(orders, &order)
- // }
- // for _, subItem := range item.HisPrescriptionProject {
- // if subItem.Type == 2 {
- // var order models.FsiOrderDtos
- // order.RxID = strconv.FormatInt(item.ID, 10)
- // order.Rxno = strconv.FormatInt(item.ID, 10)
- // order.LongDrordFlag = "0"
- // order.HilistType = "1"
- // order.ChrgType = "1"
- // order.DrordBhvr = "-"
- // order.HilistCode = subItem.HisProject.MedicalCode
- // order.HosplistName = subItem.HisProject.ProjectName
- // order.HilistLv = "1"
- // order.HilistPric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.HosplistCode = subItem.HisProject.MedicalCode
- // order.HosplistName = subItem.HisProject.ProjectName
- // order.Cnt = subItem.Count
- // cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- //
- // order.Pric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.Sumamt = strconv.FormatFloat((subItem.Price * cnt), 'E', -1, 64)
- // order.OwnpayAmt = ""
- // order.SelfpayAmt = ""
- // order.Spec = ""
- // order.SpecUnt = ""
- // order.DrordBegnDate = s_tm
- // order.DrordStopDate = ""
- // order.DrordDrCodg = "1"
- // order.DrordDeptName = department.Name
- // order.DrordDrCodg = "1"
- // order.DrordDrName = doctor_info.UserName
- // order.DrordDrProfttl = ""
- // order.CurrDrordFlag = "1"
- // orders = append(orders, &order)
- //
- // }
- // if subItem.Type == 3 {
- //
- // var order models.FsiOrderDtos
- // order.RxID = strconv.FormatInt(item.ID, 10)
- // order.Rxno = strconv.FormatInt(item.ID, 10)
- // order.LongDrordFlag = "0"
- // order.HilistType = "1"
- // order.ChrgType = "1"
- // order.DrordBhvr = "-"
- // order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- // order.HosplistName = subItem.GoodInfo.GoodName
- // order.HilistLv = "1"
- // order.HilistPric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- // order.HosplistName = subItem.GoodInfo.GoodName
- // order.Cnt = subItem.Count
- // cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- // order.Pric = strconv.FormatFloat(subItem.Price, 'E', -1, 64)
- // order.Sumamt = strconv.FormatFloat((subItem.Price * cnt), 'E', -1, 64)
- // order.OwnpayAmt = ""
- // order.SelfpayAmt = ""
- // order.Spec = ""
- // order.SpecUnt = ""
- // order.DrordBegnDate = s_tm
- // order.DrordStopDate = ""
- // order.DrordDrCodg = "1"
- // order.DrordDeptName = department.Name
- // order.DrordDrCodg = "1"
- // order.DrordDrName = doctor_info.UserName
- // order.DrordDrProfttl = ""
- // order.CurrDrordFlag = "1"
- // orders = append(orders, &order)
- //
- // }
- // }
- //}
- for _, item := range prescriptions {
- for _, subItem := range item.HisDoctorAdviceInfo {
- if len(subItem.BaseDrugLib.MedicalInsuranceNumber) > 0 {
- spec := (subItem.BaseDrugLib.Dose + subItem.BaseDrugLib.DoseUnit) + "*" + strconv.FormatInt(subItem.BaseDrugLib.MinNumber, 10) + subItem.BaseDrugLib.MinUnit + "/" + subItem.BaseDrugLib.MaxUnit
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.BaseDrugLib.MedicalInsuranceNumber
- order.HosplistName = subItem.BaseDrugLib.DrugName
- order.Cnt = fmt.Sprintf("%.2f", subItem.PrescribingNumber)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", (subItem.PrescribingNumber * subItem.Price))
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
-
- order.Spec = spec
- order.SpecUnt = subItem.PrescribingNumberUnit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
- }
- }
- for _, subItem := range item.HisPrescriptionProject {
- if subItem.Type == 2 && len(subItem.HisProject.MedicalCode) > 0 {
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.HisProject.MedicalCode
- order.HosplistName = subItem.HisProject.ProjectName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = subItem.Unit
- order.SpecUnt = subItem.Unit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- if subItem.Type == 3 && len(subItem.GoodInfo.MedicalInsuranceNumber) > 0 {
-
- var order models.FsiOrderDtos
- order.RxID = strconv.FormatInt(item.ID, 10)
- order.Rxno = strconv.FormatInt(item.ID, 10)
- order.LongDrordFlag = "0"
- order.HilistType = "1"
- order.ChrgType = "1"
- order.DrordBhvr = "0"
- order.HilistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.HilistLv = "1"
- order.HilistPric = fmt.Sprintf("%.2f", subItem.Price)
- order.HosplistCode = subItem.GoodInfo.MedicalInsuranceNumber
- order.HosplistName = subItem.GoodInfo.GoodName
- order.Cnt = subItem.Count
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- order.Pric = fmt.Sprintf("%.2f", subItem.Price)
- order.Sumamt = fmt.Sprintf("%.2f", subItem.Price*cnt)
- order.OwnpayAmt = ""
- order.SelfpayAmt = ""
- order.Spec = subItem.GoodInfo.SpecificationName
- order.SpecUnt = subItem.Unit
- order.DrordBegnDate = s_tm
- order.DrordStopDate = ""
- order.DrordDrCodg = doctor_info.DoctorNumber
- order.DrordDeptName = department.Name
- order.DrordDeptCodg = department.Number
- order.DrordDrName = doctor_info.UserName
- order.DrordDrProfttl = "234"
- order.CurrDrordFlag = "1"
- orders = append(orders, &order)
-
- }
- }
- }
- //处方医嘱信息
- fed.MatnStas = "0"
- fed.MedfeeSumamt = fmt.Sprintf("%.2f", order.MedfeeSumamt)
- fed.OwnpayAmt = fmt.Sprintf("%.2f", order.FulamtOwnpayAmt)
- fed.SelfpayAmt = fmt.Sprintf("%.2f", order.PreselfpayAmt)
- fed.AcctPayamt = fmt.Sprintf("%.2f", order.AcctPay)
- fed.MaAmt = fmt.Sprintf("%.2f", order.MafPay)
- fed.HifpPayamt = fmt.Sprintf("%.2f", order.HifpPay)
- fed.SetlTotlnum = "1"
- fed.Insutype = his.Insutype
- fed.ReimFlag = "0"
- fed.OutSetlFlag = "0"
-
- var fopd []*models.FsiOperationDtosData
- data := make(map[string]interface{})
- data["fed"] = fed
- data["fdd"] = fdds
- data["fod"] = orders
- data["pd"] = pd
- data["pp"] = pp
- data["fopd"] = fopd
- data["trig_scen"] = trig_scen
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3102", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3102", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return res
- }
-
- return res
- } else {
- output, input := service.Gdyb3102(pd, fed, fdds, orders, fopd, pp, trig_scen)
- saveLog(output, input, "3102", "事中")
- if err := json.Unmarshal([]byte(output), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- return res
- }
- return res
- }
-
- func (c *HisApiController) Check() {
- psn_no := c.GetString("psn_no")
- in := c.GetString("in")
- mt := c.GetString("mt")
-
- baseParams := models.BaseParams{
- SecretKey: "MSDBYGxXm1Mtyi3PtOUB7n1ktcxwyW57",
- FixmedinsCode: "H15049901371",
- InsuplcAdmdvs: "150499",
- MdtrtareaAdmvs: "150499",
- OrgName: "赤峰费森血液透析中心",
- Doctor: "1111",
- }
- service.Gdyb2001(baseParams, psn_no, in, mt)
-
- }
- func (c *HisApiController) GetPsnNcdsInfo() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- patient_id, _ := c.GetInt64("patient_id")
-
- //id, _ := c.GetInt64("id")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- //config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- //patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, id)
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //psn_record, _ := service.GetP(id)
- psn_info, _ := service.GetPsnByPatientId(patient_id)
-
- //psn_record, _ := service.GetPsnNCDSRecordById(id)
- //
- //if psn_record.ID == 0 {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorPsnRecordNoExistWrong)
- // return
- //}
-
- var res Result5301
- var res10265 Result5301For10265
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- psn_info, _ := service.GetPsnByPatientId(patient_id)
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/5301?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&psn_no=" + psn_info.PsnNo + "&cainfo=" + miConfig.Cainfo
-
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/5301?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&psn_no=" + psn_info.PsnNo + "&cainfo=" + miConfig.Cainfo
-
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- psn_info, _ := service.GetPsnByPatientId(patient_id)
- var api string
-
- api = miConfig.SecretKey + "ahyb/5301?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&psn_no=" + psn_info.PsnNo + "&cainfo=" + miConfig.Cainfo
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- psn_info, _ := service.GetPsnByPatientId(patient_id)
- var api string
-
- api = miConfig.SecretKey + "ahyb/5301?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&psn_no=" + psn_info.PsnNo + "&cainfo=" + miConfig.Cainfo
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- p, _ := service.GetHisPatientById(patient_id)
-
- result, _ := service.Jxyb5301(p.PsnNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, "")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- p, _ := service.GetHisPatientById(patient_id)
-
- result, _ := service.Jxyb5301(p.PsnNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, "")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- p, _ := service.GetHisPatientById(patient_id)
-
- result, _ := service.Hnyb5301(p.PsnNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, "")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- p, _ := service.GetHisPatientById(patient_id)
-
- api := "http://192.168.0.197:9532/" + "/hbyb/5301?psn_no=" + p.PsnNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- p, _ := service.GetHisPatientById(patient_id)
-
- api := miConfig.Url + "hbyb/5301?psn_no=" + p.PsnNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- p, _ := service.GetHisPatientById(patient_id)
-
- api := miConfig.Url + "/hbyb/5301?psn_no=" + p.PsnNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- p, _ := service.GetHisPatientById(patient_id)
-
- api := miConfig.Url + "/hbyb/5301?psn_no=" + p.PsnNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421300" {
- p, _ := service.GetHisPatientById(patient_id)
-
- api := "http://192.168.124.4:9532/" + "/hbyb/5301?psn_no=" + p.PsnNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- p, _ := service.GetHisPatientById(patient_id)
-
- api := miConfig.Url + "gdyb/5301?psn_no=" + p.PsnNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- result := service.Gdyb5301(psn_info.PsnNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, admin_user_id)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = res10265.InfRefmsgid
- res.Output = res10265.Output
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "result": res.Output.Result,
- })
- }
-
- }
- func (c *HisApiController) CheckInsutype() {
- his_patient_id, _ := c.GetInt64("his_patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- result := service.Gdyb90100(his.PsnNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res Result90100
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- fmt.Println(res)
-
- }
-
- }
- func (c *HisApiController) CheckCardPWD() {
- card_pwd := c.GetString("card_pwd")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- his, _ := service.GetNewHisPatientInfoFour(c.GetAdminUserInfo().CurrentOrgId, his_patient_id)
- psn, _ := service.GetPsnByPatientId(his.PatientId)
- bas := strings.Split(psn.CardInfo, "|")
- basNumber := bas[2]
- if psn.InsuplcAdmdvs[:4] == "4403" {
-
- result := service.Gdyb90991(his.PsnNo, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, card_pwd, basNumber)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res Result90991
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- if res.Output.Result.SscnoCheckStat == "0" && res.Output.Result.CardStat != "10" {
- var msg string
- switch res.Output.Result.CardStat {
- case "00":
- msg = "未激活"
- break
- case "10":
- msg = "激活"
- break
- case "20":
- msg = "窗口挂失"
- break
- case "21":
- msg = "电话挂失"
- break
- case "22":
- msg = "单位网上申报挂失"
- break
- case "23":
- msg = "保健办挂失"
-
- break
- case "24":
- msg = "个人网上挂失"
-
- break
- case "25":
- msg = "网上服务大厅挂失"
- break
- case "30":
- msg = "注销"
- break
- case "40":
- msg = "回收"
- break
- case "99":
- msg = "制卡中(无效卡)"
- break
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": msg,
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "校验成功",
- })
- return
- }
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "校验成功",
- })
- return
- }
-
- }
-
- func (c *HisApiController) CheckCardPWDTwo() {
- //card_pwd := c.GetString("card_pwd")
- //his_patient_id, _ := c.GetInt64("his_patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- result := service.Gdyb90991("44030000000629690364", miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, "000000", "BDM421363")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res Result90991
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- if res.Output.Result.SscnoCheckStat == "0" {
- var msg string
- switch res.Output.Result.CardStat {
- case "00":
- msg = "未激活"
- break
- case "10":
- msg = "激活"
- break
- case "20":
- msg = "窗口挂失"
- break
- case "21":
- msg = "电话挂失"
- break
- case "22":
- msg = "单位网上申报挂失"
- break
- case "23":
- msg = "保健办挂失"
-
- break
- case "24":
- msg = "个人网上挂失"
-
- break
- case "25":
- msg = "网上服务大厅挂失"
- break
- case "30":
- msg = "注销"
- break
- case "40":
- msg = "回收"
- break
- case "99":
- msg = "制卡中(无效卡)"
- break
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": msg,
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "校验成功",
- })
- return
- }
- }
-
- }
-
- type ELeCertData struct {
- Data struct {
- Extra string `json:"extra"`
- IDNo string `json:"idNo"`
- IDType string `json:"idType"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- UserName string `json:"userName"`
- EcIndexNo string `json:"ecIndexNo"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- } `json:"OutData"`
- }
-
- func (c *HisApiController) ReadCard() {
- id_card_type, _ := c.GetInt64("id_card_type")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- certificates, _ := c.GetInt64("certificates")
- //insuplc_admdvs_str := c.GetString("insuplc_admdvs")
-
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- switch id_card_type {
- case 1:
- if miConfig.MdtrtareaAdmvs == "421300" {
- var res ResultTwo
- api := "http://192.168.124.4:9532/" + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "") || (item.Insutype == "390" && item.PsnInsuStas == "") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "390"
- }
-
- var insuplc_admdvs string
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
-
- }
- }
- if strings.Contains(insuplc_admdvs, "4213") {
- insuplc_admdvs = miConfig.MdtrtareaAdmvs
- }
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- InsuplcAdmdvs: insuplc_admdvs,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- var res ResultTwo
- api := "http://192.168.0.197:9532/" + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- var res ResultTwo
- api := miConfig.Url + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "") || (item.Insutype == "390" && item.PsnInsuStas == "") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "390"
- }
-
- var insuplc_admdvs string
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
-
- }
- }
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- InsuplcAdmdvs: insuplc_admdvs,
- }
- service.CreateHisPsn(psn)
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- var res ResultTwo
- api := "http://192.168.0:9532/" + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- b, age, _ := getBirthdateAndAge(res.Output.Baseinfo.Certno)
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Brdy: b,
- Age: float64(age),
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10)
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- card_type := respJSON["data"].(map[string]interface{})["type"].(string)
- //console.log()
- fmt.Println("type===")
-
- fmt.Println(card_type)
-
- var token string
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
- var card_info string //卡信息
- var busi_card_info string
-
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
-
- if status == "0" { //读卡成功
- if card_type == "1" {
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- //var card_info string //卡信息
- //var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- //busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
-
- //fmt.Println(card_info)
- //fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- if card_type == "1" {
- bas := strings.Split(card_info, "|")
- basNumber := bas[2]
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- b, age, _ := getBirthdateAndAge(res.Output.Baseinfo.Certno)
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Brdy: b,
- Age: float64(age),
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: busi_card_info,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- })
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- cardnum, cardCode, id_card_no, name, errmsg := c.GetFjBasBaseInfo()
-
- cardnum = DeleteExtraSpaceTwo(cardnum)
- cardCode = DeleteExtraSpaceTwo(cardCode)
- id_card_no = DeleteExtraSpaceTwo(id_card_no)
- name = DeleteExtraSpaceTwo(name)
- errmsg = DeleteExtraSpaceTwo(errmsg)
-
- cardnum = Remove0000(cardnum)
- cardCode = Remove0000(cardCode)
- id_card_no = Remove0000(id_card_no)
- name = Remove0000(name)
- errmsg = Remove0000(errmsg)
-
- patient, _ := service.GetPatientByIDCard(id_card_no, miConfig.UserOrgId)
-
- basStr := cardnum + "|" + cardCode + "|" + id_card_no + "|" + name
-
- //result2, requestLog2, errMsgLog2 := service.FJybidcomfirm(cardnum, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, id_card_type, cardCode, certificates, miConfig.Url, miConfig.Cainfo, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, patient.Name)
- //fmt.Println(result2)
- //fmt.Println(requestLog2)
- //fmt.Println(errMsgLog2)
-
- result, requestLog, errMsgLog := service.FJyb1101(cardnum, miConfig.OrgName, roles.UserName, miConfig.Code, "", miConfig.MdtrtareaAdmvs, id_card_type, cardCode, certificates, miConfig.Url, miConfig.Cainfo, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, patient.Name, id_card_no)
- saveLog(result, requestLog, "1101", "获取人员信息")
- fmt.Println(errMsgLog)
-
- if len(errMsgLog) > 0 {
-
- } else {
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = errMsgLog
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(id_card_no, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- fmt.Println(res)
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "") || (item.Insutype == "390" && item.PsnInsuStas == "") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "390"
- }
-
- var insuplc_admdvs string
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
-
- }
- }
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: basStr,
- VerifyNumber: "",
- InsuplcAdmdvs: insuplc_admdvs,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": cardnum,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- fmt.Println(initFlag)
- fmt.Println("initFlag")
-
- if initFlag == 0 {
- c.TestGetJiangXiBasBaseInit()
- }
- basStr := c.GetBasBaseInfo()
- if len(basStr) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
- fmt.Println(basStr)
- bas := strings.Split(basStr, "|")
- basNumber := bas[1]
- fmt.Println(basNumber)
- card_sn := bas[3]
- fmt.Println(card_sn)
- patient, _ := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
-
- result, _ := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, "1", miConfig.Url, miConfig.AccessKey, patient.Name)
-
- //result := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- for _, item := range rf {
- if item.Insutype == insutype && item.PsnInsuStas == "1" {
- insuplc_admdvs = item.InsuplcAdmdvs
- }
- }
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: basStr,
- InsuplcAdmdvs: insuplc_admdvs,
- VerifyNumber: "",
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
-
- basStr := c.GetBasBaseInfo1111()
- fmt.Println(basStr)
-
- if len(basStr) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
- fmt.Println(basStr)
- bas := strings.Split(basStr, "|")
- basNumber := bas[1]
- fmt.Println(basNumber)
- card_sn := ""
- fmt.Println(card_sn)
- patient, _ := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
-
- result, _ := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, "1", miConfig.Url, miConfig.AccessKey, patient.Name)
-
- //result := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- for _, item := range rf {
- if item.Insutype == insutype && item.PsnInsuStas == "1" {
- insuplc_admdvs = item.InsuplcAdmdvs
- }
- }
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: basStr,
- InsuplcAdmdvs: insuplc_admdvs,
- VerifyNumber: "",
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- fmt.Println(initFlag)
- fmt.Println("initFlag")
-
- if initFlag == 0 {
- c.TestGetHnBasBaseInit()
- }
- basStr := c.GetBasBaseInfo()
- if len(basStr) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
- fmt.Println(basStr)
- bas := strings.Split(basStr, "|")
- basNumber := bas[1]
- fmt.Println(basNumber)
- card_sn := bas[3]
- card_no := bas[2]
-
- fmt.Println(card_sn)
- name := bas[4]
- name = ConvertToString(name, "gbk", "utf-8")
- result, _ := service.Hnyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, "1", miConfig.Url, miConfig.AccessKey, "", name, card_no)
- //result := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: basStr,
- VerifyNumber: "",
- }
- service.CreateHisPsn(psn)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var api string
- api = "http://172.16.13.254:9532/" + "nmyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
- var card_info string //卡信息
-
- token := respJSON["data"].(map[string]interface{})["token"].(string)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- bas := strings.Split(card_info, "|")
- basNumber := bas[2]
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "450721" {
- res := c.GetoleInfo()
- if res.Infcode == 0 {
- var result string
-
- if res.Output.MdtrtCertType == "01" {
-
- result = service.Gdyb1101d(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, res.Output.CardSN, certificates, res.Output.PsnName, res.Output.EcToken, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "02" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, res.Output.CardSN, certificates, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "03" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res.Output.CardSN, certificates, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res2 ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res2.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.CertNo, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res2.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res2.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- //var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- psn := &models.HisPsn{
- PsnNo: res2.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res2.Output.Baseinfo.Certno,
- Gend: res2.Output.Baseinfo.Gend,
- Naty: res2.Output.Baseinfo.Naty,
- PsnCertType: res2.Output.Baseinfo.PsnCertType,
- PsnName: res2.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: res.Output.CertNo + "|" + res.Output.CardSN,
- VerifyNumber: res.Output.EcToken,
- InsuplcAdmdvs: res.Output.InsuplcAdmdvs,
- }
- if res.Output.MdtrtCertType == "01" {
- psn.VerifyNumber = res.Output.EcToken
-
- //result = service.Gdyb1101d(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, res.Output.CardSN, certificates, res.Output.PsnName, res.Output.EcToken,admin_user_id)
-
- } else if res.Output.MdtrtCertType == "02" {
- psn.VerifyNumber = res.Output.MdtrtCertNo
-
- //result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, res.Output.CardSN, certificates, res.Output.PsnName, res.Output.CardNo,admin_user_id)
-
- } else if res.Output.MdtrtCertType == "03" {
- psn.VerifyNumber = res.Output.MdtrtCertNo
-
- //result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res.Output.CardSN, certificates, res.Output.PsnName, res.Output.CardNo,admin_user_id)
-
- }
-
- var balc float64
- for _, item := range rf {
- if item.Insutype == insutype {
- balc = item.Balc
-
- }
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.CardNo,
- "insutype": insutype,
- "blac": balc,
- "desc": idetinfoStr,
- })
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- var api string
-
- api = miConfig.SecretKey + "ahyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- card_type := respJSON["data"].(map[string]interface{})["type"].(string)
- //console.log()
- fmt.Println("type===")
-
- fmt.Println(card_type)
-
- var token string
- var res ResultTwo //1101结果
- //var res10265 ResultTwoesultTwo10265 //1101结果
- var card_info string //卡信息
- var busi_card_info string
-
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
-
- if status == "0" { //读卡成功
- if card_type == "1" {
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- if card_type == "1" {
- bas := strings.Split(card_info, "|")
- basNumber := bas[2]
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: busi_card_info,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- })
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- var api string
-
- api = miConfig.SecretKey + "ahyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- card_type := respJSON["data"].(map[string]interface{})["type"].(string)
- //console.log()
- fmt.Println("type===")
-
- fmt.Println(card_type)
-
- var token string
- var res ResultTwo //1101结果
- //var res10265 ResultTwoesultTwo10265 //1101结果
- var card_info string //卡信息
- //var busi_card_info string
-
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- //busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
-
- if status == "0" { //读卡成功
- if card_type == "1" {
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println(result)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- fmt.Println(res)
- } else {
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- if card_type == "1" {
- bas := strings.Split(card_info, "|")
- basNumber := bas[2]
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- //VerifyNumber: busi_card_info,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- "insutype": insutype,
- })
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- })
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else {
- if initFlag == 0 {
- c.TestGetBasBaseInit()
- }
- basStr := c.GetBasBaseInfo()
- if len(basStr) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
- fmt.Println(basStr)
- bas := strings.Split(basStr, "|")
- basNumber := bas[1]
- fmt.Println(basNumber)
- card_sn := bas[3]
- fmt.Println(card_sn)
- cardNumber := bas[2]
- fmt.Println(cardNumber)
- patient, _ := service.GetPatientByIDCard(basNumber, miConfig.UserOrgId)
- var result string
- if bas[0][:2] == "44" {
- result = service.Gdyb1101f(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, bas[0], miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates, patient.Name, cardNumber)
- } else {
-
- result = service.Gdyb1101B(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, bas[0], miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates, patient.Name, cardNumber, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
- }
- }
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: basStr,
- VerifyNumber: "",
- InsuplcAdmdvs: insuplc_admdvs,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- break
- }
- case 2:
- if miConfig.MdtrtareaAdmvs == "430800" {
- if initFlag == 0 {
- c.TestGetHnBasBaseInit()
- }
- SFZStr := c.GetSFZBaseInfo()
- if len(SFZStr) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
- fmt.Println(SFZStr)
- id_card_str := strings.Split(SFZStr, "^")
-
- card_no := id_card_str[0]
- //patient, _ := service.GetPatientByNumber(card_no, c.GetAdminUserInfo().CurrentOrgId)
-
- //name := id_card_str[1]
-
- //name = ConvertToString(name, "gbk", "utf-8")
- result, _ := service.Hnyb1101(card_no, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", "1", miConfig.Url, miConfig.AccessKey, "", "", card_no)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(card_no, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
- var InsuplcAdmdvs string
-
- for _, item := range rf {
- if item.Insutype == insutype {
- InsuplcAdmdvs = item.InsuplcAdmdvs
-
- }
-
- }
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: SFZStr,
- VerifyNumber: "",
- InsuplcAdmdvs: InsuplcAdmdvs,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": card_no,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- var res ResultTwo
- api := "http://192.168.0.197:9532/" + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- var res ResultTwo
- api := miConfig.Url + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- var res ResultTwo
- api := miConfig.Url + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "") || (item.Insutype == "390" && item.PsnInsuStas == "") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "390"
- }
-
- var insuplc_admdvs string
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
-
- }
- }
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- InsuplcAdmdvs: insuplc_admdvs,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "450721" {
-
- res := c.GetoleInfo()
- if res.Infcode == 0 {
- var result string
-
- if res.Output.MdtrtCertType == "01" {
-
- result = service.Gdyb1101d(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, res.Output.CardSN, 1, res.Output.PsnName, res.Output.EcToken, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "02" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "03" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res2 ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res2.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.CertNo, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res2.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res2.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- //var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- psn := &models.HisPsn{
- PsnNo: res2.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- //Brdy: res2.Output.Baseinfo.Brdy,
- Certno: res2.Output.Baseinfo.Certno,
- Gend: res2.Output.Baseinfo.Gend,
- Naty: res2.Output.Baseinfo.Naty,
- PsnCertType: res2.Output.Baseinfo.PsnCertType,
- PsnName: res2.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: res.Output.CertNo + "|" + res.Output.CardSN,
- VerifyNumber: res.Output.EcToken,
- InsuplcAdmdvs: res.Output.InsuplcAdmdvs,
- }
- service.CreateHisPsn(psn)
-
- var balc float64
- for _, item := range rf {
- if item.Insutype == insutype {
- balc = item.Balc
-
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.CardNo,
- "insutype": insutype,
- "blac": balc,
- "desc": idetinfoStr,
- })
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
-
- } else {
- SFZStr := c.GetSFZBaseInfo()
- id_card_str := strings.Split(SFZStr, "^")
- id_card_number := id_card_str[0]
- card_sn := ""
- result := service.Gdyb1101B(id_card_number, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates, "", "", admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(id_card_number, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": id_card_number,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- }
-
- break
- case 3:
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10)
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
- var card_info string //卡信息
- var busi_card_info string
-
- //card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
-
- if status == "0" { //读卡成功
- if card_type == "1" {
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- //var card_info string //卡信息
- //var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- //busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
-
- //fmt.Println(card_info)
- //fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- if card_type == "1" {
- bas := strings.Split(card_info, "|")
- basNumber := bas[2]
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- //Brdy: res.Output.Baseinfo.Brdy,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: busi_card_info,
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- })
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
-
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
-
- }
-
- }
-
- break
- case 4:
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10)
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
-
- if status == "0" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
-
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- b, age, _ := getBirthdateAndAge(res.Output.Baseinfo.Certno)
-
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Brdy: b,
- Age: float64(age),
- //Brdy: res.Output.Baseinfo.Brdy,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- var api string
- api = miConfig.SecretKey + "ahyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
-
- if status == "1" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
-
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- var api string
- api = miConfig.SecretKey + "ahyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
-
- if status == "1" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
-
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- //idNo := c.GetString("idNo")
- //userName := c.GetString("userName")
- //ecToken := c.GetString("ecToken")
- //insuOrg := c.GetString("insuOrg")
-
- _, json_result := GethnELeInfo(miConfig.Code, "1", roles.UserName)
- utils.ErrorLog("解析失败:%v", json_result)
- //json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(json_result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
-
- result2, requestLog2 := service.Hnyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- Stage: "1",
- VerifyNumber: token,
- InsuplcAdmdvs: ele.Data.InsuOrg,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- //if initFlag == 0 {
- //c.TestGetJiangXiBasBaseInit()
- //}
- //if initEleFlag == 0 {
- // GetJxEleBaseInitInfo(c.GetAdminUserInfo().CurrentOrgId)
- //}
- //_, result2 := GetjxELekeyInfo(miConfig.Code, "1", roles.UserName)
-
- _, result := GetjxELeInfoaaa(miConfig.Code, "1", roles.UserName)
-
- //json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
- result2, requestLog2 := service.Jxyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- InsuplcAdmdvs: ele.Data.InsuOrg,
- }
- service.CreateHisPsn(psn)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- //if initFlag == 0 {
- //c.TestGetJiangXiBasBaseInit()
- //}
- //if initEleFlag == 0 {
- // GetJxEleBaseInitInfo(c.GetAdminUserInfo().CurrentOrgId)
- //}
- //_, result2 := GetjxELekeyInfo(miConfig.Code, "1", roles.UserName)
-
- _, result := GetjxELeInfoaaa(miConfig.Code, "1", roles.UserName)
-
- //json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
- result2, requestLog2 := service.Jxyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- InsuplcAdmdvs: ele.Data.InsuOrg,
- }
- service.CreateHisPsn(psn)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- //if initFlag == 0 {
- c.TestGetJiangXiBasBaseInit()
- //}
- //if initEleFlag == 0 {
- // GetJxEleBaseInitInfo(c.GetAdminUserInfo().CurrentOrgId)
- //}
- json_result := GetJxEleBaseInfo(c.GetAdminUserInfo().CurrentOrgId)
- type ELeData struct {
- Data struct {
- IdNo string `json:"idNo"`
- IdType string `json:"idType"`
- UserName string `json:"userName"`
- EcToken string `json:"ecToken"`
- InsuOrg string `json:"insuOrg"`
- Gender string `json:"gender"`
- Birthday string `json:"birthday"`
- Nationality string `json:"nationality"`
- Email string `json:"email"`
- Extra string `json:"extra"`
- } `json:"data"`
- Code int `json:"code"`
- Message string `json:"message"`
- }
-
- var ele ELeData
- err := json.Unmarshal([]byte(json_result), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- token = Remove0000(token)
- result2, requestLog2 := service.Hnyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Url, miConfig.AccessKey, token, "", ele.Data.IdNo, ele.Data.UserName)
- saveLog(result2, requestLog2, "1101", "获取人员信息")
- var res ResultTwo
- if err := json.Unmarshal([]byte(result2), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: "",
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- type ELeData struct {
- Code string `json:"code"`
- Data struct {
- Aac002 string `json:"aac002"`
- Aaz500 string `json:"aaz500"`
- ActCardNo string `json:"actCardNo"`
- Bab520 string `json:"bab520"`
- Bkz543 string `json:"bkz543"`
- BusinessType string `json:"businessType"`
- CertfCodg string `json:"certfCodg"`
- EcIndexNo string `json:"ecIndexNo"`
- EcToken string `json:"ecToken"`
- ID0000 string `json:"id0000"`
- IDNo string `json:"idNo"`
- IDType string `json:"idType"`
- Idcode string `json:"idcode"`
- IdentityToken string `json:"identity_token"`
- InsuOrg string `json:"insuOrg"`
- OfficeID string `json:"officeId"`
- OfficeName string `json:"officeName"`
- OperatorID string `json:"operatorId"`
- OperatorName string `json:"operatorName"`
- OrgID string `json:"orgId"`
- UserName string `json:"userName"`
- } `json:"data"`
- Infno interface{} `json:"infno"`
- Message string `json:"message"`
- OrgID string `json:"orgId"`
- TransType string `json:"transType"`
- }
- inputInfo, outPutInfo, _ := service.ReadEleCard(miConfig.Code)
- outPutInfo = Remove0000(outPutInfo)
- if len(outPutInfo) > 0 {
- var ele ELeData
- err := json.Unmarshal([]byte(outPutInfo), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- fmt.Println(inputInfo)
- fmt.Println(outPutInfo)
- result, requestLog, errMsgLog := service.FJyb1101ForEleToken(ele.Data.IDNo, miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, id_card_type, "", 1, miConfig.Url, miConfig.Cainfo, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, token, ele.Data.UserName)
- saveLog(result, requestLog, "1101", "获取人员信息")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = errMsgLog
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(ele.Data.IDNo, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- fmt.Println(res)
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: outPutInfo,
- VerifyNumber: token,
- InsuplcAdmdvs: ele.Data.InsuOrg,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "") || (item.Insutype == "390" && item.PsnInsuStas == "") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- }
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var api string
- api = "http://172.16.13.254:9532/" + "nmyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
-
- if status == "0" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
-
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "450721" {
-
- res := c.GetoleInfo()
- if res.Infcode == 0 {
- var result string
-
- if res.Output.MdtrtCertType == "01" {
-
- result = service.Gdyb1101d(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, res.Output.CardSN, 1, res.Output.PsnName, res.Output.EcToken, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "02" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- } else if res.Output.MdtrtCertType == "03" {
- result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res2 ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res2.Infcode == 0 {
- patient, err := service.GetPatientByNumber(res.Output.CertNo, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res2.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res2.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
- //var insuplc_admdvs string
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- psn := &models.HisPsn{
- PsnNo: res2.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res2.Output.Baseinfo.Certno,
- Gend: res2.Output.Baseinfo.Gend,
- Naty: res2.Output.Baseinfo.Naty,
- PsnCertType: res2.Output.Baseinfo.PsnCertType,
- PsnName: res2.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: res.Output.CertNo + "|" + res.Output.CardSN,
- VerifyNumber: res.Output.EcToken,
- InsuplcAdmdvs: res.Output.InsuplcAdmdvs,
- }
- if res.Output.MdtrtCertType == "01" {
- psn.VerifyNumber = res.Output.EcToken
- //result = service.Gdyb1101d(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, res.Output.CardSN, 1, res.Output.PsnName, res.Output.EcToken,admin_user_id)
-
- } else if res.Output.MdtrtCertType == "02" {
- psn.VerifyNumber = res.Output.CardNo
-
- //result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo,admin_user_id)
-
- } else if res.Output.MdtrtCertType == "03" {
- psn.VerifyNumber = res.Output.MdtrtCertNo
-
- //result = service.Gdyb1101B(res.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res.Output.CardSN, 1, res.Output.PsnName, res.Output.CardNo,admin_user_id)
-
- }
- service.CreateHisPsn(psn)
- var balc float64
- for _, item := range rf {
- if item.Insutype == insutype {
- balc = item.Balc
-
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.CardNo,
- "insutype": insutype,
- "blac": balc,
- "desc": idetinfoStr,
- })
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- }
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- var res ResultTwo
- api := miConfig.Url + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(certificates, 10)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "") || (item.Insutype == "390" && item.PsnInsuStas == "") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "390"
- }
-
- var insuplc_admdvs string
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
-
- }
- }
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- InsuplcAdmdvs: insuplc_admdvs,
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": res.Output.Baseinfo.Certno,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- } else {
- type ELeData struct {
- Code string `json:"code"`
- Data struct {
- Aac002 string `json:"aac002"`
- Aaz500 string `json:"aaz500"`
- ActCardNo string `json:"actCardNo"`
- Bab520 string `json:"bab520"`
- Bkz543 string `json:"bkz543"`
- BusinessType string `json:"businessType"`
- CertfCodg string `json:"certfCodg"`
- EcIndexNo string `json:"ecIndexNo"`
- EcToken string `json:"ecToken"`
- ID0000 string `json:"id0000"`
- IDNo string `json:"idNo"`
- IDType string `json:"idType"`
- Idcode string `json:"idcode"`
- IdentityToken string `json:"identity_token"`
- InsuOrg string `json:"insuOrg"`
- OfficeID string `json:"officeId"`
- OfficeName string `json:"officeName"`
- OperatorID string `json:"operatorId"`
- OperatorName string `json:"operatorName"`
- OrgID string `json:"orgId"`
- UserName string `json:"userName"`
- } `json:"data"`
- Infno interface{} `json:"infno"`
- Message string `json:"message"`
- OrgID string `json:"orgId"`
- TransType string `json:"transType"`
- }
- _, result := GetELeInfo(miConfig.Code, "1", roles.UserName, miConfig.MdtrtareaAdmvs)
- fmt.Println(result)
- outPutInfo := Remove0000(result)
- fmt.Println(outPutInfo)
- if len(outPutInfo) > 0 {
- var ele ELeData
- err := json.Unmarshal([]byte(outPutInfo), &ele)
- if err != nil {
- utils.ErrorLog("解析失败:%v", err)
- }
- token := ele.Data.EcToken
- fmt.Println(outPutInfo)
-
- result, requestLog := service.Gdyb1101ForEleCert1111(miConfig.OrgName, roles.UserName, miConfig.Code, ele.Data.InsuOrg, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, token, ele.Data.UserName, ele.Data.IDNo, certificates)
- saveLog(result, requestLog, "1101", "获取人员信息")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(ele.Data.IDNo, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- fmt.Println(res)
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: outPutInfo,
- VerifyNumber: token,
- InsuplcAdmdvs: ele.Data.InsuOrg,
- }
- service.CreateHisPsn(psn)
-
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
-
- }
-
- //fmt.Println(result)
- //
- //if initFlag == 0 {
- // c.TestGetBasBaseInit()
- //}
- //token := c.GetEleBaseInfo()
- //
- //token = Remove0000(token)
- //
- //result2, requestLog2 := service.Gdyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, insuplc_admdvs_str, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, token, "", "")
-
- //saveLog(result2, requestLog2, "1101", "获取人员信息")
- ////
- //var res ResultTwo
- //if err := json.Unmarshal([]byte(result2), &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //if res.Infcode == 0 {
- // patient, err := service.GetPatientByNumber(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- // if err == gorm.ErrRecordNotFound {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- // return
- // } else if err != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- // return
- //
- // } else {
- // Iinfos, _ := json.Marshal(res.Output.Iinfo)
- // Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- // infoStr := string(Iinfos)
- // idetinfoStr := string(Idetinfos)
- //
- //
- //
- //
- // var rf []*ResultFive
- // json.Unmarshal([]byte(infoStr), &rf)
- //
- // var insutypes []*ResultFive
- // var insutype string
- // var is390 int = 0
- // var is310 int = 0
- // var insuplc_admdvs string
- //
- // for _, item := range rf {
- // if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- // insutypes = append(insutypes, item)
- // }
- // }
- //
- // if len(insutypes) == 1 {
- // insutype = insutypes[0].Insutype
- // //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- // } else {
- // for _, i := range insutypes {
- // if i.Insutype == "390" {
- // is390 = 1
- // }
- //
- // if i.Insutype == "310" {
- // is310 = 1
- // }
- // }
- // }
- // if is390 == 1 {
- // insutype = "390"
- // }
- //
- // if is310 == 1 {
- // insutype = "310"
- // }
- // if len(insutypes) == 0 {
- // insutype = "310"
- // }
- // for _, item := range rf {
- // if item.Insutype == insutype {
- // insuplc_admdvs = item.InsuplcAdmdvs
- // }
- // }
- // psn := &models.HisPsn{
- // PsnNo: res.Output.Baseinfo.PsnNo,
- // Age: res.Output.Baseinfo.Age,
- // PatientId: patient.ID,
- // Certno: res.Output.Baseinfo.Certno,
- // Brdy: res.Output.Baseinfo.Brdy,
- // Gend: res.Output.Baseinfo.Gend,
- // Naty: res.Output.Baseinfo.Naty,
- // PsnCertType: res.Output.Baseinfo.PsnCertType,
- // PsnName: res.Output.Baseinfo.PsnName,
- // Idetinfo: idetinfoStr,
- // Insuinfo: infoStr,
- // UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- // CardInfo: "",
- // VerifyNumber: token,
- // InsuplcAdmdvs: insuplc_admdvs,
- // }
- // service.CreateHisPsn(psn)
- //
- // c.ServeSuccessJSON(map[string]interface{}{
- // "patient": patient,
- // "number": token,
- // })
- // }
- //} else {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- // return
- //}
-
- }
- break
- case 5:
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(id_card_type, 10)
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var token string
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
-
- if status == "0" { //读卡成功
- var card_info string //卡信息
- //var busi_card_info string
- var auth_info string
-
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- //busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- auth_info = respJSON["data"].(map[string]interface{})["eletwo"].(string)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
-
- b, age, _ := getBirthdateAndAge(res.Output.Baseinfo.Certno)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Brdy: b,
- Age: float64(age),
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- AuthInfo: auth_info,
- }
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- service.CreateHisPsn(psn)
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": token,
- "insutype": insutype,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- }
-
- break
-
- }
- }
-
- var initFlag int64 = 0
- var initEleFlag int64 = 0
-
- func (c *HisApiController) TestGetBasBaseInit() {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- Iinit := DllDef.MustFindProc("Init")
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- fmt.Println("http://hosp-sz.gd.hsip.gov.cn/gdyb_api/prd/api/card/initDll")
-
- ret, _, err := Iinit.Call(StrPtr("http://hosp-sz.gd.hsip.gov.cn/gdyb_api/prd/api/card/initDll"), StrPtr(miConfig.InsuplcAdmdvs))
- if ret != 0 {
- fmt.Println("SSCard的报错原因:", err)
- fmt.Println("SSCard的运算结果为:", ret)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
-
- result := int(ret)
- fmt.Println("SSCard的运算结果为1:", result)
- initFlag = 1
- return
- }
-
- func (c *HisApiController) HandleJiangXiReadCard() {
- fmt.Println("~~~~~~")
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- admin_user_id, _ := c.GetInt64("admin_user_id")
- id_card_type, _ := c.GetInt64("id_card_type")
- //certificates, _ := c.GetInt64("certificates")
-
- roles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
-
- if initFlag == 0 {
- c.TestGetJiangXiBasBaseInit()
- }
- basStr := c.GetBasBaseInfo()
- if len(basStr) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
- fmt.Println(basStr)
- bas := strings.Split(basStr, "|")
- basNumber := bas[1]
- fmt.Println(basNumber)
- card_sn := bas[3]
- fmt.Println(card_sn)
- result, _ := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, "1", miConfig.Url, miConfig.AccessKey, "")
-
- //result := service.Jxyb1101(basNumber, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, card_sn, certificates)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByNumber(basNumber, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: basStr,
- VerifyNumber: "",
- }
- service.CreateHisPsn(psn)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "patient": patient,
- "number": basNumber,
- })
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- }
- func (c *HisApiController) TestGetHnBasBaseInit() {
-
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- Iinit := DllDef.MustFindProc("Init")
- //miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //http://10.77.211.236/CSB/hsa-fsi-1303
- //ret, _, err := Iinit.Call(StrPtr("https://10.93.32.89:20001/hsa-hgs-adapt/api/card/initDll"), StrPtr("430100|10.93.32.89:20001"))
- //ret, _, err := Iinit.Call(StrPtr("https://scr.hun.hsip.gov.cn/hsa-hgs-adapt/api/card/initDll"), StrPtr("430100|scr.hun.hsip.gov.cn"))
- // 调用 Init 函数
- ret, _, err := Iinit.Call(uintptr(unsafe.Pointer(StrPtr("https://scr.hun.hsip.gov.cn/hsa-hgs-adapt/api/card/initDll"))), uintptr(unsafe.Pointer(StrPtr("430800|scr.hun.hsip.gov.cn"))))
-
- //if ret != 0 {
- fmt.Println("SSCard的报错原因:", err)
- fmt.Println("SSCard的运算结果为:", ret)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- // return
- //}
-
- result := int(ret)
- fmt.Println("SSCard的运算结果为1:", result)
- initFlag = 1
- return
- }
-
- func (c *HisApiController) TestGetJiangXiBasBaseInit() {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- Iinit := DllDef.MustFindProc("Init")
- //miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //http://10.77.211.236/CSB/hsa-fsi-1303
- ret, _, err := Iinit.Call(StrPtr("http://10.77.224.18:9001/1.0.0/agent-card-init"), StrPtr("360302"))
- if ret != 0 {
- fmt.Println("SSCard的报错原因:", err)
- fmt.Println("SSCard的运算结果为:", ret)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
-
- result := int(ret)
- fmt.Println("SSCard的运算结果为1:", result)
- initFlag = 1
- return
- }
- func (c *HisApiController) TestGetJiangXiBasBaseInittwo() {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- Iinit := DllDef.MustFindProc("Init")
- //miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //http://10.77.211.236/CSB/hsa-fsi-1303
- ret, _, err := Iinit.Call(StrPtr("http://10.77.211.236/1.0.0/agent-card-init"), StrPtr("360100"))
- if ret != 0 {
- fmt.Println("SSCard的报错原因:", err)
- fmt.Println("SSCard的运算结果为:", ret)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeReadCardException)
- return
- }
-
- result := int(ret)
- fmt.Println("SSCard的运算结果为1:", result)
- initFlag = 1
- return
- }
-
- func (c *HisApiController) GetSFZBaseInfo() string {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- readCard := DllDef.MustFindProc("ReadSFZ")
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("ReadSFZ")
- }
-
- str := make([]byte, 8096)
- str1 := make([]byte, 8096)
- r, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&str[0])), IntPtr(8096), (uintptr)(unsafe.Pointer(&str1[0])), IntPtr(8096))
-
- fmt.Println(r)
- return Remove0000(string(str))
- }
-
- func (c *HisApiController) GetEleBaseInfo() string {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- readCard := DllDef.MustFindProc("GetQRBase")
- fmt.Println(readCard)
-
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("GetQRBase")
- }
- str := make([]byte, 1024)
- str1 := make([]byte, 1024)
- ret2, _, _ := readCard.Call(uintptr(180), (uintptr)(unsafe.Pointer(&str[0])), uintptr(1024), (uintptr)(unsafe.Pointer(&str1[0])), uintptr(1024))
- fmt.Println(ret2)
- fmt.Println(string(str1))
- fmt.Println(string(str))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str), "gbk", "utf-8"))
- if ret2 != 0 {
- return ""
- }
- return string(str)
- }
-
- func GetHnEleBaseInfo(code string, operator_id int64, operator_name string) (string, string) {
- DllDef := syscall.MustLoadDLL("NationECCode.dll")
- readCard := DllDef.MustFindProc("NationEcTrans")
- fmt.Println(readCard)
- fmt.Println("!!!!!")
- pBusiCardInfo := make([]byte, 2048)
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = "1"
- inputData["operatorName"] = "admin"
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- bytesData, _ := json.Marshal(input)
-
- ret2, _, _ := readCard.Call(StrPtr("https://10.93.32.89:20001/localcfc/api/hsecfc/localQrCodeQuery"), StrPtr(string(bytesData)), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])))
- fmt.Println(ret2)
- fmt.Println(DeleteExtraSpace(string(pBusiCardInfo)))
- fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
- return DeleteExtraSpace(""), DeleteExtraSpace(string(pBusiCardInfo))
- }
-
- func GetgdEleBaseInfo(code string, operator_id int64, operator_name string) (string, string) {
- DllDef := syscall.MustLoadDLL("NationECCode.dll")
- readCard := DllDef.MustFindProc("NationEcTrans")
- fmt.Println(readCard)
- fmt.Println("!!!!!")
- pBusiCardInfo := make([]byte, 2048)
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = "9"
- inputData["operatorName"] = "admin"
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- bytesData, _ := json.Marshal(input)
-
- ret2, _, _ := readCard.Call(StrPtr("http://igb.hsa.gdgov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"), StrPtr(string(bytesData)), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])))
- fmt.Println(ret2)
- fmt.Println(DeleteExtraSpace(string(pBusiCardInfo)))
- fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
- return DeleteExtraSpace(""), ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8")
- }
- func GetgdEleBaseInfoTwo(code string, operator_id int64, operator_name string) (string, string) {
- DllDef := syscall.MustLoadDLL("NationECCode.dll")
- readCard := DllDef.MustFindProc("NationEcTrans")
- fmt.Println(readCard)
- fmt.Println("!!!!!")
- pBusiCardInfo := make([]byte, 2048)
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01301"
- inputData["operatorId"] = "9"
- inputData["operatorName"] = "admin"
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- bytesData, _ := json.Marshal(input)
-
- ret2, _, _ := readCard.Call(StrPtr("http://igb.hsa.gdgov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"), StrPtr(string(bytesData)), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])))
- fmt.Println(ret2)
- fmt.Println(DeleteExtraSpace(string(pBusiCardInfo)))
- fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
- return DeleteExtraSpace(""), ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8")
- }
-
- func GetJxEleBaseInfo(org_id int64) string {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- readCard := DllDef.MustFindProc("NationEcTrans")
- miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
-
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("NationEcTrans")
- }
- str1 := make([]byte, 1024)
-
- data := make(map[string]interface{})
-
- inputData := make(map[string]interface{})
- inputData["orgId"] = miConfig.Code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = "test001"
- inputData["operatorName"] = "cn"
- inputData["officeId"] = "32760"
- inputData["officeName"] = "waike"
- inputData["deviceType"] = ""
-
- data["data"] = inputData
- data["transType"] = "ec.query"
- data["extra "] = ""
- data["orgId"] = miConfig.Code
- bytesData, _ := json.Marshal(data)
- //bytesData, _ := json.Marshal(data)
-
- //bytesData = []byte(ConvertToString(string(bytesData), "utf-8", "gbk"))
-
- ret2, _, _ := readCard.Call(StrPtr("http://10.77.224.18:9001/1.0.0/localQrCodeQuery"), (uintptr)(unsafe.Pointer(&bytesData[0])), (uintptr)(unsafe.Pointer(&str1[0])))
- fmt.Println(ret2)
- fmt.Println(string(str1))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
-
- if ret2 != 0 {
- return ""
- }
- return Remove0000(ConvertToString(string(str1), "gbk", "utf-8"))
- }
-
- //func GetJxEleBaseInfoTWO(org_id int64) string {
- // DllDef := syscall.MustLoadDLL("SSCard.dll")
- // readCard := DllDef.MustFindProc("NationEcTrans")
- // miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
- //
- // if readCard == nil {
- // fmt.Println("readcard is nil")
- // readCard = DllDef.MustFindProc("NationEcTrans")
- // }
- // str1 := make([]byte, 1024)
- //
- // data := make(map[string]interface{})
- //
- // inputData := make(map[string]interface{})
- // inputData["orgId"] = miConfig.Code
- // inputData["businessType"] = "01101"
- // inputData["operatorId"] = "test001"
- // inputData["operatorName"] = "cn"
- // inputData["officeId"] = "32760"
- // inputData["officeName"] = "waike"
- // inputData["deviceType"] = ""
- //
- // data["data"] = inputData
- // data["transType"] = "ec.query"
- // data["extra "] = ""
- // data["orgId"] = miConfig.Code
- // bytesData, _ := json.Marshal(data)
- // //bytesData, _ := json.Marshal(data)
- //
- // //bytesData = []byte(ConvertToString(string(bytesData), "utf-8", "gbk"))
- //
- // ret2, _, _ := readCard.Call(StrPtr("http://10.77.224.18:9001/1.0.0/localQrCodeQuery"), (uintptr)(unsafe.Pointer(&bytesData[0])), (uintptr)(unsafe.Pointer(&str1[0])))
- // fmt.Println(ret2)
- // fmt.Println(string(str1))
- // fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
- //
- // if ret2 != 0 {
- // return ""
- // }
- // return Remove0000(ConvertToString(string(str1), "gbk", "utf-8"))
- //}
-
- func GetJxEleBaseInitInfo(org_id int64) string {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- readCard := DllDef.MustFindProc("NationEcTrans")
- miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
-
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("NationEcTrans")
- }
- str1 := make([]byte, 2048)
-
- data := make(map[string]interface{})
-
- inputData := make(map[string]interface{})
- inputData["orgId"] = miConfig.Code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = "1"
- inputData["operatorName"] = "huangchuang"
- inputData["officeId"] = "101"
- inputData["officeName"] = "xuetou"
- inputData["deviceType"] = ""
-
- data["data"] = inputData
- data["transType"] = "ec.query"
- data["orgId"] = miConfig.Code
- bytesData, _ := json.Marshal(data)
-
- bytesData = []byte(ConvertToString(string(bytesData), "utf-8", "gbk"))
-
- ret2, _, _ := readCard.Call(StrPtr("http://10.77.224.18:9001/1.0.0/getEncDynamicKey"), (uintptr)(unsafe.Pointer(&bytesData[0])), (uintptr)(unsafe.Pointer(&str1[0])))
- fmt.Println("http://10.77.224.18:9001/1.0.0/getEncDynamicKey")
- fmt.Println(ret2)
- fmt.Println(string(str1))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
-
- if ret2 != 0 {
- return ""
- }
- if len(Remove0000(ConvertToString(string(str1), "gbk", "utf-8"))) > 0 {
- initEleFlag = 1
-
- }
-
- return Remove0000(ConvertToString(string(str1), "gbk", "utf-8"))
- }
-
- //func (c *HisApiController)GetgxBasBaseInfotwo() {
- // // 构建命令
- // cmd := exec.Command("python", "b.py")
- //
- // // 执行命令并等待完成
- // output, err := cmd.CombinedOutput()
- // if err != nil {
- // fmt.Println("Error executing Python script:", err)
- // return
- // }
- //
- // // 打印Python脚本的输出
- // fmt.Println(string(output))
- //}
-
- func (c *HisApiController) GetgxBasBaseInfo(code string) string {
- DllDef := syscall.MustLoadDLL("yh_interface_xyb.dll")
- readCard := DllDef.MustFindProc("gxyb_call")
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("gxyb_call")
- }
- str := make([]byte, 1024)
- str1 := make([]byte, 1024)
-
- //data := make(map[string]interface{})
- currentTime := time.Now()
-
- // 格式化时间为 "YYYYMMDDHH24MISS"
- formattedTime := currentTime.Format("20060102150405")
-
- inputData := make(map[string]interface{})
- inputData2 := make(map[string]interface{})
-
- inputData["transNo"] = "1401"
- inputData["transType"] = "passwordCheck"
- inputData["timestamp"] = formattedTime
- inputData2["fixmedinsCode"] = code
- inputData2["psnNo"] = ""
- inputData["data"] = inputData2
-
- jsonBytes, err := json.Marshal(inputData)
- if err != nil {
- fmt.Println("Error encoding map to JSON:", err)
- }
- ret2, _, _ := readCard.Call(StrPtr("1401"), (uintptr)(unsafe.Pointer(&jsonBytes[0])), (uintptr)(unsafe.Pointer(&str1[0])))
- fmt.Println(string(str1))
- fmt.Println(string(str))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str), "gbk", "utf-8"))
- if ret2 != 0 {
- return ""
- }
- return string(str)
-
- }
- func (c *HisApiController) GetoleInfo() Response {
- ole.CoInitializeEx(0, ole.COINIT_MULTITHREADED)
- defer ole.CoUninitialize()
-
- // Replace with the ProgID or CLSID of your COM object
- progID := "YinHai.XJ.Actual.Interface.New"
-
- // Create COM object
- unknown, err := oleutil.CreateObject(progID)
- if err != nil {
- fmt.Println("Unable to create COM object:", err)
- }
- defer unknown.Release()
-
- // Query for the IDispatch interface
- dispatch, err := unknown.QueryInterface(ole.IID_IDispatch)
- if err != nil {
- fmt.Println("Unable to get IDispatch interface:", err)
- }
- defer dispatch.Release()
-
- // Prepare parameters
- transNo := "1401"
- transType := "passwordCheck"
- timestamp := time.Now().Unix()
- fixmedinsCode := "H45072101171"
- psnNo := ""
- data := fmt.Sprintf(`{"transNo":"%s","transType":"%s","timestamp":"%s","data":{"fixmedinsCode":"%s","psnNo":"%s"}}`, transNo, transType, timestamp, fixmedinsCode, psnNo)
- result2 := ""
- // Call COM object's method using the IDispatch interface
- resulr, err := oleutil.CallMethod(dispatch, "gxyb_call", "1401", data, &result2)
- fmt.Println(resulr)
- fmt.Println(result2)
-
- if err != nil {
- fmt.Println("调用COM对象方法失败:", err)
- }
-
- var response Response
- err2 := json.Unmarshal([]byte(result2), &response)
- if err2 != nil {
- fmt.Println("解析JSON失败:", err)
- }
- return response
- }
-
- func (c *HisApiController) GetBasBaseInfo() string {
- DllDef := syscall.MustLoadDLL("SSCard.dll")
- readCard := DllDef.MustFindProc("ReadCardBas")
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("ReadCardBas")
- }
-
- str := make([]byte, 1024)
- str1 := make([]byte, 1024)
- ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&str[0])), uintptr(1024), (uintptr)(unsafe.Pointer(&str1[0])), uintptr(1024))
-
- fmt.Println(string(str1))
- fmt.Println(string(str))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str), "gbk", "utf-8"))
- if ret2 != 0 {
- return ""
- }
-
- return string(str)
- }
-
- type Program struct {
- FunctionID string `xml:"function_id"`
- CardInfo string `xml:"cardinfo"`
- User string `xml:"user"`
- }
-
- func (c *HisApiController) GetBasBaseInfo1111() string {
- DllDef := syscall.MustLoadDLL("HealthyCarder.dll")
- readCard := DllDef.MustFindProc("ReadSICardInfo")
- readCard2 := DllDef.MustFindProc("ReadCardInfo")
-
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("ReadSICardInfo")
- }
-
- if readCard2 == nil {
- fmt.Println("readcard is nil")
- readCard2 = DllDef.MustFindProc("ReadCardInfo")
- }
-
- str := make([]byte, 1024)
- str1 := make([]byte, 1024)
- readCard.Call((uintptr)(unsafe.Pointer(&str[0])), (uintptr)(unsafe.Pointer(&str1[0])))
-
- str3 := make([]byte, 1024)
- str4 := make([]byte, 1024)
- readCard.Call((uintptr)(unsafe.Pointer(&str[3])), (uintptr)(unsafe.Pointer(&str1[4])))
-
- //file, err := os.Open("C:\\Users\\Administrator\\Desktop\\11\\Power-Card\\SSCardDriver\\api.log")
- //if err != nil {
- // fmt.Println("Error opening file:", err)
- //}
- //defer file.Close()
- //
- //var lastProgram Program
- //scanner := bufio.NewScanner(file)
- //inProgram := false
- //
- //for scanner.Scan() {
- // line := scanner.Text()
- // if strings.Contains(line, "<program>") {
- // inProgram = true
- // programXML := "<program>"
- // for scanner.Scan() {
- // line = scanner.Text()
- // programXML += line
- // if strings.Contains(line, "</program>") {
- // programXML += "</program>"
- // break
- // }
- // }
- // if err := xml.Unmarshal([]byte(programXML), &lastProgram); err == nil {
- // // 解析成功,更新最后的 Program
- // }
- // inProgram = false
- // }
- //}
- //
- // fmt.Println("Error reading file:", inProgram)
- //
- //if err := scanner.Err(); err != nil {
- // fmt.Println("Error reading file:", err)
-
- //}
-
- // 输出最后一次的 Program
- //fmt.Printf("最后一次的 <program>:\n")
- //fmt.Printf("<program>\n")
- //fmt.Printf(" <function_id>%s</function_id>\n", lastProgram.FunctionID)
- //fmt.Printf(" <cardinfo>%s</cardinfo>\n", lastProgram.CardInfo)
- //fmt.Printf(" <user>%s</user>\n", lastProgram.User)
- //fmt.Printf("</program>\n")
-
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str3), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str4), "gbk", "utf-8"))
-
- return ConvertToString(string(str), "gbk", "utf-8")
- }
-
- func (c *HisApiController) GetahBasBaseInfo() string {
- DllDef := syscall.MustLoadDLL("SSCardDriver.dll")
- readCard := DllDef.MustFindProc("iReadCardBas")
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("iReadCardBas")
- }
-
- //str := make([]byte, 1024)
- str1 := make([]byte, 1024)
- ret2, _, _ := readCard.Call(uintptr(3), (uintptr)(unsafe.Pointer(&str1[0])))
-
- //file, err := os.Open("C:\\Users\\Administrator\\Desktop\\11\\Power-Card\\SSCardDriver\\api.log")
- //if err != nil {
- // fmt.Println("Error opening file:", err)
- //}
- //defer file.Close()
- //
- //var lastProgram Program
- //scanner := bufio.NewScanner(file)
- //inProgram := false
- //
- //for scanner.Scan() {
- // line := scanner.Text()
- // if strings.Contains(line, "<program>") {
- // inProgram = true
- // programXML := "<program>"
- // for scanner.Scan() {
- // line = scanner.Text()
- // programXML += line
- // if strings.Contains(line, "</program>") {
- // programXML += "</program>"
- // break
- // }
- // }
- // if err := xml.Unmarshal([]byte(programXML), &lastProgram); err == nil {
- // // 解析成功,更新最后的 Program
- // }
- // inProgram = false
- // }
- //}
- //
- // fmt.Println("Error reading file:", inProgram)
- //
- //if err := scanner.Err(); err != nil {
- // fmt.Println("Error reading file:", err)
-
- //}
-
- // 输出最后一次的 Program
- //fmt.Printf("最后一次的 <program>:\n")
- //fmt.Printf("<program>\n")
- //fmt.Printf(" <function_id>%s</function_id>\n", lastProgram.FunctionID)
- //fmt.Printf(" <cardinfo>%s</cardinfo>\n", lastProgram.CardInfo)
- //fmt.Printf(" <user>%s</user>\n", lastProgram.User)
- //fmt.Printf("</program>\n")
-
- fmt.Println(string(str1))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
-
- if ret2 != 0 {
- return ""
- }
-
- return string(str1)
- }
-
- func (c *HisApiController) GetFjBasBaseInfo() (string, string, string, string, string) {
- DllDef := syscall.MustLoadDLL("chs_fjs_standard.dll")
- readCard := DllDef.MustFindProc("read_cardinfo")
- if readCard == nil {
- fmt.Println("readcard is nil")
- readCard = DllDef.MustFindProc("read_cardinfo")
- }
- str := make([]byte, 1024) //卡号
- str1 := make([]byte, 1024) //卡识别码
- str2 := make([]byte, 1024) //身份证号
- str3 := make([]byte, 1024) //姓名
- str4 := make([]byte, 1024) //错误信息
-
- ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&str[0])), (uintptr)(unsafe.Pointer(&str1[0])), (uintptr)(unsafe.Pointer(&str2[0])), (uintptr)(unsafe.Pointer(&str3[0])), (uintptr)(unsafe.Pointer(&str4[0])))
- fmt.Println(string(str1))
- fmt.Println(string(str))
- fmt.Println(string(str2))
- fmt.Println(string(str3))
- fmt.Println(string(str4))
- fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str2), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str3), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(string(str4), "gbk", "utf-8"))
-
- if ret2 != 0 {
- return "", "", "", "", ""
- }
- return string(str), string(str1), string(str2), string(str3), string(str4)
- }
-
- type CustomFundPay struct {
- FundPayType string `json:"fund_pay_type"`
- FundPayamt float64 `json:"fund_payamt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- }
-
- //func (c *HisApiController) GetBatchSettleList() {
- // start_time_str := c.GetString("start_time")
- // //end_time_str := c.GetString("end_time")
- // admin_user_id, _ := c.GetInt64("admin_user_id")
- //
- // orders,_ := service.GetHisOrderByIDThree(start_time_str)
- //
- // for _, item := range orders {
- // order, _ := service.GetHisOrderByIDTwo(item.ID)
- // roles, _ := service.GetDoctorListTwo(c.GetAdminUserInfo().CurrentOrgId)
- // his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- // admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
- // curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- // //depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
- // miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- // pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- // doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
- //
- // if order.ID == 0 {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- // return
- // }
- //
- // //last_order, _ := service.GetLastHisOrder(c.GetAdminUserInfo().CurrentOrgId)
- // //max_order, _ := service.GetLastHisOrderTwo(c.GetAdminUserInfo().CurrentOrgId)
- // //count, _ := strconv.ParseInt(max_order.FaPiaoNumber, 10, 64)
- // //fmt.Println(count)
- // //var zero string
- // //number := count + 1
- // //if number >= 1000 {
- // // zero = "0000" + strconv.FormatInt(number, 10)
- // //} else if number >= 10000 {
- // // zero = "000" + strconv.FormatInt(number, 10)
- // //} else if number >= 100000 {
- // // zero = "00" + strconv.FormatInt(number, 10)
- // //} else if number >= 1000000 {
- // // zero = "0" + strconv.FormatInt(number, 10)
- // //} else {
- // // zero = strconv.FormatInt(number, 10)
- // //}
- // //fmt.Println(zero)
- //
- // struct4101 := service.Struct4101{
- // PsnNo: order.PsnNo,
- // MdtrtId: order.MdtrtId,
- // SetlId: order.SetlId,
- // PsnName: order.PsnName,
- // Gend: order.Gend,
- // Brdy: his.Brdy,
- // Age: his.Age,
- // Naty: order.Naty,
- // PatnCertType: "01",
- // Certno: order.Certno,
- // Prfs: "90",
- // ConerName: roles[0].UserName,
- // PatnRlts: "99",
- // ConerAddr: miConfig.OrgName,
- // ConerTel: admin.Mobile,
- // HiType: order.Insutype,
- // Insuplc: miConfig.InsuplcAdmdvs,
- // MaindiagFlag: "1",
- // BillCode: order.SetlId,
- // BillNo: order.SetlId,
- // BizSn: order.Number,
- // PsnSelfPay: order.PsnPartAmt,
- // PsnOwnPay: order.PsnPartAmt,
- // AcctPay: order.AcctPay,
- // PsnCashpay: order.PsnCashPay,
- // HiPaymtd: "1",
- // Hsorg: miConfig.InsuplcAdmdvs,
- // HsorgOpter: miConfig.InsuplcAdmdvs,
- // MedinsFillPsn: curRoles.UserName,
- // MedinsFillDept: miConfig.OrgName,
- // IptMedType: "2",
- // }
- // struct4101.SetlBegnDate = order.SetlTime
- // struct4101.SetlEndDate = order.SetlTime
- // time_arr := strings.Split(order.SetlTime, " ")
- // struct4101.AdmTime = time_arr[0]
- // struct4101.AdmEndTime = time_arr[0]
- //
- // var rf []CustomFundPay
- // json.Unmarshal([]byte(order.SetlDetail), &rf)
- //
- // var tempFunPays []service.CustomStruct
- // for _, item := range rf {
- // var tempFunPay service.CustomStruct
- // tempFunPay.FundPayamt = item.FundPayamt
- // tempFunPay.FundPayType = item.FundPayType
- // tempFunPays = append(tempFunPays, tempFunPay)
- // }
- // struct4101.CustomStruct = tempFunPays
- //
- // var tempDiaginfos []service.DiaginfoStructTwo
- // var tempOpspdiseinfo2 service.OpspdiseinfoStruct
- // var tempOpspdiseinfos []service.OpspdiseinfoStruct
- //
- // diagnosis_ids := strings.Split(his.Diagnosis, ",")
- // var config []*models.HisXtDiagnoseConfig
- // for _, item := range diagnosis_ids {
- // id, _ := strconv.ParseInt(item, 10, 64)
- // diagnosisConfig, _ := service.FindDiagnoseById(id)
- // config = append(config, &diagnosisConfig)
- // }
- //
- // for index, item := range config {
- // if index == 0 {
- // var tempDiaginfo service.DiaginfoStructTwo
- // tempDiaginfo.DiagCode = item.CountryCode
- // tempDiaginfo.DiagName = item.CountryContentName
- // tempDiaginfo.DiagType = "1"
- // tempDiaginfo.MaindiagFlag = "1"
- // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- // } else {
- // var tempDiaginfo service.DiaginfoStructTwo
- // tempDiaginfo.DiagCode = item.CountryCode
- // tempDiaginfo.DiagName = item.CountryContentName
- // tempDiaginfo.DiagType = "1"
- // tempDiaginfo.MaindiagFlag = "0"
- // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- // }
- // }
- // struct4101.Diseinfo = tempDiaginfos
- //
- // sickConfigTwo, _ := service.FindSickById(his.SickType)
- // tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
- // tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
- // tempOpspdiseinfo2.OprnOprtCode = sickConfigTwo.ContentCode
- // tempOpspdiseinfo2.OprnOprtName = sickConfigTwo.CountryContentName
- // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
- // struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
- //
- // var iteminfo service.IteminfoStruct
- //
- // var bedCostTotal float64 = 0 //床位总费
- // var bedCostSelfTotal float64 = 0 //床位自费
- // var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
- //
- // var operationCostTotal float64 = 0 //手术费
- // var operationCostSelfTotal float64 = 0 //手术费
- // var operationCostPartSelfTotal float64 = 0 //手术费
- //
- // var otherCostTotal float64 = 0 //其他费用
- // var otherCostSelfTotal float64 = 0 //其他费用
- // var otherCostPartSelfTotal float64 = 0 //其他费用
- //
- // var materialCostTotal float64 = 0 //材料费
- // var materialCostSelfTotal float64 = 0 //材料费
- // var materialCostPartSelfTotal float64 = 0 //材料费
- //
- // var westernMedicineCostTotal float64 = 0 //西药费
- // var westernMedicineCostSelfTotal float64 = 0 //西药费
- // var westernMedicineCostPartSelfTotal float64 = 0 //西药费
- //
- // var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- // var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- // var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
- //
- // var checkCostTotal float64 = 0 //检查费
- // var checkCostSelfTotal float64 = 0 //检查费
- // var checkCostPartSelfTotal float64 = 0 //检查费
- //
- // var laboratoryCostTotal float64 = 0 //化验费
- // var laboratoryCostSelfTotal float64 = 0 //化验费
- // var laboratoryCostPartSelfTotal float64 = 0 //化验费
- //
- // var treatCostTotal float64 = 0 //治疗费用
- // var treatCostSelfTotal float64 = 0 //治疗费用
- // var treatCostPartSelfTotal float64 = 0 //治疗费用
- //
- // decimal.DivisionPrecision = 2
- //
- // var bed_fulamt_ownpay_amt float64 = 0
- // var operation_fulamt_ownpay_amt float64 = 0
- // var other_fulamt_ownpay_amt float64 = 0
- // var westernMedicine_fulamt_ownpay_amt float64 = 0
- // var chineseTraditional_fulamt_ownpay_amt float64 = 0
- // var check_fulamt_ownpay_amt float64 = 0
- // var material_fulamt_ownpay_amt float64 = 0
- // var laboratory_fulamt_ownpay_amt float64 = 0
- // var treat_fulamt_ownpay_amt float64 = 0
- //
- // var bed_claa_sunmfee float64 = 0
- // var bed_clab_amt float64 = 0
- // var bed_other_amt float64 = 0
- //
- // var operation_claa_sunmfee float64 = 0
- // var operation_clab_amt float64 = 0
- // var operation_other_amt float64 = 0
- //
- // var other_claa_sunmfee float64 = 0
- // var other_clab_amt float64 = 0
- // var other_other_amt float64 = 0
- //
- // var westernMedicine_claa_sunmfee float64 = 0
- // var westernMedicine_clab_amt float64 = 0
- // var westernMedicine_other_amt float64 = 0
- //
- // var chineseTraditional_claa_sunmfee float64 = 0
- // var chineseTraditional_clab_amt float64 = 0
- // var chineseTraditional_other_amt float64 = 0
- //
- // var check_claa_sunmfee float64 = 0
- // var check_clab_amt float64 = 0
- // var check_other_amt float64 = 0
- //
- // var material_claa_sunmfee float64 = 0
- // var material_clab_amt float64 = 0
- // var material_other_amt float64 = 0
- //
- // var laboratory_claa_sunmfee float64 = 0
- // var laboratory_clab_amt float64 = 0
- // var laboratory_other_amt float64 = 0
- //
- // var treat_claa_sunmfee float64 = 0
- // var treat_clab_amt float64 = 0
- // var treat_other_amt float64 = 0
- //
- // for _, item := range order.HisOrderInfo {
- // if item.MedChrgitmType == "01" { //床位费
- // bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // }
- // if item.ChrgitmLv == "2" {
- // bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- //
- // }
- //
- // if item.MedChrgitmType == "03" { //检查费
- // checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "04" { //化验费
- // laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "05" { //治疗费
- // treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "06" { //手术费
- // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- //
- // if item.ChrgitmLv == "1" {
- //
- // operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "08" { //材料费
- // materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "09" { //西药费
- // westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "11" { //中成费
- // chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "14" { //其他费
- // otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // }
- //
- // var iteminfoStructs []service.IteminfoStruct
- //
- // if bedCostTotal != 0 {
- // iteminfo.MedChrgitm = "01"
- // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- // iteminfo.Amt = bedCostTotal
- // iteminfo.ClaaSumfee = bed_claa_sunmfee
- // iteminfo.ClabAmt = bed_clab_amt
- // iteminfo.OthAmt = bed_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if checkCostTotal != 0 {
- // iteminfo.MedChrgitm = "03"
- // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
- // iteminfo.Amt = checkCostTotal
- // iteminfo.ClaaSumfee = check_claa_sunmfee
- // iteminfo.ClabAmt = check_clab_amt
- // iteminfo.OthAmt = check_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if laboratoryCostTotal != 0 {
- // iteminfo.MedChrgitm = "04"
- // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
- // iteminfo.Amt = laboratoryCostTotal
- // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
- // iteminfo.ClabAmt = laboratory_clab_amt
- // iteminfo.OthAmt = laboratory_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- //
- // }
- //
- // if treatCostTotal != 0 {
- // iteminfo.MedChrgitm = "05"
- // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
- // iteminfo.Amt = treatCostTotal
- // iteminfo.ClaaSumfee = treat_claa_sunmfee
- // iteminfo.ClabAmt = treat_clab_amt
- // iteminfo.OthAmt = treat_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // //(struct4101.IteminfoStruct, iteminfo)
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // }
- //
- // if operationCostTotal != 0 {
- // iteminfo.MedChrgitm = "06"
- // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- // iteminfo.Amt = operationCostTotal
- // iteminfo.ClaaSumfee = operation_claa_sunmfee
- // iteminfo.ClabAmt = operation_clab_amt
- // iteminfo.OthAmt = operation_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if materialCostTotal != 0 {
- // iteminfo.MedChrgitm = "08"
- // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
- // iteminfo.Amt = materialCostTotal
- // iteminfo.ClaaSumfee = material_claa_sunmfee
- // iteminfo.ClabAmt = material_clab_amt
- // iteminfo.OthAmt = material_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if westernMedicineCostTotal != 0 {
- // iteminfo.MedChrgitm = "09"
- // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- // iteminfo.Amt = westernMedicineCostTotal
- // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- // iteminfo.ClabAmt = westernMedicine_clab_amt
- // iteminfo.OthAmt = westernMedicine_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- // if chineseTraditionalMedicineCostTotal != 0 {
- // iteminfo.MedChrgitm = "11"
- // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- // iteminfo.Amt = westernMedicineCostTotal
- // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- // iteminfo.ClabAmt = westernMedicine_clab_amt
- // iteminfo.OthAmt = westernMedicine_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- // if otherCostTotal != 0 {
- // iteminfo.MedChrgitm = "14"
- // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
- // iteminfo.Amt = otherCostTotal
- // iteminfo.ClaaSumfee = other_claa_sunmfee
- // iteminfo.ClabAmt = other_clab_amt
- // iteminfo.OthAmt = other_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- // struct4101.IteminfoStruct = iteminfoStructs
- // struct4101.Ntly = "中国"
- // struct4101.AdmCaty = "A03.06"
- //
- // struct4101.DoctorName = doctor.UserName
- // struct4101.DoctorCode = doctor.DoctorNumber
- //
- // var res ResultSeventeen
- //
- // if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- // struct4101.BillCode = order.Number
- // struct4101.BillNo = order.SetlId
- // var resOther ResultSeventeenOther
- // var pp models.PublicParams
- // pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // pp.FixmedinsName = miConfig.OrgName
- // pp.FixmedinsCode = miConfig.Code
- // pp.RequestUrl = miConfig.Url
- // pp.Cainfo = miConfig.Cainfo
- // pp.SecretKey = miConfig.SecretKey
- // pp.AccessKey = miConfig.AccessKey
- // pp.OpterName = curRoles.UserName
- //
- // client := &http.Client{}
- // var req *http.Request
- // data := make(map[string]interface{})
- // data["struct4101"] = struct4101
- // data["pp"] = pp
- // bytesData, _ := json.Marshal(data)
- // if miConfig.MdtrtareaAdmvs == "320921" {
- // req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/4101", bytes.NewReader(bytesData))
- // } else {
- // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/4101", bytes.NewReader(bytesData))
- // }
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- // userJSONBytes, _ := json.Marshal(respJSON)
- // fmt.Println("log")
- // fmt.Println(string(userJSONBytes))
- // if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resOther.InfRefmsgid
- // res.Output = resOther.Output
- // res.ErrMsg = resOther.ErrMsg
- // infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- // res.Infcode = infocode
- // } else if miConfig.MdtrtareaAdmvs == "360302" {
- //
- // var pp models.PublicParams
- // pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // pp.FixmedinsName = miConfig.OrgName
- // pp.FixmedinsCode = miConfig.Code
- // pp.RequestUrl = miConfig.Url
- // pp.Cainfo = miConfig.Cainfo
- // pp.SecretKey = miConfig.SecretKey
- // pp.AccessKey = miConfig.AccessKey
- // pp.OpterName = curRoles.UserName
- // result, _ := service.Jxyb4101(struct4101, pp)
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // } else if miConfig.MdtrtareaAdmvs == "430800" {
- // var pp models.PublicParams
- // pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // pp.FixmedinsName = miConfig.OrgName
- // pp.FixmedinsCode = miConfig.Code
- // pp.RequestUrl = miConfig.Url
- // pp.Cainfo = miConfig.Cainfo
- // pp.SecretKey = miConfig.SecretKey
- // pp.AccessKey = miConfig.AccessKey
- // pp.OpterName = curRoles.UserName
- // result, _ := service.Hnyb4101(struct4101, pp)
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // } else if miConfig.MdtrtareaAdmvs == "150499" {
- // var resOther ResultSeventeenOther
- //
- // var pp models.PublicParams
- // pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // pp.FixmedinsName = miConfig.OrgName
- // pp.FixmedinsCode = miConfig.Code
- // pp.RequestUrl = miConfig.Url
- // pp.Cainfo = miConfig.Cainfo
- // pp.SecretKey = miConfig.SecretKey
- // pp.AccessKey = miConfig.AccessKey
- // pp.OpterName = curRoles.UserName
- // client := &http.Client{}
- // var req *http.Request
- // data := make(map[string]interface{})
- // data["struct4101"] = struct4101
- // data["pp"] = pp
- // bytesData, _ := json.Marshal(data)
- // req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/4101", bytes.NewReader(bytesData))
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // userJSONBytes, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.InfRefmsgid = resOther.InfRefmsgid
- // res.Output = resOther.Output
- // res.ErrMsg = resOther.ErrMsg
- // infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- // res.Infcode = infocode
- //
- // } else if miConfig.MdtrtareaAdmvs == "350500" {
- // var pp models.PublicParams
- // pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- // pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- // pp.FixmedinsName = miConfig.OrgName
- // pp.FixmedinsCode = miConfig.Code
- // pp.RequestUrl = miConfig.Url
- // pp.Cainfo = miConfig.Cainfo
- // pp.SecretKey = miConfig.SecretKey
- // pp.AccessKey = miConfig.AccessKey
- // pp.OpterName = curRoles.UserName
- // result, requestLog, errMsgLog := service.Fjyb4101(struct4101, pp)
- // fmt.Println(requestLog)
- // fmt.Println(errMsgLog)
- //
- // saveLog(result, requestLog, "4101a", "上传清单")
- //
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // } else {
- //
- // result, _ := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.UserOrgId)
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // }
- //
- // if res.Infcode != 0 {
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res.ErrMsg,
- // Status: 1,
- // PatientId: order.ID,
- // Stage: 10265,
- // }
- // service.CreateErrMsgLog(errlog)
- // continue
- // } else {
- // //order.FaPiaoNumber = zero
- // //order.FaPiaoCode = last_order.FaPiaoCode
- // //service.UpdateOrder(order)
- // hisFundSettleListResult := &models.HisFundSettleListResult{
- // Number: res.Output.SetlListId,
- // Status: 1,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- // IsUpload: 1,
- // OrderId: order.ID,
- // }
- // service.CreateUploadRecord(hisFundSettleListResult)
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": "上传成功",
- // "result": hisFundSettleListResult,
- // })
- // continue
- // }
- // }
- //}
-
- func (c *HisApiController) GetbatchSettleList() {
- //order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- orders, _ := service.GetAllHisOrderTwo10485()
-
- for _, item := range orders {
-
- order, _ := service.GetHisOrderByIDTwo(item.ID)
- roles, _ := service.GetDoctorListTwo(c.GetAdminUserInfo().CurrentOrgId)
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- //depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
-
- //last_order, _ := service.GetLastHisOrder(c.GetAdminUserInfo().CurrentOrgId)
- //max_order, _ := service.GetLastHisOrderTwo(c.GetAdminUserInfo().CurrentOrgId)
- //count, _ := strconv.ParseInt(max_order.FaPiaoNumber, 10, 64)
- //fmt.Println(count)
- //var zero string
- //number := count + 1
- //if number >= 1000 {
- // zero = "0000" + strconv.FormatInt(number, 10)
- //} else if number >= 10000 {
- // zero = "000" + strconv.FormatInt(number, 10)
- //} else if number >= 100000 {
- // zero = "00" + strconv.FormatInt(number, 10)
- //} else if number >= 1000000 {
- // zero = "0" + strconv.FormatInt(number, 10)
- //} else {
- // zero = strconv.FormatInt(number, 10)
- //}
- //fmt.Println(zero)
-
- struct4101 := service.Struct4101{
- PsnNo: order.PsnNo,
- MdtrtId: order.MdtrtId,
- SetlId: order.SetlId,
- PsnName: order.PsnName,
- Gend: order.Gend,
- Brdy: his.Brdy,
- Age: his.Age,
- Naty: order.Naty,
- PatnCertType: "01",
- Certno: order.Certno,
- Prfs: "90",
- ConerName: roles[0].UserName,
- PatnRlts: "99",
- ConerAddr: miConfig.OrgName,
- ConerTel: admin.Mobile,
- HiType: order.Insutype,
- Insuplc: miConfig.InsuplcAdmdvs,
- MaindiagFlag: "1",
- BillCode: order.SetlId,
- BillNo: order.SetlId,
- BizSn: order.Number,
- PsnSelfPay: order.PsnPartAmt,
- PsnOwnPay: order.PsnPartAmt,
- AcctPay: order.AcctPay,
- PsnCashpay: order.PsnCashPay,
- HiPaymtd: "1",
- Hsorg: miConfig.InsuplcAdmdvs,
- HsorgOpter: miConfig.InsuplcAdmdvs,
- MedinsFillPsn: curRoles.UserName,
- MedinsFillDept: miConfig.OrgName,
- IptMedType: "2",
- }
- struct4101.SetlBegnDate = order.SetlTime
- struct4101.SetlEndDate = order.SetlTime
- time_arr := strings.Split(order.SetlTime, " ")
- struct4101.AdmTime = time_arr[0]
- struct4101.AdmEndTime = time_arr[0]
-
- //var rf []CustomFundPay
- //json.Unmarshal([]byte(order.SetlDetail), &rf)
- //
- //var tempFunPays []service.CustomStruct
- //for _, item := range rf {
- // var tempFunPay service.CustomStruct
- // tempFunPay.FundPayamt = item.FundPayamt
- // tempFunPay.FundPayType = item.FundPayType
- // tempFunPays = append(tempFunPays, tempFunPay)
- //}
- //struct4101.CustomStruct = tempFunPays
-
- var tempDiaginfos []service.DiaginfoStructTwo
- var tempOpspdiseinfo2 service.OpspdiseinfoStruct
- var tempOpspdiseinfos []service.OpspdiseinfoStruct
-
- diagnosis_ids := strings.Split(his.Diagnosis, ",")
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- for index, item := range config {
- if index == 0 {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- } else {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
- struct4101.Diseinfo = tempDiaginfos
-
- sickConfigTwo, _ := service.FindSickById(his.SickType)
- tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
- tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
- tempOpspdiseinfo2.OprnOprtCode = sickConfigTwo.ContentCode
- tempOpspdiseinfo2.OprnOprtName = sickConfigTwo.CountryContentName
- tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
- struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
-
- var iteminfo service.IteminfoStruct
-
- var bedCostTotal float64 = 0 //床位总费
- var bedCostSelfTotal float64 = 0 //床位自费
- var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
-
- var operationCostTotal float64 = 0 //手术费
- var operationCostSelfTotal float64 = 0 //手术费
- var operationCostPartSelfTotal float64 = 0 //手术费
-
- var otherCostTotal float64 = 0 //其他费用
- var otherCostSelfTotal float64 = 0 //其他费用
- var otherCostPartSelfTotal float64 = 0 //其他费用
-
- var materialCostTotal float64 = 0 //材料费
- var materialCostSelfTotal float64 = 0 //材料费
- var materialCostPartSelfTotal float64 = 0 //材料费
-
- var westernMedicineCostTotal float64 = 0 //西药费
- var westernMedicineCostSelfTotal float64 = 0 //西药费
- var westernMedicineCostPartSelfTotal float64 = 0 //西药费
-
- var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
-
- var checkCostTotal float64 = 0 //检查费
- var checkCostSelfTotal float64 = 0 //检查费
- var checkCostPartSelfTotal float64 = 0 //检查费
-
- var laboratoryCostTotal float64 = 0 //化验费
- var laboratoryCostSelfTotal float64 = 0 //化验费
- var laboratoryCostPartSelfTotal float64 = 0 //化验费
-
- var treatCostTotal float64 = 0 //治疗费用
- var treatCostSelfTotal float64 = 0 //治疗费用
- var treatCostPartSelfTotal float64 = 0 //治疗费用
-
- decimal.DivisionPrecision = 2
-
- var bed_fulamt_ownpay_amt float64 = 0
- var operation_fulamt_ownpay_amt float64 = 0
- var other_fulamt_ownpay_amt float64 = 0
- var westernMedicine_fulamt_ownpay_amt float64 = 0
- var chineseTraditional_fulamt_ownpay_amt float64 = 0
- var check_fulamt_ownpay_amt float64 = 0
- var material_fulamt_ownpay_amt float64 = 0
- var laboratory_fulamt_ownpay_amt float64 = 0
- var treat_fulamt_ownpay_amt float64 = 0
-
- var bed_claa_sunmfee float64 = 0
- var bed_clab_amt float64 = 0
- var bed_other_amt float64 = 0
-
- var operation_claa_sunmfee float64 = 0
- var operation_clab_amt float64 = 0
- var operation_other_amt float64 = 0
-
- var other_claa_sunmfee float64 = 0
- var other_clab_amt float64 = 0
- var other_other_amt float64 = 0
-
- var westernMedicine_claa_sunmfee float64 = 0
- var westernMedicine_clab_amt float64 = 0
- var westernMedicine_other_amt float64 = 0
-
- var chineseTraditional_claa_sunmfee float64 = 0
- var chineseTraditional_clab_amt float64 = 0
- var chineseTraditional_other_amt float64 = 0
-
- var check_claa_sunmfee float64 = 0
- var check_clab_amt float64 = 0
- var check_other_amt float64 = 0
-
- var material_claa_sunmfee float64 = 0
- var material_clab_amt float64 = 0
- var material_other_amt float64 = 0
-
- var laboratory_claa_sunmfee float64 = 0
- var laboratory_clab_amt float64 = 0
- var laboratory_other_amt float64 = 0
-
- var treat_claa_sunmfee float64 = 0
- var treat_clab_amt float64 = 0
- var treat_other_amt float64 = 0
-
- for _, item := range order.HisOrderInfo {
- if item.MedChrgitmType == "01" { //床位费
- bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
- bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- }
- if item.ChrgitmLv == "2" {
- bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
-
- }
-
- if item.MedChrgitmType == "03" { //检查费
- checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "04" { //化验费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "05" { //治疗费
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "06" { //手术费
- operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
-
- if item.ChrgitmLv == "1" {
-
- operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "08" { //材料费
- materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "09" { //西药费
- westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "11" { //中成费
- chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "14" { //其他费
- otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
- other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- }
-
- var iteminfoStructs []service.IteminfoStruct
-
- if bedCostTotal != 0 {
- iteminfo.MedChrgitm = "01"
- iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- iteminfo.Amt = bedCostTotal
- iteminfo.ClaaSumfee = bed_claa_sunmfee
- iteminfo.ClabAmt = bed_clab_amt
- iteminfo.OthAmt = bed_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if checkCostTotal != 0 {
- iteminfo.MedChrgitm = "03"
- iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
- iteminfo.Amt = checkCostTotal
- iteminfo.ClaaSumfee = check_claa_sunmfee
- iteminfo.ClabAmt = check_clab_amt
- iteminfo.OthAmt = check_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
-
- if laboratoryCostTotal != 0 {
- iteminfo.MedChrgitm = "04"
- iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
- iteminfo.Amt = laboratoryCostTotal
- iteminfo.ClaaSumfee = laboratory_claa_sunmfee
- iteminfo.ClabAmt = laboratory_clab_amt
- iteminfo.OthAmt = laboratory_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
-
- }
-
- if treatCostTotal != 0 {
- iteminfo.MedChrgitm = "05"
- iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
- iteminfo.Amt = treatCostTotal
- iteminfo.ClaaSumfee = treat_claa_sunmfee
- iteminfo.ClabAmt = treat_clab_amt
- iteminfo.OthAmt = treat_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- //(struct4101.IteminfoStruct, iteminfo)
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- }
-
- if operationCostTotal != 0 {
- iteminfo.MedChrgitm = "06"
- iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- iteminfo.Amt = operationCostTotal
- iteminfo.ClaaSumfee = operation_claa_sunmfee
- iteminfo.ClabAmt = operation_clab_amt
- iteminfo.OthAmt = operation_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if materialCostTotal != 0 {
- iteminfo.MedChrgitm = "08"
- iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
- iteminfo.Amt = materialCostTotal
- iteminfo.ClaaSumfee = material_claa_sunmfee
- iteminfo.ClabAmt = material_clab_amt
- iteminfo.OthAmt = material_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if westernMedicineCostTotal != 0 {
- iteminfo.MedChrgitm = "09"
- iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- iteminfo.Amt = westernMedicineCostTotal
- iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- iteminfo.ClabAmt = westernMedicine_clab_amt
- iteminfo.OthAmt = westernMedicine_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- if chineseTraditionalMedicineCostTotal != 0 {
- iteminfo.MedChrgitm = "11"
- iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- iteminfo.Amt = westernMedicineCostTotal
- iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- iteminfo.ClabAmt = westernMedicine_clab_amt
- iteminfo.OthAmt = westernMedicine_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- if otherCostTotal != 0 {
- iteminfo.MedChrgitm = "14"
- iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
- iteminfo.Amt = otherCostTotal
- iteminfo.ClaaSumfee = other_claa_sunmfee
- iteminfo.ClabAmt = other_clab_amt
- iteminfo.OthAmt = other_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- struct4101.IteminfoStruct = iteminfoStructs
- struct4101.Ntly = "中国"
- struct4101.AdmCaty = "A03.06"
-
- struct4101.DoctorName = doctor.UserName
- struct4101.DoctorCode = doctor.DoctorNumber
-
- var res ResultSeventeen
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- struct4101.BillCode = order.Number
- struct4101.BillNo = order.SetlId
- var resOther ResultSeventeenOther
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
-
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/4101", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/4101", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resOther.InfRefmsgid
- res.Output = resOther.Output
- res.ErrMsg = resOther.ErrMsg
- infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- res.Infcode = infocode
- } else if miConfig.MdtrtareaAdmvs == "360302" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = his.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- utils.ErrorLog("解析失败:%v", his.InsuplcAdmdvs)
-
- result, _ := service.Jxyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = his.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- utils.ErrorLog("解析失败:%v", his.InsuplcAdmdvs)
-
- result, _ := service.Jxyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, _ := service.Hnyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var resOther ResultSeventeenOther
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/4101", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resOther.InfRefmsgid
- res.Output = resOther.Output
- res.ErrMsg = resOther.ErrMsg
- infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, requestLog, errMsgLog := service.Fjyb4101(struct4101, pp)
- fmt.Println(requestLog)
- fmt.Println(errMsgLog)
-
- saveLog(result, requestLog, "4101a", "上传清单")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- req, _ = http.NewRequest("POST", miConfig.Url+"gdyb/4101", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- result, _ := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.UserOrgId, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode != 0 {
- errlog := &models.HisOrderError{
- UserOrgId: order.UserOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res.ErrMsg + "解析失败",
- Status: 1,
- PatientId: order.ID,
- Stage: 10485,
- }
- service.CreateErrMsgLog(errlog)
- continue
-
- //c.ServeSuccessJSON(map[string]interface{}{
- // "failed_code": -10,
- // "msg": res.ErrMsg,
- //})
-
- } else {
- //order.FaPiaoNumber = zero
- //order.FaPiaoCode = last_order.FaPiaoCode
- //service.UpdateOrder(order)
- hisFundSettleListResult := &models.HisFundSettleListResult{
- Number: res.Output.SetlListId,
- Status: 1,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- IsUpload: 1,
- OrderId: order.ID,
- }
- service.CreateUploadRecord(hisFundSettleListResult)
- continue
-
- }
- }
- }
-
- func (c *HisApiController) GetSettleList() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- order, _ := service.GetHisOrderByIDTwo(order_id)
- roles, _ := service.GetDoctorListTwo(c.GetAdminUserInfo().CurrentOrgId)
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- //depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
-
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- return
- }
-
- //last_order, _ := service.GetLastHisOrder(c.GetAdminUserInfo().CurrentOrgId)
- //max_order, _ := service.GetLastHisOrderTwo(c.GetAdminUserInfo().CurrentOrgId)
- //count, _ := strconv.ParseInt(max_order.FaPiaoNumber, 10, 64)
- //fmt.Println(count)
- //var zero string
- //number := count + 1
- //if number >= 1000 {
- // zero = "0000" + strconv.FormatInt(number, 10)
- //} else if number >= 10000 {
- // zero = "000" + strconv.FormatInt(number, 10)
- //} else if number >= 100000 {
- // zero = "00" + strconv.FormatInt(number, 10)
- //} else if number >= 1000000 {
- // zero = "0" + strconv.FormatInt(number, 10)
- //} else {
- // zero = strconv.FormatInt(number, 10)
- //}
- //fmt.Println(zero)
-
- struct4101 := service.Struct4101{
- PsnNo: order.PsnNo,
- MdtrtId: order.MdtrtId,
- SetlId: order.SetlId,
- PsnName: order.PsnName,
- Gend: order.Gend,
- Brdy: his.Brdy,
- Age: his.Age,
- Naty: order.Naty,
- PatnCertType: "01",
- Certno: order.Certno,
- Prfs: "90",
- ConerName: roles[0].UserName,
- PatnRlts: "99",
- ConerAddr: miConfig.OrgName,
- ConerTel: admin.Mobile,
- HiType: order.Insutype,
- Insuplc: miConfig.InsuplcAdmdvs,
- MaindiagFlag: "1",
- BillCode: order.SetlId,
- BillNo: order.SetlId,
- BizSn: order.Number,
- PsnSelfPay: order.PsnPartAmt,
- PsnOwnPay: order.PsnPartAmt,
- AcctPay: order.AcctPay,
- PsnCashpay: order.PsnCashPay,
- HiPaymtd: "1",
- Hsorg: miConfig.InsuplcAdmdvs,
- HsorgOpter: miConfig.InsuplcAdmdvs,
- MedinsFillPsn: curRoles.UserName,
- MedinsFillDept: miConfig.OrgName,
- IptMedType: "2",
- }
- struct4101.SetlBegnDate = order.SetlTime
- struct4101.SetlEndDate = order.SetlTime
- time_arr := strings.Split(order.SetlTime, " ")
- struct4101.AdmTime = time_arr[0]
- struct4101.AdmEndTime = time_arr[0]
- //
- //var rf []CustomFundPay
- //json.Unmarshal([]byte(order.SetlDetail), &rf)
- //
- //var tempFunPays []service.CustomStruct
- //for _, item := range rf {
- // var tempFunPay service.CustomStruct
- // tempFunPay.FundPayamt = item.FundPayamt
- // tempFunPay.FundPayType = item.FundPayType
- // tempFunPays = append(tempFunPays, tempFunPay)
- //}
- //struct4101.CustomStruct = tempFunPays
-
- var tempDiaginfos []service.DiaginfoStructTwo
- var tempOpspdiseinfo2 service.OpspdiseinfoStruct
- var tempOpspdiseinfos []service.OpspdiseinfoStruct
-
- diagnosis_ids := strings.Split(order.Diagnosis, ",")
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- if miConfig.Code == "H15049901371" {
-
- //for _, item := range config {
- // if item.ID == 138 {
- diagnosisConfig, _ := service.FindDiagnoseById(138)
-
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = diagnosisConfig.CountryCode
- tempDiaginfo.DiagName = diagnosisConfig.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- //}
- //}
-
- for _, item := range config {
- if item.ID != 138 {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
-
- } else {
-
- for index, item := range config {
- if index == 0 {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- } else {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
-
- }
-
- struct4101.Diseinfo = tempDiaginfos
-
- sickConfigTwo, _ := service.FindSickById(his.SickType)
- tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
- tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
- tempOpspdiseinfo2.OprnOprtCode = sickConfigTwo.ContentCode
- tempOpspdiseinfo2.OprnOprtName = sickConfigTwo.CountryContentName
- tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
- struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
-
- var iteminfo service.IteminfoStruct
-
- var bedCostTotal float64 = 0 //床位总费
- var bedCostSelfTotal float64 = 0 //床位自费
- var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
-
- var operationCostTotal float64 = 0 //手术费
- var operationCostSelfTotal float64 = 0 //手术费
- var operationCostPartSelfTotal float64 = 0 //手术费
-
- var otherCostTotal float64 = 0 //其他费用
- var otherCostSelfTotal float64 = 0 //其他费用
- var otherCostPartSelfTotal float64 = 0 //其他费用
-
- var materialCostTotal float64 = 0 //材料费
- var materialCostSelfTotal float64 = 0 //材料费
- var materialCostPartSelfTotal float64 = 0 //材料费
-
- var westernMedicineCostTotal float64 = 0 //西药费
- var westernMedicineCostSelfTotal float64 = 0 //西药费
- var westernMedicineCostPartSelfTotal float64 = 0 //西药费
-
- var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
-
- var checkCostTotal float64 = 0 //检查费
- var checkCostSelfTotal float64 = 0 //检查费
- var checkCostPartSelfTotal float64 = 0 //检查费
-
- var laboratoryCostTotal float64 = 0 //化验费
- var laboratoryCostSelfTotal float64 = 0 //化验费
- var laboratoryCostPartSelfTotal float64 = 0 //化验费
-
- var treatCostTotal float64 = 0 //治疗费用
- var treatCostSelfTotal float64 = 0 //治疗费用
- var treatCostPartSelfTotal float64 = 0 //治疗费用
-
- decimal.DivisionPrecision = 2
-
- var bed_fulamt_ownpay_amt float64 = 0
- var operation_fulamt_ownpay_amt float64 = 0
- var other_fulamt_ownpay_amt float64 = 0
- var westernMedicine_fulamt_ownpay_amt float64 = 0
- var chineseTraditional_fulamt_ownpay_amt float64 = 0
- var check_fulamt_ownpay_amt float64 = 0
- var material_fulamt_ownpay_amt float64 = 0
- var laboratory_fulamt_ownpay_amt float64 = 0
- var treat_fulamt_ownpay_amt float64 = 0
-
- var bed_claa_sunmfee float64 = 0
- var bed_clab_amt float64 = 0
- var bed_other_amt float64 = 0
-
- var operation_claa_sunmfee float64 = 0
- var operation_clab_amt float64 = 0
- var operation_other_amt float64 = 0
-
- var other_claa_sunmfee float64 = 0
- var other_clab_amt float64 = 0
- var other_other_amt float64 = 0
-
- var westernMedicine_claa_sunmfee float64 = 0
- var westernMedicine_clab_amt float64 = 0
- var westernMedicine_other_amt float64 = 0
-
- var chineseTraditional_claa_sunmfee float64 = 0
- var chineseTraditional_clab_amt float64 = 0
- var chineseTraditional_other_amt float64 = 0
-
- var check_claa_sunmfee float64 = 0
- var check_clab_amt float64 = 0
- var check_other_amt float64 = 0
-
- var material_claa_sunmfee float64 = 0
- var material_clab_amt float64 = 0
- var material_other_amt float64 = 0
-
- var laboratory_claa_sunmfee float64 = 0
- var laboratory_clab_amt float64 = 0
- var laboratory_other_amt float64 = 0
-
- var treat_claa_sunmfee float64 = 0
- var treat_clab_amt float64 = 0
- var treat_other_amt float64 = 0
-
- for _, item := range order.HisOrderInfo {
- if item.MedChrgitmType == "01" { //床位费
- bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
- bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- }
- if item.ChrgitmLv == "2" {
- bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
-
- }
-
- if item.MedChrgitmType == "03" { //检查费
- checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "04" { //化验费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "05" { //治疗费
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "06" { //手术费
- operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
-
- if item.ChrgitmLv == "1" {
-
- operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "08" { //材料费
- materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "09" { //西药费
- westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "11" { //中成费
- chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "14" { //其他费
- otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
- other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- }
-
- var iteminfoStructs []service.IteminfoStruct
-
- if bedCostTotal != 0 {
- iteminfo.MedChrgitm = "01"
- iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- iteminfo.Amt = bedCostTotal
- iteminfo.ClaaSumfee = bed_claa_sunmfee
- iteminfo.ClabAmt = bed_clab_amt
- iteminfo.OthAmt = bed_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if checkCostTotal != 0 {
- iteminfo.MedChrgitm = "03"
- iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
- iteminfo.Amt = checkCostTotal
- iteminfo.ClaaSumfee = check_claa_sunmfee
- iteminfo.ClabAmt = check_clab_amt
- iteminfo.OthAmt = check_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
-
- if laboratoryCostTotal != 0 {
- iteminfo.MedChrgitm = "04"
- iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
- iteminfo.Amt = laboratoryCostTotal
- iteminfo.ClaaSumfee = laboratory_claa_sunmfee
- iteminfo.ClabAmt = laboratory_clab_amt
- iteminfo.OthAmt = laboratory_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
-
- }
-
- if treatCostTotal != 0 {
- iteminfo.MedChrgitm = "05"
- iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
- iteminfo.Amt = treatCostTotal
- iteminfo.ClaaSumfee = treat_claa_sunmfee
- iteminfo.ClabAmt = treat_clab_amt
- iteminfo.OthAmt = treat_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- //(struct4101.IteminfoStruct, iteminfo)
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- }
-
- if operationCostTotal != 0 {
- iteminfo.MedChrgitm = "06"
- iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- iteminfo.Amt = operationCostTotal
- iteminfo.ClaaSumfee = operation_claa_sunmfee
- iteminfo.ClabAmt = operation_clab_amt
- iteminfo.OthAmt = operation_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if materialCostTotal != 0 {
- iteminfo.MedChrgitm = "08"
- iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
- iteminfo.Amt = materialCostTotal
- iteminfo.ClaaSumfee = material_claa_sunmfee
- iteminfo.ClabAmt = material_clab_amt
- iteminfo.OthAmt = material_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if westernMedicineCostTotal != 0 {
- iteminfo.MedChrgitm = "09"
- iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- iteminfo.Amt = westernMedicineCostTotal
- iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- iteminfo.ClabAmt = westernMedicine_clab_amt
- iteminfo.OthAmt = westernMedicine_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- if chineseTraditionalMedicineCostTotal != 0 {
- iteminfo.MedChrgitm = "11"
- iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- iteminfo.Amt = westernMedicineCostTotal
- iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- iteminfo.ClabAmt = westernMedicine_clab_amt
- iteminfo.OthAmt = westernMedicine_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- if otherCostTotal != 0 {
- iteminfo.MedChrgitm = "14"
- iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
- iteminfo.Amt = otherCostTotal
- iteminfo.ClaaSumfee = other_claa_sunmfee
- iteminfo.ClabAmt = other_clab_amt
- iteminfo.OthAmt = other_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- struct4101.IteminfoStruct = iteminfoStructs
- struct4101.Ntly = "中国"
- struct4101.AdmCaty = "A03.06"
-
- struct4101.DoctorName = doctor.UserName
- struct4101.DoctorCode = doctor.DoctorNumber
-
- var res ResultSeventeen
-
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- struct4101.BillCode = order.Number
- struct4101.BillNo = order.SetlId
- var resOther ResultSeventeenOther
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
-
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/4101", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/4101", bytes.NewReader(bytesData))
- }
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resOther.InfRefmsgid
- res.Output = resOther.Output
- res.ErrMsg = resOther.ErrMsg
- infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- res.Infcode = infocode
- } else if miConfig.MdtrtareaAdmvs == "360302" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = his.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, _ := service.Jxyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = his.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, _ := service.Jxyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, _ := service.Hnyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var resOther ResultSeventeenOther
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/4101", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resOther.InfRefmsgid
- res.Output = resOther.Output
- res.ErrMsg = resOther.ErrMsg
- infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, requestLog, errMsgLog := service.Fjyb4101(struct4101, pp)
- fmt.Println(requestLog)
- fmt.Println(errMsgLog)
-
- saveLog(result, requestLog, "4101a", "上传清单")
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- req, _ = http.NewRequest("POST", miConfig.Url+"gdyb/4101", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- result, _ := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.UserOrgId, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode != 0 {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- //order.FaPiaoNumber = zero
- //order.FaPiaoCode = last_order.FaPiaoCode
- //service.UpdateOrder(order)
- hisFundSettleListResult := &models.HisFundSettleListResult{
- Number: res.Output.SetlListId,
- Status: 1,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- IsUpload: 1,
- OrderId: order_id,
- }
- service.CreateUploadRecord(hisFundSettleListResult)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- "result": hisFundSettleListResult,
- })
- return
- }
- }
-
- func (c *HisApiController) GetSettleListHospital() {
-
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- order, _ := service.GetHisOrderByIDTwo(order_id)
- roles, _ := service.GetDoctorListTwo(c.GetAdminUserInfo().CurrentOrgId)
- his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
- curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
-
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- return
- }
-
- last_order, _ := service.GetLastHisOrder(c.GetAdminUserInfo().CurrentOrgId)
- max_order, _ := service.GetLastHisOrderTwo(c.GetAdminUserInfo().CurrentOrgId)
- count, _ := strconv.ParseInt(max_order.FaPiaoNumber, 10, 64)
- fmt.Println(count)
- var zero string
- number := count + 1
- if number >= 1000 {
- zero = "0000" + strconv.FormatInt(number, 10)
- } else if number >= 10000 {
- zero = "000" + strconv.FormatInt(number, 10)
- } else if number >= 100000 {
- zero = "00" + strconv.FormatInt(number, 10)
- } else if number >= 1000000 {
- zero = "0" + strconv.FormatInt(number, 10)
- } else {
- zero = strconv.FormatInt(number, 10)
- }
- fmt.Println(zero)
-
- struct4101 := service.Struct4101{
- PsnNo: order.PsnNo,
- MdtrtId: order.MdtrtId,
- SetlId: order.SetlId,
- PsnName: order.PsnName,
- Gend: order.Gend,
- Brdy: his.Brdy,
- Age: int64(order.Age),
- Naty: order.Naty,
- PatnCertType: "01",
- Certno: order.Certno,
- Prfs: "90",
- ConerName: roles[0].UserName,
- PatnRlts: "99",
- ConerAddr: miConfig.OrgName,
- ConerTel: admin.Mobile,
- HiType: order.Insutype,
- Insuplc: miConfig.InsuplcAdmdvs,
- MaindiagFlag: "1",
- BillCode: order.SetlId,
- BillNo: order.SetlId,
- BizSn: order.Number,
- PsnSelfPay: order.PsnPartAmt,
- PsnOwnPay: order.PsnPartAmt,
- AcctPay: order.AcctPay,
- PsnCashpay: order.PsnCashPay,
- HiPaymtd: "1",
- Hsorg: miConfig.InsuplcAdmdvs,
- HsorgOpter: miConfig.InsuplcAdmdvs,
- MedinsFillPsn: curRoles.UserName,
- MedinsFillDept: depart.Name,
- IptMedType: "2",
- AdmTime: his.InHosptialTime,
- AdmEndTime: his.OutHosptialTime,
- }
- struct4101.SetlBegnDate = order.SetlTime
- struct4101.SetlEndDate = order.SetlTime
-
- //var rf []CustomFundPay
- //json.Unmarshal([]byte(order.SetlDetail), &rf)
- //
- //var tempFunPays []service.CustomStruct
- //for _, item := range rf {
- // var tempFunPay service.CustomStruct
- // tempFunPay.FundPayamt = item.FundPayamt
- // tempFunPay.FundPayType = item.FundPayType
- // tempFunPays = append(tempFunPays, tempFunPay)
- //}
- //struct4101.CustomStruct = tempFunPays
-
- var tempDiaginfos []service.DiaginfoStructTwo
- var tempOpspdiseinfo2 service.OpspdiseinfoStruct
- var tempOpspdiseinfos []service.OpspdiseinfoStruct
- //infos, _ := service.FindLastPatientPrescriptionInfoTwo2(c.GetAdminUserInfo().CurrentOrgId, his.PatientId, strings.Split(his.InHosptialTime, " ")[0], strings.Split(his.OutHosptialTime, " ")[0])
- //for _, item := range infos {
- // his.Diagnosis = his.Diagnosis + "," + item.Diagnosis
- //}
- diagnosis_ids_arr := strings.Split(his.Diagnosis, ",")
- diagnosis_ids_arr = RemoveRepeatedPurviewElement2(diagnosis_ids_arr)
- //diagnosis_ids := strings.Split(his.Diagnosis, ",")
- fmt.Println(diagnosis_ids_arr)
-
- if order.UserOrgId == 10210 {
- var diagnosis_ids_arr_two []int64
- diagnosis_ids_arr_two = append(diagnosis_ids_arr_two, 704)
- var config []*models.HisXtDiagnoseConfig
- for _, id := range diagnosis_ids_arr_two {
- //id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- if diagnosisConfig.ID > 0 {
- config = append(config, &diagnosisConfig)
- }
- }
- for index, item := range config {
- if item.ID > 0 {
- if index == 0 {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- } else {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
- }
- struct4101.Diseinfo = tempDiaginfos
-
- } else {
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids_arr {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- if diagnosisConfig.ID > 0 {
- config = append(config, &diagnosisConfig)
- }
- }
- for index, item := range config {
- if item.ID > 0 {
- if index == 0 {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "1"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- } else {
- var tempDiaginfo service.DiaginfoStructTwo
- tempDiaginfo.DiagCode = item.CountryCode
- tempDiaginfo.DiagName = item.CountryContentName
- tempDiaginfo.DiagType = "1"
- tempDiaginfo.MaindiagFlag = "0"
- tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- }
- }
- }
- struct4101.Diseinfo = tempDiaginfos
-
- }
-
- sickConfigTwo, _ := service.FindSickById(his.SickType)
- tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
- tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
- tempOpspdiseinfo2.OprnOprtCode = ""
- tempOpspdiseinfo2.OprnOprtName = ""
- tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
- struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
-
- var iteminfo service.IteminfoStruct
-
- var bedCostTotal float64 = 0 //床位总费
- var bedCostSelfTotal float64 = 0 //床位自费
- var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
-
- var operationCostTotal float64 = 0 //手术费
- var operationCostSelfTotal float64 = 0 //手术费
- var operationCostPartSelfTotal float64 = 0 //手术费
-
- var otherCostTotal float64 = 0 //其他费用
- var otherCostSelfTotal float64 = 0 //其他费用
- var otherCostPartSelfTotal float64 = 0 //其他费用
-
- var materialCostTotal float64 = 0 //材料费
- var materialCostSelfTotal float64 = 0 //材料费
- var materialCostPartSelfTotal float64 = 0 //材料费
-
- var westernMedicineCostTotal float64 = 0 //西药费
- var westernMedicineCostSelfTotal float64 = 0 //西药费
- var westernMedicineCostPartSelfTotal float64 = 0 //西药费
-
- var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
-
- var checkCostTotal float64 = 0 //检查费
- var checkCostSelfTotal float64 = 0 //检查费
- var checkCostPartSelfTotal float64 = 0 //检查费
-
- var laboratoryCostTotal float64 = 0 //化验费
- var laboratoryCostSelfTotal float64 = 0 //化验费
- var laboratoryCostPartSelfTotal float64 = 0 //化验费
-
- var treatCostTotal float64 = 0 //治疗费用
- var treatCostSelfTotal float64 = 0 //治疗费用
- var treatCostPartSelfTotal float64 = 0 //治疗费用
-
- decimal.DivisionPrecision = 2
-
- var bed_fulamt_ownpay_amt float64 = 0
- var operation_fulamt_ownpay_amt float64 = 0
- var other_fulamt_ownpay_amt float64 = 0
- var westernMedicine_fulamt_ownpay_amt float64 = 0
- var chineseTraditional_fulamt_ownpay_amt float64 = 0
- var check_fulamt_ownpay_amt float64 = 0
- var material_fulamt_ownpay_amt float64 = 0
- var laboratory_fulamt_ownpay_amt float64 = 0
- var treat_fulamt_ownpay_amt float64 = 0
-
- var bed_claa_sunmfee float64 = 0
- var bed_clab_amt float64 = 0
- var bed_other_amt float64 = 0
-
- var operation_claa_sunmfee float64 = 0
- var operation_clab_amt float64 = 0
- var operation_other_amt float64 = 0
-
- var other_claa_sunmfee float64 = 0
- var other_clab_amt float64 = 0
- var other_other_amt float64 = 0
-
- var westernMedicine_claa_sunmfee float64 = 0
- var westernMedicine_clab_amt float64 = 0
- var westernMedicine_other_amt float64 = 0
-
- var chineseTraditional_claa_sunmfee float64 = 0
- var chineseTraditional_clab_amt float64 = 0
- var chineseTraditional_other_amt float64 = 0
-
- var check_claa_sunmfee float64 = 0
- var check_clab_amt float64 = 0
- var check_other_amt float64 = 0
-
- var material_claa_sunmfee float64 = 0
- var material_clab_amt float64 = 0
- var material_other_amt float64 = 0
-
- var laboratory_claa_sunmfee float64 = 0
- var laboratory_clab_amt float64 = 0
- var laboratory_other_amt float64 = 0
-
- var treat_claa_sunmfee float64 = 0
- var treat_clab_amt float64 = 0
- var treat_other_amt float64 = 0
-
- for _, item := range order.HisOrderInfo {
- if item.MedChrgitmType == "01" { //床位费
- bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
- bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- }
- if item.ChrgitmLv == "2" {
- bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
-
- }
-
- if item.MedChrgitmType == "03" { //检查费
- checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "04" { //化验费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "05" { //治疗费
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "06" { //手术费
- operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
-
- if item.ChrgitmLv == "1" {
-
- operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "08" { //材料费
- materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "09" { //西药费
- westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "11" { //中成费
- chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
-
- chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- if item.MedChrgitmType == "14" { //其他费
- otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- if item.ChrgitmLv == "1" {
- other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
-
- }
- if item.ChrgitmLv == "2" {
- other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.ChrgitmLv == "3" {
- other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- }
- }
-
- }
-
- var iteminfoStructs []service.IteminfoStruct
-
- if bedCostTotal != 0 {
- iteminfo.MedChrgitm = "01"
- iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- iteminfo.Amt = bedCostTotal
- iteminfo.ClaaSumfee = bed_claa_sunmfee
- iteminfo.ClabAmt = bed_clab_amt
- iteminfo.OthAmt = bed_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if checkCostTotal != 0 {
- iteminfo.MedChrgitm = "03"
- iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
- iteminfo.Amt = checkCostTotal
- iteminfo.ClaaSumfee = check_claa_sunmfee
- iteminfo.ClabAmt = check_clab_amt
- iteminfo.OthAmt = check_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
-
- if laboratoryCostTotal != 0 {
- iteminfo.MedChrgitm = "04"
- iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
- iteminfo.Amt = laboratoryCostTotal
- iteminfo.ClaaSumfee = laboratory_claa_sunmfee
- iteminfo.ClabAmt = laboratory_clab_amt
- iteminfo.OthAmt = laboratory_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
-
- }
-
- if treatCostTotal != 0 {
- iteminfo.MedChrgitm = "05"
- iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
- iteminfo.Amt = treatCostTotal
- iteminfo.ClaaSumfee = treat_claa_sunmfee
- iteminfo.ClabAmt = treat_clab_amt
- iteminfo.OthAmt = treat_other_amt
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- //(struct4101.IteminfoStruct, iteminfo)
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- }
-
- if operationCostTotal != 0 {
- iteminfo.MedChrgitm = "06"
- iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- iteminfo.Amt = operationCostTotal
- iteminfo.ClaaSumfee = operation_claa_sunmfee
- iteminfo.ClabAmt = operation_clab_amt
- iteminfo.OthAmt = operation_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if materialCostTotal != 0 {
- iteminfo.MedChrgitm = "08"
- iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
- iteminfo.Amt = materialCostTotal
- iteminfo.ClaaSumfee = material_claa_sunmfee
- iteminfo.ClabAmt = material_clab_amt
- iteminfo.OthAmt = material_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
- }
-
- if westernMedicineCostTotal != 0 {
- iteminfo.MedChrgitm = "09"
- iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- iteminfo.Amt = westernMedicineCostTotal
- iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- iteminfo.ClabAmt = westernMedicine_clab_amt
- iteminfo.OthAmt = westernMedicine_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- if chineseTraditionalMedicineCostTotal != 0 {
- iteminfo.MedChrgitm = "11"
- iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- iteminfo.Amt = westernMedicineCostTotal
- iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- iteminfo.ClabAmt = westernMedicine_clab_amt
- iteminfo.OthAmt = westernMedicine_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- if otherCostTotal != 0 {
- iteminfo.MedChrgitm = "14"
- iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
- iteminfo.Amt = otherCostTotal
- iteminfo.ClaaSumfee = other_claa_sunmfee
- iteminfo.ClabAmt = other_clab_amt
- iteminfo.OthAmt = other_other_amt
- //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- iteminfoStructs = append(iteminfoStructs, iteminfo)
-
- }
- struct4101.IteminfoStruct = iteminfoStructs
- struct4101.Ntly = "中国"
- struct4101.AdmCaty = "A03.06"
- var resOther ResultSeventeenOther
- var res ResultSeventeen
- if miConfig.MdtrtareaAdmvs == "150499" {
- var pp models.PublicParams
- pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- client := &http.Client{}
- var req *http.Request
- data := make(map[string]interface{})
- data["struct4101"] = struct4101
- data["pp"] = pp
- bytesData, _ := json.Marshal(data)
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/4101", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &resOther); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resOther.InfRefmsgid
- res.Output = resOther.Output
- res.ErrMsg = resOther.ErrMsg
- infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64)
- res.Infcode = infocode
- } else if miConfig.MdtrtareaAdmvs == "360302" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = his.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, _ := service.Jxyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
-
- var pp models.PublicParams
- pp.InsuplcAdmdvs = his.InsuplcAdmdvs
- pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- pp.FixmedinsName = miConfig.OrgName
- pp.FixmedinsCode = miConfig.Code
- pp.RequestUrl = miConfig.Url
- pp.Cainfo = miConfig.Cainfo
- pp.SecretKey = miConfig.SecretKey
- pp.AccessKey = miConfig.AccessKey
- pp.OpterName = curRoles.UserName
- result, _ := service.Jxyb4101(struct4101, pp)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- result, _ := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.UserOrgId, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- if res.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- if miConfig.MdtrtareaAdmvs != "150499" {
- order.FaPiaoNumber = zero
- order.FaPiaoCode = last_order.FaPiaoCode
- service.UpdateOrder(order)
- }
- hisFundSettleListResult := &models.HisFundSettleListResult{
- Number: res.Output.SetlListId,
- Status: 1,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- IsUpload: 1,
- OrderId: order_id,
- }
- service.CreateUploadRecord(hisFundSettleListResult)
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- "result": hisFundSettleListResult,
- })
- return
- }
- }
-
- //func (c *HisApiController) GetBatchSettleList() {
- // orders, _ := service.GetAllHisOrder(10106)
- // for _, item := range orders {
- // order_id := item.ID
- // order, _ := service.GetHisOrderByIDTwo(order_id)
- // roles, _ := service.GetDoctorListTwo(c.GetAdminUserInfo().CurrentOrgId)
- // his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- // admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
- // curRoles, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, 2495)
- // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
- // miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- //
- // pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
- //
- // doctor, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, pre.Creator)
- //
- // if order.ID == 0 {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
- // return
- // }
- // if his.BalanceAccountsType == 2 {
- // continue
- // }
- // struct4101 := service.Struct4101{
- // PsnNo: order.PsnNo,
- // MdtrtId: order.MdtrtId,
- // SetlId: order.SetlId,
- // PsnName: order.PsnName,
- // Gend: order.Gend,
- // Brdy: his.Brdy,
- // Age: his.Age,
- // Naty: order.Naty,
- // PatnCertType: "01",
- // Certno: order.Certno,
- // Prfs: "90",
- // ConerName: roles[0].UserName,
- // PatnRlts: "99",
- // ConerAddr: miConfig.OrgName,
- // ConerTel: admin.Mobile,
- // HiType: order.Insutype,
- // Insuplc: his.InsuplcAdmdvs,
- // MaindiagFlag: "1",
- // BillCode: order.SetlId,
- // BillNo: order.SetlId,
- // BizSn: order.Number,
- // PsnSelfPay: order.PsnPartAmt,
- // PsnOwnPay: order.PsnPartAmt,
- // AcctPay: order.AcctPay,
- // PsnCashpay: order.PsnCashPay,
- // HiPaymtd: "1",
- // Hsorg: his.InsuplcAdmdvs,
- // HsorgOpter: his.InsuplcAdmdvs,
- // MedinsFillPsn: curRoles.UserName,
- // MedinsFillDept: depart.Name,
- // IptMedType: "2",
- // }
- // struct4101.SetlBegnDate = order.SetlTime
- // struct4101.SetlEndDate = order.SetlTime
- // //if order.SettleType == 1 {
- // // t := time.Unix(int64(order.SettleAccountsDate), 0)
- // // dateStr := t.Format("2006-01-02")
- // // struct4101.SetlBegnDate = dateStr
- // // struct4101.SetlEndDate = dateStr
- // //} else {
- // // t := time.Unix(int64(order.SettleStartTime), 0)
- // // t2 := time.Unix(int64(order.SettleEndTime), 0)
- // // dateStartStr := t.Format("2006-01-02")
- // // dateEndStr := t2.Format("2006-01-02")
- // // struct4101.SetlBegnDate = dateStartStr
- // // struct4101.SetlEndDate = dateEndStr
- // //}
- //
- // var rf []CustomFundPay
- // json.Unmarshal([]byte(order.SetlDetail), &rf)
- //
- // var tempFunPays []service.CustomStruct
- // var tempFunPay610100 service.CustomStruct
- //
- // for _, item := range rf {
- // if item.FundPayType == "610100" {
- // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
- // tempFunPay610100.FundPayType = item.FundPayType
- // } else {
- // var tempFunPay service.CustomStruct
- // tempFunPay.FundPayamt = item.FundPayamt
- // tempFunPay.FundPayType = item.FundPayType
- // tempFunPays = append(tempFunPays, tempFunPay)
- // }
- // }
- // tempFunPays = append(tempFunPays, tempFunPay610100)
- // struct4101.CustomStruct = tempFunPays
- //
- // var tempDiaginfos []service.DiaginfoStructTwo
- // var tempOpspdiseinfo2 service.OpspdiseinfoStruct
- // var tempOpspdiseinfos []service.OpspdiseinfoStruct
- //
- // diagnosis_ids := strings.Split(his.Diagnosis, ",")
- // var config []*models.HisXtDiagnoseConfig
- // for _, item := range diagnosis_ids {
- // id, _ := strconv.ParseInt(item, 10, 64)
- // diagnosisConfig, _ := service.FindDiagnoseById(id)
- // config = append(config, &diagnosisConfig)
- // }
- //
- // for index, item := range config {
- // if index == 0 {
- // var tempDiaginfo service.DiaginfoStructTwo
- // tempDiaginfo.DiagCode = item.CountryCode
- // tempDiaginfo.DiagName = item.CountryContentName
- // tempDiaginfo.DiagType = "1"
- // tempDiaginfo.MaindiagFlag = "1"
- // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- // } else {
- //
- // var tempDiaginfo service.DiaginfoStructTwo
- // tempDiaginfo.DiagCode = item.CountryCode
- // tempDiaginfo.DiagName = item.CountryContentName
- // tempDiaginfo.DiagType = "2"
- // tempDiaginfo.MaindiagFlag = "0"
- // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
- // }
- // }
- // struct4101.Diseinfo = tempDiaginfos
- //
- // sickConfigTwo, _ := service.FindSickById(his.SickType)
- // tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
- // tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
- // tempOpspdiseinfo2.OprnOprtCode = ""
- // tempOpspdiseinfo2.OprnOprtName = ""
- // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
- // struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
- //
- // var iteminfo service.IteminfoStruct
- //
- // var bedCostTotal float64 = 0 //床位总费
- // var bedCostSelfTotal float64 = 0 //床位自费
- // var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
- //
- // var examineCostTotal float64 = 0 //诊查总费
- // var examineCostSelfTotal float64 = 0 //诊查自费
- // var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
- //
- // var nursingCostTotal float64 = 0 //护理总费
- // var nursingCostSelfTotal float64 = 0 //护理自费
- // var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
- //
- // var chineseMedicineCostTotal float64 = 0 //中成药
- // var chineseMedicineCostSelfTotal float64 = 0 //中成药
- // var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
- //
- // var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
- // var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
- // var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
- //
- // var registerCostTotal float64 = 0 //一般诊疗费
- // var registerCostSelfTotal float64 = 0 //一般诊疗费
- // var registerPartSelfTotal float64 = 0 //一般诊疗费
- //
- // var operationCostTotal float64 = 0 //手术费
- // var operationCostSelfTotal float64 = 0 //手术费
- // var operationCostPartSelfTotal float64 = 0 //手术费
- //
- // var otherCostTotal float64 = 0 //其他费用
- // var otherCostSelfTotal float64 = 0 //其他费用
- // var otherCostPartSelfTotal float64 = 0 //其他费用
- //
- // var materialCostTotal float64 = 0 //材料费
- // var materialCostSelfTotal float64 = 0 //材料费
- // var materialCostPartSelfTotal float64 = 0 //材料费
- //
- // var westernMedicineCostTotal float64 = 0 //西药费
- // var westernMedicineCostSelfTotal float64 = 0 //西药费
- // var westernMedicineCostPartSelfTotal float64 = 0 //西药费
- //
- // var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- // var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- // var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
- //
- // var checkCostTotal float64 = 0 //检查费
- // var checkCostSelfTotal float64 = 0 //检查费
- // var checkCostPartSelfTotal float64 = 0 //检查费
- //
- // var laboratoryCostTotal float64 = 0 //化验费
- // var laboratoryCostSelfTotal float64 = 0 //化验费
- // var laboratoryCostPartSelfTotal float64 = 0 //化验费
- //
- // var treatCostTotal float64 = 0 //治疗费用
- // var treatCostSelfTotal float64 = 0 //治疗费用
- // var treatCostPartSelfTotal float64 = 0 //治疗费用
- //
- // decimal.DivisionPrecision = 2
- //
- // var bed_fulamt_ownpay_amt float64 = 0
- //
- // var examine_fulamt_ownpay_amt float64 = 0
- //
- // var nursing_fulamt_ownpay_amt float64 = 0
- //
- // var chinese_medicine_fulamt_ownpay_amt float64 = 0
- //
- // var commonly_treatment_fulamt_ownpay_amt float64 = 0
- //
- // var register_fulamt_ownpay_amt float64 = 0
- //
- // var operation_fulamt_ownpay_amt float64 = 0
- // var other_fulamt_ownpay_amt float64 = 0
- // var westernMedicine_fulamt_ownpay_amt float64 = 0
- // var chineseTraditional_fulamt_ownpay_amt float64 = 0
- // var check_fulamt_ownpay_amt float64 = 0
- // var material_fulamt_ownpay_amt float64 = 0
- // var laboratory_fulamt_ownpay_amt float64 = 0
- // var treat_fulamt_ownpay_amt float64 = 0
- //
- // var bed_claa_sunmfee float64 = 0
- // var bed_clab_amt float64 = 0
- // var bed_other_amt float64 = 0
- //
- // var examine_claa_sunmfee float64 = 0
- // var examine_clab_amt float64 = 0
- // var examine_other_amt float64 = 0
- //
- // var nursing_claa_sunmfee float64 = 0
- // var nursing_clab_amt float64 = 0
- // var nursing_other_amt float64 = 0
- //
- // var chinese_medicine_claa_sunmfee float64 = 0
- // var chinese_medicine_clab_amt float64 = 0
- // var chinese_medicine_other_amt float64 = 0
- //
- // var commonly_treatment_claa_sunmfee float64 = 0
- // var commonly_treatment_clab_amt float64 = 0
- // var commonly_treatment_other_amt float64 = 0
- //
- // var operation_claa_sunmfee float64 = 0
- // var operation_clab_amt float64 = 0
- // var operation_other_amt float64 = 0
- //
- // var other_claa_sunmfee float64 = 0
- // var other_clab_amt float64 = 0
- // var other_other_amt float64 = 0
- //
- // var westernMedicine_claa_sunmfee float64 = 0
- // var westernMedicine_clab_amt float64 = 0
- // var westernMedicine_other_amt float64 = 0
- //
- // var chineseTraditional_claa_sunmfee float64 = 0
- // var chineseTraditional_clab_amt float64 = 0
- // var chineseTraditional_other_amt float64 = 0
- //
- // var check_claa_sunmfee float64 = 0
- // var check_clab_amt float64 = 0
- // var check_other_amt float64 = 0
- //
- // var material_claa_sunmfee float64 = 0
- // var material_clab_amt float64 = 0
- // var material_other_amt float64 = 0
- //
- // var laboratory_claa_sunmfee float64 = 0
- // var laboratory_clab_amt float64 = 0
- // var laboratory_other_amt float64 = 0
- //
- // var treat_claa_sunmfee float64 = 0
- // var treat_clab_amt float64 = 0
- // var treat_other_amt float64 = 0
- //
- // var register_claa_sunmfee float64 = 0
- // var register_clab_amt float64 = 0
- // var register_other_amt float64 = 0
- //
- // for _, item := range order.HisOrderInfo {
- // if item.MedChrgitmType == "01" { //床位费
- // bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // }
- // if item.ChrgitmLv == "2" {
- // bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- //
- // }
- //
- // if item.MedChrgitmType == "02" { //诊查
- // examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // }
- // if item.ChrgitmLv == "2" {
- // examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- //
- // }
- //
- // if item.MedChrgitmType == "03" { //检查费
- // checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "04" { //化验费
- // laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "05" { //治疗费
- // treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "06" { //手术费
- // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- //
- // if item.ChrgitmLv == "1" {
- //
- // operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "07" { //手术费
- // nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- //
- // if item.ChrgitmLv == "1" {
- //
- // nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "08" { //材料费
- // materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- // if item.MedChrgitmType == "09" { //西药费
- // westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // }
- // if item.ChrgitmLv == "2" {
- // westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // }
- // if item.ChrgitmLv == "3" {
- // westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- // if item.MedChrgitmType == "10" { //中药饮片
- // chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // }
- // if item.ChrgitmLv == "2" {
- // chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // }
- // if item.ChrgitmLv == "3" {
- // chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "11" { //中成费
- // chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "12" { //中成费
- // commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "13" { //中成费
- // registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- //
- // register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // if item.MedChrgitmType == "14" { //其他费
- // otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // if item.ChrgitmLv == "1" {
- // other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "2" {
- // other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- //
- // }
- // if item.ChrgitmLv == "3" {
- // other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // }
- // }
- //
- // }
- //
- // var iteminfoStructs []service.IteminfoStruct
- //
- // if bedCostTotal != 0 {
- // iteminfo.MedChrgitm = "01"
- // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- // iteminfo.Amt = bedCostTotal
- // iteminfo.ClaaSumfee = bed_claa_sunmfee
- // iteminfo.ClabAmt = bed_clab_amt
- // iteminfo.OthAmt = bed_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if examineCostTotal != 0 {
- // iteminfo.MedChrgitm = "02"
- // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
- // iteminfo.Amt = examineCostTotal
- // iteminfo.ClaaSumfee = examine_claa_sunmfee
- // iteminfo.ClabAmt = examine_clab_amt
- // iteminfo.OthAmt = examine_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if checkCostTotal != 0 {
- // iteminfo.MedChrgitm = "03"
- // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
- // iteminfo.Amt = checkCostTotal
- // iteminfo.ClaaSumfee = check_claa_sunmfee
- // iteminfo.ClabAmt = check_clab_amt
- // iteminfo.OthAmt = check_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if laboratoryCostTotal != 0 {
- // iteminfo.MedChrgitm = "04"
- // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
- // iteminfo.Amt = laboratoryCostTotal
- // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
- // iteminfo.ClabAmt = laboratory_clab_amt
- // iteminfo.OthAmt = laboratory_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- //
- // }
- //
- // if treatCostTotal != 0 {
- // iteminfo.MedChrgitm = "05"
- // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
- // iteminfo.Amt = treatCostTotal
- // iteminfo.ClaaSumfee = treat_claa_sunmfee
- // iteminfo.ClabAmt = treat_clab_amt
- // iteminfo.OthAmt = treat_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // //(struct4101.IteminfoStruct, iteminfo)
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // }
- //
- // if operationCostTotal != 0 {
- // iteminfo.MedChrgitm = "06"
- // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
- // iteminfo.Amt = operationCostTotal
- // iteminfo.ClaaSumfee = operation_claa_sunmfee
- // iteminfo.ClabAmt = operation_clab_amt
- // iteminfo.OthAmt = operation_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if nursingCostTotal != 0 {
- // iteminfo.MedChrgitm = "07"
- // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
- // iteminfo.Amt = nursingCostTotal
- // iteminfo.ClaaSumfee = nursing_claa_sunmfee
- // iteminfo.ClabAmt = nursing_clab_amt
- // iteminfo.OthAmt = nursing_other_amt
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if materialCostTotal != 0 {
- // iteminfo.MedChrgitm = "08"
- // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
- // iteminfo.Amt = materialCostTotal
- // iteminfo.ClaaSumfee = material_claa_sunmfee
- // iteminfo.ClabAmt = material_clab_amt
- // iteminfo.OthAmt = material_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- // }
- //
- // if westernMedicineCostTotal != 0 {
- // iteminfo.MedChrgitm = "09"
- // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- // iteminfo.Amt = westernMedicineCostTotal
- // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- // iteminfo.ClabAmt = westernMedicine_clab_amt
- // iteminfo.OthAmt = westernMedicine_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if chineseMedicineCostTotal != 0 {
- // iteminfo.MedChrgitm = "10"
- // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
- // iteminfo.Amt = chineseMedicineCostTotal
- // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
- // iteminfo.ClabAmt = chinese_medicine_clab_amt
- // iteminfo.OthAmt = chinese_medicine_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if chineseTraditionalMedicineCostTotal != 0 {
- // iteminfo.MedChrgitm = "11"
- // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
- // iteminfo.Amt = westernMedicineCostTotal
- // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
- // iteminfo.ClabAmt = westernMedicine_clab_amt
- // iteminfo.OthAmt = westernMedicine_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if commonlyTreatmentCostTotal != 0 {
- // iteminfo.MedChrgitm = "12"
- // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
- // iteminfo.Amt = commonlyTreatmentCostTotal
- // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
- // iteminfo.ClabAmt = commonly_treatment_clab_amt
- // iteminfo.OthAmt = commonly_treatment_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if registerCostTotal != 0 {
- // iteminfo.MedChrgitm = "13"
- // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
- // iteminfo.Amt = registerCostTotal
- // iteminfo.ClaaSumfee = register_claa_sunmfee
- // iteminfo.ClabAmt = register_clab_amt
- // iteminfo.OthAmt = register_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- //
- // if otherCostTotal != 0 {
- // iteminfo.MedChrgitm = "14"
- // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
- // iteminfo.Amt = otherCostTotal
- // iteminfo.ClaaSumfee = other_claa_sunmfee
- // iteminfo.ClabAmt = other_clab_amt
- // iteminfo.OthAmt = other_other_amt
- // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
- // iteminfoStructs = append(iteminfoStructs, iteminfo)
- //
- // }
- // struct4101.IteminfoStruct = iteminfoStructs
- // time_arr := strings.Split(order.SetlTime, " ")
- // struct4101.AdmTime = time_arr[0]
- // struct4101.AdmEndTime = time_arr[0]
- //
- // struct4101.DoctorName = doctor.UserName
- // struct4101.DoctorCode = doctor.DoctorNumber
- //
- // struct4101.Ntly = "中国"
- // struct4101.AdmCaty = "A03.06"
- // var res ResultSeventeen
- // if miConfig.MdtrtareaAdmvs == "421300" {
- // data := make(map[string]interface{})
- // data["struct4101"] = struct4101
- // data["secret_key"] = miConfig.SecretKey
- // data["org_name"] = miConfig.OrgName
- // data["opera"] = curRoles.UserName
- // data["code"] = miConfig.Code
- // data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- // data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- //
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/4101", bytes.NewReader(bytesData))
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // userJSONBytes, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res.ErrMsg + "解析失败",
- // Status: 1,
- // PatientId: order_id,
- // Stage: 10088,
- // }
- // service.CreateErrMsgLog(errlog)
- // continue
- // }
- //
- // } else if miConfig.MdtrtareaAdmvs == "420200" {
- // data := make(map[string]interface{})
- // data["struct4101"] = struct4101
- // data["secret_key"] = miConfig.SecretKey
- // data["org_name"] = miConfig.OrgName
- // data["opera"] = curRoles.UserName
- // data["code"] = miConfig.Code
- // data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- // data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- //
- // client := &http.Client{}
- // bytesData, _ := json.Marshal(data)
- // req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/4101", bytes.NewReader(bytesData))
- // resp, _ := client.Do(req)
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // userJSONBytes, _ := json.Marshal(respJSON)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res.ErrMsg + "解析失败",
- // Status: 1,
- // PatientId: order_id,
- // Stage: 10088,
- // }
- // service.CreateErrMsgLog(errlog)
- // continue
- // }
- //
- // } else {
- // result, _ := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, c.GetAdminUserInfo().CurrentOrgId)
- // fmt.Println(result)
- //
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res.ErrMsg + "解析失败",
- // Status: 1,
- // PatientId: order_id,
- // Stage: 10106,
- // }
- // service.CreateErrMsgLog(errlog)
- // continue
- // }
- // }
- //
- // if res.Infcode != 0 {
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res.ErrMsg,
- // Status: 1,
- // PatientId: order_id,
- // Stage: 10106,
- // }
- // service.CreateErrMsgLog(errlog)
- // continue
- // } else {
- // hisFundSettleListResult := &models.HisFundSettleListResult{
- // Number: res.Output.SetlListId,
- // Status: 1,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- // IsUpload: 1,
- // OrderId: order_id,
- // }
- // service.CreateUploadRecord(hisFundSettleListResult)
- // continue
- // }
- // }
- //}
-
- func (c *HisApiController) GetOrgInfo() {
- miConfig, _ := service.FindMedicalInsuranceInfo(4)
- service.Gdyb1201("", miConfig.OrgName, "1122", miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, "")
-
- }
-
- func (c *HisApiController) GetHisPatientInfo() {
-
- medical_insurance_card := c.GetString("medical_insurance_card")
- id_card_type, _ := c.GetInt64("id_card_type")
- id_card := c.GetString("id_card")
-
- adminInfo := c.GetAdminUserInfo()
- config, _ := service.GetMedicalInsuranceConfig(adminInfo.CurrentOrgId)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminInfo.CurrentOrgId)
-
- appRole, _ := service.GetAppRole(adminInfo.CurrentOrgId)
-
- IdCardNo := ""
-
- if id_card_type == 1 {
- IdCardNo = medical_insurance_card
- } else if id_card_type == 2 {
- IdCardNo = id_card
- }
-
- if config.IsOpen == 1 {
- api := "http://127.0.0.1:9532/" + "gdyb/one?cert_no=" + IdCardNo + "&org_name=" + miConfig.OrgName + "&doctor=" + appRole.UserName + "&fixmedins_code=" + miConfig.Code + "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
-
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- userJSON := respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(userJSON)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- if res.Infcode == 0 {
- his := models.VMHisPatient{
- Status: 1,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- PsnNo: res.Output.Baseinfo.PsnNo,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- Certno: res.Output.Baseinfo.Certno,
- PsnName: res.Output.Baseinfo.PsnName,
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- Iinfo: infoStr,
- Idetinfo: idetinfoStr,
- UserOrgId: adminInfo.CurrentOrgId,
- IsReturn: 1,
- IdCardType: id_card_type,
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "info": his,
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return
- }
- }
- }
-
- //func GetBasBaseInfo() (jsonStr string, err error) {
- //
- // handle := syscall.NewLazyDLL("SSCard.dll")
- // add := handle.NewProc("ReadCardBas")
- // str := make([]byte, 1024)
- // str1 := make([]byte, 1024)
- // ret, _, _ := add.Call((uintptr)(unsafe.Pointer(&str[0])), IntPtr(1024), (uintptr)(unsafe.Pointer(&str1[0])), IntPtr(1024))
- // fmt.Println(ConvertToString(string(str), "gbk", "utf-8"))
- //
- // fmt.Println(ConvertToString(string(str1), "gbk", "utf-8"))
- //
- // fmt.Println("> Add(4,5)的结果为:", ret)
- // handle.Release()
- //
- // return "", nil
- //
- //}
-
- //func GetQRBaseInfo() (jsonStr string, err error) {
- // handle := syscall.LoadDLL("SSCard.dll")
- // ReadCardBas := handle.FindProc("GetQRBase")
- //
- // str := make([]byte, 256)
- // str1 := make([]byte, 256)
- // r, _, _ := ReadCardBas.Call((uintptr)(unsafe.Pointer(&str[0])), IntPtr(1024), (uintptr)(unsafe.Pointer(&str1[0])), IntPtr(1024))
- //
- // fmt.Println(string(str))
- // fmt.Println(r)
- // return string(str), nil
- //}
-
- //func CardInit() int {
- // DllTestDef := syscall.MustLoadDLL("SSCard.dll")
- // add := DllTestDef.MustFindProc("Init")
- // ret, _, err := add.Call(StrPtr("http://igb.hsa.gdgov.cn/gdyb_inf/poc/api/card/initDll"), StrPtr("440200"))
- // if err != nil {
- // fmt.Println("SSCard的运算结果为:", ret)
- // }
- // result := int(ret)
- // return result
- //}
-
- //func CardInit() int {
- // ret, _, err := add.Call(StrPtr("http://igb.hsa.gdgov.cn/gdyb_inf/poc/api/card/initDll"), StrPtr("440200"))
- // if err != nil {
- // fmt.Println("SSCard的运算结果为:", ret)
- // }
- // fmt.Println(err)
- // result := int(ret)
- // return result
- //}
-
- func IntPtr(n int) uintptr {
- return uintptr(n)
- }
-
- func StrPtr(s string) uintptr {
- return uintptr(unsafe.Pointer(syscall.StringBytePtr(s)))
- }
-
- type Result2001 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Trtinfo struct {
- PsnNo string `json:"psn_no"`
- TrtChkType string `json:"trt_chk_type"`
- FundPayType string `json:"fund_pay_type"`
- TrtEnjymntFlag string `json:"trt_enjymnt_flag"`
- Begndate string `json:"begndate"`
- Enddate string `json:"enddate"`
- TrtChkRslt string `json:"trt_chk_rslt"`
- } `json:"trtinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type Result2001Org10265 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Trtinfo struct {
- PsnNo string `json:"psn_no"`
- TrtChkType string `json:"trt_chk_type"`
- FundPayType string `json:"fund_pay_type"`
- TrtEnjymntFlag string `json:"trt_enjymnt_flag"`
- Begndate string `json:"begndate"`
- Enddate string `json:"enddate"`
- TrtChkRslt string `json:"trt_chk_rslt"`
- } `json:"trtinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultTwo struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Baseinfo struct {
- //Brdy string `json:"brdy"`
- Certno string `json:"certno"`
- Gend string `json:"gend"`
- Naty string `json:"naty"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- } `json:"baseinfo"`
- Idetinfo []interface{} `json:"idetinfo"`
- Iinfo []struct {
- Balc float64 `json:"balc"`
- CvlservFlag string `json:"cvlserv_flag"`
- EmpName string `json:"emp_name"`
- InsuplcAdmdvs string `json:"insuplc_admdvs"`
- Insutype string `json:"insutype"`
- PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"`
- //PausInsuDate string `json:"paus_insu_date"`
- //PsnInsuDate string `json:"psn_insu_date"`
- PsnInsuStas string `json:"psn_insu_stas"`
- PsnType string `json:"psn_type"`
- } `json:"insuinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultTwo10265 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Baseinfo struct {
-
- //Brdy string `json:"brdy"`
-
- Certno string `json:"certno"`
- Gend string `json:"gend"`
- Naty string `json:"naty"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- } `json:"baseinfo"`
- Idetinfo []interface{} `json:"idetinfo"`
- Iinfo []struct {
- Balc float64 `json:"balc"`
- CvlservFlag string `json:"cvlserv_flag"`
- EmpName string `json:"emp_name"`
- InsuplcAdmdvs string `json:"insuplc_admdvs"`
- Insutype string `json:"insutype"`
- PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"`
-
- PsnInsuStas string `json:"psn_insu_stas"`
- PsnType string `json:"psn_type"`
- } `json:"insuinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultThree struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Data struct {
- IptOtpNo string `json:"ipt_otp_no"`
- MdtrtID string `json:"mdtrt_id"`
- PsnNo string `json:"psn_no"`
- } `json:"data"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultThree10265 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Data struct {
- IptOtpNo string `json:"ipt_otp_no"`
- MdtrtID string `json:"mdtrt_id"`
- PsnNo string `json:"psn_no"`
- } `json:"data"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultFour struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Result []struct {
- BasMednFlag string `json:"bas_medn_flag"`
- ChldMedcFlag string `json:"chld_medc_flag"`
- ChrgitmLv string `json:"chrgitm_lv"`
- Cnt float64 `json:"cnt"`
- DetItemFeeSumamt float64 `json:"det_item_fee_sumamt"`
- DrtReimFlag string `json:"drt_reim_flag"`
- FeedetlSn string `json:"feedetl_sn"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- HiNegoDrugFlag string `json:"hi_nego_drug_flag"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- ListSpItemFlag string `json:"list_sp_item_flag"`
- LmtUsedFlag string `json:"lmt_used_flag"`
- MedChrgitmType string `json:"med_chrgitm_type"`
- Memo string `json:"memo"`
- OverlmtAmt float64 `json:"overlmt_amt"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- Pric float64 `json:"pric"`
- PricUplmtAmt float64 `json:"pric_uplmt_amt"`
- SelfpayProp float64 `json:"selfpay_prop"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype string `json:"signtype"`
- WarnMsg string `json:"warn_msg"`
- }
- type ResultFour10265 struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Result []struct {
- BasMednFlag string `json:"bas_medn_flag"`
- ChldMedcFlag string `json:"chld_medc_flag"`
- ChrgitmLv string `json:"chrgitm_lv"`
- Cnt float64 `json:"cnt"`
- DetItemFeeSumamt float64 `json:"det_item_fee_sumamt"`
- DrtReimFlag string `json:"drt_reim_flag"`
- FeedetlSn string `json:"feedetl_sn"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- HiNegoDrugFlag string `json:"hi_nego_drug_flag"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- ListSpItemFlag string `json:"list_sp_item_flag"`
- LmtUsedFlag string `json:"lmt_used_flag"`
- MedChrgitmType string `json:"med_chrgitm_type"`
- Memo string `json:"memo"`
- OverlmtAmt float64 `json:"overlmt_amt"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- Pric float64 `json:"pric"`
- PricUplmtAmt float64 `json:"pric_uplmt_amt"`
- SelfpayProp float64 `json:"selfpay_prop"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype string `json:"signtype"`
- WarnMsg string `json:"warn_msg"`
- }
- type ResultMemo struct {
- InsuAdmdvs string `json:"insuAdmdvs"`
- }
-
- // [{"begntime":"2022-01-01 00:00:00","endtime":"2022-12-31 00:00:00","memo":"{\"matIdetCode\":\"20\",\"insuAdmdvs\":\"350481\"}","psn_idet_type":"23","psn_type_lv":null}]
- type ResultIDInfo struct {
- Begntime string `json:"begntime"`
- Endtime string `json:"endtime"`
- Memo string `json:"memo"`
- }
-
- type ResultFive struct {
- Balc float64 `json:"balc"`
- CvlservFlag string `json:"cvlserv_flag"`
- EmpName string `json:"emp_name"`
- InsuplcAdmdvs string `json:"insuplc_admdvs"`
- Insutype string `json:"insutype"`
- PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"`
- PausInsuDate string `json:"paus_insu_date"`
- PsnInsuDate string `json:"psn_insu_date"`
- PsnInsuStas string `json:"psn_insu_stas"`
- PsnType string `json:"psn_type"`
- }
- type ResultSix struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type FJ3507Result struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- retRslt string `json:"retRslt"`
- msgRslt string `json:"msgRslt"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type FJ3507ResultFor10188 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type Result2406 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Result struct {
- IptPsnSpFlagDetlId string `json:"ipt_psn_sp_flag_detl_id"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type GZResultSix struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output string `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultSix10265 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultSeven struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo struct {
- AcctMulaidPay float64 `json:"acct_mulaid_pay"`
- AcctPay float64 `json:"acct_pay"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- Age float64 `json:"age"`
- Balc float64 `json:"balc"`
- Certno string `json:"certno"`
- ClrOptins string `json:"clr_optins"`
- ClrType string `json:"clr_type"`
- ClrWay string `json:"clr_way"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservPay float64 `json:"cvlserv_pay"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- Gend string `json:"gend"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifpPay float64 `json:"hifp_pay"`
- HospPartAmt float64 `json:"hosp_part_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- MafPay float64 `json:"maf_pay"`
- MdtrtCertType string `json:"mdtrt_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
-
- MdtrtID string `json:"mdtrt_id"`
- MedType string `json:"med_type"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- MedinsSetlID string `json:"medins_setl_id"`
- Naty string `json:"naty"`
- OthPay float64 `json:"oth_pay"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- PsnType string `json:"psn_type"`
- SetlID string `json:"setl_id"`
- SetlTime string `json:"setl_time"`
- } `json:"setlinfo"`
- Setldetail interface{} `json:"setldetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultSevenAH struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo struct {
- AcctMulaidPay float64 `json:"acct_mulaid_pay"`
- AcctPay float64 `json:"acct_pay"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- Age float64 `json:"age"`
- Balc float64 `json:"balc"`
- Certno string `json:"certno"`
- ClrOptins string `json:"clr_optins"`
- ClrType string `json:"clr_type"`
- ClrWay string `json:"clr_way"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservPay float64 `json:"cvlserv_pay"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- Gend string `json:"gend"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifpPay float64 `json:"hifp_pay"`
- HospPartAmt float64 `json:"hosp_part_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- MafPay float64 `json:"maf_pay"`
- MdtrtCertType string `json:"mdtrt_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
- MdtrtID string `json:"mdtrt_id"`
- MedType string `json:"med_type"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- MedinsSetlID string `json:"medins_setl_id"`
- Naty string `json:"naty"`
- OthPay float64 `json:"oth_pay"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- PsnType string `json:"psn_type"`
- SetlID string `json:"setl_id"`
- SetlTime int64 `json:"setl_time"`
- } `json:"setlinfo"`
- Setldetail interface{} `json:"setldetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultSeven10265 struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Setlinfo struct {
- AcctMulaidPay float64 `json:"acct_mulaid_pay"`
- AcctPay float64 `json:"acct_pay"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- Age float64 `json:"age"`
- Balc float64 `json:"balc"`
- Certno string `json:"certno"`
- ClrOptins string `json:"clr_optins"`
- ClrType string `json:"clr_type"`
- ClrWay string `json:"clr_way"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservPay float64 `json:"cvlserv_pay"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- Gend string `json:"gend"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifpPay float64 `json:"hifp_pay"`
- HospPartAmt float64 `json:"hosp_part_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- MafPay float64 `json:"maf_pay"`
- MdtrtCertType string `json:"mdtrt_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
-
- MdtrtID string `json:"mdtrt_id"`
- MedType string `json:"med_type"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- MedinsSetlID string `json:"medins_setl_id"`
- Naty string `json:"naty"`
- OthPay float64 `json:"oth_pay"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- PsnType string `json:"psn_type"`
- SetlID string `json:"setl_id"`
- SetlTime string `json:"setl_time"`
- } `json:"setlinfo"`
- Setldetail interface{} `json:"setldetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultSeven10265Two struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Setlinfo struct {
- AcctMulaidPay string `json:"acct_mulaid_pay"`
- AcctPay float64 `json:"acct_pay"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- Age float64 `json:"age"`
- Balc float64 `json:"balc"`
- Certno string `json:"certno"`
- ClrOptins string `json:"clr_optins"`
- ClrType string `json:"clr_type"`
- ClrWay string `json:"clr_way"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservPay float64 `json:"cvlserv_pay"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- Gend string `json:"gend"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifpPay float64 `json:"hifp_pay"`
- HospPartAmt string `json:"hosp_part_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- MafPay float64 `json:"maf_pay"`
- MdtrtCertType string `json:"mdtrt_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
-
- MdtrtID string `json:"mdtrt_id"`
- MedType string `json:"med_type"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- MedinsSetlID string `json:"medins_setl_id"`
- Naty string `json:"naty"`
- OthPay float64 `json:"oth_pay"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PoolPropSelfpay string `json:"pool_prop_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- PsnType string `json:"psn_type"`
- SetlID string `json:"setl_id"`
- SetlTime string `json:"setl_time"`
- } `json:"setlinfo"`
- Setldetail interface{} `json:"setldetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type GZResultSeven10265Two struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo struct {
- AcctMulaidPay float64 `json:"acct_mulaid_pay"`
- AcctPay float64 `json:"acct_pay"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- Age float64 `json:"age"`
- Balc float64 `json:"balc"`
- Certno string `json:"certno"`
- ClrOptins string `json:"clr_optins"`
- ClrType string `json:"clr_type"`
- ClrWay string `json:"clr_way"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservPay float64 `json:"cvlserv_pay"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- Gend string `json:"gend"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifpPay float64 `json:"hifp_pay"`
- HospPartAmt float64 `json:"hosp_part_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- MafPay float64 `json:"maf_pay"`
- MdtrtCertType string `json:"mdtrt_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
-
- MdtrtID string `json:"mdtrt_id"`
- MedType string `json:"med_type"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- MedinsSetlID string `json:"medins_setl_id"`
- Naty string `json:"naty"`
- OthPay float64 `json:"oth_pay"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PoolPropSelfpay string `json:"pool_prop_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- PsnCertType string `json:"psn_cert_type"`
- PsnName string `json:"psn_name"`
- PsnNo string `json:"psn_no"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- PsnType string `json:"psn_type"`
- SetlID string `json:"setl_id"`
- SetlTime string `json:"setl_time"`
- } `json:"setlinfo"`
- Setldetail interface{} `json:"setldetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultEight struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Stmtinfo struct {
- SetlOptins string `json:"setl_optins"`
- StmtRslt string `json:"stmt_rslt"`
- StmtRsltDscr string `json:"stmt_rslt_dscr"`
- } `json:"stmtinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultEightFor10188 struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Stmtinfo struct {
- SetlOptins string `json:"setl_optins"`
- StmtRslt string `json:"stmt_rslt"`
- StmtRsltDscr string `json:"stmt_rslt_dscr"`
- } `json:"stmtinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultNine struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- FileQuryNo string `json:"file_qury_no"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultTen struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Fileinfo struct {
- DldEndtime string `json:"dld_endtime"`
- FileQuryNo string `json:"file_qury_no"`
- Filename string `json:"filename"`
- } `json:"fileinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type Result5262 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- PageInfo struct {
- Size int `json:"size"`
- RecordCounts int `json:"record_counts"`
- } `json:"page_info"`
- Idetinfo []interface{} `json:"idetinfo"`
- Result []struct {
- SetlID string `json:"setl_id"`
- MedinsSetlID string `json:"medins_setl_id,omitempty"`
- MdtrtID string `json:"mdtrt_id"`
- InitSetlID string `json:"init_setl_id,omitempty"`
- PsnNo string `json:"psn_no"`
- PsnInsuRltsID string `json:"psn_insu_rlts_id,omitempty"`
- PsnName string `json:"psn_name"`
- PsnCertType string `json:"psn_cert_type"`
- Certno string `json:"certno"`
- Gend string `json:"gend,omitempty"`
- Naty string `json:"naty,omitempty"`
- Brdy string `json:"brdy,omitempty"`
- Age float64 `json:"age,omitempty"`
- Insutype string `json:"insutype,omitempty"`
- PsnType string `json:"psn_type"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservLv string `json:"cvlserv_lv,omitempty"`
- SpPsnType string `json:"sp_psn_type,omitempty"`
- SpPsnTypeLv string `json:"sp_psn_type_lv,omitempty"`
- ClctGrde string `json:"clct_grde,omitempty"`
- FlxempeFlag string `json:"flxempe_flag,omitempty"`
- NwbFlag string `json:"nwb_flag,omitempty"`
- InsuAdmdvs string `json:"insu_admdvs"`
- EmpNo string `json:"emp_no,omitempty"`
- EmpName string `json:"emp_name,omitempty"`
- EmpType string `json:"emp_type,omitempty"`
- EconType string `json:"econ_type,omitempty"`
- AfilIndu string `json:"afil_indu,omitempty"`
- AfilRlts string `json:"afil_rlts,omitempty"`
- EmpMgtType string `json:"emp_mgt_type,omitempty"`
- PayLoc string `json:"pay_loc,omitempty"`
- FixmedinsCode string `json:"fixmedins_code"`
- FixmedinsName string `json:"fixmedins_name"`
- HospLv string `json:"hosp_lv,omitempty"`
- FixBlngAdmdvs string `json:"fix_blng_admdvs,omitempty"`
- LmtpricHospLv string `json:"lmtpric_hosp_lv,omitempty"`
- DedcHospLv string `json:"dedc_hosp_lv,omitempty"`
- Begndate string `json:"begndate"`
- Enddate string `json:"enddate"`
- SetlTime string `json:"setl_time"`
- MdtrtCertType string `json:"mdtrt_cert_type,omitempty"`
- MdtrtCertNo string `json:"mdtrt_cert_no,omitempty"`
- MedType string `json:"med_type"`
- SetlType string `json:"setl_type,omitempty"`
- ClrType string `json:"clr_type,omitempty"`
- ClrWay string `json:"clr_way,omitempty"`
- PsnSetlway string `json:"psn_setlway,omitempty"`
- ClrOptins string `json:"clr_optins,omitempty"`
- MedfeeSumamt float64 `json:"medfee_sumamt,omitempty"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt,omitempty"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay,omitempty"`
- PreselfpayAmt float64 `json:"preselfpay_amt,omitempty"`
- InscpAmt float64 `json:"inscp_amt,omitempty"`
- DedcStd float64 `json:"dedc_std,omitempty"`
- CrtDedc float64 `json:"crt_dedc,omitempty"`
- ActPayDedc float64 `json:"act_pay_dedc,omitempty"`
- HifpPay float64 `json:"hifp_pay,omitempty"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay,omitempty"`
- HiAgreSumfee float64 `json:"hi_agre_sumfee,omitempty"`
- CvlservPay float64 `json:"cvlserv_pay,omitempty"`
- HifesPay float64 `json:"hifes_pay,omitempty"`
- HifmiPay float64 `json:"hifmi_pay,omitempty"`
- HifobPay float64 `json:"hifob_pay,omitempty"`
- HifdmPay float64 `json:"hifdm_pay,omitempty"`
- MafPay float64 `json:"maf_pay,omitempty"`
- OthfundPay float64 `json:"othfund_pay,omitempty"`
- FundPaySumamt float64 `json:"fund_pay_sumamt,omitempty"`
- PsnPay float64 `json:"psn_pay,omitempty"`
- AcctPay float64 `json:"acct_pay,omitempty"`
- CashPayamt float64 `json:"cash_payamt,omitempty"`
- OwnpayHospPart float64 `json:"ownpay_hosp_part,omitempty"`
- Balc float64 `json:"balc,omitempty"`
- AcctMulaidPay float64 `json:"acct_mulaid_pay,omitempty"`
- RefdSetlFlag string `json:"refd_setl_flag,omitempty"`
- CalIptCnt string `json:"cal_ipt_cnt,omitempty"`
- SetlCashpayWay string `json:"setl_cashpay_way,omitempty"`
- Year string `json:"year,omitempty"`
- DiseNo string `json:"dise_no,omitempty"`
- DiseName string `json:"dise_name,omitempty"`
- Invono string `json:"invono,omitempty"`
- ManlReimRea string `json:"manl_reim_rea,omitempty"`
- ValiFlag string `json:"vali_flag,omitempty"`
- Memo string `json:"memo,omitempty"`
- Rid string `json:"rid"`
- UpdtTime string `json:"updt_time,omitempty"`
- CrterID string `json:"crter_id,omitempty"`
- CrterName string `json:"crter_name,omitempty"`
- CrteTime string `json:"crte_time,omitempty"`
- CrteOptinsNo string `json:"crte_optins_no,omitempty"`
- OpterID string `json:"opter_id,omitempty"`
- OpterName string `json:"opter_name,omitempty"`
- OptTime string `json:"opt_time,omitempty"`
- OptinsNo string `json:"optins_no,omitempty"`
- PoolareaNo string `json:"poolarea_no,omitempty"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type Result5267 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- PageInfo struct {
- Size int `json:"size"`
- RecordCounts int `json:"record_counts"`
- } `json:"pageinfo"`
- Result []struct {
- SetlID string `json:"setl_id"`
- ClrOptins string `json:"clr_optins"`
- MedinsSetlID string `json:"medins_setl_id,omitempty"`
- MdtrtID string `json:"mdtrt_id"`
- InitSetlID string `json:"init_setl_id,omitempty"`
- PsnNo string `json:"psn_no"`
- PsnInsuRltsID string `json:"psn_insu_rlts_id,omitempty"`
- PsnName string `json:"psn_name"`
- PsnCertType string `json:"psn_cert_type"`
- Certno string `json:"certno"`
- Gend string `json:"gend,omitempty"`
- Naty string `json:"naty,omitempty"`
- Brdy string `json:"brdy,omitempty"`
- Age float64 `json:"age,omitempty"`
- Insutype string `json:"insutype,omitempty"`
- PsnType string `json:"psn_type"`
- CvlservFlag string `json:"cvlserv_flag"`
- CvlservLv string `json:"cvlserv_lv,omitempty"`
- SpPsnType string `json:"sp_psn_type,omitempty"`
- SpPsnTypeLv string `json:"sp_psn_type_lv,omitempty"`
- ClctGrde string `json:"clct_grde,omitempty"`
- FlxempeFlag string `json:"flxempe_flag,omitempty"`
- NwbFlag string `json:"nwb_flag,omitempty"`
- InsuAdmdvs string `json:"insu_admdvs"`
- EmpNo string `json:"emp_no,omitempty"`
- EmpName string `json:"emp_name,omitempty"`
- EmpType string `json:"emp_type,omitempty"`
- EconType string `json:"econ_type,omitempty"`
- AfilIndu string `json:"afil_indu,omitempty"`
- AfilRlts string `json:"afil_rlts,omitempty"`
- EmpMgtType string `json:"emp_mgt_type,omitempty"`
- PayLoc string `json:"pay_loc,omitempty"`
- FixmedinsCode string `json:"fixmedins_code"`
- FixmedinsName string `json:"fixmedins_name"`
- HospLv string `json:"hosp_lv,omitempty"`
- FixBlngAdmdvs string `json:"fix_blng_admdvs,omitempty"`
- LmtpricHospLv string `json:"lmtpric_hosp_lv,omitempty"`
- DedcHospLv string `json:"dedc_hosp_lv,omitempty"`
- Begndate string `json:"begndate,omitempty"`
- Enddate string `json:"enddate,omitempty"`
- SetlTime string `json:"setl_time,omitempty"`
- MdtrtCertType string `json:"mdtrt_cert_type,omitempty"`
- MdtrtCertNo string `json:"mdtrt_cert_no,omitempty"`
- MedType string `json:"med_type"`
- SetlType string `json:"setl_type,omitempty"`
- ClrType string `json:"clr_type,omitempty"`
- ClrWay string `json:"clr_way,omitempty"`
- PsnSetlway string `json:"psn_setlway,omitempty"`
- MedfeeSumamt float64 `json:"medfee_sumamt,omitempty"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt,omitempty"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay,omitempty"`
- PreselfpayAmt float64 `json:"preselfpay_amt,omitempty"`
- InscpAmt float64 `json:"inscp_amt,omitempty"`
- DedcStd float64 `json:"dedc_std,omitempty"`
- CrtDedc float64 `json:"crt_dedc,omitempty"`
- ActPayDedc float64 `json:"act_pay_dedc,omitempty"`
- HifpPay float64 `json:"hifp_pay,omitempty"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay,omitempty"`
- HiAgreSumfee float64 `json:"hi_agre_sumfee,omitempty"`
- CvlservPay float64 `json:"cvlserv_pay,omitempty"`
- HifesPay float64 `json:"hifes_pay,omitempty"`
- HifmiPay float64 `json:"hifmi_pay,omitempty"`
- HifobPay float64 `json:"hifob_pay,omitempty"`
- HifdmPay float64 `json:"hifdm_pay,omitempty"`
- MafPay float64 `json:"maf_pay,omitempty"`
- OthfundPay float64 `json:"othfund_pay,omitempty"`
- FundPaySumamt float64 `json:"fund_pay_sumamt,omitempty"`
- PsnPay float64 `json:"psn_pay,omitempty"`
- AcctPay float64 `json:"acct_pay,omitempty"`
- CashPayamt float64 `json:"cash_payamt,omitempty"`
- OwnpayHospPart float64 `json:"ownpay_hosp_part,omitempty"`
- Balc float64 `json:"balc,omitempty"`
- AcctMulaidPay float64 `json:"acct_mulaid_pay,omitempty"`
- RefdSetlFlag string `json:"refd_setl_flag,omitempty"`
- CalIptCnt string `json:"cal_ipt_cnt,omitempty"`
- SetlCashpayWay string `json:"setl_cashpay_way,omitempty"`
- Year string `json:"year,omitempty"`
- DiseNo string `json:"dise_no,omitempty"`
- DiseName string `json:"dise_name,omitempty"`
- Invono string `json:"invono,omitempty"`
- ManlReimRea string `json:"manl_reim_rea,omitempty"`
- Memo string `json:"memo,omitempty"`
- UpdtTime string `json:"updt_time,omitempty"`
- OpterID string `json:"opter_id,omitempty"`
- OpterName string `json:"opter_name,omitempty"`
- OptTime string `json:"opt_time,omitempty"`
- OptinsNo string `json:"optins_no,omitempty"`
- PoolareaNo string `json:"poolarea_no,omitempty"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- // type Autogenerated struct {
- // Output struct {
- // Setlinfo struct {
- // SetlTime string `json:"setl_time"`
- // CvlservPay float64 `json:"cvlserv_pay"`
- // Year string `json:"year"`
- // MedType string `json:"med_type"`
- // PsnPay float64 `json:"psn_pay"`
- // OpterID string `json:"opter_id"`
- // Begndate string `json:"begndate"`
- // FlxempeFlag string `json:"flxempe_flag"`
- // HifmiPay float64 `json:"hifmi_pay"`
- // PsnNo string `json:"psn_no"`
- // ActPayDedc float64 `json:"act_pay_dedc"`
- // MedinsSetlID interface{} `json:"medins_setl_id"`
- // AcctMulaidPay interface{} `json:"acct_mulaid_pay"`
- // ClrWay string `json:"clr_way"`
- // OthPay float64 `json:"oth_pay"`
- // Gend string `json:"gend"`
- // MdtrtID string `json:"mdtrt_id"`
- // AcctPay float64 `json:"acct_pay"`
- // InscpScpAmt float64 `json:"inscp_scp_amt"`
- // Insutype string `json:"insutype"`
- // Invono interface{} `json:"invono"`
- // Enddate string `json:"enddate"`
- // CashPayamt float64 `json:"cash_payamt"`
- // PsnType string `json:"psn_type"`
- // FixmedinsName string `json:"fixmedins_name"`
- // HifpPay float64 `json:"hifp_pay"`
- // NewFlag interface{} `json:"new_flag"`
- // OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- // PreselfpayAmt float64 `json:"preselfpay_amt"`
- // PayLoc string `json:"pay_loc"`
- // ClrType string `json:"clr_type"`
- // RefdSetlFlag string `json:"refd_setl_flag"`
- // CvlservFlag string `json:"cvlserv_flag"`
- // EmpName string `json:"emp_name"`
- // Brdy string `json:"brdy"`
- // Naty string `json:"naty"`
- // Certno string `json:"certno"`
- // DiseCode string `json:"dise_code"`
- // FixmedinsCode string `json:"fixmedins_code"`
- // DedcHospLv string `json:"dedc_hosp_lv"`
- // OpterName string `json:"opter_name"`
- // Balc float64 `json:"balc"`
- // FixmedinsPoolarea string `json:"fixmedins_poolarea"`
- // PsnCertType string `json:"psn_cert_type"`
- // HifobPay float64 `json:"hifob_pay"`
- // MedfeeSumamt float64 `json:"medfee_sumamt"`
- // HifesPay float64 `json:"hifes_pay"`
- // FundPaySumamt float64 `json:"fund_pay_sumamt"`
- // OptTime string `json:"opt_time"`
- // FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- // SetlID string `json:"setl_id"`
- // MafPay float64 `json:"maf_pay"`
- // PsnName string `json:"psn_name"`
- // InsuOptins interface{} `json:"insu_optins"`
- // PrefFundPay interface{} `json:"pref_fund_pay"`
- // ClrOptins string `json:"clr_optins"`
- // PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- // DiseName string `json:"dise_name"`
- // LmtpricHospLv string `json:"lmtpric_hosp_lv"`
- // Age float64 `json:"age"`
- // DtrtCertType string `json:"dtrt_cert_type"`
- // HospLv string `json:"hosp_lv"`
- // } `json:"setlinfo"`
- // Setldetail []struct {
- // FundPayType string `json:"fund_pay_type"`
- // FundPayamt float64 `json:"fund_payamt"`
- // SetlProcInfo interface{} `json:"setl_proc_info"`
- // CrtPaybLmtAmt interface{} `json:"crt_payb_lmt_amt"`
- // InscpScpAmt interface{} `json:"inscp_scp_amt"`
- // FundPayTypeName interface{} `json:"fund_pay_type_name"`
- // PrefFundPay interface{} `json:"pref_fund_pay"`
- // } `json:"setldetail"`
- // } `json:"output"`
- // Infcode int `json:"infcode"`
- // WarnMsg interface{} `json:"warn_msg"`
- // Cainfo interface{} `json:"cainfo"`
- // ErrMsg interface{} `json:"err_msg"`
- // RefmsgTime string `json:"refmsg_time"`
- // Signtype interface{} `json:"signtype"`
- // RespondTime string `json:"respond_time"`
- // InfRefmsgid string `json:"inf_refmsgid"`
- // }
- type Result002 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- RxFile string `json:"rx_file"`
- SignDigest string `json:"sign_digest"`
- SignCertSn string `json:"sign_cert_sn"`
- SignCertDn string `json:"sign_cert_dn"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type Result003 struct {
- Cainfo interface{} `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- HiRxno string `json:"hi_rxno"`
- RxStasCodg string `json:"rx_stas_codg"`
- RxStasName string `json:"rx_stas_name"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultEleven struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo struct {
- SetlTime string `json:"setl_time"`
- CvlservPay float64 `json:"cvlserv_pay"`
- Year string `json:"year"`
- MedType string `json:"med_type"`
- PsnPay float64 `json:"psn_pay"`
- OpterID string `json:"opter_id"`
- Begndate string `json:"begndate"`
- FlxempeFlag string `json:"flxempe_flag"`
- HifmiPay float64 `json:"hifmi_pay"`
- PsnNo string `json:"psn_no"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- MedinsSetlID interface{} `json:"medins_setl_id"`
- AcctMulaidPay interface{} `json:"acct_mulaid_pay"`
- ClrWay string `json:"clr_way"`
- OthPay float64 `json:"oth_pay"`
- Gend string `json:"gend"`
- MdtrtID string `json:"mdtrt_id"`
- AcctPay float64 `json:"acct_pay"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- Invono interface{} `json:"invono"`
- Enddate string `json:"enddate"`
- CashPayamt float64 `json:"cash_payamt"`
- PsnType string `json:"psn_type"`
- FixmedinsName string `json:"fixmedins_name"`
- HifpPay float64 `json:"hifp_pay"`
- NewFlag interface{} `json:"new_flag"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PayLoc string `json:"pay_loc"`
- ClrType string `json:"clr_type"`
- RefdSetlFlag string `json:"refd_setl_flag"`
- CvlservFlag string `json:"cvlserv_flag"`
- EmpName string `json:"emp_name"`
- Brdy string `json:"brdy"`
- Naty string `json:"naty"`
- Certno string `json:"certno"`
- DiseCode string `json:"dise_code"`
- FixmedinsCode string `json:"fixmedins_code"`
- DedcHospLv string `json:"dedc_hosp_lv"`
- OpterName string `json:"opter_name"`
- Balc float64 `json:"balc"`
- FixmedinsPoolarea string `json:"fixmedins_poolarea"`
- PsnCertType string `json:"psn_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- HifesPay float64 `json:"hifes_pay"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- OptTime string `json:"opt_time"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- SetlID string `json:"setl_id"`
- MafPay float64 `json:"maf_pay"`
- PsnName string `json:"psn_name"`
- InsuOptins interface{} `json:"insu_optins"`
- PrefFundPay interface{} `json:"pref_fund_pay"`
- ClrOptins string `json:"clr_optins"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- DiseName string `json:"dise_name"`
- LmtpricHospLv string `json:"lmtpric_hosp_lv"`
- Age float64 `json:"age"`
- DtrtCertType string `json:"dtrt_cert_type"`
- HospLv string `json:"hosp_lv"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- } `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultElevenah struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo struct {
- SetlTime int64 `json:"setl_time"`
- CvlservPay float64 `json:"cvlserv_pay"`
- Year string `json:"year"`
- MedType string `json:"med_type"`
- PsnPay float64 `json:"psn_pay"`
- OpterID string `json:"opter_id"`
- Begndate int64 `json:"begndate"`
- FlxempeFlag string `json:"flxempe_flag"`
- HifmiPay float64 `json:"hifmi_pay"`
- PsnNo string `json:"psn_no"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- MedinsSetlID interface{} `json:"medins_setl_id"`
- AcctMulaidPay interface{} `json:"acct_mulaid_pay"`
- ClrWay string `json:"clr_way"`
- OthPay float64 `json:"oth_pay"`
- Gend string `json:"gend"`
- MdtrtID string `json:"mdtrt_id"`
- AcctPay float64 `json:"acct_pay"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- Invono interface{} `json:"invono"`
- Enddate int64 `json:"enddate"`
- CashPayamt float64 `json:"cash_payamt"`
- PsnType string `json:"psn_type"`
- FixmedinsName string `json:"fixmedins_name"`
- HifpPay float64 `json:"hifp_pay"`
- NewFlag interface{} `json:"new_flag"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PayLoc string `json:"pay_loc"`
- ClrType string `json:"clr_type"`
- RefdSetlFlag string `json:"refd_setl_flag"`
- CvlservFlag string `json:"cvlserv_flag"`
- EmpName string `json:"emp_name"`
- Brdy int64 `json:"brdy"`
- Naty string `json:"naty"`
- Certno string `json:"certno"`
- DiseCode string `json:"dise_code"`
- FixmedinsCode string `json:"fixmedins_code"`
- DedcHospLv string `json:"dedc_hosp_lv"`
- OpterName string `json:"opter_name"`
- Balc float64 `json:"balc"`
- FixmedinsPoolarea string `json:"fixmedins_poolarea"`
- PsnCertType string `json:"psn_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- HifesPay float64 `json:"hifes_pay"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- OptTime int64 `json:"opt_time"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- SetlID string `json:"setl_id"`
- MafPay float64 `json:"maf_pay"`
- PsnName string `json:"psn_name"`
- InsuOptins interface{} `json:"insu_optins"`
- PrefFundPay interface{} `json:"pref_fund_pay"`
- ClrOptins string `json:"clr_optins"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- DiseName string `json:"dise_name"`
- LmtpricHospLv string `json:"lmtpric_hosp_lv"`
- Age float64 `json:"age"`
- DtrtCertType string `json:"dtrt_cert_type"`
- HospLv string `json:"hosp_lv"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- } `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultEleven10265 struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Setlinfo struct {
- SetlTime string `json:"setl_time"`
- CvlservPay float64 `json:"cvlserv_pay"`
- Year string `json:"year"`
- MedType string `json:"med_type"`
- PsnPay float64 `json:"psn_pay"`
- OpterID string `json:"opter_id"`
- Begndate string `json:"begndate"`
- FlxempeFlag string `json:"flxempe_flag"`
- HifmiPay float64 `json:"hifmi_pay"`
- PsnNo string `json:"psn_no"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- MedinsSetlID interface{} `json:"medins_setl_id"`
- AcctMulaidPay interface{} `json:"acct_mulaid_pay"`
- ClrWay string `json:"clr_way"`
- OthPay float64 `json:"oth_pay"`
- Gend string `json:"gend"`
- MdtrtID string `json:"mdtrt_id"`
- AcctPay float64 `json:"acct_pay"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- Insutype string `json:"insutype"`
- Invono interface{} `json:"invono"`
- Enddate string `json:"enddate"`
- CashPayamt float64 `json:"cash_payamt"`
- PsnType string `json:"psn_type"`
- FixmedinsName string `json:"fixmedins_name"`
- HifpPay float64 `json:"hifp_pay"`
- NewFlag interface{} `json:"new_flag"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- PayLoc string `json:"pay_loc"`
- ClrType string `json:"clr_type"`
- RefdSetlFlag string `json:"refd_setl_flag"`
- CvlservFlag string `json:"cvlserv_flag"`
- EmpName string `json:"emp_name"`
- Brdy string `json:"brdy"`
- Naty string `json:"naty"`
- Certno string `json:"certno"`
- DiseCode string `json:"dise_code"`
- FixmedinsCode string `json:"fixmedins_code"`
- DedcHospLv string `json:"dedc_hosp_lv"`
- OpterName string `json:"opter_name"`
- Balc float64 `json:"balc"`
- FixmedinsPoolarea string `json:"fixmedins_poolarea"`
- PsnCertType string `json:"psn_cert_type"`
- HifobPay float64 `json:"hifob_pay"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- HifesPay float64 `json:"hifes_pay"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- OptTime string `json:"opt_time"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- SetlID string `json:"setl_id"`
- MafPay float64 `json:"maf_pay"`
- PsnName string `json:"psn_name"`
- InsuOptins interface{} `json:"insu_optins"`
- PrefFundPay interface{} `json:"pref_fund_pay"`
- ClrOptins string `json:"clr_optins"`
- PoolPropSelfpay float64 `json:"pool_prop_selfpay"`
- DiseName string `json:"dise_name"`
- LmtpricHospLv string `json:"lmtpric_hosp_lv"`
- Age float64 `json:"age"`
- DtrtCertType string `json:"dtrt_cert_type"`
- HospLv string `json:"hosp_lv"`
- PsnCashPay float64 `json:"psn_cash_pay"`
- } `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultTwelve struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- MdtrtId string `json:"mdtrt_id"`
- ChrgBchno string `json:"chrg_bchno"`
- PsnNo string `json:"psn_no"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultThirteen struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Result struct {
- TrtDclaDetlSn string `json:"trt_dcla_detl_sn"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultThirteen10265 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Result struct {
- TrtDclaDetlSn string `json:"trt_dcla_detl_sn"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultFourteen struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG001 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- RxTraceCode string `json:"rx_trace_code"`
- HiRxno string `json:"hi_rxno"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG007 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- HiRxno string `json:"hi_rxno"`
- RxStasName string `json:"rx_stas_name"`
- RxUsedStasCodg string `json:"rx_used_stas_codg"`
- Seltdelts []interface{} `json:"seltdelts"`
- RxUsedStasName string `json:"rx_used_stas_name"`
- RxStasCodg string `json:"rx_stas_codg"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG002 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- RxFile string `json:"rx_file"`
- SignDigest string `json:"sign_digest"`
- SignCertSn string `json:"sign_cert_sn"`
- SignCertDn string `json:"sign_cert_dn"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG003 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- HiRxno string `json:"hi_rxno"`
- RxStasCodg string `json:"rx_stas_codg"`
- RxStasName string `json:"rx_stas_name"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG004 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- HiRxno string `json:"hi_rxno"`
- RxStasCodg string `json:"rx_stas_codg"`
- RxStasName string `json:"rx_stas_name"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
- type ResultCFYLJG008 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- PoolareaNo string `json:"poolareaNo"`
- AdmdvsName string `json:"admdvsName"`
- Count string `json:"count"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG005 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- HiRxNo string `json:"hi_rxno"`
- FixMedinsCode string `json:"fixmedins_code"`
- FixMedinsName string `json:"fixmedins_name"`
- RxStasCodg string `json:"rx_stas_codg"`
- RxStasName string `json:"rx_stas_name"`
- RxUserdStasCog string `json:"rx_userd_stas_cog"`
- RxUserdStasName string `json:"rx_userd_stas_name"`
- PrscTime string `json:"prsc_time"`
- RxDrugCnt float64 `json:"rx_drug_cnt"`
- RxUsedWayCodg string `json:"rx_used_way_codg"`
- RxUsedWayName string `json:"rx_used_way_name"`
- RxFrquCodg string `json:"rx_frqu_codg"`
- RxFrquName string `json:"rx_frqu_name"`
- RxDosunt string `json:"rx_dosunt"`
- RxDoscnt float64 `json:"rx_doscnt"`
- RxDrordDscr string `json:"rx_drord_dscr"`
- ValiDays int64 `json:"vali_days"`
- ValiEndTime string `json:"vali_end_time"`
- ReptFlag string `json:"rept_flag"`
- MaxReptCnt int64 `json:"max_rept_cnt"`
- ReptdCnt int64 `json:"reptd_cnt"`
- MinInrvDays int64 `json:"min_inrv_days"`
- RxTypeCode string `json:"rx_type_code"`
- RxTypeName string `json:"rx_type_name"`
- LongRxFlag string `json:"long_rx_flag"`
- RxDetlList []struct {
- MedListCodg string `json:"med_list_codg"`
- MedinsListCodg string `json:"medins_list_codg"`
- HospPrepFlag string `json:"hosp_prep_flag"`
- RxItemTypeCode string `json:"rx_item_type_code"`
- RxItemTypeName string `json:"rx_item_type_name"`
- TcmDrugTypeName string `json:"tcmdrug_type_name"`
- TcmDrugTypeCode string `json:"tcmdrug_type_code"`
- TcmHerbFoote string `json:"tcmherb_foote"`
- MednTypeCode string `json:"medn_type_code"`
- MednTypeName string `json:"medn_type_name"`
- MainMedcFlag string `json:"main_medc_flag"`
- UrgtFlag string `json:"urgt_flag"`
- BasMednFlag string `json:"bas_medn_flag"`
- ImpDrugFlag string `json:"imp_drug_flag"`
- ProdBarc string `json:"prod_barc"`
- DrugProdname string `json:"drug_prodname"`
- GennameCodg string `json:"genname_codg"`
- DrugGenname string `json:"drug_genname"`
- DrugDosform string `json:"drug_dosform"`
- DrugSpec string `json:"drug_spec"`
- PrdrName string `json:"prdr_name"`
- MedcWayCodg string `json:"medc_way_codg"`
- MedcWayDscr string `json:"medc_way_dscr"`
- MedcBegntime string `json:"medc_begntime"`
- MedcEndtime string `json:"medc_endtime"`
- MedcDays float64 `json:"medc_days"`
- DrugPric float64 `json:"drug_pric"`
- DrugSumamt float64 `json:"drug_sumamt"`
- DrugCnt float64 `json:"drug_cnt"`
- DrugDosunt string `json:"drug_dosunt"`
- SinDoscnt float64 `json:"sin_doscnt"`
- SinDosunt string `json:"sin_dosunt"`
- UsedFrquCodg string `json:"used_frqu_codg"`
- UsedFrquName string `json:"used_frqu_name"`
- DrugTotlcnt string `json:"drug_totlcnt"`
- DrugTotlcntEmp string `json:"drug_totlcnt_emp"`
- DiseCodg string `json:"dise_codg"`
- HospApprFlag string `json:"hosp_appr_flag"`
- } `json:"rx_detl_list"`
- RxOtpinfo struct {
- MedType string `json:"med_type"`
- IptOtpNo string `json:"ipt_otp_no"`
- OtpIptFlag string `json:"otp_ipt_flag"`
- PatnName string `json:"patn_name"`
- PatnAge float64 `json:"patn_age"`
- PatnHgt float64 `json:"patn_hgt"`
- PatnWt float64 `json:"patn_wt"`
- Gend string `json:"gend"`
- GesoVal float64 `json:"geso_val"`
- NwbFlag string `json:"nwb_flag"`
- NwbAge string `json:"nwb_age"`
- SuckPrdFlag string `json:"suck_prd_flag"`
- AlgsHis string `json:"algs_his"`
- Insutype string `json:"insutype"`
- PrscDeptName string `json:"prsc_dept_name"`
- PrscDrName string `json:"prsc_dr_name"`
- PharName string `json:"phar_name"`
- PharChkTime string `json:"phar_chk_time"`
- MdtrtTime string `json:"mdtrt_time"`
- DiseCodg string `json:"dise_codg"`
- DiseName string `json:"dise_name"`
- SpDiseFlag string `json:"sp_dise_flag"`
- MaindiagCode string `json:"maindiag_code"`
- MaindiagName string `json:"maindiag_name"`
- DiseCondDscr string `json:"dise_cond_dscr"`
- FstdiagFlag string `json:"fstdiag_flag"`
- } `json:"rx_otpinfo"`
- RxDiseList []struct {
- DiagType string `json:"diag_type"`
- MaindiagFlag string `json:"maindiag_flag"`
- DiagSrtNo string `json:"diag_srt_no"`
- DiagCode string `json:"diag_code"`
- DiagName string `json:"diag_name"`
- DiagDept string `json:"diag_dept"`
- DiagDrNo string `json:"diag_dr_no"`
- DiagDrName string `json:"diag_dr_name"`
- DiagTime string `json:"diag_time"`
- TcmDiseCode string `json:"tcm_dise_code"`
- TcmDiseName string `json:"tcm_dise_name"`
- TcmSympCode string `json:"tcmsymp_code"`
- TcmSymp string `json:"tcmsymp"`
- } `json:"rx_dise_list"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultCFYLJG006 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- HiRxNo string `json:"hi_rxno"`
- PharCode string `json:"phar_code"`
- PharName string `json:"phar_name"`
- RxChkOpnn string `json:"rx_chk_opnn"`
- RxChkTime string `json:"rx_chk_time"`
- RxChkStasCodg string `json:"rx_chk_stas_codg"`
- RxChkStasName string `json:"rx_chk_stas_name"`
- RxStasCodg string `json:"rx_stas_codg"`
- RxStasName string `json:"rx_stas_name"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultFourteen10265 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type ResultSixteen struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo struct {
- MdtrtID string `json:"mdtrt_id"`
- SetlID string `json:"setl_id"`
- ClrOptins string `json:"clr_optins"`
- SetlTime string `json:"setl_time"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- HifpPay float64 `json:"hifp_pay"`
- PoolPropSe float64 `json:"pool_prop_selfpay"`
- Lfpay float64 `json:"selfpay"`
- CvlservPay float64 `json:"cvlserv_pay"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifobPay float64 `json:"hifob_pay"`
- MafPay float64 `json:"maf_pay"`
- OthPay float64 `json:"oth_pay"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- AcctPay float64 `json:"acct_pay"`
- Balc float64 `json:"balc"`
- AcctMulaidPay float64 `json:"acct_mulaid_pay"`
- HospPartAmt float64 `json:"hosp_part_amt"`
- MedinsSetlID string `json:"medins_setl_id"`
- PdnCashPay string `json:"pdn_cash_pay"`
- } `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultSixteen10265 struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Setlinfo struct {
- MdtrtID string `json:"mdtrt_id"`
- SetlID string `json:"setl_id"`
- ClrOptins string `json:"clr_optins"`
- SetlTime string `json:"setl_time"`
- MedfeeSumamt float64 `json:"medfee_sumamt"`
- FulamtOwnpayAmt float64 `json:"fulamt_ownpay_amt"`
- OverlmtSelfpay float64 `json:"overlmt_selfpay"`
- PreselfpayAmt float64 `json:"preselfpay_amt"`
- InscpScpAmt float64 `json:"inscp_scp_amt"`
- ActPayDedc float64 `json:"act_pay_dedc"`
- HifpPay float64 `json:"hifp_pay"`
- PoolPropSe float64 `json:"pool_prop_selfpay"`
- Lfpay float64 `json:"selfpay"`
- CvlservPay float64 `json:"cvlserv_pay"`
- HifesPay float64 `json:"hifes_pay"`
- HifmiPay float64 `json:"hifmi_pay"`
- HifobPay float64 `json:"hifob_pay"`
- MafPay float64 `json:"maf_pay"`
- OthPay float64 `json:"oth_pay"`
- FundPaySumamt float64 `json:"fund_pay_sumamt"`
- PsnPartAmt float64 `json:"psn_part_amt"`
- AcctPay float64 `json:"acct_pay"`
- Balc float64 `json:"balc"`
- AcctMulaidPay float64 `json:"acct_mulaid_pay"`
- HospPartAmt float64 `json:"hosp_part_amt"`
- MedinsSetlID string `json:"medins_setl_id"`
- PdnCashPay string `json:"pdn_cash_pay"`
- } `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
- type ResultSixteen10265Two struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Setlinfo interface{} `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultgzSixteen10265Two struct {
- Cainfo string `json:"cainfo"`
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Setlinfo interface{} `json:"setlinfo"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnMsg interface{} `json:"warn_msg"`
- }
-
- type ResultSeventeen struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- SetlListId string `json:"setl_list_id"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype string `json:"signtype"`
- WarnInfo string `json:"warn_info"`
- }
-
- type ResultSeventeenOther struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- SetlListId string `json:"setl_list_id"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype string `json:"signtype"`
- WarnInfo string `json:"warn_info"`
- }
-
- type Result90991 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Result struct {
- PsnNo string `json:"psn_no"`
- CardStat string `json:"card_stat"`
- Certno string `json:"certno"`
- PsnName string `json:"psn_name"`
- CheckStat string `json:"check_stat"`
- SscnoCheckStat string `json:"sscno_check_stat"`
- } `json:"result"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type Result90100 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- PoolareaNo string `json:"poolarea_no"`
- PoolareaNoName string `json:"poolarea_no_name"`
- Insutype string `json:"insutype"`
- InsutypeName string `json:"insutype_name"`
- ClctType string `json:"clct_type"`
- ClctTypeName string `json:"clct_type_name"`
- ClctFlag string `json:"clct_flag"`
- ClctFlagName string `json:"clct_flag_name"`
- AccrymBegn string `json:"accrym_begn"`
- AccrymEnd string `json:"accrym_end"`
- ClctTime string `json:"clct_time"`
- ClctstdCrtfRuleCodg string `json:"clctstd_crtf_rule_codg"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type Custom struct {
- DetItemFeeSumamt string
- Cut string
- FeedetlSn string
- Price string
- MedListCodg string
- Type int64
- AdviceId int64
- ProjectId int64
- ItemId int64
- }
-
- type Result5301 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode int64 `json:"infcode"`
- Output struct {
- Result []struct {
- OpspDiseCode string `json:"opsp_dise_code"`
- OpspDiseName string `json:"opsp_dise_name"`
- Begndate string `json:"begndate"`
- Enddate string `json:"enddate"`
- } `json:"feedetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- type Result5301For10265 struct {
- ErrMsg string `json:"err_msg"`
- InfRefmsgid string `json:"inf_refmsgid"`
- Infcode string `json:"infcode"`
- Output struct {
- Result []struct {
- OpspDiseCode string `json:"opsp_dise_code"`
- OpspDiseName string `json:"opsp_dise_name"`
- Begndate string `json:"begndate"`
- Enddate string `json:"enddate"`
- } `json:"feedetail"`
- } `json:"output"`
- RefmsgTime string `json:"refmsg_time"`
- RespondTime string `json:"respond_time"`
- Signtype interface{} `json:"signtype"`
- WarnInfo interface{} `json:"warn_info"`
- }
-
- //获取个人信息----挂号-----上传就诊信息
-
- func (c *HisApiController) GetRegisterInfo() {
- id, _ := c.GetInt64("id")
- record_time := c.GetString("record_time")
- settlementValue, _ := c.GetInt64("settlement_value")
- medical_insurance_card := c.GetString("medical_insurance_card")
- name := c.GetString("name")
- id_card_type, _ := c.GetInt64("id_card_type")
- certificates, _ := c.GetInt64("certificates")
- medical_care, _ := c.GetInt64("medical_care")
- birthday := c.GetString("birthday")
- id_card := c.GetString("id_card")
- register_type, _ := c.GetInt64("register")
- doctor, _ := c.GetInt64("doctor")
- department, _ := c.GetInt64("department")
- gender, _ := c.GetInt64("sex")
- registration_fee, _ := c.GetFloat("registration_fee")
- medical_expenses, _ := c.GetFloat("medical_expenses")
- social_type, _ := c.GetInt64("social_type")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- insuplc_admdvs := c.GetString("insuplc_admdvs")
- mdtrt_type := c.GetString("mdtrt_type")
- if id_card_type == 5 {
- id_card_type = 4
- }
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- birthdays, _ := time.ParseInLocation(timeLayout+" 15:04:05", birthday+" 00:00:00", loc)
- birthUnix := birthdays.Unix()
-
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
-
- adminInfo := c.GetAdminUserInfo()
- var patient service.Patients
- if id == 0 {
- patient, _ = service.GetPatientByIDCard(id_card, adminInfo.CurrentOrgId)
- } else {
- patient, _ = service.GetPatientByIDTwo(adminInfo.CurrentOrgId, id)
- }
- patientPrescription, _ := service.FindPatientPrescriptionInfo(adminInfo.CurrentOrgId, id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminInfo.CurrentOrgId, id, recordDateTime)
- }
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminInfo.CurrentOrgId)
- if patient.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePatientNoExist)
- return
- }
- if len(patient.IdCardNo) == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeIDCartNo)
- return
- }
- config, _ := service.GetMedicalInsuranceConfig(adminInfo.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, admin_user_id)
-
- doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, doctor)
-
- //就诊结算未完成,不能进行二次挂号
- his, _ := service.GetHisPatientInfoTwo(adminInfo.CurrentOrgId, patient.ID, recordDateTime)
- if len(his) >= 1 {
- order, _ := service.GetNewHisOrderTwo(adminInfo.CurrentOrgId, his[len(his)-1].Number, his[len(his)-1].PatientId, recordDateTime)
- if len(his) >= 1 && order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisPatientParamWrong)
- return
- }
- }
-
- //var register_log string
-
- if config.IsOpen == 1 {
- var res ResultTwo
- var res10265 ResultTwo10265
- var PsnNo string
- var PsnCertType string
- var Certno string
- var PsnName string
- var Gend string
- var Naty string
- var Brdy string
- var Age float64
- var infoStr string
- var idetinfoStr string
- var infocode int64
- var verify_number string
- fmt.Println(verify_number)
- if miConfig.MdtrtareaAdmvs == "421300" || miConfig.MdtrtareaAdmvs == "420200" || miConfig.MdtrtareaAdmvs == "421182" || miConfig.MdtrtareaAdmvs == "420902" {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- if id_card_type == 2 {
- //请求内网数据
- api := "http://172.16.13.254:9532/" + "nmyb/1101?cert_no=" + patient.IdCardNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(2, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(1, 10) + "&name=" + patient.Name
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
-
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- var respJSON map[string]interface{}
-
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result_byte, _ := json.Marshal(respJSON)
- result := string(result_byte)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultTwo
- var resTwo10265 ResultTwo10265
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &resTwo10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- Infcode, _ := strconv.ParseInt(resTwo10265.Infcode, 10, 64)
- res.Infcode = Infcode
- res.ErrMsg = resTwo10265.ErrMsg
- res.Output = resTwo10265.Output
- res.InfRefmsgid = resTwo10265.InfRefmsgid
- res.RespondTime = resTwo10265.RespondTime
- res.WarnInfo = resTwo10265.WarnInfo
-
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- //var insutypes []string
- //var insutype string
- //var is390 int = 0
- //var is310 int = 0
- //for _, item := range res.Output.Iinfo {
- // if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- // insutypes = append(insutypes, item.Insutype)
- // }
- //}
- //if len(insutypes) == 1 {
- // insutype = insutypes[0]
- //} else {
- // for _, i := range insutypes {
- // if i == "390" {
- // is390 = 1
- // }
- //
- // if i == "310" {
- // is310 = 1
- // }
- // }
- //}
- //if is390 == 1 {
- // insutype = "390"
- //}
- //if is310 == 1 {
- // insutype = "310"
- //}
- //if len(insutypes) == 0 {
- // insutype = "310"
- //}
-
- PsnNo = res.Output.Baseinfo.PsnNo
- PsnCertType = res.Output.Baseinfo.PsnCertType
- Certno = res.Output.Baseinfo.Certno
- PsnName = res.Output.Baseinfo.PsnName
- Gend = res.Output.Baseinfo.Gend
- Naty = res.Output.Baseinfo.Naty
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr = string(Iinfos)
- idetinfoStr = string(Idetinfos)
- infocode = res.Infcode
- //infocode = 0
- //verify_number = psn_info.VerifyNumber
-
- } else {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
- }
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- if id_card_type == 1 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
- } else if id_card_type == 2 {
-
- result, requestLog, errMsgLog := service.FJyb1101(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, id_card_type, patient.IdCardNo, certificates, miConfig.Url, miConfig.Cainfo, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, "", id_card)
- fmt.Println(errMsgLog)
- saveLog(result, requestLog, "1101", "人员基本信息获取")
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- PsnNo = res.Output.Baseinfo.PsnNo
- PsnCertType = res.Output.Baseinfo.PsnCertType
- Certno = res.Output.Baseinfo.Certno
- PsnName = res.Output.Baseinfo.PsnName
- Gend = res.Output.Baseinfo.Gend
- Naty = res.Output.Baseinfo.Naty
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr = string(Iinfos)
- idetinfoStr = string(Idetinfos)
- infocode = res.Infcode
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- if id_card_type == 1 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else if id_card_type == 2 {
- result, requestLog := service.Jxyb1101(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", "1", miConfig.Url, miConfig.AccessKey, "")
- saveLog(result, requestLog, "1101", "人员基本信息获取")
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- PsnNo = res.Output.Baseinfo.PsnNo
- PsnCertType = res.Output.Baseinfo.PsnCertType
- Certno = res.Output.Baseinfo.Certno
- PsnName = res.Output.Baseinfo.PsnName
- Gend = res.Output.Baseinfo.Gend
- Naty = res.Output.Baseinfo.Naty
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr = string(Iinfos)
- idetinfoStr = string(Idetinfos)
- infocode = res.Infcode
-
- } else {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- if id_card_type == 1 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else if id_card_type == 2 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" || miConfig.MdtrtareaAdmvs == "340699" {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- if id_card_type == 1 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else if id_card_type == 2 {
- result, requestLog := service.Hnyb1101(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", "1", miConfig.Url, miConfig.AccessKey, "", "", Certno)
- saveLog(result, requestLog, "1101", "人员基本信息获取")
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- PsnNo = res.Output.Baseinfo.PsnNo
- PsnCertType = res.Output.Baseinfo.PsnCertType
- Certno = res.Output.Baseinfo.Certno
- PsnName = res.Output.Baseinfo.PsnName
- Gend = res.Output.Baseinfo.Gend
- Naty = res.Output.Baseinfo.Naty
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr = string(Iinfos)
- idetinfoStr = string(Idetinfos)
- infocode = res.Infcode
-
- } else if id_card_type == 4 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "131023" {
-
- var result string
- var requestLog string
- result, requestLog = service.HeBeiyb1101(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", strconv.FormatInt(certificates, 10), "")
- if id_card_type == 4 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else {
- saveLog(result, requestLog, "1101", "人员基本信息获取")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- PsnNo = res.Output.Baseinfo.PsnNo
- PsnCertType = res.Output.Baseinfo.PsnCertType
- Certno = res.Output.Baseinfo.Certno
- PsnName = res.Output.Baseinfo.PsnName
- Gend = res.Output.Baseinfo.Gend
- Naty = res.Output.Baseinfo.Naty
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr = string(Iinfos)
- idetinfoStr = string(Idetinfos)
- if miConfig.Code == "H15049901371" {
- infocode, _ = strconv.ParseInt(res10265.Infcode, 10, 64)
- } else {
- infocode = res.Infcode
- }
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else if miConfig.MdtrtareaAdmvs == "450721" {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
- } else {
- var result string
- var requestLog string
- //if miConfig.UserOrgId == 10138 {
- if id_card_type != 4 || id_card_type != 1 {
- var insa string
- if len(patient.InsuplcAdmdvs) > 0 {
- insa = patient.InsuplcAdmdvs
- } else {
- insa = miConfig.InsuplcAdmdvs
- }
- //psn_info, _ := service.GetPsnByPatientId(id)
- //result, requestLog = service.Gdyb1101ForEleCert(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, psn_info.VerifyNumber)
- result, requestLog = service.Gdyb1101D(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, insa, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", strconv.FormatInt(certificates, 10), name, record_time, admin_user_id)
- }
- //}
- //else {
- // var insa string
- // if len(patient.InsuplcAdmdvs) > 0 {
- // insa = patient.InsuplcAdmdvs
- // } else {
- // insa = miConfig.InsuplcAdmdvs
- // }
- // result, requestLog = service.Gdyb1101(patient.IdCardNo, miConfig.OrgName, roles.UserName, miConfig.Code, insa, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, "", strconv.FormatInt(certificates, 10), name)
- //}
-
- if id_card_type == 4 || id_card_type == 1 {
- psn_info, _ := service.GetPsnByPatientId(id)
- PsnNo = psn_info.PsnNo
- PsnCertType = psn_info.PsnCertType
- Certno = psn_info.Certno
- PsnName = psn_info.PsnName
- Gend = psn_info.Gend
- Naty = psn_info.Naty
- Brdy = psn_info.Brdy
- Age = psn_info.Age
- infoStr = psn_info.Insuinfo
- idetinfoStr = psn_info.Idetinfo
- infocode = 0
- verify_number = psn_info.VerifyNumber
-
- } else {
- saveLog(result, requestLog, "1101", "人员基本信息获取")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- PsnNo = res.Output.Baseinfo.PsnNo
- PsnCertType = res.Output.Baseinfo.PsnCertType
- Certno = res.Output.Baseinfo.Certno
- PsnName = res.Output.Baseinfo.PsnName
- Gend = res.Output.Baseinfo.Gend
- Naty = res.Output.Baseinfo.Naty
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr = string(Iinfos)
- idetinfoStr = string(Idetinfos)
- if miConfig.Code == "H15049901371" {
- infocode, _ = strconv.ParseInt(res10265.Infcode, 10, 64)
- } else {
- infocode = res.Infcode
- }
-
- }
-
- }
- if infocode == 0 {
- his := models.VMHisPatient{
- Name: name,
- Gender: gender,
- Birthday: birthUnix,
- MedicalTreatmentType: medical_care,
- IdType: certificates,
- IdCardNo: id_card,
- BalanceAccountsType: settlementValue,
- SocialType: social_type,
- MedicalInsuranceNumber: medical_insurance_card,
- RegisterType: register_type,
- RegisterCost: registration_fee,
- TreatmentCost: medical_expenses,
- Status: 1,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- PsnNo: PsnNo,
- PsnCertType: PsnCertType,
- Certno: Certno,
- PsnName: PsnName,
- Gend: Gend,
- Naty: Naty,
- Brdy: Brdy,
- Age: Age,
- Iinfo: infoStr,
- Idetinfo: idetinfoStr,
- PatientId: patient.ID,
- RecordDate: theTime.Unix(),
- UserOrgId: adminInfo.CurrentOrgId,
- AdminUserId: admin_user_id,
- IsReturn: 1,
- IdCardType: id_card_type,
- Doctor: doctor,
- Departments: department,
- MdtrtGrpType: mdtrt_type,
- }
-
- timestamp := time.Now().Unix()
- tempTime := time.Unix(timestamp, 0)
- timeFormat := tempTime.Format("20060102150405")
- chrgBchno := rand.Intn(100000) + 10000
- ipt_otp_no := timeFormat + strconv.FormatInt(int64(chrgBchno), 10) + strconv.FormatInt(his.PatientId, 10)
- his.Number = ipt_otp_no
- //count, _ := service.FindHisRegisterRecord(theTime.Unix(), patient.ID, adminInfo.CurrentOrgId)
- department, _ := service.GetDepartMentDetail(department)
- //doctor_id := strconv.FormatInt(patientPrescription., 10)
-
- IdCardNo := ""
- if id_card_type == 1 {
- // IdCardNo = medical_insurance_card
- IdCardNo = patient.IdCardNo
- } else {
- IdCardNo = patient.IdCardNo
- }
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var insutypes []*ResultFive
- var insutype string
- var insuplc_admdvs_temp string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- if insutype == "390" {
- is390 = 1
- }
-
- if insutype == "310" {
- is310 = 1
- }
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- fmt.Println(social_type)
- if social_type > 0 {
- insutype = strconv.FormatInt(social_type, 10)
-
- }
-
- var infocode int64
- var resThree ResultThree
- var resThree10265 ResultThree10265
-
- if len(insuplc_admdvs) == 0 {
- psn_info, _ := service.GetPsnByPatientId(id)
- //if len(psn_info.InsuplcAdmdvs) > 0 {
- insuplc_admdvs_temp = psn_info.InsuplcAdmdvs
- //}
- } else {
-
- insuplc_admdvs_temp = insuplc_admdvs
-
- }
-
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- hb_doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, patientPrescription.DoctorId)
- psn_info, _ := service.GetPsnByPatientId(id)
-
- api := "http://192.168.124.4:9532/" + "hbyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + Certno + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + hb_doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + psn_info.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + hb_doctor_info.DoctorNumber + "&doctor_name=" + hb_doctor_info.UserName + "&opter=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- hb_doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, patientPrescription.DoctorId)
- //if strings.Contains(insuplc_admdvs_temp, "4202") {
- // insuplc_admdvs_temp =
- //}
- //if strings.Contains(insuplc_admdvs_temp, "4413") {
- // insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
- //}
-
- api := "http://192.168.0.197:9532/" + "hbyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + Certno + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + hb_doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + hb_doctor_info.DoctorNumber + "&doctor_name=" + hb_doctor_info.UserName + "&opter=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- hb_doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, patientPrescription.DoctorId)
- //if strings.Contains(insuplc_admdvs_temp, "4202") {
- // insuplc_admdvs_temp =
- //}
- //if strings.Contains(insuplc_admdvs_temp, "4413") {
- // insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
- //}
- utils.ErrorLog("解析失败:%v", insutype)
- utils.ErrorLog("解析失败:%v", PsnNo)
- utils.ErrorLog("解析失败:%v", Certno)
- utils.ErrorLog("解析失败:%v", ipt_otp_no)
- utils.ErrorLog("解析失败:%v", hb_doctor_info.UserName)
- utils.ErrorLog("解析失败:%v", insuplc_admdvs_temp)
- utils.ErrorLog("解析失败:%v", hb_doctor_info.DoctorNumber)
- utils.ErrorLog("解析失败:%v", PsnNo)
-
- utils.ErrorLog("解析失败:%v", department.Number)
- utils.ErrorLog("解析失败:%v", department.Name)
- utils.ErrorLog("解析失败:%v", roles.UserName)
-
- api := miConfig.Url + "hbyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + Certno + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + hb_doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + hb_doctor_info.DoctorNumber + "&doctor_name=" + hb_doctor_info.UserName + "&opter=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- utils.ErrorLog("解析失败:%v", requestErr)
-
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- hb_doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, patientPrescription.DoctorId)
- //if strings.Contains(insuplc_admdvs_temp, "4202") {
- // insuplc_admdvs_temp =
- //}
- //if strings.Contains(insuplc_admdvs_temp, "4413") {
- // insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
- //}
-
- api := miConfig.Url + "hbyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + Certno + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + hb_doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + hb_doctor_info.DoctorNumber + "&doctor_name=" + hb_doctor_info.UserName + "&opter=" + roles.UserName
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- hb_doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, patientPrescription.DoctorId)
- psn_info, _ := service.GetPsnByPatientId(id)
-
- var verify_number string
- if id_card_type == 4 {
- verify_number = psn_info.VerifyNumber
- } else if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cardNumber := bas[2]
- verify_number = cardNumber
- }
- api := "http://172.16.13.254:9532/" + "nmyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + Certno + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + hb_doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + hb_doctor_info.DoctorNumber + "&doctor_name=" + hb_doctor_info.UserName + "&opter=" + roles.UserName + "&verify_number=" + verify_number
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- //if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //infocode = resThree.Infcode
-
- //result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- resThree.ErrMsg = resThree10265.ErrMsg
-
- resThree.Output = resThree10265.Output
-
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
-
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- psn_info, _ := service.GetPsnByPatientId(id)
- his.PsnNo = psn_info.PsnNo
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- var cert_no string
- if id_card_type == 3 {
- psn_info.VerifyNumber = IdCardNo + "|" + psn_info.VerifyNumber
- cert_no = IdCardNo
- } else if id_card_type == 4 {
- cert_no = IdCardNo
- psn_info.VerifyNumber = psn_info.VerifyNumber
- } else {
-
- bas := strings.Split(psn_info.CardInfo, "|")
- cert_no = bas[2]
- }
-
- var hisPrescription []*models.HisPrescription
-
- for _, item := range rf {
- if item.Insutype == insutype {
- //insuplc_admdvs = item.InsuplcAdmdvs
- his.InsuplcAdmdvs = insuplc_admdvs
- }
- }
- his.Insutype = insutype
-
- res3101 := Check3101ForOne(c, patient.ID, his, admin_user_id, "1", record_time, hisPrescription, department)
- fmt.Println(res3101)
- fmt.Println(res3101.Infcode)
-
- if res3101.Infcode == "0" {
- fmt.Println("33333333")
- if len(res3101.Output.Result) > 0 {
- fmt.Println("222222")
-
- for _, item := range res3101.Output.Result {
- if len(res3101.ErrMsg) == 0 {
- res3101.ErrMsg = item.VolaCont
- } else {
- res3101.ErrMsg = res3101.ErrMsg + "\n" + item.VolaCont
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3101.ErrMsg,
- })
- return
- } else {
- fmt.Println("11111")
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- ipt_otp_no = timeFormat
- api = "http://192.168.2.3:9532/" + "jsyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
-
- } else {
- ipt_otp_no = timeFormat
- api = "http://192.168.5.251:9532/" + "jsyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
-
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
-
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- var respJSON map[string]interface{}
-
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
-
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- resThree.ErrMsg = resThree10265.ErrMsg
-
- resThree.Output = resThree10265.Output
-
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
-
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
-
- }
-
- } else if res3101.Infcode != "0" {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3101.ErrMsg,
- })
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
-
- psn_info, _ := service.GetPsnByPatientId(id)
- var cert_no string
- if id_card_type == 1 {
- cert_no = strings.Split(psn_info.CardInfo, "|")[0]
- insuplc_admdvs_temp = psn_info.InsuplcAdmdvs
-
- } else if id_card_type == 4 {
- cert_no = psn_info.VerifyNumber
- insuplc_admdvs_temp = psn_info.InsuplcAdmdvs
- } else {
- insuplc_admdvs_temp = psn_info.InsuplcAdmdvs
- cert_no = psn_info.VerifyNumber
- }
-
- result, requestLog, _ := service.FJyb2201(psn_info.PsnNo, insutype, IdCardNo, miConfig.OrgName, doctor_info.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, roles.UserName, doctor_info.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, cert_no, record_time)
- saveLog(result, requestLog, "2201", "挂号")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- resThree.ErrMsg = resThree10265.ErrMsg
- resThree.Output = resThree10265.Output
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
- } else {
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
- } else if miConfig.MdtrtareaAdmvs == "360302" { //江西萍乡
-
- psn_info, _ := service.GetPsnByPatientId(id)
- var result string
- var requestLog string
- if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[2]
- card_sn := bas[3]
-
- result, requestLog = service.Jxyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, basNumber, "", card_sn, "01", IdCardNo, "15", psn_info.PsnName)
- saveLog(result, requestLog, "2201A", "挂号")
-
- } else if id_card_type == 2 {
- result, requestLog = service.Jxyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, IdCardNo, "", "", "", "", "", "")
- saveLog(result, requestLog, "2201A", "挂号")
-
- } else {
-
- result, requestLog = service.Jxyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, psn_info.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, psn_info.VerifyNumber, "", "", "01", IdCardNo, "15", psn_info.PsnName)
- saveLog(result, requestLog, "2201A", "挂号")
-
- }
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
- } else if miConfig.MdtrtareaAdmvs == "361025" { //江西萍乡
-
- psn_info, _ := service.GetPsnByPatientId(id)
- var result string
- var requestLog string
- if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[2]
- card_sn := ""
-
- result, requestLog = service.Jxyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, basNumber, "", card_sn, "01", IdCardNo, "15", psn_info.PsnName)
- saveLog(result, requestLog, "2201A", "挂号")
-
- } else if id_card_type == 2 {
- result, requestLog = service.Jxyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, IdCardNo, "", "", "", "", "", "")
- saveLog(result, requestLog, "2201A", "挂号")
-
- } else {
-
- result, requestLog = service.Jxyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, psn_info.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, psn_info.VerifyNumber, "", "", "01", IdCardNo, "15", psn_info.PsnName)
- saveLog(result, requestLog, "2201A", "挂号")
-
- }
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- psn_info, _ := service.GetPsnByPatientId(id)
- his.PsnNo = psn_info.PsnNo
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- var cert_no string
- if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cert_no = bas[2]
- } else if id_card_type == 4 {
- cert_no = IdCardNo
- psn_info.VerifyNumber = psn_info.VerifyNumber
- } else {
- cert_no = IdCardNo
- psn_info.VerifyNumber = cert_no
- }
- for _, item := range rf {
- if item.Insutype == insutype {
- his.InsuplcAdmdvs = insuplc_admdvs
- }
- }
- his.Insutype = insutype
- var api string
- ipt_otp_no = timeFormat
- api = miConfig.SecretKey + "ahyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&opera=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- psn_info, _ := service.GetPsnByPatientId(id)
- his.PsnNo = psn_info.PsnNo
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- var cert_no string
- if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cert_no = bas[2]
- } else if id_card_type == 4 {
- cert_no = IdCardNo
- psn_info.VerifyNumber = psn_info.VerifyNumber
- } else {
- cert_no = IdCardNo
- psn_info.VerifyNumber = cert_no
- }
- for _, item := range rf {
- if item.Insutype == insutype {
- his.InsuplcAdmdvs = insuplc_admdvs
- }
- }
- his.Insutype = insutype
- var api string
- ipt_otp_no = timeFormat
- api = miConfig.SecretKey + "ahyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + cert_no + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&opera=" + roles.UserName + "&doctor_name=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
-
- psn_info, _ := service.GetPsnByPatientId(id)
- var result string
- var requestLog string
- if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[2]
- card_sn := bas[3]
- result, requestLog = service.Hnyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, miConfig.MdtrtareaAdmvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, basNumber, "", card_sn)
- saveLog(result, requestLog, "2201A", "挂号")
-
- } else if id_card_type == 2 {
- result, requestLog = service.Hnyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, psn_info.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, IdCardNo, "", "")
- saveLog(result, requestLog, "2201A", "挂号")
-
- } else {
-
- result, requestLog = service.Hnyb2201(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, miConfig.Url, miConfig.AccessKey, psn_info.VerifyNumber, "", "")
- saveLog(result, requestLog, "2201A", "挂号")
-
- }
-
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
- } else if miConfig.MdtrtareaAdmvs == "131023" {
- psn_info, _ := service.GetPsnByPatientId(id)
- result, requestLog := service.HeBeiyb2201A(PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, record_time, psn_info.VerifyNumber)
- saveLog(result, requestLog, "2201A", "挂号")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- resThree.ErrMsg = resThree10265.ErrMsg
- resThree.Output = resThree10265.Output
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
- } else {
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.Code == "H15049901371" {
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
- } else {
- infocode = resThree.Infcode
-
- }
-
- } else {
- psn_info, _ := service.GetPsnByPatientId(id)
- if id_card_type == 4 || id_card_type == 1 {
- insuplc_admdvs_temp = psn_info.InsuplcAdmdvs
-
- }
-
- var rf []*ResultFive
- json.Unmarshal([]byte(psn_info.Insuinfo), &rf)
- var insutypes []*ResultFive
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- fmt.Println(len(insutypes))
- if len(insutypes) == 0 {
- for index, item := range rf {
- if index == 0 {
- insutype = item.Insutype
- insuplc_admdvs = item.InsuplcAdmdvs
- }
-
- }
- fmt.Println(insutype)
- fmt.Println(insuplc_admdvs)
- }
-
- if social_type > 0 {
- insutype = strconv.FormatInt(social_type, 10)
- }
- fmt.Println("--------")
-
- fmt.Println(psn_info)
- fmt.Println(psn_info.PsnNo)
-
- if miConfig.MdtrtareaAdmvs == "441202" {
- var hisPrescription []*models.HisPrescription
- res3101 := Checkgd3101ForOne(c, patient.ID, his, admin_user_id, "1", record_time, hisPrescription, department)
-
- if res3101.Infcode == 0 {
- fmt.Println("33333333")
- if len(res3101.Output.Result) > 0 {
- fmt.Println("222222")
-
- for _, item := range res3101.Output.Result {
- if len(res3101.ErrMsg) == 0 {
- res3101.ErrMsg = item.VolaCont
- } else {
- res3101.ErrMsg = res3101.ErrMsg + "\n" + item.VolaCont
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3101.ErrMsg,
- })
- return
- } else {
-
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
-
- record_time_two := record_time + " " + hour + ":" + min + ":" + sec
-
- fmt.Println(record_time_two)
-
- result, requestLog := service.Gdyb2201A(psn_info.PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, record_time_two, psn_info.VerifyNumber, admin_user_id)
- saveLog(result, requestLog, "2201A", "挂号")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- resThree.ErrMsg = resThree10265.ErrMsg
- resThree.Output = resThree10265.Output
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
- } else {
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.Code == "H15049901371" {
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
- } else {
- infocode = resThree.Infcode
-
- }
-
- }
-
- } else if res3101.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3101.ErrMsg,
- })
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "440205" {
- var hisPrescription []*models.HisPrescription
- res3101 := Checkgd3101ForOne(c, patient.ID, his, admin_user_id, "1", record_time, hisPrescription, department)
-
- if res3101.Infcode == 0 {
- fmt.Println("33333333")
- if len(res3101.Output.Result) > 0 {
- fmt.Println("222222")
-
- for _, item := range res3101.Output.Result {
- if len(res3101.ErrMsg) == 0 {
- res3101.ErrMsg = item.VolaCont
- } else {
- res3101.ErrMsg = res3101.ErrMsg + "\n" + item.VolaCont
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3101.ErrMsg,
- })
- return
- } else {
-
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
-
- record_time_two := record_time + " " + hour + ":" + min + ":" + sec
-
- fmt.Println(record_time_two)
-
- result, requestLog := service.Gdyb2201A(psn_info.PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, record_time_two, psn_info.VerifyNumber, admin_user_id)
- saveLog(result, requestLog, "2201A", "挂号")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- resThree.ErrMsg = resThree10265.ErrMsg
- resThree.Output = resThree10265.Output
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
- } else {
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.Code == "H15049901371" {
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
- } else {
- infocode = resThree.Infcode
-
- }
-
- }
-
- } else if res3101.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res3101.ErrMsg,
- })
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- doctor_info, _ := service.GetAdminUserInfoByID(adminInfo.CurrentOrgId, patientPrescription.DoctorId)
- psn_info, _ := service.GetPsnByPatientId(id)
- var verify_number string
- if id_card_type == 4 {
- verify_number = psn_info.VerifyNumber
- } else if id_card_type == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cardNumber := bas[2]
- verify_number = cardNumber
- } else {
- verify_number = psn_info.Certno
- }
- api := miConfig.Url + "gdyb/2201?psn_no=" + PsnNo + "&insutype=" + insutype + "&cert_no=" + Certno + "&ipt_otp_no=" + ipt_otp_no +
- "&org_name=" + miConfig.OrgName + "&operator=" + roles.UserName + "&doctor=" + doctor_info.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + insuplc_admdvs_temp + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + doctor_info.DoctorNumber + "&doctor_name=" + doctor_info.UserName + "&verify_number=" + verify_number + "&record_time=" + record_time
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- infocode = resThree.Infcode
-
- } else {
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
-
- record_time_two := record_time + " " + hour + ":" + min + ":" + sec
- if id_card_type == 1 {
- for _, item := range rf {
- if item.Insutype == strconv.FormatInt(social_type, 10) {
- if strconv.FormatInt(social_type, 10) == "310" && item.PsnInsuStas == "1" {
- insuplc_admdvs_temp = item.InsuplcAdmdvs
-
- } else if strconv.FormatInt(social_type, 10) == "390" {
-
- insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
- } else {
-
- insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
- }
-
- }
- }
- }
- if miConfig.MdtrtareaAdmvs == "440205" && strconv.FormatInt(social_type, 10) == "390" {
-
- insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
- }
-
- if id_card_type == 1 {
- utils.ErrorLog("解析失败:%v", psn_info.CardInfo)
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[1]
- IdCardNo = basNumber
- }
- if miConfig.MdtrtareaAdmvs == "450721" && id_card_type == 1 {
- IdCardNo = psn_info.VerifyNumber
- }
-
- if len(insuplc_admdvs_temp) == 0 {
- insuplc_admdvs_temp = miConfig.MdtrtareaAdmvs
-
- }
-
- result, requestLog := service.Gdyb2201A(psn_info.PsnNo, insutype, IdCardNo, miConfig.OrgName, roles.UserName, ipt_otp_no, department.Name, miConfig.Code, department.Number, doctor_info.DoctorNumber, insuplc_admdvs_temp, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, id_card_type, doctor_info.UserName, record_time_two, psn_info.VerifyNumber, admin_user_id)
- saveLog(result, requestLog, "2201A", "挂号")
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- resThree.ErrMsg = resThree10265.ErrMsg
- resThree.Output = resThree10265.Output
- resThree.InfRefmsgid = resThree10265.InfRefmsgid
- } else {
- if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.Code == "H15049901371" {
- infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
- } else {
- infocode = resThree.Infcode
-
- }
-
- }
- }
-
- if infocode == -1 {
-
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: resThree.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 2,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": resThree.ErrMsg,
- })
- return
- }
-
- his.Number = resThree.Output.Data.MdtrtID
- his.PsnNo = resThree.Output.Data.PsnNo
- his.IptOtpNo = resThree.Output.Data.IptOtpNo
- his.IdCardNo = patient.IdCardNo
- his.PhoneNumber = patient.Phone
- his.UserOrgId = adminInfo.CurrentOrgId
- his.Insutype = insutype
- his.Ctime = time.Now().Unix()
- his.Mtime = time.Now().Unix()
- his.InsuplcAdmdvs = insuplc_admdvs_temp
- if miConfig.MdtrtareaAdmvs == "421300" && strings.Contains(insuplc_admdvs_temp, "4213") {
- his.InsuplcAdmdvs = miConfig.MdtrtareaAdmvs
- }
-
- if miConfig.MdtrtareaAdmvs == "420200" && strings.Contains(insuplc_admdvs_temp, "4202") {
- his.InsuplcAdmdvs = miConfig.MdtrtareaAdmvs
- }
-
- if miConfig.MdtrtareaAdmvs == "421182" && strings.Contains(insuplc_admdvs_temp, "4211") {
- his.InsuplcAdmdvs = miConfig.MdtrtareaAdmvs
- }
- his.Status = 1
- his.MdtrtGrpType = mdtrt_type
- service.UpdateHisPatientStatus(&his)
- service.UpdateHisPrescriptionHisID(his.ID, patient.ID, recordDateTime, adminInfo.CurrentOrgId)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "his_info": his,
- })
-
- } else {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 1,
- }
- service.CreateErrMsgLog(errlog)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
-
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeGdybOneException)
- }
- }
- }
-
- func (c *HisApiController) GetUploadInfo() {
- id, _ := c.GetInt64("id")
- record_time := c.GetString("record_time")
- his_patient_id, _ := c.GetInt64("his_patient_id")
-
- order_id, _ := c.GetInt64("order_id")
-
- pay_way, _ := c.GetInt64("pay_way")
- pay_ways := c.GetString("pay_ways")
- oth_desc := c.GetString("oth_desc")
-
- pay_price, _ := c.GetFloat("pay_price")
- pay_card_no := c.GetString("pay_card_no")
-
- discount_price, _ := c.GetFloat("discount_price")
- preferential_price, _ := c.GetFloat("preferential_price")
- reality_price, _ := c.GetFloat("reality_price")
- found_price, _ := c.GetFloat("found_price")
- medical_insurance_price, _ := c.GetFloat("medical_insurance_price")
- private_price, _ := c.GetFloat("private_price")
- settle_accounts_type, _ := c.GetInt64("settle_accounts_type")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- fapiao_code := c.GetString("fapiao_code")
- fapiao_number := c.GetString("fapiao_number")
-
- diagnosis_id := c.GetString("diagnosis")
- sick_type, _ := c.GetInt64("sick_type")
- reg_type, _ := c.GetInt64("p_type")
- begin_time := c.GetString("begin_time")
- acct_used_flag_num, _ := c.GetInt64("acct_used_flag")
-
- cash_pay := c.GetString("cash_pay")
- band_card_pay := c.GetString("band_card_pay")
- wechat_pay := c.GetString("wechat_pay")
- ali_pay := c.GetString("ali_pay")
- jifen_pay := c.GetString("jifen_pay")
-
- acct_used_flag := strconv.FormatInt(acct_used_flag_num, 10)
-
- fmt.Println(acct_used_flag)
-
- id_str := c.GetString("ids")
- ids_arr := strings.Split(id_str, ",")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- adminUser := c.GetAdminUserInfo()
- var tempOrder models.HisOrder
- tempOrder, _ = service.GetHisOrderByID(order_id)
-
- var prescriptions []*models.HisPrescription
-
- var start_time int64
- var end_time int64
-
- //押金模块
- dec_way := c.GetString("dec_way") //是否使用押金支付bool类型
- tmp_decimal := c.GetString("tmp_decimal")
- var decimal float64 //本次使用的押金
- var errmsg error
-
- if dec_way == "true" && tmp_decimal == "0" || dec_way == "true" && tmp_decimal == "" {
- c.ServeFailJsonSend(enums.ErrorCodeParamWrong, "押金不能为0")
- return
- }
- if len(tmp_decimal) > 0 {
- if tmp_decimal[0] == 45 {
- c.ServeFailJsonSend(enums.ErrorCodeParamWrong, "押金不能为负数")
- return
- }
- }
- tt, errs := strconv.ParseFloat(tmp_decimal, 64)
- fmt.Println(errs)
- decimal = tt
-
- //if adminUser.CurrentOrgId == 10106{
- // if len(fapiao_code) == 0{
- // fapiao_code = "144072080589"
- // }
- // if len(fapiao_number) == 0{
- // order, _ := service.GetLastHisOrder(adminUser.CurrentOrgId)
- // if order.ID == 0{
- // fapiao_number = "00001520"
- // }else{
- // //fapiao_code = "00001520"
- // fpNumber, _ := strconv.Atoi(order.FaPiaoNumber)
- // var zero string
- // if fpNumber >= 1000{
- // zero = "0000" + strconv.Itoa(fpNumber)
- // }else if fpNumber >= 10000{
- // zero = "000" + strconv.Itoa(fpNumber)
- // } else if fpNumber >= 100000{
- // zero = "00" + strconv.Itoa(fpNumber)
- // } else if fpNumber >= 1000000{
- // zero = "0" + strconv.Itoa(fpNumber)
- // }else {
- // zero = strconv.Itoa(fpNumber)
- // }
- // fapiao_number = zero
- // }
- // }
- //}
-
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- his, _ := service.GetNewHisPatientInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, id, recordDateTime)
- }
- //if patientPrescription.Do
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
-
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
-
- diagnosis_ids := strings.Split(diagnosis_id, ",")
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
-
- sickConfig, _ := service.FindSickById(sick_type)
-
- //if tempOrder.ID == 0 {
- // tempOrder, _ = service.GetTodayHisOrder(adminUser.CurrentOrgId, id, recordDateTime, his.Number)
- //}
-
- if tempOrder.ID == 0 {
- var result string
- var requestLog string
- var res2 ResultSix
- var res3 GZResultSix
-
- var ressix10265 ResultSix10265
-
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["opter"] = roles.UserName
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = doctor_info.UserName
- data["department"] = department.Name
-
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["begin_time"] = begin_time
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
-
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["opter"] = roles.UserName
- data["org_name"] = miConfig.OrgName
- if reg_type == 11 && his.Insutype == "390" {
- data["med_type"] = "110104"
-
- } else {
- data["med_type"] = strconv.FormatInt(reg_type, 10)
-
- }
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = doctor_info.UserName
- data["department"] = department.Name
-
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["begin_time"] = begin_time
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
-
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["opter"] = roles.UserName
- data["org_name"] = miConfig.OrgName
- if reg_type == 11 && his.Insutype == "390" {
- data["med_type"] = "110104"
-
- } else {
- data["med_type"] = strconv.FormatInt(reg_type, 10)
-
- }
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = doctor_info.UserName
- data["department"] = department.Name
-
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["begin_time"] = begin_time
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
-
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["opter"] = roles.UserName
- data["org_name"] = miConfig.OrgName
- if reg_type == 11 && his.Insutype == "390" {
- data["med_type"] = "110104"
-
- } else {
- data["med_type"] = strconv.FormatInt(reg_type, 10)
-
- }
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = doctor_info.UserName
- data["department"] = department.Name
-
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["begin_time"] = begin_time
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
-
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["doctor"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = doctor_info.DoctorNumber
- data["new_doctor_name"] = doctor_info.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["begin_time"] = begin_time
- data["cainfo"] = miConfig.Cainfo
-
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- bytesData, _ := json.Marshal(data)
-
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/2203", bytes.NewReader(bytesData))
-
- //api = "http://192.168.2.110:9532/" + "jsyb/readcard?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- // "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2203", bytes.NewReader(bytesData))
-
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
-
- if err := json.Unmarshal(userJSONBytes, &ressix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = ressix10265.InfRefmsgid
- res2.Output = ressix10265.Output
- res2.ErrMsg = ressix10265.ErrMsg
- res2.Cainfo = ressix10265.Cainfo
- res2.WarnMsg = ressix10265.WarnMsg
- infocode, _ := strconv.ParseInt(ressix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["doctor"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = doctor_info.DoctorNumber
- data["new_doctor_name"] = doctor_info.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["begin_time"] = begin_time
- data["cainfo"] = miConfig.Cainfo
-
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- bytesData, _ := json.Marshal(data)
-
- var req *http.Request
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
-
- if err := json.Unmarshal(userJSONBytes, &ressix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = ressix10265.InfRefmsgid
- res2.Output = ressix10265.Output
- res2.ErrMsg = ressix10265.ErrMsg
- res2.Cainfo = ressix10265.Cainfo
- res2.WarnMsg = ressix10265.WarnMsg
- infocode, _ := strconv.ParseInt(ressix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- result, requestLog, _ = service.FJyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- result2, src_request, _ := service.FJyb2205(his.PsnNo, his.Number, "0000", miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- fmt.Println(result2)
- fmt.Println(src_request)
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["doctor"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = doctor_info.DoctorNumber
- data["new_doctor_name"] = doctor_info.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["begin_time"] = begin_time
- data["cainfo"] = miConfig.Cainfo
-
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- bytesData, _ := json.Marshal(data)
-
- var req *http.Request
- req, _ = http.NewRequest("POST", "http://172.20.10.81:9532/"+"gdyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- if miConfig.MdtrtareaAdmvs == "440781" { //
- result, requestLog = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time)
- } else {
- if miConfig.Code == "H15049901371" {
- //赤峰地区国家医保医疗类别
- //职工透析:医疗类别选特殊情况门诊990502
- //居民定额血透门慢: 医疗类别选门诊慢病140104
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 14 {
- med_type = "9933"
- } else if reg_type == 11 {
- med_type = "11"
-
- }
- } else if his.Insutype == "310" {
- if reg_type == 14 {
- med_type = "990502"
- } else if reg_type == 11 {
- med_type = "11"
- }
- }
- result, requestLog = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, med_type, doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time)
-
- } else {
- result, requestLog = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, admin_user_id, roles.UserName)
-
- }
- }
-
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes2, &ressix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = ressix10265.InfRefmsgid
- res2.Output = ressix10265.Output
- res2.ErrMsg = ressix10265.ErrMsg
- res2.Cainfo = ressix10265.Cainfo
- res2.WarnMsg = ressix10265.WarnMsg
- infocode, _ := strconv.ParseInt(ressix10265.Infcode, 10, 64)
- res2.Infcode = infocode
- } else {
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes2, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.Infcode = res3.Infcode
-
- } else {
-
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
- }
-
- if res2.Infcode == -1 {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res2.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 3,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- his.Diagnosis = diagnosis_id
- his.SickType = sickConfig.ID
- //var p_type int64
- //if reg_type == 1111 || reg_type == 1112 {
- // p_type = 11
- //
- //}
- his.PType = fmt.Sprintf("%d", reg_type)
- service.UpdateHisPatientThree(&his)
-
- data := make(map[string]interface{})
- if settle_accounts_type == 1 { //日结
-
- if reg_type == 11 || reg_type == 1111 || reg_type == 1112 {
- prescriptions, _ = service.GetPrescriptionByIds(ids_arr, adminUser.CurrentOrgId)
- } else {
- prescriptions, _ = service.GetNewHisPrescription(adminUser.CurrentOrgId, his_patient_id, recordDateTime, strconv.Itoa(int(reg_type)))
- }
- //prescriptions, _ = service.GetNewHisPrescriptionTwo(adminUser.CurrentOrgId, his_patient_id, recordDateTime, reg_type)
- data["pre"] = prescriptions
-
- } else { //月结
- start_time_str := c.GetString("start_time")
- end_time_str := c.GetString("end_time")
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theStartTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time_str+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordStartTime := theStartTime.Unix()
- start_time = recordStartTime
- theEndTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time_str+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordEndTime := theEndTime.Unix()
- end_time = recordEndTime
- prescriptions, _ = service.GetMonthHisPrescriptionTwo(adminUser.CurrentOrgId, id, recordStartTime, recordEndTime, reg_type)
- data["pre"] = prescriptions
-
- }
-
- timestamp := time.Now().Unix()
- tempTime := time.Unix(timestamp, 0)
- timeFormat := tempTime.Format("20060102150405")
- chrgBchno := rand.Intn(100000) + 10000
- new_chrg_bchno := ""
- chrg_bchno := timeFormat + strconv.FormatInt(int64(chrgBchno), 10) + strconv.FormatInt(his.PatientId, 10)
- new_chrg_bchno = chrg_bchno
- strconv.FormatInt(his.PatientId, 10)
- client := &http.Client{}
- if adminUser.CurrentOrgId == 10265 {
- if !strings.Contains(his.InsuplcAdmdvs, "1504") {
- new_chrg_bchno = "0000"
- }
- }
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["chrg_bchno"] = new_chrg_bchno
- data["org_name"] = miConfig.OrgName
- data["doctor"] = doctor_info.UserName
- data["doctor_id"] = doctor_info.DoctorNumber
- data["dept"] = strconv.FormatInt(patientPrescription.Departments, 10)
- data["fixmedins_code"] = miConfig.Code
- data["dept_code"] = department.Number
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["balance_accounts_type"] = strconv.FormatInt(his.BalanceAccountsType, 10)
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["new_doctor_name"] = patientPrescription.Doctor
- data["diag_code"] = sickConfig.CountryCode
- data["cainfo"] = miConfig.Cainfo
- data["opter"] = roles.UserName
-
- var ids []int64
-
- for _, item := range prescriptions {
- ids = append(ids, item.ID)
- }
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if config.IsOpen == 1 { //对接了医保,走医保流程
- var res ResultFour
- var resFour10265 ResultFour10265
-
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- result3101 := Check3101(c, id, his_patient_id, admin_user_id, "2", record_time, prescriptions)
- if result3101.Infcode == "0" {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- }
- }
-
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- data["diag_code"] = sickConfig.CountryCode
- fmt.Println(data)
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- data["diag_code"] = sickConfig.CountryCode
- fmt.Println(data)
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
-
- var pagesize int = 2
- var start int = 1
- var stop int
- var pagecount int
- var curpage int
- var isSuccess bool = true
-
- data["doctor_id"] = doctor_info.DoctorNumber
-
- //总页数,向上取整,注意除之前要先转换类型为float64
- pagecount = int(math.Ceil(float64(len(prescriptions)) / float64(pagesize)))
- for curpage = 1; curpage <= pagecount; curpage++ {
- if curpage == 1 {
- start = 1
- } else {
- start = (curpage-1)*pagesize + 1
- }
- stop = curpage * pagesize
- if stop > len(prescriptions) {
- stop = len(prescriptions)
- }
-
- //var requestLog string
- data["pre"] = prescriptions[start-1 : stop]
- fmt.Println(data["pre"])
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- res.Output.Result = append(res.Output.Result, res.Output.Result...)
- } else {
- isSuccess = false
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: "",
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- if isSuccess {
- res.Infcode = 0
- }
- } else if miConfig.MdtrtareaAdmvs == "350500" {
-
- result, request_log, _ := service.FJyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, doctor_info.DoctorNumber, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, sickConfig.CountryCode, doctor_info.DoctorNumber)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"gdyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- if miConfig.Code == "H15049901371" {
- result, request_log := service.Gdyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, doctor_info.DoctorNumber, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), patientPrescription.DoctorId, sickConfig.CountryCode, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
- result, request_log := service.Gdyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, strconv.FormatInt(roles.AdminUserId, 10), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), patientPrescription.DoctorId, sickConfig.CountryCode, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
-
- if res.Infcode == 0 {
- order := &models.HisOrder{
- UserOrgId: adminUser.CurrentOrgId,
- HisPatientId: his.ID,
- PatientId: his.PatientId,
- SettleAccountsDate: recordDateTime,
- MdtrtId: his.Number,
- PsnNo: his.PsnNo,
- MedType: strconv.FormatInt(reg_type, 10),
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Status: 1,
- Number: chrg_bchno,
- Infcode: res.Infcode,
- WarnMsg: res.WarnMsg,
- Cainfo: res.Cainfo,
- ErrMsg: res.ErrMsg,
- RespondTime: res.RefmsgTime,
- InfRefmsgid: res.InfRefmsgid,
- OrderStatus: 1,
- PayWay: pay_way,
- PayWays: pay_ways,
- OthDesc: oth_desc,
- PayPrice: pay_price,
- PayCardNo: pay_card_no,
- DiscountPrice: discount_price,
- PreferentialPrice: preferential_price,
- RealityPrice: reality_price,
- FoundPrice: found_price,
- MedicalInsurancePrice: medical_insurance_price,
- PrivatePrice: private_price,
- IsMedicineInsurance: 1,
- SettleType: settle_accounts_type,
- SettleStartTime: start_time,
- SettleEndTime: end_time,
- Creator: roles.AdminUserId,
- Modify: roles.AdminUserId,
- FaPiaoNumber: fapiao_number,
- FaPiaoCode: fapiao_code,
- PType: 2,
- Diagnosis: diagnosis_id,
- CashPay: cash_pay,
- WechatPay: wechat_pay,
- AliPay: ali_pay,
- JifenPay: jifen_pay,
- BandCardPay: band_card_pay,
- }
- err = service.CreateOrder(order)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeCreatePreOrderException)
- return
- }
-
- for _, item := range res.Output.Result {
- temp := strings.Split(item.FeedetlSn, "-")
- var advice_id int64 = 0
- var project_id int64 = 0
- var types int64 = 0
-
- id, _ := strconv.ParseInt(temp[2], 10, 64)
- types, _ = strconv.ParseInt(temp[1], 10, 64)
-
- if temp[1] == "1" {
- advice_id = id
- project_id = 0
- } else if temp[1] == "2" {
- advice_id = 0
- project_id = id
- }
- if item.MedChrgitmType == "9" {
- item.MedChrgitmType = "09"
- }
-
- info := &models.HisOrderInfo{
- OrderNumber: order.Number,
- FeedetlSn: item.FeedetlSn,
- UploadDate: time.Now().Unix(),
- AdviceId: advice_id,
- DetItemFeeSumamt: item.DetItemFeeSumamt,
- Cnt: item.Cnt,
- Pric: float64(item.Pric),
- PatientId: his.PatientId,
- PricUplmtAmt: item.PricUplmtAmt,
- SelfpayProp: item.SelfpayProp,
- FulamtOwnpayAmt: item.FulamtOwnpayAmt,
- OverlmtAmt: item.OverlmtAmt,
- PreselfpayAmt: item.PreselfpayAmt,
- BasMednFlag: item.BasMednFlag,
- MedChrgitmType: item.MedChrgitmType,
- HiNegoDrugFlag: item.HiNegoDrugFlag,
- Status: 1,
- Memo: item.Memo,
- Mtime: time.Now().Unix(),
- InscpScpAmt: item.InscpScpAmt,
- DrtReimFlag: item.DrtReimFlag,
- Ctime: time.Now().Unix(),
- ListSpItemFlag: item.ListSpItemFlag,
- ChldMedcFlag: item.ChldMedcFlag,
- LmtUsedFlag: item.LmtUsedFlag,
- ChrgitmLv: item.ChrgitmLv,
- UserOrgId: adminUser.CurrentOrgId,
- HisPatientId: his.ID,
- OrderId: order.ID,
- ProjectId: project_id,
- Type: types,
- }
- service.CreateOrderInfo(info)
-
- }
- service.UpDatePrescriptionNumber(adminUser.CurrentOrgId, ids, chrg_bchno)
- service.UpDateHisPrescriptionInfoNumber(adminUser.CurrentOrgId, his_patient_id, chrg_bchno, recordDateTime)
-
- var total float64
- for _, item := range prescriptions {
- if item.Type == 1 { //药品
- for _, subItem := range item.HisDoctorAdviceInfo {
- price, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price), 64)
- total_one := price * subItem.PrescribingNumber
- total = total + total_one
- }
- }
- if item.Type == 2 { //项目
-
- for _, subItem := range item.HisPrescriptionProject {
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- price, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price), 64)
- total_one := price * cnt
- total = total + total_one
- }
- }
- }
-
- allTotal := fmt.Sprintf("%.2f", total)
-
- //if adminUser.CurrentOrgId == 9919 {
- //
- // allTotal = fmt.Sprintf("%.2f", total)
- //
- //} else {
- //
- // allTotal = fmt.Sprintf("%.2f", total)
- //
- //}
-
- if res.Infcode == 0 {
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- chrg_bchno := chrg_bchno
- cert_no := his.Certno
-
- var insutypes []string
-
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item.Insutype)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0]
- } else {
- for _, i := range insutypes {
- if i == "390" {
- is390 = 1
- }
-
- if i == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- if len(insutypes) == 2 {
- insutype = strconv.FormatInt(his.SocialType, 10)
- }
-
- insutype = strconv.FormatInt(his.SocialType, 10)
- //insutype = "390"
- if his.IdCardType == 1 {
- // cert_no = his.MedicalInsuranceNumber
- cert_no = his.Certno
-
- } else {
-
- cert_no = his.Certno
-
- }
- var res ResultSeven
- var resSeven10265 ResultSeven10265
- var gzresSeven10265Two GZResultSeven10265Two
-
- var src_resquest string
- var result2 string
-
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- api := "http://192.168.124.4:9532/" + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
-
- api := "http://192.168.0.197:9532/" + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
-
- api := miConfig.Url + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
-
- api := miConfig.Url + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- result3101 := Check3102(c, id, his_patient_id, admin_user_id, "7", order.ID)
- if result3101.Infcode == "0" {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- if his.IdCardType == 1 {
- cert_no = bas[2]
- } else if his.IdCardType == 3 {
- cert_no = his.Certno
- psn_info.VerifyNumber = his.Certno + "|" + psn_info.VerifyNumber
- } else if his.IdCardType == 4 {
- cert_no = his.Certno
- psn_info.VerifyNumber = psn_info.VerifyNumber
- }
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
- }
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- psn_info, _ := service.GetPsnByPatientId(id)
- var verify_number string
- if psn_info.IdCardType == 4 {
- verify_number = psn_info.VerifyNumber
- } else if psn_info.IdCardType == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cardNumber := bas[2]
- verify_number = cardNumber
- } else {
- psn_info.IdCardType = 2
- verify_number = psn_info.Certno
-
- }
-
- var api string
- api = "http://172.16.13.254:9532/" + "nmyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&verify_number=" + verify_number
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- var cert_no string
- if his.IdCardType == 4 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- cert_no = psn_info.VerifyNumber
- result2, src_resquest, _ = service.FJyb2207ForToken(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
-
- } else if his.IdCardType == 1 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- cert_no = strings.Split(psn_info.CardInfo, "|")[0]
- result2, src_resquest, _ = service.FJyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- }
-
- //result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, acct_used_flag)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result2, src_resquest, "2207", "结算")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "450721" {
- res2 := c.GetoleInfo()
- if res2.Infcode == 0 {
- var result string
- var request_log string
- var result_log string
-
- if res2.Output.MdtrtCertType == "02" {
- result, request_log, result_log = service.ZHGdyb1101(res2.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res2.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, "", 1, res2.Output.PsnName, admin_user_id)
- saveLog(result_log, request_log, "1101", "人员基本信息获取")
-
- } else if res2.Output.MdtrtCertType == "01" {
-
- result, request_log, result_log = service.ZHGdyb1101d(res2.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res2.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, "", 1, res2.Output.PsnName, admin_user_id, res2.Output.EcToken)
- saveLog(result_log, request_log, "1101", "人员基本信息获取")
-
- } else {
- result, request_log, result_log = service.ZHGdyb1101d(res2.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res2.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res2.Output.CardSN, 1, res2.Output.PsnName, admin_user_id, res2.Output.CardNo)
- saveLog(result_log, request_log, "1101", "人员基本信息获取")
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res5 ResultTwo
- //var resTwo10265 ResultTwo10265
-
- if err := json.Unmarshal(userJSONBytes, &res5); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res5.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res5.ErrMsg,
- })
- return
- }
-
- var insutypes []string
- var insutype string
- var is390 int = 0
- var is310 int = 0
- for _, item := range res5.Output.Iinfo {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item.Insutype)
- }
- }
- if len(insutypes) == 1 {
- insutype = insutypes[0]
- } else {
- for _, i := range insutypes {
- if i == "390" {
- is390 = 1
- }
-
- if i == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- Iinfos, _ := json.Marshal(res5.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res5.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res5.Output.Baseinfo.PsnNo,
- PatientId: id,
- Certno: res5.Output.Baseinfo.Certno,
- Gend: res5.Output.Baseinfo.Gend,
- Naty: res5.Output.Baseinfo.Naty,
- PsnCertType: res5.Output.Baseinfo.PsnCertType,
- PsnName: res5.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- CardInfo: res2.Output.CardNo + "|" + res2.Output.CardSN,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- VerifyNumber: res2.Output.EcToken,
- }
- if res2.Output.MdtrtCertType == "01" {
- //psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- psn.VerifyNumber = res2.Output.EcToken
- } else if res2.Output.MdtrtCertType == "02" {
- psn.VerifyNumber = res2.Output.CardNo
- } else {
- psn.VerifyNumber = res2.Output.MdtrtCertNo
-
- }
-
- service.CreateHisPsn(psn)
-
- if res2.Output.MdtrtCertType == "01" {
- //psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- token := res2.Output.EcToken
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 4, acct_used_flag, token, admin_user_id)
-
- } else if res2.Output.MdtrtCertType == "02" {
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 2, acct_used_flag, "", admin_user_id)
-
- } else {
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 1, acct_used_flag, "", admin_user_id)
- }
-
- var dat2 map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
- fmt.Println(dat2)
- } else {
- fmt.Println(err)
- }
- userJSONBytes3, _ := json.Marshal(dat2)
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
- saveLog(result2, src_resquest, "2207", "结算")
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- } else {
- if miConfig.Code == "H15049901371" {
- //赤峰地区国家医保医疗类别
- //职工透析:医疗类别选特殊情况门诊990502
- //居民定额血透门慢: 医疗类别选门诊慢病140104
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 14 {
- med_type = "9933"
- } else if reg_type == 11 {
- med_type = "11"
- }
- } else if his.Insutype == "310" {
- if reg_type == 14 {
- med_type = "990502"
- } else if reg_type == 11 {
- med_type = "11"
- }
- }
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
- } else {
- if his.IdCardType == 4 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- var token string
- token = psn_info.VerifyNumber
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token, admin_user_id)
-
- } else {
- if his.IdCardType == 1 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[2]
- cert_no = basNumber
-
- }
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
-
- }
-
- }
-
- //result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, acct_used_flag)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_resquest, "2207", "结算")
-
- userJSONBytes, _ := json.Marshal(dat)
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal(userJSONBytes, &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
-
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes, &gzresSeven10265Two); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = gzresSeven10265Two.InfRefmsgid
-
- res.Output.Setlinfo.AcctMulaidPay = gzresSeven10265Two.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = gzresSeven10265Two.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = gzresSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = gzresSeven10265Two.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = gzresSeven10265Two.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = gzresSeven10265Two.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = gzresSeven10265Two.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = gzresSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = gzresSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = gzresSeven10265Two.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = gzresSeven10265Two.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = gzresSeven10265Two.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = gzresSeven10265Two.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = gzresSeven10265Two.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = gzresSeven10265Two.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = gzresSeven10265Two.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = gzresSeven10265Two.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = gzresSeven10265Two.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = gzresSeven10265Two.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = gzresSeven10265Two.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = gzresSeven10265Two.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = gzresSeven10265Two.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = gzresSeven10265Two.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = gzresSeven10265Two.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = gzresSeven10265Two.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = gzresSeven10265Two.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = gzresSeven10265Two.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = gzresSeven10265Two.Output.Setlinfo.OverlmtSelfpay
- PoolPropSelfpay, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.PoolPropSelfpay, 64)
-
- res.Output.Setlinfo.PoolPropSelfpay = PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = gzresSeven10265Two.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = gzresSeven10265Two.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = gzresSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = gzresSeven10265Two.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = gzresSeven10265Two.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = gzresSeven10265Two.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = gzresSeven10265Two.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = gzresSeven10265Two.Output.Setlinfo.SetlID
- res.Output.Setlinfo.SetlTime = gzresSeven10265Two.Output.Setlinfo.SetlTime
- //res.Output.Setldetail = gzresSeven10265Two.Output.Setldetail
- res.ErrMsg = gzresSeven10265Two.ErrMsg
- res.Cainfo = gzresSeven10265Two.Cainfo
- res.WarnMsg = gzresSeven10265Two.WarnMsg
- //infocode, _ := strconv.ParseInt(resSeven10265Two.Infcode, 10, 64)
- //res.Infcode = infocode
-
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- }
-
- }
-
- }
-
- if res.Infcode == -1 {
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 6,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- sickConfig, _ := service.FindSickById(his.SickType)
-
- order, _ := service.GetHisOrderTwo(adminUser.CurrentOrgId, chrg_bchno, id)
- order.OrderStatus = 2
- order.Status = 1
- order.MdtrtId = res.Output.Setlinfo.MdtrtID
- order.SetlId = res.Output.Setlinfo.SetlID
- order.PsnNo = res.Output.Setlinfo.PsnNo
- order.PsnName = res.Output.Setlinfo.PsnName
- order.PsnCertType = res.Output.Setlinfo.PsnCertType
- order.Certno = res.Output.Setlinfo.Certno
- order.Gend = res.Output.Setlinfo.Gend
- order.Naty = res.Output.Setlinfo.Naty
- order.Age = res.Output.Setlinfo.Age
- order.Insutype = res.Output.Setlinfo.Insutype
- order.PsnType = res.Output.Setlinfo.PsnType
- order.CvlservFlag = res.Output.Setlinfo.CvlservFlag
- order.SetlTime = res.Output.Setlinfo.SetlTime
- order.MdtrtCertType = res.Output.Setlinfo.MdtrtCertType
-
- if res.Output.Setlinfo.MedType == "140101" {
- order.MedType = "14"
-
- } else {
- if res.Output.Setlinfo.MedType == "110104" {
- order.MedType = "11"
- } else {
- order.MedType = res.Output.Setlinfo.MedType
-
- }
- }
- if reg_type == 1112 {
- order.MedType = "1112"
- }
- if reg_type == 1111 {
- order.MedType = "1111"
- }
- order.ClrType = res.Output.Setlinfo.ClrType
- if adminUser.CurrentOrgId == 10480 {
- if strings.Contains(his.InsuplcAdmdvs, "3412") {
- order.ClrType = "11"
- } else {
- order.ClrType = "9903"
- }
- }
- order.MedfeeSumamt = res.Output.Setlinfo.MedfeeSumamt
- order.FulamtOwnpayAmt = res.Output.Setlinfo.FulamtOwnpayAmt
- order.OverlmtSelfPay = res.Output.Setlinfo.OverlmtSelfpay
- order.PreselfpayAmt = res.Output.Setlinfo.PreselfpayAmt
- order.InscpScpAmt = res.Output.Setlinfo.InscpScpAmt
- order.ActPayDedc = res.Output.Setlinfo.ActPayDedc
- order.HifpPay = res.Output.Setlinfo.HifpPay
- order.CvlservPay = res.Output.Setlinfo.CvlservPay
- order.PoolPropSelfpay = res.Output.Setlinfo.PoolPropSelfpay
- order.HifesPay = res.Output.Setlinfo.HifesPay
- order.HifobPay = res.Output.Setlinfo.HifobPay
- order.MafPay = res.Output.Setlinfo.MafPay
- order.HifmiPay = res.Output.Setlinfo.HifmiPay
- order.OthPay = res.Output.Setlinfo.OthPay
- order.FundPaySumamt = res.Output.Setlinfo.FundPaySumamt
- order.PsnPartAmt = res.Output.Setlinfo.PsnPartAmt
- order.AcctPay = res.Output.Setlinfo.AcctPay
- order.PsnCashPay = res.Output.Setlinfo.PsnCashPay
- order.HospPartAmt = res.Output.Setlinfo.HospPartAmt
- order.Balc = res.Output.Setlinfo.Balc
- order.AcctMulaidPay = res.Output.Setlinfo.AcctMulaidPay
- order.MedinsSetlId = res.Output.Setlinfo.MedinsSetlID
- order.ClrOptins = res.Output.Setlinfo.ClrOptins
- //order.ClrType = res.Output.Setlinfo.ClrType
- order.ClrWay = res.Output.Setlinfo.ClrWay
- order.Creator = order.Creator
- order.Modify = roles.AdminUserId
- order.RequestLog = src_resquest
- order.FaPiaoNumber = fapiao_number
- order.FaPiaoCode = fapiao_code
- order.SickName = sickConfig.ClassName
-
- //setlDetail, _ := json.Marshal(res.Output.Setldetail)
- //detailStr := string(setlDetail)
- //order.SetlDetail = detailStr
- err := service.UpdataOrderStatusTwo(chrg_bchno, adminUser.CurrentOrgId)
- err = service.UpDateOrder(order)
- if err == nil {
- //判断是否使用了押金
- if dec_way == "true" {
- tmpstring := strconv.FormatInt(order.ID, 10)
- order.Decimal = decimal
- service.UpDateOrder(order)
- //扣押金
- errmsg = service.SpendDeposit(c.GetAdminUserInfo().CurrentOrgId, id, c.GetAdminUserInfo().AdminUser.Id, tmpstring, decimal)
- if errmsg != nil {
- c.ServeFailJsonSend(enums.ErrorCodeParamWrong, errmsg.Error())
- return
- }
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "结算成功",
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeAmountAccountException)
- return
- }
- }
- } else {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
-
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeRegisterRepeatException)
- return
- }
- } else {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeCalOrderException)
- //return
- }
- }
-
- }
-
- } else if tempOrder.ID > 0 {
- if tempOrder.IsPre == 1 {
- allTotal := fmt.Sprintf("%.2f", tempOrder.MedfeeSumamt)
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- chrg_bchno := tempOrder.Number
- cert_no := his.Certno
- var insutypes []string
- var insutype string
- var is390 int = 0
- var is310 int = 0
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item.Insutype)
- }
- }
- if len(insutypes) == 1 {
- insutype = insutypes[0]
- } else {
- for _, i := range insutypes {
- if i == "390" {
- is390 = 1
- }
-
- if i == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- if len(insutypes) == 2 {
- insutype = strconv.FormatInt(his.SocialType, 10)
- }
-
- //insutype = "390"
- if his.IdCardType == 1 {
- // cert_no = his.MedicalInsuranceNumber
- cert_no = his.Certno
-
- } else {
-
- cert_no = his.Certno
-
- }
-
- var res ResultSeven
- var ahres ResultSevenAH
-
- var resSeven10265 ResultSeven10265
- var gzresSeven10265Two GZResultSeven10265Two
- var src_resquest string
- var result2 string
- if miConfig.MdtrtareaAdmvs == "450721" {
- res2 := c.GetoleInfo()
- if res2.Infcode == 0 {
- var result string
- var request_log string
- var result_log string
-
- if res2.Output.MdtrtCertType == "02" {
- result, request_log, result_log = service.ZHGdyb1101(res2.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res2.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, "", 1, res2.Output.PsnName, admin_user_id)
- saveLog(result_log, request_log, "1101", "人员基本信息获取")
-
- } else if res2.Output.MdtrtCertType == "01" {
-
- result, request_log, result_log = service.ZHGdyb1101d(res2.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res2.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 4, "", 1, res2.Output.PsnName, admin_user_id, res2.Output.EcToken)
- saveLog(result_log, request_log, "1101", "人员基本信息获取")
-
- } else {
- result, request_log, result_log = service.ZHGdyb1101d(res2.Output.CertNo, miConfig.OrgName, roles.UserName, miConfig.Code, res2.Output.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 1, res2.Output.CardSN, 1, res2.Output.PsnName, admin_user_id, res2.Output.CardNo)
- saveLog(result_log, request_log, "1101", "人员基本信息获取")
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res5 ResultTwo
- //var resTwo10265 ResultTwo10265
-
- if err := json.Unmarshal(userJSONBytes, &res5); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- //utils.ErrorLog("解析失败:%v", res5.Infcode)
-
- if res5.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res5.ErrMsg,
- })
- return
- }
-
- var insutypes []string
- var insutype string
- var is390 int = 0
- var is310 int = 0
- for _, item := range res5.Output.Iinfo {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item.Insutype)
- }
- }
- if len(insutypes) == 1 {
- insutype = insutypes[0]
- } else {
- for _, i := range insutypes {
- if i == "390" {
- is390 = 1
- }
-
- if i == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
- if is310 == 1 {
- insutype = "310"
- }
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- Iinfos, _ := json.Marshal(res5.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res5.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res5.Output.Baseinfo.PsnNo,
- PatientId: id,
- Certno: res5.Output.Baseinfo.Certno,
- Gend: res5.Output.Baseinfo.Gend,
- Naty: res5.Output.Baseinfo.Naty,
- PsnCertType: res5.Output.Baseinfo.PsnCertType,
- PsnName: res5.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- CardInfo: res2.Output.CardNo + "|" + res2.Output.CardSN,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- VerifyNumber: res2.Output.EcToken,
- }
- service.CreateHisPsn(psn)
-
- if res2.Output.MdtrtCertType == "01" {
- //psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- token := res2.Output.EcToken
- result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 4, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 4, acct_used_flag, token, admin_user_id)
- } else if res2.Output.MdtrtCertType == "02" {
- result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 2, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 2, acct_used_flag, "", admin_user_id)
-
- } else {
- result2, src_resquest = service.Gxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), 1, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, 1, acct_used_flag, res2.Output.CardNo, admin_user_id)
- }
-
- var dat2 map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
- fmt.Println(dat2)
- } else {
- fmt.Println(err)
- }
- userJSONBytes3, _ := json.Marshal(dat2)
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
- saveLog(result2, src_resquest, "2207", "结算")
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421300" {
- api := "http://192.168.124.4:9532/" + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
-
- api := "http://192.168.0.197:9532/" + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
-
- api := miConfig.Url + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
-
- api := miConfig.Url + "hbyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&acct_used_flag=" + acct_used_flag
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- result3101 := Check3102(c, id, his_patient_id, admin_user_id, "7", tempOrder.ID)
- if result3101.Infcode == "0" {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- if his.IdCardType == 1 {
- cert_no = bas[2]
- } else if his.IdCardType == 3 {
- cert_no = his.Certno
- psn_info.VerifyNumber = his.Certno + "|" + psn_info.VerifyNumber
- } else if his.IdCardType == 4 {
- cert_no = his.Certno
- psn_info.VerifyNumber = psn_info.VerifyNumber
- }
-
- //江苏地区国家医保医疗类别
- //职工透析:医疗类别选特殊情况门诊9933
- //居民血透门慢: 医疗类别选门诊慢病1402
- //var med_type string
- //if his.Insutype == "310" {
- // if reg_type == 14 {
- // med_type = "9933"
- // } else if reg_type == 11 {
- // med_type = "11"
- //
- // }
- //} else if his.Insutype == "390" {
- // if reg_type == 14 {
- // med_type = "1402"
- // } else if reg_type == 11 {
- // med_type = "11"
- // }
- //}
-
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api = "http://192.168.5.251:9532/" + "jsyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- }
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- psn_info, _ := service.GetPsnByPatientId(id)
- var verify_number string
- if psn_info.IdCardType == 4 {
- verify_number = psn_info.VerifyNumber
- } else if psn_info.IdCardType == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cardNumber := bas[2]
- verify_number = cardNumber
- } else {
- verify_number = psn_info.Certno
- psn_info.IdCardType = 2
- }
- var api string
- new_chrg_bchno := chrg_bchno
-
- if adminUser.CurrentOrgId == 10265 {
- if !strings.Contains(his.InsuplcAdmdvs, "1504") {
- new_chrg_bchno = "0000"
- }
- }
- api = "http://172.16.13.254:9532/" + "nmyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + new_chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType + "&verify_number=" + verify_number
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- var cert_no string
- if his.IdCardType == 1 {
- cert_no = strings.Split(psn_info.CardInfo, "|")[0]
- } else {
- cert_no = psn_info.VerifyNumber
-
- }
-
- result2, src_resquest, _ = service.FJyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result2, src_resquest, "2207", "结算")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- var cert_no string
- var card_sn string
- if his.IdCardType == 1 {
- cert_no = strings.Split(psn_info.CardInfo, "|")[0]
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- bas := strings.Split(psn_info.CardInfo, "|")
- card_sn = bas[3]
- } else if his.IdCardType == 2 {
- cert_no = his.IdCardNo
- } else {
- cert_no = psn_info.VerifyNumber
-
- }
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var psn_type string
- for _, item := range rf {
- if item.InsuplcAdmdvs == his.InsuplcAdmdvs {
- psn_type = item.PsnType
- }
- }
-
- result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result2, src_resquest, "2207", "结算")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- var cert_no string
- var card_sn string
- if his.IdCardType == 1 {
- cert_no = strings.Split(psn_info.CardInfo, "|")[0]
- //psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- //bas := strings.Split(psn_info.CardInfo, "|")
- card_sn = ""
- } else if his.IdCardType == 2 {
- cert_no = his.IdCardNo
- } else {
- cert_no = psn_info.VerifyNumber
-
- }
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var psn_type string
- for _, item := range rf {
- if item.InsuplcAdmdvs == his.InsuplcAdmdvs {
- psn_type = item.PsnType
- }
- }
-
- result2, src_resquest := service.Jxyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result2, src_resquest, "2207", "结算")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
-
- if his.IdCardType == 1 {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- cert_no = bas[2]
- } else if his.IdCardType == 3 {
- cert_no = his.Certno
- psn_info.VerifyNumber = his.Certno + "|" + psn_info.VerifyNumber
- } else if his.IdCardType == 4 {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- cert_no = his.Certno
- psn_info.VerifyNumber = psn_info.VerifyNumber
- } else {
- cert_no = his.Certno
- psn_info.VerifyNumber = his.Certno
-
- }
- var api string
-
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 992102 {
- med_type = "992102"
- }
- if reg_type == 140104 {
- med_type = "140104"
- }
- if reg_type == 14 {
- med_type = "14"
- }
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- med_type = "992102"
- }
- if reg_type == 14 {
- med_type = "14"
- }
- }
-
- api = miConfig.SecretKey + "ahyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal(result, &ahres); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = ahres.InfRefmsgid
- timestamp := int64(ahres.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.AcctMulaidPay = ahres.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = ahres.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = ahres.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = ahres.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = ahres.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = ahres.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = ahres.Output.Setlinfo.ClrOptins
-
- if strings.Contains(his.InsuplcAdmdvs, "3412") {
- res.Output.Setlinfo.ClrType = "11"
- } else {
- res.Output.Setlinfo.ClrType = "9903"
- }
-
- res.Output.Setlinfo.ClrWay = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = ahres.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = ahres.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = ahres.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = ahres.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = ahres.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = ahres.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = ahres.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = ahres.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = ahres.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = ahres.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = ahres.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = ahres.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = ahres.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = ahres.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = ahres.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = ahres.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = ahres.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = ahres.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PoolPropSelfpay = ahres.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = ahres.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = ahres.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrType = ahres.Output.Setlinfo.ClrType
-
- res.Output.Setlinfo.PsnName = ahres.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = ahres.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = ahres.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = ahres.Output.Setlinfo.SetlID
- res.Output.Setldetail = ahres.Output.Setldetail
- res.ErrMsg = ahres.ErrMsg
- res.Cainfo = ahres.Cainfo
- res.WarnMsg = ahres.WarnMsg
- res.Infcode = ahres.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
-
- if his.IdCardType == 1 {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- cert_no = bas[2]
- } else if his.IdCardType == 3 {
- cert_no = his.Certno
- psn_info.VerifyNumber = his.Certno + "|" + psn_info.VerifyNumber
- } else if his.IdCardType == 4 {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- cert_no = his.Certno
- psn_info.VerifyNumber = psn_info.VerifyNumber
- } else {
- cert_no = his.Certno
- psn_info.VerifyNumber = his.Certno
-
- }
- var api string
-
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 992102 {
- med_type = "992102"
- }
- if reg_type == 140104 {
- med_type = "140104"
- }
- if reg_type == 14 {
- med_type = "14"
- }
-
- if reg_type == 140201 {
- med_type = "140201"
- }
-
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- med_type = "992102"
- }
- if reg_type == 14 {
- med_type = "14"
- }
- if reg_type == 140104 {
- med_type = "140104"
- }
-
- if reg_type == 140201 {
- med_type = "140201"
- }
- }
-
- api = miConfig.SecretKey + "ahyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&acct_used_flag=" + acct_used_flag + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal(result, &ahres); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = ahres.InfRefmsgid
- timestamp := int64(ahres.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.AcctMulaidPay = ahres.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = ahres.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = ahres.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = ahres.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = ahres.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = ahres.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = ahres.Output.Setlinfo.ClrOptins
-
- if strings.Contains(his.InsuplcAdmdvs, "3412") {
- res.Output.Setlinfo.ClrType = "11"
- } else {
- res.Output.Setlinfo.ClrType = "9903"
- }
-
- res.Output.Setlinfo.ClrWay = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = ahres.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = ahres.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = ahres.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = ahres.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = ahres.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = ahres.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = ahres.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = ahres.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = ahres.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = ahres.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = ahres.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = ahres.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = ahres.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = ahres.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = ahres.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = ahres.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = ahres.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = ahres.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PoolPropSelfpay = ahres.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = ahres.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = ahres.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrType = ahres.Output.Setlinfo.ClrType
-
- res.Output.Setlinfo.PsnName = ahres.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = ahres.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = ahres.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = ahres.Output.Setlinfo.SetlID
- res.Output.Setldetail = ahres.Output.Setldetail
- res.ErrMsg = ahres.ErrMsg
- res.Cainfo = ahres.Cainfo
- res.WarnMsg = ahres.WarnMsg
- res.Infcode = ahres.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- var cert_no string
- if his.IdCardType == 1 {
- cert_no = strings.Split(psn_info.CardInfo, "|")[0]
- } else if his.IdCardType == 2 {
- cert_no = his.IdCardNo
- } else {
- cert_no = psn_info.VerifyNumber
-
- }
- result2, src_resquest := service.Hnyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdCardType, acct_used_flag, miConfig.Url, miConfig.AccessKey, cert_no, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result2, src_resquest, "2207", "结算")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- psn_info, _ := service.GetPsnByPatientId(id)
- var verify_number string
- if psn_info.IdCardType == 4 {
- verify_number = psn_info.VerifyNumber
- } else if psn_info.IdCardType == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cardNumber := bas[2]
- verify_number = cardNumber
- } else {
- verify_number = psn_info.Certno
- psn_info.IdCardType = 2
- }
- var api string
- api = miConfig.Url + "gdyb/2207?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&operator=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + tempOrder.MedType + "&acct_used_flag=" + acct_used_flag + "&verify_number=" + verify_number
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- var src_resquest string
- if miConfig.Code == "H15049901371" {
- //赤峰地区国家医保医疗类别
- //职工透析:医疗类别选特殊情况门诊990502
- //居民定额血透门慢: 医疗类别选门诊慢病140104
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 14 {
- med_type = "9933"
- } else if reg_type == 11 {
- med_type = "11"
- }
- } else if his.Insutype == "310" {
- if reg_type == 14 {
- med_type = "990502"
- } else if reg_type == 11 {
- med_type = "11"
- }
- }
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, med_type, his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
- } else {
- if his.IdCardType == 4 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- token := psn_info.VerifyNumber
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, token, admin_user_id)
-
- } else {
-
- result2, src_resquest = service.Gdyb2207(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, tempOrder.FulamtOwnpayAmt, tempOrder.OverlmtSelfPay, tempOrder.PreselfpayAmt, tempOrder.InscpScpAmt, his.IdType, acct_used_flag, "", admin_user_id)
-
- }
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result2, src_resquest, "2207", "结算")
- userJSONBytes, _ := json.Marshal(dat)
- if miConfig.Code == "H15049901371" {
-
- if err := json.Unmarshal(userJSONBytes, &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
-
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes, &gzresSeven10265Two); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = gzresSeven10265Two.InfRefmsgid
-
- res.Output.Setlinfo.AcctMulaidPay = gzresSeven10265Two.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = gzresSeven10265Two.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = gzresSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = gzresSeven10265Two.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = gzresSeven10265Two.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = gzresSeven10265Two.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = gzresSeven10265Two.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = gzresSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = gzresSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = gzresSeven10265Two.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = gzresSeven10265Two.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = gzresSeven10265Two.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = gzresSeven10265Two.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = gzresSeven10265Two.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = gzresSeven10265Two.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = gzresSeven10265Two.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = gzresSeven10265Two.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = gzresSeven10265Two.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = gzresSeven10265Two.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = gzresSeven10265Two.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = gzresSeven10265Two.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = gzresSeven10265Two.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = gzresSeven10265Two.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = gzresSeven10265Two.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = gzresSeven10265Two.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = gzresSeven10265Two.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = gzresSeven10265Two.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = gzresSeven10265Two.Output.Setlinfo.OverlmtSelfpay
- PoolPropSelfpay, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.PoolPropSelfpay, 64)
-
- res.Output.Setlinfo.PoolPropSelfpay = PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = gzresSeven10265Two.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = gzresSeven10265Two.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = gzresSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = gzresSeven10265Two.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = gzresSeven10265Two.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = gzresSeven10265Two.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = gzresSeven10265Two.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = gzresSeven10265Two.Output.Setlinfo.SetlID
- res.Output.Setlinfo.SetlTime = gzresSeven10265Two.Output.Setlinfo.SetlTime
- //res.Output.Setldetail = gzresSeven10265Two.Output.Setldetail
- res.ErrMsg = gzresSeven10265Two.ErrMsg
- res.Cainfo = gzresSeven10265Two.Cainfo
- res.WarnMsg = gzresSeven10265Two.WarnMsg
- //infocode, _ := strconv.ParseInt(resSeven10265Two.Infcode, 10, 64)
- //res.Infcode = infocode
-
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- }
- }
- }
-
- if res.Infcode == -1 {
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 6,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- order, _ := service.GetHisOrderTwo(adminUser.CurrentOrgId, chrg_bchno, id)
- order.OrderStatus = 2
- order.MdtrtId = res.Output.Setlinfo.MdtrtID
- order.SetlId = res.Output.Setlinfo.SetlID
- order.PsnNo = res.Output.Setlinfo.PsnNo
- order.PsnName = res.Output.Setlinfo.PsnName
- order.PsnCertType = res.Output.Setlinfo.PsnCertType
- order.Certno = res.Output.Setlinfo.Certno
- order.Gend = res.Output.Setlinfo.Gend
- order.Naty = res.Output.Setlinfo.Naty
- order.Age = res.Output.Setlinfo.Age
- order.Insutype = res.Output.Setlinfo.Insutype
- order.PsnType = res.Output.Setlinfo.PsnType
- order.CvlservFlag = res.Output.Setlinfo.CvlservFlag
- order.SetlTime = res.Output.Setlinfo.SetlTime
- order.MdtrtCertType = res.Output.Setlinfo.MdtrtCertType
- order.PayWays = pay_ways
- order.AcctUsedFlag = acct_used_flag
- order.WechatPay = wechat_pay
- order.AliPay = ali_pay
- order.JifenPay = jifen_pay
- order.BandCardPay = band_card_pay
- order.CashPay = cash_pay
- order.OthDesc = oth_desc
- //order.MedType = res.Output.Setlinfo.MedType
- if reg_type == 1112 {
- order.MedType = "1112"
- }
- if reg_type == 1111 {
- order.MedType = "1111"
- }
- order.ClrType = res.Output.Setlinfo.ClrType
-
- if adminUser.CurrentOrgId == 10480 {
- if strings.Contains(his.InsuplcAdmdvs, "3412") {
- order.ClrType = "11"
- } else {
- order.ClrType = "9903"
- }
- }
- order.MedfeeSumamt = res.Output.Setlinfo.MedfeeSumamt
- order.FulamtOwnpayAmt = res.Output.Setlinfo.FulamtOwnpayAmt
- order.OverlmtSelfPay = res.Output.Setlinfo.OverlmtSelfpay
- order.PreselfpayAmt = res.Output.Setlinfo.PreselfpayAmt
- order.InscpScpAmt = res.Output.Setlinfo.InscpScpAmt
- order.ActPayDedc = res.Output.Setlinfo.ActPayDedc
- order.HifpPay = res.Output.Setlinfo.HifpPay
- order.CvlservPay = res.Output.Setlinfo.CvlservPay
- order.PoolPropSelfpay = res.Output.Setlinfo.PoolPropSelfpay
- order.HifesPay = res.Output.Setlinfo.HifesPay
- order.HifobPay = res.Output.Setlinfo.HifobPay
- order.MafPay = res.Output.Setlinfo.MafPay
- order.HifmiPay = res.Output.Setlinfo.HifmiPay
- order.OthPay = res.Output.Setlinfo.OthPay
- order.FundPaySumamt = res.Output.Setlinfo.FundPaySumamt
- order.PsnPartAmt = res.Output.Setlinfo.PsnPartAmt
- order.AcctPay = res.Output.Setlinfo.AcctPay
- order.PsnCashPay = res.Output.Setlinfo.PsnCashPay
- order.HospPartAmt = res.Output.Setlinfo.HospPartAmt
- order.Balc = res.Output.Setlinfo.Balc
- order.AcctMulaidPay = res.Output.Setlinfo.AcctMulaidPay
- order.MedinsSetlId = res.Output.Setlinfo.MedinsSetlID
- order.ClrOptins = res.Output.Setlinfo.ClrOptins
- order.ClrWay = res.Output.Setlinfo.ClrWay
- order.Creator = order.Creator
- order.Modify = roles.AdminUserId
- order.RequestLog = src_resquest
- order.Diagnosis = diagnosis_id
- order.FaPiaoNumber = fapiao_number
- order.FaPiaoCode = fapiao_code
- setlDetail, _ := json.Marshal(res.Output.Setldetail)
- detailStr := string(setlDetail)
- order.SetlDetail = detailStr
-
- err := service.UpdataOrderStatusTwo(chrg_bchno, adminUser.CurrentOrgId)
- err = service.UpDateOrder(order)
- if err == nil {
- //判断是否使用了押金
- if dec_way == "true" {
- tmpstring := strconv.FormatInt(order.ID, 10)
- //扣押金
- order.Decimal = decimal
- service.UpDateOrder(order)
-
- errmsg = service.SpendDeposit(c.GetAdminUserInfo().CurrentOrgId, id, c.GetAdminUserInfo().AdminUser.Id, tmpstring, decimal)
- if errmsg != nil {
- c.ServeFailJsonSend(enums.ErrorCodeParamWrong, errmsg.Error())
- return
- }
- }
-
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "结算成功",
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeAmountAccountException)
- return
- }
- }
- }
- }
- }
-
- // 上传明细-预结算-
- func (c *HisApiController) GetPreUploadInfo() {
- id, _ := c.GetInt64("id")
- record_time := c.GetString("record_time")
- his_patient_id, _ := c.GetInt64("his_patient_id")
- settle_accounts_type, _ := c.GetInt64("settle_accounts_type")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- diagnosis_id := c.GetString("diagnosis")
- sick_type, _ := c.GetInt64("sick_type")
- reg_type, _ := c.GetInt64("p_type")
- begin_time := c.GetString("begin_time")
- acct_used_flag := c.GetString("acct_used_flag")
-
- id_str := c.GetString("ids")
- ids_arr := strings.Split(id_str, ",")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- adminUser := c.GetAdminUserInfo()
-
- diagnosis_ids := strings.Split(diagnosis_id, ",")
-
- var config []*models.HisXtDiagnoseConfig
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- config = append(config, &diagnosisConfig)
- }
- //diagnosisConfig, _ := service.FindDiagnoseById(diagnosis_id)
-
- sickConfig, _ := service.FindSickById(sick_type)
-
- var prescriptions []*models.HisPrescription
-
- var start_time int64
- var end_time int64
- var isSuccess bool = true
-
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- fmt.Println(his_patient_id)
- his, _ := service.GetNewHisPatientInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- timestamp := time.Now().Unix()
- tempTime := time.Unix(timestamp, 0)
- timeFormat := tempTime.Format("20060102150405")
-
- chrgBchno := rand.Intn(100000) + 10000
- new_chrg_bchno := ""
-
- chrg_bchno := timeFormat + strconv.FormatInt(int64(chrgBchno), 10)
- new_chrg_bchno = chrg_bchno
- if adminUser.CurrentOrgId == 10265 {
- if !strings.Contains(his.InsuplcAdmdvs, "1504") {
- new_chrg_bchno = "0000"
- }
- }
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- var patientPrescription models.HisPrescriptionInfo
- patientPrescription, _ = service.FindHisPatientPrescriptionInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
- if patientPrescription.ID == 0 {
- patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminUser.CurrentOrgId, id, recordDateTime)
- }
- //miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
-
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
-
- strconv.FormatInt(his.PatientId, 10)
-
- var res2406 Result2406
- //安徽单病种处理
- if miConfig.MdtrtareaAdmvs == "341203" && reg_type == 992102 {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["operator"] = roles.UserName
- data["cert_no"] = his.IdCardNo
- data["org_name"] = miConfig.OrgName
- data["psn_name"] = his.Name
- data["ipt_otp_no"] = his.IptOtpNo
- data["ipt_psn_sp_flag_type"] = "0901"
- data["ipt_psn_sp_flag"] = "1"
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["url"] = miConfig.Url
- utils.ErrorLog("接口返回数据解析JSON失败: %v", data)
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- utils.ErrorLog("接口返回数据解析JSON失败: %v", miConfig.SecretKey)
-
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2406", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2406); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "340699" && reg_type == 992102 {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["operator"] = roles.UserName
- data["cert_no"] = his.IdCardNo
- data["org_name"] = miConfig.OrgName
- data["psn_name"] = his.Name
- data["ipt_otp_no"] = his.IptOtpNo
- data["ipt_psn_sp_flag_type"] = "0901"
- data["ipt_psn_sp_flag"] = "1"
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["url"] = miConfig.Url
- utils.ErrorLog("接口返回数据解析JSON失败: %v", data)
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- utils.ErrorLog("接口返回数据解析JSON失败: %v", miConfig.SecretKey)
-
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2406", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2406); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res2406.Infcode != 0 {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res2406.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 3,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2406.ErrMsg,
- })
- return
- }
-
- var res2 ResultSix
- var res3 GZResultSix
-
- var resSix10265 ResultSix10265
- //var time_stamp string
- if miConfig.MdtrtareaAdmvs == "421300" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = roles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["opter"] = roles.UserName
-
- fmt.Println(data)
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- if reg_type == 11 && his.Insutype == "390" {
- data["med_type"] = "110104"
- } else {
- data["med_type"] = strconv.FormatInt(reg_type, 10)
-
- }
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = roles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["opter"] = roles.UserName
-
- fmt.Println(data)
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- if reg_type == 11 && his.Insutype == "390" {
- data["med_type"] = "110104"
- } else {
- data["med_type"] = strconv.FormatInt(reg_type, 10)
-
- }
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = roles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["opter"] = roles.UserName
-
- fmt.Println(data)
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- if reg_type == 11 && his.Insutype == "390" {
- data["med_type"] = "110104"
- } else {
- data["med_type"] = strconv.FormatInt(reg_type, 10)
-
- }
- data["doctor_id"] = doctor_info.DoctorNumber
- data["doctor_name"] = roles.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["opter"] = roles.UserName
-
- fmt.Println(data)
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["doctor"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = strconv.FormatInt(doctor_info.AdminUserId, 10)
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
-
- bytesData, _ := json.Marshal(data)
-
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/2203", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2203", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- //time_stamp := strconv.FormatInt(int64(respJSON["data"].(map[string]interface{})["time_stamp"].(float64)), 10)
-
- //fmt.Println(respJSON["data"].(map[string]interface{})["time_stamp"].(string))
- //time_stamp = respJSON["data"].(map[string]interface{})["time_stamp"].(string)
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
-
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["doctor"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = strconv.FormatInt(doctor_info.AdminUserId, 10)
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- //data["url"] = miConfig.Url
- //data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- fmt.Println(data)
-
- bytesData, _ := json.Marshal(data)
-
- var req *http.Request
-
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/2203", bytes.NewReader(bytesData))
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- //time_stamp := strconv.FormatInt(int64(respJSON["data"].(map[string]interface{})["time_stamp"].(float64)), 10)
-
- //fmt.Println(respJSON["data"].(map[string]interface{})["time_stamp"].(string))
- //time_stamp = respJSON["data"].(map[string]interface{})["time_stamp"].(string)
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
-
- result, requestLog, _ := service.FJyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- var result string
- var requestLog string
- result, requestLog = service.Jxyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, miConfig.Url, miConfig.AccessKey, "")
-
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- var result string
- var requestLog string
- result, requestLog = service.Jxyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, miConfig.Url, miConfig.AccessKey, "")
-
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["operator"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- var med_type string
-
- if his.Insutype == "390" {
- if reg_type == 992102 {
- med_type = "992102"
- data["sick_code"] = "ZDZ940"
- data["sick_name"] = "慢性肾衰竭"
-
- }
- if reg_type == 140104 {
- med_type = "140104"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- }
- if reg_type == 14 {
- med_type = "140104"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- }
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- med_type = "992102"
- data["sick_code"] = "ZDZ940"
- data["sick_name"] = "慢性肾衰竭"
- }
- if reg_type == 140104 {
- med_type = "140104"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- }
- if reg_type == 14 {
- med_type = "14"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
-
- }
- }
-
- data["med_type"] = med_type
- data["doctor_number"] = doctor_info.DoctorNumber
- data["doctor_name"] = doctor_info.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["operator"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- var med_type string
-
- if his.Insutype == "390" {
- if reg_type == 992102 {
- med_type = "992102"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
-
- }
- if reg_type == 140104 {
- med_type = "140104"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- }
- if reg_type == 14 {
- med_type = "140104"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- }
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- med_type = "992102"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.CountryCode
- }
- if reg_type == 140104 {
- med_type = "140104"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.CountryCode
- }
- if reg_type == 14 {
- med_type = "14"
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
-
- }
- }
-
- data["med_type"] = med_type
- data["doctor_number"] = doctor_info.DoctorNumber
- data["doctor_name"] = doctor_info.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["begin_time"] = begin_time
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["cainfo"] = miConfig.Cainfo
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2203", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- var result string
- var requestLog string
- result, requestLog = service.Hnyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, miConfig.Url, miConfig.AccessKey, "")
-
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- data := make(map[string]interface{})
- client := &http.Client{}
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["doctor"] = roles.UserName
- data["department"] = department.Name
- data["org_name"] = miConfig.OrgName
- data["med_type"] = strconv.FormatInt(reg_type, 10)
- data["doctor_id"] = doctor_info.DoctorNumber
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["sick_code"] = sickConfig.CountryCode
- data["sick_name"] = sickConfig.ClassName
- data["begin_time"] = begin_time
- data["new_doctor_name"] = doctor_info.UserName
-
- data["dept"] = strconv.FormatInt(department.ID, 10)
- data["config"] = config
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.Url+"gdyb/2203", bytes.NewReader(bytesData))
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- var result string
- var requestLog string
- if miConfig.MdtrtareaAdmvs == "440781" { //
- result, requestLog = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time)
- } else {
-
- if miConfig.Code == "H15049901371" {
- //赤峰地区国家医保医疗类别
- //职工透析:医疗类别选特殊情况门诊990502
- //居民定额血透门慢: 医疗类别选门诊慢病140104
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 14 {
- med_type = "9933"
- } else if reg_type == 11 {
- med_type = "11"
- }
- } else if his.Insutype == "310" {
- if reg_type == 14 {
- med_type = "990502"
- } else if reg_type == 11 {
- med_type = "11"
- }
- }
- result, requestLog = service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, med_type, doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time)
- } else {
- result, requestLog = service.Gdyb2203(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, strconv.FormatInt(reg_type, 10), doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, roles.UserName, config, begin_time, doctor_info.UserName, admin_user_id, roles.UserName)
- }
-
- saveLog(result, requestLog, "2203", "上传就诊信息")
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(result)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- userJSONBytes2, _ := json.Marshal(respJSON2)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes2, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
- } else {
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes2, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.Infcode = res3.Infcode
- } else {
-
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
- }
- }
-
- if res2.Infcode == -1 {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res2.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 3,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- if res2.Infcode != 0 {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res2.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 3,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- } else {
- his.Diagnosis = diagnosis_id
- his.SickType = sickConfig.ID
- his.PType = fmt.Sprintf("%d", reg_type)
- service.UpdateHisPatientThree(&his)
-
- data := make(map[string]interface{})
- if settle_accounts_type == 1 { //日结
- if reg_type == 11 || reg_type == 1111 || reg_type == 1112 {
- prescriptions, _ = service.GetPrescriptionByIds(ids_arr, adminUser.CurrentOrgId)
- } else {
- prescriptions, _ = service.GetNewHisPrescription(adminUser.CurrentOrgId, his_patient_id, recordDateTime, strconv.Itoa(int(reg_type)))
- }
- data["pre"] = prescriptions
- } else { //月结
- start_time_str := c.GetString("start_time")
- end_time_str := c.GetString("end_time")
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- theStartTime, err := time.ParseInLocation(timeLayout+" 15:04:05", start_time_str+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordStartTime := theStartTime.Unix()
- start_time = recordStartTime
- theEndTime, err := time.ParseInLocation(timeLayout+" 15:04:05", end_time_str+" 00:00:00", loc)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordEndTime := theEndTime.Unix()
- end_time = recordEndTime
- prescriptions, _ = service.GetMonthHisPrescriptionTwo(adminUser.CurrentOrgId, id, recordStartTime, recordEndTime, reg_type)
- data["pre"] = prescriptions
- }
-
- client := &http.Client{}
-
- data["psn_no"] = his.PsnNo
- data["mdtrt_id"] = his.Number
- data["chrg_bchno"] = new_chrg_bchno
- data["org_name"] = miConfig.OrgName
- data["doctor"] = doctor_info.UserName
- data["doctor_id"] = doctor_info.DoctorNumber
- data["dept"] = department.Name
- data["fixmedins_code"] = miConfig.Code
- data["opter"] = roles.UserName
- data["dept_code"] = department.Number
- data["insuplc_admdvs"] = his.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["secret_key"] = miConfig.SecretKey
- data["balance_accounts_type"] = strconv.FormatInt(his.BalanceAccountsType, 10)
- data["url"] = miConfig.Url
- data["ak"] = miConfig.AccessKey
- data["new_doctor_name"] = patientPrescription.Doctor
-
- if his.Insutype == "390" {
- if reg_type == 992102 {
-
- data["diag_code"] = "ZDZ940"
-
- }
- if reg_type == 140104 {
-
- data["diag_code"] = sickConfig.CountryCode
-
- }
- if reg_type == 14 {
- data["diag_code"] = sickConfig.CountryCode
-
- }
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- data["diag_code"] = "ZDZ940"
-
- }
- if reg_type == 14 {
- data["diag_code"] = sickConfig.CountryCode
-
- }
- }
-
- data["cainfo"] = miConfig.Cainfo
- data["opter"] = roles.UserName
-
- var ids []int64
-
- for _, item := range prescriptions {
- ids = append(ids, item.ID)
- }
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if config.IsOpen == 1 { //对接了医保,走医保流程
- var res ResultFour
- var resFour10265 ResultFour10265
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.13:9532/"+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- result3101 := Check3101(c, id, his_patient_id, admin_user_id, "2", record_time, prescriptions)
- if result3101.Infcode == "0" {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- if miConfig.MdtrtareaAdmvs == "320921" {
- data["doctor_id"] = "D320923012139"
-
- } else {
- data["doctor_id"] = "D371621008686"
- }
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- }
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var pagesize int = 5
- var start int = 1
- var stop int
- var pagecount int
- var curpage int
-
- data["doctor_id"] = doctor_info.DoctorNumber
-
- var res2 ResultFour
-
- //var result res.
- //总页数,向上取整,注意除之前要先转换类型为float64
- pagecount = int(math.Ceil(float64(len(prescriptions)) / float64(pagesize)))
- for curpage = 1; curpage <= pagecount; curpage++ {
- if curpage == 1 {
- start = 1
- } else {
- start = (curpage-1)*pagesize + 1
- }
- stop = curpage * pagesize
- if stop > len(prescriptions) {
- stop = len(prescriptions)
- }
-
- //var requestLog string
- data["pre"] = prescriptions[start-1 : stop]
- fmt.Println(data["pre"])
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- res2.Output.Result = append(res2.Output.Result, res.Output.Result...)
- } else {
- isSuccess = false
- res2.ErrMsg = res2.ErrMsg + "," + res.ErrMsg
- res.Infcode = -1
- res.ErrMsg = resFour10265.ErrMsg
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: "",
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
- }
- }
- if isSuccess {
- res.Infcode = 0
- res.Output.Result = res2.Output.Result
- } else {
- order := &models.HisOrder{
- UserOrgId: adminUser.CurrentOrgId,
- HisPatientId: his.ID,
- PatientId: his.PatientId,
- SettleAccountsDate: recordDateTime,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- MdtrtId: his.Number,
- PsnNo: his.PsnNo,
- MedType: strconv.FormatInt(reg_type, 10),
- Status: 1,
- Number: chrg_bchno,
- Infcode: res.Infcode,
- WarnMsg: res.WarnMsg,
- Cainfo: res.Cainfo,
- ErrMsg: res.ErrMsg,
- RespondTime: res.RefmsgTime,
- InfRefmsgid: res.InfRefmsgid,
- OrderStatus: 1,
- IsMedicineInsurance: 1,
- SettleType: settle_accounts_type,
- SettleStartTime: start_time,
- SettleEndTime: end_time,
- Creator: roles.AdminUserId,
- Modify: roles.AdminUserId,
- PType: 2,
- Diagnosis: diagnosis_id,
- }
- err = service.CreateOrder(order)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeCreatePreOrderException)
- return
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
-
- }
- } else if miConfig.MdtrtareaAdmvs == "350500" {
-
- result, request_log, _ := service.FJyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, strconv.FormatInt(patientPrescription.Departments, 10), miConfig.Code, department.Number, strconv.FormatInt(roles.AdminUserId, 10), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(his.BalanceAccountsType, 10), roles.UserName, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, sickConfig.CountryCode, doctor_info.DoctorNumber)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- result, request_log := service.Jxyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), sickConfig.CountryCode, miConfig.Url, miConfig.AccessKey, doctor_info.UserName, "", "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- result, request_log := service.Jxyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), sickConfig.CountryCode, miConfig.Url, miConfig.AccessKey, doctor_info.UserName, "", "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- bytesData, _ := json.Marshal(data)
- var req *http.Request
- req, _ = http.NewRequest("POST", miConfig.SecretKey+"ahyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- result, request_log := service.Hnyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), sickConfig.CountryCode, miConfig.Url, miConfig.AccessKey, doctor_info.UserName, "", "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"gdyb/2204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes))
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- if miConfig.MdtrtareaAdmvs == "441202" {
-
- result3101 := Checkgd3101(c, id, his_patient_id, admin_user_id, "2", record_time, prescriptions)
- if result3101.Infcode == 0 {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- result, request_log := service.Gdyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), patientPrescription.DoctorId, sickConfig.CountryCode, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3101.ErrMsg,
- })
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "440205" {
-
- result3101 := Checkgd3101(c, id, his_patient_id, admin_user_id, "2", record_time, prescriptions)
- if result3101.Infcode == 0 {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- result, request_log := service.Gdyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), patientPrescription.DoctorId, sickConfig.CountryCode, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3101.ErrMsg,
- })
- return
- }
- } else {
- if miConfig.Code == "H15049901371" {
- result, request_log := service.Gdyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), patientPrescription.DoctorId, sickConfig.CountryCode, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &resFour10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resFour10265.InfRefmsgid
- res.Output = resFour10265.Output
- res.ErrMsg = resFour10265.ErrMsg
- res.Cainfo = resFour10265.Cainfo
- res.WarnMsg = resFour10265.WarnMsg
- infocode, _ := strconv.ParseInt(resFour10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
- result, request_log := service.Gdyb2204(his.PsnNo, his.Number, prescriptions, chrg_bchno, miConfig.OrgName, roles.UserName, data["dept"].(string), data["fixmedins_code"].(string), data["dept_code"].(string), data["doctor_id"].(string), his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, data["balance_accounts_type"].(string), patientPrescription.DoctorId, sickConfig.CountryCode, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2204", "上传费用明细")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
-
- }
-
- var total_two float64
- if res.Infcode == -1 {
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
-
- if res.Infcode == 0 {
- order := &models.HisOrder{
- UserOrgId: adminUser.CurrentOrgId,
- HisPatientId: his.ID,
- PatientId: his.PatientId,
- SettleAccountsDate: recordDateTime,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- MdtrtId: his.Number,
- PsnNo: his.PsnNo,
- MedType: strconv.FormatInt(reg_type, 10),
- Status: 1,
- Number: chrg_bchno,
- Infcode: res.Infcode,
- WarnMsg: res.WarnMsg,
- Cainfo: res.Cainfo,
- ErrMsg: res.ErrMsg,
- RespondTime: res.RefmsgTime,
- InfRefmsgid: res.InfRefmsgid,
- OrderStatus: 1,
- IsMedicineInsurance: 1,
- SettleType: settle_accounts_type,
- SettleStartTime: start_time,
- SettleEndTime: end_time,
- Creator: roles.AdminUserId,
- Modify: roles.AdminUserId,
- PType: 2,
- Diagnosis: diagnosis_id,
- }
-
- err = service.CreateOrder(order)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeCreatePreOrderException)
- return
- }
-
- for _, item := range res.Output.Result {
- temp := strings.Split(item.FeedetlSn, "-")
- var advice_id int64 = 0
- var project_id int64 = 0
- var types int64 = 0
-
- id, _ := strconv.ParseInt(temp[2], 10, 64)
- types, _ = strconv.ParseInt(temp[1], 10, 64)
-
- if temp[1] == "1" {
- advice_id = id
- project_id = 0
- } else if temp[1] == "2" {
- advice_id = 0
- project_id = id
- }
- total_two = total_two + item.DetItemFeeSumamt
-
- info := &models.HisOrderInfo{
- OrderNumber: order.Number,
- FeedetlSn: item.FeedetlSn,
- UploadDate: time.Now().Unix(),
- AdviceId: advice_id,
- DetItemFeeSumamt: item.DetItemFeeSumamt,
- Cnt: item.Cnt,
- Pric: float64(item.Pric),
- PatientId: his.PatientId,
- PricUplmtAmt: item.PricUplmtAmt,
- SelfpayProp: item.SelfpayProp,
- FulamtOwnpayAmt: item.FulamtOwnpayAmt,
- OverlmtAmt: item.OverlmtAmt,
- PreselfpayAmt: item.PreselfpayAmt,
- BasMednFlag: item.BasMednFlag,
- MedChrgitmType: item.MedChrgitmType,
- HiNegoDrugFlag: item.HiNegoDrugFlag,
- Status: 1,
- Memo: item.Memo,
- Mtime: time.Now().Unix(),
- InscpScpAmt: item.InscpScpAmt,
- DrtReimFlag: item.DrtReimFlag,
- Ctime: time.Now().Unix(),
- ListSpItemFlag: item.ListSpItemFlag,
- ChldMedcFlag: item.ChldMedcFlag,
- LmtUsedFlag: item.LmtUsedFlag,
- ChrgitmLv: item.ChrgitmLv,
- UserOrgId: adminUser.CurrentOrgId,
- HisPatientId: his.ID,
- OrderId: order.ID,
- ProjectId: project_id,
- Type: types,
- }
- service.CreateOrderInfo(info)
-
- }
- service.UpDatePrescriptionNumber(adminUser.CurrentOrgId, ids, chrg_bchno)
- service.UpDateHisPrescriptionInfoNumber(adminUser.CurrentOrgId, his_patient_id, chrg_bchno, recordDateTime)
-
- var total float64
- for _, item := range prescriptions {
- if item.Type == 1 { //药品
- for _, subItem := range item.HisDoctorAdviceInfo {
- price, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price), 64)
- total_one := price * subItem.PrescribingNumber
- fmt.Println("subItem")
- fmt.Println(subItem.Price)
- fmt.Println("price")
- fmt.Println(price)
- fmt.Println("total_one")
- fmt.Println(total_one)
- total = total + total_one
- fmt.Println(total)
-
- }
- }
- if item.Type == 2 { //项目
-
- for _, subItem := range item.HisPrescriptionProject {
- cnt, _ := strconv.ParseFloat(subItem.Count, 64)
- price, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price), 64)
- total_one := price * cnt
- total = total + total_one
- }
- }
- }
-
- allTotal := fmt.Sprintf("%.2f", total)
- if res.Infcode == 0 {
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- chrg_bchno := chrg_bchno
- cert_no := his.Certno
-
- var insutypes []string
-
- var insutype string
- var is390 int = 0
- var is310 int = 0
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item.Insutype)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0]
- } else {
- for _, i := range insutypes {
- if i == "390" {
- is390 = 1
- }
-
- if i == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "390"
- }
- if len(insutypes) == 2 {
- insutype = strconv.FormatInt(his.SocialType, 10)
- }
-
- //insutype = "390"
- if his.IdCardType == 1 {
- cert_no = his.MedicalInsuranceNumber
-
- } else {
-
- cert_no = his.Certno
-
- }
- var res ResultSeven
- var ahres ResultSevenAH
- var resSeven10265 ResultSeven10265
- var resSeven10265Two ResultSeven10265Two
- var gzresSeven10265Two GZResultSeven10265Two
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- formattedString := strconv.FormatFloat(total, 'f', 2, 64)
- api := "http://192.168.124.4:9532/" + "hbyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + formattedString + "&med_type=" + strconv.FormatInt(reg_type, 10)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
- api := "http://192.168.0.197:9532/" + "hbyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
- api := miConfig.Url + "hbyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- if reg_type == 11 && his.Insutype == "390" {
- reg_type = 110104
- }
- api := miConfig.Url + "hbyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- result3101 := Check3102(c, id, his_patient_id, admin_user_id, "6", order.ID)
- if result3101.Infcode == "0" {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- if his.IdCardType != 4 {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- if his.IdCardType == 1 {
- cert_no = bas[2]
- } else {
- cert_no = bas[1]
- }
-
- } else {
- cert_no = his.Certno
- }
-
- //江苏地区国家医保医疗类别
- //职工透析:医疗类别选特殊情况门诊9933
- //居民血透门慢: 医疗类别选门诊慢病1402
- //var med_type string
- //if his.Insutype == "310" {
- // if reg_type == 14 {
- // med_type = "9933"
- // } else if reg_type == 11 {
- // med_type = "11"
- //
- // }
- //} else if his.Insutype == "390" {
- // if reg_type == 14 {
- // med_type = "1402"
- // } else if reg_type == 11 {
- // med_type = "11"
- // }
- //}
-
- var api string
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&verify_number=" + psn_info.VerifyNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api = "http://192.168.5.251:9532/" + "jsyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&verify_number=" + psn_info.VerifyNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if strings.Contains(miConfig.MdtrtareaAdmvs, "3209") {
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else {
- if err := json.Unmarshal([]byte(result), &resSeven10265Two); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265Two.InfRefmsgid
- //AcctMulaidPay, _ := strconv.ParseFloat(resSeven10265Two.Output.Setlinfo.AcctMulaidPay, 64)
- //res.Output.Setlinfo.AcctMulaidPay = AcctMulaidPay
- res.Output.Setlinfo.AcctPay = resSeven10265Two.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = resSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = resSeven10265Two.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = resSeven10265Two.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = resSeven10265Two.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = resSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = resSeven10265Two.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = resSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = resSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = resSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = resSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = resSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = resSeven10265Two.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = resSeven10265Two.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = resSeven10265Two.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = resSeven10265Two.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = resSeven10265Two.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = resSeven10265Two.Output.Setlinfo.HifpPay
-
- HospPartAmt, _ := strconv.ParseFloat(resSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = resSeven10265Two.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = resSeven10265Two.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = resSeven10265Two.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = resSeven10265Two.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = resSeven10265Two.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = resSeven10265Two.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = resSeven10265Two.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = resSeven10265Two.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = resSeven10265Two.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = resSeven10265Two.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = resSeven10265Two.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = resSeven10265Two.Output.Setlinfo.OverlmtSelfpay
- PoolPropSelfpay, _ := strconv.ParseFloat(resSeven10265Two.Output.Setlinfo.PoolPropSelfpay, 64)
-
- res.Output.Setlinfo.PoolPropSelfpay = PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = resSeven10265Two.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = resSeven10265Two.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = resSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = resSeven10265Two.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = resSeven10265Two.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = resSeven10265Two.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = resSeven10265Two.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = resSeven10265Two.Output.Setlinfo.SetlID
- res.Output.Setlinfo.SetlTime = resSeven10265Two.Output.Setlinfo.SetlTime
- //res.Output.Setldetail = resSeven10265Two.Output.Setldetail
- res.ErrMsg = resSeven10265Two.ErrMsg
- res.Cainfo = resSeven10265Two.Cainfo
- res.WarnMsg = resSeven10265Two.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265Two.Infcode, 10, 64)
- res.Infcode = infocode
-
- }
-
- }
- }
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- psn_info, _ := service.GetPsnByPatientId(id)
- var verify_number string
- if psn_info.IdCardType == 4 {
- verify_number = psn_info.VerifyNumber
- } else if psn_info.IdCardType == 1 {
- bas := strings.Split(psn_info.CardInfo, "|")
- cardNumber := bas[2]
- verify_number = cardNumber
- } else {
- psn_info.IdCardType = 2
- verify_number = psn_info.Certno
-
- }
-
- var api string
- api = "http://172.16.13.254:9532/" + "nmyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + new_chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(psn_info.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&verify_number=" + verify_number + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output.Setlinfo.AcctMulaidPay = resSeven10265.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = resSeven10265.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = resSeven10265.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = resSeven10265.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = resSeven10265.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = resSeven10265.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = resSeven10265.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = resSeven10265.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = resSeven10265.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = resSeven10265.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = resSeven10265.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = resSeven10265.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = resSeven10265.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = resSeven10265.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = resSeven10265.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = resSeven10265.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = resSeven10265.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = resSeven10265.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = resSeven10265.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(resSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = resSeven10265.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = resSeven10265.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = resSeven10265.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = resSeven10265.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = resSeven10265.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = resSeven10265.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = resSeven10265.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = resSeven10265.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = resSeven10265.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = resSeven10265.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = resSeven10265.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = resSeven10265.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = resSeven10265.Output.Setlinfo.OverlmtSelfpay
- //PoolPropSelfpay, _ := strconv.ParseFloat(resSeven10265Two.Output.Setlinfo.PoolPropSelfpay, 64)
-
- res.Output.Setlinfo.PoolPropSelfpay = resSeven10265.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = resSeven10265.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = resSeven10265.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = resSeven10265.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = resSeven10265.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = resSeven10265.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = resSeven10265.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = resSeven10265.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = resSeven10265.Output.Setlinfo.SetlID
- res.Output.Setlinfo.SetlTime = resSeven10265.Output.Setlinfo.SetlTime
-
- //res.Output.Setldetail = resSeven10265.Output.Setldetail
-
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- acct_used_flag := "1"
- psn_info, _ := service.GetPsnByPatientIdTwo(his.PatientId)
- var result string
- var request_log string
- if his.IdCardType == 4 && len(psn_info.VerifyNumber) > 0 {
- result, request_log, _ = service.FJyb2206ForToken(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, acct_used_flag)
-
- } else {
- result, request_log, _ = service.FJyb2206(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey, acct_used_flag)
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- var result string
- var request_log string
- if his.IdCardType == 2 {
-
- result, request_log = service.Jxyb2206(his.PsnNo, his.Number, chrg_bchno, his.IdCardNo, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, his.IdCardNo, "")
-
- } else if his.IdCardType == 1 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[2]
- card_sn := bas[3]
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var psn_type string
- for _, item := range rf {
- if item.InsuplcAdmdvs == his.InsuplcAdmdvs {
- psn_type = item.PsnType
- }
- }
-
- result, request_log = service.Jxyb2206Two(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, basNumber, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
-
- } else {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- //bas := strings.Split(psn_info.CardInfo, "|")
- //basNumber := bas[2]
- //card_sn := bas[3]
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var psn_type string
- for _, item := range rf {
- if item.InsuplcAdmdvs == his.InsuplcAdmdvs {
- psn_type = item.PsnType
- }
- }
-
- //psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- result, request_log = service.Jxyb2206Two(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, psn_info.VerifyNumber, "", "", his.PsnCertType, his.Certno, psn_type, his.PsnName)
-
- }
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- var result string
- var request_log string
- if his.IdCardType == 2 {
-
- result, request_log = service.Jxyb2206(his.PsnNo, his.Number, chrg_bchno, his.IdCardNo, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, his.IdCardNo, "")
-
- } else if his.IdCardType == 1 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[0]
- card_sn := ""
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var psn_type string
- for _, item := range rf {
- if item.InsuplcAdmdvs == his.InsuplcAdmdvs {
- psn_type = item.PsnType
- }
- }
-
- result, request_log = service.Jxyb2206Two(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, basNumber, "", card_sn, his.PsnCertType, his.Certno, psn_type, his.PsnName)
-
- } else {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- //bas := strings.Split(psn_info.CardInfo, "|")
- //basNumber := bas[2]
- //card_sn := bas[3]
-
- var rf []*ResultFive
- json.Unmarshal([]byte(his.Iinfo), &rf)
- var psn_type string
- for _, item := range rf {
- if item.InsuplcAdmdvs == his.InsuplcAdmdvs {
- psn_type = item.PsnType
- }
- }
-
- //psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- result, request_log = service.Jxyb2206Two(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, psn_info.VerifyNumber, "", "", his.PsnCertType, his.Certno, psn_type, his.PsnName)
-
- }
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
-
- if his.IdCardType == 4 {
- psn_info.VerifyNumber = psn_info.VerifyNumber
- cert_no = psn_info.Certno
- } else if his.IdCardType == 2 {
- cert_no = psn_info.Certno
- psn_info.VerifyNumber = psn_info.Certno
- } else {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- if his.IdCardType == 1 {
- cert_no = bas[2]
- } else {
- cert_no = bas[1]
- }
- }
-
- var api string
-
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 992102 {
- med_type = "992102"
- }
- if reg_type == 140104 {
- med_type = "140104"
- }
- if reg_type == 14 {
- med_type = "140104"
- }
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- med_type = "992102"
-
- }
- if reg_type == 14 {
- med_type = "14"
-
- }
- }
-
- api = miConfig.SecretKey + "ahyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&verify_number=" + psn_info.VerifyNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &ahres); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = ahres.InfRefmsgid
- timestamp := int64(ahres.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.AcctMulaidPay = ahres.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = ahres.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = ahres.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = ahres.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = ahres.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = ahres.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = ahres.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = ahres.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = ahres.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = ahres.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = ahres.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = ahres.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = ahres.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = ahres.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = ahres.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = ahres.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = ahres.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = ahres.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = ahres.Output.Setlinfo.MdtrtID
-
- res.Output.Setlinfo.MedType = ahres.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = ahres.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = ahres.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = ahres.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = ahres.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = ahres.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PoolPropSelfpay = ahres.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = ahres.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = ahres.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = ahres.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = ahres.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = ahres.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = ahres.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = ahres.Output.Setlinfo.SetlID
- //res.Output.Setldetail = ahres.Output.Setldetail
- res.ErrMsg = ahres.ErrMsg
- res.Cainfo = ahres.Cainfo
- res.WarnMsg = ahres.WarnMsg
- res.Infcode = ahres.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
-
- if his.IdCardType == 4 {
- psn_info.VerifyNumber = psn_info.VerifyNumber
- cert_no = psn_info.Certno
- } else if his.IdCardType == 2 {
- cert_no = psn_info.Certno
- psn_info.VerifyNumber = psn_info.Certno
- } else {
- psn_info.VerifyNumber = strings.Replace(psn_info.VerifyNumber, "+", "%2B", -1)
- bas := strings.Split(psn_info.CardInfo, "|")
- if his.IdCardType == 1 {
- cert_no = bas[2]
- } else {
- cert_no = bas[1]
- }
- }
-
- var api string
-
- var med_type string
- if his.Insutype == "390" {
- if reg_type == 992102 {
- med_type = "992102"
- }
- if reg_type == 140104 {
- med_type = "140104"
- }
- if reg_type == 14 {
- med_type = "140104"
- }
- } else if his.Insutype == "310" {
- if reg_type == 992102 {
- med_type = "992102"
-
- }
- if reg_type == 14 {
- med_type = "14"
-
- }
- }
-
- api = miConfig.SecretKey + "ahyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + med_type + "&verify_number=" + psn_info.VerifyNumber + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo + "&mdtrt_grp_type=" + his.MdtrtGrpType
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &ahres); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = ahres.InfRefmsgid
- timestamp := int64(ahres.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.AcctMulaidPay = ahres.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = ahres.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = ahres.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = ahres.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = ahres.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = ahres.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = ahres.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = ahres.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = ahres.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = ahres.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = ahres.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = ahres.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = ahres.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = ahres.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = ahres.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = ahres.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = ahres.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = ahres.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = ahres.Output.Setlinfo.MdtrtID
-
- res.Output.Setlinfo.MedType = ahres.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = ahres.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = ahres.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = ahres.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = ahres.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = ahres.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PoolPropSelfpay = ahres.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = ahres.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = ahres.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = ahres.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = ahres.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = ahres.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = ahres.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = ahres.Output.Setlinfo.SetlID
- //res.Output.Setldetail = ahres.Output.Setldetail
- res.ErrMsg = ahres.ErrMsg
- res.Cainfo = ahres.Cainfo
- res.WarnMsg = ahres.WarnMsg
- res.Infcode = ahres.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- var result string
- var request_log string
- if his.IdCardType == 2 {
- result, request_log = service.Hnyb2206(his.PsnNo, his.Number, chrg_bchno, his.IdCardNo, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, his.IdCardNo, "", "1")
- } else if his.IdCardType == 1 {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- bas := strings.Split(psn_info.CardInfo, "|")
- basNumber := bas[2]
- card_sn := bas[3]
- result, request_log = service.Hnyb2206Two(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, basNumber, "", card_sn, "1")
- } else {
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- result, request_log = service.Hnyb2206(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, miConfig.Url, miConfig.AccessKey, psn_info.VerifyNumber, "", "1")
- }
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- api := miConfig.Url + "gdyb/2206?psn_no=" + his.PsnNo + "&mdtrt_id=" +
- his.Number + "&chrg_bchno=" + chrg_bchno + "&org_name=" + miConfig.OrgName +
- "&operator=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(his.IdCardType, 10) +
- "&certificates=" + strconv.FormatInt(his.IdType, 10) + "&cert_no=" + cert_no +
- "&insutype=" + insutype + "&total=" + allTotal + "&med_type=" + strconv.FormatInt(reg_type, 10)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- if miConfig.MdtrtareaAdmvs == "441202" {
- result3101 := Checkgd3102(c, id, his_patient_id, admin_user_id, "6", order.ID)
- if result3101.Infcode == 0 {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- var result string
- var request_log string
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- allTotal = fmt.Sprintf("%.2f", total_two)
- if his.IdCardType == 4 {
- result, request_log = service.Gdyb2206(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, admin_user_id)
- } else {
- result, request_log = service.Gdyb2206(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
- //userJSONBytes, _ := json.Marshal(dat)
- //
- //if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- userJSONBytes, _ := json.Marshal(dat)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3101.ErrMsg,
- })
- return
-
- }
-
- } else if miConfig.MdtrtareaAdmvs == "440205" {
- result3101 := Checkgd3102(c, id, his_patient_id, admin_user_id, "6", order.ID)
- if result3101.Infcode == 0 {
- if len(result3101.Output.Result) > 0 {
- var errMsgs []string
- for _, item := range result3101.Output.Result {
- errMsgs = append(errMsgs, item.VolaCont)
-
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": errMsgs,
- })
- return
- } else {
- var result string
- var request_log string
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- allTotal = fmt.Sprintf("%.2f", total_two)
- if his.IdCardType == 4 {
- result, request_log = service.Gdyb2206(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, admin_user_id)
- } else {
- result, request_log = service.Gdyb2206(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
- //userJSONBytes, _ := json.Marshal(dat)
- //
- //if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- userJSONBytes, _ := json.Marshal(dat)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": result3101.ErrMsg,
- })
- return
-
- }
-
- } else {
- var result string
- var request_log string
- psn_info, _ := service.GetPsnByPatientId(his.PatientId)
- allTotal = fmt.Sprintf("%.2f", total_two)
- if his.IdCardType == 4 {
- result, request_log = service.Gdyb2206(his.PsnNo, his.Number, chrg_bchno, psn_info.VerifyNumber, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, admin_user_id)
- } else {
- result, request_log = service.Gdyb2206(his.PsnNo, his.Number, chrg_bchno, cert_no, insutype, allTotal, miConfig.OrgName, roles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, strconv.FormatInt(reg_type, 10), his.IdCardType, 0, 0, 0, 0, his.IdType, admin_user_id)
-
- }
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request_log, "2206", "预结算")
- //userJSONBytes, _ := json.Marshal(dat)
- //
- //if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- userJSONBytes, _ := json.Marshal(dat)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &resSeven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSeven10265.InfRefmsgid
- res.Output = resSeven10265.Output
- res.ErrMsg = resSeven10265.ErrMsg
- res.Cainfo = resSeven10265.Cainfo
- res.WarnMsg = resSeven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSeven10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
-
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes, &gzresSeven10265Two); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = gzresSeven10265Two.InfRefmsgid
-
- res.Output.Setlinfo.AcctMulaidPay = gzresSeven10265Two.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = gzresSeven10265Two.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = gzresSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = gzresSeven10265Two.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = gzresSeven10265Two.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = gzresSeven10265Two.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = gzresSeven10265Two.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = gzresSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = gzresSeven10265Two.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = gzresSeven10265Two.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = gzresSeven10265Two.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = gzresSeven10265Two.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = gzresSeven10265Two.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = gzresSeven10265Two.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = gzresSeven10265Two.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = gzresSeven10265Two.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = gzresSeven10265Two.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = gzresSeven10265Two.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = gzresSeven10265Two.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = gzresSeven10265Two.Output.Setlinfo.MafPay
-
- res.Output.Setlinfo.MdtrtCertType = gzresSeven10265Two.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = gzresSeven10265Two.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = gzresSeven10265Two.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = gzresSeven10265Two.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = gzresSeven10265Two.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = gzresSeven10265Two.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = gzresSeven10265Two.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = gzresSeven10265Two.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = gzresSeven10265Two.Output.Setlinfo.OverlmtSelfpay
- PoolPropSelfpay, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.PoolPropSelfpay, 64)
-
- res.Output.Setlinfo.PoolPropSelfpay = PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = gzresSeven10265Two.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = gzresSeven10265Two.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = gzresSeven10265Two.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = gzresSeven10265Two.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = gzresSeven10265Two.Output.Setlinfo.PsnNo
- res.Output.Setlinfo.PsnPartAmt = gzresSeven10265Two.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = gzresSeven10265Two.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = gzresSeven10265Two.Output.Setlinfo.SetlID
- res.Output.Setlinfo.SetlTime = gzresSeven10265Two.Output.Setlinfo.SetlTime
- //res.Output.Setldetail = gzresSeven10265Two.Output.Setldetail
- res.ErrMsg = gzresSeven10265Two.ErrMsg
- res.Cainfo = gzresSeven10265Two.Cainfo
- res.WarnMsg = gzresSeven10265Two.WarnMsg
- //infocode, _ := strconv.ParseInt(resSeven10265Two.Infcode, 10, 64)
- //res.Infcode = infocode
-
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- }
- }
- }
-
- }
-
- utils.ErrorLog("解析失败:%v", res.Infcode)
- if res.Infcode == -1 {
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 20,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
-
- if res.Infcode != 0 {
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Number: chrg_bchno,
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 20,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- } else {
- order, _ := service.GetHisOrderTwo(adminUser.CurrentOrgId, chrg_bchno, id)
- order.OrderStatus = 1
- order.IsPre = 1
- order.Status = 1
- order.MdtrtId = res.Output.Setlinfo.MdtrtID
- order.SetlId = res.Output.Setlinfo.SetlID
- order.PsnNo = res.Output.Setlinfo.PsnNo
- order.PsnName = res.Output.Setlinfo.PsnName
- order.PsnCertType = res.Output.Setlinfo.PsnCertType
- order.Certno = res.Output.Setlinfo.Certno
- order.Gend = res.Output.Setlinfo.Gend
- order.Naty = res.Output.Setlinfo.Naty
- order.Age = res.Output.Setlinfo.Age
- order.Insutype = res.Output.Setlinfo.Insutype
- order.PsnType = res.Output.Setlinfo.PsnType
- order.CvlservFlag = res.Output.Setlinfo.CvlservFlag
- order.SetlTime = res.Output.Setlinfo.SetlTime
- order.AcctUsedFlag = acct_used_flag
- order.MdtrtCertType = res.Output.Setlinfo.MdtrtCertType
-
- if res.Output.Setlinfo.MedType == "140101" {
- order.MedType = "14"
-
- } else {
- if res.Output.Setlinfo.MedType == "110104" {
- order.MedType = "11"
- } else {
- order.MedType = res.Output.Setlinfo.MedType
-
- }
- }
- if res.Output.Setlinfo.MedType == "992102" {
- order.MedType = "992102"
-
- }
- if res.Output.Setlinfo.MedType == "140104" {
- order.MedType = "140104"
-
- }
- if res.Output.Setlinfo.MedType == "14" {
- order.MedType = "14"
-
- }
- if reg_type == 1112 {
- order.MedType = "1112"
- }
- if reg_type == 1111 {
- order.MedType = "1111"
- }
- order.ClrType = res.Output.Setlinfo.ClrType
- if adminUser.CurrentOrgId == 10480 {
- if strings.Contains(his.InsuplcAdmdvs, "3412") {
- order.ClrType = "11"
- } else {
- order.ClrType = "9903"
- }
- }
- order.MedfeeSumamt = res.Output.Setlinfo.MedfeeSumamt
- order.FulamtOwnpayAmt = res.Output.Setlinfo.FulamtOwnpayAmt
- order.OverlmtSelfPay = res.Output.Setlinfo.OverlmtSelfpay
- order.PreselfpayAmt = res.Output.Setlinfo.PreselfpayAmt
- order.InscpScpAmt = res.Output.Setlinfo.InscpScpAmt
- order.ActPayDedc = res.Output.Setlinfo.ActPayDedc
- order.HifpPay = res.Output.Setlinfo.HifpPay
- order.CvlservPay = res.Output.Setlinfo.CvlservPay
- order.PoolPropSelfpay = res.Output.Setlinfo.PoolPropSelfpay
- order.HifesPay = res.Output.Setlinfo.HifesPay
- order.HifobPay = res.Output.Setlinfo.HifobPay
- order.MafPay = res.Output.Setlinfo.MafPay
- order.HifmiPay = res.Output.Setlinfo.HifmiPay
- order.OthPay = res.Output.Setlinfo.OthPay
- order.FundPaySumamt = res.Output.Setlinfo.FundPaySumamt
- order.PsnPartAmt = res.Output.Setlinfo.PsnPartAmt
- order.AcctPay = res.Output.Setlinfo.AcctPay
- order.PsnCashPay = res.Output.Setlinfo.PsnCashPay
- order.HospPartAmt = res.Output.Setlinfo.HospPartAmt
- order.Balc = res.Output.Setlinfo.Balc
- order.AcctMulaidPay = res.Output.Setlinfo.AcctMulaidPay
- order.MedinsSetlId = res.Output.Setlinfo.MedinsSetlID
- order.ClrOptins = res.Output.Setlinfo.ClrOptins
- order.ClrWay = res.Output.Setlinfo.ClrWay
- order.Creator = order.Creator
- order.Modify = roles.AdminUserId
- //setlDetail, _ := json.Marshal(res.Output.Setldetail)
- //detailStr := string(setlDetail)
- //order.SetlDetail = detailStr
- //err := service.UpdataOrderStatusTwo(chrg_bchno, adminUser.CurrentOrgId)
- err = service.UpDateOrder(order)
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "预结算成功",
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeAmountAccountException)
- return
- }
- }
- } else {
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
-
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeRegisterRepeatException)
- return
- }
- } else {
- if miConfig.MdtrtareaAdmvs == "150499" {
- order := &models.HisOrder{
- UserOrgId: adminUser.CurrentOrgId,
- HisPatientId: his.ID,
- PatientId: his.PatientId,
- SettleAccountsDate: recordDateTime,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- MdtrtId: his.Number,
- PsnNo: his.PsnNo,
- MedType: strconv.FormatInt(reg_type, 10),
- Status: 1,
- Number: chrg_bchno,
- Infcode: res.Infcode,
- WarnMsg: res.WarnMsg,
- Cainfo: res.Cainfo,
- ErrMsg: res.ErrMsg,
- RespondTime: res.RefmsgTime,
- InfRefmsgid: res.InfRefmsgid,
- OrderStatus: 1,
- IsMedicineInsurance: 1,
- SettleType: settle_accounts_type,
- SettleStartTime: start_time,
- SettleEndTime: end_time,
- Creator: roles.AdminUserId,
- Modify: roles.AdminUserId,
- PType: 2,
- Diagnosis: diagnosis_id,
- }
- err = service.CreateOrder(order)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeCreatePreOrderException)
- return
- }
- }
- adminUser := c.GetAdminUserInfo()
- errlog := &models.HisOrderError{
- UserOrgId: adminUser.CurrentOrgId,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- ErrMsg: res.ErrMsg,
- Status: 1,
- PatientId: id,
- RecordTime: recordDateTime,
- Stage: 4,
- }
- service.CreateErrMsgLog(errlog)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- }
- }
-
- // 退款
- func (c *HisApiController) Refund() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- var order models.HisOrder
- order, _ = service.GetHisOrderByID(order_id)
- fapiao, _ := service.GetFaPiaoHisOrderByID(order_id)
-
- if fapiao.ID > 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": "该结算已经开具发票无法退费,请先红冲发票",
- })
- return
- }
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if order.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if config.IsOpen == 1 { //对接了医保,走医保流程
- var res ResultSixteen
- var ahres ResultSevenAH
- var resSixteen10265 ResultSixteen10265
- var resSixteen10265Two ResultSixteen10265Two
- var gz ResultgzSixteen10265Two
-
- var src_resquest string
- var result string
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- api3 := "http://192.168.124.4:9532/" + "hbyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- api3 := "http://192.168.0.197:9532/" + "hbyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- api3 := miConfig.Url + "hbyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- api3 := miConfig.Url + "hbyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- var api3 string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api3 = "http://192.168.2.3:9532/" + "jsyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api3 = "http://192.168.5.251:9532/" + "jsyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- }
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &resSixteen10265Two); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSixteen10265.InfRefmsgid
- res.Output = resSixteen10265.Output
- res.ErrMsg = resSixteen10265.ErrMsg
- res.Cainfo = resSixteen10265.Cainfo
- res.WarnMsg = resSixteen10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSixteen10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
-
- var api3 string
-
- api3 = "http://172.16.13.254:9532/" + "nmyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &resSixteen10265Two); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resSixteen10265.InfRefmsgid
- res.Output = resSixteen10265.Output
- res.ErrMsg = resSixteen10265.ErrMsg
- res.Cainfo = resSixteen10265.Cainfo
- res.WarnMsg = resSixteen10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSixteen10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- result, src_resquest, _ = service.FJyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, src_resquest, "2208", "退费")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- result, src_resquest = service.Jxyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, src_resquest, "2208", "退费")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- result, src_resquest = service.Jxyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, src_resquest, "2208", "退费")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- var api3 string
-
- api3 = miConfig.SecretKey + "ahyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if err := json.Unmarshal(userJSONBytes3, &ahres); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = ahres.InfRefmsgid
- timestamp := int64(ahres.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.AcctMulaidPay = ahres.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = ahres.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = ahres.Output.Setlinfo.ActPayDedc
- //res.Output.Setlinfo.Age = ahres.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = ahres.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- //res.Output.Setlinfo.Certno = ahres.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = ahres.Output.Setlinfo.ClrOptins
- //
- //res.Output.Setlinfo.ClrType = ahres.Output.Setlinfo.ClrOptins
- //res.Output.Setlinfo.ClrWay = ahres.Output.Setlinfo.ClrOptins
- //res.Output.Setlinfo.CvlservFlag = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = ahres.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = ahres.Output.Setlinfo.FundPaySumamt
- //res.Output.Setlinfo.Gend = ahres.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = ahres.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = ahres.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = ahres.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = ahres.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = ahres.Output.Setlinfo.InscpScpAmt
- //res.Output.Setlinfo.Insutype = ahres.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = ahres.Output.Setlinfo.MafPay
-
- //res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = ahres.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = ahres.Output.Setlinfo.MdtrtID
- //res.Output.Setlinfo.MedType = ahres.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = ahres.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = ahres.Output.Setlinfo.MedinsSetlID
- //res.Output.Setlinfo.Naty = ahres.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = ahres.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = ahres.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PreselfpayAmt = ahres.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.SetlID = ahres.Output.Setlinfo.SetlID
- //res.Output.Setldetail = ahres.Output.Setldetail
- res.ErrMsg = ahres.ErrMsg
- res.Cainfo = ahres.Cainfo
- res.WarnMsg = ahres.WarnMsg
- res.Infcode = ahres.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- var api3 string
-
- api3 = miConfig.SecretKey + "ahyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- //if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
-
- if err := json.Unmarshal(userJSONBytes3, &ahres); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
-
- }
-
- res.InfRefmsgid = ahres.InfRefmsgid
- timestamp := int64(ahres.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.AcctMulaidPay = ahres.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = ahres.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = ahres.Output.Setlinfo.ActPayDedc
- //res.Output.Setlinfo.Age = ahres.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = ahres.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- //res.Output.Setlinfo.Certno = ahres.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = ahres.Output.Setlinfo.ClrOptins
- //
- //res.Output.Setlinfo.ClrType = ahres.Output.Setlinfo.ClrOptins
- //res.Output.Setlinfo.ClrWay = ahres.Output.Setlinfo.ClrOptins
- //res.Output.Setlinfo.CvlservFlag = ahres.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = ahres.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = ahres.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = ahres.Output.Setlinfo.FundPaySumamt
- //res.Output.Setlinfo.Gend = ahres.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = ahres.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = ahres.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = ahres.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- res.Output.Setlinfo.HospPartAmt = ahres.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = ahres.Output.Setlinfo.InscpScpAmt
- //res.Output.Setlinfo.Insutype = ahres.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = ahres.Output.Setlinfo.MafPay
-
- //res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = ahres.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = ahres.Output.Setlinfo.MdtrtID
- //res.Output.Setlinfo.MedType = ahres.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = ahres.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = ahres.Output.Setlinfo.MedinsSetlID
- //res.Output.Setlinfo.Naty = ahres.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = ahres.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = ahres.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PreselfpayAmt = ahres.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.SetlID = ahres.Output.Setlinfo.SetlID
- //res.Output.Setldetail = ahres.Output.Setldetail
- res.ErrMsg = ahres.ErrMsg
- res.Cainfo = ahres.Cainfo
- res.WarnMsg = ahres.WarnMsg
- res.Infcode = ahres.Infcode
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- result, src_resquest = service.Hnyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, src_resquest, "2208", "退费")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- api3 := miConfig.Url + "gdyb/2208?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&setl_id=" + order.SetlId + "&operator=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- if miConfig.Code == "H15049901371" {
- result, src_resquest = service.Gdyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, src_resquest, "2208", "退费")
- if strings.Contains(result, "Post") {
- res.Infcode = -1
- res.ErrMsg = result
- }
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &resSixteen10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSixteen10265.InfRefmsgid
- res.Output = resSixteen10265.Output
- res.ErrMsg = resSixteen10265.ErrMsg
- res.Cainfo = resSixteen10265.Cainfo
- res.WarnMsg = resSixteen10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSixteen10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- result, src_resquest = service.Gdyb2208(order.PsnNo, order.MdtrtId, order.SetlId, miConfig.OrgName, roles.UserName, miConfig.SecretKey, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, src_resquest, "2208", "退费")
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes, &gz); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.Infcode = gz.Infcode
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- if strings.Contains(result, "Post") {
- res.Infcode = -1
- res.ErrMsg = result
- }
- }
- }
- if res.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
-
- if res.Infcode != -1 {
- var res2 ResultSix
- var resSix10265 ResultSix10265
- if miConfig.MdtrtareaAdmvs == "421300" {
- api3 := "http://192.168.124.4:9532/" + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
-
- api3 := "http://192.168.0.197:9532/" + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
-
- api3 := miConfig.Url + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
-
- api3 := miConfig.Url + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api3 string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api3 = "http://192.168.2.3:9532/" + "jsyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api3 = "http://192.168.5.251:9532/" + "jsyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- }
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var api3 string
- new_chrg_bchno := order.Number
-
- if adminUser.CurrentOrgId == 10265 {
- if !strings.Contains(his.InsuplcAdmdvs, "1504") {
- new_chrg_bchno = "0000"
- }
- }
-
- api3 = "http://172.16.13.254:9532/" + "nmyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + new_chrg_bchno + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- result2, src_request, _ := service.FJyb2205(order.PsnNo, order.MdtrtId, "0000", miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- result2, src_request := service.Jxyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- result2, src_request := service.Jxyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- var api3 string
- api3 = miConfig.SecretKey + "ahyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- result2, src_request := service.Jxyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- result2, src_request := service.Jxyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- var api3 string
- api3 = miConfig.SecretKey + "ahyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- result2, src_request := service.Hnyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- api3 := miConfig.Url + "gdyb/six?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
-
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
-
- res2.Infcode = 0
-
- } else {
-
- result2, src_request := service.Gdyb2205(order.PsnNo, order.MdtrtId, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
- if res2.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, order.Number, adminUser.CurrentOrgId, src_resquest, result)
- if err == nil {
- //当押金不为零时产生退费记录
- if order.Decimal != 0 {
- tmp := strconv.FormatInt(order.ID, 10)
- err = service.MoneyIncrease(adminUser.CurrentOrgId, order.PatientId, tmp, order.Decimal)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "退费成功",
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- }
- }
- }
-
- func (c *HisApiController) RefundNumber() {
- record_time := c.GetString("record_time")
- //patient_id, _ := c.GetInt64("patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- his_patient_id, _ := c.GetInt64("id")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- adminUser := c.GetAdminUserInfo()
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- fmt.Println(err)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- //his, _ := service.GetVMHisPatientInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
-
- his, _ := service.GetHisPatientRecord(adminUser.CurrentOrgId, his_patient_id)
- //patientPrescription, _ := service.FindPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- //order, _ := service.GetHisOrderByID(order_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- count, _ := service.GetOrderCountByNumber(adminUser.CurrentOrgId, his.PatientId, recordDateTime, his.Number)
-
- if count > 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrderParamWrong)
- return
- }
-
- if config.IsOpen == 1 { //对接了医保,走医保流程
- var res2 ResultSix
- var res3 GZResultSix
-
- var resSix10265 ResultSix10265
-
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- api3 := "http://192.168.124.4:9532/" + "hbyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
-
- api3 := "http://192.168.0.197:9532/" + "hbyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
-
- api3 := miConfig.Url + "hbyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
-
- api3 := miConfig.Url + "hbyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api3 string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api3 = "http://192.168.2.3:9532/" + "jsyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api3 = "http://192.168.5.251:9532/" + "jsyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
- }
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var api3 string
- api3 = "http://172.16.13.254:9532/" + "nmyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
-
- result, request, _ := service.FJyb2202(his.PsnNo, his.Number, his.IptOtpNo, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request, "2202", "退号")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- result, request := service.Jxyb2202(his.PsnNo, his.Number, his.IptOtpNo, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request, "2202", "退号")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- result, request := service.Jxyb2202(his.PsnNo, his.Number, his.IptOtpNo, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request, "2202", "退号")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
- var api3 string
-
- api3 = miConfig.SecretKey + "ahyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- utils.ErrorLog("接口返回数据解析JSON失败: %v", res2.Infcode)
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
- var api3 string
-
- api3 = miConfig.SecretKey + "ahyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- utils.ErrorLog("接口返回数据解析JSON失败: %v", res2.Infcode)
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- result, request := service.Hnyb2202(his.PsnNo, his.Number, his.IptOtpNo, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- saveLog(result, request, "2202", "退号")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
-
- api3 := miConfig.Url + "gdyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&operator=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&admin_user_id=" + strconv.FormatInt(admin_user_id, 10)
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- var api3 string
-
- if miConfig.Code == "H15049901371" {
-
- api3 = "http://127.0.0.1:9532/" + "gdyb/three?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- } else {
- api3 = "http://127.0.0.1:9532/" + "gdyb/2202?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&ipt_otp_no=" + his.IptOtpNo + "&operator=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&admin_user_id=" + strconv.FormatInt(admin_user_id, 10)
-
- }
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
- } else {
- if strings.Contains(his.InsuplcAdmdvs, "4401") {
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.Infcode = res3.Infcode
-
- } else {
-
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- }
- }
-
- if res2.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- if res2.Infcode == 0 {
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "退号成功",
- })
- service.UpdataRegStatusTwo(his_patient_id, recordDateTime, adminUser.CurrentOrgId)
-
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- } else {
- //err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId)
- //if err == nil {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": "退费成功",
- // })
- //} else {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- }
- }
- func (c *HisApiController) RefundDetail() {
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- //his_patient_id, _ := c.GetInt64("his_patient_id")
-
- number := c.GetString("number")
- record_time := c.GetString("record_time")
- patient_id, _ := c.GetInt64("patient_id")
- //med_type, _ := c.GetInt64("med_type")
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- adminUser := c.GetAdminUserInfo()
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- fmt.Println(err)
- if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- return
- }
- recordDateTime := theTime.Unix()
- //his, _ := service.GetNewVMHisPatientInfo(adminUser.CurrentOrgId, his_patient_id, recordDateTime)
-
- patientPrescription, _ := service.FindPatientPrescriptionInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var order models.HisOrder
- order, _ = service.GetHisOrderByID(order_id)
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- if config.IsOpen == 1 { //对接了医保,走医保流程
- var res2 ResultSix
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- api3 := "http://192.168.124.4:9532/" + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "420200" {
- api3 := "http://192.168.0.197:9532/" + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "420902" {
- api3 := miConfig.Url + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "421182" {
- api3 := miConfig.Url + "hbyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var resSix10265 ResultSix10265
-
- var api3 string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api3 = "http://192.168.2.3:9532/" + "jsyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api3 = "http://192.168.5.251:9532/" + "jsyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- }
-
- resp3, requestErr3 := http.Get(api3)
- utils.ErrorLog("接口: %v", requestErr3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- var api3 string
-
- api3 = miConfig.SecretKey + "ahyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp3, requestErr3 := http.Get(api3)
- utils.ErrorLog("接口: %v", requestErr3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- fmt.Println(res2.Infcode)
- if res2.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- var api3 string
-
- api3 = miConfig.SecretKey + "ahyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp3, requestErr3 := http.Get(api3)
- utils.ErrorLog("接口: %v", requestErr3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON3["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON3["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- fmt.Println(res2.Infcode)
- if res2.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- var resSix10265 ResultSix10265
- new_chrg_bchno := order.Number
-
- if adminUser.CurrentOrgId == 10265 {
- if !strings.Contains(his.InsuplcAdmdvs, "1504") {
- new_chrg_bchno = "0000"
- }
- }
- var api3 string
- api3 = "http://172.16.13.254:9532/" + "nmyb/2205?psn_no=" + order.PsnNo +
- "&mdtrt_id=" + order.MdtrtId + "&chrg_bchno=" + new_chrg_bchno + "&doctor=" + patientPrescription.Doctor + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- resp3, requestErr3 := http.Get(api3)
- if requestErr3 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body3, ioErr3 := ioutil.ReadAll(resp3.Body)
- if ioErr3 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr3)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON3 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body3)), &respJSON3); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON3 = respJSON3["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON3)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res2.InfRefmsgid = resSix10265.InfRefmsgid
- res2.Output = resSix10265.Output
- res2.ErrMsg = resSix10265.ErrMsg
- res2.Cainfo = resSix10265.Cainfo
- res2.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res2.Infcode = infocode
-
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- result2, src_request, _ := service.FJyb2205(his.PsnNo, his.Number, "0000", miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- result2, src_request := service.Jxyb2205(his.PsnNo, his.Number, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- result2, src_request := service.Jxyb2205(his.PsnNo, his.Number, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- result2, src_request := service.Hnyb2205(his.PsnNo, his.Number, order.Number, miConfig.OrgName, roles.UserName, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, miConfig.Code, miConfig.Url, miConfig.AccessKey, "")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- saveLog(result2, src_request, "2205", "撤销明细")
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- api2 := miConfig.Url + "gdyb/six?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp2, requestErr2 := http.Get(api2)
- if requestErr2 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- if ioErr2 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body2)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON2 = respJSON2["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON2)
- fmt.Println("log")
- fmt.Println(string(userJSONBytes3))
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
-
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
-
- }
-
- } else {
- api2 := "http://127.0.0.1:9532/" + "gdyb/six?psn_no=" + his.PsnNo +
- "&mdtrt_id=" + his.Number + "&chrg_bchno=" + order.Number + "&doctor=" + roles.UserName + "&org_name=" + miConfig.OrgName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&admin_user_id=" + strconv.FormatInt(admin_user_id, 10)
- resp2, requestErr2 := http.Get(api2)
- if requestErr2 != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- if ioErr2 != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON2 map[string]interface{}
- if err := json.Unmarshal([]byte(string(body2)), &respJSON2); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON2 = respJSON2["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes3, _ := json.Marshal(respJSON2)
- if err := json.Unmarshal(userJSONBytes3, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res2.Infcode == -1 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- } else {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
-
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销明细成功",
- })
- return
-
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- }
- } else {
- err := service.UpdataOrderStatus(order_id, number, adminUser.CurrentOrgId, "", "")
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "退费成功",
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- }
-
- // 对账
- func (c *HisApiController) GetCheckAccount() {
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- insutype := c.GetString("insutype")
- clr_type := c.GetString("clr_type")
- clr_org := c.GetString("clr_optins")
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if len(clr_org) == 0 {
- clr_org = miConfig.InsuplcAdmdvs
- }
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
- endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
-
- orders, _ := service.GetOrderByTime(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, insutype, "", clr_type, miConfig.MdtrtareaAdmvs)
- orders_two, _ := service.GetOrderByTimeFive(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, insutype, "", clr_type, miConfig.MdtrtareaAdmvs)
-
- fixmedins_setl_cnt := int64(len(orders))
- var medfee_sumamt float64
- var acct_pay float64
- var fund_pay_sumamt float64
- for _, item := range orders {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- acct_pay = acct_pay + item.AcctPay
- fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
- }
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "xxx"
- } else {
- user_name = role.UserName
- }
- var res ResultEight
- var res10188 ResultEightFor10188
- if config.IsOpen == 1 {
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- api := "http://192.168.2.3:9532/" + "jsyb/3201?" +
- "insutype=" + insutype +
- "&clr_type=" + clr_type +
- "&setl_optins=" + clr_org +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt+int64(len(orders_two)*2), 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name +
- "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- fmt.Println(api)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- fmt.Println(body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = res10188.InfRefmsgid
- res.Output = res10188.Output
- res.ErrMsg = res10188.ErrMsg
- res.Cainfo = res10188.Cainfo
- res.WarnMsg = res10188.WarnMsg
- infocode, _ := strconv.ParseInt(res10188.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "150499" {
- if clr_type != "9903" {
- clr_type = "99" // 就诊 ID(来自2201接口返回)
- }
- if clr_type == "9903" {
- clr_type = "9910" // 就诊 ID(来自2201接口返回)
- }
- api := "http://172.16.13.254:9532/" + "nmyb/3201?" +
- "insutype=" + insutype +
- "&clr_type=" + clr_type +
- "&setl_optins=" + clr_org +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt+int64(len(orders_two)*2), 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res10188); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = res10188.InfRefmsgid
- res.Output = res10188.Output
- res.ErrMsg = res10188.ErrMsg
- res.Cainfo = res10188.Cainfo
- res.WarnMsg = res10188.WarnMsg
- infocode, _ := strconv.ParseInt(res10188.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- var baseParams models.BaseParams
- baseParams.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- baseParams.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- baseParams.SecretKey = miConfig.SecretKey
- baseParams.OrgName = miConfig.OrgName
- baseParams.FixmedinsCode = miConfig.Code
- baseParams.EncKey = miConfig.EncKey
- baseParams.AppSecret = miConfig.AppSecret
- baseParams.SignKey = miConfig.SignKey
- baseParams.AppID = miConfig.Code
- baseParams.Doctor = role.UserName
- baseParams.RequestUrl = miConfig.Url
-
- businessParams := models.BusinessParams{
- Insutype: insutype,
- ClrType: clr_type,
- SetlOptins: clr_org,
- StmtBegndate: start_time,
- StmtEnddate: end_time,
- MedfeeSumamt: medfee_sumamt,
- FundPaySumamt: fund_pay_sumamt,
- AcctPay: acct_pay,
- FixmedinsSetlCnt: fixmedins_setl_cnt,
- }
- result, requestLog, err_msg := service.FJyb3201(baseParams, businessParams, fmt.Sprintf("%.4f", medfee_sumamt), fmt.Sprintf("%.4f", fund_pay_sumamt), fmt.Sprintf("%.4f", acct_pay))
- fmt.Println(requestLog)
- fmt.Println(result)
- fmt.Println(err_msg)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- var baseParams models.BaseParams
- baseParams.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- baseParams.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- baseParams.SecretKey = miConfig.SecretKey
- baseParams.OrgName = miConfig.OrgName
- baseParams.FixmedinsCode = miConfig.Code
- baseParams.EncKey = miConfig.EncKey
- baseParams.AppSecret = miConfig.AppSecret
- baseParams.SignKey = miConfig.SignKey
- baseParams.AppID = miConfig.Code
- baseParams.Doctor = role.UserName
- baseParams.RequestUrl = miConfig.Url
- baseParams.AccessKey = miConfig.AccessKey
-
- businessParams := models.BusinessParams{
- Insutype: insutype,
- ClrType: clr_type,
- SetlOptins: "430822",
- StmtBegndate: start_time,
- StmtEnddate: end_time,
- MedfeeSumamt: medfee_sumamt,
- FundPaySumamt: fund_pay_sumamt,
- AcctPay: acct_pay,
- FixmedinsSetlCnt: fixmedins_setl_cnt,
- }
- result, requestLog := service.Hnyb3201(businessParams.FixmedinsSetlCnt, businessParams.AcctPay, businessParams.FundPaySumamt, businessParams.MedfeeSumamt, businessParams.StmtBegndate, businessParams.StmtEnddate, businessParams.SetlOptins, businessParams.ClrType, businessParams.Insutype, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.RequestUrl, baseParams.AccessKey, baseParams.SecretKey, baseParams.Cainfo)
- fmt.Println(requestLog)
- fmt.Println(result)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- var baseParams models.BaseParams
- baseParams.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- baseParams.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- baseParams.SecretKey = miConfig.SecretKey
- baseParams.OrgName = miConfig.OrgName
- baseParams.FixmedinsCode = miConfig.Code
- baseParams.EncKey = miConfig.EncKey
- baseParams.AppSecret = miConfig.AppSecret
- baseParams.SignKey = miConfig.SignKey
- baseParams.AppID = miConfig.Code
- baseParams.Doctor = role.UserName
- baseParams.RequestUrl = miConfig.Url
-
- businessParams := models.BusinessParams{
- Insutype: insutype,
- ClrType: clr_type,
- SetlOptins: clr_org,
- StmtBegndate: start_time,
- StmtEnddate: end_time,
- MedfeeSumamt: medfee_sumamt,
- FundPaySumamt: fund_pay_sumamt,
- AcctPay: acct_pay,
- FixmedinsSetlCnt: fixmedins_setl_cnt,
- }
- result, requestLog, err_msg := service.FJyb3201(baseParams, businessParams, fmt.Sprintf("%.4f", medfee_sumamt), fmt.Sprintf("%.4f", fund_pay_sumamt), fmt.Sprintf("%.4f", acct_pay))
- fmt.Println(requestLog)
- fmt.Println(result)
- fmt.Println(err_msg)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- if len(clr_type) == 0 {
- clr_type = "11"
- }
- api := miConfig.Url + "gdyb/ten?" +
- "insutype=" + insutype +
- "&clr_type=" + clr_type +
- "&setl_optins=" + clr_org +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt, 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name
-
- fmt.Println(api)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- fmt.Println(body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "360302" {
-
- //orders_two, _ := service.GetOrderByTimeFive(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, insutype, "", clr_type, miConfig.MdtrtareaAdmvs)
- //fixmedins_setl_cnt := int64(len(orders_two))
- //var medfee_sumamt float64
- //var acct_pay float64
- //var fund_pay_sumamt float64
- //for _, item := range orders_two {
- // medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- // acct_pay = acct_pay + item.AcctPay
- // fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
- //}
-
- var baseParams models.BaseParams
- baseParams.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- baseParams.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- baseParams.SecretKey = miConfig.SecretKey
- baseParams.OrgName = miConfig.OrgName
- baseParams.FixmedinsCode = miConfig.Code
- baseParams.EncKey = miConfig.EncKey
- baseParams.AppSecret = miConfig.AppSecret
- baseParams.SignKey = miConfig.SignKey
- baseParams.AppID = miConfig.Code
- baseParams.Doctor = role.UserName
- baseParams.RequestUrl = miConfig.Url
-
- if clr_type == "9903" {
- clr_type = "9994"
- }
-
- businessParams := models.BusinessParams{
- Insutype: insutype,
- ClrType: clr_type,
- SetlOptins: "360302",
- StmtBegndate: start_time,
- StmtEnddate: end_time,
- MedfeeSumamt: 0,
- FundPaySumamt: 0,
- AcctPay: 0,
- FixmedinsSetlCnt: fixmedins_setl_cnt,
- }
- result, requestLog := service.Jxyb3201(businessParams.FixmedinsSetlCnt, businessParams.StmtBegndate, businessParams.StmtEnddate, businessParams.ClrType, businessParams.Insutype, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.RequestUrl, miConfig.AccessKey, miConfig.SecretKey, fmt.Sprintf("%.2f", medfee_sumamt), fmt.Sprintf("%.2f", fund_pay_sumamt), fmt.Sprintf("%.2f", acct_pay))
- fmt.Println(requestLog)
- fmt.Println(result)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "361025" {
-
- orders_two, _ := service.GetOrderByTimeFive(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, insutype, "", clr_type, miConfig.MdtrtareaAdmvs)
- fixmedins_setl_cnt := int64(len(orders_two))
- var medfee_sumamt float64
- var acct_pay float64
- var fund_pay_sumamt float64
- for _, item := range orders_two {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- acct_pay = acct_pay + item.AcctPay
- fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
- }
-
- var baseParams models.BaseParams
- baseParams.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- baseParams.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
- baseParams.SecretKey = miConfig.SecretKey
- baseParams.OrgName = miConfig.OrgName
- baseParams.FixmedinsCode = miConfig.Code
- baseParams.EncKey = miConfig.EncKey
- baseParams.AppSecret = miConfig.AppSecret
- baseParams.SignKey = miConfig.SignKey
- baseParams.AppID = miConfig.Code
- baseParams.Doctor = role.UserName
- baseParams.RequestUrl = miConfig.Url
-
- if clr_type == "9903" {
- clr_type = "9994"
- }
-
- businessParams := models.BusinessParams{
- Insutype: insutype,
- ClrType: clr_type,
- SetlOptins: "361025",
- StmtBegndate: start_time,
- StmtEnddate: end_time,
- MedfeeSumamt: 0,
- FundPaySumamt: 0,
- AcctPay: 0,
- FixmedinsSetlCnt: fixmedins_setl_cnt,
- }
- result, requestLog := service.Jxyb3201(businessParams.FixmedinsSetlCnt, businessParams.StmtBegndate, businessParams.StmtEnddate, businessParams.ClrType, businessParams.Insutype, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.RequestUrl, miConfig.AccessKey, miConfig.SecretKey, fmt.Sprintf("%.2f", medfee_sumamt), fmt.Sprintf("%.2f", fund_pay_sumamt), fmt.Sprintf("%.2f", acct_pay))
- fmt.Println(requestLog)
- fmt.Println(result)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- var api string
-
- api = miConfig.SecretKey + "ahyb/3201?insutype=" + insutype +
- "&clr_type=" + clr_type +
- "&setl_optins=" + clr_org +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt+int64(len(orders_two)*2), 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name + "&url=" + miConfig.Url
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- var api string
-
- api = miConfig.SecretKey + "ahyb/3201?insutype=" + insutype +
- "&clr_type=" + clr_type +
- "&setl_optins=" + clr_org +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt+int64(len(orders_two)*2), 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name + "&url=" + miConfig.Url
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else {
- if len(clr_type) == 0 {
- clr_type = "11"
- }
- api := "http://127.0.0.1:9532/" + "gdyb/ten?" +
- "insutype=" + insutype +
- "&clr_type=" + clr_type +
- "&setl_optins=" + clr_org +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&acct_pay=" + fmt.Sprintf("%.4f", acct_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt, 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name + "&admin_user_id=" + strconv.FormatInt(admin_user_id, 10)
-
- fmt.Println(api)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- fmt.Println(body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- if res.Output.Stmtinfo.StmtRslt == "0" {
- micc := &models.MedicalInsuranceCostCompare{
- StartTime: startime.Unix(),
- EndTime: endtime.Unix(),
- Insutype: insutype,
- CheckType: 1,
- Num: fixmedins_setl_cnt,
- Mtime: time.Now().Unix(),
- Status: 1,
- UserOrgId: adminUser.CurrentOrgId,
- CostTotal: medfee_sumamt,
- FuncTotal: fund_pay_sumamt,
- PsnPay: acct_pay,
- Creator: admin_user_id,
- Ctime: time.Now().Unix(),
- ClrType: clr_type,
- }
- err := service.CreateMedicalInsuranceCostCompareRecord(micc)
- if err == nil {
- c.ServeSuccessJSON(map[string]interface{}{
- "stmt_rslt": res.Output.Stmtinfo.StmtRslt,
- "stmt_rslt_dscr": res.Output.Stmtinfo.StmtRsltDscr,
- })
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "stmt_rslt": res.Output.Stmtinfo.StmtRslt,
- "stmt_rslt_dscr": res.Output.Stmtinfo.StmtRsltDscr,
- })
- }
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- func (c *HisApiController) Check310() {
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
-
- var user_name string
- user_name = "高慧裕"
- api := "http://127.0.0.1:9532/" + "gdyb/ten?" +
- "insutype=" + "310" +
- "&clr_type=" + "" +
- "&setl_optins=" + "441202" +
- "&stmt_begndate=" + "2022-03-01" +
- "&stm_enddate=" + "2022-03-31" +
- "&medfee_sumamt=" + "194930.12" +
- "&fund_pay_sumamt=" + "188741.46" +
- "&acct_pay=" + "0" +
- "&fixmedins_setl_cnt=" + "452" +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name
-
- fmt.Println(api)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- fmt.Println(body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
-
- var res ResultEight
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- func (c *HisApiController) Check390() {
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
-
- var user_name string
- user_name = "高慧裕"
- api := "http://127.0.0.1:9532/" + "gdyb/ten?" +
- "insutype=" + "390" +
- "&clr_type=" + "" +
- "&setl_optins=" + "441202" +
- "&stmt_begndate=" + "2022-03-01" +
- "&stm_enddate=" + "2022-03-31" +
- "&medfee_sumamt=" + "1068448.89" +
- "&fund_pay_sumamt=" + "1014677.62" +
- "&acct_pay=" + "0" +
- "&fixmedins_setl_cnt=" + "1950" +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name
-
- fmt.Println(api)
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- fmt.Println(body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
-
- var res ResultEight
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- // 对账明细
- func (c *HisApiController) GetCheckDetailAccount() {
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
- endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
- orders, _ := service.GetOrderByTimeTwo(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
-
- rand.Seed(time.Now().UnixNano())
-
- num := rand.Intn(30000)
- Mkdir(miConfig.OrgName)
- file := strconv.FormatInt(int64(num), 10)
- file_name := file + ".txt"
- zip_name := file + ".zip"
- zip_path := miConfig.OrgName + "/" + zip_name
- file_path := miConfig.OrgName + "/" + file_name
-
- decimal.DivisionPrecision = 2
- var medfee_sumamt float64
- var psn_cash_pay float64
- var fund_pay_sumamt float64
- fixmedins_setl_cnt := int64(len(orders))
-
- for _, item := range orders {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- psn_cash_pay = psn_cash_pay + item.PsnCashPay
- fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
- }
-
- f, err := os.Create(miConfig.OrgName + "/" + file_name)
- defer f.Close()
- if err != nil {
- fmt.Println(err.Error())
- } else {
- for _, item := range orders {
- var refd_setl_flag string
- if item.OrderStatus == 2 {
- refd_setl_flag = "0"
- var str string
- str = item.SetlId + " " +
- item.MdtrtId + " " +
- item.PsnNo + " " +
- fmt.Sprintf("%.4f", item.MedfeeSumamt) + " " +
- fmt.Sprintf("%.4f", item.FundPaySumamt) + " " +
- fmt.Sprintf("%.4f", item.AcctPay) + " " + refd_setl_flag + "\r\n"
- _, err = f.Write([]byte(str))
- }
- if item.OrderStatus == 3 {
-
- var str string
- str = item.SetlId + " " +
- item.MdtrtId + " " +
- item.PsnNo + " " +
- fmt.Sprintf("%.4f", item.MedfeeSumamt) + " " +
- fmt.Sprintf("%.4f", item.FundPaySumamt) + " " +
- fmt.Sprintf("%.4f", item.AcctPay) + " " + "1" + "\r\n"
- _, err = f.Write([]byte(str))
-
- var str2 string
- str2 = item.SetlId + " " +
- item.MdtrtId + " " +
- item.PsnNo + " " +
- fmt.Sprintf("%.4f", 0-item.MedfeeSumamt) + " " +
- fmt.Sprintf("%.4f", 0-item.FundPaySumamt) + " " +
- fmt.Sprintf("%.4f", 0-item.AcctPay) + " " + "1" + "\r\n"
- _, err = f.Write([]byte(str2))
- }
-
- }
-
- }
- Zip(file_path, zip_path)
- fmt.Println(ReadFile(zip_path))
- fmt.Println(string(ReadFile(zip_path)))
-
- if config.IsOpen == 1 {
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "管理员"
- } else {
- user_name = role.UserName
- }
-
- baseParams := models.BaseParams{
- SecretKey: miConfig.SecretKey,
- FixmedinsCode: miConfig.Code,
- InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
- MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
- OrgName: miConfig.OrgName,
- Doctor: user_name,
- }
-
- result := service.Gdyb9101(baseParams, file_name, ReadFile(file_path))
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
-
- var res ResultNine
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- fileNo := res.Output.FileQuryNo
- api := "http://127.0.0.1:9532/" + "gdyb/twelve?" +
- "file_qury_no=" + fileNo +
- "&setl_optins=" + "定点医保中心" +
- "&stmt_begndate=" + start_time +
- "&stm_enddate=" + end_time +
- "&medfee_sumamt=" + fmt.Sprintf("%.4f", medfee_sumamt) +
- "&fund_pay_sumamt=" + fmt.Sprintf("%.4f", fund_pay_sumamt) +
- "&cash_payamt=" + fmt.Sprintf("%.4f", psn_cash_pay) +
- "&fixmedins_setl_cnt=" + strconv.FormatInt(fixmedins_setl_cnt, 10) +
- "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs +
- "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs +
- "&secret_key=" + miConfig.SecretKey +
- "&org_name=" + miConfig.OrgName +
- "&doctor=" + user_name
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
-
- userJSONBytes, _ := json.Marshal(respJSON)
- var res ResultTen
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- service.Gdyb9102(baseParams, res.Output.Fileinfo.Filename, res.Output.Fileinfo.FileQuryNo)
-
- micc := &models.MedicalInsuranceCostCompare{
- StartTime: startime.Unix(),
- EndTime: endtime.Unix(),
- Insutype: "0",
- CheckType: 2,
- Num: fixmedins_setl_cnt,
- Mtime: time.Now().Unix(),
- Status: 1,
- UserOrgId: adminUser.CurrentOrgId,
- CostTotal: medfee_sumamt,
- FuncTotal: fund_pay_sumamt,
- PsnPay: psn_cash_pay,
- Creator: admin_user_id,
- Ctime: time.Now().Unix(),
- }
-
- service.CreateMedicalInsuranceCostCompareRecord(micc)
-
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "明细对账成功",
- })
- }
-
- } else {
-
- }
- }
- }
-
- type CustomOrderInfo struct {
- Name string
- Spec string
- Unit string
- Count float64
- Price float64
- Total float64
- }
-
- func (c *HisApiController) GetBatchSettleAccounts() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- order_ids := c.GetString("order_ids")
- order_ids_arr := strings.Split(order_ids, ",")
- data3 := []map[string]interface{}{}
- for _, item := range order_ids_arr {
- id, _ := strconv.ParseInt(item, 10, 64)
- order_id := id
- adminUser := c.GetAdminUserInfo()
- order, _ := service.GetHisOrderByID(order_id)
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- orderInfos, _ := service.GetHisOrderInfoByNumber(order.Number)
- orderInfos_two, _ := service.GetHisOrderInfoByNumberTwo(order.Number)
- orderInfos = append(orderInfos, orderInfos_two...)
- his_hospital, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- //diagnosisConfig, _ := service.FindDiagnoseById(his.Diagnosis)
- var diagnosis_ids []string
- if his.ID > 0 {
- diagnosis_ids = strings.Split(his.Diagnosis, ",")
-
- } else {
- diagnosis_ids = strings.Split(his_hospital.Diagnosis, ",")
-
- }
- patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, order.PatientId)
- var dia_config []*models.HisXtDiagnoseConfig
- var name string
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- dia_config = append(dia_config, &diagnosisConfig)
- if len(name) == 0 {
- name = diagnosisConfig.ClassName
-
- }
- //} else {
- // name = name + "," + diagnosisConfig.ClassName
- //}
- }
-
- var bedCostTotal float64 = 0 //床位总费
- var bedCostSelfTotal float64 = 0 //床位自费
- var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
- var bedSelfTotal float64 = 0 //床位部分项目自费
- var bedInscpTotal float64 = 0 //床位部分项目自费
-
- var operationCostTotal float64 = 0 //手术费
- var operationCostSelfTotal float64 = 0 //手术费
- var operationCostPartSelfTotal float64 = 0 //手术费
- var operationSelfTotal float64 = 0 //床位部分项目自费
- var operationInscpTotal float64 = 0 //床位部分项目自费
-
- var otherCostTotal float64 = 0 //其他费用
- var otherCostSelfTotal float64 = 0 //其他费用
- var otherCostPartSelfTotal float64 = 0 //其他费用
- var otherSelfTotal float64 = 0 //床位部分项目自费
- var otherInscpTotal float64 = 0 //床位部分项目自费
-
- var materialCostTotal float64 = 0 //材料费
- var materialCostSelfTotal float64 = 0 //材料费
- var materialCostPartSelfTotal float64 = 0 //材料费
- var materialSelfTotal float64 = 0 //床位部分项目自费
- var materialInscpTotal float64 = 0 //床位部分项目自费
-
- var westernMedicineCostTotal float64 = 0 //西药费
- var westernMedicineCostSelfTotal float64 = 0 //西药费
- var westernMedicineCostPartSelfTotal float64 = 0 //西药费
- var westernMedicineSelfTotal float64 = 0 //床位部分项目自费
- var westernMedicineInscpTotal float64 = 0 //床位部分项目自费
-
- var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
- var chineseTraditionalSelfTotal float64 = 0 //床位部分项目自费
- var chineseTraditionalInscpTotal float64 = 0 //床位部分项目自费
-
- var checkCostTotal float64 = 0 //检查费
- var checkCostSelfTotal float64 = 0 //检查费
- var checkCostPartSelfTotal float64 = 0 //检查费
- var checkSelfTotal float64 = 0 //床位部分项目自费
- var checkInscpTotal float64 = 0 //床位部分项目自费
-
- var laboratoryCostTotal float64 = 0 //化验费
- var laboratoryCostSelfTotal float64 = 0 //化验费
- var laboratoryCostPartSelfTotal float64 = 0 //化验费
- var laboratorySelfTotal float64 = 0 //床位部分项目自费
- var laboratoryInscpTotal float64 = 0 //床位部分项目自费
-
- var treatCostTotal float64 = 0 //治疗费用
- var treatCostSelfTotal float64 = 0 //治疗费用
- var treatCostPartSelfTotal float64 = 0 //治疗费用
- var treatSelfTotal float64 = 0 //床位部分项目自费
- var treatInscpTotal float64 = 0 //床位部分项目自费
-
- decimal.DivisionPrecision = 2
-
- for _, item := range orderInfos {
- if item.MedChrgitmType == "01" { //床位费
- bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- bedSelfTotal, _ = decimal.NewFromFloat(bedSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- bedInscpTotal, _ = decimal.NewFromFloat(bedInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if item.MedChrgitmType == "03" { //检查费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratorySelfTotal, _ = decimal.NewFromFloat(laboratorySelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- laboratoryInscpTotal, _ = decimal.NewFromFloat(laboratoryInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
- } else {
- if item.MedChrgitmType == "03" && adminUser.CurrentOrgId == 9504 { //手术费
- fmt.Println("------------")
-
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.MedChrgitmType == "03" && adminUser.CurrentOrgId != 9504 { //手术费
- checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- checkSelfTotal, _ = decimal.NewFromFloat(checkSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- checkInscpTotal, _ = decimal.NewFromFloat(checkInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- }
-
- if item.MedChrgitmType == "04" { //化验费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratorySelfTotal, _ = decimal.NewFromFloat(laboratorySelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- laboratoryInscpTotal, _ = decimal.NewFromFloat(laboratoryInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "05" { //治疗费
-
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- treatSelfTotal, _ = decimal.NewFromFloat(treatSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- treatInscpTotal, _ = decimal.NewFromFloat(treatInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "06" && adminUser.CurrentOrgId == 9504 { //手术费
- fmt.Println("------------")
-
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.MedChrgitmType == "06" && adminUser.CurrentOrgId != 9504 { //手术费
- operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- //if item.MedChrgitmType == "06" { //手术费
- // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- // operationSelfTotal, _ = decimal.NewFromFloat(operationSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- // operationInscpTotal, _ = decimal.NewFromFloat(operationInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
- //
- //}
-
- if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //材料费
- materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- materialSelfTotal, _ = decimal.NewFromFloat(materialSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- materialInscpTotal, _ = decimal.NewFromFloat(materialInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "09" { //西药费
- westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- westernMedicineSelfTotal, _ = decimal.NewFromFloat(westernMedicineSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- westernMedicineInscpTotal, _ = decimal.NewFromFloat(westernMedicineInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "11" { //中成费
- chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- chineseTraditionalSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- chineseTraditionalInscpTotal, _ = decimal.NewFromFloat(chineseTraditionalInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
- }
-
- if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" || item.MedChrgitmType == "02" { //其他费
- otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- otherSelfTotal, _ = decimal.NewFromFloat(otherSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- otherInscpTotal, _ = decimal.NewFromFloat(otherInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
- }
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "管理员"
- } else {
- user_name = role.UserName
- }
-
- baseParams := models.BaseParams{
- SecretKey: miConfig.SecretKey,
- FixmedinsCode: miConfig.Code,
- InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
- MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
- OrgName: miConfig.OrgName,
- Doctor: user_name,
- RequestUrl: miConfig.Url,
- AccessKey: miConfig.AccessKey,
- }
-
- businessParams := models.BusinessParams{
- PsnNo: order.PsnNo,
- MdtrtId: order.MdtrtId,
- SetlId: order.SetlId,
- }
- var res ResultEleven
- var resEleven10265 ResultEleven10265
-
- if config.IsOpen == 1 {
- baseParams.InsuplcAdmdvs = his.InsuplcAdmdvs
- result := service.Gdyb5203(baseParams, businessParams)
- service.Gdyb5204(baseParams, businessParams)
- //service.Gdyb5302(businessParams.PsnNo, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.SecretKey)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &resEleven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resEleven10265.InfRefmsgid
- res.Output = resEleven10265.Output
- res.ErrMsg = resEleven10265.ErrMsg
- res.Cainfo = resEleven10265.Cainfo
- res.WarnMsg = resEleven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resEleven10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- printor_admin, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- charge_admin, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, order.Creator)
-
- patientPrescription, _ := service.FindPatientPrescriptionInfo(adminUser.CurrentOrgId, order.PatientId, order.SettleAccountsDate)
- adminRole_two, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
-
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, his_hospital.Doctor)
-
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- var doctor_name string
- if roles.ID == 0 {
- doctor_name = "管理员"
- } else {
- doctor_name = roles.UserName
- }
-
- yiliao_leibie := ""
-
- switch order.MedType {
- case "11":
- yiliao_leibie = "普通门诊"
- break
- case "12":
- yiliao_leibie = "门诊挂号"
- break
- case "13":
- yiliao_leibie = "急诊"
- break
- case "14":
- yiliao_leibie = "门诊特殊病"
- break
- case "15":
- yiliao_leibie = "门诊统筹"
- break
- case "16":
- yiliao_leibie = "门诊慢性病"
- break
- case "21":
- yiliao_leibie = "普通住院"
- break
- }
- departments, _ := service.GetDepartMentDetail(patientPrescription.Departments)
-
- res.Output.Setlinfo.PsnCashPay = res.Output.Setlinfo.CashPayamt
-
- if res.Infcode == 0 {
- data2 := map[string]interface{}{
- "diagnosis": name,
- "order_infos": orderInfos,
- "number": order.MdtrtId,
- "date": order.SettleAccountsDate,
- "charge_admin": charge_admin,
- "printor_admin": printor_admin,
- "info": res.Output.Setlinfo,
- "order": order,
- "bedCostTotal": bedCostTotal,
- "bedCostSelfTotal": bedCostSelfTotal,
- "bedCostPartSelfTotal": bedCostPartSelfTotal,
- "bedSelfTotal": bedSelfTotal,
- "bedInscpTotal": bedInscpTotal,
-
- "operationCostTotal": operationCostTotal,
- "operationCostSelfTotal": operationCostSelfTotal,
- "operationCostPartSelfTotal": operationCostPartSelfTotal,
- "operationSelfTotal": operationSelfTotal,
- "operationInscpTotal": operationInscpTotal,
-
- "otherCostTotal": otherCostTotal,
- "otherCostSelfTotal": otherCostSelfTotal,
- "otherCostPartSelfTotal": otherCostPartSelfTotal,
- "otherSelfTotal": otherSelfTotal,
- "otherInscpTotal": otherInscpTotal,
-
- "materialCostTotal": materialCostTotal,
- "materialCostSelfTotal": materialCostSelfTotal,
- "materialCostPartSelfTotal": materialCostPartSelfTotal,
- "materialSelfTotal": materialSelfTotal,
- "materialInscpTotal": materialInscpTotal,
-
- "westernMedicineCostTotal": westernMedicineCostTotal,
- "westernMedicineCostSelfTotal": westernMedicineCostSelfTotal,
- "westernMedicineCostPartSelfTotal": westernMedicineCostPartSelfTotal,
- "westernMedicineSelfTotal": westernMedicineSelfTotal,
- "westernMedicineInscpTotal": westernMedicineInscpTotal,
-
- "chineseTraditionalMedicineCostTotal": chineseTraditionalMedicineCostTotal,
- "chineseTraditionalMedicineCostSelfTotal": chineseTraditionalMedicineCostSelfTotal,
- "chineseTraditionalMedicineCostPartSelfTotal": chineseTraditionalMedicineCostPartSelfTotal,
- "chineseTraditionalSelfTotal": chineseTraditionalSelfTotal,
- "chineseTraditionalInscpTotal": chineseTraditionalInscpTotal,
-
- "checkCostTotal": checkCostTotal,
- "checkCostSelfTotal": checkCostSelfTotal,
- "checkCostPartSelfTotal": checkCostPartSelfTotal,
- "checkSelfTotal": checkSelfTotal,
- "checkInscpTotal": checkInscpTotal,
-
- "laboratoryCostTotal": laboratoryCostTotal,
- "laboratoryCostSelfTotal": laboratoryCostSelfTotal,
- "laboratoryCostPartSelfTotal": laboratoryCostPartSelfTotal,
- "laboratorySelfTotal": laboratorySelfTotal,
- "laboratoryInscpTotal": laboratoryInscpTotal,
-
- "treatCostTotal": treatCostTotal,
- "treatCostSelfTotal": treatCostSelfTotal,
- "treatCostPartSelfTotal": treatCostPartSelfTotal,
- "treatSelfTotal": treatSelfTotal,
- "treatInscpTotal": treatInscpTotal,
-
- "doctor_info": doctor_info,
- "doctor_code": adminRole_two.DoctorCode,
- "doctor_name": doctor_name,
- "health_card_no": order.PsnNo,
- "department": departments.Name,
- "yiliao_leibie": yiliao_leibie,
- "after_money": order.AccountPrice,
- "patient": patient,
- "org_name": miConfig.OrgName,
- "org_code": miConfig.Code,
- "order_number": order.Number,
- "his_hospital": his_hospital,
- "his": his,
- "dia_config": dia_config,
- "psn_cash_pay": order.PsnCashPay,
- //"check_order_info": cus_slice,
- }
- data3 = append(data3, data2)
- }
- }
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "infos": data3,
- })
-
- }
-
- func (c *HisApiController) GetSettleAccounts() {
- //id, _ := c.GetInt64("id")
- //record_time := c.GetString("record_time")
- order_id, _ := c.GetInt64("order_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- //timeLayout := "2006-01-02"
- //loc, _ := time.LoadLocation("Local")
- //
- //theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- //if err != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- // return
- //}Hbyb5203
- //recordDateTime := theTime.Unix()
- adminUser := c.GetAdminUserInfo()
- order, _ := service.GetHisOrderByID(order_id)
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
-
- orderInfos, _ := service.GetHisOrderInfoByNumber(order.Number)
- orderInfos_two, _ := service.GetHisOrderInfoByNumberTwo(order.Number)
- orderInfos = append(orderInfos, orderInfos_two...)
- his_hospital, _ := service.GetInHospitalRecordByNumber(order.MdtrtId)
- //diagnosisConfig, _ := service.FindDiagnoseById(his.Diagnosis)
- var diagnosis_ids []string
- if his.ID > 0 {
- diagnosis_ids = strings.Split(his.Diagnosis, ",")
-
- } else {
- diagnosis_ids = strings.Split(his_hospital.Diagnosis, ",")
-
- }
- patient, _ := service.GetPatientByIDTwo(adminUser.CurrentOrgId, order.PatientId)
- var dia_config []*models.HisXtDiagnoseConfig
- var name string
- for _, item := range diagnosis_ids {
- id, _ := strconv.ParseInt(item, 10, 64)
- diagnosisConfig, _ := service.FindDiagnoseById(id)
- dia_config = append(dia_config, &diagnosisConfig)
- if len(name) == 0 {
- name = diagnosisConfig.ClassName
-
- } else {
- name = name + "," + diagnosisConfig.ClassName
- }
- }
-
- if patient.UserOrgId == 10215 {
- name = "慢性肾功能不全(血透治疗)"
-
- }
-
- var bedCostTotal float64 = 0 //床位总费
- var bedCostSelfTotal float64 = 0 //床位自费
- var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
- var bedSelfTotal float64 = 0 //床位部分项目自费
- var bedInscpTotal float64 = 0 //床位部分项目自费
-
- var operationCostTotal float64 = 0 //手术费
- var operationCostSelfTotal float64 = 0 //手术费
- var operationCostPartSelfTotal float64 = 0 //手术费
- var operationSelfTotal float64 = 0 //床位部分项目自费
- var operationInscpTotal float64 = 0 //床位部分项目自费
-
- var otherCostTotal float64 = 0 //其他费用
- var otherCostSelfTotal float64 = 0 //其他费用
- var otherCostPartSelfTotal float64 = 0 //其他费用
- var otherSelfTotal float64 = 0 //床位部分项目自费
- var otherInscpTotal float64 = 0 //床位部分项目自费
-
- var materialCostTotal float64 = 0 //材料费
- var materialCostSelfTotal float64 = 0 //材料费
- var materialCostPartSelfTotal float64 = 0 //材料费
- var materialSelfTotal float64 = 0 //床位部分项目自费
- var materialInscpTotal float64 = 0 //床位部分项目自费
-
- var westernMedicineCostTotal float64 = 0 //西药费
- var westernMedicineCostSelfTotal float64 = 0 //西药费
- var westernMedicineCostPartSelfTotal float64 = 0 //西药费
- var westernMedicineSelfTotal float64 = 0 //床位部分项目自费
- var westernMedicineInscpTotal float64 = 0 //床位部分项目自费
-
- var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
- var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
- var chineseTraditionalSelfTotal float64 = 0 //床位部分项目自费
- var chineseTraditionalInscpTotal float64 = 0 //床位部分项目自费
-
- var checkCostTotal float64 = 0 //检查费
- var checkCostSelfTotal float64 = 0 //检查费
- var checkCostPartSelfTotal float64 = 0 //检查费
- var checkSelfTotal float64 = 0 //床位部分项目自费
- var checkInscpTotal float64 = 0 //床位部分项目自费
-
- var laboratoryCostTotal float64 = 0 //化验费
- var laboratoryCostSelfTotal float64 = 0 //化验费
- var laboratoryCostPartSelfTotal float64 = 0 //化验费
- var laboratorySelfTotal float64 = 0 //床位部分项目自费
- var laboratoryInscpTotal float64 = 0 //床位部分项目自费
-
- var treatCostTotal float64 = 0 //治疗费用
- var treatCostSelfTotal float64 = 0 //治疗费用
- var treatCostPartSelfTotal float64 = 0 //治疗费用
- var treatSelfTotal float64 = 0 //床位部分项目自费
- var treatInscpTotal float64 = 0 //床位部分项目自费
-
- var zcCostTotal float64 = 0 //治疗费用
- var zcCostSelfTotal float64 = 0 //治疗费用
- var zcCostPartSelfTotal float64 = 0 //治疗费用
- var zcSelfTotal float64 = 0 //床位部分项目自费
- var zcInscpTotal float64 = 0 //床位部分项目自费
-
- var huliCostTotal float64 = 0 //治疗费用
- var huliCostSelfTotal float64 = 0 //治疗费用
- var huliCostPartSelfTotal float64 = 0 //治疗费用
- var huliSelfTotal float64 = 0 //床位部分项目自费
- var huliInscpTotal float64 = 0 //床位部分项目自费
-
- decimal.DivisionPrecision = 2
-
- for _, item := range orderInfos {
- if item.MedChrgitmType == "01" { //床位费
- bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- bedSelfTotal, _ = decimal.NewFromFloat(bedSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- bedInscpTotal, _ = decimal.NewFromFloat(bedInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if c.GetAdminUserInfo().CurrentOrgId == 10188 || c.GetAdminUserInfo().CurrentOrgId == 10217 {
- if item.MedChrgitmType == "03" { //检查费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratorySelfTotal, _ = decimal.NewFromFloat(laboratorySelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- laboratoryInscpTotal, _ = decimal.NewFromFloat(laboratoryInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
- } else {
- if item.MedChrgitmType == "03" && adminUser.CurrentOrgId == 9504 { //手术费
- fmt.Println("------------")
-
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
-
- }
- if item.MedChrgitmType == "03" && adminUser.CurrentOrgId != 9504 { //手术费
- checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- checkSelfTotal, _ = decimal.NewFromFloat(checkSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- checkInscpTotal, _ = decimal.NewFromFloat(checkInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- }
-
- if item.MedChrgitmType == "04" { //化验费
- laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- laboratorySelfTotal, _ = decimal.NewFromFloat(laboratorySelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- laboratoryInscpTotal, _ = decimal.NewFromFloat(laboratoryInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "05" { //治疗费
-
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- treatSelfTotal, _ = decimal.NewFromFloat(treatSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- treatInscpTotal, _ = decimal.NewFromFloat(treatInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
- if item.MedChrgitmType == "06" && adminUser.CurrentOrgId == 9504 { //手术费
- fmt.Println("------------")
- treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- treatSelfTotal, _ = decimal.NewFromFloat(treatSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- treatInscpTotal, _ = decimal.NewFromFloat(treatInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
- if item.MedChrgitmType == "06" && adminUser.CurrentOrgId != 9504 { //手术费
- operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- operationSelfTotal, _ = decimal.NewFromFloat(operationSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- operationInscpTotal, _ = decimal.NewFromFloat(operationInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "08" || item.MedChrgitmType == "1402" || item.MedChrgitmType == "1403" { //材料费
- materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- materialSelfTotal, _ = decimal.NewFromFloat(materialSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- materialInscpTotal, _ = decimal.NewFromFloat(materialInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "09" { //西药费
- westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- westernMedicineSelfTotal, _ = decimal.NewFromFloat(westernMedicineSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- westernMedicineInscpTotal, _ = decimal.NewFromFloat(westernMedicineInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "11" { //中成费
- chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- chineseTraditionalSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- chineseTraditionalInscpTotal, _ = decimal.NewFromFloat(chineseTraditionalInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "14" || item.MedChrgitmType == "0" || item.MedChrgitmType == "12" { //其他费
- otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- otherSelfTotal, _ = decimal.NewFromFloat(otherSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- otherInscpTotal, _ = decimal.NewFromFloat(otherInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "02" { //其他费
- zcCostTotal, _ = decimal.NewFromFloat(zcCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- zcCostSelfTotal, _ = decimal.NewFromFloat(zcCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- zcCostPartSelfTotal, _ = decimal.NewFromFloat(zcCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- zcSelfTotal, _ = decimal.NewFromFloat(zcSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- zcInscpTotal, _ = decimal.NewFromFloat(zcInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
-
- if item.MedChrgitmType == "07" { //其他费
- huliCostTotal, _ = decimal.NewFromFloat(huliCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
- huliCostSelfTotal, _ = decimal.NewFromFloat(huliCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
- huliCostPartSelfTotal, _ = decimal.NewFromFloat(huliCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
- huliSelfTotal, _ = decimal.NewFromFloat(huliSelfTotal).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
- huliInscpTotal, _ = decimal.NewFromFloat(huliInscpTotal).Add(decimal.NewFromFloat(item.InscpScpAmt)).Float64()
-
- }
- }
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "管理员"
- } else {
- user_name = role.UserName
- }
-
- baseParams := models.BaseParams{
- SecretKey: miConfig.SecretKey,
- FixmedinsCode: miConfig.Code,
- InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
- MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
- OrgName: miConfig.OrgName,
- Doctor: user_name,
- RequestUrl: miConfig.Url,
- AccessKey: miConfig.AccessKey,
- }
-
- businessParams := models.BusinessParams{
- PsnNo: order.PsnNo,
- MdtrtId: order.MdtrtId,
- SetlId: order.SetlId,
- }
- var res ResultEleven
- var resah ResultElevenah
- var resEleven10265 ResultEleven10265
-
- if config.IsOpen == 1 {
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- api := "http://192.168.124.4:9532/" + "hbyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420200" {
-
- api := "http://192.168.0.197:9532/" + "hbyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "420902" {
-
- api := miConfig.Url + "hbyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "421182" {
-
- api := miConfig.Url + "hbyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&med_type=" + order.MedType
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- } else {
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
- api = "http://192.168.5.251:9532/" + "jsyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &resEleven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resEleven10265.InfRefmsgid
- res.Output = resEleven10265.Output
- res.ErrMsg = resEleven10265.ErrMsg
- res.Cainfo = resEleven10265.Cainfo
- res.WarnMsg = resEleven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resEleven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "350500" {
- result, requestLog, _ := service.FJyb5203(baseParams, businessParams, miConfig.Url, miConfig.Code, miConfig.AppSecret, miConfig.SignKey, miConfig.EncKey)
- saveLog(result, requestLog, "5203", "结算单")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "360302" {
- baseParams.InsuplcAdmdvs = his.InsuplcAdmdvs
-
- result3, requestLog3 := service.Jxyb5201(baseParams, businessParams)
- fmt.Println(result3)
- fmt.Println(requestLog3)
- result2, requestLog2 := service.Jxyb5202(baseParams, businessParams)
- fmt.Println(result2)
- fmt.Println(requestLog2)
-
- result, requestLog := service.Jxyb5203(baseParams, businessParams)
- saveLog(result, requestLog, "5203", "结算单")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "361025" {
- baseParams.InsuplcAdmdvs = his.InsuplcAdmdvs
-
- result3, requestLog3 := service.Jxyb5201(baseParams, businessParams)
- fmt.Println(result3)
- fmt.Println(requestLog3)
- result2, requestLog2 := service.Jxyb5202(baseParams, businessParams)
- fmt.Println(result2)
- fmt.Println(requestLog2)
-
- result, requestLog := service.Jxyb5203(baseParams, businessParams)
- saveLog(result, requestLog, "5203", "结算单")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "341203" {
-
- var api string
-
- api = miConfig.SecretKey + "ahyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &resah); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resah.InfRefmsgid
- timestamp := int64(resah.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
-
- timestamp2 := int64(resah.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t3 := time.UnixMilli(timestamp2)
-
- // 格式化成指定的日期字符串
- str2 := t3.Format("2006-01-02 15:04:05")
-
- timestamp3 := int64(resah.Output.Setlinfo.Begndate) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t4 := time.UnixMilli(timestamp3)
-
- // 格式化成指定的日期字符串
- str3 := t4.Format("2006-01-02 15:04:05")
-
- timestamp4 := int64(resah.Output.Setlinfo.Enddate) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t5 := time.UnixMilli(timestamp4)
-
- // 格式化成指定的日期字符串
- str5 := t5.Format("2006-01-02 15:04:05")
-
- res.Output.Setlinfo.Brdy = str2
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.Begndate = str3
- res.Output.Setlinfo.Enddate = str5
-
- res.Output.Setlinfo.Year = resah.Output.Setlinfo.Year
- res.Output.Setlinfo.PsnPay = resah.Output.Setlinfo.PsnPay
-
- res.Output.Setlinfo.OpterID = resah.Output.Setlinfo.OpterID
- res.Output.Setlinfo.FlxempeFlag = resah.Output.Setlinfo.FlxempeFlag
-
- res.Output.Setlinfo.Gend = resah.Output.Setlinfo.Gend
- res.Output.Setlinfo.MdtrtID = resah.Output.Setlinfo.MdtrtID
-
- res.Output.Setlinfo.AcctMulaidPay = resah.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = resah.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = resah.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = resah.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = resah.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = resah.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = resah.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = resah.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = resah.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = resah.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = resah.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = resah.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = resah.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = resah.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = resah.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = resah.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = resah.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = resah.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- //res.Output.Setlinfo.HospPartAmt = resah.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = resah.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = resah.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = resah.Output.Setlinfo.MafPay
-
- //res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = resah.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = resah.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = resah.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = resah.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = resah.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = resah.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = resah.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = resah.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PoolPropSelfpay = resah.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = resah.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = resah.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = resah.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = resah.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = resah.Output.Setlinfo.PsnNo
- //res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = resah.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = resah.Output.Setlinfo.SetlID
- //res.Output.Setldetail = resah.Output.Setldetail
- res.ErrMsg = resah.ErrMsg
- res.Cainfo = resah.Cainfo
- res.WarnMsg = resah.WarnMsg
-
- } else if miConfig.MdtrtareaAdmvs == "340699" {
-
- var api string
-
- api = miConfig.SecretKey + "ahyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&cainfo=" + miConfig.Cainfo
-
- //req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- //req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/2204", bytes.NewReader(bytesData))
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- status := respJSON["data"].(map[string]interface{})["status"].(string)
- if status == "0" {
- err_msg := respJSON["data"].(map[string]interface{})["msg"].(string)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": err_msg,
- })
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &resah); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resah.InfRefmsgid
- timestamp := int64(resah.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t := time.UnixMilli(timestamp)
-
- // 格式化成指定的日期字符串
- str := t.Format("2006-01-02 15:04:05")
-
- timestamp2 := int64(resah.Output.Setlinfo.SetlTime) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t3 := time.UnixMilli(timestamp2)
-
- // 格式化成指定的日期字符串
- str2 := t3.Format("2006-01-02 15:04:05")
-
- timestamp3 := int64(resah.Output.Setlinfo.Begndate) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t4 := time.UnixMilli(timestamp3)
-
- // 格式化成指定的日期字符串
- str3 := t4.Format("2006-01-02 15:04:05")
-
- timestamp4 := int64(resah.Output.Setlinfo.Enddate) // 输入要转换的时间戳(这里仅作示例)
- // 创建对应的Time类型
- t5 := time.UnixMilli(timestamp4)
-
- // 格式化成指定的日期字符串
- str5 := t5.Format("2006-01-02 15:04:05")
-
- res.Output.Setlinfo.Brdy = str2
- res.Output.Setlinfo.SetlTime = str
- res.Output.Setlinfo.Begndate = str3
- res.Output.Setlinfo.Enddate = str5
-
- res.Output.Setlinfo.Year = resah.Output.Setlinfo.Year
- res.Output.Setlinfo.PsnPay = resah.Output.Setlinfo.PsnPay
-
- res.Output.Setlinfo.OpterID = resah.Output.Setlinfo.OpterID
- res.Output.Setlinfo.FlxempeFlag = resah.Output.Setlinfo.FlxempeFlag
-
- res.Output.Setlinfo.Gend = resah.Output.Setlinfo.Gend
- res.Output.Setlinfo.MdtrtID = resah.Output.Setlinfo.MdtrtID
-
- res.Output.Setlinfo.AcctMulaidPay = resah.Output.Setlinfo.AcctMulaidPay
- res.Output.Setlinfo.AcctPay = resah.Output.Setlinfo.AcctPay
- res.Output.Setlinfo.CvlservPay = resah.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.ActPayDedc = resah.Output.Setlinfo.ActPayDedc
- res.Output.Setlinfo.Age = resah.Output.Setlinfo.Age
- res.Output.Setlinfo.Balc = resah.Output.Setlinfo.Balc
- //res.Output.Setlinfo.Brdy = gzresSeven10265Two.Output.Setlinfo.Brdy
- res.Output.Setlinfo.Certno = resah.Output.Setlinfo.Certno
- res.Output.Setlinfo.ClrOptins = resah.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.ClrType = resah.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.ClrWay = resah.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservFlag = resah.Output.Setlinfo.ClrOptins
- res.Output.Setlinfo.CvlservPay = resah.Output.Setlinfo.CvlservPay
- res.Output.Setlinfo.FulamtOwnpayAmt = resah.Output.Setlinfo.FulamtOwnpayAmt
-
- res.Output.Setlinfo.FundPaySumamt = resah.Output.Setlinfo.FundPaySumamt
- res.Output.Setlinfo.Gend = resah.Output.Setlinfo.Gend
- res.Output.Setlinfo.HifesPay = resah.Output.Setlinfo.HifesPay
- res.Output.Setlinfo.HifmiPay = resah.Output.Setlinfo.HifmiPay
- res.Output.Setlinfo.HifpPay = resah.Output.Setlinfo.HifpPay
-
- //HospPartAmt, _ := strconv.ParseFloat(gzresSeven10265Two.Output.Setlinfo.HospPartAmt, 64)
-
- //res.Output.Setlinfo.HospPartAmt = resah.Output.Setlinfo.HospPartAmt
- res.Output.Setlinfo.InscpScpAmt = resah.Output.Setlinfo.InscpScpAmt
- res.Output.Setlinfo.Insutype = resah.Output.Setlinfo.Insutype
- res.Output.Setlinfo.MafPay = resah.Output.Setlinfo.MafPay
-
- //res.Output.Setlinfo.MdtrtCertType = ahres.Output.Setlinfo.MdtrtCertType
- res.Output.Setlinfo.HifobPay = resah.Output.Setlinfo.HifobPay
- res.Output.Setlinfo.MdtrtID = resah.Output.Setlinfo.MdtrtID
- res.Output.Setlinfo.MedType = resah.Output.Setlinfo.MedType
-
- res.Output.Setlinfo.MedfeeSumamt = resah.Output.Setlinfo.MedfeeSumamt
- res.Output.Setlinfo.MedinsSetlID = resah.Output.Setlinfo.MedinsSetlID
- res.Output.Setlinfo.Naty = resah.Output.Setlinfo.Naty
- res.Output.Setlinfo.OthPay = resah.Output.Setlinfo.OthPay
- res.Output.Setlinfo.OverlmtSelfpay = resah.Output.Setlinfo.OverlmtSelfpay
-
- res.Output.Setlinfo.PoolPropSelfpay = resah.Output.Setlinfo.PoolPropSelfpay
- res.Output.Setlinfo.PreselfpayAmt = resah.Output.Setlinfo.PreselfpayAmt
- res.Output.Setlinfo.PsnCashPay = resah.Output.Setlinfo.PsnCashPay
- res.Output.Setlinfo.PsnCertType = resah.Output.Setlinfo.ClrOptins
-
- res.Output.Setlinfo.PsnName = resah.Output.Setlinfo.PsnName
- res.Output.Setlinfo.PsnNo = resah.Output.Setlinfo.PsnNo
- //res.Output.Setlinfo.PsnPartAmt = ahres.Output.Setlinfo.PsnPartAmt
- res.Output.Setlinfo.PsnType = resah.Output.Setlinfo.PsnType
- res.Output.Setlinfo.SetlID = resah.Output.Setlinfo.SetlID
- //res.Output.Setldetail = resah.Output.Setldetail
- res.ErrMsg = resah.ErrMsg
- res.Cainfo = resah.Cainfo
- res.WarnMsg = resah.WarnMsg
-
- } else if miConfig.MdtrtareaAdmvs == "430800" {
- result, requestLog := service.Hnyb5203(baseParams, businessParams)
- saveLog(result, requestLog, "5203", "结算单")
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- } else if miConfig.MdtrtareaAdmvs == "150499" {
-
- api := "http://172.16.13.254:9532/" + "nmyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
- if err := json.Unmarshal([]byte(result), &resEleven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- res.InfRefmsgid = resEleven10265.InfRefmsgid
- res.Output = resEleven10265.Output
- res.ErrMsg = resEleven10265.ErrMsg
- res.Cainfo = resEleven10265.Cainfo
- res.WarnMsg = resEleven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resEleven10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- } else if miConfig.MdtrtareaAdmvs == "441799" {
- api := miConfig.Url + "gdyb/5203?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId +
- "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + his.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- } else if miConfig.MdtrtareaAdmvs == "450721" {
- service.Gxyb9001(baseParams.OrgName, baseParams.Doctor, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, admin_user_id, order.SetlId, order.MdtrtId, order.PsnNo, order.MedinsSetlId)
- //return
- } else {
- his, _ := service.GetHisPatientByNumber(order.MdtrtId)
- if len(his.InsuplcAdmdvs) == 0 {
- baseParams.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
- } else {
- baseParams.InsuplcAdmdvs = his.InsuplcAdmdvs
- }
- result := service.Gdyb5203(baseParams, businessParams)
- //service.Gdyb5204(baseParams, businessParams)
- //service.Gdyb5302(businessParams.PsnNo, baseParams.OrgName, baseParams.Doctor, baseParams.FixmedinsCode, baseParams.InsuplcAdmdvs, baseParams.MdtrtareaAdmvs, baseParams.SecretKey)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &resEleven10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resEleven10265.InfRefmsgid
- res.Output = resEleven10265.Output
- res.ErrMsg = resEleven10265.ErrMsg
- res.Cainfo = resEleven10265.Cainfo
- res.WarnMsg = resEleven10265.WarnMsg
- infocode, _ := strconv.ParseInt(resEleven10265.Infcode, 10, 64)
- res.Infcode = infocode
- } else {
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
- }
-
- printor_admin, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- charge_admin, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, order.Creator)
-
- patientPrescription, _ := service.FindPatientPrescriptionInfo(adminUser.CurrentOrgId, order.PatientId, order.SettleAccountsDate)
- adminRole_two, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, patientPrescription.DoctorId)
-
- doctor_info, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, his_hospital.Doctor)
-
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- var doctor_name string
- if roles.ID == 0 {
- doctor_name = "管理员"
- } else {
- doctor_name = roles.UserName
- }
-
- yiliao_leibie := ""
-
- switch order.MedType {
- case "11":
- yiliao_leibie = "普通门诊"
- break
- case "12":
- yiliao_leibie = "门诊挂号"
- break
- case "13":
- yiliao_leibie = "急诊"
- break
- case "14":
- yiliao_leibie = "门诊特殊病"
- break
- case "15":
- yiliao_leibie = "门诊统筹"
- break
- case "16":
- yiliao_leibie = "门诊慢性病"
- break
- case "21":
- yiliao_leibie = "普通住院"
- break
- }
- //var rf []CustomFundPay
- //json.Unmarshal([]byte(order.SetlDetail), &rf)
-
- departments, _ := service.GetDepartMentDetail(patientPrescription.Departments)
-
- res.Output.Setlinfo.PsnCashPay = order.PsnCashPay
-
- if res.Infcode == 0 {
- if adminUser.CurrentOrgId == 10215 || adminUser.CurrentOrgId == 10387 || adminUser.CurrentOrgId == 9919 || adminUser.CurrentOrgId == 10088 || adminUser.CurrentOrgId == 10150 || adminUser.CurrentOrgId == 10454 || adminUser.CurrentOrgId == 10644 || adminUser.CurrentOrgId == 10653 {
- c.ServeSuccessJSON(map[string]interface{}{
- "diagnosis": name,
- "order_infos": orderInfos,
- "number": order.MdtrtId,
- "date": order.SettleAccountsDate,
- "charge_admin": charge_admin,
- "printor_admin": printor_admin,
- "info": res.Output.Setlinfo,
- "order": order,
- "bedCostTotal": bedCostTotal,
- "bedCostSelfTotal": bedCostSelfTotal,
- "bedCostPartSelfTotal": bedCostPartSelfTotal,
- "bedSelfTotal": bedSelfTotal,
- "bedInscpTotal": bedInscpTotal,
-
- "operationCostTotal": operationCostTotal,
- "operationCostSelfTotal": operationCostSelfTotal,
- "operationCostPartSelfTotal": operationCostPartSelfTotal,
- "operationSelfTotal": operationSelfTotal,
- "operationInscpTotal": operationInscpTotal,
-
- "otherCostTotal": otherCostTotal,
- "otherCostSelfTotal": otherCostSelfTotal,
- "otherCostPartSelfTotal": otherCostPartSelfTotal,
- "otherSelfTotal": otherSelfTotal,
- "otherInscpTotal": otherInscpTotal,
-
- "materialCostTotal": materialCostTotal,
- "materialCostSelfTotal": materialCostSelfTotal,
- "materialCostPartSelfTotal": materialCostPartSelfTotal,
- "materialSelfTotal": materialSelfTotal,
- "materialInscpTotal": materialInscpTotal,
-
- "westernMedicineCostTotal": westernMedicineCostTotal,
- "westernMedicineCostSelfTotal": westernMedicineCostSelfTotal,
- "westernMedicineCostPartSelfTotal": westernMedicineCostPartSelfTotal,
- "westernMedicineSelfTotal": westernMedicineSelfTotal,
- "westernMedicineInscpTotal": westernMedicineInscpTotal,
-
- "chineseTraditionalMedicineCostTotal": chineseTraditionalMedicineCostTotal,
- "chineseTraditionalMedicineCostSelfTotal": chineseTraditionalMedicineCostSelfTotal,
- "chineseTraditionalMedicineCostPartSelfTotal": chineseTraditionalMedicineCostPartSelfTotal,
- "chineseTraditionalSelfTotal": chineseTraditionalSelfTotal,
- "chineseTraditionalInscpTotal": chineseTraditionalInscpTotal,
-
- "checkCostTotal": checkCostTotal,
- "checkCostSelfTotal": checkCostSelfTotal,
- "checkCostPartSelfTotal": checkCostPartSelfTotal,
- "checkSelfTotal": checkSelfTotal,
- "checkInscpTotal": checkInscpTotal,
-
- "laboratoryCostTotal": laboratoryCostTotal,
- "laboratoryCostSelfTotal": laboratoryCostSelfTotal,
- "laboratoryCostPartSelfTotal": laboratoryCostPartSelfTotal,
- "laboratorySelfTotal": laboratorySelfTotal,
- "laboratoryInscpTotal": laboratoryInscpTotal,
-
- "treatCostTotal": treatCostTotal,
- "treatCostSelfTotal": treatCostSelfTotal,
- "treatCostPartSelfTotal": treatCostPartSelfTotal,
- "treatSelfTotal": treatSelfTotal,
- "treatInscpTotal": treatInscpTotal,
-
- "doctor_info": doctor_info,
- "doctor_code": adminRole_two.DoctorCode,
- "doctor_name": doctor_name,
- "health_card_no": order.PsnNo,
- "department": departments.Name,
- "yiliao_leibie": yiliao_leibie,
- "after_money": order.AccountPrice,
- "patient": patient,
- "org_name": miConfig.OrgName,
- "org_code": miConfig.Code,
- "order_number": order.Number,
- "his_hospital": his_hospital,
- "his": his,
- "dia_config": dia_config,
- "psn_cash_pay": order.PsnCashPay,
-
- "zcCostTotal": zcCostTotal,
- "zcCostSelfTotal": zcCostSelfTotal,
- "zcCostPartSelfTotal": zcCostPartSelfTotal,
- "zcSelfTotal": zcSelfTotal,
- "zcInscpTotal": zcInscpTotal,
-
- "huliCostTotal": huliCostTotal,
- "huliCostSelfTotal": huliCostSelfTotal,
- "huliCostPartSelfTotal": huliCostPartSelfTotal,
- "huliSelfTotal": huliSelfTotal,
- "huliInscpTotal": huliInscpTotal,
-
- //"funds": rf,
- //"check_order_info": cus_slice,
- })
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "diagnosis": name,
- "order_infos": orderInfos,
- "number": order.MdtrtId,
- "date": order.SettleAccountsDate,
- "charge_admin": charge_admin,
- "printor_admin": printor_admin,
- "info": order,
- "order": order,
- "bedCostTotal": bedCostTotal,
- "bedCostSelfTotal": bedCostSelfTotal,
- "bedCostPartSelfTotal": bedCostPartSelfTotal,
- "bedSelfTotal": bedSelfTotal,
- "bedInscpTotal": bedInscpTotal,
-
- "operationCostTotal": operationCostTotal,
- "operationCostSelfTotal": operationCostSelfTotal,
- "operationCostPartSelfTotal": operationCostPartSelfTotal,
- "operationSelfTotal": operationSelfTotal,
- "operationInscpTotal": operationInscpTotal,
-
- "otherCostTotal": otherCostTotal,
- "otherCostSelfTotal": otherCostSelfTotal,
- "otherCostPartSelfTotal": otherCostPartSelfTotal,
- "otherSelfTotal": otherSelfTotal,
- "otherInscpTotal": otherInscpTotal,
-
- "materialCostTotal": materialCostTotal,
- "materialCostSelfTotal": materialCostSelfTotal,
- "materialCostPartSelfTotal": materialCostPartSelfTotal,
- "materialSelfTotal": materialSelfTotal,
- "materialInscpTotal": materialInscpTotal,
-
- "westernMedicineCostTotal": westernMedicineCostTotal,
- "westernMedicineCostSelfTotal": westernMedicineCostSelfTotal,
- "westernMedicineCostPartSelfTotal": westernMedicineCostPartSelfTotal,
- "westernMedicineSelfTotal": westernMedicineSelfTotal,
- "westernMedicineInscpTotal": westernMedicineInscpTotal,
-
- "chineseTraditionalMedicineCostTotal": chineseTraditionalMedicineCostTotal,
- "chineseTraditionalMedicineCostSelfTotal": chineseTraditionalMedicineCostSelfTotal,
- "chineseTraditionalMedicineCostPartSelfTotal": chineseTraditionalMedicineCostPartSelfTotal,
- "chineseTraditionalSelfTotal": chineseTraditionalSelfTotal,
- "chineseTraditionalInscpTotal": chineseTraditionalInscpTotal,
-
- "checkCostTotal": checkCostTotal,
- "checkCostSelfTotal": checkCostSelfTotal,
- "checkCostPartSelfTotal": checkCostPartSelfTotal,
- "checkSelfTotal": checkSelfTotal,
- "checkInscpTotal": checkInscpTotal,
-
- "laboratoryCostTotal": laboratoryCostTotal,
- "laboratoryCostSelfTotal": laboratoryCostSelfTotal,
- "laboratoryCostPartSelfTotal": laboratoryCostPartSelfTotal,
- "laboratorySelfTotal": laboratorySelfTotal,
- "laboratoryInscpTotal": laboratoryInscpTotal,
-
- "treatCostTotal": treatCostTotal,
- "treatCostSelfTotal": treatCostSelfTotal,
- "treatCostPartSelfTotal": treatCostPartSelfTotal,
- "treatSelfTotal": treatSelfTotal,
- "treatInscpTotal": treatInscpTotal,
-
- "doctor_info": doctor_info,
- "doctor_code": adminRole_two.DoctorCode,
- "doctor_name": doctor_name,
- "health_card_no": order.PsnNo,
- "department": departments.Name,
- "yiliao_leibie": yiliao_leibie,
- "after_money": order.AccountPrice,
- "patient": patient,
- "org_name": miConfig.OrgName,
- "org_code": miConfig.Code,
- "order_number": order.Number,
- "his_hospital": his_hospital,
- "his": his,
- "dia_config": dia_config,
- "psn_cash_pay": order.PsnCashPay,
-
- "zcCostTotal": zcCostTotal,
- "zcCostSelfTotal": zcCostSelfTotal,
- "zcCostPartSelfTotal": zcCostPartSelfTotal,
- "zcSelfTotal": zcSelfTotal,
- "zcInscpTotal": zcInscpTotal,
-
- "huliCostTotal": huliCostTotal,
- "huliCostSelfTotal": huliCostSelfTotal,
- "huliCostPartSelfTotal": huliCostPartSelfTotal,
- "huliSelfTotal": huliSelfTotal,
- "huliInscpTotal": huliInscpTotal,
- //"funds": rf,
- //"check_order_info": cus_slice,
- })
-
- }
- }
- }
-
- }
-
- //func (c *HisApiController) CheckTreatment() {
- // patient_id, _ := c.GetInt64("patient_id")
- // id_card_no := c.GetString("id_card_no")
- // insutype := c.GetString("insutype")
- // med_type := c.GetString("med_type")
- // admin_user_id, _ := c.GetInt64("admin_user_id")
- //
- // adminUser := c.GetAdminUserInfo()
- // patient, _ := service.GetPatientByID(adminUser.CurrentOrgId, patient_id)
- //
- // miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- // config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- // roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //
- // if miConfig.MdtrtareaAdmvs == "421300" {
- // var res ResultTwo
- // api := "http://192.168.124.4:9532/" + "hbyb/1101?cert_no=" + "" +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(2, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(2, 10)
- // resp, requestErr := http.Get(api)
- // if requestErr != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result, _ := json.Marshal(respJSON)
- //
- // if err := json.Unmarshal([]byte(result), &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // if res.Infcode == 0 {
- //
- // api := "http://192.168.124.4:9532/" + "hbyb/2001?cert_no=" + "" +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&psn_no=" + res.Output.Baseinfo.PsnNo + "&insutype=" + insutype + "&med_type=" + med_type
- // resp, requestErr := http.Get(api)
- // if requestErr != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- // if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var res Result2001
- //
- // respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // result2, _ := json.Marshal(respJSON)
- //
- // if err := json.Unmarshal([]byte(result2), &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // if res.Infcode == 0 {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": res.Output.Trtinfo,
- // })
- // }
- //
- // } else {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- // return
- // }
- //
- // } else {
- //
- // result := service.Gdyb1101A(id_card_no, miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, patient.Name)
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // var res ResultTwo
- // var res10265 ResultTwo10265
- // if miConfig.Code == "H15049901371" {
- // if err := json.Unmarshal(userJSONBytes, &res10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.ErrMsg = res10265.ErrMsg
- // infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // res.Output = res10265.Output
- // res.InfRefmsgid = res10265.InfRefmsgid
- // } else {
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // }
- //
- // var user_name string
- // role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, adminUser.AdminUser.Id)
- // if role.ID == 0 {
- // user_name = "xxx"
- // } else {
- // user_name = role.UserName
- // }
- //
- // baseParams := models.BaseParams{
- // SecretKey: miConfig.SecretKey,
- // FixmedinsCode: miConfig.Code,
- // InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
- // MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
- // OrgName: miConfig.OrgName,
- // Doctor: user_name,
- // }
- //
- // if config.IsOpen == 1 {
- // if miConfig.Code == "H15049901371" {
- // if med_type == "14" {
- // if insutype == "390" {
- // med_type = "9933"
- // } else if insutype == "310" {
- // med_type = "990502"
- // }
- // } else if med_type == "11" {
- // med_type = "11"
- // }
- // }
- // result := service.Gdyb2001(baseParams, res.Output.Baseinfo.PsnNo, insutype, med_type)
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // var res Result2001
- // var res10265 Result2001Org10265
- // if miConfig.Code == "H15049901371" {
- // if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // res.ErrMsg = res10265.ErrMsg
- // res.Output = res10265.Output
- // res.InfRefmsgid = res10265.InfRefmsgid
- // infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- // res.Infcode = infocode
- // } else {
- // if err := json.Unmarshal([]byte(result), &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // }
- // if res.Infcode == 0 {
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": res.Output.Trtinfo,
- // })
- // }
- // }
- // }
- //}
-
- //func (c *HisApiController) PutRecord() {
- // id, _ := c.GetInt64("id")
- // record_time := c.GetString("record_time")
- // timeLayout := "2006-01-02"
- // loc, _ := time.LoadLocation("Local")
- // theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- // if err != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- // return
- // }
- // recordDateTime := theTime.Unix()
- //
- // adminInfo := c.GetAdminUserInfo()
- // patient, _ := service.GetPatientByID(adminInfo.CurrentOrgId, id)
- // patientPrescription, _ := service.FindPatientPrescriptionInfo(adminInfo.CurrentOrgId, id, recordDateTime)
- //
- // miConfig, _ := service.FindMedicalInsuranceInfo(adminInfo.CurrentOrgId)
- //
- // fmt.Println(miConfig.SecretKey)
- //
- // if patient == nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePatientNoExist)
- // return
- // }
- // if len(patient.IdCardNo) == 0 {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeIDCartNo)
- // return
- // }
- // config, _ := service.GetMedicalInsuranceConfig(adminInfo.CurrentOrgId)
- // if config.IsOpen == 1 {
- // api := "http://127.0.0.1:9532/" + "gdyb/one?cert_no=" + patient.IdCardNo + "&org_name=" + miConfig.OrgName + "&doctor=" + patientPrescription.Doctor + "&fixmedins_code=" + miConfig.Code + "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- // resp, requestErr := http.Get(api)
- // if requestErr != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // defer resp.Body.Close()
- // body, ioErr := ioutil.ReadAll(resp.Body)
- // if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON map[string]interface{}
- //
- // if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // userJSON := respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // userJSONBytes, _ := json.Marshal(userJSON)
- // var res ResultTwo
- // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // Iinfos, _ := json.Marshal(res.Output.Iinfo)
- // Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- // infoStr := string(Iinfos)
- // idetinfoStr := string(Idetinfos)
- //
- // if res.Infcode == 0 {
- // his := models.VMHisPatient{
- // Status: 1,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // PsnNo: res.Output.Baseinfo.PsnNo,
- // PsnCertType: res.Output.Baseinfo.PsnCertType,
- // Certno: res.Output.Baseinfo.Certno,
- // PsnName: res.Output.Baseinfo.PsnName,
- // Gend: res.Output.Baseinfo.Gend,
- // Naty: res.Output.Baseinfo.Naty,
- // Brdy: res.Output.Baseinfo.Brdy,
- // Age: res.Output.Baseinfo.Age,
- // Iinfo: infoStr,
- // Idetinfo: idetinfoStr,
- // PatientId: patient.ID,
- // RecordDate: theTime.Unix(),
- // UserOrgId: adminInfo.CurrentOrgId,
- // AdminUserId: adminInfo.AdminUser.Id,
- // IsReturn: 1,
- // }
- //
- // //doctor_id := strconv.FormatInt(patientPrescription.DoctorId, 10)
- // //result := service.Gdyb2503(his.PsnNo, res.Output.Iinfo[0].Insutype, miConfig.OrgName, patientPrescription.Doctor, miConfig.Code, doctor_id, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, "重症尿毒症透析(血透)", "M07801")
- // //result2 := service.Gdyb5301(his.PsnNo, res.Output.Iinfo[0].Insutype, miConfig.OrgName, patientPrescription.Doctor, miConfig.Code, doctor_id, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, "重症尿毒症透析(血透)", "M07801")
- //
- // //var dat map[string]interface{}
- // //if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // // fmt.Println(dat)
- // //} else {
- // // fmt.Println(err)
- // //}
- //
- // var dat2 map[string]interface{}
- // if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
- // fmt.Println(dat2)
- // } else {
- // fmt.Println(err)
- // }
- //
- // } else {
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res.ErrMsg,
- // Status: 1,
- // PatientId: id,
- // RecordTime: recordDateTime,
- // Stage: 1,
- // }
- // service.CreateErrMsgLog(errlog)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeGdybOneException)
- // return
- // }
- // }
- //
- //}
-
- //func (c *HisApiController) GetUploadDiag() {
- // id, _ := c.GetInt64("id")
- // record_time := c.GetString("record_time")
- //
- // diagnosis_id, _ := c.GetInt64("diagnosis")
- // sick_type, _ := c.GetInt64("sick_type")
- // reg_type, _ := c.GetInt64("reg_type")
- //
- // timeLayout := "2006-01-02"
- // loc, _ := time.LoadLocation("Local")
- // theTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_time+" 00:00:00", loc)
- // if err != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
- // return
- // }
- //
- // var patientPrescription models.HisPrescriptionInfo
- // recordDateTime := theTime.Unix()
- // adminInfo := c.GetAdminUserInfo()
- // patientPrescription, _ = service.FindPatientPrescriptionInfo(adminInfo.CurrentOrgId, id, recordDateTime)
- //
- // if patientPrescription.ID == 0 {
- // patientPrescription, _ = service.FindLastPatientPrescriptionInfo(adminInfo.CurrentOrgId, id, recordDateTime)
- // }
- //
- // miConfig, _ := service.FindMedicalInsuranceInfo(adminInfo.CurrentOrgId)
- // diagnosisConfig, _ := service.FindDiagnoseById(diagnosis_id)
- // his, _ := service.GetVMHisPatientInfo(adminInfo.CurrentOrgId, id, recordDateTime)
- // sickConfig, _ := service.FindSickById(sick_type)
- // department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
- //
- // api2 := "http://127.0.0.1:9532/" + "gdyb/four?psn_no=" + his.PsnNo +
- // "&mdtrt_id=" + his.Number + "&doctor=" + patientPrescription.Doctor + "&department=" + department.Name +
- // "&diag=" + diagnosisConfig.ClassName + "&org_name=" + miConfig.OrgName + "&med_type=" + strconv.FormatInt(reg_type, 10) + "&doctor_id=" + strconv.FormatInt(patientPrescription.DoctorId, 10) + "&fixmedins_code=" + miConfig.Code + "&diag_code=" + diagnosisConfig.CountryCode +
- // "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&sick_code=" + sickConfig.ContentCode + "&sick_name=" + sickConfig.ClassName
- // resp2, requestErr2 := http.Get(api2)
- // if requestErr2 != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // body2, ioErr2 := ioutil.ReadAll(resp2.Body)
- // if ioErr2 != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr2)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // var respJSON2 map[string]interface{}
- // if err := json.Unmarshal([]byte(string(body2)), &respJSON2); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // respJSON2 = respJSON2["data"].(map[string]interface{})["pre"].(map[string]interface{})
- // userJSONBytes2, _ := json.Marshal(respJSON2)
- //
- // var res2 ResultSix
- // if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- // if res2.Infcode != 0 {
- // adminUser := c.GetAdminUserInfo()
- // errlog := &models.HisOrderError{
- // UserOrgId: adminUser.CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // ErrMsg: res2.ErrMsg,
- // Status: 1,
- // PatientId: id,
- // RecordTime: recordDateTime,
- // Stage: 3,
- // }
- // service.CreateErrMsgLog(errlog)
- //
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeRegisterThreeException)
- // return
- // }
- //
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": "上传成功",
- // })
- //
- //}
-
- type QueryResult struct {
- ID int64
- Name string
- Code string
- List_type_code string
- }
-
- func (c *HisApiController) GetCheckCode() {
- ids_str := c.GetString("ids")
- record_type, _ := c.GetInt64("record_type") //1.药品 2.耗材 3.项目
-
- ids_arr := strings.Split(ids_str, ",")
- var queryResult []QueryResult
- ids := make([]int64, 0)
- for _, item := range ids_arr {
- id, _ := strconv.ParseInt(item, 10, 64)
- ids = append(ids, id)
- }
- if record_type == 1 {
- drugs, _ := service.GetBatchDrugList(ids)
- for _, item := range drugs {
- result := QueryResult{
- ID: item.ID,
- Name: item.DrugName,
- Code: item.MedicalInsuranceNumber,
- List_type_code: "101",
- }
- queryResult = append(queryResult, result)
- }
-
- } else if record_type == 2 {
- goods, _ := service.GetBatchGoodInformationList(ids)
- fmt.Println(goods)
- for _, item := range goods {
- result := QueryResult{
- ID: item.ID,
- Name: item.GoodName,
- Code: item.SocialSecurityDirectoryCode,
- List_type_code: "301",
- }
- queryResult = append(queryResult, result)
- }
- } else if record_type == 3 {
- projects, _ := service.GetBathchMyPorjecgList(ids)
- for _, item := range projects {
- result := QueryResult{
- ID: item.ID,
- Name: item.ProjectName,
- Code: item.MedicalCode,
- List_type_code: "201",
- }
- queryResult = append(queryResult, result)
- }
- }
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- //config, _ := /**/service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "管理员"
- } else {
- user_name = role.UserName
- }
-
- baseParams := models.BaseParams{
- SecretKey: miConfig.SecretKey,
- FixmedinsCode: miConfig.Code,
- InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
- MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
- OrgName: miConfig.OrgName,
- Doctor: user_name,
- }
-
- var result string
-
- if miConfig.MdtrtareaAdmvs == "430800" {
-
- for _, item := range queryResult {
- if record_type == 1 {
- result, _ = service.Hnyb3301(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2021-01-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- } else if record_type == 2 {
- fmt.Println(item.Code)
- result, _ = service.Hnyb3301(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2021-01-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- } else if record_type == 3 {
- result, _ = service.Hnyb3301(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2021-01-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- }
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultSix
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- if record_type == 1 {
- service.UpdateBaseDrugById(item.ID)
- } else if record_type == 2 {
- service.UpdateGoodInformaitonByDetail(item.ID)
- } else if record_type == 3 {
- service.UpdateProjectById(item.ID)
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "msg": "目录对照成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
-
- } else {
-
- for _, item := range queryResult {
- var result string
- if record_type == 1 {
- result = service.Gdyb3301(baseParams, item.Name, item.Code, item.List_type_code, "2023-04-26", "", item.List_type_code, admin_user_id)
- } else if record_type == 2 {
- result = service.Gdyb3301(baseParams, item.Name, item.Code, item.List_type_code, "2023-04-26", "", item.List_type_code, admin_user_id)
- } else if record_type == 3 {
- result = service.Gdyb3301(baseParams, item.Name, item.Code, item.List_type_code, "2023-04-26", "", item.List_type_code, admin_user_id)
- }
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultSix
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- if record_type == 1 {
- service.UpdateBaseDrugById(item.ID)
- } else if record_type == 2 {
- service.UpdateGoodInformaitonByDetail(item.ID)
- } else if record_type == 3 {
- service.UpdateProjectById(item.ID)
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "msg": "目录对照成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
-
- }
-
- }
- func (c *HisApiController) UnCheckCode() {
- ids_str := c.GetString("ids")
- record_type, _ := c.GetInt64("record_type") //1.药品 2.耗材 3.项目
- admin_user_id, _ := c.GetInt64("admin_user_id")
- ids_arr := strings.Split(ids_str, ",")
- var queryResult []QueryResult
- ids := make([]int64, 0)
- for _, item := range ids_arr {
- id, _ := strconv.ParseInt(item, 10, 64)
- ids = append(ids, id)
- }
- if record_type == 1 {
- drugs, _ := service.GetBatchDrugList(ids)
- for _, item := range drugs {
- result := QueryResult{
- ID: item.ID,
- Name: item.DrugName,
- Code: item.MedicalInsuranceNumber,
- List_type_code: "101",
- }
- queryResult = append(queryResult, result)
- }
-
- } else if record_type == 2 {
- goods, _ := service.GetBatchGoodInformationList(ids)
-
- for _, item := range goods {
- result := QueryResult{
- ID: item.ID,
- Name: item.GoodName,
- Code: item.SocialSecurityDirectoryCode,
- List_type_code: "301",
- }
- queryResult = append(queryResult, result)
- }
- } else if record_type == 3 {
- projects, _ := service.GetBathchMyPorjecgList(ids)
- for _, item := range projects {
- result := QueryResult{
- ID: item.ID,
- Name: item.ProjectName,
- Code: item.MedicalCode,
- List_type_code: "201",
- }
- queryResult = append(queryResult, result)
- }
- }
-
- adminUser := c.GetAdminUserInfo()
-
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "xxx"
- } else {
- user_name = role.UserName
- }
-
- baseParams := &models.BaseParams{
- SecretKey: miConfig.SecretKey,
- FixmedinsCode: miConfig.Code,
- InsuplcAdmdvs: miConfig.InsuplcAdmdvs,
- MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs,
- OrgName: miConfig.OrgName,
- Doctor: user_name,
- }
-
- if config.IsOpen == 1 {
-
- if miConfig.MdtrtareaAdmvs == "430800" {
-
- for _, item := range queryResult {
- var result string
- if record_type == 1 {
- result, _ = service.Hnyb3302(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2023-08-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- } else if record_type == 2 {
- fmt.Println(item.Code)
- result, _ = service.Hnyb3302(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2023-08-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- } else if record_type == 3 {
- result, _ = service.Hnyb3302(miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.Cainfo, item.Name, item.Code, item.List_type_code, "2023-08-26", "2099-12-31", miConfig.Url, miConfig.AccessKey, miConfig.SecretKey)
- }
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultSix
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- if record_type == 1 {
- service.UpdateBaseDrugById(item.ID)
- } else if record_type == 2 {
- service.UpdateGoodInformaitonByDetail(item.ID)
- } else if record_type == 3 {
- service.UpdateProjectById(item.ID)
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "msg": "目录对照成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
-
- } else {
- for _, item := range queryResult {
- var result string
- if record_type == 1 {
- result = service.Gdyb3302(baseParams, item.Name, item.Code, item.List_type_code)
- } else if record_type == 2 {
- result = service.Gdyb3302(baseParams, item.Name, item.Code, item.List_type_code)
- } else if record_type == 3 {
- result = service.Gdyb3302(baseParams, item.Name, item.Code, item.List_type_code)
- }
- var dat2 map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat2); err == nil {
- fmt.Println(dat2)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat2)
- var res ResultSix
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- if record_type == 1 {
- service.UpdateDrugByIdDetail(item.ID)
- } else if record_type == 2 {
- service.UpdateGoodInfoById(item.ID)
- } else if record_type == 3 {
- service.UpdateMyProjectById(item.ID)
- }
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "msg": "撤销目录对照成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- }
- }
- }
- }
- }
- func (c *HisApiController) GetPatientInfo() {
- id_card_no := c.GetString("id_card_no")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- patient, _ := service.GetPatientByIDCard(id_card_no, c.GetAdminUserInfo().CurrentOrgId)
-
- if patient.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePatientNoExist)
- return
- }
-
- role, _ := service.GetAdminUserInfoByID(c.GetAdminUserInfo().CurrentOrgId, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(c.GetAdminUserInfo().CurrentOrgId)
- var res ResultTwo
- var res10265 ResultTwo10265
-
- if config.IsOpen == 1 {
- if miConfig.MdtrtareaAdmvs == "150499" {
- //请求内网数据
- api := "http://172.16.13.254:9532/" + "nmyb/1101?cert_no=" + patient.IdCardNo +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + "" + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(2, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(1, 10) + "&name=" + patient.Name
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
-
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- var respJSON map[string]interface{}
-
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result_byte, _ := json.Marshal(respJSON)
- result := string(result_byte)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- if err := json.Unmarshal(userJSONBytes, &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- Infcode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = Infcode
- res.ErrMsg = res10265.ErrMsg
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
- res.RespondTime = res10265.RespondTime
- res.WarnInfo = res10265.WarnInfo
-
- } else {
- result := service.Gdyb1101A(id_card_no, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, patient.Name)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
-
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- }
-
- //if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- for index, item := range res.Output.Iinfo {
- if item.PsnInsuStas == "2" {
- fmt.Println("--------")
- res.Output.Iinfo[index].Insutype = "300"
- res.Output.Iinfo[index].PsnInsuStas = "1"
-
- }
- }
- fmt.Println(res.Output.Iinfo)
-
- if res.Infcode != 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "info": res,
- })
- }
-
- }
- }
-
- func (c *HisApiController) PsnPutOnRecord() {
- record_type, _ := c.GetInt64("type")
- patient_id, _ := c.GetInt64("patient_id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var patients []*models.Patients
- if record_type == 1 { //全部备案
-
- patient, _ := service.GetAllPatient(adminUser.CurrentOrgId)
- patients = append(patients, patient...)
-
- } else { //单个备案
- patient, _ := service.GetPatientByID(adminUser.CurrentOrgId, patient_id)
- patients = append(patients, patient)
-
- }
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "xxx"
- } else {
- user_name = role.UserName
- }
-
- if config.IsOpen == 1 {
- for _, item := range patients {
- api := "http://127.0.0.1:9532/" + "gdyb/one?cert_no=" + item.IdCardNo + "&org_name=" + miConfig.OrgName + "&doctor=" + user_name + "&fixmedins_code=" + miConfig.Code + "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
-
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- userJSON := respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(userJSON)
- var res ResultTwo
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- result := service.Gdyb2505(res.Output.Baseinfo.PsnNo, user_name, miConfig.OrgName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, start_time, end_time, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
-
- var res2 ResultThirteen
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- psnResult := &models.GdybPsnRecord{
- UserOrgId: adminUser.CurrentOrgId,
- PatientId: item.ID,
- PsnNo: res.Output.Baseinfo.PsnNo,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Status: 1,
- IsCancel: 1,
- TrtDclaDetlSn: res2.Output.Result.TrtDclaDetlSn,
- }
- service.CreatePsnRecord(psnResult)
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
-
- }
-
- }
- }
-
- }
- func (c *HisApiController) PsnUnPutOnRecord() {
- id, _ := c.GetInt64("id")
- //record_type, _ := c.GetInt64("type")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- if role.ID == 0 {
- user_name = "xxx"
- } else {
- user_name = role.UserName
- }
-
- psn_record, _ := service.GetPsnRecordById(id)
- if psn_record.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorPsnRecordNoExistWrong)
- return
- }
- if config.IsOpen == 1 {
- result := service.Gdyb2506(psn_record.PsnNo, user_name, miConfig.OrgName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, psn_record.TrtDclaDetlSn)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultFourteen
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- psn_record.IsCancel = 2
- service.CreatePsnRecord(&psn_record)
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
-
- }
- func (c *HisApiController) PsnPutNCDSOnRecord() {
- patient_id, _ := c.GetInt64("patient_id")
- insutype_two := c.GetString("insutype")
- psn_no := c.GetString("psn_no")
- doctor_id, _ := c.GetInt64("doctor_id")
- sick_id, _ := c.GetInt64("sick_id")
- department_id, _ := c.GetInt64("department_id")
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- check_time := c.GetString("check_time")
-
- hospital_code := c.GetString("hospital_code")
- hospital_name := c.GetString("hospital_name")
-
- adminUser := c.GetAdminUserInfo()
- patient, _ := service.GetPatientByID(adminUser.CurrentOrgId, patient_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- sick, _ := service.FindSickById(sick_id)
- doctor, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, doctor_id)
- if len(hospital_code) == 0 {
-
- hospital_code = miConfig.Code
- }
- if len(hospital_name) == 0 {
- hospital_name = miConfig.OrgName
- }
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, doctor_id)
- var res ResultTwo
- var res10265 ResultTwo10265
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- psn_info, _ := service.GetPsnByPatientId(patient.ID)
- api := "http://192.168.2.3:9532/" + "hbyb/1101?cert_no=" + "" +
- "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(3, 10) + "&card_sn=" + "" + "&certificates=" + strconv.FormatInt(1, 10) + "&url=" + miConfig.Url + "&ak=" + miConfig.AccessKey + "&verify_number=" + psn_info.VerifyNumber + "&cainfo=" + miConfig.Cainfo
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- fmt.Println("log")
- fmt.Println(string(result))
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- result, _ := service.Gdyb1101(patient.IdCardNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, "", "0", patient.Name)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
- } else {
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- }
-
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- infoStr := string(Iinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insuplc_admdvs string
- var insutype string
- var is390 int = 0
- var is310 int = 0
- var insutypes []*ResultFive
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 2 {
- insutype = insutype_two
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
-
- insutype = insutype_two
-
- fmt.Println(insutype)
- for _, item := range rf {
- fmt.Println(item.Insutype)
- fmt.Println(insutype)
- if item.Insutype == insutype {
- fmt.Println(item.Insutype)
- fmt.Println(insutype)
- insuplc_admdvs = item.InsuplcAdmdvs
- }
- }
- fmt.Println(insuplc_admdvs)
- var res2 ResultThirteen
- var res10265_2 ResultThirteen10265
- if config.IsOpen == 1 {
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
-
- } else {
- if miConfig.MdtrtareaAdmvs == "150499" {
-
- //
- //api := "http://172.16.13.254:9532/" + "nmyb/2503?psn_no=" + psn_no + "&insutype=" + insutype + "sick_name" + sick.ClassName + "&sick_code=" + sick.CountryCode +
- // "&org_name=" + miConfig.OrgName + "&doctor=" + role.UserName + "&fixmedins_code=" + miConfig.Code +
- // "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&id_card_type=" + strconv.FormatInt(id_card_type, 10) + "&dept_code=" + department.Number + "&dept=" + department.Name + "&doctor_id=" + hb_doctor_info.DoctorNumber + "&doctor_name=" + hb_doctor_info.UserName + "&opter=" + roles.UserName
- //resp, requestErr := http.Get(api)
- //if requestErr != nil {
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //body, ioErr := ioutil.ReadAll(resp.Body)
- //if ioErr != nil {
- // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //var respJSON map[string]interface{}
- //if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- //result, _ := json.Marshal(respJSON)
-
- //if err := json.Unmarshal([]byte(result), &resThree); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //infocode = resThree.Infcode
-
- //result, _ := json.Marshal(respJSON)
-
- //if err := json.Unmarshal([]byte(result), &resThree10265); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //
- //resThree.ErrMsg = resThree10265.ErrMsg
- //
- //resThree.Output = resThree10265.Output
- //
- //resThree.InfRefmsgid = resThree10265.InfRefmsgid
- //
- //infocode, _ = strconv.ParseInt(resThree10265.Infcode, 10, 64)
- //
-
- } else {
- result := service.Gdyb2503(psn_no, insutype, miConfig.OrgName, doctor.UserName, miConfig.Code, doctor.DoctorNumber, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sick.ClassName, sick.ContentCode, start_time, end_time, check_time, hospital_code, hospital_name)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &res10265_2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res2.ErrMsg = res10265_2.ErrMsg
- infocode, _ := strconv.ParseInt(res10265_2.Infcode, 10, 64)
- res2.Infcode = infocode
- res2.Output = res10265_2.Output
- res2.InfRefmsgid = res10265_2.InfRefmsgid
- } else {
- if err := json.Unmarshal(userJSONBytes, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- }
- }
-
- if res2.Infcode == 0 {
- psnResult := &models.GdybPsnNcdsRecord{
- UserOrgId: adminUser.CurrentOrgId,
- PatientId: patient.ID,
- PsnNo: psn_no,
- DoctorId: doctor.AdminUserId,
- DepartmentId: department_id,
- SickType: sick_id,
- Insutype: insutype,
- Ctime: time.Now().Unix(),
- Mtime: time.Now().Unix(),
- Status: 1,
- IsCancel: 1,
- TrtDclaDetlSn: res2.Output.Result.TrtDclaDetlSn,
- }
- service.CreatePsnNCDSRecord(psnResult)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "msg": "备案成功",
- "result": psnResult,
- })
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res2.ErrMsg,
- })
- return
- }
- }
- }
- func (c *HisApiController) PsnPutUnNCDSOnRecord() {
- id, _ := c.GetInt64("id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- //config, _ := service.Ge(adminUser.CurrentOrgId)
- patient, _ := service.GetPatientByID(c.GetAdminUserInfo().CurrentOrgId, id)
- //role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //if role.ID == 0 {
- // user_name = "xxx"
- //} else {
- // user_name = role.UserName
- //}
- psn_record, _ := service.GetPsnNCDSRecordById(id)
- if psn_record.ID == 0 {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorPsnRecordNoExistWrong)
- return
- }
- result, _ := service.Gdyb1101(patient.IdCardNo, miConfig.OrgName, role.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, 2, "", "0", patient.Name)
- var res ResultTwo
- var res10265 ResultTwo10265
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- infoStr := string(Iinfos)
- var rf []*ResultFive
- json.Unmarshal([]byte(infoStr), &rf)
-
- var insuplc_admdvs string
- var insutype string
- var is390 int = 0
- var is310 int = 0
- var insutypes []*ResultFive
-
- for _, item := range rf {
- if (item.Insutype == "390" && item.PsnInsuStas == "1") || (item.Insutype == "310" && item.PsnInsuStas == "1") {
- insutypes = append(insutypes, item)
- }
- }
-
- if len(insutypes) == 1 {
- insutype = insutypes[0].Insutype
- //insuplc_admdvs = insutypes[0].InsuplcAdmdvs
- } else {
- for _, i := range insutypes {
- if i.Insutype == "390" {
- is390 = 1
- }
-
- if i.Insutype == "310" {
- is310 = 1
- }
- }
- }
- if is390 == 1 {
- insutype = "390"
- }
-
- if is310 == 1 {
- insutype = "310"
- }
-
- if len(insutypes) == 0 {
- insutype = "310"
- }
- insutype = psn_record.Insutype
-
- for _, item := range rf {
- if item.Insutype == insutype {
- insuplc_admdvs = item.InsuplcAdmdvs
- }
- }
-
- if config.IsOpen == 1 {
- result := service.Gdyb2504(psn_record.PsnNo, miConfig.OrgName, role.UserName, miConfig.Code, insuplc_admdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, psn_record.TrtDclaDetlSn)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
-
- userJSONBytes, _ := json.Marshal(dat)
- var res ResultFourteen
- var res10265 ResultFourteen10265
-
- if miConfig.Code == "H15049901371" {
- if err := json.Unmarshal(userJSONBytes, &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
-
- } else {
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- //if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- if res.Infcode == 0 {
- psn_record.IsCancel = 2
- service.CreatePsnNCDSRecord(&psn_record)
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": 0,
- "msg": "撤销备案成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
-
- }
-
- func (c *HisApiController) TestTest() {
- patient, _ := service.GetHisPatientInfo(4, 456, 1619712000)
- fmt.Println(patient.Iinfo)
-
- }
-
- type CustomData struct {
- MsgId string
- PsnNo string
- Info string
- }
-
- func (c *HisApiController) ReversalData() {
- var customData []*CustomData
-
- custom := &CustomData{
- MsgId: "H44022900158202103301714472004",
- PsnNo: "44020000001101329945",
- Info: "2207",
- }
- customData = append(customData, custom)
-
- custom1 := &CustomData{
- MsgId: "H4402290015820210330172057803",
- PsnNo: "44020000001101161813",
- Info: "2207",
- }
- customData = append(customData, custom1)
- custom2 := &CustomData{
- MsgId: "H44022900158202103301705198813",
- PsnNo: "44190000133097375417",
- Info: "2207",
- }
- customData = append(customData, custom2)
- custom3 := &CustomData{
- MsgId: "H44022900158202103301715524756",
- PsnNo: "44020000001100187221",
- Info: "2207",
- }
- customData = append(customData, custom3)
- custom4 := &CustomData{
- MsgId: "H44022900158202103301730376224",
- PsnNo: "44020000001101959155",
- Info: "2207",
- }
- customData = append(customData, custom4)
- custom5 := &CustomData{
- MsgId: "H44022900158202103301748008725",
- PsnNo: "44020000001104246641",
- Info: "2207",
- }
- customData = append(customData, custom5)
- custom6 := &CustomData{
- MsgId: "H44022900158202103301718096755",
- PsnNo: "44020000001102211860",
- Info: "2207",
- }
- customData = append(customData, custom6)
- custom7 := &CustomData{
- MsgId: "H44022900158202103301736551640",
- PsnNo: "44020000001102687718",
- Info: "2207",
- }
-
- customData = append(customData, custom7)
-
- custom8 := &CustomData{
- MsgId: "H44022900158202103301743097676",
- PsnNo: "44020000001102127785",
- Info: "2207",
- }
- customData = append(customData, custom8)
- custom9 := &CustomData{
- MsgId: "H44022900158202103301712304203",
- PsnNo: "44020000001101518097",
- Info: "2207",
- }
- customData = append(customData, custom9)
- custom10 := &CustomData{
- MsgId: "H44022900158202103301738448785",
- PsnNo: "44020000001100500813",
- Info: "2207",
- }
- customData = append(customData, custom10)
-
- custom11 := &CustomData{
- MsgId: "H44022900158202103301732455843",
- PsnNo: "44020000001102690557",
- Info: "2207",
- }
-
- customData = append(customData, custom11)
-
- custom12 := &CustomData{
- MsgId: "H44022900158202103301745421708",
- PsnNo: "44020000001102211928",
- Info: "2207",
- }
- customData = append(customData, custom12)
-
- custom1212 := &CustomData{
- MsgId: "H440229001582021033017351627",
- PsnNo: "44020000001102481733",
- Info: "2207",
- }
- customData = append(customData, custom1212)
-
- custom13 := &CustomData{
- MsgId: "H44022900158202103301740327951",
- PsnNo: "44020000001103174866",
- Info: "2207",
- }
- customData = append(customData, custom13)
- custom14 := &CustomData{
- MsgId: "H4402290015820210330174922668",
- PsnNo: "44020000001102927272",
- Info: "2207",
- }
- customData = append(customData, custom14)
- custom15 := &CustomData{
- MsgId: "H44022900158202103301752362273",
- PsnNo: "44020000001102942890",
- Info: "2207",
- }
- customData = append(customData, custom15)
-
- custom16 := &CustomData{
- MsgId: "H44022900158202103301751082917",
- PsnNo: "44020000001101662162",
- Info: "2207",
- }
- customData = append(customData, custom16)
-
- custom17 := &CustomData{
- MsgId: "H44022900158202103301754147728",
- PsnNo: "44020000000229014511",
- Info: "2207",
- }
- customData = append(customData, custom17)
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
-
- for _, item := range customData {
- result := service.Gdyb2601(item.PsnNo, item.MsgId, item.Info, miConfig.OrgName, "张俊杰", miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey)
- fmt.Println(result)
- }
- }
-
- func (c *HisApiController) GetAllopatry() {
- year := c.GetString("year")
- month := c.GetString("month")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- result, _ := service.Gdyb9001Two(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, admin_user_id)
-
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res models.Result9001
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- fmt.Println(res.Output.Signinoutb)
- fmt.Println(res.Output.Signinoutb.SignNo)
- fmt.Println(string(userJSONBytes))
-
- result3, _ := service.Gdyb3260(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res.Output.Signinoutb.SignNo, 0)
- var dat3 map[string]interface{}
- if err := json.Unmarshal([]byte(result3), &dat3); err == nil {
- fmt.Println(dat3)
- } else {
- fmt.Println(err)
- }
- userJSONBytes3, _ := json.Marshal(dat3)
- var res3 models.Result3260
- if err := json.Unmarshal(userJSONBytes3, &res3); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- var curpage int
- var pagesize int = 100
- var start int = 1
- //var stop int
- //pagecount := 10
- pagecount := int(math.Ceil(float64(res3.Output.Totalrow) / float64(pagesize)))
- var res22 []models.Result3260
- for curpage = 1; curpage <= pagecount; curpage++ {
- if curpage == 1 {
- start = 0
- } else {
- start = (curpage-1)*pagesize + 1
- }
- fmt.Println(start)
- //stop = curpage * pagesize
- //if stop > int(res3.Output.Totalrow) {
- // stop =int(res3.Output.Totalrow)
- //}
- result2, _ := service.Gdyb3260(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res.Output.Signinoutb.SignNo, start)
- var dat2 map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes2, _ := json.Marshal(dat2)
- var res2 models.Result3260
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res2.Infcode == 0 {
- res22 = append(res22, res2)
- //service.Gdyb3261(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res2, res.Output.Signinoutb.SignNo)
- //var dat2 map[string]interface{}
- //if err := json.Unmarshal([]byte(result3), &dat2); err == nil {
- // fmt.Println(dat)
- //} else {
- // fmt.Println(err)
- //}
- //c.ServeSuccessJSON(map[string]interface{}{
- // "list": res2.Output.Data,
- //})
- //continue
- }
-
- }
- service.Gdyb3261(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res22, res.Output.Signinoutb.SignNo)
- //service.Gdyb3263(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res22, res.Output.Signinoutb.SignNo)
-
- //result2, _ := service.Gdyb3260(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res.Output.Signinoutb.SignNo, 101)
- //var dat2 map[string]interface{}
- //if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
- // fmt.Println(dat)
- //} else {
- // fmt.Println(err)
- //}
- //userJSONBytes2, _ := json.Marshal(dat2)
- //var res2 models.Result3260
- //if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- //}
- //if res2.Infcode == 0 {
- // service.Gdyb3261(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res2, res.Output.Signinoutb.SignNo)
- // var dat2 map[string]interface{}
- // if err := json.Unmarshal([]byte(result3), &dat2); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // c.ServeSuccessJSON(map[string]interface{}{
- // "list": res2.Output.Data,
- // })
- //}
-
- }
-
- func (c *HisApiController) ComfirmAllopatry() {
- year := c.GetString("year")
- month := c.GetString("month")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- result, _ := service.Gdyb9001Two(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res models.Result9001
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- result2, _ := service.Gdyb3260(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res.Output.Signinoutb.SignNo, 0)
- var dat2 map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat2); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes2, _ := json.Marshal(dat2)
- var res2 models.Result3260
- if err := json.Unmarshal(userJSONBytes2, &res2); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- //if res2.Infcode == 0 {
- // result, _, msgId := service.Gdyb3261(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, res2, res.Output.Signinoutb.SignNo)
- // var dat map[string]interface{}
- // if err := json.Unmarshal([]byte(result), &dat); err == nil {
- // fmt.Println(dat)
- // } else {
- // fmt.Println(err)
- // }
- // userJSONBytes, _ := json.Marshal(dat)
- // var res3 models.Result3261
- // if err := json.Unmarshal(userJSONBytes, &res3); err != nil {
- // utils.ErrorLog("解析失败:%v", err)
- // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- // return
- // }
- //
- // if res3.Infcode == 0 {
- // record := &models.HisYidiClearRecord{
- // UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- // Ctime: time.Now().Unix(),
- // Mtime: time.Now().Unix(),
- // Status: 1,
- // MsgId: msgId,
- // }
- // service.SaveClearRecord(record)
- // c.ServeSuccessJSON(map[string]interface{}{
- // "msg": "提取成功",
- // })
- // }
- //}
- }
-
- func (c *HisApiController) RefundAllopatry() {
- year := c.GetString("year")
- month := c.GetString("month")
- //id, _ := c.GetInt64("id")
- admin_user_id, _ := c.GetInt64("admin_user_id")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //record, _ := service.GetClearRecordById(id)
- result2, _ := service.Gdyb9001Two(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, admin_user_id)
- var dat map[string]interface{}
- if err := json.Unmarshal([]byte(result2), &dat); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes, _ := json.Marshal(dat)
- var res models.Result9001
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- result, _ := service.Gdyb3262(miConfig.OrgName, roles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, year, month, "", res.Output.Signinoutb.SignNo)
-
- var dat2 map[string]interface{}
- if err := json.Unmarshal([]byte(result), &dat2); err == nil {
- fmt.Println(dat)
- } else {
- fmt.Println(err)
- }
- userJSONBytes2, _ := json.Marshal(dat2)
- var empty ResultFourteen
- if err := json.Unmarshal(userJSONBytes2, &empty); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if empty.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销成功",
- })
- return
- }
- }
-
- func (c *HisApiController) ReversalOtherData() {
- var customData []*CustomData
-
- custom := &CustomData{
- MsgId: "H44022900158202103301714472004",
- PsnNo: "44020000001101329945",
- Info: "2208",
- }
- customData = append(customData, custom)
-
- custom1 := &CustomData{
- MsgId: "H4402290015820210330172057803",
- PsnNo: "44020000001101161813",
- Info: "2208",
- }
- customData = append(customData, custom1)
- custom2 := &CustomData{
- MsgId: "H44022900158202103301705198813",
- PsnNo: "44190000133097375417",
- Info: "2208",
- }
- customData = append(customData, custom2)
- custom3 := &CustomData{
- MsgId: "H44022900158202103301715524756",
- PsnNo: "44020000001100187221",
- Info: "2208",
- }
- customData = append(customData, custom3)
- custom4 := &CustomData{
- MsgId: "H44022900158202103301730376224",
- PsnNo: "44020000001101959155",
- Info: "2208",
- }
- customData = append(customData, custom4)
- custom5 := &CustomData{
- MsgId: "H44022900158202103301748008725",
- PsnNo: "44020000001104246641",
- Info: "2208",
- }
- customData = append(customData, custom5)
- custom6 := &CustomData{
- MsgId: "H44022900158202103301718096755",
- PsnNo: "44020000001102211860",
- Info: "2208",
- }
- customData = append(customData, custom6)
- custom7 := &CustomData{
- MsgId: "H44022900158202103301736551640",
- PsnNo: "44020000001102687718",
- Info: "2208",
- }
-
- customData = append(customData, custom7)
-
- custom8 := &CustomData{
- MsgId: "H44022900158202103301743097676",
- PsnNo: "44020000001102127785",
- Info: "2208",
- }
- customData = append(customData, custom8)
- custom9 := &CustomData{
- MsgId: "H44022900158202103301712304203",
- PsnNo: "44020000001101518097",
- Info: "2208",
- }
- customData = append(customData, custom9)
- custom10 := &CustomData{
- MsgId: "H44022900158202103301738448785",
- PsnNo: "44020000001100500813",
- Info: "2208",
- }
- customData = append(customData, custom10)
-
- custom11 := &CustomData{
- MsgId: "H44022900158202103301732455843",
- PsnNo: "44020000001102690557",
- Info: "2208",
- }
-
- customData = append(customData, custom11)
-
- custom12 := &CustomData{
- MsgId: "H44022900158202103301745421708",
- PsnNo: "44020000001102211928",
- Info: "2208",
- }
- customData = append(customData, custom12)
-
- custom1212 := &CustomData{
- MsgId: "H440229001582021033017351627",
- PsnNo: "44020000001102481733",
- Info: "2208",
- }
- customData = append(customData, custom1212)
-
- custom13 := &CustomData{
- MsgId: "H44022900158202103301740327951",
- PsnNo: "44020000001103174866",
- Info: "2208",
- }
- customData = append(customData, custom13)
- custom14 := &CustomData{
- MsgId: "H4402290015820210330174922668",
- PsnNo: "44020000001102927272",
- Info: "2208",
- }
- customData = append(customData, custom14)
- custom15 := &CustomData{
- MsgId: "H44022900158202103301752362273",
- PsnNo: "44020000001102942890",
- Info: "2208",
- }
- customData = append(customData, custom15)
-
- custom16 := &CustomData{
- MsgId: "H44022900158202103301751082917",
- PsnNo: "44020000001101662162",
- Info: "2208",
- }
- customData = append(customData, custom16)
-
- custom17 := &CustomData{
- MsgId: "H44022900158202103301754147728",
- PsnNo: "44020000000229014511",
- Info: "2208",
- }
- customData = append(customData, custom17)
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
-
- for _, item := range customData {
- result := service.Gdyb2601(item.PsnNo, item.MsgId, item.Info, miConfig.OrgName, "张俊杰", miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey)
- fmt.Println(result)
- }
- }
-
- func PathExists(path string) (bool, error) {
- _, err := os.Stat(path)
- if err == nil {
- return true, nil
- }
- if os.IsNotExist(err) {
- return false, nil
- }
- return false, err
- }
-
- // 创建文件夹
- func Mkdir(dir string) {
- // 创建文件夹
- exist, err := PathExists(dir)
- if err != nil {
- fmt.Println(err.Error())
- } else {
- if exist {
- fmt.Println(dir + "文件夹已存在!")
- } else {
- // 文件夹名称,权限
- err := os.Mkdir(dir, os.ModePerm)
- if err != nil {
- fmt.Println(dir+"文件夹创建失败:", err.Error())
- } else {
- fmt.Println(dir + "文件夹创建成功!")
- }
- }
- }
- }
-
- // 压缩文件
- func Zip(srcFile string, destZip string) error {
- zipfile, err := os.Create(destZip)
- if err != nil {
- return err
- }
- defer zipfile.Close()
-
- archive := zip.NewWriter(zipfile)
- defer archive.Close()
-
- filepath.Walk(srcFile, func(path string, info os.FileInfo, err error) error {
- if err != nil {
- return err
- }
-
- header, err := zip.FileInfoHeader(info)
- if err != nil {
- return err
- }
-
- header.Name = strings.TrimPrefix(path, filepath.Dir(srcFile)+"/")
- // header.Name = path
- if info.IsDir() {
- header.Name += "/"
- } else {
- header.Method = zip.Deflate
- }
-
- writer, err := archive.CreateHeader(header)
- if err != nil {
- return err
- }
-
- if !info.IsDir() {
- file, err := os.Open(path)
- if err != nil {
- return err
- }
- defer file.Close()
- _, err = io.Copy(writer, file)
- }
- return err
- })
-
- return err
- }
-
- func ReadFile(filePath string) []byte {
- f, err := os.Open(filePath)
- if err != nil {
- fmt.Println("read file fail", err)
- return nil
- }
- defer f.Close()
-
- fd, err := ioutil.ReadAll(f)
- if err != nil {
- fmt.Println("read to fd fail", err)
- return nil
- }
-
- return fd
- }
-
- func saveLogq(result string, request string, infno string, desc string) {
-
- dir := "日志"
- utils.Mkdir(dir)
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
-
- result_time := year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec
-
- file := year + month + day + "_log"
- file_name := file + ".txt"
- file_path := "日志" + "/" + file_name
- exist, _ := utils.PathExists(file_path)
- if exist { //存在
- fmt.Println("存在")
- f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
- if err != nil {
- fmt.Println("read fail")
- }
- content := "\r\n" + "\r\n" + "\r\n" + result_time + " " + "【 " + desc + infno + "入参" + " 】:" + "\r\n" + request + "\r\n" + result_time + " " + "【 " + desc + infno + "出参" + " 】:" + "\r\n" + result
- n, _ := f.Seek(0, 2)
- _, err = f.WriteAt([]byte(content), n)
-
- } else { //不存在
- fmt.Println("文件不存在,创建文件")
- f, err := os.Create("日志" + "/" + file_name)
- defer f.Close()
- if err != nil {
- } else {
- _, err = f.Write([]byte("记录日志"))
- }
- }
-
- }
-
- func saveLog(result string, request string, infno string, desc string) {
-
- org_id, _ := beego.AppConfig.Int64("org_id")
- miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
- dir := miConfig.OrgName + "日志"
- utils.Mkdir(dir)
- month := time.Unix(1557042972, 0).Format("1")
- year := time.Now().Format("2006")
- month = time.Now().Format("01")
- day := time.Now().Format("02")
- hour := time.Now().Format("15")
- min := time.Now().Format("04")
- sec := time.Now().Format("05")
-
- result_time := year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec
-
- file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log"
- file_name := file + ".txt"
- file_path := miConfig.OrgName + "日志" + "/" + file_name
- exist, _ := utils.PathExists(file_path)
- if exist { //存在
- fmt.Println("存在")
- f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
- if err != nil {
- fmt.Println("read fail")
- }
- content := "\r\n" + "\r\n" + "\r\n" + result_time + " " + "【 " + desc + infno + "入参" + " 】:" + "\r\n" + request + "\r\n" + result_time + " " + "【 " + desc + infno + "出参" + " 】:" + "\r\n" + result
- n, _ := f.Seek(0, 2)
- _, err = f.WriteAt([]byte(content), n)
-
- } else { //不存在
- fmt.Println("文件不存在,创建文件")
- f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
- defer f.Close()
- if err != nil {
- } else {
- _, err = f.Write([]byte("记录日志"))
- }
- }
-
- }
-
- type Charset string
-
- const (
- UTF8 = Charset("UTF-8")
- GB18030 = Charset("GB18030")
- )
-
- func ConvertToString(src string, srcCode string, tagCode string) string {
- srcCoder := mahonia.NewDecoder(srcCode)
- srcResult := srcCoder.ConvertString(src)
- tagCoder := mahonia.NewDecoder(tagCode)
- _, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
- result := string(cdata)
- return result
- }
-
- func ReadEleCard(admin_user_id int64, org_id int64, c *HisApiController) string {
- roles, _ := service.GetAdminUserInfoByID(org_id, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
- var token string
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/readcardcharge?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(4, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/readcardchargeother?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(4, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
- if status == "0" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return ""
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return ""
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- return token
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return ""
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return ""
- }
- return token
- }
-
- func ReadEleCardforah(admin_user_id int64, org_id int64, c *HisApiController) string {
- roles, _ := service.GetAdminUserInfoByID(org_id, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
- var token string
-
- var api string
- api = miConfig.SecretKey + "ahyb/readcardcharge?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(4, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var res ResultTwo //1101结果
- if status == "1" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
-
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return ""
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return ""
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- return token
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return ""
- }
-
- return token
- }
-
- func ReadEleFace(admin_user_id int64, org_id int64, c *HisApiController) string {
- roles, _ := service.GetAdminUserInfoByID(org_id, admin_user_id)
- miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
- var token string
- if miConfig.MdtrtareaAdmvs == "320921" || miConfig.MdtrtareaAdmvs == "320982" {
- var api string
- if miConfig.MdtrtareaAdmvs == "320921" {
- api = "http://192.168.2.3:9532/" + "jsyb/readcardface?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(4, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- fmt.Println(api)
-
- } else {
- api = "http://192.168.5.251:9532/" + "jsyb/readcardface?" + "fixmedins_code=" + miConfig.Code + "&secret_key=" + miConfig.SecretKey + "&ak=" + miConfig.AccessKey + "&org_name=" + miConfig.OrgName + "&doctor=" + roles.UserName +
- "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&url=" + miConfig.Url + "&cainfo=" + miConfig.Cainfo + "&id_card_type=" + strconv.FormatInt(4, 10) + "&operator_id=" + strconv.FormatInt(admin_user_id, 10) + "&operator=" + roles.UserName
- }
-
- resp, requestErr := http.Get(api)
- if requestErr != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
-
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- var status string
- status = respJSON["data"].(map[string]interface{})["status"].(string)
- //card_type := respJSON["data"].(map[string]interface{})["type"].(string)
-
- var res ResultTwo //1101结果
- var res10265 ResultTwo10265 //1101结果
- if status == "0" { //读卡成功
- var card_info string //卡信息
- var busi_card_info string
- token = respJSON["data"].(map[string]interface{})["token"].(string)
- busi_card_info = respJSON["data"].(map[string]interface{})["busi_card_info"].(string)
- card_info = respJSON["data"].(map[string]interface{})["card_info"].(string)
- fmt.Println(card_info)
- fmt.Println(busi_card_info)
-
- respJSON = respJSON["data"].(map[string]interface{})["result"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
-
- if err := json.Unmarshal([]byte(result), &res10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return ""
- }
- res.ErrMsg = res10265.ErrMsg
- infocode, _ := strconv.ParseInt(res10265.Infcode, 10, 64)
- res.Infcode = infocode
- res.Output = res10265.Output
- res.InfRefmsgid = res10265.InfRefmsgid
- if res.Infcode == 0 {
- patient, err := service.GetPatientByIDCard(res.Output.Baseinfo.Certno, c.GetAdminUserInfo().CurrentOrgId)
- if err == gorm.ErrRecordNotFound {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeNoPateintException)
- return ""
- } else if err != nil {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
- return ""
-
- } else {
- Iinfos, _ := json.Marshal(res.Output.Iinfo)
- Idetinfos, _ := json.Marshal(res.Output.Idetinfo)
- infoStr := string(Iinfos)
- idetinfoStr := string(Idetinfos)
- psn := &models.HisPsn{
- PsnNo: res.Output.Baseinfo.PsnNo,
-
- PatientId: patient.ID,
- Certno: res.Output.Baseinfo.Certno,
-
- Gend: res.Output.Baseinfo.Gend,
- Naty: res.Output.Baseinfo.Naty,
- PsnCertType: res.Output.Baseinfo.PsnCertType,
- PsnName: res.Output.Baseinfo.PsnName,
- Idetinfo: idetinfoStr,
- Insuinfo: infoStr,
- UserOrgId: c.GetAdminUserInfo().CurrentOrgId,
- CardInfo: card_info,
- VerifyNumber: token,
- }
- service.CreateHisPsn(psn)
- return token
- }
- }
- } else {
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return ""
- }
- } else { //读卡失败
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisFailedException)
- return ""
- }
- return token
- }
-
- func DeleteExtraSpaceTwo(s string) string {
-
- //删除字符串中的多余空格,有多个空格时,仅保留一个空格
- s1 := strings.Replace(s, " ", " ", -1) //替换tab为空格
- regstr := "\\s{2,}" //两个及两个以上空格的正则表达式
- reg, _ := regexp.Compile(regstr) //编译正则表达式
- s2 := make([]byte, len(s1)) //定义字符数组切片
- copy(s2, s1) //将字符串复制到切片
- spc_index := reg.FindStringIndex(string(s2)) //在字符串中搜索
- for len(spc_index) > 0 { //找到适配项
- s2 = append(s2[:spc_index[0]+1], s2[spc_index[1]:]...) //删除多余空格
- spc_index = reg.FindStringIndex(string(s2)) //继续在字符串中搜索
- }
- return string(s2)
- }
-
- func Remove0000(s string) string {
- str := make([]rune, 0, len(s))
- for _, v := range []rune(s) {
- if v == 0 {
- continue
- }
- str = append(str, v)
- }
- return string(str)
- }
-
- func (c *HisApiController) GetELeCertInfo(code string, operator_id string, operator_name string) (string, string) {
- DllDef := syscall.MustLoadDLL("HeaSecReadInfo.dll")
- readCard := DllDef.MustFindProc("EcQuery")
- pCardInfo := make([]byte, 8192)
- pBusiCardInfo := make([]byte, 8192)
-
- data := make(map[string]interface{})
- //pData := make(map[string]interface{})
-
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- //
- data["data"] = inputData
- data["transType"] = "ec.query"
- data["orgId"] = code
- bytesData, _ := json.Marshal(data)
- pCardInfo = bytesData
- ret2, _, _ := readCard.Call((uintptr)(unsafe.Pointer(&pCardInfo[0])), (uintptr)(unsafe.Pointer(&pBusiCardInfo[0])))
- fmt.Println(ret2)
- //fmt.Println(DeleteExtraSpace(string(bytesData)))
- //fmt.Println(DeleteExtraSpace(string(pBusiCardInfo)))
- fmt.Println(":", ConvertToString(DeleteExtraSpace(string(bytesData)), "gbk", "utf-8"))
- fmt.Println(":", ConvertToString(DeleteExtraSpace(string(pBusiCardInfo)), "gbk", "utf-8"))
- if ret2 != 0 {
- return "", ""
- }
- return DeleteExtraSpace(string(bytesData)), DeleteExtraSpace(string(pBusiCardInfo))
- }
-
- func DeleteExtraSpace(s string) string {
- //删除字符串中的多余空格,有多个空格时,仅保留一个空格
- s1 := strings.Replace(s, " ", " ", -1) //替换tab为空格
- regstr := "\\s{2,}" //两个及两个以上空格的正则表达式
- reg, _ := regexp.Compile(regstr) //编译正则表达式
- s2 := make([]byte, len(s1)) //定义字符数组切片
- copy(s2, s1) //将字符串复制到切片
- spc_index := reg.FindStringIndex(string(s2)) //在字符串中搜索
- for len(spc_index) > 0 { //找到适配项
- s2 = append(s2[:spc_index[0]+1], s2[spc_index[1]:]...) //删除多余空格
- spc_index = reg.FindStringIndex(string(s2)) //继续在字符串中搜索
- }
- return string(s2)
- }
-
- // 对账
- func (c *HisApiController) Post3202() {
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- //insutype := c.GetString("insutype")
- clr_type := c.GetString("clr_type")
- clr_org := c.GetString("clr_optins")
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if len(clr_org) == 0 {
- clr_org = miConfig.MdtrtareaAdmvs
- }
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
- endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
- var orders []*models.HisOrder
- if clr_org == "421300" {
- orders, _ = service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
- } else if clr_org == "420902" {
- orders, _ = service.GetOrderByTime11222(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
- } else {
- orders, _ = service.GetOrderByTime11222(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
-
- }
- //orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
-
- //fixmedins_setl_cnt := int64(len(orders))
- var medfee_sumamt float64
- var acct_pay float64
- var fund_pay_sumamt float64
-
- for _, item := range orders {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- acct_pay = acct_pay + item.AcctPay
- fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
-
- }
-
- //var medfee_sumamt_two float64
- //var acct_pay_two float64
- //var fund_pay_sumamt_two float64
-
- //for _, item := range orders_two {
- // medfee_sumamt_two = medfee_sumamt_two + item.MedfeeSumamt
- // acct_pay_two = acct_pay_two + item.AcctPay
- // fund_pay_sumamt_two = fund_pay_sumamt_two + item.FundPaySumamt
- //}
-
- //var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //if role.ID == 0 {
- // user_name = "xxx"
- //} else {
- // user_name = role.UserName
- //}
- var res ResultSix
- if config.IsOpen == 1 {
- var bps []*models.BusinessParamsTwo
- var bp models.BusinessParamsTwo
- medfee_sumamt_str := fmt.Sprintf("%.2f", medfee_sumamt)
- acct_pay_str := fmt.Sprintf("%.2f", acct_pay)
- fund_pay_sumamt_str := fmt.Sprintf("%.2f", fund_pay_sumamt)
-
- bp.MedfeeSumamt = medfee_sumamt_str
- bp.AcctPay = acct_pay_str
- bp.FundPaySumamt = fund_pay_sumamt_str
- bp.Insutype = ""
- bp.StmtBegndate = start_time
- bp.ClrType = clr_type
- bp.SetlOptins = clr_org
- bp.StmtEnddate = end_time
- bps = append(bps, &bp)
-
- data := make(map[string]interface{})
- data["bps"] = bps
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- //data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
-
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/3202", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420200" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/3202", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "421182" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/3202", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420902" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/3202", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "发起成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
- func (c *HisApiController) Post3204a() {
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- //insutype := c.GetString("insutype")
- clr_type := c.GetString("clr_type")
- clr_org := c.GetString("clr_optins")
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if len(clr_org) == 0 {
- clr_org = miConfig.MdtrtareaAdmvs
- }
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
- endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
- var orders []*models.HisOrder
- if clr_org == "421300" {
- orders, _ = service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
- } else if clr_org == "420902" {
- orders, _ = service.GetOrderByTime11222(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
- } else {
- orders, _ = service.GetOrderByTime11222(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
-
- }
- //orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
-
- //fixmedins_setl_cnt := int64(len(orders))
- var medfee_sumamt float64
- var acct_pay float64
- var fund_pay_sumamt float64
-
- for _, item := range orders {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- acct_pay = acct_pay + item.AcctPay
- fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
-
- }
-
- //var medfee_sumamt_two float64
- //var acct_pay_two float64
- //var fund_pay_sumamt_two float64
-
- //for _, item := range orders_two {
- // medfee_sumamt_two = medfee_sumamt_two + item.MedfeeSumamt
- // acct_pay_two = acct_pay_two + item.AcctPay
- // fund_pay_sumamt_two = fund_pay_sumamt_two + item.FundPaySumamt
- //}
-
- //var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //if role.ID == 0 {
- // user_name = "xxx"
- //} else {
- // user_name = role.UserName
- //}
- var res ResultSix
- if config.IsOpen == 1 {
- var bps []*models.BusinessParamsTwo
- var bp models.BusinessParamsTwo
- medfee_sumamt_str := fmt.Sprintf("%.2f", medfee_sumamt)
- acct_pay_str := fmt.Sprintf("%.2f", acct_pay)
- fund_pay_sumamt_str := fmt.Sprintf("%.2f", fund_pay_sumamt)
-
- bp.MedfeeSumamt = medfee_sumamt_str
- bp.AcctPay = acct_pay_str
- bp.FundPaySumamt = fund_pay_sumamt_str
- bp.Insutype = ""
- bp.StmtBegndate = start_time
- bp.ClrType = clr_type
- bp.SetlOptins = clr_org
- bp.StmtEnddate = end_time
- bps = append(bps, &bp)
-
- data := make(map[string]interface{})
- data["bps"] = bps
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- //data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
-
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/3204a", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420200" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/3204a", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "421182" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/3204a", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420902" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/3204a", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "撤销成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- func (c *HisApiController) Post3204() {
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
- id := c.GetString("id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- //clr_org := miConfig.MdtrtareaAdmvs
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- var res ResultSix
- if config.IsOpen == 1 {
-
- data := make(map[string]interface{})
- data["id"] = id
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/3204", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "发起成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
- func (c *HisApiController) Post8404() {
- admin_user_id, _ := c.GetInt64("admin_user_id")
- month := c.GetString("month")
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- var res ResultSix
- if config.IsOpen == 1 {
- data := make(map[string]interface{})
- data["month"] = month
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/8404", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "查询成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- func (c *HisApiController) Post3202b() {
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- //insutype := c.GetString("insutype")
- clr_type := c.GetString("clr_type")
- clr_org := c.GetString("clr_optins")
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
- if len(clr_org) == 0 {
- clr_org = miConfig.MdtrtareaAdmvs
- }
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
- endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
- orders, _ := service.GetOrderByTimeFourfor11(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
- //orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
-
- //fixmedins_setl_cnt := int64(len(orders))
- var medfee_sumamt float64
- var acct_pay float64
- var fund_pay_sumamt float64
-
- for _, item := range orders {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- acct_pay = acct_pay + item.AcctPay
- fund_pay_sumamt = fund_pay_sumamt + item.FundPaySumamt
-
- }
-
- //var medfee_sumamt_two float64
- //var acct_pay_two float64
- //var fund_pay_sumamt_two float64
-
- //for _, item := range orders_two {
- // medfee_sumamt_two = medfee_sumamt_two + item.MedfeeSumamt
- // acct_pay_two = acct_pay_two + item.AcctPay
- // fund_pay_sumamt_two = fund_pay_sumamt_two + item.FundPaySumamt
- //}
-
- //var user_name string
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
- //if role.ID == 0 {
- // user_name = "xxx"
- //} else {
- // user_name = role.UserName
- //}
- var res ResultSix
- if config.IsOpen == 1 {
- var bps []*models.BusinessParamsTwo
- var bp models.BusinessParamsTwo
- medfee_sumamt_str := fmt.Sprintf("%.2f", medfee_sumamt)
- acct_pay_str := fmt.Sprintf("%.2f", acct_pay)
- fund_pay_sumamt_str := fmt.Sprintf("%.2f", fund_pay_sumamt)
-
- bp.MedfeeSumamt = medfee_sumamt_str
- bp.AcctPay = acct_pay_str
- bp.FundPaySumamt = fund_pay_sumamt_str
- bp.Insutype = "390"
- bp.StmtBegndate = start_time
- bp.ClrType = clr_type
- bp.SetlOptins = clr_org
- bp.StmtEnddate = end_time
- bps = append(bps, &bp)
-
- data := make(map[string]interface{})
- data["bps"] = bps
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/3202b", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420200" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/3202b", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- if miConfig.MdtrtareaAdmvs == "421182" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/3202b", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "发起成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- func (c *HisApiController) Post1608() {
- start_time := c.GetString("start_time")
- end_time := c.GetString("end_time")
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- timeLayout := "2006-01-02"
- loc, _ := time.LoadLocation("Local")
- startime, _ := time.ParseInLocation(timeLayout+" 15:04:05", start_time+" 00:00:00", loc)
- endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
- orders, _ := service.GetOrderByTimeFourfor11(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId)
- //orders_two, _ := service.GetOrderByTimeFour(startime.Unix(), endtime.Unix(), adminUser.CurrentOrgId, "310", "", clr_type)
-
- fixmedins_setl_cnt := int64(len(orders))
- var medfee_sumamt float64
- var func_smamt float64
-
- for _, item := range orders {
- medfee_sumamt = medfee_sumamt + item.MedfeeSumamt
- func_smamt = func_smamt + item.FundPaySumamt + item.AcctPay
- }
-
- times := strings.Split(start_time, "-")
- time_tows := strings.Split(end_time, "-")
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- var res ResultSix
- if config.IsOpen == 1 {
- //var bps []*models.BusinessParamsTwo
- //var bp models.BusinessParamsTwo
- medfee_sumamt_str := fmt.Sprintf("%.2f", medfee_sumamt)
- func_smamt_str := fmt.Sprintf("%.2f", func_smamt)
-
- data := make(map[string]interface{})
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["func_smamt"] = func_smamt_str
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["cnt"] = strconv.FormatInt(fixmedins_setl_cnt, 10)
- data["medfee_sumamt"] = medfee_sumamt_str
- data["start_time"] = times[0] + times[1] + times[2]
- data["end_time"] = time_tows[0] + time_tows[1] + time_tows[2]
-
- if miConfig.MdtrtareaAdmvs == "421300" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/1608", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420200" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/1608", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "421182" {
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/1608", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "发起成功",
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- // 5.11.1.1【5262】结算信息按时间段查询
- func Post5262(c *HisApiController, bp models.BusinessParams5262, page int64, limit int64) {
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- var res Result5262
- if config.IsOpen == 1 {
- if miConfig.MdtrtareaAdmvs == "421300" {
-
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = strconv.FormatInt(page, 10)
- data["limit"] = strconv.FormatInt(limit, 10)
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/5262", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "420200" {
-
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = strconv.FormatInt(page, 10)
- data["limit"] = strconv.FormatInt(limit, 10)
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/5262", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "421182" {
-
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = strconv.FormatInt(page, 10)
- data["limit"] = strconv.FormatInt(limit, 10)
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/5262", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- if miConfig.MdtrtareaAdmvs == "420902" {
-
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = strconv.FormatInt(page, 10)
- data["limit"] = strconv.FormatInt(limit, 10)
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/5262", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "order": res.Output.Result,
- "total": res.Output.PageInfo.RecordCounts,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- // 5.11.1.2【5267】异地结算信息时间段查询
- func Post5267(c *HisApiController, bp models.BusinessParams5262, page int64, limit int64) {
-
- admin_user_id, _ := c.GetInt64("admin_user_id")
-
- adminUser := c.GetAdminUserInfo()
- miConfig, _ := service.FindMedicalInsuranceInfo(adminUser.CurrentOrgId)
- config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
-
- role, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
-
- var res Result5267
- if config.IsOpen == 1 {
- if miConfig.MdtrtareaAdmvs == "421300" {
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = page
- data["limit"] = limit
-
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/5267", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
- if miConfig.MdtrtareaAdmvs == "420200" {
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = page
- data["limit"] = limit
-
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", "http://192.168.0.197:9532/"+"hbyb/5267", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if miConfig.MdtrtareaAdmvs == "421182" {
- data := make(map[string]interface{})
- data["bps"] = bp
- data["org_name"] = miConfig.OrgName
- data["doctor"] = role.UserName
- data["fixmedins_code"] = miConfig.Code
- data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
- data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
- data["page"] = page
- data["limit"] = limit
-
- fmt.Println(data)
-
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- req, _ := http.NewRequest("POST", miConfig.Url+"hbyb/5267", bytes.NewReader(bytesData))
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
-
- respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
- userJSONBytes, _ := json.Marshal(respJSON)
- if err := json.Unmarshal(userJSONBytes, &res); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- }
-
- if res.Infcode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "order": res.Output.Result,
- "total": res.Output.PageInfo.RecordCounts,
- })
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
-
- }
- }
- }
-
- func (c *HisApiController) Post3501() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3501s []models.Struct3501
- var struct3501 models.Struct3501
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.RequestUrl = miConfig.Url
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.ManuDate = "2022-08-17"
- struct3501.FixmedinsBchno = ""
- struct3501.ManuLotnum = ""
- struct3501.RxFlag = "0"
- struct3501.ExpyEnd = "2022-08-17"
- struct3501.Invdate = "2022-08-17"
- struct3501.InvCnt = "20.25"
- struct3501.Memo = ""
- struct3501.MedListCodg = "XB01ABD056B002020200517"
- struct3501.FixmedinsHilistId = miConfig.Code
- struct3501.FixmedinsHilistName = miConfig.OrgName
- struct3501s = append(struct3501s, struct3501)
- data["struct_3501s"] = struct3501s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- func (c *HisApiController) Post3502() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3502s []models.Struct3502
- var struct3502 models.Struct3502
- struct3502.OrgName = miConfig.OrgName
- struct3502.AccessKey = miConfig.AccessKey
- struct3502.RequestUrl = miConfig.Url
- struct3502.SecretKey = miConfig.SecretKey
- struct3502.ManuDate = "2022-08-15"
- struct3502.FixmedinsBchno = ""
- struct3502.ManuLotnum = ""
- struct3502.RxFlag = "0"
- struct3502.ExpyEnd = "2022-08-15"
- struct3502.Invdate = "2022-08-15"
- struct3502.InvCnt = "20.25"
- struct3502.Memo = ""
- struct3502.MedListCodg = "XB01ABD056B002020200517"
- struct3502.FixmedinsHilistId = miConfig.Code
- struct3502.FixmedinsHilistName = miConfig.OrgName
- struct3502s = append(struct3502s, struct3502)
- data["struct_3502s"] = struct3502s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- func (c *HisApiController) Post3503() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3501s []models.Struct3501
- var struct3501 models.Struct3501
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.RequestUrl = miConfig.Url
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.ManuDate = "2022-08-15"
- struct3501.FixmedinsBchno = ""
- struct3501.ManuLotnum = ""
- struct3501.RxFlag = "0"
- struct3501.ExpyEnd = "2022-08-15"
- struct3501.Invdate = "2022-08-15"
- struct3501.InvCnt = "20.25"
- struct3501.Memo = ""
- struct3501.MedListCodg = "XB01ABD056B002020200517"
- struct3501.FixmedinsHilistId = miConfig.Code
- struct3501.FixmedinsHilistName = miConfig.OrgName
- struct3501s = append(struct3501s, struct3501)
- data["struct_3501s"] = struct3501s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- func (c *HisApiController) Post3504() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3501s []models.Struct3501
- var struct3501 models.Struct3501
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.RequestUrl = miConfig.Url
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.ManuDate = "2022-08-15"
- struct3501.FixmedinsBchno = ""
- struct3501.ManuLotnum = ""
- struct3501.RxFlag = "0"
- struct3501.ExpyEnd = "2022-08-15"
- struct3501.Invdate = "2022-08-15"
- struct3501.InvCnt = "20.25"
- struct3501.Memo = ""
- struct3501.MedListCodg = "XB01ABD056B002020200517"
- struct3501.FixmedinsHilistId = miConfig.Code
- struct3501.FixmedinsHilistName = miConfig.OrgName
- struct3501s = append(struct3501s, struct3501)
- data["struct_3501s"] = struct3501s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- func (c *HisApiController) Post3505() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3501s []models.Struct3501
- var struct3501 models.Struct3501
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.RequestUrl = miConfig.Url
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.ManuDate = "2022-08-15"
- struct3501.FixmedinsBchno = ""
- struct3501.ManuLotnum = ""
- struct3501.RxFlag = "0"
- struct3501.ExpyEnd = "2022-08-15"
- struct3501.Invdate = "2022-08-15"
- struct3501.InvCnt = "20.25"
- struct3501.Memo = ""
- struct3501.MedListCodg = "XB01ABD056B002020200517"
- struct3501.FixmedinsHilistId = miConfig.Code
- struct3501.FixmedinsHilistName = miConfig.OrgName
- struct3501s = append(struct3501s, struct3501)
- data["struct_3501s"] = struct3501s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- func (c *HisApiController) Post3506() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3501s []models.Struct3501
- var struct3501 models.Struct3501
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.RequestUrl = miConfig.Url
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.ManuDate = "2022-08-15"
- struct3501.FixmedinsBchno = ""
- struct3501.ManuLotnum = ""
- struct3501.RxFlag = "0"
- struct3501.ExpyEnd = "2022-08-15"
- struct3501.Invdate = "2022-08-15"
- struct3501.InvCnt = "20.25"
- struct3501.Memo = ""
- struct3501.MedListCodg = "XB01ABD056B002020200517"
- struct3501.FixmedinsHilistId = miConfig.Code
- struct3501.FixmedinsHilistName = miConfig.OrgName
- struct3501s = append(struct3501s, struct3501)
- data["struct_3501s"] = struct3501s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
- }
- func (c *HisApiController) Post3507() {
- miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
- data := make(map[string]interface{})
- var struct3501s []models.Struct3501
- var struct3501 models.Struct3501
- struct3501.OrgName = miConfig.OrgName
- struct3501.AccessKey = miConfig.AccessKey
- struct3501.RequestUrl = miConfig.Url
- struct3501.SecretKey = miConfig.SecretKey
- struct3501.ManuDate = "2022-08-15"
- struct3501.FixmedinsBchno = ""
- struct3501.ManuLotnum = ""
- struct3501.RxFlag = "0"
- struct3501.ExpyEnd = "2022-08-15"
- struct3501.Invdate = "2022-08-15"
- struct3501.InvCnt = "20.25"
- struct3501.Memo = ""
- struct3501.MedListCodg = "XB01ABD056B002020200517"
- //struct3501.FixmedinsHilistId = drug.BaseDrugLib.MedicalInsuranceNumber
- //struct3501.FixmedinsHilistName =drug.BaseDrugLib.DrugName
- struct3501s = append(struct3501s, struct3501)
- data["struct_3501s"] = struct3501s
- client := &http.Client{}
- bytesData, _ := json.Marshal(data)
- var req *http.Request
-
- if miConfig.MdtrtareaAdmvs == "320921" {
- req, _ = http.NewRequest("POST", "http://192.168.2.3:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- } else {
- req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
- }
-
- resp, _ := client.Do(req)
- defer resp.Body.Close()
- body, ioErr := ioutil.ReadAll(resp.Body)
- if ioErr != nil {
- utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var respJSON map[string]interface{}
- if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
- utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- var res ResultSix
- var resSix10265 ResultSix10265 //1101结果
-
- respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
- result, _ := json.Marshal(respJSON)
- if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
- utils.ErrorLog("解析失败:%v", err)
- c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
- return
- }
- res.InfRefmsgid = resSix10265.InfRefmsgid
- res.Output = resSix10265.Output
- res.ErrMsg = resSix10265.ErrMsg
- res.Cainfo = resSix10265.Cainfo
- res.WarnMsg = resSix10265.WarnMsg
- infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
- res.Infcode = infocode
-
- if infocode == 0 {
- c.ServeSuccessJSON(map[string]interface{}{
- "msg": "上传成功",
- })
- return
-
- } else {
- c.ServeSuccessJSON(map[string]interface{}{
- "failed_code": -10,
- "msg": res.ErrMsg,
- })
- return
- }
-
- }
- func GetjxELeInfo(code string, operator_id string, operator_name string, md string) (string, string) {
- // WebSocket服务器地址
- serverURL := "ws://127.0.0.1:8899"
-
- // 解析WebSocket服务器地址
- u, err := url.Parse(serverURL)
- if err != nil {
-
- }
-
- // 建立WebSocket连接
- conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
- if err != nil {
-
- }
- defer conn.Close()
- input2 := make(map[string]interface{})
-
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- //if md == ""
- if md[:4] == "4403" {
- input2["url"] = "http://hosp-sz.gd.hsip.gov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
-
- } else if md[:4] == "4401" {
-
- input2["url"] = "http://hosp-sz.gd.hsip.gov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
-
- } else {
- input2["url"] = "http://hosp.gd.hsip.gov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
-
- }
- input2["indata"] = input
- fmt.Println(input2)
-
- bytesData, _ := json.Marshal(input2)
- err = conn.WriteMessage(websocket.TextMessage, bytesData)
- if err != nil {
- fmt.Println(err)
- }
-
- // 接收消息
- _, receivedMessage, err := conn.ReadMessage()
- if err != nil {
- fmt.Println(err)
- }
-
- return "", string(receivedMessage)
- }
-
- func GethnELeInfo(code string, operator_id string, operator_name string) (string, string) {
- // WebSocket服务器地址
- serverURL := "ws://127.0.0.1:8899"
-
- // 解析WebSocket服务器地址
- u, err := url.Parse(serverURL)
- if err != nil {
-
- }
-
- // 建立WebSocket连接
- conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
- if err != nil {
-
- }
- defer conn.Close()
- input2 := make(map[string]interface{})
-
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- //if md == ""
-
- input2["url"] = "https://dvs.hun.hsip.gov.cn/localcfc/api/hsecfc/localQrCodeQuery"
- input2["indata"] = input
- fmt.Println(input2)
-
- bytesData, _ := json.Marshal(input2)
- err = conn.WriteMessage(websocket.TextMessage, bytesData)
- if err != nil {
- fmt.Println(err)
- }
-
- // 接收消息
- _, receivedMessage, err := conn.ReadMessage()
- if err != nil {
- fmt.Println(err)
- }
-
- return "", string(receivedMessage)
- }
- func GethnELeInfotwo(code string, operator_id string, operator_name string) (string, string) {
- // WebSocket服务器地址
- serverURL := "ws://127.0.0.1:8899"
-
- // 解析WebSocket服务器地址
- u, err := url.Parse(serverURL)
- if err != nil {
-
- }
-
- // 建立WebSocket连接
- conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
- if err != nil {
-
- }
- defer conn.Close()
- input2 := make(map[string]interface{})
-
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01301"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- //if md == ""
-
- input2["url"] = "https://dvs.hun.hsip.gov.cn/localcfc/api/hsecfc/localQrCodeQuery"
- input2["indata"] = input
- fmt.Println(input2)
-
- bytesData, _ := json.Marshal(input2)
- err = conn.WriteMessage(websocket.TextMessage, bytesData)
- if err != nil {
- fmt.Println(err)
- }
-
- // 接收消息
- _, receivedMessage, err := conn.ReadMessage()
- if err != nil {
- fmt.Println(err)
- }
-
- return "", string(receivedMessage)
- }
-
- func GetjxELeInfoaaa(code string, operator_id string, operator_name string) (string, string) {
- // WebSocket服务器地址
- serverURL := "ws://127.0.0.1:8899"
-
- // 解析WebSocket服务器地址
- u, err := url.Parse(serverURL)
- if err != nil {
-
- }
-
- // 建立WebSocket连接
- conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
- if err != nil {
-
- }
- defer conn.Close()
- input2 := make(map[string]interface{})
-
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01103"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- //if md ==
- input2["url"] = "http://10.77.211.236/1.0.0/localQrCodeQuery"
-
- input2["indata"] = input
- fmt.Println(input2)
-
- bytesData, _ := json.Marshal(input2)
- err = conn.WriteMessage(websocket.TextMessage, bytesData)
- if err != nil {
- fmt.Println(err)
- }
-
- // 接收消息
- _, receivedMessage, err := conn.ReadMessage()
- if err != nil {
- fmt.Println(err)
- }
-
- return "", string(receivedMessage)
- }
-
- func GetELeInfo(code string, operator_id string, operator_name string, md string) (string, string) {
- // WebSocket服务器地址
- serverURL := "ws://127.0.0.1:8899"
-
- // 解析WebSocket服务器地址
- u, err := url.Parse(serverURL)
- if err != nil {
-
- }
-
- // 建立WebSocket连接
- conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
- if err != nil {
-
- }
- defer conn.Close()
- input2 := make(map[string]interface{})
-
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01101"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- //if md == ""
- if md[:4] == "4403" {
- input2["url"] = "http://igb.hsa.gdgov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
-
- } else if md[:4] == "4401" {
-
- input2["url"] = "http://igb.hsa.gdgov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
-
- } else {
- input2["url"] = "http://hosp.gd.hsip.gov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
-
- }
- input2["indata"] = input
- fmt.Println(input2)
-
- bytesData, _ := json.Marshal(input2)
- err = conn.WriteMessage(websocket.TextMessage, bytesData)
- if err != nil {
- fmt.Println(err)
- }
-
- // 接收消息
- _, receivedMessage, err := conn.ReadMessage()
- if err != nil {
- fmt.Println(err)
- }
-
- return "", string(receivedMessage)
- }
- func GetELeInfoThree(code string, operator_id string, operator_name string) (string, string) {
- // WebSocket服务器地址
- serverURL := "ws://127.0.0.1:8899"
-
- // 解析WebSocket服务器地址
- u, err := url.Parse(serverURL)
- if err != nil {
-
- }
-
- // 建立WebSocket连接
- conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
- if err != nil {
-
- }
- defer conn.Close()
- input2 := make(map[string]interface{})
-
- input := make(map[string]interface{})
- inputData := make(map[string]interface{})
- inputData["orgId"] = code
- inputData["businessType"] = "01301"
- inputData["operatorId"] = operator_id
- inputData["operatorName"] = operator_name
- inputData["officeId"] = "001"
- inputData["officeName"] = "血透室"
- inputData["deviceType"] = ""
- input["data"] = inputData
- input["orgId"] = code
- input["transType"] = "ec.query"
- input2["url"] = "http://igb.hsa.gdgov.cn/prd_nation_eccode/prd_eccode/localcfc/api/hsecfc/localQrCodeQuery"
- input2["indata"] = input
-
- bytesData, _ := json.Marshal(input2)
- err = conn.WriteMessage(websocket.TextMessage, bytesData)
- if err != nil {
- fmt.Println(err)
- }
-
- // 接收消息
- _, receivedMessage, err := conn.ReadMessage()
- if err != nil {
- fmt.Println(err)
- }
-
- return "", string(receivedMessage)
- }
-
- func RemoveRepeatedPurviewElement2(arr []string) (newArr []string) {
- newArr = make([]string, 0)
- for i := 0; i < len(arr); i++ {
- repeat := false
- for j := i + 1; j < len(arr); j++ {
- if arr[i] == arr[j] {
- repeat = true
- break
- }
- }
- if !repeat {
- newArr = append(newArr, arr[i])
- }
- }
- return
- }
-
- func getBirthdateAndAge(idNumber string) (string, int, error) {
- if len(idNumber) != 18 {
- return "", 0, fmt.Errorf("invalid ID number length. It should be 18 digits")
- }
-
- // 提取出生日期
- year, err := strconv.Atoi(idNumber[6:10])
- if err != nil {
- return "", 0, err
- }
- month, err := strconv.Atoi(idNumber[10:12])
- if err != nil {
- return "", 0, err
- }
- day, err := strconv.Atoi(idNumber[12:14])
- if err != nil {
- return "", 0, err
- }
-
- // 格式化生日字符串
- birthdate := time.Date(year, time.Month(month), day, 0, 0, 0, 0, time.UTC)
- birthdateFormatted := birthdate.Format("2006-01-02")
-
- // 计算年龄
- today := time.Now()
- age := today.Year() - birthdate.Year()
- if today.YearDay() < birthdate.YearDay() {
- age--
- }
-
- return birthdateFormatted, age, nil
- }
-
- // 从身份证号码中提取出生年月日
- func getBirthDateFromIDCard(idCard string) (string, error) {
- // 身份证号码长度应为18位
- if len(idCard) != 18 {
- return "", fmt.Errorf("身份证号码长度应为18位")
- }
-
- // 提取出生日期部分 (YYYYMMDD)
- birthDateStr := idCard[6:14]
-
- // 解析出生日期
- birthDate, err := time.Parse("20060102", birthDateStr)
- if err != nil {
- return "", fmt.Errorf("解析出生日期失败: %v", err)
- }
-
- // 格式化出生日期为 YYYY-MM-DD
- formattedDate := birthDate.Format("2006-01-02")
- return formattedDate, nil
- }
|