main.go 209KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848
  1. package main
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "fmt"
  6. "gdyb/models"
  7. _ "gdyb/routers"
  8. "gdyb/service"
  9. "gdyb/utils"
  10. "github.com/shopspring/decimal"
  11. "io/ioutil"
  12. "net/http"
  13. "os"
  14. "strconv"
  15. "strings"
  16. "time"
  17. "github.com/astaxie/beego"
  18. //"github.com/qiniu/api.v7/auth/qbox"
  19. //"github.com/qiniu/api.v7/storage"
  20. //"github.com/qiniu/roapi.v7/auth/qbox"
  21. //"github.com/qiniu/api.v7/storage"
  22. //"strconv"
  23. //"time"
  24. )
  25. func init() {
  26. service.ConnectDB()
  27. org_id, _ := beego.AppConfig.Int64("org_id")
  28. miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  29. ////CreateLog(miConfig)
  30. ////UploadLog(miConfig)
  31. if org_id == 10191 {
  32. service.GetFjAuthorizationInfo(miConfig.Code)
  33. }
  34. }
  35. func main() {
  36. //service.AutoCreateStock()
  37. //service.AutoGdybCreateStock()
  38. //service.AutoUploadData
  39. //台山百伦清单上传方法
  40. //GetBatchSettleList()
  41. //深圳百霖
  42. GetblBatchSettleList()
  43. //深圳百霖贝尔
  44. //GetbrBatchSettleList()
  45. beego.Run()
  46. }
  47. type CustomFundPay struct {
  48. FundPayType string `json:"fund_pay_type"`
  49. FundPayamt float64 `json:"fund_payamt"`
  50. }
  51. type ResultSeventeen struct {
  52. ErrMsg string `json:"err_msg"`
  53. InfRefmsgid string `json:"inf_refmsgid"`
  54. Infcode int64 `json:"infcode"`
  55. Output struct {
  56. SetlListId string `json:"setl_list_id"`
  57. } `json:"output"`
  58. RefmsgTime string `json:"refmsg_time"`
  59. RespondTime string `json:"respond_time"`
  60. Signtype string `json:"signtype"`
  61. WarnInfo string `json:"warn_info"`
  62. }
  63. func GetblBatchSettleList() {
  64. org_id, _ := beego.AppConfig.Int64("org_id")
  65. //var orders []*models.HisOrder
  66. var orders []*models.HisOrderError
  67. orders, _ = service.GetOrderError10138(org_id)
  68. for _, item := range orders {
  69. order_id := item.PatientId
  70. order, _ := service.GetHisOrderByIDTwo(order_id)
  71. //roles, _ := service.GetDoctorListTwo(org_id)
  72. his, _ := service.GetHisPatientByNumber(order.MdtrtId)
  73. var patientPrescription models.HisPrescriptionInfo
  74. patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate)
  75. doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId)
  76. department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
  77. miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId)
  78. var configTwo []*models.HisXtDiagnoseConfig
  79. diagnosis_idstwo := strings.Split(his.Diagnosis, ",")
  80. curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185)
  81. for _, item := range diagnosis_idstwo {
  82. id, _ := strconv.ParseInt(item, 10, 64)
  83. diagnosisConfig, _ := service.FindDiagnoseById(id)
  84. configTwo = append(configTwo, &diagnosisConfig)
  85. }
  86. sickConfig, _ := service.FindSickById(his.SickType)
  87. if order.MedType == "1111" || order.MedType == "1112" {
  88. order.MedType = "11"
  89. }
  90. service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, "14", doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05"))
  91. depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
  92. pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
  93. doctor, _ := service.GetAdminUserInfoByID(org_id, pre.Creator)
  94. if order.ID == 0 {
  95. return
  96. }
  97. if his.BalanceAccountsType == 2 {
  98. continue
  99. }
  100. struct4101 := service.Struct4101{
  101. PsnNo: order.PsnNo,
  102. MdtrtId: order.MdtrtId,
  103. SetlId: order.SetlId,
  104. PsnName: order.PsnName,
  105. Gend: order.Gend,
  106. Brdy: his.Brdy,
  107. Age: his.Age,
  108. Naty: order.Naty,
  109. PatnCertType: order.PsnCertType,
  110. Certno: order.Certno,
  111. Prfs: "90",
  112. ConerName: "",
  113. PatnRlts: "",
  114. ConerAddr: "",
  115. ConerTel: "",
  116. HiType: order.Insutype,
  117. Insuplc: his.InsuplcAdmdvs,
  118. MaindiagFlag: "1",
  119. BillCode: order.SetlId,
  120. BillNo: order.SetlId,
  121. BizSn: order.Number,
  122. PsnSelfPay: order.PsnPartAmt,
  123. PsnOwnPay: order.PsnPartAmt,
  124. AcctPay: order.AcctPay,
  125. PsnCashpay: order.PsnCashPay,
  126. HiPaymtd: "1",
  127. Hsorg: his.InsuplcAdmdvs,
  128. HsorgOpter: his.InsuplcAdmdvs,
  129. MedinsFillPsn: curRoles.UserName,
  130. MedinsFillDept: depart.Name,
  131. IptMedType: "2",
  132. }
  133. struct4101.SetlBegnDate = order.SetlTime
  134. struct4101.SetlEndDate = order.SetlTime
  135. var rf []CustomFundPay
  136. json.Unmarshal([]byte(order.SetlDetail), &rf)
  137. //var tempFunPays []service.CustomStruct
  138. //var tempFunPay610100 service.CustomStruct
  139. //for _, item := range rf {
  140. // if item.FundPayType == "610100" {
  141. // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
  142. // tempFunPay610100.FundPayType = item.FundPayType
  143. // } else {
  144. // var tempFunPay service.CustomStruct
  145. // tempFunPay.FundPayamt = item.FundPayamt
  146. // tempFunPay.FundPayType = item.FundPayType
  147. // tempFunPays = append(tempFunPays, tempFunPay)
  148. // }
  149. //}
  150. //tempFunPays = append(tempFunPays, tempFunPay610100)
  151. //struct4101.CustomStruct = tempFunPays
  152. var tempDiaginfos []service.DiaginfoStructTwo
  153. var tempOpspdiseinfo2 service.OpspdiseinfoStruct
  154. var tempOpspdiseinfos []service.OpspdiseinfoStruct
  155. diagnosis_ids := strings.Split(his.Diagnosis, ",")
  156. var config []*models.HisXtDiagnoseConfig
  157. for _, item := range diagnosis_ids {
  158. id, _ := strconv.ParseInt(item, 10, 64)
  159. diagnosisConfig, _ := service.FindDiagnoseById(id)
  160. config = append(config, &diagnosisConfig)
  161. }
  162. for index, item := range config {
  163. if index == 0 {
  164. var tempDiaginfo service.DiaginfoStructTwo
  165. tempDiaginfo.DiagCode = item.CountryCode
  166. tempDiaginfo.DiagName = item.CountryContentName
  167. tempDiaginfo.DiagType = "1"
  168. tempDiaginfo.MaindiagFlag = "1"
  169. tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  170. } else {
  171. var tempDiaginfo service.DiaginfoStructTwo
  172. tempDiaginfo.DiagCode = item.CountryCode
  173. tempDiaginfo.DiagName = item.CountryContentName
  174. tempDiaginfo.DiagType = "2"
  175. tempDiaginfo.MaindiagFlag = "0"
  176. tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  177. }
  178. }
  179. struct4101.Diseinfo = tempDiaginfos
  180. sickConfigTwo, _ := service.FindSickById(his.SickType)
  181. tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
  182. tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
  183. tempOpspdiseinfo2.OprnOprtCode = ""
  184. tempOpspdiseinfo2.OprnOprtName = ""
  185. tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
  186. struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
  187. //var iteminfo service.IteminfoStruct
  188. var bedCostTotal float64 = 0 //床位总费
  189. var bedCostSelfTotal float64 = 0 //床位自费
  190. var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
  191. var examineCostTotal float64 = 0 //诊查总费
  192. var examineCostSelfTotal float64 = 0 //诊查自费
  193. var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
  194. var nursingCostTotal float64 = 0 //护理总费
  195. var nursingCostSelfTotal float64 = 0 //护理自费
  196. var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
  197. var chineseMedicineCostTotal float64 = 0 //中成药
  198. var chineseMedicineCostSelfTotal float64 = 0 //中成药
  199. var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
  200. var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
  201. var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
  202. var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
  203. var registerCostTotal float64 = 0 //一般诊疗费
  204. var registerCostSelfTotal float64 = 0 //一般诊疗费
  205. var registerPartSelfTotal float64 = 0 //一般诊疗费
  206. var operationCostTotal float64 = 0 //手术费
  207. var operationCostSelfTotal float64 = 0 //手术费
  208. var operationCostPartSelfTotal float64 = 0 //手术费
  209. var otherCostTotal float64 = 0 //其他费用
  210. var otherCostSelfTotal float64 = 0 //其他费用
  211. var otherCostPartSelfTotal float64 = 0 //其他费用
  212. var materialCostTotal float64 = 0 //材料费
  213. var materialCostSelfTotal float64 = 0 //材料费
  214. var materialCostPartSelfTotal float64 = 0 //材料费
  215. var westernMedicineCostTotal float64 = 0 //西药费
  216. var westernMedicineCostSelfTotal float64 = 0 //西药费
  217. var westernMedicineCostPartSelfTotal float64 = 0 //西药费
  218. var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  219. var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
  220. var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
  221. var checkCostTotal float64 = 0 //检查费
  222. var checkCostSelfTotal float64 = 0 //检查费
  223. var checkCostPartSelfTotal float64 = 0 //检查费
  224. var laboratoryCostTotal float64 = 0 //化验费
  225. var laboratoryCostSelfTotal float64 = 0 //化验费
  226. var laboratoryCostPartSelfTotal float64 = 0 //化验费
  227. var treatCostTotal float64 = 0 //治疗费用
  228. var treatCostSelfTotal float64 = 0 //治疗费用
  229. var treatCostPartSelfTotal float64 = 0 //治疗费用
  230. decimal.DivisionPrecision = 2
  231. var bed_fulamt_ownpay_amt float64 = 0
  232. var examine_fulamt_ownpay_amt float64 = 0
  233. var nursing_fulamt_ownpay_amt float64 = 0
  234. var chinese_medicine_fulamt_ownpay_amt float64 = 0
  235. var commonly_treatment_fulamt_ownpay_amt float64 = 0
  236. var register_fulamt_ownpay_amt float64 = 0
  237. var operation_fulamt_ownpay_amt float64 = 0
  238. var other_fulamt_ownpay_amt float64 = 0
  239. var westernMedicine_fulamt_ownpay_amt float64 = 0
  240. var chineseTraditional_fulamt_ownpay_amt float64 = 0
  241. var check_fulamt_ownpay_amt float64 = 0
  242. var material_fulamt_ownpay_amt float64 = 0
  243. var laboratory_fulamt_ownpay_amt float64 = 0
  244. var treat_fulamt_ownpay_amt float64 = 0
  245. var bed_claa_sunmfee float64 = 0
  246. var bed_clab_amt float64 = 0
  247. var bed_other_amt float64 = 0
  248. var examine_claa_sunmfee float64 = 0
  249. var examine_clab_amt float64 = 0
  250. var examine_other_amt float64 = 0
  251. var nursing_claa_sunmfee float64 = 0
  252. var nursing_clab_amt float64 = 0
  253. var nursing_other_amt float64 = 0
  254. var chinese_medicine_claa_sunmfee float64 = 0
  255. var chinese_medicine_clab_amt float64 = 0
  256. var chinese_medicine_other_amt float64 = 0
  257. var commonly_treatment_claa_sunmfee float64 = 0
  258. var commonly_treatment_clab_amt float64 = 0
  259. var commonly_treatment_other_amt float64 = 0
  260. var operation_claa_sunmfee float64 = 0
  261. var operation_clab_amt float64 = 0
  262. var operation_other_amt float64 = 0
  263. var other_claa_sunmfee float64 = 0
  264. var other_clab_amt float64 = 0
  265. var other_other_amt float64 = 0
  266. var westernMedicine_claa_sunmfee float64 = 0
  267. var westernMedicine_clab_amt float64 = 0
  268. var westernMedicine_other_amt float64 = 0
  269. var chineseTraditional_claa_sunmfee float64 = 0
  270. var chineseTraditional_clab_amt float64 = 0
  271. var chineseTraditional_other_amt float64 = 0
  272. var check_claa_sunmfee float64 = 0
  273. var check_clab_amt float64 = 0
  274. var check_other_amt float64 = 0
  275. var material_claa_sunmfee float64 = 0
  276. var material_clab_amt float64 = 0
  277. var material_other_amt float64 = 0
  278. var laboratory_claa_sunmfee float64 = 0
  279. var laboratory_clab_amt float64 = 0
  280. var laboratory_other_amt float64 = 0
  281. var treat_claa_sunmfee float64 = 0
  282. var treat_clab_amt float64 = 0
  283. var treat_other_amt float64 = 0
  284. var register_claa_sunmfee float64 = 0
  285. var register_clab_amt float64 = 0
  286. var register_other_amt float64 = 0
  287. for _, item := range order.HisOrderInfo {
  288. if item.MedChrgitmType == "01" { //床位费
  289. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  290. bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  291. bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  292. bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  293. if item.ChrgitmLv == "1" {
  294. bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  295. }
  296. if item.ChrgitmLv == "2" {
  297. bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  298. }
  299. if item.ChrgitmLv == "3" {
  300. bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  301. }
  302. }
  303. if item.MedChrgitmType == "02" { //诊查
  304. examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  305. examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  306. examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  307. examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  308. if item.ChrgitmLv == "1" {
  309. examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  310. }
  311. if item.ChrgitmLv == "2" {
  312. examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  313. }
  314. if item.ChrgitmLv == "3" {
  315. examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  316. }
  317. }
  318. if item.MedChrgitmType == "03" { //检查费
  319. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  320. checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  321. checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  322. check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  323. if item.ChrgitmLv == "1" {
  324. check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  325. }
  326. if item.ChrgitmLv == "2" {
  327. check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  328. }
  329. if item.ChrgitmLv == "3" {
  330. check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  331. }
  332. }
  333. if item.MedChrgitmType == "04" { //化验费
  334. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  335. laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  336. laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  337. laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  338. if item.ChrgitmLv == "1" {
  339. laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  340. }
  341. if item.ChrgitmLv == "2" {
  342. laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  343. }
  344. if item.ChrgitmLv == "3" {
  345. laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  346. }
  347. }
  348. if item.MedChrgitmType == "05" { //治疗费
  349. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  350. treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  351. treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  352. treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  353. if item.ChrgitmLv == "1" {
  354. treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  355. }
  356. if item.ChrgitmLv == "2" {
  357. treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  358. }
  359. if item.ChrgitmLv == "3" {
  360. treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  361. }
  362. }
  363. if item.MedChrgitmType == "06" { //手术费
  364. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  365. operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  366. operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  367. operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  368. if item.ChrgitmLv == "1" {
  369. operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  370. }
  371. if item.ChrgitmLv == "2" {
  372. operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  373. }
  374. if item.ChrgitmLv == "3" {
  375. operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  376. }
  377. }
  378. if item.MedChrgitmType == "07" { //手术费
  379. nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  380. nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  381. nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  382. nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  383. if item.ChrgitmLv == "1" {
  384. nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  385. }
  386. if item.ChrgitmLv == "2" {
  387. nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  388. }
  389. if item.ChrgitmLv == "3" {
  390. nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  391. }
  392. }
  393. if item.MedChrgitmType == "08" { //材料费
  394. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  395. materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  396. materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  397. material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  398. if item.ChrgitmLv == "1" {
  399. material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  400. }
  401. if item.ChrgitmLv == "2" {
  402. material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  403. }
  404. if item.ChrgitmLv == "3" {
  405. material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  406. }
  407. }
  408. if item.MedChrgitmType == "09" { //西药费
  409. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  410. westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  411. westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  412. westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  413. if item.ChrgitmLv == "1" {
  414. westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  415. }
  416. if item.ChrgitmLv == "2" {
  417. westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  418. }
  419. if item.ChrgitmLv == "3" {
  420. westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  421. }
  422. }
  423. if item.MedChrgitmType == "10" { //中药饮片
  424. chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  425. chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  426. chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  427. chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  428. if item.ChrgitmLv == "1" {
  429. chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  430. }
  431. if item.ChrgitmLv == "2" {
  432. chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  433. }
  434. if item.ChrgitmLv == "3" {
  435. chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  436. }
  437. }
  438. if item.MedChrgitmType == "11" { //中成费
  439. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  440. chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  441. chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  442. chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  443. if item.ChrgitmLv == "1" {
  444. chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  445. }
  446. if item.ChrgitmLv == "2" {
  447. chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  448. }
  449. if item.ChrgitmLv == "3" {
  450. chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  451. }
  452. }
  453. if item.MedChrgitmType == "12" { //中成费
  454. commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  455. commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  456. commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  457. commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  458. if item.ChrgitmLv == "1" {
  459. commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  460. }
  461. if item.ChrgitmLv == "2" {
  462. commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  463. }
  464. if item.ChrgitmLv == "3" {
  465. commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  466. }
  467. }
  468. if item.MedChrgitmType == "13" { //中成费
  469. registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  470. registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  471. registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  472. register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  473. if item.ChrgitmLv == "1" {
  474. register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  475. }
  476. if item.ChrgitmLv == "2" {
  477. register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  478. }
  479. if item.ChrgitmLv == "3" {
  480. register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  481. }
  482. }
  483. if item.MedChrgitmType == "14" { //其他费
  484. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  485. otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  486. otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  487. other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  488. if item.ChrgitmLv == "1" {
  489. other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  490. }
  491. if item.ChrgitmLv == "2" {
  492. other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  493. }
  494. if item.ChrgitmLv == "3" {
  495. other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  496. }
  497. }
  498. }
  499. //var iteminfoStructs []service.IteminfoStruct
  500. //
  501. //if bedCostTotal != 0 {
  502. // iteminfo.MedChrgitm = "01"
  503. // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  504. // iteminfo.Amt = bedCostTotal
  505. // iteminfo.ClaaSumfee = bed_claa_sunmfee
  506. // iteminfo.ClabAmt = bed_clab_amt
  507. // iteminfo.OthAmt = bed_other_amt
  508. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  509. //}
  510. //
  511. //if examineCostTotal != 0 {
  512. // iteminfo.MedChrgitm = "02"
  513. // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
  514. // iteminfo.Amt = examineCostTotal
  515. // iteminfo.ClaaSumfee = examine_claa_sunmfee
  516. // iteminfo.ClabAmt = examine_clab_amt
  517. // iteminfo.OthAmt = examine_other_amt
  518. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  519. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  520. //}
  521. //
  522. //if checkCostTotal != 0 {
  523. // iteminfo.MedChrgitm = "03"
  524. // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
  525. // iteminfo.Amt = checkCostTotal
  526. // iteminfo.ClaaSumfee = check_claa_sunmfee
  527. // iteminfo.ClabAmt = check_clab_amt
  528. // iteminfo.OthAmt = check_other_amt
  529. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  530. //
  531. //}
  532. //
  533. //if laboratoryCostTotal != 0 {
  534. // iteminfo.MedChrgitm = "04"
  535. // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
  536. // iteminfo.Amt = laboratoryCostTotal
  537. // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
  538. // iteminfo.ClabAmt = laboratory_clab_amt
  539. // iteminfo.OthAmt = laboratory_other_amt
  540. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  541. //
  542. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  543. //
  544. //}
  545. //
  546. //if treatCostTotal != 0 {
  547. // iteminfo.MedChrgitm = "05"
  548. // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
  549. // iteminfo.Amt = treatCostTotal
  550. // iteminfo.ClaaSumfee = treat_claa_sunmfee
  551. // iteminfo.ClabAmt = treat_clab_amt
  552. // iteminfo.OthAmt = treat_other_amt
  553. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  554. // //(struct4101.IteminfoStruct, iteminfo)
  555. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  556. //}
  557. //
  558. //if operationCostTotal != 0 {
  559. // iteminfo.MedChrgitm = "06"
  560. // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  561. // iteminfo.Amt = operationCostTotal
  562. // iteminfo.ClaaSumfee = operation_claa_sunmfee
  563. // iteminfo.ClabAmt = operation_clab_amt
  564. // iteminfo.OthAmt = operation_other_amt
  565. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  566. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  567. //}
  568. //
  569. //if nursingCostTotal != 0 {
  570. // iteminfo.MedChrgitm = "07"
  571. // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
  572. // iteminfo.Amt = nursingCostTotal
  573. // iteminfo.ClaaSumfee = nursing_claa_sunmfee
  574. // iteminfo.ClabAmt = nursing_clab_amt
  575. // iteminfo.OthAmt = nursing_other_amt
  576. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  577. //}
  578. //
  579. //if materialCostTotal != 0 {
  580. // iteminfo.MedChrgitm = "08"
  581. // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
  582. // iteminfo.Amt = materialCostTotal
  583. // iteminfo.ClaaSumfee = material_claa_sunmfee
  584. // iteminfo.ClabAmt = material_clab_amt
  585. // iteminfo.OthAmt = material_other_amt
  586. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  587. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  588. //}
  589. //
  590. //if westernMedicineCostTotal != 0 {
  591. // iteminfo.MedChrgitm = "09"
  592. // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  593. // iteminfo.Amt = westernMedicineCostTotal
  594. // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  595. // iteminfo.ClabAmt = westernMedicine_clab_amt
  596. // iteminfo.OthAmt = westernMedicine_other_amt
  597. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  598. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  599. //
  600. //}
  601. //
  602. //if chineseMedicineCostTotal != 0 {
  603. // iteminfo.MedChrgitm = "10"
  604. // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
  605. // iteminfo.Amt = chineseMedicineCostTotal
  606. // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
  607. // iteminfo.ClabAmt = chinese_medicine_clab_amt
  608. // iteminfo.OthAmt = chinese_medicine_other_amt
  609. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  610. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  611. //
  612. //}
  613. //
  614. //if chineseTraditionalMedicineCostTotal != 0 {
  615. // iteminfo.MedChrgitm = "11"
  616. // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  617. // iteminfo.Amt = westernMedicineCostTotal
  618. // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  619. // iteminfo.ClabAmt = westernMedicine_clab_amt
  620. // iteminfo.OthAmt = westernMedicine_other_amt
  621. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  622. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  623. //
  624. //}
  625. //
  626. //if commonlyTreatmentCostTotal != 0 {
  627. // iteminfo.MedChrgitm = "12"
  628. // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
  629. // iteminfo.Amt = commonlyTreatmentCostTotal
  630. // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
  631. // iteminfo.ClabAmt = commonly_treatment_clab_amt
  632. // iteminfo.OthAmt = commonly_treatment_other_amt
  633. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  634. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  635. //
  636. //}
  637. //
  638. //if registerCostTotal != 0 {
  639. // iteminfo.MedChrgitm = "13"
  640. // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
  641. // iteminfo.Amt = registerCostTotal
  642. // iteminfo.ClaaSumfee = register_claa_sunmfee
  643. // iteminfo.ClabAmt = register_clab_amt
  644. // iteminfo.OthAmt = register_other_amt
  645. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  646. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  647. //
  648. //}
  649. //
  650. //if otherCostTotal != 0 {
  651. // iteminfo.MedChrgitm = "14"
  652. // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
  653. // iteminfo.Amt = otherCostTotal
  654. // iteminfo.ClaaSumfee = other_claa_sunmfee
  655. // iteminfo.ClabAmt = other_clab_amt
  656. // iteminfo.OthAmt = other_other_amt
  657. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  658. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  659. //
  660. //}
  661. //
  662. //struct4101.IteminfoStruct = iteminfoStructs
  663. time_arr := strings.Split(order.SetlTime, " ")
  664. struct4101.AdmTime = time_arr[0]
  665. struct4101.AdmEndTime = time_arr[0]
  666. struct4101.DoctorName = doctor.UserName
  667. struct4101.DoctorCode = doctor.DoctorNumber
  668. struct4101.Ntly = "中国"
  669. struct4101.AdmCaty = "A03.06"
  670. var res ResultSeventeen
  671. {
  672. result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id)
  673. fmt.Println(result)
  674. saveLog(result, request, "4101A", "清单上传")
  675. var dat map[string]interface{}
  676. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  677. fmt.Println(dat)
  678. } else {
  679. fmt.Println(err)
  680. }
  681. userJSONBytes, _ := json.Marshal(dat)
  682. if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  683. //utils.ErrorLog("解析失败:%v", err)
  684. //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  685. //adminUser := c.GetAdminUserInfo()
  686. errlog := &models.HisOrderError{
  687. UserOrgId: org_id,
  688. Ctime: time.Now().Unix(),
  689. Mtime: time.Now().Unix(),
  690. ErrMsg: res.ErrMsg + "解析失败",
  691. Status: 1,
  692. PatientId: order_id,
  693. Stage: 10136000,
  694. }
  695. service.CreateErrMsgLog(errlog)
  696. continue
  697. }
  698. }
  699. if res.Infcode != 0 {
  700. //adminUser := c.GetAdminUserInfo()
  701. errlog := &models.HisOrderError{
  702. UserOrgId: org_id,
  703. Ctime: time.Now().Unix(),
  704. Mtime: time.Now().Unix(),
  705. ErrMsg: res.ErrMsg,
  706. Status: 1,
  707. PatientId: order_id,
  708. Stage: 10136000,
  709. }
  710. service.CreateErrMsgLog(errlog)
  711. continue
  712. } else {
  713. hisFundSettleListResult := &models.HisFundSettleListResult{
  714. Number: res.Output.SetlListId,
  715. Status: 1,
  716. Ctime: time.Now().Unix(),
  717. Mtime: time.Now().Unix(),
  718. UserOrgId: org_id,
  719. IsUpload: 1,
  720. OrderId: order_id,
  721. }
  722. service.CreateUploadRecord(hisFundSettleListResult)
  723. continue
  724. }
  725. }
  726. }
  727. //func GetbrBatchSettleList() {
  728. // org_id, _ := beego.AppConfig.Int64("org_id")
  729. // var orders []*models.HisOrder
  730. // orders, _ = service.GetAllHisOrder10278()
  731. // for _, item := range orders {
  732. // order_id := item.ID
  733. // order, _ := service.GetHisOrderByIDTwo(order_id)
  734. // //roles, _ := service.GetDoctorListTwo(org_id)
  735. // his, _ := service.GetHisPatientByNumber(order.MdtrtId)
  736. // var patientPrescription models.HisPrescriptionInfo
  737. // patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate)
  738. // doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId)
  739. // department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
  740. // miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId)
  741. // var configTwo []*models.HisXtDiagnoseConfig
  742. // diagnosis_idstwo := strings.Split(his.Diagnosis, ",")
  743. // curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185)
  744. // for _, item := range diagnosis_idstwo {
  745. // id, _ := strconv.ParseInt(item, 10, 64)
  746. // diagnosisConfig, _ := service.FindDiagnoseById(id)
  747. // configTwo = append(configTwo, &diagnosisConfig)
  748. // }
  749. //
  750. // sickConfig, _ := service.FindSickById(his.SickType)
  751. // service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, "14", doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05"))
  752. //
  753. // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
  754. // pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
  755. // doctor, _ := service.GetAdminUserInfoByID(org_id, pre.Creator)
  756. // if order.ID == 0 {
  757. // return
  758. // }
  759. // if his.BalanceAccountsType == 2 {
  760. // continue
  761. // }
  762. // struct4101 := service.Struct4101{
  763. // PsnNo: order.PsnNo,
  764. // MdtrtId: order.MdtrtId,
  765. // SetlId: order.SetlId,
  766. // PsnName: order.PsnName,
  767. // Gend: order.Gend,
  768. // Brdy: his.Brdy,
  769. // Age: his.Age,
  770. // Naty: order.Naty,
  771. // PatnCertType: order.PsnCertType,
  772. // Certno: order.Certno,
  773. // Prfs: "90",
  774. // ConerName: "",
  775. // PatnRlts: "",
  776. // ConerAddr: "",
  777. // ConerTel: "",
  778. // HiType: order.Insutype,
  779. // Insuplc: his.InsuplcAdmdvs,
  780. // MaindiagFlag: "1",
  781. // BillCode: order.SetlId,
  782. // BillNo: order.SetlId,
  783. // BizSn: order.Number,
  784. // PsnSelfPay: order.PsnPartAmt,
  785. // PsnOwnPay: order.PsnPartAmt,
  786. // AcctPay: order.AcctPay,
  787. // PsnCashpay: order.PsnCashPay,
  788. // HiPaymtd: "1",
  789. // Hsorg: his.InsuplcAdmdvs,
  790. // HsorgOpter: his.InsuplcAdmdvs,
  791. // MedinsFillPsn: curRoles.UserName,
  792. // MedinsFillDept: depart.Name,
  793. // IptMedType: "2",
  794. // }
  795. //
  796. // struct4101.SetlBegnDate = order.SetlTime
  797. // struct4101.SetlEndDate = order.SetlTime
  798. //
  799. //
  800. // var rf []CustomFundPay
  801. // json.Unmarshal([]byte(order.SetlDetail), &rf)
  802. //
  803. // //var tempFunPays []service.CustomStruct
  804. // //var tempFunPay610100 service.CustomStruct
  805. //
  806. // //for _, item := range rf {
  807. // // if item.FundPayType == "610100" {
  808. // // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
  809. // // tempFunPay610100.FundPayType = item.FundPayType
  810. // // } else {
  811. // // var tempFunPay service.CustomStruct
  812. // // tempFunPay.FundPayamt = item.FundPayamt
  813. // // tempFunPay.FundPayType = item.FundPayType
  814. // // tempFunPays = append(tempFunPays, tempFunPay)
  815. // // }
  816. // //}
  817. // //tempFunPays = append(tempFunPays, tempFunPay610100)
  818. // //struct4101.CustomStruct = tempFunPays
  819. //
  820. // var tempDiaginfos []service.DiaginfoStructTwo
  821. // var tempOpspdiseinfo2 service.OpspdiseinfoStruct
  822. // var tempOpspdiseinfos []service.OpspdiseinfoStruct
  823. //
  824. // diagnosis_ids := strings.Split(his.Diagnosis, ",")
  825. // var config []*models.HisXtDiagnoseConfig
  826. // for _, item := range diagnosis_ids {
  827. // id, _ := strconv.ParseInt(item, 10, 64)
  828. // diagnosisConfig, _ := service.FindDiagnoseById(id)
  829. // config = append(config, &diagnosisConfig)
  830. // }
  831. //
  832. // for index, item := range config {
  833. // if index == 0 {
  834. // var tempDiaginfo service.DiaginfoStructTwo
  835. // tempDiaginfo.DiagCode = item.CountryCode
  836. // tempDiaginfo.DiagName = item.CountryContentName
  837. // tempDiaginfo.DiagType = "1"
  838. // tempDiaginfo.MaindiagFlag = "1"
  839. // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  840. // } else {
  841. //
  842. // var tempDiaginfo service.DiaginfoStructTwo
  843. // tempDiaginfo.DiagCode = item.CountryCode
  844. // tempDiaginfo.DiagName = item.CountryContentName
  845. // tempDiaginfo.DiagType = "2"
  846. // tempDiaginfo.MaindiagFlag = "0"
  847. // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  848. // }
  849. // }
  850. // struct4101.Diseinfo = tempDiaginfos
  851. //
  852. // sickConfigTwo, _ := service.FindSickById(his.SickType)
  853. // tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
  854. // tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
  855. // tempOpspdiseinfo2.OprnOprtCode = ""
  856. // tempOpspdiseinfo2.OprnOprtName = ""
  857. // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
  858. // struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
  859. //
  860. // //var iteminfo service.IteminfoStruct
  861. //
  862. // var bedCostTotal float64 = 0 //床位总费
  863. // var bedCostSelfTotal float64 = 0 //床位自费
  864. // var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
  865. //
  866. // var examineCostTotal float64 = 0 //诊查总费
  867. // var examineCostSelfTotal float64 = 0 //诊查自费
  868. // var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
  869. //
  870. // var nursingCostTotal float64 = 0 //护理总费
  871. // var nursingCostSelfTotal float64 = 0 //护理自费
  872. // var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
  873. //
  874. // var chineseMedicineCostTotal float64 = 0 //中成药
  875. // var chineseMedicineCostSelfTotal float64 = 0 //中成药
  876. // var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
  877. //
  878. // var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
  879. // var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
  880. // var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
  881. //
  882. // var registerCostTotal float64 = 0 //一般诊疗费
  883. // var registerCostSelfTotal float64 = 0 //一般诊疗费
  884. // var registerPartSelfTotal float64 = 0 //一般诊疗费
  885. //
  886. // var operationCostTotal float64 = 0 //手术费
  887. // var operationCostSelfTotal float64 = 0 //手术费
  888. // var operationCostPartSelfTotal float64 = 0 //手术费
  889. //
  890. // var otherCostTotal float64 = 0 //其他费用
  891. // var otherCostSelfTotal float64 = 0 //其他费用
  892. // var otherCostPartSelfTotal float64 = 0 //其他费用
  893. //
  894. // var materialCostTotal float64 = 0 //材料费
  895. // var materialCostSelfTotal float64 = 0 //材料费
  896. // var materialCostPartSelfTotal float64 = 0 //材料费
  897. //
  898. // var westernMedicineCostTotal float64 = 0 //西药费
  899. // var westernMedicineCostSelfTotal float64 = 0 //西药费
  900. // var westernMedicineCostPartSelfTotal float64 = 0 //西药费
  901. //
  902. // var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  903. // var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
  904. // var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
  905. //
  906. // var checkCostTotal float64 = 0 //检查费
  907. // var checkCostSelfTotal float64 = 0 //检查费
  908. // var checkCostPartSelfTotal float64 = 0 //检查费
  909. //
  910. // var laboratoryCostTotal float64 = 0 //化验费
  911. // var laboratoryCostSelfTotal float64 = 0 //化验费
  912. // var laboratoryCostPartSelfTotal float64 = 0 //化验费
  913. //
  914. // var treatCostTotal float64 = 0 //治疗费用
  915. // var treatCostSelfTotal float64 = 0 //治疗费用
  916. // var treatCostPartSelfTotal float64 = 0 //治疗费用
  917. //
  918. // decimal.DivisionPrecision = 2
  919. //
  920. // var bed_fulamt_ownpay_amt float64 = 0
  921. //
  922. // var examine_fulamt_ownpay_amt float64 = 0
  923. //
  924. // var nursing_fulamt_ownpay_amt float64 = 0
  925. //
  926. // var chinese_medicine_fulamt_ownpay_amt float64 = 0
  927. //
  928. // var commonly_treatment_fulamt_ownpay_amt float64 = 0
  929. //
  930. // var register_fulamt_ownpay_amt float64 = 0
  931. //
  932. // var operation_fulamt_ownpay_amt float64 = 0
  933. // var other_fulamt_ownpay_amt float64 = 0
  934. // var westernMedicine_fulamt_ownpay_amt float64 = 0
  935. // var chineseTraditional_fulamt_ownpay_amt float64 = 0
  936. // var check_fulamt_ownpay_amt float64 = 0
  937. // var material_fulamt_ownpay_amt float64 = 0
  938. // var laboratory_fulamt_ownpay_amt float64 = 0
  939. // var treat_fulamt_ownpay_amt float64 = 0
  940. //
  941. // var bed_claa_sunmfee float64 = 0
  942. // var bed_clab_amt float64 = 0
  943. // var bed_other_amt float64 = 0
  944. //
  945. // var examine_claa_sunmfee float64 = 0
  946. // var examine_clab_amt float64 = 0
  947. // var examine_other_amt float64 = 0
  948. //
  949. // var nursing_claa_sunmfee float64 = 0
  950. // var nursing_clab_amt float64 = 0
  951. // var nursing_other_amt float64 = 0
  952. //
  953. // var chinese_medicine_claa_sunmfee float64 = 0
  954. // var chinese_medicine_clab_amt float64 = 0
  955. // var chinese_medicine_other_amt float64 = 0
  956. //
  957. // var commonly_treatment_claa_sunmfee float64 = 0
  958. // var commonly_treatment_clab_amt float64 = 0
  959. // var commonly_treatment_other_amt float64 = 0
  960. //
  961. // var operation_claa_sunmfee float64 = 0
  962. // var operation_clab_amt float64 = 0
  963. // var operation_other_amt float64 = 0
  964. //
  965. // var other_claa_sunmfee float64 = 0
  966. // var other_clab_amt float64 = 0
  967. // var other_other_amt float64 = 0
  968. //
  969. // var westernMedicine_claa_sunmfee float64 = 0
  970. // var westernMedicine_clab_amt float64 = 0
  971. // var westernMedicine_other_amt float64 = 0
  972. //
  973. // var chineseTraditional_claa_sunmfee float64 = 0
  974. // var chineseTraditional_clab_amt float64 = 0
  975. // var chineseTraditional_other_amt float64 = 0
  976. //
  977. // var check_claa_sunmfee float64 = 0
  978. // var check_clab_amt float64 = 0
  979. // var check_other_amt float64 = 0
  980. //
  981. // var material_claa_sunmfee float64 = 0
  982. // var material_clab_amt float64 = 0
  983. // var material_other_amt float64 = 0
  984. //
  985. // var laboratory_claa_sunmfee float64 = 0
  986. // var laboratory_clab_amt float64 = 0
  987. // var laboratory_other_amt float64 = 0
  988. //
  989. // var treat_claa_sunmfee float64 = 0
  990. // var treat_clab_amt float64 = 0
  991. // var treat_other_amt float64 = 0
  992. //
  993. // var register_claa_sunmfee float64 = 0
  994. // var register_clab_amt float64 = 0
  995. // var register_other_amt float64 = 0
  996. //
  997. // for _, item := range order.HisOrderInfo {
  998. // if item.MedChrgitmType == "01" { //床位费
  999. // bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1000. // bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1001. // bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1002. // bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1003. // if item.ChrgitmLv == "1" {
  1004. // bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1005. // }
  1006. // if item.ChrgitmLv == "2" {
  1007. // bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1008. //
  1009. // }
  1010. // if item.ChrgitmLv == "3" {
  1011. // bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1012. // }
  1013. //
  1014. // }
  1015. //
  1016. // if item.MedChrgitmType == "02" { //诊查
  1017. // examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1018. // examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1019. // examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1020. // examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1021. // if item.ChrgitmLv == "1" {
  1022. // examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1023. // }
  1024. // if item.ChrgitmLv == "2" {
  1025. // examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1026. //
  1027. // }
  1028. // if item.ChrgitmLv == "3" {
  1029. // examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1030. // }
  1031. //
  1032. // }
  1033. //
  1034. // if item.MedChrgitmType == "03" { //检查费
  1035. // checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1036. // checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1037. // checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1038. // check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1039. // if item.ChrgitmLv == "1" {
  1040. //
  1041. // check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1042. //
  1043. // }
  1044. // if item.ChrgitmLv == "2" {
  1045. // check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1046. //
  1047. // }
  1048. // if item.ChrgitmLv == "3" {
  1049. // check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1050. // }
  1051. // }
  1052. //
  1053. // if item.MedChrgitmType == "04" { //化验费
  1054. // laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1055. // laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1056. // laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1057. // laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1058. // if item.ChrgitmLv == "1" {
  1059. //
  1060. // laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1061. //
  1062. // }
  1063. // if item.ChrgitmLv == "2" {
  1064. // laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1065. //
  1066. // }
  1067. // if item.ChrgitmLv == "3" {
  1068. // laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1069. // }
  1070. // }
  1071. //
  1072. // if item.MedChrgitmType == "05" { //治疗费
  1073. // treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1074. // treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1075. // treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1076. // treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1077. // if item.ChrgitmLv == "1" {
  1078. //
  1079. // treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1080. //
  1081. // }
  1082. // if item.ChrgitmLv == "2" {
  1083. // treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1084. //
  1085. // }
  1086. // if item.ChrgitmLv == "3" {
  1087. // treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1088. // }
  1089. // }
  1090. //
  1091. // if item.MedChrgitmType == "06" { //手术费
  1092. // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1093. // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1094. // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1095. // operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1096. //
  1097. // if item.ChrgitmLv == "1" {
  1098. //
  1099. // operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1100. //
  1101. // }
  1102. // if item.ChrgitmLv == "2" {
  1103. // operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1104. //
  1105. // }
  1106. // if item.ChrgitmLv == "3" {
  1107. // operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1108. // }
  1109. // }
  1110. //
  1111. // if item.MedChrgitmType == "07" { //手术费
  1112. // nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1113. // nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1114. // nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1115. // nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1116. //
  1117. // if item.ChrgitmLv == "1" {
  1118. //
  1119. // nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1120. //
  1121. // }
  1122. // if item.ChrgitmLv == "2" {
  1123. // nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1124. //
  1125. // }
  1126. // if item.ChrgitmLv == "3" {
  1127. // nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1128. // }
  1129. // }
  1130. //
  1131. // if item.MedChrgitmType == "08" { //材料费
  1132. // materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1133. // materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1134. // materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1135. // material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1136. // if item.ChrgitmLv == "1" {
  1137. //
  1138. // material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1139. //
  1140. // }
  1141. // if item.ChrgitmLv == "2" {
  1142. // material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1143. //
  1144. // }
  1145. // if item.ChrgitmLv == "3" {
  1146. // material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1147. // }
  1148. // }
  1149. // if item.MedChrgitmType == "09" { //西药费
  1150. // westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1151. // westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1152. // westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1153. // westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1154. // if item.ChrgitmLv == "1" {
  1155. // westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1156. // }
  1157. // if item.ChrgitmLv == "2" {
  1158. // westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1159. // }
  1160. // if item.ChrgitmLv == "3" {
  1161. // westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1162. // }
  1163. // }
  1164. // if item.MedChrgitmType == "10" { //中药饮片
  1165. // chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1166. // chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1167. // chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1168. // chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1169. // if item.ChrgitmLv == "1" {
  1170. // chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1171. // }
  1172. // if item.ChrgitmLv == "2" {
  1173. // chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1174. // }
  1175. // if item.ChrgitmLv == "3" {
  1176. // chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1177. // }
  1178. // }
  1179. //
  1180. // if item.MedChrgitmType == "11" { //中成费
  1181. // chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1182. // chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1183. // chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1184. // chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1185. // if item.ChrgitmLv == "1" {
  1186. //
  1187. // chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1188. //
  1189. // }
  1190. // if item.ChrgitmLv == "2" {
  1191. // chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1192. //
  1193. // }
  1194. // if item.ChrgitmLv == "3" {
  1195. // chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1196. // }
  1197. // }
  1198. //
  1199. // if item.MedChrgitmType == "12" { //中成费
  1200. // commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1201. // commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1202. // commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1203. // commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1204. // if item.ChrgitmLv == "1" {
  1205. //
  1206. // commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1207. //
  1208. // }
  1209. // if item.ChrgitmLv == "2" {
  1210. // commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1211. //
  1212. // }
  1213. // if item.ChrgitmLv == "3" {
  1214. // commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1215. // }
  1216. // }
  1217. //
  1218. // if item.MedChrgitmType == "13" { //中成费
  1219. // registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1220. // registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1221. // registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1222. // register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1223. // if item.ChrgitmLv == "1" {
  1224. //
  1225. // register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1226. //
  1227. // }
  1228. // if item.ChrgitmLv == "2" {
  1229. // register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1230. //
  1231. // }
  1232. // if item.ChrgitmLv == "3" {
  1233. // register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1234. // }
  1235. // }
  1236. //
  1237. // if item.MedChrgitmType == "14" { //其他费
  1238. // otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1239. // otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1240. // otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1241. // other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1242. // if item.ChrgitmLv == "1" {
  1243. // other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1244. //
  1245. // }
  1246. // if item.ChrgitmLv == "2" {
  1247. // other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1248. //
  1249. // }
  1250. // if item.ChrgitmLv == "3" {
  1251. // other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1252. // }
  1253. // }
  1254. //
  1255. // }
  1256. //
  1257. // //var iteminfoStructs []service.IteminfoStruct
  1258. // //
  1259. // //if bedCostTotal != 0 {
  1260. // // iteminfo.MedChrgitm = "01"
  1261. // // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  1262. // // iteminfo.Amt = bedCostTotal
  1263. // // iteminfo.ClaaSumfee = bed_claa_sunmfee
  1264. // // iteminfo.ClabAmt = bed_clab_amt
  1265. // // iteminfo.OthAmt = bed_other_amt
  1266. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1267. // //}
  1268. // //
  1269. // //if examineCostTotal != 0 {
  1270. // // iteminfo.MedChrgitm = "02"
  1271. // // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
  1272. // // iteminfo.Amt = examineCostTotal
  1273. // // iteminfo.ClaaSumfee = examine_claa_sunmfee
  1274. // // iteminfo.ClabAmt = examine_clab_amt
  1275. // // iteminfo.OthAmt = examine_other_amt
  1276. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1277. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1278. // //}
  1279. // //
  1280. // //if checkCostTotal != 0 {
  1281. // // iteminfo.MedChrgitm = "03"
  1282. // // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
  1283. // // iteminfo.Amt = checkCostTotal
  1284. // // iteminfo.ClaaSumfee = check_claa_sunmfee
  1285. // // iteminfo.ClabAmt = check_clab_amt
  1286. // // iteminfo.OthAmt = check_other_amt
  1287. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1288. // //
  1289. // //}
  1290. // //
  1291. // //if laboratoryCostTotal != 0 {
  1292. // // iteminfo.MedChrgitm = "04"
  1293. // // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
  1294. // // iteminfo.Amt = laboratoryCostTotal
  1295. // // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
  1296. // // iteminfo.ClabAmt = laboratory_clab_amt
  1297. // // iteminfo.OthAmt = laboratory_other_amt
  1298. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1299. // //
  1300. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1301. // //
  1302. // //}
  1303. // //
  1304. // //if treatCostTotal != 0 {
  1305. // // iteminfo.MedChrgitm = "05"
  1306. // // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
  1307. // // iteminfo.Amt = treatCostTotal
  1308. // // iteminfo.ClaaSumfee = treat_claa_sunmfee
  1309. // // iteminfo.ClabAmt = treat_clab_amt
  1310. // // iteminfo.OthAmt = treat_other_amt
  1311. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1312. // // //(struct4101.IteminfoStruct, iteminfo)
  1313. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1314. // //}
  1315. // //
  1316. // //if operationCostTotal != 0 {
  1317. // // iteminfo.MedChrgitm = "06"
  1318. // // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  1319. // // iteminfo.Amt = operationCostTotal
  1320. // // iteminfo.ClaaSumfee = operation_claa_sunmfee
  1321. // // iteminfo.ClabAmt = operation_clab_amt
  1322. // // iteminfo.OthAmt = operation_other_amt
  1323. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1324. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1325. // //}
  1326. // //
  1327. // //if nursingCostTotal != 0 {
  1328. // // iteminfo.MedChrgitm = "07"
  1329. // // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
  1330. // // iteminfo.Amt = nursingCostTotal
  1331. // // iteminfo.ClaaSumfee = nursing_claa_sunmfee
  1332. // // iteminfo.ClabAmt = nursing_clab_amt
  1333. // // iteminfo.OthAmt = nursing_other_amt
  1334. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1335. // //}
  1336. // //
  1337. // //if materialCostTotal != 0 {
  1338. // // iteminfo.MedChrgitm = "08"
  1339. // // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
  1340. // // iteminfo.Amt = materialCostTotal
  1341. // // iteminfo.ClaaSumfee = material_claa_sunmfee
  1342. // // iteminfo.ClabAmt = material_clab_amt
  1343. // // iteminfo.OthAmt = material_other_amt
  1344. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1345. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1346. // //}
  1347. // //
  1348. // //if westernMedicineCostTotal != 0 {
  1349. // // iteminfo.MedChrgitm = "09"
  1350. // // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  1351. // // iteminfo.Amt = westernMedicineCostTotal
  1352. // // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  1353. // // iteminfo.ClabAmt = westernMedicine_clab_amt
  1354. // // iteminfo.OthAmt = westernMedicine_other_amt
  1355. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1356. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1357. // //
  1358. // //}
  1359. // //
  1360. // //if chineseMedicineCostTotal != 0 {
  1361. // // iteminfo.MedChrgitm = "10"
  1362. // // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
  1363. // // iteminfo.Amt = chineseMedicineCostTotal
  1364. // // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
  1365. // // iteminfo.ClabAmt = chinese_medicine_clab_amt
  1366. // // iteminfo.OthAmt = chinese_medicine_other_amt
  1367. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1368. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1369. // //
  1370. // //}
  1371. // //
  1372. // //if chineseTraditionalMedicineCostTotal != 0 {
  1373. // // iteminfo.MedChrgitm = "11"
  1374. // // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  1375. // // iteminfo.Amt = westernMedicineCostTotal
  1376. // // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  1377. // // iteminfo.ClabAmt = westernMedicine_clab_amt
  1378. // // iteminfo.OthAmt = westernMedicine_other_amt
  1379. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1380. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1381. // //
  1382. // //}
  1383. // //
  1384. // //if commonlyTreatmentCostTotal != 0 {
  1385. // // iteminfo.MedChrgitm = "12"
  1386. // // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
  1387. // // iteminfo.Amt = commonlyTreatmentCostTotal
  1388. // // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
  1389. // // iteminfo.ClabAmt = commonly_treatment_clab_amt
  1390. // // iteminfo.OthAmt = commonly_treatment_other_amt
  1391. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1392. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1393. // //
  1394. // //}
  1395. // //
  1396. // //if registerCostTotal != 0 {
  1397. // // iteminfo.MedChrgitm = "13"
  1398. // // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
  1399. // // iteminfo.Amt = registerCostTotal
  1400. // // iteminfo.ClaaSumfee = register_claa_sunmfee
  1401. // // iteminfo.ClabAmt = register_clab_amt
  1402. // // iteminfo.OthAmt = register_other_amt
  1403. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1404. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1405. // //
  1406. // //}
  1407. // //
  1408. // //if otherCostTotal != 0 {
  1409. // // iteminfo.MedChrgitm = "14"
  1410. // // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
  1411. // // iteminfo.Amt = otherCostTotal
  1412. // // iteminfo.ClaaSumfee = other_claa_sunmfee
  1413. // // iteminfo.ClabAmt = other_clab_amt
  1414. // // iteminfo.OthAmt = other_other_amt
  1415. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1416. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1417. // //
  1418. // //}
  1419. // //
  1420. // //struct4101.IteminfoStruct = iteminfoStructs
  1421. // time_arr := strings.Split(order.SetlTime, " ")
  1422. // struct4101.AdmTime = time_arr[0]
  1423. // struct4101.AdmEndTime = time_arr[0]
  1424. // struct4101.DoctorName = doctor.UserName
  1425. // struct4101.DoctorCode = doctor.DoctorNumber
  1426. //
  1427. // struct4101.Ntly = "中国"
  1428. // struct4101.AdmCaty = "A03.06"
  1429. // var res ResultSeventeen
  1430. // {
  1431. // result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id)
  1432. // fmt.Println(result)
  1433. // saveLog(result, request, "4101A", "清单上传")
  1434. // var dat map[string]interface{}
  1435. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  1436. // fmt.Println(dat)
  1437. // } else {
  1438. // fmt.Println(err)
  1439. // }
  1440. // userJSONBytes, _ := json.Marshal(dat)
  1441. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  1442. // //utils.ErrorLog("解析失败:%v", err)
  1443. // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  1444. // //adminUser := c.GetAdminUserInfo()
  1445. // errlog := &models.HisOrderError{
  1446. // UserOrgId: org_id,
  1447. // Ctime: time.Now().Unix(),
  1448. // Mtime: time.Now().Unix(),
  1449. // ErrMsg: res.ErrMsg + "解析失败",
  1450. // Status: 1,
  1451. // PatientId: order_id,
  1452. // Stage: 10138,
  1453. // }
  1454. // service.CreateErrMsgLog(errlog)
  1455. // continue
  1456. // }
  1457. // }
  1458. //
  1459. // if res.Infcode != 0 {
  1460. // //adminUser := c.GetAdminUserInfo()
  1461. // errlog := &models.HisOrderError{
  1462. // UserOrgId: org_id,
  1463. // Ctime: time.Now().Unix(),
  1464. // Mtime: time.Now().Unix(),
  1465. // ErrMsg: res.ErrMsg,
  1466. // Status: 1,
  1467. // PatientId: order_id,
  1468. // Stage: 10138,
  1469. // }
  1470. // service.CreateErrMsgLog(errlog)
  1471. // continue
  1472. // } else {
  1473. // hisFundSettleListResult := &models.HisFundSettleListResult{
  1474. // Number: res.Output.SetlListId,
  1475. // Status: 1,
  1476. // Ctime: time.Now().Unix(),
  1477. // Mtime: time.Now().Unix(),
  1478. // UserOrgId: org_id,
  1479. // IsUpload: 1,
  1480. // OrderId: order_id,
  1481. // }
  1482. // service.CreateUploadRecord(hisFundSettleListResult)
  1483. // continue
  1484. // }
  1485. // }
  1486. //}
  1487. func GetbrBatchSettleList() {
  1488. org_id, _ := beego.AppConfig.Int64("org_id")
  1489. //var orders []*models.HisOrder
  1490. var orders []*models.HisOrderError
  1491. orders, _ = service.GetAllHisOrderErr10278()
  1492. for _, item := range orders {
  1493. order_id := item.PatientId
  1494. order, _ := service.GetHisOrderByIDTwo(order_id)
  1495. //roles, _ := service.GetDoctorListTwo(org_id)
  1496. his, _ := service.GetHisPatientByNumber(order.MdtrtId)
  1497. var patientPrescription models.HisPrescriptionInfo
  1498. patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate)
  1499. doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId)
  1500. department, _ := service.GetDepartMentDetail(patientPrescription.Departments)
  1501. miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId)
  1502. var configTwo []*models.HisXtDiagnoseConfig
  1503. diagnosis_idstwo := strings.Split(his.Diagnosis, ",")
  1504. curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185)
  1505. for _, item := range diagnosis_idstwo {
  1506. id, _ := strconv.ParseInt(item, 10, 64)
  1507. diagnosisConfig, _ := service.FindDiagnoseById(id)
  1508. configTwo = append(configTwo, &diagnosisConfig)
  1509. }
  1510. sickConfig, _ := service.FindSickById(his.SickType)
  1511. service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, "14", doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, strings.Split(time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05"), " ")[0]+" 22:00:00")
  1512. depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
  1513. pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
  1514. doctor, _ := service.GetAdminUserInfoByID(org_id, pre.Creator)
  1515. if order.ID == 0 {
  1516. return
  1517. }
  1518. if his.BalanceAccountsType == 2 {
  1519. continue
  1520. }
  1521. struct4101 := service.Struct4101{
  1522. PsnNo: order.PsnNo,
  1523. MdtrtId: order.MdtrtId,
  1524. SetlId: order.SetlId,
  1525. PsnName: order.PsnName,
  1526. Gend: order.Gend,
  1527. Brdy: his.Brdy,
  1528. Age: his.Age,
  1529. Naty: order.Naty,
  1530. PatnCertType: order.PsnCertType,
  1531. Certno: order.Certno,
  1532. Prfs: "90",
  1533. ConerName: "",
  1534. PatnRlts: "",
  1535. ConerAddr: "",
  1536. ConerTel: "",
  1537. HiType: order.Insutype,
  1538. Insuplc: his.InsuplcAdmdvs,
  1539. MaindiagFlag: "1",
  1540. BillCode: order.SetlId,
  1541. BillNo: order.SetlId,
  1542. BizSn: order.Number,
  1543. PsnSelfPay: order.PsnPartAmt,
  1544. PsnOwnPay: order.PsnPartAmt,
  1545. AcctPay: order.AcctPay,
  1546. PsnCashpay: order.PsnCashPay,
  1547. HiPaymtd: "1",
  1548. Hsorg: his.InsuplcAdmdvs,
  1549. HsorgOpter: his.InsuplcAdmdvs,
  1550. MedinsFillPsn: curRoles.UserName,
  1551. MedinsFillDept: depart.Name,
  1552. IptMedType: "2",
  1553. }
  1554. struct4101.SetlBegnDate = order.SetlTime
  1555. struct4101.SetlEndDate = order.SetlTime
  1556. var rf []CustomFundPay
  1557. json.Unmarshal([]byte(order.SetlDetail), &rf)
  1558. //var tempFunPays []service.CustomStruct
  1559. //var tempFunPay610100 service.CustomStruct
  1560. //for _, item := range rf {
  1561. // if item.FundPayType == "610100" {
  1562. // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
  1563. // tempFunPay610100.FundPayType = item.FundPayType
  1564. // } else {
  1565. // var tempFunPay service.CustomStruct
  1566. // tempFunPay.FundPayamt = item.FundPayamt
  1567. // tempFunPay.FundPayType = item.FundPayType
  1568. // tempFunPays = append(tempFunPays, tempFunPay)
  1569. // }
  1570. //}
  1571. //tempFunPays = append(tempFunPays, tempFunPay610100)
  1572. //struct4101.CustomStruct = tempFunPays
  1573. var tempDiaginfos []service.DiaginfoStructTwo
  1574. var tempOpspdiseinfo2 service.OpspdiseinfoStruct
  1575. var tempOpspdiseinfos []service.OpspdiseinfoStruct
  1576. diagnosis_ids := strings.Split(his.Diagnosis, ",")
  1577. var config []*models.HisXtDiagnoseConfig
  1578. for _, item := range diagnosis_ids {
  1579. id, _ := strconv.ParseInt(item, 10, 64)
  1580. diagnosisConfig, _ := service.FindDiagnoseById(id)
  1581. config = append(config, &diagnosisConfig)
  1582. }
  1583. for index, item := range config {
  1584. if index == 0 {
  1585. var tempDiaginfo service.DiaginfoStructTwo
  1586. tempDiaginfo.DiagCode = item.CountryCode
  1587. tempDiaginfo.DiagName = item.CountryContentName
  1588. tempDiaginfo.DiagType = "1"
  1589. tempDiaginfo.MaindiagFlag = "1"
  1590. tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  1591. } else {
  1592. var tempDiaginfo service.DiaginfoStructTwo
  1593. tempDiaginfo.DiagCode = item.CountryCode
  1594. tempDiaginfo.DiagName = item.CountryContentName
  1595. tempDiaginfo.DiagType = "2"
  1596. tempDiaginfo.MaindiagFlag = "0"
  1597. tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  1598. }
  1599. }
  1600. struct4101.Diseinfo = tempDiaginfos
  1601. sickConfigTwo, _ := service.FindSickById(his.SickType)
  1602. tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
  1603. tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
  1604. tempOpspdiseinfo2.OprnOprtCode = ""
  1605. tempOpspdiseinfo2.OprnOprtName = ""
  1606. tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
  1607. struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
  1608. //var iteminfo service.IteminfoStruct
  1609. var bedCostTotal float64 = 0 //床位总费
  1610. var bedCostSelfTotal float64 = 0 //床位自费
  1611. var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
  1612. var examineCostTotal float64 = 0 //诊查总费
  1613. var examineCostSelfTotal float64 = 0 //诊查自费
  1614. var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
  1615. var nursingCostTotal float64 = 0 //护理总费
  1616. var nursingCostSelfTotal float64 = 0 //护理自费
  1617. var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
  1618. var chineseMedicineCostTotal float64 = 0 //中成药
  1619. var chineseMedicineCostSelfTotal float64 = 0 //中成药
  1620. var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
  1621. var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
  1622. var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
  1623. var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
  1624. var registerCostTotal float64 = 0 //一般诊疗费
  1625. var registerCostSelfTotal float64 = 0 //一般诊疗费
  1626. var registerPartSelfTotal float64 = 0 //一般诊疗费
  1627. var operationCostTotal float64 = 0 //手术费
  1628. var operationCostSelfTotal float64 = 0 //手术费
  1629. var operationCostPartSelfTotal float64 = 0 //手术费
  1630. var otherCostTotal float64 = 0 //其他费用
  1631. var otherCostSelfTotal float64 = 0 //其他费用
  1632. var otherCostPartSelfTotal float64 = 0 //其他费用
  1633. var materialCostTotal float64 = 0 //材料费
  1634. var materialCostSelfTotal float64 = 0 //材料费
  1635. var materialCostPartSelfTotal float64 = 0 //材料费
  1636. var westernMedicineCostTotal float64 = 0 //西药费
  1637. var westernMedicineCostSelfTotal float64 = 0 //西药费
  1638. var westernMedicineCostPartSelfTotal float64 = 0 //西药费
  1639. var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  1640. var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
  1641. var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
  1642. var checkCostTotal float64 = 0 //检查费
  1643. var checkCostSelfTotal float64 = 0 //检查费
  1644. var checkCostPartSelfTotal float64 = 0 //检查费
  1645. var laboratoryCostTotal float64 = 0 //化验费
  1646. var laboratoryCostSelfTotal float64 = 0 //化验费
  1647. var laboratoryCostPartSelfTotal float64 = 0 //化验费
  1648. var treatCostTotal float64 = 0 //治疗费用
  1649. var treatCostSelfTotal float64 = 0 //治疗费用
  1650. var treatCostPartSelfTotal float64 = 0 //治疗费用
  1651. decimal.DivisionPrecision = 2
  1652. var bed_fulamt_ownpay_amt float64 = 0
  1653. var examine_fulamt_ownpay_amt float64 = 0
  1654. var nursing_fulamt_ownpay_amt float64 = 0
  1655. var chinese_medicine_fulamt_ownpay_amt float64 = 0
  1656. var commonly_treatment_fulamt_ownpay_amt float64 = 0
  1657. var register_fulamt_ownpay_amt float64 = 0
  1658. var operation_fulamt_ownpay_amt float64 = 0
  1659. var other_fulamt_ownpay_amt float64 = 0
  1660. var westernMedicine_fulamt_ownpay_amt float64 = 0
  1661. var chineseTraditional_fulamt_ownpay_amt float64 = 0
  1662. var check_fulamt_ownpay_amt float64 = 0
  1663. var material_fulamt_ownpay_amt float64 = 0
  1664. var laboratory_fulamt_ownpay_amt float64 = 0
  1665. var treat_fulamt_ownpay_amt float64 = 0
  1666. var bed_claa_sunmfee float64 = 0
  1667. var bed_clab_amt float64 = 0
  1668. var bed_other_amt float64 = 0
  1669. var examine_claa_sunmfee float64 = 0
  1670. var examine_clab_amt float64 = 0
  1671. var examine_other_amt float64 = 0
  1672. var nursing_claa_sunmfee float64 = 0
  1673. var nursing_clab_amt float64 = 0
  1674. var nursing_other_amt float64 = 0
  1675. var chinese_medicine_claa_sunmfee float64 = 0
  1676. var chinese_medicine_clab_amt float64 = 0
  1677. var chinese_medicine_other_amt float64 = 0
  1678. var commonly_treatment_claa_sunmfee float64 = 0
  1679. var commonly_treatment_clab_amt float64 = 0
  1680. var commonly_treatment_other_amt float64 = 0
  1681. var operation_claa_sunmfee float64 = 0
  1682. var operation_clab_amt float64 = 0
  1683. var operation_other_amt float64 = 0
  1684. var other_claa_sunmfee float64 = 0
  1685. var other_clab_amt float64 = 0
  1686. var other_other_amt float64 = 0
  1687. var westernMedicine_claa_sunmfee float64 = 0
  1688. var westernMedicine_clab_amt float64 = 0
  1689. var westernMedicine_other_amt float64 = 0
  1690. var chineseTraditional_claa_sunmfee float64 = 0
  1691. var chineseTraditional_clab_amt float64 = 0
  1692. var chineseTraditional_other_amt float64 = 0
  1693. var check_claa_sunmfee float64 = 0
  1694. var check_clab_amt float64 = 0
  1695. var check_other_amt float64 = 0
  1696. var material_claa_sunmfee float64 = 0
  1697. var material_clab_amt float64 = 0
  1698. var material_other_amt float64 = 0
  1699. var laboratory_claa_sunmfee float64 = 0
  1700. var laboratory_clab_amt float64 = 0
  1701. var laboratory_other_amt float64 = 0
  1702. var treat_claa_sunmfee float64 = 0
  1703. var treat_clab_amt float64 = 0
  1704. var treat_other_amt float64 = 0
  1705. var register_claa_sunmfee float64 = 0
  1706. var register_clab_amt float64 = 0
  1707. var register_other_amt float64 = 0
  1708. for _, item := range order.HisOrderInfo {
  1709. if item.MedChrgitmType == "01" { //床位费
  1710. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1711. bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1712. bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1713. bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1714. if item.ChrgitmLv == "1" {
  1715. bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1716. }
  1717. if item.ChrgitmLv == "2" {
  1718. bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1719. }
  1720. if item.ChrgitmLv == "3" {
  1721. bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1722. }
  1723. }
  1724. if item.MedChrgitmType == "02" { //诊查
  1725. examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1726. examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1727. examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1728. examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1729. if item.ChrgitmLv == "1" {
  1730. examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1731. }
  1732. if item.ChrgitmLv == "2" {
  1733. examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1734. }
  1735. if item.ChrgitmLv == "3" {
  1736. examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1737. }
  1738. }
  1739. if item.MedChrgitmType == "03" { //检查费
  1740. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1741. checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1742. checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1743. check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1744. if item.ChrgitmLv == "1" {
  1745. check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1746. }
  1747. if item.ChrgitmLv == "2" {
  1748. check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1749. }
  1750. if item.ChrgitmLv == "3" {
  1751. check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1752. }
  1753. }
  1754. if item.MedChrgitmType == "04" { //化验费
  1755. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1756. laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1757. laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1758. laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1759. if item.ChrgitmLv == "1" {
  1760. laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1761. }
  1762. if item.ChrgitmLv == "2" {
  1763. laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1764. }
  1765. if item.ChrgitmLv == "3" {
  1766. laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1767. }
  1768. }
  1769. if item.MedChrgitmType == "05" { //治疗费
  1770. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1771. treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1772. treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1773. treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1774. if item.ChrgitmLv == "1" {
  1775. treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1776. }
  1777. if item.ChrgitmLv == "2" {
  1778. treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1779. }
  1780. if item.ChrgitmLv == "3" {
  1781. treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1782. }
  1783. }
  1784. if item.MedChrgitmType == "06" { //手术费
  1785. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1786. operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1787. operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1788. operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1789. if item.ChrgitmLv == "1" {
  1790. operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1791. }
  1792. if item.ChrgitmLv == "2" {
  1793. operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1794. }
  1795. if item.ChrgitmLv == "3" {
  1796. operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1797. }
  1798. }
  1799. if item.MedChrgitmType == "07" { //手术费
  1800. nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1801. nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1802. nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1803. nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1804. if item.ChrgitmLv == "1" {
  1805. nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1806. }
  1807. if item.ChrgitmLv == "2" {
  1808. nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1809. }
  1810. if item.ChrgitmLv == "3" {
  1811. nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1812. }
  1813. }
  1814. if item.MedChrgitmType == "08" { //材料费
  1815. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1816. materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1817. materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1818. material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1819. if item.ChrgitmLv == "1" {
  1820. material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1821. }
  1822. if item.ChrgitmLv == "2" {
  1823. material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1824. }
  1825. if item.ChrgitmLv == "3" {
  1826. material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1827. }
  1828. }
  1829. if item.MedChrgitmType == "09" { //西药费
  1830. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1831. westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1832. westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1833. westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1834. if item.ChrgitmLv == "1" {
  1835. westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1836. }
  1837. if item.ChrgitmLv == "2" {
  1838. westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1839. }
  1840. if item.ChrgitmLv == "3" {
  1841. westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1842. }
  1843. }
  1844. if item.MedChrgitmType == "10" { //中药饮片
  1845. chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1846. chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1847. chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1848. chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1849. if item.ChrgitmLv == "1" {
  1850. chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1851. }
  1852. if item.ChrgitmLv == "2" {
  1853. chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1854. }
  1855. if item.ChrgitmLv == "3" {
  1856. chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1857. }
  1858. }
  1859. if item.MedChrgitmType == "11" { //中成费
  1860. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1861. chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1862. chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1863. chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1864. if item.ChrgitmLv == "1" {
  1865. chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1866. }
  1867. if item.ChrgitmLv == "2" {
  1868. chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1869. }
  1870. if item.ChrgitmLv == "3" {
  1871. chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1872. }
  1873. }
  1874. if item.MedChrgitmType == "12" { //中成费
  1875. commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1876. commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1877. commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1878. commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1879. if item.ChrgitmLv == "1" {
  1880. commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1881. }
  1882. if item.ChrgitmLv == "2" {
  1883. commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1884. }
  1885. if item.ChrgitmLv == "3" {
  1886. commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1887. }
  1888. }
  1889. if item.MedChrgitmType == "13" { //中成费
  1890. registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1891. registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1892. registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1893. register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1894. if item.ChrgitmLv == "1" {
  1895. register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1896. }
  1897. if item.ChrgitmLv == "2" {
  1898. register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1899. }
  1900. if item.ChrgitmLv == "3" {
  1901. register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1902. }
  1903. }
  1904. if item.MedChrgitmType == "14" { //其他费
  1905. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1906. otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1907. otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1908. other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  1909. if item.ChrgitmLv == "1" {
  1910. other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  1911. }
  1912. if item.ChrgitmLv == "2" {
  1913. other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  1914. }
  1915. if item.ChrgitmLv == "3" {
  1916. other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  1917. }
  1918. }
  1919. }
  1920. //var iteminfoStructs []service.IteminfoStruct
  1921. //
  1922. //if bedCostTotal != 0 {
  1923. // iteminfo.MedChrgitm = "01"
  1924. // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  1925. // iteminfo.Amt = bedCostTotal
  1926. // iteminfo.ClaaSumfee = bed_claa_sunmfee
  1927. // iteminfo.ClabAmt = bed_clab_amt
  1928. // iteminfo.OthAmt = bed_other_amt
  1929. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1930. //}
  1931. //
  1932. //if examineCostTotal != 0 {
  1933. // iteminfo.MedChrgitm = "02"
  1934. // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
  1935. // iteminfo.Amt = examineCostTotal
  1936. // iteminfo.ClaaSumfee = examine_claa_sunmfee
  1937. // iteminfo.ClabAmt = examine_clab_amt
  1938. // iteminfo.OthAmt = examine_other_amt
  1939. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1940. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1941. //}
  1942. //
  1943. //if checkCostTotal != 0 {
  1944. // iteminfo.MedChrgitm = "03"
  1945. // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
  1946. // iteminfo.Amt = checkCostTotal
  1947. // iteminfo.ClaaSumfee = check_claa_sunmfee
  1948. // iteminfo.ClabAmt = check_clab_amt
  1949. // iteminfo.OthAmt = check_other_amt
  1950. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1951. //
  1952. //}
  1953. //
  1954. //if laboratoryCostTotal != 0 {
  1955. // iteminfo.MedChrgitm = "04"
  1956. // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
  1957. // iteminfo.Amt = laboratoryCostTotal
  1958. // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
  1959. // iteminfo.ClabAmt = laboratory_clab_amt
  1960. // iteminfo.OthAmt = laboratory_other_amt
  1961. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1962. //
  1963. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1964. //
  1965. //}
  1966. //
  1967. //if treatCostTotal != 0 {
  1968. // iteminfo.MedChrgitm = "05"
  1969. // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
  1970. // iteminfo.Amt = treatCostTotal
  1971. // iteminfo.ClaaSumfee = treat_claa_sunmfee
  1972. // iteminfo.ClabAmt = treat_clab_amt
  1973. // iteminfo.OthAmt = treat_other_amt
  1974. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1975. // //(struct4101.IteminfoStruct, iteminfo)
  1976. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1977. //}
  1978. //
  1979. //if operationCostTotal != 0 {
  1980. // iteminfo.MedChrgitm = "06"
  1981. // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  1982. // iteminfo.Amt = operationCostTotal
  1983. // iteminfo.ClaaSumfee = operation_claa_sunmfee
  1984. // iteminfo.ClabAmt = operation_clab_amt
  1985. // iteminfo.OthAmt = operation_other_amt
  1986. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  1987. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1988. //}
  1989. //
  1990. //if nursingCostTotal != 0 {
  1991. // iteminfo.MedChrgitm = "07"
  1992. // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
  1993. // iteminfo.Amt = nursingCostTotal
  1994. // iteminfo.ClaaSumfee = nursing_claa_sunmfee
  1995. // iteminfo.ClabAmt = nursing_clab_amt
  1996. // iteminfo.OthAmt = nursing_other_amt
  1997. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  1998. //}
  1999. //
  2000. //if materialCostTotal != 0 {
  2001. // iteminfo.MedChrgitm = "08"
  2002. // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
  2003. // iteminfo.Amt = materialCostTotal
  2004. // iteminfo.ClaaSumfee = material_claa_sunmfee
  2005. // iteminfo.ClabAmt = material_clab_amt
  2006. // iteminfo.OthAmt = material_other_amt
  2007. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2008. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2009. //}
  2010. //
  2011. //if westernMedicineCostTotal != 0 {
  2012. // iteminfo.MedChrgitm = "09"
  2013. // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  2014. // iteminfo.Amt = westernMedicineCostTotal
  2015. // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  2016. // iteminfo.ClabAmt = westernMedicine_clab_amt
  2017. // iteminfo.OthAmt = westernMedicine_other_amt
  2018. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2019. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2020. //
  2021. //}
  2022. //
  2023. //if chineseMedicineCostTotal != 0 {
  2024. // iteminfo.MedChrgitm = "10"
  2025. // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
  2026. // iteminfo.Amt = chineseMedicineCostTotal
  2027. // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
  2028. // iteminfo.ClabAmt = chinese_medicine_clab_amt
  2029. // iteminfo.OthAmt = chinese_medicine_other_amt
  2030. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2031. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2032. //
  2033. //}
  2034. //
  2035. //if chineseTraditionalMedicineCostTotal != 0 {
  2036. // iteminfo.MedChrgitm = "11"
  2037. // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  2038. // iteminfo.Amt = westernMedicineCostTotal
  2039. // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  2040. // iteminfo.ClabAmt = westernMedicine_clab_amt
  2041. // iteminfo.OthAmt = westernMedicine_other_amt
  2042. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2043. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2044. //
  2045. //}
  2046. //
  2047. //if commonlyTreatmentCostTotal != 0 {
  2048. // iteminfo.MedChrgitm = "12"
  2049. // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
  2050. // iteminfo.Amt = commonlyTreatmentCostTotal
  2051. // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
  2052. // iteminfo.ClabAmt = commonly_treatment_clab_amt
  2053. // iteminfo.OthAmt = commonly_treatment_other_amt
  2054. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2055. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2056. //
  2057. //}
  2058. //
  2059. //if registerCostTotal != 0 {
  2060. // iteminfo.MedChrgitm = "13"
  2061. // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
  2062. // iteminfo.Amt = registerCostTotal
  2063. // iteminfo.ClaaSumfee = register_claa_sunmfee
  2064. // iteminfo.ClabAmt = register_clab_amt
  2065. // iteminfo.OthAmt = register_other_amt
  2066. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2067. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2068. //
  2069. //}
  2070. //
  2071. //if otherCostTotal != 0 {
  2072. // iteminfo.MedChrgitm = "14"
  2073. // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
  2074. // iteminfo.Amt = otherCostTotal
  2075. // iteminfo.ClaaSumfee = other_claa_sunmfee
  2076. // iteminfo.ClabAmt = other_clab_amt
  2077. // iteminfo.OthAmt = other_other_amt
  2078. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2079. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2080. //
  2081. //}
  2082. //
  2083. //struct4101.IteminfoStruct = iteminfoStructs
  2084. time_arr := strings.Split(order.SetlTime, " ")
  2085. struct4101.AdmTime = time_arr[0]
  2086. struct4101.AdmEndTime = time_arr[0]
  2087. struct4101.DoctorName = doctor.UserName
  2088. struct4101.DoctorCode = doctor.DoctorNumber
  2089. struct4101.Ntly = "中国"
  2090. struct4101.AdmCaty = "A03.06"
  2091. var res ResultSeventeen
  2092. {
  2093. result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id)
  2094. fmt.Println(result)
  2095. saveLog(result, request, "4101A", "清单上传")
  2096. var dat map[string]interface{}
  2097. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  2098. fmt.Println(dat)
  2099. } else {
  2100. fmt.Println(err)
  2101. }
  2102. userJSONBytes, _ := json.Marshal(dat)
  2103. if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  2104. //utils.ErrorLog("解析失败:%v", err)
  2105. //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  2106. //adminUser := c.GetAdminUserInfo()
  2107. errlog := &models.HisOrderError{
  2108. UserOrgId: org_id,
  2109. Ctime: time.Now().Unix(),
  2110. Mtime: time.Now().Unix(),
  2111. ErrMsg: res.ErrMsg + "解析失败",
  2112. Status: 1,
  2113. PatientId: order_id,
  2114. Stage: 10278,
  2115. }
  2116. service.CreateErrMsgLog(errlog)
  2117. continue
  2118. }
  2119. }
  2120. if res.Infcode != 0 {
  2121. //adminUser := c.GetAdminUserInfo()
  2122. errlog := &models.HisOrderError{
  2123. UserOrgId: org_id,
  2124. Ctime: time.Now().Unix(),
  2125. Mtime: time.Now().Unix(),
  2126. ErrMsg: res.ErrMsg,
  2127. Status: 1,
  2128. PatientId: order_id,
  2129. Stage: 10278,
  2130. }
  2131. service.CreateErrMsgLog(errlog)
  2132. continue
  2133. } else {
  2134. hisFundSettleListResult := &models.HisFundSettleListResult{
  2135. Number: res.Output.SetlListId,
  2136. Status: 1,
  2137. Ctime: time.Now().Unix(),
  2138. Mtime: time.Now().Unix(),
  2139. UserOrgId: org_id,
  2140. IsUpload: 1,
  2141. OrderId: order_id,
  2142. }
  2143. service.CreateUploadRecord(hisFundSettleListResult)
  2144. continue
  2145. }
  2146. }
  2147. }
  2148. //func GetbrBatchSettleList() {
  2149. // org_id, _ := beego.AppConfig.Int64("org_id")
  2150. // var orders []*models.HisOrder
  2151. // orders, _ = service.GetAllHisOrder10278()
  2152. // for _, item := range orders {
  2153. // order_id := item.ID
  2154. // order, _ := service.GetHisOrderByIDTwo(order_id)
  2155. // roles, _ := service.GetDoctorListTwo(org_id)
  2156. // his, _ := service.GetHisPatientByNumber(order.MdtrtId)
  2157. // admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
  2158. // curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185)
  2159. // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
  2160. // miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  2161. // pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
  2162. // doctor, _ := service.GetAdminUserInfoByID(org_id, pre.Creator)
  2163. // if order.ID == 0 {
  2164. // return
  2165. // }
  2166. // if his.BalanceAccountsType == 2 {
  2167. // continue
  2168. // }
  2169. // struct4101 := service.Struct4101{
  2170. // PsnNo: order.PsnNo,
  2171. // MdtrtId: order.MdtrtId,
  2172. // SetlId: order.SetlId,
  2173. // PsnName: order.PsnName,
  2174. // Gend: order.Gend,
  2175. // Brdy: his.Brdy,
  2176. // Age: his.Age,
  2177. // Naty: order.Naty,
  2178. // PatnCertType: order.PsnCertType,
  2179. // Certno: order.Certno,
  2180. // Prfs: "90",
  2181. // ConerName: roles[0].UserName,
  2182. // PatnRlts: "99",
  2183. // ConerAddr: miConfig.OrgName,
  2184. // ConerTel: admin.Mobile,
  2185. // HiType: order.Insutype,
  2186. // Insuplc: his.InsuplcAdmdvs,
  2187. // MaindiagFlag: "1",
  2188. // BillCode: order.SetlId,
  2189. // BillNo: order.SetlId,
  2190. // BizSn: order.Number,
  2191. // PsnSelfPay: order.PsnPartAmt,
  2192. // PsnOwnPay: order.PsnPartAmt,
  2193. // AcctPay: order.AcctPay,
  2194. // PsnCashpay: order.PsnCashPay,
  2195. // HiPaymtd: "1",
  2196. // Hsorg: his.InsuplcAdmdvs,
  2197. // HsorgOpter: his.InsuplcAdmdvs,
  2198. // MedinsFillPsn: curRoles.UserName,
  2199. // MedinsFillDept: depart.Name,
  2200. // IptMedType: "2",
  2201. // }
  2202. //
  2203. // struct4101.SetlBegnDate = order.SetlTime
  2204. // struct4101.SetlEndDate = order.SetlTime
  2205. //
  2206. //
  2207. // var rf []CustomFundPay
  2208. // json.Unmarshal([]byte(order.SetlDetail), &rf)
  2209. //
  2210. // //var tempFunPays []service.CustomStruct
  2211. // //var tempFunPay610100 service.CustomStruct
  2212. //
  2213. // //for _, item := range rf {
  2214. // // if item.FundPayType == "610100" {
  2215. // // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
  2216. // // tempFunPay610100.FundPayType = item.FundPayType
  2217. // // } else {
  2218. // // var tempFunPay service.CustomStruct
  2219. // // tempFunPay.FundPayamt = item.FundPayamt
  2220. // // tempFunPay.FundPayType = item.FundPayType
  2221. // // tempFunPays = append(tempFunPays, tempFunPay)
  2222. // // }
  2223. // //}
  2224. // //tempFunPays = append(tempFunPays, tempFunPay610100)
  2225. // //struct4101.CustomStruct = tempFunPays
  2226. //
  2227. // var tempDiaginfos []service.DiaginfoStructTwo
  2228. // var tempOpspdiseinfo2 service.OpspdiseinfoStruct
  2229. // var tempOpspdiseinfos []service.OpspdiseinfoStruct
  2230. //
  2231. // diagnosis_ids := strings.Split(his.Diagnosis, ",")
  2232. // var config []*models.HisXtDiagnoseConfig
  2233. // for _, item := range diagnosis_ids {
  2234. // id, _ := strconv.ParseInt(item, 10, 64)
  2235. // diagnosisConfig, _ := service.FindDiagnoseById(id)
  2236. // config = append(config, &diagnosisConfig)
  2237. // }
  2238. //
  2239. // for index, item := range config {
  2240. // if index == 0 {
  2241. // var tempDiaginfo service.DiaginfoStructTwo
  2242. // tempDiaginfo.DiagCode = item.CountryCode
  2243. // tempDiaginfo.DiagName = item.CountryContentName
  2244. // tempDiaginfo.DiagType = "1"
  2245. // tempDiaginfo.MaindiagFlag = "1"
  2246. // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  2247. // } else {
  2248. //
  2249. // var tempDiaginfo service.DiaginfoStructTwo
  2250. // tempDiaginfo.DiagCode = item.CountryCode
  2251. // tempDiaginfo.DiagName = item.CountryContentName
  2252. // tempDiaginfo.DiagType = "2"
  2253. // tempDiaginfo.MaindiagFlag = "0"
  2254. // tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  2255. // }
  2256. // }
  2257. // struct4101.Diseinfo = tempDiaginfos
  2258. //
  2259. // sickConfigTwo, _ := service.FindSickById(his.SickType)
  2260. // tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
  2261. // tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
  2262. // tempOpspdiseinfo2.OprnOprtCode = ""
  2263. // tempOpspdiseinfo2.OprnOprtName = ""
  2264. // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
  2265. // struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
  2266. //
  2267. // //var iteminfo service.IteminfoStruct
  2268. //
  2269. // var bedCostTotal float64 = 0 //床位总费
  2270. // var bedCostSelfTotal float64 = 0 //床位自费
  2271. // var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
  2272. //
  2273. // var examineCostTotal float64 = 0 //诊查总费
  2274. // var examineCostSelfTotal float64 = 0 //诊查自费
  2275. // var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
  2276. //
  2277. // var nursingCostTotal float64 = 0 //护理总费
  2278. // var nursingCostSelfTotal float64 = 0 //护理自费
  2279. // var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
  2280. //
  2281. // var chineseMedicineCostTotal float64 = 0 //中成药
  2282. // var chineseMedicineCostSelfTotal float64 = 0 //中成药
  2283. // var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
  2284. //
  2285. // var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
  2286. // var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
  2287. // var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
  2288. //
  2289. // var registerCostTotal float64 = 0 //一般诊疗费
  2290. // var registerCostSelfTotal float64 = 0 //一般诊疗费
  2291. // var registerPartSelfTotal float64 = 0 //一般诊疗费
  2292. //
  2293. // var operationCostTotal float64 = 0 //手术费
  2294. // var operationCostSelfTotal float64 = 0 //手术费
  2295. // var operationCostPartSelfTotal float64 = 0 //手术费
  2296. //
  2297. // var otherCostTotal float64 = 0 //其他费用
  2298. // var otherCostSelfTotal float64 = 0 //其他费用
  2299. // var otherCostPartSelfTotal float64 = 0 //其他费用
  2300. //
  2301. // var materialCostTotal float64 = 0 //材料费
  2302. // var materialCostSelfTotal float64 = 0 //材料费
  2303. // var materialCostPartSelfTotal float64 = 0 //材料费
  2304. //
  2305. // var westernMedicineCostTotal float64 = 0 //西药费
  2306. // var westernMedicineCostSelfTotal float64 = 0 //西药费
  2307. // var westernMedicineCostPartSelfTotal float64 = 0 //西药费
  2308. //
  2309. // var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  2310. // var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
  2311. // var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
  2312. //
  2313. // var checkCostTotal float64 = 0 //检查费
  2314. // var checkCostSelfTotal float64 = 0 //检查费
  2315. // var checkCostPartSelfTotal float64 = 0 //检查费
  2316. //
  2317. // var laboratoryCostTotal float64 = 0 //化验费
  2318. // var laboratoryCostSelfTotal float64 = 0 //化验费
  2319. // var laboratoryCostPartSelfTotal float64 = 0 //化验费
  2320. //
  2321. // var treatCostTotal float64 = 0 //治疗费用
  2322. // var treatCostSelfTotal float64 = 0 //治疗费用
  2323. // var treatCostPartSelfTotal float64 = 0 //治疗费用
  2324. //
  2325. // decimal.DivisionPrecision = 2
  2326. //
  2327. // var bed_fulamt_ownpay_amt float64 = 0
  2328. //
  2329. // var examine_fulamt_ownpay_amt float64 = 0
  2330. //
  2331. // var nursing_fulamt_ownpay_amt float64 = 0
  2332. //
  2333. // var chinese_medicine_fulamt_ownpay_amt float64 = 0
  2334. //
  2335. // var commonly_treatment_fulamt_ownpay_amt float64 = 0
  2336. //
  2337. // var register_fulamt_ownpay_amt float64 = 0
  2338. //
  2339. // var operation_fulamt_ownpay_amt float64 = 0
  2340. // var other_fulamt_ownpay_amt float64 = 0
  2341. // var westernMedicine_fulamt_ownpay_amt float64 = 0
  2342. // var chineseTraditional_fulamt_ownpay_amt float64 = 0
  2343. // var check_fulamt_ownpay_amt float64 = 0
  2344. // var material_fulamt_ownpay_amt float64 = 0
  2345. // var laboratory_fulamt_ownpay_amt float64 = 0
  2346. // var treat_fulamt_ownpay_amt float64 = 0
  2347. //
  2348. // var bed_claa_sunmfee float64 = 0
  2349. // var bed_clab_amt float64 = 0
  2350. // var bed_other_amt float64 = 0
  2351. //
  2352. // var examine_claa_sunmfee float64 = 0
  2353. // var examine_clab_amt float64 = 0
  2354. // var examine_other_amt float64 = 0
  2355. //
  2356. // var nursing_claa_sunmfee float64 = 0
  2357. // var nursing_clab_amt float64 = 0
  2358. // var nursing_other_amt float64 = 0
  2359. //
  2360. // var chinese_medicine_claa_sunmfee float64 = 0
  2361. // var chinese_medicine_clab_amt float64 = 0
  2362. // var chinese_medicine_other_amt float64 = 0
  2363. //
  2364. // var commonly_treatment_claa_sunmfee float64 = 0
  2365. // var commonly_treatment_clab_amt float64 = 0
  2366. // var commonly_treatment_other_amt float64 = 0
  2367. //
  2368. // var operation_claa_sunmfee float64 = 0
  2369. // var operation_clab_amt float64 = 0
  2370. // var operation_other_amt float64 = 0
  2371. //
  2372. // var other_claa_sunmfee float64 = 0
  2373. // var other_clab_amt float64 = 0
  2374. // var other_other_amt float64 = 0
  2375. //
  2376. // var westernMedicine_claa_sunmfee float64 = 0
  2377. // var westernMedicine_clab_amt float64 = 0
  2378. // var westernMedicine_other_amt float64 = 0
  2379. //
  2380. // var chineseTraditional_claa_sunmfee float64 = 0
  2381. // var chineseTraditional_clab_amt float64 = 0
  2382. // var chineseTraditional_other_amt float64 = 0
  2383. //
  2384. // var check_claa_sunmfee float64 = 0
  2385. // var check_clab_amt float64 = 0
  2386. // var check_other_amt float64 = 0
  2387. //
  2388. // var material_claa_sunmfee float64 = 0
  2389. // var material_clab_amt float64 = 0
  2390. // var material_other_amt float64 = 0
  2391. //
  2392. // var laboratory_claa_sunmfee float64 = 0
  2393. // var laboratory_clab_amt float64 = 0
  2394. // var laboratory_other_amt float64 = 0
  2395. //
  2396. // var treat_claa_sunmfee float64 = 0
  2397. // var treat_clab_amt float64 = 0
  2398. // var treat_other_amt float64 = 0
  2399. //
  2400. // var register_claa_sunmfee float64 = 0
  2401. // var register_clab_amt float64 = 0
  2402. // var register_other_amt float64 = 0
  2403. //
  2404. // for _, item := range order.HisOrderInfo {
  2405. // if item.MedChrgitmType == "01" { //床位费
  2406. // bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2407. // bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2408. // bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2409. // bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2410. // if item.ChrgitmLv == "1" {
  2411. // bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2412. // }
  2413. // if item.ChrgitmLv == "2" {
  2414. // bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2415. //
  2416. // }
  2417. // if item.ChrgitmLv == "3" {
  2418. // bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2419. // }
  2420. //
  2421. // }
  2422. //
  2423. // if item.MedChrgitmType == "02" { //诊查
  2424. // examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2425. // examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2426. // examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2427. // examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2428. // if item.ChrgitmLv == "1" {
  2429. // examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2430. // }
  2431. // if item.ChrgitmLv == "2" {
  2432. // examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2433. //
  2434. // }
  2435. // if item.ChrgitmLv == "3" {
  2436. // examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2437. // }
  2438. //
  2439. // }
  2440. //
  2441. // if item.MedChrgitmType == "03" { //检查费
  2442. // checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2443. // checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2444. // checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2445. // check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2446. // if item.ChrgitmLv == "1" {
  2447. //
  2448. // check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2449. //
  2450. // }
  2451. // if item.ChrgitmLv == "2" {
  2452. // check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2453. //
  2454. // }
  2455. // if item.ChrgitmLv == "3" {
  2456. // check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2457. // }
  2458. // }
  2459. //
  2460. // if item.MedChrgitmType == "04" { //化验费
  2461. // laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2462. // laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2463. // laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2464. // laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2465. // if item.ChrgitmLv == "1" {
  2466. //
  2467. // laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2468. //
  2469. // }
  2470. // if item.ChrgitmLv == "2" {
  2471. // laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2472. //
  2473. // }
  2474. // if item.ChrgitmLv == "3" {
  2475. // laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2476. // }
  2477. // }
  2478. //
  2479. // if item.MedChrgitmType == "05" { //治疗费
  2480. // treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2481. // treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2482. // treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2483. // treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2484. // if item.ChrgitmLv == "1" {
  2485. //
  2486. // treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2487. //
  2488. // }
  2489. // if item.ChrgitmLv == "2" {
  2490. // treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2491. //
  2492. // }
  2493. // if item.ChrgitmLv == "3" {
  2494. // treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2495. // }
  2496. // }
  2497. //
  2498. // if item.MedChrgitmType == "06" { //手术费
  2499. // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2500. // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2501. // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2502. // operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2503. //
  2504. // if item.ChrgitmLv == "1" {
  2505. //
  2506. // operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2507. //
  2508. // }
  2509. // if item.ChrgitmLv == "2" {
  2510. // operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2511. //
  2512. // }
  2513. // if item.ChrgitmLv == "3" {
  2514. // operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2515. // }
  2516. // }
  2517. //
  2518. // if item.MedChrgitmType == "07" { //手术费
  2519. // nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2520. // nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2521. // nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2522. // nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2523. //
  2524. // if item.ChrgitmLv == "1" {
  2525. //
  2526. // nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2527. //
  2528. // }
  2529. // if item.ChrgitmLv == "2" {
  2530. // nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2531. //
  2532. // }
  2533. // if item.ChrgitmLv == "3" {
  2534. // nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2535. // }
  2536. // }
  2537. //
  2538. // if item.MedChrgitmType == "08" { //材料费
  2539. // materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2540. // materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2541. // materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2542. // material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2543. // if item.ChrgitmLv == "1" {
  2544. //
  2545. // material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2546. //
  2547. // }
  2548. // if item.ChrgitmLv == "2" {
  2549. // material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2550. //
  2551. // }
  2552. // if item.ChrgitmLv == "3" {
  2553. // material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2554. // }
  2555. // }
  2556. // if item.MedChrgitmType == "09" { //西药费
  2557. // westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2558. // westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2559. // westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2560. // westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2561. // if item.ChrgitmLv == "1" {
  2562. // westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2563. // }
  2564. // if item.ChrgitmLv == "2" {
  2565. // westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2566. // }
  2567. // if item.ChrgitmLv == "3" {
  2568. // westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2569. // }
  2570. // }
  2571. // if item.MedChrgitmType == "10" { //中药饮片
  2572. // chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2573. // chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2574. // chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2575. // chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2576. // if item.ChrgitmLv == "1" {
  2577. // chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2578. // }
  2579. // if item.ChrgitmLv == "2" {
  2580. // chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2581. // }
  2582. // if item.ChrgitmLv == "3" {
  2583. // chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2584. // }
  2585. // }
  2586. //
  2587. // if item.MedChrgitmType == "11" { //中成费
  2588. // chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2589. // chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2590. // chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2591. // chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2592. // if item.ChrgitmLv == "1" {
  2593. //
  2594. // chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2595. //
  2596. // }
  2597. // if item.ChrgitmLv == "2" {
  2598. // chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2599. //
  2600. // }
  2601. // if item.ChrgitmLv == "3" {
  2602. // chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2603. // }
  2604. // }
  2605. //
  2606. // if item.MedChrgitmType == "12" { //中成费
  2607. // commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2608. // commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2609. // commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2610. // commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2611. // if item.ChrgitmLv == "1" {
  2612. //
  2613. // commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2614. //
  2615. // }
  2616. // if item.ChrgitmLv == "2" {
  2617. // commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2618. //
  2619. // }
  2620. // if item.ChrgitmLv == "3" {
  2621. // commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2622. // }
  2623. // }
  2624. //
  2625. // if item.MedChrgitmType == "13" { //中成费
  2626. // registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2627. // registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2628. // registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2629. // register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2630. // if item.ChrgitmLv == "1" {
  2631. //
  2632. // register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2633. //
  2634. // }
  2635. // if item.ChrgitmLv == "2" {
  2636. // register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2637. //
  2638. // }
  2639. // if item.ChrgitmLv == "3" {
  2640. // register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2641. // }
  2642. // }
  2643. //
  2644. // if item.MedChrgitmType == "14" { //其他费
  2645. // otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2646. // otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2647. // otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2648. // other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  2649. // if item.ChrgitmLv == "1" {
  2650. // other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  2651. //
  2652. // }
  2653. // if item.ChrgitmLv == "2" {
  2654. // other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  2655. //
  2656. // }
  2657. // if item.ChrgitmLv == "3" {
  2658. // other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  2659. // }
  2660. // }
  2661. //
  2662. // }
  2663. //
  2664. // //var iteminfoStructs []service.IteminfoStruct
  2665. // //
  2666. // //if bedCostTotal != 0 {
  2667. // // iteminfo.MedChrgitm = "01"
  2668. // // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  2669. // // iteminfo.Amt = bedCostTotal
  2670. // // iteminfo.ClaaSumfee = bed_claa_sunmfee
  2671. // // iteminfo.ClabAmt = bed_clab_amt
  2672. // // iteminfo.OthAmt = bed_other_amt
  2673. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2674. // //}
  2675. // //
  2676. // //if examineCostTotal != 0 {
  2677. // // iteminfo.MedChrgitm = "02"
  2678. // // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
  2679. // // iteminfo.Amt = examineCostTotal
  2680. // // iteminfo.ClaaSumfee = examine_claa_sunmfee
  2681. // // iteminfo.ClabAmt = examine_clab_amt
  2682. // // iteminfo.OthAmt = examine_other_amt
  2683. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2684. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2685. // //}
  2686. // //
  2687. // //if checkCostTotal != 0 {
  2688. // // iteminfo.MedChrgitm = "03"
  2689. // // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
  2690. // // iteminfo.Amt = checkCostTotal
  2691. // // iteminfo.ClaaSumfee = check_claa_sunmfee
  2692. // // iteminfo.ClabAmt = check_clab_amt
  2693. // // iteminfo.OthAmt = check_other_amt
  2694. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2695. // //
  2696. // //}
  2697. // //
  2698. // //if laboratoryCostTotal != 0 {
  2699. // // iteminfo.MedChrgitm = "04"
  2700. // // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
  2701. // // iteminfo.Amt = laboratoryCostTotal
  2702. // // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
  2703. // // iteminfo.ClabAmt = laboratory_clab_amt
  2704. // // iteminfo.OthAmt = laboratory_other_amt
  2705. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2706. // //
  2707. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2708. // //
  2709. // //}
  2710. // //
  2711. // //if treatCostTotal != 0 {
  2712. // // iteminfo.MedChrgitm = "05"
  2713. // // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
  2714. // // iteminfo.Amt = treatCostTotal
  2715. // // iteminfo.ClaaSumfee = treat_claa_sunmfee
  2716. // // iteminfo.ClabAmt = treat_clab_amt
  2717. // // iteminfo.OthAmt = treat_other_amt
  2718. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2719. // // //(struct4101.IteminfoStruct, iteminfo)
  2720. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2721. // //}
  2722. // //
  2723. // //if operationCostTotal != 0 {
  2724. // // iteminfo.MedChrgitm = "06"
  2725. // // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  2726. // // iteminfo.Amt = operationCostTotal
  2727. // // iteminfo.ClaaSumfee = operation_claa_sunmfee
  2728. // // iteminfo.ClabAmt = operation_clab_amt
  2729. // // iteminfo.OthAmt = operation_other_amt
  2730. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2731. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2732. // //}
  2733. // //
  2734. // //if nursingCostTotal != 0 {
  2735. // // iteminfo.MedChrgitm = "07"
  2736. // // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
  2737. // // iteminfo.Amt = nursingCostTotal
  2738. // // iteminfo.ClaaSumfee = nursing_claa_sunmfee
  2739. // // iteminfo.ClabAmt = nursing_clab_amt
  2740. // // iteminfo.OthAmt = nursing_other_amt
  2741. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2742. // //}
  2743. // //
  2744. // //if materialCostTotal != 0 {
  2745. // // iteminfo.MedChrgitm = "08"
  2746. // // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
  2747. // // iteminfo.Amt = materialCostTotal
  2748. // // iteminfo.ClaaSumfee = material_claa_sunmfee
  2749. // // iteminfo.ClabAmt = material_clab_amt
  2750. // // iteminfo.OthAmt = material_other_amt
  2751. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2752. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2753. // //}
  2754. // //
  2755. // //if westernMedicineCostTotal != 0 {
  2756. // // iteminfo.MedChrgitm = "09"
  2757. // // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  2758. // // iteminfo.Amt = westernMedicineCostTotal
  2759. // // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  2760. // // iteminfo.ClabAmt = westernMedicine_clab_amt
  2761. // // iteminfo.OthAmt = westernMedicine_other_amt
  2762. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2763. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2764. // //
  2765. // //}
  2766. // //
  2767. // //if chineseMedicineCostTotal != 0 {
  2768. // // iteminfo.MedChrgitm = "10"
  2769. // // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
  2770. // // iteminfo.Amt = chineseMedicineCostTotal
  2771. // // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
  2772. // // iteminfo.ClabAmt = chinese_medicine_clab_amt
  2773. // // iteminfo.OthAmt = chinese_medicine_other_amt
  2774. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2775. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2776. // //
  2777. // //}
  2778. // //
  2779. // //if chineseTraditionalMedicineCostTotal != 0 {
  2780. // // iteminfo.MedChrgitm = "11"
  2781. // // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  2782. // // iteminfo.Amt = westernMedicineCostTotal
  2783. // // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  2784. // // iteminfo.ClabAmt = westernMedicine_clab_amt
  2785. // // iteminfo.OthAmt = westernMedicine_other_amt
  2786. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2787. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2788. // //
  2789. // //}
  2790. // //
  2791. // //if commonlyTreatmentCostTotal != 0 {
  2792. // // iteminfo.MedChrgitm = "12"
  2793. // // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
  2794. // // iteminfo.Amt = commonlyTreatmentCostTotal
  2795. // // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
  2796. // // iteminfo.ClabAmt = commonly_treatment_clab_amt
  2797. // // iteminfo.OthAmt = commonly_treatment_other_amt
  2798. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2799. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2800. // //
  2801. // //}
  2802. // //
  2803. // //if registerCostTotal != 0 {
  2804. // // iteminfo.MedChrgitm = "13"
  2805. // // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
  2806. // // iteminfo.Amt = registerCostTotal
  2807. // // iteminfo.ClaaSumfee = register_claa_sunmfee
  2808. // // iteminfo.ClabAmt = register_clab_amt
  2809. // // iteminfo.OthAmt = register_other_amt
  2810. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2811. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2812. // //
  2813. // //}
  2814. // //
  2815. // //if otherCostTotal != 0 {
  2816. // // iteminfo.MedChrgitm = "14"
  2817. // // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
  2818. // // iteminfo.Amt = otherCostTotal
  2819. // // iteminfo.ClaaSumfee = other_claa_sunmfee
  2820. // // iteminfo.ClabAmt = other_clab_amt
  2821. // // iteminfo.OthAmt = other_other_amt
  2822. // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  2823. // // iteminfoStructs = append(iteminfoStructs, iteminfo)
  2824. // //
  2825. // //}
  2826. // //
  2827. // //struct4101.IteminfoStruct = iteminfoStructs
  2828. // time_arr := strings.Split(order.SetlTime, " ")
  2829. // struct4101.AdmTime = time_arr[0]
  2830. // struct4101.AdmEndTime = time_arr[0]
  2831. // struct4101.DoctorName = doctor.UserName
  2832. // struct4101.DoctorCode = doctor.DoctorNumber
  2833. //
  2834. // struct4101.Ntly = "中国"
  2835. // struct4101.AdmCaty = "A03.06"
  2836. // var res ResultSeventeen
  2837. // {
  2838. // result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id)
  2839. // fmt.Println(result)
  2840. // saveLog(result, request, "4101A", "清单上传")
  2841. // var dat map[string]interface{}
  2842. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  2843. // fmt.Println(dat)
  2844. // } else {
  2845. // fmt.Println(err)
  2846. // }
  2847. // userJSONBytes, _ := json.Marshal(dat)
  2848. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  2849. // //utils.ErrorLog("解析失败:%v", err)
  2850. // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  2851. // //adminUser := c.GetAdminUserInfo()
  2852. // errlog := &models.HisOrderError{
  2853. // UserOrgId: org_id,
  2854. // Ctime: time.Now().Unix(),
  2855. // Mtime: time.Now().Unix(),
  2856. // ErrMsg: res.ErrMsg + "解析失败",
  2857. // Status: 1,
  2858. // PatientId: order_id,
  2859. // Stage: 10138,
  2860. // }
  2861. // service.CreateErrMsgLog(errlog)
  2862. // continue
  2863. // }
  2864. // }
  2865. //
  2866. // if res.Infcode != 0 {
  2867. // //adminUser := c.GetAdminUserInfo()
  2868. // errlog := &models.HisOrderError{
  2869. // UserOrgId: org_id,
  2870. // Ctime: time.Now().Unix(),
  2871. // Mtime: time.Now().Unix(),
  2872. // ErrMsg: res.ErrMsg,
  2873. // Status: 1,
  2874. // PatientId: order_id,
  2875. // Stage: 10138,
  2876. // }
  2877. // service.CreateErrMsgLog(errlog)
  2878. // continue
  2879. // } else {
  2880. // hisFundSettleListResult := &models.HisFundSettleListResult{
  2881. // Number: res.Output.SetlListId,
  2882. // Status: 1,
  2883. // Ctime: time.Now().Unix(),
  2884. // Mtime: time.Now().Unix(),
  2885. // UserOrgId: org_id,
  2886. // IsUpload: 1,
  2887. // OrderId: order_id,
  2888. // }
  2889. // service.CreateUploadRecord(hisFundSettleListResult)
  2890. // continue
  2891. // }
  2892. // }
  2893. //}
  2894. func GetBatchSettleList() {
  2895. org_id, _ := beego.AppConfig.Int64("org_id")
  2896. //list, _ := service.GetLastFundList(org_id)
  2897. //orders, _ := service.GetOrderError(org_id)
  2898. //order, _ := service.GetHisOrderByID(list.OrderId)
  2899. var orders []*models.HisOrder
  2900. //if order.ID > 0 {
  2901. //
  2902. // orders, _ = service.GetAllHisOrderTwo(org_id, order.ID)
  2903. //
  2904. //} else {
  2905. orders, _ = service.GetAllHisOrder10106(org_id)
  2906. //
  2907. //}
  2908. for _, item := range orders {
  2909. order_id := item.ID
  2910. order, _ := service.GetHisOrderByIDTwo(order_id)
  2911. roles, _ := service.GetDoctorListTwo(org_id)
  2912. his, _ := service.GetHisPatientByNumber(order.MdtrtId)
  2913. admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
  2914. curRoles, _ := service.GetAdminUserInfoByID(org_id, 2495)
  2915. depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
  2916. miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  2917. pre, _ := service.GetNewHisPrescriptionByNumber(order.Number)
  2918. doctor, _ := service.GetAdminUserInfoByID(org_id, pre.Creator)
  2919. if order.ID == 0 {
  2920. return
  2921. }
  2922. if his.BalanceAccountsType == 2 {
  2923. continue
  2924. }
  2925. struct4101 := service.Struct4101{
  2926. PsnNo: order.PsnNo,
  2927. MdtrtId: order.MdtrtId,
  2928. SetlId: order.SetlId,
  2929. PsnName: order.PsnName,
  2930. Gend: order.Gend,
  2931. Brdy: his.Brdy,
  2932. Age: his.Age,
  2933. Naty: order.Naty,
  2934. PatnCertType: "01",
  2935. Certno: order.Certno,
  2936. Prfs: "90",
  2937. ConerName: roles[0].UserName,
  2938. PatnRlts: "99",
  2939. ConerAddr: miConfig.OrgName,
  2940. ConerTel: admin.Mobile,
  2941. HiType: order.Insutype,
  2942. Insuplc: his.InsuplcAdmdvs,
  2943. MaindiagFlag: "1",
  2944. BillCode: order.SetlId,
  2945. BillNo: order.SetlId,
  2946. BizSn: order.Number,
  2947. PsnSelfPay: order.PsnPartAmt,
  2948. PsnOwnPay: order.PsnPartAmt,
  2949. AcctPay: order.AcctPay,
  2950. PsnCashpay: order.PsnCashPay,
  2951. HiPaymtd: "1",
  2952. Hsorg: his.InsuplcAdmdvs,
  2953. HsorgOpter: his.InsuplcAdmdvs,
  2954. MedinsFillPsn: curRoles.UserName,
  2955. MedinsFillDept: depart.Name,
  2956. IptMedType: "2",
  2957. }
  2958. struct4101.SetlBegnDate = order.SetlTime
  2959. struct4101.SetlEndDate = order.SetlTime
  2960. //if order.SettleType == 1 {
  2961. // t := time.Unix(int64(order.SettleAccountsDate), 0)
  2962. // dateStr := t.Format("2006-01-02")
  2963. // struct4101.SetlBegnDate = dateStr
  2964. // struct4101.SetlEndDate = dateStr
  2965. //} else {
  2966. // t := time.Unix(int64(order.SettleStartTime), 0)
  2967. // t2 := time.Unix(int64(order.SettleEndTime), 0)
  2968. // dateStartStr := t.Format("2006-01-02")
  2969. // dateEndStr := t2.Format("2006-01-02")
  2970. // struct4101.SetlBegnDate = dateStartStr
  2971. // struct4101.SetlEndDate = dateEndStr
  2972. //}
  2973. var rf []CustomFundPay
  2974. json.Unmarshal([]byte(order.SetlDetail), &rf)
  2975. var tempFunPays []service.CustomStruct
  2976. var tempFunPay610100 service.CustomStruct
  2977. for _, item := range rf {
  2978. if item.FundPayType == "610100" {
  2979. tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
  2980. tempFunPay610100.FundPayType = item.FundPayType
  2981. } else {
  2982. var tempFunPay service.CustomStruct
  2983. tempFunPay.FundPayamt = item.FundPayamt
  2984. tempFunPay.FundPayType = item.FundPayType
  2985. tempFunPays = append(tempFunPays, tempFunPay)
  2986. }
  2987. }
  2988. tempFunPays = append(tempFunPays, tempFunPay610100)
  2989. struct4101.CustomStruct = tempFunPays
  2990. var tempDiaginfos []service.DiaginfoStructTwo
  2991. var tempOpspdiseinfo2 service.OpspdiseinfoStruct
  2992. var tempOpspdiseinfos []service.OpspdiseinfoStruct
  2993. diagnosis_ids := strings.Split(his.Diagnosis, ",")
  2994. var config []*models.HisXtDiagnoseConfig
  2995. for _, item := range diagnosis_ids {
  2996. id, _ := strconv.ParseInt(item, 10, 64)
  2997. diagnosisConfig, _ := service.FindDiagnoseById(id)
  2998. config = append(config, &diagnosisConfig)
  2999. }
  3000. for index, item := range config {
  3001. if index == 0 {
  3002. var tempDiaginfo service.DiaginfoStructTwo
  3003. tempDiaginfo.DiagCode = item.CountryCode
  3004. tempDiaginfo.DiagName = item.CountryContentName
  3005. tempDiaginfo.DiagType = "1"
  3006. tempDiaginfo.MaindiagFlag = "1"
  3007. tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  3008. } else {
  3009. var tempDiaginfo service.DiaginfoStructTwo
  3010. tempDiaginfo.DiagCode = item.CountryCode
  3011. tempDiaginfo.DiagName = item.CountryContentName
  3012. tempDiaginfo.DiagType = "2"
  3013. tempDiaginfo.MaindiagFlag = "0"
  3014. tempDiaginfos = append(tempDiaginfos, tempDiaginfo)
  3015. }
  3016. }
  3017. struct4101.Diseinfo = tempDiaginfos
  3018. sickConfigTwo, _ := service.FindSickById(his.SickType)
  3019. tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
  3020. tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
  3021. tempOpspdiseinfo2.OprnOprtCode = ""
  3022. tempOpspdiseinfo2.OprnOprtName = ""
  3023. tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
  3024. struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
  3025. var iteminfo service.IteminfoStruct
  3026. var bedCostTotal float64 = 0 //床位总费
  3027. var bedCostSelfTotal float64 = 0 //床位自费
  3028. var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
  3029. var examineCostTotal float64 = 0 //诊查总费
  3030. var examineCostSelfTotal float64 = 0 //诊查自费
  3031. var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
  3032. var nursingCostTotal float64 = 0 //护理总费
  3033. var nursingCostSelfTotal float64 = 0 //护理自费
  3034. var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
  3035. var chineseMedicineCostTotal float64 = 0 //中成药
  3036. var chineseMedicineCostSelfTotal float64 = 0 //中成药
  3037. var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
  3038. var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
  3039. var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
  3040. var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
  3041. var registerCostTotal float64 = 0 //一般诊疗费
  3042. var registerCostSelfTotal float64 = 0 //一般诊疗费
  3043. var registerPartSelfTotal float64 = 0 //一般诊疗费
  3044. var operationCostTotal float64 = 0 //手术费
  3045. var operationCostSelfTotal float64 = 0 //手术费
  3046. var operationCostPartSelfTotal float64 = 0 //手术费
  3047. var otherCostTotal float64 = 0 //其他费用
  3048. var otherCostSelfTotal float64 = 0 //其他费用
  3049. var otherCostPartSelfTotal float64 = 0 //其他费用
  3050. var materialCostTotal float64 = 0 //材料费
  3051. var materialCostSelfTotal float64 = 0 //材料费
  3052. var materialCostPartSelfTotal float64 = 0 //材料费
  3053. var westernMedicineCostTotal float64 = 0 //西药费
  3054. var westernMedicineCostSelfTotal float64 = 0 //西药费
  3055. var westernMedicineCostPartSelfTotal float64 = 0 //西药费
  3056. var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  3057. var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
  3058. var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
  3059. var checkCostTotal float64 = 0 //检查费
  3060. var checkCostSelfTotal float64 = 0 //检查费
  3061. var checkCostPartSelfTotal float64 = 0 //检查费
  3062. var laboratoryCostTotal float64 = 0 //化验费
  3063. var laboratoryCostSelfTotal float64 = 0 //化验费
  3064. var laboratoryCostPartSelfTotal float64 = 0 //化验费
  3065. var treatCostTotal float64 = 0 //治疗费用
  3066. var treatCostSelfTotal float64 = 0 //治疗费用
  3067. var treatCostPartSelfTotal float64 = 0 //治疗费用
  3068. decimal.DivisionPrecision = 2
  3069. var bed_fulamt_ownpay_amt float64 = 0
  3070. var examine_fulamt_ownpay_amt float64 = 0
  3071. var nursing_fulamt_ownpay_amt float64 = 0
  3072. var chinese_medicine_fulamt_ownpay_amt float64 = 0
  3073. var commonly_treatment_fulamt_ownpay_amt float64 = 0
  3074. var register_fulamt_ownpay_amt float64 = 0
  3075. var operation_fulamt_ownpay_amt float64 = 0
  3076. var other_fulamt_ownpay_amt float64 = 0
  3077. var westernMedicine_fulamt_ownpay_amt float64 = 0
  3078. var chineseTraditional_fulamt_ownpay_amt float64 = 0
  3079. var check_fulamt_ownpay_amt float64 = 0
  3080. var material_fulamt_ownpay_amt float64 = 0
  3081. var laboratory_fulamt_ownpay_amt float64 = 0
  3082. var treat_fulamt_ownpay_amt float64 = 0
  3083. var bed_claa_sunmfee float64 = 0
  3084. var bed_clab_amt float64 = 0
  3085. var bed_other_amt float64 = 0
  3086. var examine_claa_sunmfee float64 = 0
  3087. var examine_clab_amt float64 = 0
  3088. var examine_other_amt float64 = 0
  3089. var nursing_claa_sunmfee float64 = 0
  3090. var nursing_clab_amt float64 = 0
  3091. var nursing_other_amt float64 = 0
  3092. var chinese_medicine_claa_sunmfee float64 = 0
  3093. var chinese_medicine_clab_amt float64 = 0
  3094. var chinese_medicine_other_amt float64 = 0
  3095. var commonly_treatment_claa_sunmfee float64 = 0
  3096. var commonly_treatment_clab_amt float64 = 0
  3097. var commonly_treatment_other_amt float64 = 0
  3098. var operation_claa_sunmfee float64 = 0
  3099. var operation_clab_amt float64 = 0
  3100. var operation_other_amt float64 = 0
  3101. var other_claa_sunmfee float64 = 0
  3102. var other_clab_amt float64 = 0
  3103. var other_other_amt float64 = 0
  3104. var westernMedicine_claa_sunmfee float64 = 0
  3105. var westernMedicine_clab_amt float64 = 0
  3106. var westernMedicine_other_amt float64 = 0
  3107. var chineseTraditional_claa_sunmfee float64 = 0
  3108. var chineseTraditional_clab_amt float64 = 0
  3109. var chineseTraditional_other_amt float64 = 0
  3110. var check_claa_sunmfee float64 = 0
  3111. var check_clab_amt float64 = 0
  3112. var check_other_amt float64 = 0
  3113. var material_claa_sunmfee float64 = 0
  3114. var material_clab_amt float64 = 0
  3115. var material_other_amt float64 = 0
  3116. var laboratory_claa_sunmfee float64 = 0
  3117. var laboratory_clab_amt float64 = 0
  3118. var laboratory_other_amt float64 = 0
  3119. var treat_claa_sunmfee float64 = 0
  3120. var treat_clab_amt float64 = 0
  3121. var treat_other_amt float64 = 0
  3122. var register_claa_sunmfee float64 = 0
  3123. var register_clab_amt float64 = 0
  3124. var register_other_amt float64 = 0
  3125. for _, item := range order.HisOrderInfo {
  3126. if item.MedChrgitmType == "01" { //床位费
  3127. bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3128. bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3129. bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3130. bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3131. if item.ChrgitmLv == "1" {
  3132. bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3133. }
  3134. if item.ChrgitmLv == "2" {
  3135. bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3136. }
  3137. if item.ChrgitmLv == "3" {
  3138. bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3139. }
  3140. }
  3141. if item.MedChrgitmType == "02" { //诊查
  3142. examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3143. examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3144. examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3145. examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3146. if item.ChrgitmLv == "1" {
  3147. examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3148. }
  3149. if item.ChrgitmLv == "2" {
  3150. examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3151. }
  3152. if item.ChrgitmLv == "3" {
  3153. examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3154. }
  3155. }
  3156. if item.MedChrgitmType == "03" { //检查费
  3157. checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3158. checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3159. checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3160. check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3161. if item.ChrgitmLv == "1" {
  3162. check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3163. }
  3164. if item.ChrgitmLv == "2" {
  3165. check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3166. }
  3167. if item.ChrgitmLv == "3" {
  3168. check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3169. }
  3170. }
  3171. if item.MedChrgitmType == "04" { //化验费
  3172. laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3173. laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3174. laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3175. laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3176. if item.ChrgitmLv == "1" {
  3177. laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3178. }
  3179. if item.ChrgitmLv == "2" {
  3180. laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3181. }
  3182. if item.ChrgitmLv == "3" {
  3183. laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3184. }
  3185. }
  3186. if item.MedChrgitmType == "05" { //治疗费
  3187. treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3188. treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3189. treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3190. treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3191. if item.ChrgitmLv == "1" {
  3192. treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3193. }
  3194. if item.ChrgitmLv == "2" {
  3195. treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3196. }
  3197. if item.ChrgitmLv == "3" {
  3198. treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3199. }
  3200. }
  3201. if item.MedChrgitmType == "06" { //手术费
  3202. operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3203. operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3204. operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3205. operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3206. if item.ChrgitmLv == "1" {
  3207. operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3208. }
  3209. if item.ChrgitmLv == "2" {
  3210. operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3211. }
  3212. if item.ChrgitmLv == "3" {
  3213. operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3214. }
  3215. }
  3216. if item.MedChrgitmType == "07" { //手术费
  3217. nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3218. nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3219. nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3220. nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3221. if item.ChrgitmLv == "1" {
  3222. nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3223. }
  3224. if item.ChrgitmLv == "2" {
  3225. nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3226. }
  3227. if item.ChrgitmLv == "3" {
  3228. nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3229. }
  3230. }
  3231. if item.MedChrgitmType == "08" { //材料费
  3232. materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3233. materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3234. materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3235. material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3236. if item.ChrgitmLv == "1" {
  3237. material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3238. }
  3239. if item.ChrgitmLv == "2" {
  3240. material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3241. }
  3242. if item.ChrgitmLv == "3" {
  3243. material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3244. }
  3245. }
  3246. if item.MedChrgitmType == "09" { //西药费
  3247. westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3248. westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3249. westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3250. westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3251. if item.ChrgitmLv == "1" {
  3252. westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3253. }
  3254. if item.ChrgitmLv == "2" {
  3255. westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3256. }
  3257. if item.ChrgitmLv == "3" {
  3258. westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3259. }
  3260. }
  3261. if item.MedChrgitmType == "10" { //中药饮片
  3262. chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3263. chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3264. chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3265. chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3266. if item.ChrgitmLv == "1" {
  3267. chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3268. }
  3269. if item.ChrgitmLv == "2" {
  3270. chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3271. }
  3272. if item.ChrgitmLv == "3" {
  3273. chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3274. }
  3275. }
  3276. if item.MedChrgitmType == "11" { //中成费
  3277. chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3278. chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3279. chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3280. chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3281. if item.ChrgitmLv == "1" {
  3282. chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3283. }
  3284. if item.ChrgitmLv == "2" {
  3285. chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3286. }
  3287. if item.ChrgitmLv == "3" {
  3288. chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3289. }
  3290. }
  3291. if item.MedChrgitmType == "12" { //中成费
  3292. commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3293. commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3294. commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3295. commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3296. if item.ChrgitmLv == "1" {
  3297. commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3298. }
  3299. if item.ChrgitmLv == "2" {
  3300. commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3301. }
  3302. if item.ChrgitmLv == "3" {
  3303. commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3304. }
  3305. }
  3306. if item.MedChrgitmType == "13" { //中成费
  3307. registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3308. registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3309. registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3310. register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3311. if item.ChrgitmLv == "1" {
  3312. register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3313. }
  3314. if item.ChrgitmLv == "2" {
  3315. register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3316. }
  3317. if item.ChrgitmLv == "3" {
  3318. register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3319. }
  3320. }
  3321. if item.MedChrgitmType == "14" { //其他费
  3322. otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3323. otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3324. otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3325. other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3326. if item.ChrgitmLv == "1" {
  3327. other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3328. }
  3329. if item.ChrgitmLv == "2" {
  3330. other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3331. }
  3332. if item.ChrgitmLv == "3" {
  3333. other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3334. }
  3335. }
  3336. }
  3337. var iteminfoStructs []service.IteminfoStruct
  3338. if bedCostTotal != 0 {
  3339. iteminfo.MedChrgitm = "01"
  3340. iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  3341. iteminfo.Amt = bedCostTotal
  3342. iteminfo.ClaaSumfee = bed_claa_sunmfee
  3343. iteminfo.ClabAmt = bed_clab_amt
  3344. iteminfo.OthAmt = bed_other_amt
  3345. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3346. }
  3347. if examineCostTotal != 0 {
  3348. iteminfo.MedChrgitm = "02"
  3349. iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
  3350. iteminfo.Amt = examineCostTotal
  3351. iteminfo.ClaaSumfee = examine_claa_sunmfee
  3352. iteminfo.ClabAmt = examine_clab_amt
  3353. iteminfo.OthAmt = examine_other_amt
  3354. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3355. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3356. }
  3357. if checkCostTotal != 0 {
  3358. iteminfo.MedChrgitm = "03"
  3359. iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
  3360. iteminfo.Amt = checkCostTotal
  3361. iteminfo.ClaaSumfee = check_claa_sunmfee
  3362. iteminfo.ClabAmt = check_clab_amt
  3363. iteminfo.OthAmt = check_other_amt
  3364. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3365. }
  3366. if laboratoryCostTotal != 0 {
  3367. iteminfo.MedChrgitm = "04"
  3368. iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
  3369. iteminfo.Amt = laboratoryCostTotal
  3370. iteminfo.ClaaSumfee = laboratory_claa_sunmfee
  3371. iteminfo.ClabAmt = laboratory_clab_amt
  3372. iteminfo.OthAmt = laboratory_other_amt
  3373. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3374. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3375. }
  3376. if treatCostTotal != 0 {
  3377. iteminfo.MedChrgitm = "05"
  3378. iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
  3379. iteminfo.Amt = treatCostTotal
  3380. iteminfo.ClaaSumfee = treat_claa_sunmfee
  3381. iteminfo.ClabAmt = treat_clab_amt
  3382. iteminfo.OthAmt = treat_other_amt
  3383. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3384. //(struct4101.IteminfoStruct, iteminfo)
  3385. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3386. }
  3387. if operationCostTotal != 0 {
  3388. iteminfo.MedChrgitm = "06"
  3389. iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  3390. iteminfo.Amt = operationCostTotal
  3391. iteminfo.ClaaSumfee = operation_claa_sunmfee
  3392. iteminfo.ClabAmt = operation_clab_amt
  3393. iteminfo.OthAmt = operation_other_amt
  3394. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3395. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3396. }
  3397. if nursingCostTotal != 0 {
  3398. iteminfo.MedChrgitm = "07"
  3399. iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
  3400. iteminfo.Amt = nursingCostTotal
  3401. iteminfo.ClaaSumfee = nursing_claa_sunmfee
  3402. iteminfo.ClabAmt = nursing_clab_amt
  3403. iteminfo.OthAmt = nursing_other_amt
  3404. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3405. }
  3406. if materialCostTotal != 0 {
  3407. iteminfo.MedChrgitm = "08"
  3408. iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
  3409. iteminfo.Amt = materialCostTotal
  3410. iteminfo.ClaaSumfee = material_claa_sunmfee
  3411. iteminfo.ClabAmt = material_clab_amt
  3412. iteminfo.OthAmt = material_other_amt
  3413. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3414. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3415. }
  3416. if westernMedicineCostTotal != 0 {
  3417. iteminfo.MedChrgitm = "09"
  3418. iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  3419. iteminfo.Amt = westernMedicineCostTotal
  3420. iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  3421. iteminfo.ClabAmt = westernMedicine_clab_amt
  3422. iteminfo.OthAmt = westernMedicine_other_amt
  3423. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3424. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3425. }
  3426. if chineseMedicineCostTotal != 0 {
  3427. iteminfo.MedChrgitm = "10"
  3428. iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
  3429. iteminfo.Amt = chineseMedicineCostTotal
  3430. iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
  3431. iteminfo.ClabAmt = chinese_medicine_clab_amt
  3432. iteminfo.OthAmt = chinese_medicine_other_amt
  3433. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3434. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3435. }
  3436. if chineseTraditionalMedicineCostTotal != 0 {
  3437. iteminfo.MedChrgitm = "11"
  3438. iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  3439. iteminfo.Amt = westernMedicineCostTotal
  3440. iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  3441. iteminfo.ClabAmt = westernMedicine_clab_amt
  3442. iteminfo.OthAmt = westernMedicine_other_amt
  3443. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3444. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3445. }
  3446. if commonlyTreatmentCostTotal != 0 {
  3447. iteminfo.MedChrgitm = "12"
  3448. iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
  3449. iteminfo.Amt = commonlyTreatmentCostTotal
  3450. iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
  3451. iteminfo.ClabAmt = commonly_treatment_clab_amt
  3452. iteminfo.OthAmt = commonly_treatment_other_amt
  3453. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3454. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3455. }
  3456. if registerCostTotal != 0 {
  3457. iteminfo.MedChrgitm = "13"
  3458. iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
  3459. iteminfo.Amt = registerCostTotal
  3460. iteminfo.ClaaSumfee = register_claa_sunmfee
  3461. iteminfo.ClabAmt = register_clab_amt
  3462. iteminfo.OthAmt = register_other_amt
  3463. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3464. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3465. }
  3466. if otherCostTotal != 0 {
  3467. iteminfo.MedChrgitm = "14"
  3468. iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
  3469. iteminfo.Amt = otherCostTotal
  3470. iteminfo.ClaaSumfee = other_claa_sunmfee
  3471. iteminfo.ClabAmt = other_clab_amt
  3472. iteminfo.OthAmt = other_other_amt
  3473. //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  3474. iteminfoStructs = append(iteminfoStructs, iteminfo)
  3475. }
  3476. struct4101.IteminfoStruct = iteminfoStructs
  3477. time_arr := strings.Split(order.SetlTime, " ")
  3478. struct4101.AdmTime = time_arr[0]
  3479. struct4101.AdmEndTime = time_arr[0]
  3480. struct4101.DoctorName = doctor.UserName
  3481. struct4101.DoctorCode = doctor.DoctorNumber
  3482. struct4101.Ntly = "中国"
  3483. struct4101.AdmCaty = "A03.06"
  3484. var res ResultSeventeen
  3485. if miConfig.MdtrtareaAdmvs == "421300" {
  3486. data := make(map[string]interface{})
  3487. data["struct4101"] = struct4101
  3488. data["secret_key"] = miConfig.SecretKey
  3489. data["org_name"] = miConfig.OrgName
  3490. data["opera"] = curRoles.UserName
  3491. data["code"] = miConfig.Code
  3492. data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs
  3493. data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs
  3494. client := &http.Client{}
  3495. bytesData, _ := json.Marshal(data)
  3496. req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/4101", bytes.NewReader(bytesData))
  3497. resp, _ := client.Do(req)
  3498. defer resp.Body.Close()
  3499. body, ioErr := ioutil.ReadAll(resp.Body)
  3500. if ioErr != nil {
  3501. //utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  3502. //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  3503. return
  3504. }
  3505. var respJSON map[string]interface{}
  3506. if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  3507. //utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  3508. //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  3509. return
  3510. }
  3511. respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{})
  3512. userJSONBytes, _ := json.Marshal(respJSON)
  3513. if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  3514. //utils.ErrorLog("解析失败:%v", err)
  3515. //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  3516. errlog := &models.HisOrderError{
  3517. UserOrgId: org_id,
  3518. Ctime: time.Now().Unix(),
  3519. Mtime: time.Now().Unix(),
  3520. ErrMsg: res.ErrMsg + "解析失败",
  3521. Status: 1,
  3522. PatientId: order_id,
  3523. Stage: 10088,
  3524. }
  3525. service.CreateErrMsgLog(errlog)
  3526. continue
  3527. }
  3528. } else {
  3529. result, request := service.Gdyb4101For10106(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id)
  3530. fmt.Println(result)
  3531. saveLog(result, request, "4205", "自费就诊和诊断信息上传")
  3532. var dat map[string]interface{}
  3533. if err := json.Unmarshal([]byte(result), &dat); err == nil {
  3534. fmt.Println(dat)
  3535. } else {
  3536. fmt.Println(err)
  3537. }
  3538. userJSONBytes, _ := json.Marshal(dat)
  3539. if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  3540. //utils.ErrorLog("解析失败:%v", err)
  3541. //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  3542. //adminUser := c.GetAdminUserInfo()
  3543. errlog := &models.HisOrderError{
  3544. UserOrgId: org_id,
  3545. Ctime: time.Now().Unix(),
  3546. Mtime: time.Now().Unix(),
  3547. ErrMsg: res.ErrMsg + "解析失败",
  3548. Status: 1,
  3549. PatientId: order_id,
  3550. Stage: 50000,
  3551. }
  3552. service.CreateErrMsgLog(errlog)
  3553. continue
  3554. }
  3555. }
  3556. if res.Infcode != 0 {
  3557. //adminUser := c.GetAdminUserInfo()
  3558. errlog := &models.HisOrderError{
  3559. UserOrgId: org_id,
  3560. Ctime: time.Now().Unix(),
  3561. Mtime: time.Now().Unix(),
  3562. ErrMsg: res.ErrMsg,
  3563. Status: 1,
  3564. PatientId: order_id,
  3565. Stage: 50000,
  3566. }
  3567. service.CreateErrMsgLog(errlog)
  3568. continue
  3569. } else {
  3570. hisFundSettleListResult := &models.HisFundSettleListResult{
  3571. Number: res.Output.SetlListId,
  3572. Status: 1,
  3573. Ctime: time.Now().Unix(),
  3574. Mtime: time.Now().Unix(),
  3575. UserOrgId: org_id,
  3576. IsUpload: 1,
  3577. OrderId: order_id,
  3578. }
  3579. service.CreateUploadRecord(hisFundSettleListResult)
  3580. continue
  3581. }
  3582. }
  3583. }
  3584. func saveLog(result string, request string, infno string, desc string) {
  3585. org_id, _ := beego.AppConfig.Int64("org_id")
  3586. miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  3587. dir := miConfig.OrgName + "日志"
  3588. utils.Mkdir(dir)
  3589. month := time.Unix(1557042972, 0).Format("1")
  3590. year := time.Now().Format("2006")
  3591. month = time.Now().Format("01")
  3592. day := time.Now().Format("02")
  3593. hour := time.Now().Format("15")
  3594. min := time.Now().Format("04")
  3595. sec := time.Now().Format("05")
  3596. result_time := year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec
  3597. file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log"
  3598. file_name := file + ".txt"
  3599. file_path := miConfig.OrgName + "日志" + "/" + file_name
  3600. exist, _ := utils.PathExists(file_path)
  3601. if exist { //存在
  3602. fmt.Println("存在")
  3603. f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
  3604. if err != nil {
  3605. fmt.Println("read fail")
  3606. }
  3607. content := "\r\n" + "\r\n" + "\r\n" + result_time + " " + "【 " + desc + infno + "入参" + " 】:" + "\r\n" + request + "\r\n" + result_time + " " + "【 " + desc + infno + "出参" + " 】:" + "\r\n" + result
  3608. n, _ := f.Seek(0, 2)
  3609. _, err = f.WriteAt([]byte(content), n)
  3610. } else { //不存在
  3611. fmt.Println("文件不存在,创建文件")
  3612. f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
  3613. defer f.Close()
  3614. if err != nil {
  3615. } else {
  3616. _, err = f.Write([]byte("记录日志"))
  3617. }
  3618. }
  3619. }
  3620. //func UploadSettleList(org_id int64) {
  3621. // orders, _ := service.GetAllHisOrder(org_id)
  3622. // for _, item := range orders {
  3623. // order_id := item.ID
  3624. // order, _ := service.GetHisOrderByIDTwo(order_id)
  3625. // roles, _ := service.GetDoctorListTwo(org_id)
  3626. // his, _ := service.GetHisPatientByNumber(order.MdtrtId)
  3627. // admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId)
  3628. // curRoles, _ := service.GetAdminUserInfo(org_id)
  3629. // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId)
  3630. // miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
  3631. //
  3632. // result, _ := service.GetHisFundSettleListResult(order_id)
  3633. // //判断是否已经上传过医保,上传过就跳过该条记录
  3634. // if result.ID > 0 {
  3635. // continue
  3636. // }
  3637. //
  3638. // if his.BalanceAccountsType == 2 {
  3639. // continue
  3640. // }
  3641. //
  3642. // struct4101 := service.Struct4101{
  3643. // PsnNo: order.PsnNo,
  3644. // MdtrtId: order.MdtrtId,
  3645. // SetlId: order.SetlId,
  3646. // PsnName: order.PsnName,
  3647. // Gend: order.Gend,
  3648. // Brdy: his.Brdy,
  3649. // Age: his.Age,
  3650. // Naty: order.Naty,
  3651. // PatnCertType: "01",
  3652. // Certno: order.Certno,
  3653. // Prfs: "90",
  3654. // ConerName: roles[0].UserName,
  3655. // PatnRlts: "99",
  3656. // ConerAddr: miConfig.OrgName,
  3657. // ConerTel: admin.Mobile,
  3658. // HiType: order.Insutype,
  3659. // Insuplc: his.InsuplcAdmdvs,
  3660. // MaindiagFlag: "1",
  3661. // BillCode: order.FaPiaoCode,
  3662. // BillNo: order.FaPiaoNumber,
  3663. // BizSn: order.Number,
  3664. // PsnSelfPay: order.PsnPartAmt,
  3665. // PsnOwnPay: order.PsnPartAmt,
  3666. // AcctPay: order.AcctPay,
  3667. // PsnCashpay: order.PsnCashPay,
  3668. // HiPaymtd: "1",
  3669. // Hsorg: his.InsuplcAdmdvs,
  3670. // HsorgOpter: his.InsuplcAdmdvs,
  3671. // MedinsFillPsn: curRoles.UserName,
  3672. // MedinsFillDept: depart.Name,
  3673. // IptMedType: "2",
  3674. // }
  3675. // struct4101.SetlBegnDate = order.SetlTime
  3676. // struct4101.SetlEndDate = order.SetlTime
  3677. // //if order.SettleType == 1 {
  3678. // // t := time.Unix(int64(order.SettleAccountsDate), 0)
  3679. // // dateStr := t.Format("2006-01-02")
  3680. // // struct4101.SetlBegnDate = dateStr
  3681. // // struct4101.SetlEndDate = dateStr
  3682. // //} else {
  3683. // // t := time.Unix(int64(order.SettleStartTime), 0)
  3684. // // t2 := time.Unix(int64(order.SettleEndTime), 0)
  3685. // // dateStartStr := t.Format("2006-01-02")
  3686. // // dateEndStr := t2.Format("2006-01-02")
  3687. // // struct4101.SetlBegnDate = dateStartStr
  3688. // // struct4101.SetlEndDate = dateEndStr
  3689. // //}
  3690. //
  3691. // var rf []CustomFundPay
  3692. // json.Unmarshal([]byte(order.SetlDetail), &rf)
  3693. //
  3694. // var tempFunPays []service.CustomStruct
  3695. // var tempFunPay610100 service.CustomStruct
  3696. //
  3697. // for _, item := range rf {
  3698. // if item.FundPayType == "610100" {
  3699. // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64()
  3700. // tempFunPay610100.FundPayType = item.FundPayType
  3701. // } else {
  3702. // var tempFunPay service.CustomStruct
  3703. // tempFunPay.FundPayamt = item.FundPayamt
  3704. // tempFunPay.FundPayType = item.FundPayType
  3705. // tempFunPays = append(tempFunPays, tempFunPay)
  3706. // }
  3707. // }
  3708. // tempFunPays = append(tempFunPays, tempFunPay610100)
  3709. // struct4101.CustomStruct = tempFunPays
  3710. //
  3711. // var tempOpspdiseinfos []service.OpspdiseinfoStruct
  3712. // var tempOpspdiseinfo2 service.OpspdiseinfoStruct
  3713. // //sickConfig, _ := service.FindDiagnoseById(his.Diagnosis)
  3714. //
  3715. // diagnosis_ids := strings.Split(his.Diagnosis, ",")
  3716. // var config []*models.HisXtDiagnoseConfig
  3717. // for _, item := range diagnosis_ids {
  3718. // id, _ := strconv.ParseInt(item, 10, 64)
  3719. // diagnosisConfig, _ := service.FindDiagnoseById(id)
  3720. // config = append(config, &diagnosisConfig)
  3721. // }
  3722. //
  3723. // for _, item := range config {
  3724. // var tempOpspdiseinfo service.OpspdiseinfoStruct
  3725. // tempOpspdiseinfo.DiagCode = item.CountryCode
  3726. // tempOpspdiseinfo.DiagName = item.CountryContentName
  3727. // tempOpspdiseinfo.MaindiagFlag = "1"
  3728. // tempOpspdiseinfo.OprnOprtCode = ""
  3729. // tempOpspdiseinfo.OprnOprtName = ""
  3730. // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo)
  3731. // }
  3732. //
  3733. // sickConfigTwo, _ := service.FindSickById(his.SickType)
  3734. // tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode
  3735. // tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName
  3736. // tempOpspdiseinfo2.MaindiagFlag = "2"
  3737. // tempOpspdiseinfo2.OprnOprtCode = ""
  3738. // tempOpspdiseinfo2.OprnOprtName = ""
  3739. // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2)
  3740. // struct4101.OpspdiseinfoStruct = tempOpspdiseinfos
  3741. //
  3742. // var iteminfo service.IteminfoStruct
  3743. //
  3744. // var bedCostTotal float64 = 0 //床位总费
  3745. // var bedCostSelfTotal float64 = 0 //床位自费
  3746. // var bedCostPartSelfTotal float64 = 0 //床位部分项目自费
  3747. //
  3748. // var examineCostTotal float64 = 0 //诊查总费
  3749. // var examineCostSelfTotal float64 = 0 //诊查自费
  3750. // var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费
  3751. //
  3752. // var nursingCostTotal float64 = 0 //护理总费
  3753. // var nursingCostSelfTotal float64 = 0 //护理自费
  3754. // var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费
  3755. //
  3756. // var chineseMedicineCostTotal float64 = 0 //中成药
  3757. // var chineseMedicineCostSelfTotal float64 = 0 //中成药
  3758. // var chineseMedicineCostPartSelfTotal float64 = 0 //中成药
  3759. //
  3760. // var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费
  3761. // var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费
  3762. // var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费
  3763. //
  3764. // var registerCostTotal float64 = 0 //一般诊疗费
  3765. // var registerCostSelfTotal float64 = 0 //一般诊疗费
  3766. // var registerPartSelfTotal float64 = 0 //一般诊疗费
  3767. //
  3768. // var operationCostTotal float64 = 0 //手术费
  3769. // var operationCostSelfTotal float64 = 0 //手术费
  3770. // var operationCostPartSelfTotal float64 = 0 //手术费
  3771. //
  3772. // var otherCostTotal float64 = 0 //其他费用
  3773. // var otherCostSelfTotal float64 = 0 //其他费用
  3774. // var otherCostPartSelfTotal float64 = 0 //其他费用
  3775. //
  3776. // var materialCostTotal float64 = 0 //材料费
  3777. // var materialCostSelfTotal float64 = 0 //材料费
  3778. // var materialCostPartSelfTotal float64 = 0 //材料费
  3779. //
  3780. // var westernMedicineCostTotal float64 = 0 //西药费
  3781. // var westernMedicineCostSelfTotal float64 = 0 //西药费
  3782. // var westernMedicineCostPartSelfTotal float64 = 0 //西药费
  3783. //
  3784. // var chineseTraditionalMedicineCostTotal float64 = 0 //中成药
  3785. // var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药
  3786. // var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药
  3787. //
  3788. // var checkCostTotal float64 = 0 //检查费
  3789. // var checkCostSelfTotal float64 = 0 //检查费
  3790. // var checkCostPartSelfTotal float64 = 0 //检查费
  3791. //
  3792. // var laboratoryCostTotal float64 = 0 //化验费
  3793. // var laboratoryCostSelfTotal float64 = 0 //化验费
  3794. // var laboratoryCostPartSelfTotal float64 = 0 //化验费
  3795. //
  3796. // var treatCostTotal float64 = 0 //治疗费用
  3797. // var treatCostSelfTotal float64 = 0 //治疗费用
  3798. // var treatCostPartSelfTotal float64 = 0 //治疗费用
  3799. //
  3800. // decimal.DivisionPrecision = 2
  3801. //
  3802. // var bed_fulamt_ownpay_amt float64 = 0
  3803. //
  3804. // var examine_fulamt_ownpay_amt float64 = 0
  3805. //
  3806. // var nursing_fulamt_ownpay_amt float64 = 0
  3807. //
  3808. // var chinese_medicine_fulamt_ownpay_amt float64 = 0
  3809. //
  3810. // var commonly_treatment_fulamt_ownpay_amt float64 = 0
  3811. //
  3812. // var register_fulamt_ownpay_amt float64 = 0
  3813. //
  3814. // var operation_fulamt_ownpay_amt float64 = 0
  3815. // var other_fulamt_ownpay_amt float64 = 0
  3816. // var westernMedicine_fulamt_ownpay_amt float64 = 0
  3817. // var chineseTraditional_fulamt_ownpay_amt float64 = 0
  3818. // var check_fulamt_ownpay_amt float64 = 0
  3819. // var material_fulamt_ownpay_amt float64 = 0
  3820. // var laboratory_fulamt_ownpay_amt float64 = 0
  3821. // var treat_fulamt_ownpay_amt float64 = 0
  3822. //
  3823. // var bed_claa_sunmfee float64 = 0
  3824. // var bed_clab_amt float64 = 0
  3825. // var bed_other_amt float64 = 0
  3826. //
  3827. // var examine_claa_sunmfee float64 = 0
  3828. // var examine_clab_amt float64 = 0
  3829. // var examine_other_amt float64 = 0
  3830. //
  3831. // var nursing_claa_sunmfee float64 = 0
  3832. // var nursing_clab_amt float64 = 0
  3833. // var nursing_other_amt float64 = 0
  3834. //
  3835. // var chinese_medicine_claa_sunmfee float64 = 0
  3836. // var chinese_medicine_clab_amt float64 = 0
  3837. // var chinese_medicine_other_amt float64 = 0
  3838. //
  3839. // var commonly_treatment_claa_sunmfee float64 = 0
  3840. // var commonly_treatment_clab_amt float64 = 0
  3841. // var commonly_treatment_other_amt float64 = 0
  3842. //
  3843. // var operation_claa_sunmfee float64 = 0
  3844. // var operation_clab_amt float64 = 0
  3845. // var operation_other_amt float64 = 0
  3846. //
  3847. // var other_claa_sunmfee float64 = 0
  3848. // var other_clab_amt float64 = 0
  3849. // var other_other_amt float64 = 0
  3850. //
  3851. // var westernMedicine_claa_sunmfee float64 = 0
  3852. // var westernMedicine_clab_amt float64 = 0
  3853. // var westernMedicine_other_amt float64 = 0
  3854. //
  3855. // var chineseTraditional_claa_sunmfee float64 = 0
  3856. // var chineseTraditional_clab_amt float64 = 0
  3857. // var chineseTraditional_other_amt float64 = 0
  3858. //
  3859. // var check_claa_sunmfee float64 = 0
  3860. // var check_clab_amt float64 = 0
  3861. // var check_other_amt float64 = 0
  3862. //
  3863. // var material_claa_sunmfee float64 = 0
  3864. // var material_clab_amt float64 = 0
  3865. // var material_other_amt float64 = 0
  3866. //
  3867. // var laboratory_claa_sunmfee float64 = 0
  3868. // var laboratory_clab_amt float64 = 0
  3869. // var laboratory_other_amt float64 = 0
  3870. //
  3871. // var treat_claa_sunmfee float64 = 0
  3872. // var treat_clab_amt float64 = 0
  3873. // var treat_other_amt float64 = 0
  3874. //
  3875. // var register_claa_sunmfee float64 = 0
  3876. // var register_clab_amt float64 = 0
  3877. // var register_other_amt float64 = 0
  3878. //
  3879. // for _, item := range order.HisOrderInfo {
  3880. // if item.MedChrgitmType == "01" { //床位费
  3881. // bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3882. // bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3883. // bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3884. // bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3885. // if item.ChrgitmLv == "1" {
  3886. // bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3887. // }
  3888. // if item.ChrgitmLv == "2" {
  3889. // bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3890. //
  3891. // }
  3892. // if item.ChrgitmLv == "3" {
  3893. // bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3894. // }
  3895. //
  3896. // }
  3897. //
  3898. // if item.MedChrgitmType == "02" { //诊查
  3899. // examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3900. // examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3901. // examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3902. // examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3903. // if item.ChrgitmLv == "1" {
  3904. // examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3905. // }
  3906. // if item.ChrgitmLv == "2" {
  3907. // examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3908. //
  3909. // }
  3910. // if item.ChrgitmLv == "3" {
  3911. // examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3912. // }
  3913. //
  3914. // }
  3915. //
  3916. // if item.MedChrgitmType == "03" { //检查费
  3917. // checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3918. // checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3919. // checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3920. // check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3921. // if item.ChrgitmLv == "1" {
  3922. //
  3923. // check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3924. //
  3925. // }
  3926. // if item.ChrgitmLv == "2" {
  3927. // check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3928. //
  3929. // }
  3930. // if item.ChrgitmLv == "3" {
  3931. // check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3932. // }
  3933. // }
  3934. //
  3935. // if item.MedChrgitmType == "04" { //化验费
  3936. // laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3937. // laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3938. // laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3939. // laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3940. // if item.ChrgitmLv == "1" {
  3941. //
  3942. // laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3943. //
  3944. // }
  3945. // if item.ChrgitmLv == "2" {
  3946. // laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3947. //
  3948. // }
  3949. // if item.ChrgitmLv == "3" {
  3950. // laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3951. // }
  3952. // }
  3953. //
  3954. // if item.MedChrgitmType == "05" { //治疗费
  3955. // treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3956. // treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3957. // treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3958. // treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3959. // if item.ChrgitmLv == "1" {
  3960. //
  3961. // treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3962. //
  3963. // }
  3964. // if item.ChrgitmLv == "2" {
  3965. // treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3966. //
  3967. // }
  3968. // if item.ChrgitmLv == "3" {
  3969. // treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3970. // }
  3971. // }
  3972. //
  3973. // if item.MedChrgitmType == "06" { //手术费
  3974. // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3975. // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3976. // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3977. // operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3978. //
  3979. // if item.ChrgitmLv == "1" {
  3980. //
  3981. // operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3982. //
  3983. // }
  3984. // if item.ChrgitmLv == "2" {
  3985. // operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3986. //
  3987. // }
  3988. // if item.ChrgitmLv == "3" {
  3989. // operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3990. // }
  3991. // }
  3992. //
  3993. // if item.MedChrgitmType == "07" { //手术费
  3994. // nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  3995. // nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  3996. // nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  3997. // nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  3998. //
  3999. // if item.ChrgitmLv == "1" {
  4000. //
  4001. // nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4002. //
  4003. // }
  4004. // if item.ChrgitmLv == "2" {
  4005. // nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4006. //
  4007. // }
  4008. // if item.ChrgitmLv == "3" {
  4009. // nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4010. // }
  4011. // }
  4012. //
  4013. // if item.MedChrgitmType == "08" { //材料费
  4014. // materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4015. // materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4016. // materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4017. // material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4018. // if item.ChrgitmLv == "1" {
  4019. //
  4020. // material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4021. //
  4022. // }
  4023. // if item.ChrgitmLv == "2" {
  4024. // material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4025. //
  4026. // }
  4027. // if item.ChrgitmLv == "3" {
  4028. // material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4029. // }
  4030. // }
  4031. // if item.MedChrgitmType == "09" { //西药费
  4032. // westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4033. // westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4034. // westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4035. // westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4036. // if item.ChrgitmLv == "1" {
  4037. // westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4038. // }
  4039. // if item.ChrgitmLv == "2" {
  4040. // westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4041. // }
  4042. // if item.ChrgitmLv == "3" {
  4043. // westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4044. // }
  4045. // }
  4046. // if item.MedChrgitmType == "10" { //中药饮片
  4047. // chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4048. // chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4049. // chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4050. // chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4051. // if item.ChrgitmLv == "1" {
  4052. // chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4053. // }
  4054. // if item.ChrgitmLv == "2" {
  4055. // chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4056. // }
  4057. // if item.ChrgitmLv == "3" {
  4058. // chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4059. // }
  4060. // }
  4061. //
  4062. // if item.MedChrgitmType == "11" { //中成费
  4063. // chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4064. // chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4065. // chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4066. // chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4067. // if item.ChrgitmLv == "1" {
  4068. //
  4069. // chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4070. //
  4071. // }
  4072. // if item.ChrgitmLv == "2" {
  4073. // chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4074. //
  4075. // }
  4076. // if item.ChrgitmLv == "3" {
  4077. // chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4078. // }
  4079. // }
  4080. //
  4081. // if item.MedChrgitmType == "12" { //中成费
  4082. // commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4083. // commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4084. // commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4085. // commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4086. // if item.ChrgitmLv == "1" {
  4087. //
  4088. // commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4089. //
  4090. // }
  4091. // if item.ChrgitmLv == "2" {
  4092. // commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4093. //
  4094. // }
  4095. // if item.ChrgitmLv == "3" {
  4096. // commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4097. // }
  4098. // }
  4099. //
  4100. // if item.MedChrgitmType == "13" { //中成费
  4101. // registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4102. // registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4103. // registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4104. // register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4105. // if item.ChrgitmLv == "1" {
  4106. //
  4107. // register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4108. //
  4109. // }
  4110. // if item.ChrgitmLv == "2" {
  4111. // register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4112. //
  4113. // }
  4114. // if item.ChrgitmLv == "3" {
  4115. // register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4116. // }
  4117. // }
  4118. //
  4119. // if item.MedChrgitmType == "14" { //其他费
  4120. // otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4121. // otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4122. // otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4123. // other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64()
  4124. // if item.ChrgitmLv == "1" {
  4125. // other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64()
  4126. //
  4127. // }
  4128. // if item.ChrgitmLv == "2" {
  4129. // other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64()
  4130. //
  4131. // }
  4132. // if item.ChrgitmLv == "3" {
  4133. // other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64()
  4134. // }
  4135. // }
  4136. //
  4137. // }
  4138. //
  4139. // var iteminfoStructs []service.IteminfoStruct
  4140. //
  4141. // if bedCostTotal != 0 {
  4142. // iteminfo.MedChrgitm = "01"
  4143. // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  4144. // iteminfo.Amt = bedCostTotal
  4145. // iteminfo.ClaaSumfee = bed_claa_sunmfee
  4146. // iteminfo.ClabAmt = bed_clab_amt
  4147. // iteminfo.OthAmt = bed_other_amt
  4148. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4149. // }
  4150. //
  4151. // if examineCostTotal != 0 {
  4152. // iteminfo.MedChrgitm = "02"
  4153. // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt
  4154. // iteminfo.Amt = examineCostTotal
  4155. // iteminfo.ClaaSumfee = examine_claa_sunmfee
  4156. // iteminfo.ClabAmt = examine_clab_amt
  4157. // iteminfo.OthAmt = examine_other_amt
  4158. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4159. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4160. // }
  4161. //
  4162. // if checkCostTotal != 0 {
  4163. // iteminfo.MedChrgitm = "03"
  4164. // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt
  4165. // iteminfo.Amt = checkCostTotal
  4166. // iteminfo.ClaaSumfee = check_claa_sunmfee
  4167. // iteminfo.ClabAmt = check_clab_amt
  4168. // iteminfo.OthAmt = check_other_amt
  4169. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4170. //
  4171. // }
  4172. //
  4173. // if laboratoryCostTotal != 0 {
  4174. // iteminfo.MedChrgitm = "04"
  4175. // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt
  4176. // iteminfo.Amt = laboratoryCostTotal
  4177. // iteminfo.ClaaSumfee = laboratory_claa_sunmfee
  4178. // iteminfo.ClabAmt = laboratory_clab_amt
  4179. // iteminfo.OthAmt = laboratory_other_amt
  4180. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4181. //
  4182. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4183. //
  4184. // }
  4185. //
  4186. // if treatCostTotal != 0 {
  4187. // iteminfo.MedChrgitm = "05"
  4188. // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt
  4189. // iteminfo.Amt = treatCostTotal
  4190. // iteminfo.ClaaSumfee = treat_claa_sunmfee
  4191. // iteminfo.ClabAmt = treat_clab_amt
  4192. // iteminfo.OthAmt = treat_other_amt
  4193. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4194. // //(struct4101.IteminfoStruct, iteminfo)
  4195. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4196. // }
  4197. //
  4198. // if operationCostTotal != 0 {
  4199. // iteminfo.MedChrgitm = "06"
  4200. // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt
  4201. // iteminfo.Amt = operationCostTotal
  4202. // iteminfo.ClaaSumfee = operation_claa_sunmfee
  4203. // iteminfo.ClabAmt = operation_clab_amt
  4204. // iteminfo.OthAmt = operation_other_amt
  4205. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4206. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4207. // }
  4208. //
  4209. // if nursingCostTotal != 0 {
  4210. // iteminfo.MedChrgitm = "07"
  4211. // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt
  4212. // iteminfo.Amt = nursingCostTotal
  4213. // iteminfo.ClaaSumfee = nursing_claa_sunmfee
  4214. // iteminfo.ClabAmt = nursing_clab_amt
  4215. // iteminfo.OthAmt = nursing_other_amt
  4216. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4217. // }
  4218. //
  4219. // if materialCostTotal != 0 {
  4220. // iteminfo.MedChrgitm = "08"
  4221. // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt
  4222. // iteminfo.Amt = materialCostTotal
  4223. // iteminfo.ClaaSumfee = material_claa_sunmfee
  4224. // iteminfo.ClabAmt = material_clab_amt
  4225. // iteminfo.OthAmt = material_other_amt
  4226. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4227. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4228. // }
  4229. //
  4230. // if westernMedicineCostTotal != 0 {
  4231. // iteminfo.MedChrgitm = "09"
  4232. // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  4233. // iteminfo.Amt = westernMedicineCostTotal
  4234. // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  4235. // iteminfo.ClabAmt = westernMedicine_clab_amt
  4236. // iteminfo.OthAmt = westernMedicine_other_amt
  4237. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4238. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4239. //
  4240. // }
  4241. //
  4242. // if chineseMedicineCostTotal != 0 {
  4243. // iteminfo.MedChrgitm = "10"
  4244. // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt
  4245. // iteminfo.Amt = chineseMedicineCostTotal
  4246. // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee
  4247. // iteminfo.ClabAmt = chinese_medicine_clab_amt
  4248. // iteminfo.OthAmt = chinese_medicine_other_amt
  4249. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4250. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4251. //
  4252. // }
  4253. //
  4254. // if chineseTraditionalMedicineCostTotal != 0 {
  4255. // iteminfo.MedChrgitm = "11"
  4256. // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt
  4257. // iteminfo.Amt = westernMedicineCostTotal
  4258. // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee
  4259. // iteminfo.ClabAmt = westernMedicine_clab_amt
  4260. // iteminfo.OthAmt = westernMedicine_other_amt
  4261. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4262. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4263. //
  4264. // }
  4265. //
  4266. // if commonlyTreatmentCostTotal != 0 {
  4267. // iteminfo.MedChrgitm = "12"
  4268. // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt
  4269. // iteminfo.Amt = commonlyTreatmentCostTotal
  4270. // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee
  4271. // iteminfo.ClabAmt = commonly_treatment_clab_amt
  4272. // iteminfo.OthAmt = commonly_treatment_other_amt
  4273. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4274. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4275. //
  4276. // }
  4277. //
  4278. // if registerCostTotal != 0 {
  4279. // iteminfo.MedChrgitm = "13"
  4280. // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt
  4281. // iteminfo.Amt = registerCostTotal
  4282. // iteminfo.ClaaSumfee = register_claa_sunmfee
  4283. // iteminfo.ClabAmt = register_clab_amt
  4284. // iteminfo.OthAmt = register_other_amt
  4285. // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo)
  4286. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4287. //
  4288. // }
  4289. //
  4290. // if otherCostTotal != 0 {
  4291. // iteminfo.MedChrgitm = "14"
  4292. // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt
  4293. // iteminfo.Amt = otherCostTotal
  4294. // iteminfo.ClaaSumfee = other_claa_sunmfee
  4295. // iteminfo.ClabAmt = other_clab_amt
  4296. // iteminfo.OthAmt = other_other_amt
  4297. // iteminfoStructs = append(iteminfoStructs, iteminfo)
  4298. //
  4299. // }
  4300. // struct4101.IteminfoStruct = iteminfoStructs
  4301. // struct4101.Ntly = "中国"
  4302. // struct4101.AdmCaty = "A03.06"
  4303. // result := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id)
  4304. // fmt.Println(result)
  4305. //
  4306. // var dat map[string]interface{}
  4307. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  4308. // fmt.Println(dat)
  4309. // } else {
  4310. // fmt.Println(err)
  4311. // }
  4312. // userJSONBytes, _ := json.Marshal(dat)
  4313. // var res ResultSeventeen
  4314. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  4315. // utils.ErrorLog("解析失败:%v", err)
  4316. // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
  4317. // errlog := &models.HisOrderError{
  4318. // UserOrgId: org_id,
  4319. // Ctime: time.Now().Unix(),
  4320. // Mtime: time.Now().Unix(),
  4321. // ErrMsg: res.ErrMsg + "解析失败",
  4322. // Status: 1,
  4323. // PatientId: order_id,
  4324. // Stage: 120,
  4325. // }
  4326. // service.CreateErrMsgLog(errlog)
  4327. // continue
  4328. // }
  4329. //
  4330. // if res.Infcode != 0 {
  4331. // errlog := &models.HisOrderError{
  4332. // UserOrgId: org_id,
  4333. // Ctime: time.Now().Unix(),
  4334. // Mtime: time.Now().Unix(),
  4335. // ErrMsg: res.ErrMsg,
  4336. // Status: 1,
  4337. // PatientId: order_id,
  4338. // Stage: 200,
  4339. // }
  4340. // service.CreateErrMsgLog(errlog)
  4341. // continue
  4342. // } else {
  4343. // hisFundSettleListResult := &models.HisFundSettleListResult{
  4344. // Number: res.Output.SetlListId,
  4345. // Status: 1,
  4346. // Ctime: time.Now().Unix(),
  4347. // Mtime: time.Now().Unix(),
  4348. // UserOrgId: org_id,
  4349. // IsUpload: 1,
  4350. // OrderId: order_id,
  4351. // }
  4352. // service.CreateUploadRecord(hisFundSettleListResult)
  4353. // continue
  4354. // }
  4355. // }
  4356. //}
  4357. //func CreateLog(miConfig models.MedicalInsuranceOrgConfig) {
  4358. // Mkdir(miConfig.OrgName + "日志")
  4359. // //org_id,_ := beego.AppConfig.Int("org_id")
  4360. // month := time.Unix(1557042972, 0).Format("1")
  4361. // year := time.Now().Format("2006")
  4362. // month = time.Now().Format("01")
  4363. // day := time.Now().Format("02")
  4364. // file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log"
  4365. // file_name := file + ".txt"
  4366. // file_path := miConfig.OrgName + "日志" + "/" + file_name
  4367. // exist, _ := PathExists(file_path)
  4368. // if exist { //存在
  4369. // fmt.Println("存在")
  4370. // f, err := os.OpenFile(file_path, os.O_WRONLY, 0644)
  4371. // if err != nil {
  4372. // fmt.Println("read fail")
  4373. // }
  4374. // content := "\r\r\r"
  4375. // n, _ := f.Seek(0, 2)
  4376. // _, err = f.WriteAt([]byte(content), n)
  4377. //
  4378. // } else { //不存在
  4379. // fmt.Println("文件不存在,创建文件")
  4380. // f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name)
  4381. // defer f.Close()
  4382. // if err != nil {
  4383. // } else {
  4384. // _, err = f.Write([]byte("记录日志"))
  4385. // }
  4386. // }
  4387. //
  4388. //}
  4389. //func UploadLog(miConfig models.MedicalInsuranceOrgConfig) {
  4390. // //获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息
  4391. // nTime := time.Now()
  4392. // yesTime := nTime.AddDate(0, 0, -1)
  4393. // file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt"
  4394. // mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
  4395. // cfg := storage.Config{
  4396. // // 是否使用https域名进行资源管理
  4397. // UseHTTPS: true,
  4398. // }
  4399. // // 指定空间所在的区域,如果不指定将自动探测
  4400. // // 如果没有特殊需求,默认不需要指定
  4401. // //cfg.Zone=&storage.ZoneHuabei
  4402. // bucketManager := storage.NewBucketManager(mac, &cfg)
  4403. // bucket := beego.AppConfig.String("qiniu_bucket")
  4404. // key := file_key
  4405. // file, sErr := bucketManager.Stat(bucket, key)
  4406. // fmt.Println(file)
  4407. // fmt.Println(sErr)
  4408. // fmt.Println(miConfig.OrgName + "日志" + "/" + file_key)
  4409. //
  4410. // if sErr != nil {
  4411. // fmt.Println("七牛云上文件不存在,上传到七牛云")
  4412. // //判断本地文件是否存在,存在则执行上传操作
  4413. // exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key)
  4414. // if exist {
  4415. // upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key)
  4416. // } else {
  4417. // fmt.Println("本地文件不存在")
  4418. //
  4419. // }
  4420. // } else {
  4421. // fmt.Println("七牛云文件存在")
  4422. // }
  4423. //
  4424. //}
  4425. //func Mkdir(dir string) {
  4426. // // 创建文件夹
  4427. // exist, err := PathExists(dir)
  4428. // if err != nil {
  4429. // fmt.Println(err.Error())
  4430. // } else {
  4431. // if exist {
  4432. // fmt.Println(dir + "文件夹已存在!")
  4433. // } else {
  4434. // // 文件夹名称,权限
  4435. // err := os.Mkdir(dir, os.ModePerm)
  4436. // if err != nil {
  4437. // fmt.Println(dir+"文件夹创建失败:", err.Error())
  4438. // } else {
  4439. // fmt.Println(dir + "文件夹创建成功!")
  4440. // }
  4441. // }
  4442. // }
  4443. //}
  4444. //func PathExists(path string) (bool, error) {
  4445. // _, err := os.Stat(path)
  4446. // if err == nil {
  4447. // return true, nil
  4448. // }
  4449. // if os.IsNotExist(err) {
  4450. // return false, nil
  4451. // }
  4452. // return false, err
  4453. //}
  4454. //func upload_qiniu(filePath string, keys string) {
  4455. // key := keys
  4456. // //上传凭证,关于凭证这块大家可以去看看官方文档
  4457. // putPolicy := storage.PutPolicy{
  4458. // Scope: beego.AppConfig.String("qiniu_bucket"),
  4459. // }
  4460. // mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey"))
  4461. // upToken := putPolicy.UploadToken(mac)
  4462. // cfg := storage.Config{}
  4463. // //空间对应机房
  4464. // //其中关于Zone对象和机房的关系如下:
  4465. // // 机房 Zone对象
  4466. // // 华东 storage.ZoneHuadong
  4467. // // 华北 storage.ZoneHuabei
  4468. // // 华南 storage.ZoneHuanan
  4469. // // 北美 storage.ZoneBeimei
  4470. // //七牛云存储空间设置首页有存储区域
  4471. // cfg.Zone = &storage.ZoneHuadong
  4472. // //不启用HTTPS域名
  4473. // cfg.UseHTTPS = false
  4474. // //不使用CND加速
  4475. // cfg.UseCdnDomains = false
  4476. // //构建上传表单对象
  4477. // formUploader := storage.NewFormUploader(&cfg)
  4478. // ret := storage.PutRet{}
  4479. // // 可选
  4480. // putExtra := storage.PutExtra{
  4481. // Params: map[string]string{},
  4482. // }
  4483. // err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra)
  4484. // if err != nil {
  4485. // fmt.Println(err)
  4486. // return
  4487. // }
  4488. // fmt.Println(ret.Key, ret.Hash)
  4489. //}