Index.php 612 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. use think\Cache\Driver\Redis;
  6. use app\api\controller\Second;
  7. //第一屏数据
  8. class Index extends Api{
  9. protected $noNeedLogin = ['*'];
  10. protected $noNeedRight = ['*'];
  11. public function index(){
  12. $this->success('请求新华接口成功');
  13. }
  14. /** 定义的函数方法 $this->方法名调取*/
  15. //获取当前年份的一月份
  16. public function year_January(){
  17. return date("Y-01");
  18. }
  19. //开始时间方法--当年01月01日
  20. public function start_time(){
  21. return gettimeinfo();
  22. }
  23. //结束时间方法--当年12月31日
  24. public function end_time(){
  25. return gettimeinfo(1);
  26. }
  27. //开始时间方法--去年01月01日
  28. public function qstart_time(){
  29. return getLastYear();
  30. }
  31. //去年的今天
  32. public function qday(){
  33. // 获取当前日期
  34. $today = date('Y-m-d 23:59:59');
  35. // 使用strtotime计算去年的今天
  36. $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year'));
  37. // 输出去年的今天
  38. return $lastYearToday;
  39. }
  40. //结束时间方法--去年12月31日
  41. public function qend_time(){
  42. return getLastYear(1);
  43. }
  44. //开始时间方法--前年01月01日
  45. public function qianstart_time(){
  46. return getPreviousYear();
  47. }
  48. //结束时间方法--前年12月31日
  49. public function qianend_time(){
  50. return getPreviousYear(1);
  51. }
  52. //前年的今天
  53. public function qianday(){
  54. // 获取当前日期
  55. $today = date('Y-m-d 23:59:59');
  56. // 使用strtotime计算前年的今天
  57. $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years'));
  58. // 输出前年的今天
  59. return $beforeLastYearToday;
  60. }
  61. //开始时间方法--大前年01月01日
  62. public function dqianstart_time(){
  63. return getPreviousQYear();
  64. }
  65. //结束时间方法--大前年12月31日
  66. public function dqianend_time(){
  67. return getPreviousQYear(1);
  68. }
  69. //当年
  70. public function currentYear(){
  71. $currentYear = date('Y');
  72. $res['status'] = 0;
  73. $res['msg'] = '';
  74. $res['data'] = $currentYear;
  75. return json_encode($res);
  76. }
  77. //去年
  78. public function lastYear(){
  79. $currentYear = date('Y');
  80. $lastYear = $currentYear - 1;
  81. $res['status'] = 0;
  82. $res['msg'] = '';
  83. $res['data'] = $lastYear;
  84. return json_encode($res);
  85. }
  86. //前年
  87. public function yearBeforeLast(){
  88. $currentYear = date('Y');
  89. $yearBeforeLast = $currentYear - 2;
  90. $res['status'] = 0;
  91. $res['msg'] = '';
  92. $res['data'] = $yearBeforeLast;
  93. return json_encode($res);
  94. }
  95. //当年年业务结构
  96. public function test_dYear(){
  97. $currentYear = date('Y');
  98. $lastTwoDigits = substr($currentYear, -2);
  99. $res['status'] = 0;
  100. $res['msg'] = '';
  101. $res['data'] = $lastTwoDigits . "年色令分布";
  102. return json_encode($res);
  103. }
  104. //去年年业务结构
  105. public function test_qYear(){
  106. $currentYear = date('Y');
  107. $lastYear = $currentYear - 1;
  108. $lastTwoDigits = substr($lastYear, -2);
  109. $res['status'] = 0;
  110. $res['msg'] = '';
  111. $res['data'] = $lastTwoDigits . "年色令分布";
  112. return json_encode($res);
  113. }
  114. /**
  115. * 业务总览 第一屏 第一页
  116. */
  117. //承印销售收入->缓存调用 本级不包含集团教材外
  118. public function getxssr_redis(){
  119. $redis=redis();
  120. $redis_key = md5('getxssr_redis');
  121. //定义查询字段
  122. $field = [
  123. 'ldz',
  124. 'mcyd.icydid',
  125. 'year(mcyd.dcyrq) as 年',
  126. 'mcyd.dcyrq as 日期',
  127. 'sum(mcyd.nwshjje) nwshjje',
  128. 'sum(mcyd.nwsgjhj) nwsgjhj',
  129. 'sum(tjob.namount) namount',
  130. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  131. 'tjob.itax',
  132. ];
  133. //当年
  134. $dangnian = Db::table('mcyd')->field($field)
  135. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  136. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  137. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  138. ->where('mcyd.icydstate','>',0)
  139. ->where('mcyd.chy','<>', '集团教材外')
  140. ->select();
  141. //去年
  142. $qunian = Db::table('mcyd')->field($field)
  143. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  144. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  145. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  146. ->where('mcyd.icydstate','>',0)
  147. ->where('mcyd.chy','<>', '集团教材外')
  148. ->select();
  149. //前年
  150. $qiannian = Db::table('mcyd')->field($field)
  151. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  152. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  153. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  154. ->where('mcyd.icydstate','>',0)
  155. ->where('mcyd.chy','<>', '集团教材外')
  156. ->select();
  157. //大前年
  158. $dqiannian = Db::table('mcyd')->field($field)
  159. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  160. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  161. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  162. ->where('mcyd.icydstate','>',0)
  163. ->where('mcyd.chy','<>', '集团教材外')
  164. ->select();
  165. //销售收入、销售工价、日期
  166. //当年
  167. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  168. //去年
  169. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  170. //前年
  171. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  172. //大前年
  173. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  174. //遍历查询结果,进行统计
  175. foreach ($dangnian as $v){
  176. if($v['ldz'] == 1 ){
  177. $cheng_dang += $v['namount'];
  178. $bb_dang += $v['sum_clje'];
  179. }else{
  180. $cheng_dang += $v['nwshjje'];
  181. $bb_dang += $v['nwsgjhj'];
  182. }
  183. $data_dang = $v['年'];
  184. }
  185. //遍历查询结果,进行统计
  186. foreach ($qunian as $v){
  187. if($v['ldz'] == 1 ){
  188. $cheng_qu += $v['namount'];
  189. $bb_qu += $v['sum_clje'];
  190. }else{
  191. $cheng_qu += $v['nwshjje'];
  192. $bb_qu += $v['nwsgjhj'];
  193. }
  194. $data_qu = $v['年'];
  195. }
  196. //遍历查询结果,进行统计
  197. foreach ($qiannian as $v){
  198. if($v['ldz'] == 1 ){
  199. $cheng_qian += $v['namount'];
  200. $bb_qian += $v['sum_clje'];
  201. }else{
  202. $cheng_qian += $v['nwshjje'];
  203. $bb_qian += $v['nwsgjhj'];
  204. }
  205. $data_qian = $v['年'];
  206. }
  207. //遍历查询结果,进行统计
  208. foreach ($dqiannian as $v){
  209. if($v['ldz'] == 1 ){
  210. $cheng_dqian += $v['namount'];
  211. $bb_dqian += $v['sum_clje'];
  212. }else{
  213. $cheng_dqian += $v['nwshjje'];
  214. $bb_dqian += $v['nwsgjhj'];
  215. }
  216. $data_dqian = $v['年'];
  217. }
  218. if($data_dang == 0){
  219. $data_dang = date("Y");
  220. }
  221. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  222. 'series'=>[['name'=>'承印销售收入',
  223. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  224. ];
  225. $res['status']=0;
  226. $res['msg']='';
  227. $res['data']=$list;
  228. $redis->set($redis_key, json_encode($res));
  229. return json_encode($res);
  230. }
  231. //承印销售收入->缓存调用 全部包含集团教材外
  232. public function getxssrs_redis(){
  233. $redis=redis();
  234. $redis_key = md5('getxssrs_redis');
  235. //定义查询字段
  236. $field = [
  237. 'ldz',
  238. 'mcyd.icydid',
  239. 'year(mcyd.dcyrq) as 年',
  240. 'mcyd.dcyrq as 日期',
  241. 'sum(mcyd.nwshjje) nwshjje',
  242. 'sum(mcyd.nwsgjhj) nwsgjhj',
  243. 'sum(tjob.namount) namount',
  244. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  245. 'tjob.itax',
  246. ];
  247. //当年
  248. $dangnian = Db::table('mcyd')->field($field)
  249. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  250. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  251. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  252. ->where('mcyd.icydstate','>',0)
  253. ->select();
  254. //去年
  255. $qunian = Db::table('mcyd')->field($field)
  256. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  257. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  258. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  259. ->where('mcyd.icydstate','>',0)
  260. ->select();
  261. //前年
  262. $qiannian = Db::table('mcyd')->field($field)
  263. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  264. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  265. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  266. ->where('mcyd.icydstate','>',0)
  267. ->select();
  268. //大前年
  269. $dqiannian = Db::table('mcyd')->field($field)
  270. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  271. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  272. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  273. ->where('mcyd.icydstate','>',0)
  274. ->select();
  275. //销售收入、销售工价、日期
  276. //当年
  277. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  278. //去年
  279. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  280. //前年
  281. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  282. //大前年
  283. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  284. //遍历查询结果,进行统计
  285. foreach ($dangnian as $v){
  286. if($v['ldz'] == 1 ){
  287. $cheng_dang += $v['namount'];
  288. $bb_dang += $v['sum_clje'];
  289. }else{
  290. $cheng_dang += $v['nwshjje'];
  291. $bb_dang += $v['nwsgjhj'];
  292. }
  293. $data_dang = $v['年'];
  294. }
  295. //遍历查询结果,进行统计
  296. foreach ($qunian as $v){
  297. if($v['ldz'] == 1 ){
  298. $cheng_qu += $v['namount'];
  299. $bb_qu += $v['sum_clje'];
  300. }else{
  301. $cheng_qu += $v['nwshjje'];
  302. $bb_qu += $v['nwsgjhj'];
  303. }
  304. $data_qu = $v['年'];
  305. }
  306. //遍历查询结果,进行统计
  307. foreach ($qiannian as $v){
  308. if($v['ldz'] == 1 ){
  309. $cheng_qian += $v['namount'];
  310. $bb_qian += $v['sum_clje'];
  311. }else{
  312. $cheng_qian += $v['nwshjje'];
  313. $bb_qian += $v['nwsgjhj'];
  314. }
  315. $data_qian = $v['年'];
  316. }
  317. //遍历查询结果,进行统计
  318. foreach ($dqiannian as $v){
  319. if($v['ldz'] == 1 ){
  320. $cheng_dqian += $v['namount'];
  321. $bb_dqian += $v['sum_clje'];
  322. }else{
  323. $cheng_dqian += $v['nwshjje'];
  324. $bb_dqian += $v['nwsgjhj'];
  325. }
  326. $data_dqian = $v['年'];
  327. }
  328. if($data_dang == 0){
  329. $data_dang = date("Y");
  330. }
  331. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  332. 'series'=>[['name'=>'承印销售收入',
  333. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  334. ];
  335. $res['status']=0;
  336. $res['msg']='';
  337. $res['data']=$list;
  338. $redis->set($redis_key, json_encode($res));
  339. return json_encode($res);
  340. }
  341. //承印销售收入->接口调用
  342. public function getxssr(){
  343. $redis = redis();
  344. $data = input('post.');
  345. if(isset($data['dependence'])){
  346. $dependence=$data['dependence'];
  347. }else{
  348. $dependence['item']['value']= '全部';
  349. }
  350. if($dependence['item']['value'] == '全部'){
  351. $result = json_decode($redis->get(md5('getxssrs_redis')),true);
  352. }else{
  353. $result = json_decode($redis->get(md5('getxssr_redis')),true);
  354. }
  355. return json($result);
  356. }
  357. //承印加工收入->缓存调用 本级不包含集团教材外
  358. public function getjgsr_redis(){
  359. $redis=redis();
  360. $redis_key = md5('getjgsr_redis');
  361. // 定义需要查询的字段
  362. $field = [
  363. 'ldz',
  364. 'mcyd.icydid',
  365. 'year(mcyd.dcyrq) as 年',
  366. 'mcyd.dcyrq as 日期',
  367. 'sum(mcyd.nwshjje) nwshjje',
  368. 'sum(mcyd.nwsgjhj) nwsgjhj',
  369. 'sum(tjob.namount) namount',
  370. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  371. 'tjob.itax',
  372. ];
  373. //当年
  374. $dangnian= Db::table('mcyd')->field($field)
  375. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  376. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  377. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  378. ->where('mcyd.icydstate','>',0)
  379. ->where('mcyd.chy','<>', '集团教材外')
  380. ->select();
  381. //去年
  382. $qunian = Db::table('mcyd')->field($field)
  383. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  384. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  385. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  386. ->where('mcyd.icydstate','>',0)
  387. ->where('mcyd.chy','<>', '集团教材外')
  388. ->select();
  389. //前年
  390. $qiannian = Db::table('mcyd')->field($field)
  391. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  392. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  393. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  394. ->where('mcyd.icydstate','>',0)
  395. ->where('mcyd.chy','<>', '集团教材外')
  396. ->select();
  397. //销售收入、销售工价、日期
  398. //当年
  399. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  400. //去年
  401. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  402. //前年
  403. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  404. // 遍历查询结果,进行统计
  405. foreach ($dangnian as $v){
  406. if($v['ldz'] == 1 ){
  407. $cheng_dang += $v['namount'];
  408. $bb_dang += $v['sum_clje'];
  409. }else{
  410. $cheng_dang += $v['nwshjje'];
  411. $bb_dang += $v['nwsgjhj'];
  412. }
  413. $data_dang = $v['年'];
  414. }
  415. // 遍历查询结果,进行统计
  416. foreach ($qunian as $v){
  417. if($v['ldz'] == 1 ){
  418. $cheng_qu += $v['namount'];
  419. $bb_qu += $v['sum_clje'];
  420. }else{
  421. $cheng_qu += $v['nwshjje'];
  422. $bb_qu += $v['nwsgjhj'];
  423. }
  424. $data_qu = $v['年'];
  425. }
  426. // 遍历查询结果,进行统计
  427. foreach ($qiannian as $v){
  428. if($v['ldz'] == 1 ){
  429. $cheng_qian += $v['namount'];
  430. $bb_qian += $v['sum_clje'];
  431. }else{
  432. $cheng_qian += $v['nwshjje'];
  433. $bb_qian += $v['nwsgjhj'];
  434. }
  435. $data_qian = $v['年'];
  436. }
  437. if($data_dang == 0){
  438. $data_dang = date("Y");
  439. }
  440. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  441. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  442. $res['status']=0;
  443. $res['msg']='';
  444. $res['data']=$list;
  445. $redis->set($redis_key, json_encode($res));
  446. return json_encode($res);
  447. }
  448. //承印加工收入->缓存调用 全部包含集团教材外
  449. public function getjgsrs_redis(){
  450. $redis=redis();
  451. $redis_key = md5('getjgsrs_redis');
  452. // 定义需要查询的字段
  453. $field = [
  454. 'ldz',
  455. 'mcyd.icydid',
  456. 'year(mcyd.dcyrq) as 年',
  457. 'mcyd.dcyrq as 日期',
  458. 'sum(mcyd.nwshjje) nwshjje',
  459. 'sum(mcyd.nwsgjhj) nwsgjhj',
  460. 'sum(tjob.namount) namount',
  461. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  462. 'tjob.itax',
  463. ];
  464. //当年
  465. $dangnian= Db::table('mcyd')->field($field)
  466. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  467. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  468. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  469. ->where('mcyd.icydstate','>',0)
  470. ->select();
  471. //去年
  472. $qunian = Db::table('mcyd')->field($field)
  473. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  474. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  475. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  476. ->where('mcyd.icydstate','>',0)
  477. ->select();
  478. //前年
  479. $qiannian = Db::table('mcyd')->field($field)
  480. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  481. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  482. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  483. ->where('mcyd.icydstate','>',0)
  484. ->select();
  485. //销售收入、销售工价、日期
  486. //当年
  487. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  488. //去年
  489. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  490. //前年
  491. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  492. // 遍历查询结果,进行统计
  493. foreach ($dangnian as $v){
  494. if($v['ldz'] == 1 ){
  495. $cheng_dang += $v['namount'];
  496. $bb_dang += $v['sum_clje'];
  497. }else{
  498. $cheng_dang += $v['nwshjje'];
  499. $bb_dang += $v['nwsgjhj'];
  500. }
  501. $data_dang = $v['年'];
  502. }
  503. // 遍历查询结果,进行统计
  504. foreach ($qunian as $v){
  505. if($v['ldz'] == 1 ){
  506. $cheng_qu += $v['namount'];
  507. $bb_qu += $v['sum_clje'];
  508. }else{
  509. $cheng_qu += $v['nwshjje'];
  510. $bb_qu += $v['nwsgjhj'];
  511. }
  512. $data_qu = $v['年'];
  513. }
  514. // 遍历查询结果,进行统计
  515. foreach ($qiannian as $v){
  516. if($v['ldz'] == 1 ){
  517. $cheng_qian += $v['namount'];
  518. $bb_qian += $v['sum_clje'];
  519. }else{
  520. $cheng_qian += $v['nwshjje'];
  521. $bb_qian += $v['nwsgjhj'];
  522. }
  523. $data_qian = $v['年'];
  524. }
  525. if($data_dang == 0){
  526. $data_dang = date("Y");
  527. }
  528. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  529. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  530. $res['status']=0;
  531. $res['msg']='';
  532. $res['data']=$list;
  533. $redis->set($redis_key, json_encode($res));
  534. return json_encode($res);
  535. }
  536. //承印加工收入->接口调用
  537. public function getjgsr(){
  538. // $redis=redis();
  539. // $redis_key = md5('getjgsr_redis');
  540. // $redis_data = $redis->get($redis_key);
  541. // return $redis_data;
  542. $data = input('post.');
  543. if(isset($data['dependence'])){
  544. $dependence=$data['dependence'];
  545. }else{
  546. $dependence['item']['value']= '全部';
  547. }
  548. if($dependence['item']['value'] == '全部'){
  549. $redis = redis();
  550. $result = json_decode($redis->get(md5('getjgsrs_redis')),true);
  551. }else{
  552. $redis = redis();
  553. $result = json_decode($redis->get(md5('getjgsr_redis')),true);
  554. }
  555. return json($result);
  556. }
  557. //承印色令->缓存调用 本级不包含集团教材外
  558. public function getcysl_redis(){
  559. $redis=redis();
  560. $redis_key = md5('getcysl_redis');
  561. $objmatier = Db::table('scyddx')->alias('objmatier')
  562. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  563. ->group('icydid')
  564. ->buildSql();
  565. $t5 = Db::table('mcyd')->alias('ord')
  566. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  567. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  568. ->where('ord.icydstate', '>', 0)
  569. ->where('chy', '<>', '集团教材外')
  570. ->group('rq')
  571. ->buildSql();
  572. $list2023 = Db::table($t5 . ' t5')
  573. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  574. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  575. ->find();
  576. $list2022 = Db::table($t5 . ' t5')
  577. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  578. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  579. ->find();
  580. $list2021 = Db::table($t5 . ' t5')
  581. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  582. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  583. ->find();
  584. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  585. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  586. $res['status']=0;
  587. $res['msg']='';
  588. $res['data']=$list;
  589. $redis->set($redis_key, json_encode($res));
  590. return json_encode($res);
  591. }
  592. //承印色令->缓存调用 全部包含集团教材外
  593. public function getcysls_redis(){
  594. $redis=redis();
  595. $redis_key = md5('getcysls_redis');
  596. $objmatier = Db::table('scyddx')->alias('objmatier')
  597. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  598. ->group('icydid')
  599. ->buildSql();
  600. $t5 = Db::table('mcyd')->alias('ord')
  601. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  602. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  603. ->where('ord.icydstate', '>', 0)
  604. // ->where('chy', '<>', '集团教材外')
  605. ->group('rq')
  606. ->buildSql();
  607. $list2023 = Db::table($t5 . ' t5')
  608. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  609. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  610. ->find();
  611. $list2022 = Db::table($t5 . ' t5')
  612. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  613. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  614. ->find();
  615. $list2021 = Db::table($t5 . ' t5')
  616. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  617. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  618. ->find();
  619. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  620. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  621. $res['status']=0;
  622. $res['msg']='';
  623. $res['data']=$list;
  624. $redis->set($redis_key, json_encode($res));
  625. return json_encode($res);
  626. }
  627. //承印色令->接口调用
  628. public function getcysl(){
  629. // $redis=redis();
  630. // $redis_key = md5('getcysl_redis');
  631. // $redis_data = $redis->get($redis_key);
  632. // return $redis_data;
  633. $data = input('post.');
  634. if(isset($data['dependence'])){
  635. $dependence=$data['dependence'];
  636. }else{
  637. $dependence['item']['value']= '全部';
  638. }
  639. if($dependence['item']['value'] == '全部'){
  640. $redis = redis();
  641. $result = json_decode($redis->get(md5('getcysls_redis')),true);
  642. }else{
  643. $redis = redis();
  644. $result = json_decode($redis->get(md5('getcysl_redis')),true);
  645. }
  646. return json($result);
  647. }
  648. //承印纸令->缓存调用 本级不包含集团教材外
  649. public function getcyzl_redis(){
  650. $redis=redis();
  651. $redis_key = md5('getcyzl_redis');
  652. $objmatier = Db::table('scyddx')->alias('objmatier')
  653. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  654. ->group('icydid')
  655. ->buildSql();
  656. $t5 = Db::table('mcyd')->alias('ord')
  657. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  658. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  659. ->where('ord.icydstate','>',0)
  660. ->where('chy', '<>', '集团教材外')
  661. ->group('rq')
  662. ->buildSql();
  663. $list2023 = Db::table($t5 . ' t5')
  664. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  665. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  666. ->find();
  667. $list2022 = Db::table($t5 . ' t5')
  668. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  669. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  670. ->find();
  671. $list2021 = Db::table($t5 . ' t5')
  672. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  673. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  674. ->find();
  675. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  676. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  677. $res['status']=0;
  678. $res['msg']='';
  679. $res['data']=$list;
  680. if($list){
  681. echo date("Y-m-d H:i:s").'存进去了';
  682. $redis->set($redis_key, json_encode($res));
  683. return json_encode($res);
  684. }
  685. }
  686. //承印纸令->缓存调用 全部包含集团教材外
  687. public function getcyzls_redis(){
  688. $redis=redis();
  689. $redis_key = md5('getcyzls_redis');
  690. $objmatier = Db::table('scyddx')->alias('objmatier')
  691. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  692. ->group('icydid')
  693. ->buildSql();
  694. $t5 = Db::table('mcyd')->alias('ord')
  695. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  696. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  697. ->where('ord.icydstate','>',0)
  698. ->group('rq')
  699. ->buildSql();
  700. $list2023 = Db::table($t5 . ' t5')
  701. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  702. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  703. ->find();
  704. $list2022 = Db::table($t5 . ' t5')
  705. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  706. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  707. ->find();
  708. $list2021 = Db::table($t5 . ' t5')
  709. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  710. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  711. ->find();
  712. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  713. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  714. $res['status']=0;
  715. $res['msg']='';
  716. $res['data']=$list;
  717. if($list){
  718. $redis->set($redis_key, json_encode($res));
  719. return json_encode($res);
  720. }
  721. }
  722. //承印纸令->接口调用
  723. public function getcyzl(){
  724. $data = input('post.');
  725. if(isset($data['dependence'])){
  726. $dependence=$data['dependence'];
  727. }else{
  728. $dependence['item']['value']= '全部';
  729. }
  730. if($dependence['item']['value'] == '全部'){
  731. $redis = redis();
  732. $result = json_decode($redis->get(md5('getcyzls_redis')),true);
  733. }else{
  734. $redis = redis();
  735. $result = json_decode($redis->get(md5('getcyzl_redis')),true);
  736. }
  737. return json($result);
  738. }
  739. //去年与当年--印刷实物产量色令->缓存调用
  740. public function yssl_redis(){
  741. $redis=redis();
  742. $redis_key = md5('yssl_redis');
  743. //首先定义了起始时间和结束时间
  744. //根据查询条件查出色令数据
  745. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  746. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  747. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  748. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  749. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  750. ->union(function ($query) {
  751. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  752. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  753. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  754. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  755. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  756. '小森八色01号机','小森八色02号机']);
  757. }, true)->buildSql();
  758. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  759. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  760. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  761. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  762. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  763. ->union(function ($query) {
  764. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  765. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  766. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  767. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  768. }, true)->buildSql();
  769. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  770. ->whereIn('cbzmc', [
  771. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  772. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  773. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  774. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  775. ->union(function ($query) {
  776. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  777. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  778. ->whereIn('cMachineName', ['标规小森商轮1号',
  779. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  780. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号']);
  781. }, true)
  782. ->buildSql();
  783. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  784. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  785. ->union(function ($query) {
  786. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  787. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  788. })->buildSql();
  789. //查询每天的数据
  790. $subQuery1 = Db::table($subQuery1_child . 'T')
  791. ->field('rq,SUM( fsjsl ) nFourColorSL')
  792. ->group('rq')->buildSql();
  793. //查询每天的数据
  794. $subQuery2 = Db::table($subQuery2_child . 'T')
  795. ->field('rq,SUM( fsjsl ) nBBSL')
  796. ->group('rq')->buildSql();
  797. //查询每天的数据
  798. $subQuery3 = Db::table($subQuery3_child . 'T')
  799. ->field('rq,SUM( fsjsl ) nnRotationSL')
  800. ->group('rq')->buildSql();
  801. //按当天日期进行分组 累计相加当天数据
  802. $subQuery1_5 = Db::table($subQuery . 'A')
  803. ->field('
  804. DISTINCT DATE(A.RQ) RQ,
  805. sum(h.nBBSL) AS nBBSL,
  806. sum(B.nFourColorSL) AS nFourColorSL,
  807. sum(P.nnRotationSL) AS nnRotationSL
  808. ')
  809. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  810. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  811. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  812. ->group('RQ')
  813. ->buildSql();
  814. // 获取当前年份和前两年的年份
  815. $currentYear = date("Y");
  816. $lastYear = date("Y", strtotime("-1 year"));
  817. $twoYearsAgo = date("Y", strtotime("-2 years"));
  818. // 查询SQL,按月份分组计算
  819. $sql_final = Db::table($subQuery1_5 . ' db')
  820. ->field("
  821. DATE_FORMAT(db.RQ, '%Y-%m') AS '日期',
  822. ROUND(SUM(db.nBBSL) + SUM(db.nFourColorSL) + SUM(db.nnRotationSL)) AS '印刷实物产量色令数'
  823. ")
  824. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  825. ->group("DATE_FORMAT(db.RQ, '%Y-%m')")
  826. ->select();
  827. // 初始化数据结构
  828. $list['categories'] = [];
  829. $list['series'] = [
  830. 0 => ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)],
  831. 1 => ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)],
  832. 2 => ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)],
  833. ];
  834. // 填充月份数据
  835. foreach (range(1, 12) as $month) {
  836. $list['categories'][] = str_pad($month, 2, '0', STR_PAD_LEFT); // 月份:01, 02, ..., 12
  837. }
  838. // 当前月份
  839. $currentMonth = date("m");
  840. // 处理查询结果
  841. foreach ($sql_final as $v) {
  842. // 提取年份和月份
  843. $yearMonth = $v['日期'];
  844. $year = date('Y', strtotime($yearMonth));
  845. $month = date('m', strtotime($yearMonth)) - 1; // 索引从0开始
  846. if ($year == $currentYear) {
  847. $list['series'][2]['data'][$month] = $v['印刷实物产量色令数']; // 填充当前年数据
  848. } elseif ($year == $lastYear) {
  849. $list['series'][1]['data'][$month] = $v['印刷实物产量色令数']; // 填充去年数据
  850. } elseif ($year == $twoYearsAgo) {
  851. $list['series'][0]['data'][$month] = $v['印刷实物产量色令数']; // 填充前两年数据
  852. }
  853. }
  854. // 如果某一年没有数据,填充为0
  855. if (!isset($list['series'][1]['data'][$currentMonth - 1])) {
  856. $list['series'][1]['data'][$currentMonth - 1] = 0;
  857. }
  858. // 返回数据
  859. $res['status'] = 0;
  860. $res['msg'] = '';
  861. $res['data'] = $list;
  862. // 将结果存入缓存
  863. $redis->set($redis_key, json_encode($res));
  864. // 返回结果
  865. return json_encode($res);
  866. // //按每个月进行查询 累计相加每月数据
  867. // $sql_final = Db::table($subQuery1_5 . ' db')
  868. // ->field("
  869. // DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  870. // ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量色令数'
  871. // ")
  872. // ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  873. // // ->group('MONTH(db.RQ)')
  874. // ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  875. // ->select();
  876. // $i=0;
  877. // $j=0;
  878. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  879. // $year = date("Y");
  880. // $currentMonth = date("m"); // 当前月份
  881. // $currentYearJanuary = $year . "-01";
  882. // $hasDataFor_year = false;
  883. // foreach($sql_final as $v){
  884. // if($v['日期']>=$currentYearJanuary){
  885. // $list['series'][1]['name']=date("Y").'年';
  886. // $list['series'][1]['data'][$j]=$v['印刷实物产量色令数'];
  887. // $j++;
  888. // if(date('Y', strtotime($v['日期'])) == date("Y")) {
  889. // $hasDataFor_year = true;
  890. // }
  891. // }else{
  892. // $list['series'][0]['name']= date("Y", strtotime("-1 year")).'年';
  893. // $list['series'][0]['data'][$i]=$v['印刷实物产量色令数'];
  894. // $i++;
  895. // }
  896. // }
  897. // // 如果2024年没有数据,添加一个
  898. // if(!$hasDataFor_year) {
  899. // $list['series'][] = [
  900. // 'name' => date("Y"),
  901. // 'data' => array_fill(0, $currentMonth, 0)
  902. // ];
  903. // }
  904. // $res['status']=0;
  905. // $res['msg']='';
  906. // $res['data']=$list;
  907. // $redis->set($redis_key, json_encode($res));
  908. // // halt(json_decode($redis->get($redis_key),true));
  909. // return json_encode($res);
  910. }
  911. //去年与当年--印刷实物产量色令->接口调用
  912. public function yssl(){
  913. $redis=redis();
  914. $redis_key = md5('yssl_redis');
  915. $redis_data = $redis->get($redis_key);
  916. return $redis_data;
  917. }
  918. //去年与当年--印刷实物产量纸令->缓存调用
  919. public function yszl_redis(){
  920. $redis=redis();
  921. $redis_key = md5('yszl_redis');
  922. //首先定义了起始时间和结束时间
  923. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  924. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  925. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  926. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  927. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  928. ->union(function ($query) {
  929. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl')
  930. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  931. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  932. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  933. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  934. '小森八色01号机','小森八色02号机']);
  935. }, true)->buildSql();
  936. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  937. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  938. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  939. 'BB机5号(甲班)','BB机5号(乙班)',
  940. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  941. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  942. ->union(function ($query) {
  943. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  944. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  945. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  946. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  947. }, true)->buildSql();
  948. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  949. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  950. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  951. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  952. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  953. ->union(function ($query) {
  954. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  955. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  956. ->whereIn('cMachineName', ['标规小森商轮1号',
  957. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  958. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号']);
  959. }, true)->buildSql();
  960. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  961. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  962. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  963. })->buildSql();
  964. //四色机纸令合计
  965. $subQuery1 = Db::table($subQuery1_child . 'T')
  966. ->field('rq,SUM( fsjls ) nFourColorSL')
  967. ->group('rq')->buildSql();
  968. //BB机纸令合计
  969. $subQuery2 = Db::table($subQuery2_child . 'T')
  970. ->field('rq,SUM( fsjls ) nBBSL')
  971. ->group('rq')->buildSql();
  972. //轮转纸令合计
  973. $subQuery3 = Db::table($subQuery3_child . 'T')
  974. ->field('rq,SUM( fsjls ) nnRotationSL ')
  975. ->group('rq')->buildSql();
  976. $subQuery1_5 = Db::table($subQuery . 'A')
  977. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL')
  978. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  979. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  980. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  981. ->buildSql();
  982. // 获取当前年份和前两年的年份
  983. $currentYear = date("Y"); // 当前年份
  984. $lastYear = date("Y", strtotime("-1 year")); // 去年
  985. $twoYearsAgo = date("Y", strtotime("-2 years")); // 前两年
  986. // 查询数据,按年月分组统计
  987. $sql_final = Db::table($subQuery1_5 . ' db')
  988. ->field("
  989. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  990. ROUND(SUM( db.nBBSL ) + SUM( db.nFourColorSL ) + SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  991. ")
  992. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  993. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  994. ->select();
  995. // 初始化数据结构
  996. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 月份
  997. $list['series'] = [
  998. ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], // 初始化前两年的数据为0
  999. ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化去年的数据为0
  1000. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化今年的数据为0
  1001. ];
  1002. // 当前月份(主要用于当前年数据的处理)
  1003. $currentMonth = date("m");
  1004. // 遍历查询结果,按年份和月份分配数据
  1005. foreach ($sql_final as $v) {
  1006. // 提取年份和月份
  1007. $yearMonth = $v['日期']; // 格式:YYYY-MM
  1008. $year = date('Y', strtotime($yearMonth)); // 提取年份
  1009. $month = date('m', strtotime($yearMonth)) - 1; // 月份(数组索引从0开始)
  1010. // 根据年份分配数据
  1011. if ($year == $currentYear) {
  1012. $list['series'][2]['data'][$month] = $v['印刷实物产量纸令数']; // 填充今年数据
  1013. } elseif ($year == $lastYear) {
  1014. $list['series'][1]['data'][$month] = $v['印刷实物产量纸令数']; // 填充去年数据
  1015. } elseif ($year == $twoYearsAgo) {
  1016. $list['series'][0]['data'][$month] = $v['印刷实物产量纸令数']; // 填充前两年数据
  1017. }
  1018. }
  1019. // 返回处理后的数据结构
  1020. $res['status'] = 0;
  1021. $res['msg'] = '';
  1022. $res['data'] = $list;
  1023. // 缓存数据到 Redis
  1024. $redis->set($redis_key, json_encode($res));
  1025. // 返回最终结果
  1026. return json_encode($res);
  1027. // $sql_final = Db::table($subQuery1_5 . ' db')
  1028. // ->field("
  1029. // DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  1030. // ROUND(SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  1031. // ")
  1032. // ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  1033. // // ->group('MONTH(db.RQ)')
  1034. // ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  1035. // ->select();
  1036. // $i=0;
  1037. // $j=0;
  1038. // $list['categories']=['01','02','03','04','05','06','07','08','09','10','11','12'];
  1039. // $year = date("Y");
  1040. // $currentMonth = date("m"); // 当前月份
  1041. // $currentYearJanuary = $year . "-01";
  1042. // $hasDataFor_year = false;
  1043. // foreach($sql_final as $v){
  1044. // if($v['日期']>=$currentYearJanuary){
  1045. // $list['series'][1]['name']=date("Y").'年';
  1046. // $list['series'][1]['data'][$j]=$v['印刷实物产量纸令数'];
  1047. // $j++;
  1048. // if(date('Y', strtotime($v['日期'])) == date("Y")) {
  1049. // $hasDataFor_year = true;
  1050. // }
  1051. // }else{
  1052. // $list['series'][0]['name']=date("Y", strtotime("-1 year")).'年';
  1053. // $list['series'][0]['data'][$i]=$v['印刷实物产量纸令数'];
  1054. // $i++;
  1055. // }
  1056. // }
  1057. // // 如果2024年没有数据,添加一个
  1058. // if(!$hasDataFor_year) {
  1059. // $list['series'][] = [
  1060. // 'name' => date("Y"),
  1061. // 'data' => array_fill(0, $currentMonth, 0) // 用0填充12个月
  1062. // ];
  1063. // }
  1064. // $res['status']=0;
  1065. // $res['msg']='';
  1066. // $res['data']=$list;
  1067. // $redis->set($redis_key, json_encode($res));
  1068. // // halt(json_decode($redis->get($redis_key),true));
  1069. // return json_encode($res);
  1070. }
  1071. //去年与当年--印刷实物产量纸令->接口调用
  1072. public function yszl(){
  1073. $redis=redis();
  1074. $redis_key = md5('yszl_redis');
  1075. $redis_data = $redis->get($redis_key);
  1076. return $redis_data;
  1077. }
  1078. //去年装订实物产量册数->缓存调用
  1079. public function zdcs2022(){
  1080. $redis=redis();
  1081. $redis_key = md5('zdcs2022');
  1082. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1083. ->union(function ($query) {
  1084. $query->table('scDayRpt_Teams')->alias('b')
  1085. ->field("DISTINCT DATE_FORMAT(
  1086. CASE
  1087. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1088. ELSE b.dOnDuty
  1089. END,
  1090. '%Y-%m-%d'
  1091. ) AS RQ");
  1092. }, true)
  1093. ->buildSql();
  1094. $B1 = Db::table('cpjtfk')
  1095. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1096. ->field("
  1097. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1098. sum(iwcl) as 精1乙
  1099. ")
  1100. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1101. ->group('drptdate,cbanzu')
  1102. ->buildSql();
  1103. $rr = Db::table('scyddx')->alias('r')
  1104. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1105. ->group('r.ICYDID')
  1106. ->buildSql();
  1107. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1108. ->field("
  1109. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1110. sum(a.nAmount) as 精11乙
  1111. ")
  1112. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1113. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1114. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1115. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1116. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1117. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1118. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  1119. ->group("CASE
  1120. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1121. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1122. END,Name_WorkGroup")
  1123. ->buildSql();
  1124. $db = Db::table($A . 'a')
  1125. ->field("
  1126. DISTINCT DATE(A.RQ) rq,
  1127. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1128. ")
  1129. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1130. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1131. ->group('rq')
  1132. ->buildSql();
  1133. $jp = Db::table($db . ' db')
  1134. ->field("
  1135. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1136. ROUND(sum(db.总计册), 0) as 精平册数
  1137. ")->where("db.RQ >= '{$this->qstart_time()}'
  1138. AND db.RQ <= '{$this->qend_time()}' ")
  1139. ->group('MONTH(db.rq)')
  1140. ->select();
  1141. $B = Db::table('cpjtfk')
  1142. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1143. ->field("
  1144. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1145. sum(iwcl) as 马1甲
  1146. ")
  1147. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1148. ->group('drptdate,cbanzu')
  1149. ->buildSql();
  1150. $B1 = Db::table('cpjtfk')
  1151. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1152. ->field("
  1153. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1154. sum(iwcl) as 马1乙
  1155. ")
  1156. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1157. ->group('drptdate,cbanzu')
  1158. ->buildSql();
  1159. $C = Db::table('cpjtfk')
  1160. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1161. ->field("
  1162. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1163. sum(iwcl) as 马2甲
  1164. ")
  1165. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1166. ->group('drptdate,cbanzu')
  1167. ->buildSql();
  1168. $C1 = Db::table('cpjtfk')
  1169. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1170. ->field("
  1171. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1172. sum(iwcl) as 马2乙
  1173. ")
  1174. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1175. ->group('drptdate,cbanzu')
  1176. ->buildSql();
  1177. $D = Db::table('cpjtfk')
  1178. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1179. ->field("
  1180. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1181. sum(iwcl) as 马3甲
  1182. ")
  1183. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1184. ->group('drptdate,cbanzu')
  1185. ->buildSql();
  1186. $D1 = Db::table('cpjtfk')
  1187. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1188. ->field("
  1189. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1190. sum(iwcl) as 马3乙
  1191. ")
  1192. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1193. ->group('drptdate,cbanzu')
  1194. ->buildSql();
  1195. $E = Db::table('cpjtfk')
  1196. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1197. ->field("
  1198. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1199. sum(iwcl) as 马4甲
  1200. ")
  1201. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1202. ->group('drptdate,cbanzu')
  1203. ->buildSql();
  1204. $E1 = Db::table('cpjtfk')
  1205. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1206. ->field("
  1207. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1208. sum(iwcl) as 马4乙
  1209. ")
  1210. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1211. ->group('drptdate,cbanzu')
  1212. ->buildSql();
  1213. $F = Db::table('cpjtfk')
  1214. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1215. ->field("
  1216. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1217. sum(iwcl) as 马5甲
  1218. ")
  1219. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1220. ->group('drptdate,cbanzu')
  1221. ->buildSql();
  1222. $F1 = Db::table('cpjtfk')
  1223. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1224. ->field("
  1225. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1226. sum(iwcl) as 马5乙,
  1227. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1228. ")
  1229. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1230. ->group('drptdate,cbanzu')
  1231. ->buildSql();
  1232. $rr = Db::table('scyddx')->alias('r')
  1233. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1234. ->group('r.ICYDID')
  1235. ->buildSql();
  1236. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1237. ->field("
  1238. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1239. sum(a.nAmount) as 马11甲")
  1240. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1241. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1242. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1243. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1244. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1245. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1246. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1247. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1248. ->group("CASE
  1249. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1250. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1251. END,Name_WorkGroup")->buildSql();
  1252. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1253. ->field("
  1254. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1255. sum(a.nAmount) as 马11乙
  1256. ")
  1257. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1258. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1259. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1260. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1261. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1262. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1263. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1264. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1265. ->group("CASE
  1266. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1267. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1268. END,Name_WorkGroup")
  1269. ->buildSql();
  1270. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1271. ->field("
  1272. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1273. sum(a.nAmount) as 马22甲
  1274. ")
  1275. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1276. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1277. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1278. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1279. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1280. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1281. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1282. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1283. ->group("CASE
  1284. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1285. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1286. END,Name_WorkGroup")
  1287. ->buildSql();
  1288. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1289. ->field("
  1290. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1291. sum(a.nAmount) as 马22乙
  1292. ")
  1293. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1294. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1295. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1296. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1297. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1298. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1299. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1300. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1301. ->group("CASE
  1302. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1303. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1304. END,Name_WorkGroup")
  1305. ->buildSql();
  1306. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1307. ->field("
  1308. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1309. sum(a.nAmount) as 马33甲
  1310. ")
  1311. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1312. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1313. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1314. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1315. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1316. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1317. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1318. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1319. ->group("CASE
  1320. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1321. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1322. END,Name_WorkGroup")
  1323. ->buildSql();
  1324. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1325. ->field("
  1326. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1327. sum(a.nAmount) as 马33乙
  1328. ")
  1329. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1330. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1331. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1332. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1333. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1334. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1335. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1336. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1337. ->group("CASE
  1338. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1339. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1340. END,Name_WorkGroup")
  1341. ->buildSql();
  1342. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1343. ->field("
  1344. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1345. sum(a.nAmount) as 马44甲
  1346. ")
  1347. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1348. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1349. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1350. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1351. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1352. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1353. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1354. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1355. ->group("CASE
  1356. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1357. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1358. END,Name_WorkGroup")
  1359. ->buildSql();
  1360. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1361. ->field("
  1362. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1363. sum(a.nAmount) as 马44乙
  1364. ")
  1365. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1366. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1367. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1368. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1369. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1370. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1371. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1372. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1373. ->group("CASE
  1374. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1375. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1376. END,Name_WorkGroup")
  1377. ->buildSql();
  1378. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1379. ->field("
  1380. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1381. sum(a.nAmount) as 马55甲
  1382. ")
  1383. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1384. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1385. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1386. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1387. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1388. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1389. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1390. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1391. ->group("CASE
  1392. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1393. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1394. END,Name_WorkGroup")
  1395. ->buildSql();
  1396. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1397. ->field("
  1398. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1399. sum(a.nAmount) as 马66甲
  1400. ")
  1401. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1402. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1403. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1404. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1405. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1406. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1407. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1408. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1409. ->group("CASE
  1410. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1411. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1412. END,Name_WorkGroup")
  1413. ->buildSql();
  1414. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1415. ->field("
  1416. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1417. sum(a.nAmount) as 马77甲
  1418. ")
  1419. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1420. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1421. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1422. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1423. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1424. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1425. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1426. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1427. ->group("CASE
  1428. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1429. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1430. END,Name_WorkGroup")
  1431. ->buildSql();
  1432. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1433. ->field("
  1434. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1435. sum(a.nAmount) as 马55乙
  1436. ")
  1437. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1438. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1439. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1440. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1441. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1442. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1443. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1444. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1445. ->group("CASE
  1446. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1447. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1448. END,Name_WorkGroup")
  1449. ->buildSql();
  1450. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1451. ->field("
  1452. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1453. sum(a.nAmount) as 马66乙
  1454. ")
  1455. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1456. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1457. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1458. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1459. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1460. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1461. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1462. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1463. ->group("CASE
  1464. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1465. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1466. END,Name_WorkGroup")
  1467. ->buildSql();
  1468. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1469. ->field("
  1470. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1471. sum(a.nAmount) as 马77乙
  1472. ")
  1473. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1474. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1475. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1476. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1477. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1478. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1479. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  1480. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1481. ->group("CASE
  1482. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1483. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1484. END,Name_WorkGroup")
  1485. ->buildSql();
  1486. $db = Db::table($A . 'a')
  1487. ->field("
  1488. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  1489. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  1490. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  1491. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  1492. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  1493. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  1494. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  1495. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  1496. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  1497. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  1498. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  1499. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  1500. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  1501. ")
  1502. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  1503. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1504. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  1505. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  1506. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  1507. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  1508. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  1509. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  1510. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  1511. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  1512. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1513. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1514. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  1515. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  1516. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  1517. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  1518. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  1519. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  1520. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  1521. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  1522. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  1523. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  1524. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  1525. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  1526. ->buildSql();
  1527. $jd = Db::table($db . ' db')
  1528. ->field("
  1529. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1530. ROUND(sum(db.总计册), 0) as 无线胶订册数
  1531. ")->where("db.RQ >= '{$this->qstart_time()}'
  1532. AND db.RQ <= '{$this->qend_time()}' ")
  1533. ->group('MONTH(db.rq)')
  1534. ->select();
  1535. $B = Db::table('cpjtfk')
  1536. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1537. ->field("
  1538. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1539. Sum(iWcl) AS '簿1甲'
  1540. ")
  1541. ->where('cbanzu','=','簿册机1号(甲班)')
  1542. ->group('drptdate,cbanzu')
  1543. ->buildSql();
  1544. $B1 = Db::table('cpjtfk')
  1545. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1546. ->field("
  1547. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1548. Sum(iWcl) AS '簿1乙'
  1549. ")
  1550. ->where('cbanzu','=','簿册机1号(乙班)')
  1551. ->group('drptdate,cbanzu')
  1552. ->buildSql();
  1553. $rr = Db::table('scyddx')->alias('r')
  1554. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1555. ->group('r.ICYDID')
  1556. ->buildSql();
  1557. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1558. ->field("
  1559. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1560. Sum(a.nAmount) AS '簿11甲'
  1561. ")
  1562. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1563. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1564. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1565. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1566. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1567. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1568. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  1569. ->where('a.cTechName' ,'=','簿册联动')
  1570. ->group("CASE
  1571. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1572. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1573. END,Name_WorkGroup")
  1574. ->buildSql();
  1575. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1576. ->field("
  1577. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1578. Sum(a.nAmount) AS '簿11乙'
  1579. ")
  1580. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1581. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1582. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1583. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1584. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1585. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1586. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  1587. ->where('a.cTechName' ,'=','簿册联动')
  1588. ->group("CASE
  1589. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1590. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1591. END,Name_WorkGroup")
  1592. ->buildSql();
  1593. $db = Db::table($A . 'a')
  1594. ->field("
  1595. DISTINCT DATE(A.RQ) rq,
  1596. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  1597. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  1598. ")
  1599. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  1600. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1601. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1602. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1603. ->group('rq')
  1604. ->buildSql();
  1605. $bc = Db::table($db . ' db')
  1606. ->field("
  1607. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1608. ROUND(sum(db.总计册), 0) as 簿册册数
  1609. ")->where("db.RQ >= '{$this->qstart_time()}'
  1610. AND db.RQ <= '{$this->qend_time()}' ")
  1611. ->group('MONTH(db.rq)')
  1612. ->select();
  1613. // 创建一个结果数组
  1614. $result=[];
  1615. $result1 = [];
  1616. // 遍历第一个数组,并将数据加入结果数组
  1617. foreach ($jp as $val1) {
  1618. $month = $val1['日期'];
  1619. $data1 = $val1['精平册数'];
  1620. if (!isset($result[$month])) {
  1621. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1622. }
  1623. if (!isset($result1[$month])) {
  1624. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1625. }
  1626. $result1[$month] += $data1; // 累加第一个数组的数据
  1627. }
  1628. // 遍历第二个数组,并将数据加入结果数组
  1629. foreach ($jd as $val2) {
  1630. $month = $val2['日期'];
  1631. $data1 = $val2['无线胶订册数'];
  1632. if (!isset($result[$month])) {
  1633. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1634. }
  1635. if (!isset($result1[$month])) {
  1636. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1637. }
  1638. $result1[$month] += $data1; // 累加第二个数组的数据
  1639. }
  1640. foreach ($bc as $val2) {
  1641. $month = $val2['日期'];
  1642. $data1 = $val2['簿册册数'];
  1643. if (!isset($result[$month])) {
  1644. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1645. }
  1646. if (!isset($result1[$month])) {
  1647. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1648. }
  1649. $result1[$month] += $data1; // 累加第二个数组的数据
  1650. }
  1651. foreach($result1 as $k=>$v){
  1652. $list['categories'][]=$k;
  1653. $list['series'][0]['name']='装订实物产量册数';
  1654. $list['series'][0]['data'][]=$v;
  1655. }
  1656. $res['status']=0;
  1657. $res['msg']='';
  1658. $res['data']=$list;
  1659. $redis->set($redis_key, json_encode($result1));
  1660. // halt(json_decode($redis->get($redis_key),true));
  1661. return json_encode($result1);
  1662. }
  1663. //当年装订实物产量册数->缓存调用
  1664. public function zdcs2023(){
  1665. $redis=redis();
  1666. $redis_key = md5('zdcs2023');
  1667. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1668. ->union(function ($query) {
  1669. $query->table('scDayRpt_Teams')->alias('b')
  1670. ->field("DISTINCT DATE_FORMAT(
  1671. CASE
  1672. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1673. ELSE b.dOnDuty
  1674. END,
  1675. '%Y-%m-%d'
  1676. ) AS RQ");
  1677. }, true)
  1678. ->buildSql();
  1679. $B1 = Db::table('cpjtfk')
  1680. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1681. ->field("
  1682. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1683. sum(iwcl) as 精1乙
  1684. ")
  1685. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1686. ->group('drptdate,cbanzu')
  1687. ->buildSql();
  1688. $rr = Db::table('scyddx')->alias('r')
  1689. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1690. ->group('r.ICYDID')
  1691. ->buildSql();
  1692. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1693. ->field("
  1694. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1695. sum(a.nAmount) as 精11乙
  1696. ")
  1697. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1698. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1699. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1700. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1701. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1702. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1703. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  1704. ->group("CASE
  1705. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1706. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1707. END,Name_WorkGroup")
  1708. ->buildSql();
  1709. $db = Db::table($A . 'a')
  1710. ->field("
  1711. DISTINCT DATE(A.RQ) rq,
  1712. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1713. ")
  1714. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1715. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1716. ->group('rq')
  1717. ->buildSql();
  1718. $jp = Db::table($db . ' db')
  1719. ->field("
  1720. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1721. ROUND(sum(db.总计册), 0) as 精平册数
  1722. ")->where("db.RQ >= '{$this->start_time()}'
  1723. AND db.RQ <= '{$this->end_time()}' ")
  1724. ->group('MONTH(db.rq)')
  1725. ->select();
  1726. $B = Db::table('cpjtfk')
  1727. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1728. ->field("
  1729. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1730. sum(iwcl) as 马1甲
  1731. ")
  1732. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1733. ->group('drptdate,cbanzu')
  1734. ->buildSql();
  1735. $B1 = Db::table('cpjtfk')
  1736. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1737. ->field("
  1738. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1739. sum(iwcl) as 马1乙
  1740. ")
  1741. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1742. ->group('drptdate,cbanzu')
  1743. ->buildSql();
  1744. $C = Db::table('cpjtfk')
  1745. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1746. ->field("
  1747. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1748. sum(iwcl) as 马2甲
  1749. ")
  1750. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1751. ->group('drptdate,cbanzu')
  1752. ->buildSql();
  1753. $C1 = Db::table('cpjtfk')
  1754. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1755. ->field("
  1756. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1757. sum(iwcl) as 马2乙
  1758. ")
  1759. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1760. ->group('drptdate,cbanzu')
  1761. ->buildSql();
  1762. $D = Db::table('cpjtfk')
  1763. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1764. ->field("
  1765. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1766. sum(iwcl) as 马3甲
  1767. ")
  1768. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1769. ->group('drptdate,cbanzu')
  1770. ->buildSql();
  1771. $D1 = Db::table('cpjtfk')
  1772. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1773. ->field("
  1774. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1775. sum(iwcl) as 马3乙
  1776. ")
  1777. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1778. ->group('drptdate,cbanzu')
  1779. ->buildSql();
  1780. $E = Db::table('cpjtfk')
  1781. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1782. ->field("
  1783. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1784. sum(iwcl) as 马4甲
  1785. ")
  1786. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1787. ->group('drptdate,cbanzu')
  1788. ->buildSql();
  1789. $E1 = Db::table('cpjtfk')
  1790. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1791. ->field("
  1792. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1793. sum(iwcl) as 马4乙
  1794. ")
  1795. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1796. ->group('drptdate,cbanzu')
  1797. ->buildSql();
  1798. $F = Db::table('cpjtfk')
  1799. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1800. ->field("
  1801. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1802. sum(iwcl) as 马5甲
  1803. ")
  1804. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1805. ->group('drptdate,cbanzu')
  1806. ->buildSql();
  1807. $F1 = Db::table('cpjtfk')
  1808. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1809. ->field("
  1810. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1811. sum(iwcl) as 马5乙,
  1812. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1813. ")
  1814. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1815. ->group('drptdate,cbanzu')
  1816. ->buildSql();
  1817. $rr = Db::table('scyddx')->alias('r')
  1818. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1819. ->group('r.ICYDID')
  1820. ->buildSql();
  1821. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1822. ->field("
  1823. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1824. sum(a.nAmount) as 马11甲")
  1825. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1826. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1827. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1828. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1829. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1830. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1831. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1832. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1833. ->group("CASE
  1834. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1835. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1836. END,Name_WorkGroup")->buildSql();
  1837. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1838. ->field("
  1839. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1840. sum(a.nAmount) as 马11乙
  1841. ")
  1842. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1843. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1844. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1845. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1846. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1847. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1848. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1849. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1850. ->group("CASE
  1851. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1852. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1853. END,Name_WorkGroup")
  1854. ->buildSql();
  1855. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1856. ->field("
  1857. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1858. sum(a.nAmount) as 马22甲
  1859. ")
  1860. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1861. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1862. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1863. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1864. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1865. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1866. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1867. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1868. ->group("CASE
  1869. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1870. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1871. END,Name_WorkGroup")
  1872. ->buildSql();
  1873. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1874. ->field("
  1875. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1876. sum(a.nAmount) as 马22乙
  1877. ")
  1878. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1879. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1880. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1881. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1882. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1883. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1884. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1885. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1886. ->group("CASE
  1887. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1888. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1889. END,Name_WorkGroup")
  1890. ->buildSql();
  1891. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1892. ->field("
  1893. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1894. sum(a.nAmount) as 马33甲
  1895. ")
  1896. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1897. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1898. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1899. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1900. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1901. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1902. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1903. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1904. ->group("CASE
  1905. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1906. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1907. END,Name_WorkGroup")
  1908. ->buildSql();
  1909. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1910. ->field("
  1911. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1912. sum(a.nAmount) as 马33乙
  1913. ")
  1914. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1915. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1916. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1917. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1918. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1919. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1920. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1921. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1922. ->group("CASE
  1923. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1924. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1925. END,Name_WorkGroup")
  1926. ->buildSql();
  1927. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1928. ->field("
  1929. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1930. sum(a.nAmount) as 马44甲
  1931. ")
  1932. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1933. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1934. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1935. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1936. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1937. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1938. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1939. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1940. ->group("CASE
  1941. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1942. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1943. END,Name_WorkGroup")
  1944. ->buildSql();
  1945. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1946. ->field("
  1947. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1948. sum(a.nAmount) as 马44乙
  1949. ")
  1950. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1951. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1952. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1953. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1954. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1955. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1956. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1957. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1958. ->group("CASE
  1959. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1960. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1961. END,Name_WorkGroup")
  1962. ->buildSql();
  1963. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1964. ->field("
  1965. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1966. sum(a.nAmount) as 马55甲
  1967. ")
  1968. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1969. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1970. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1971. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1972. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1973. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1974. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1975. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1976. ->group("CASE
  1977. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1978. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1979. END,Name_WorkGroup")
  1980. ->buildSql();
  1981. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1982. ->field("
  1983. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  1984. sum(a.nAmount) as 马66甲
  1985. ")
  1986. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1987. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1988. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1989. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1990. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1991. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1992. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1993. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1994. ->group("CASE
  1995. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1996. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1997. END,Name_WorkGroup")
  1998. ->buildSql();
  1999. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2000. ->field("
  2001. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2002. sum(a.nAmount) as 马77甲
  2003. ")
  2004. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2005. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2006. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2007. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2008. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2009. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2010. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2011. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2012. ->group("CASE
  2013. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2014. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2015. END,Name_WorkGroup")
  2016. ->buildSql();
  2017. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2018. ->field("
  2019. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2020. sum(a.nAmount) as 马55乙
  2021. ")
  2022. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2023. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2024. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2025. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2026. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2027. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2028. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2029. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2030. ->group("CASE
  2031. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2032. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2033. END,Name_WorkGroup")
  2034. ->buildSql();
  2035. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2036. ->field("
  2037. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2038. sum(a.nAmount) as 马66乙
  2039. ")
  2040. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2041. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2042. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2043. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2044. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2045. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2046. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2047. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2048. ->group("CASE
  2049. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2050. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2051. END,Name_WorkGroup")
  2052. ->buildSql();
  2053. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2054. ->field("
  2055. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2056. sum(a.nAmount) as 马77乙
  2057. ")
  2058. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2059. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2060. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2061. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2062. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2063. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2064. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2065. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2066. ->group("CASE
  2067. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2068. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2069. END,Name_WorkGroup")
  2070. ->buildSql();
  2071. $db = Db::table($A . 'a')
  2072. ->field("
  2073. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2074. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2075. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2076. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2077. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2078. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2079. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2080. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2081. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2082. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2083. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2084. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2085. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2086. ")
  2087. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2088. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2089. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2090. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2091. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2092. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2093. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2094. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2095. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2096. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2097. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2098. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2099. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2100. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2101. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2102. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2103. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2104. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2105. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2106. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2107. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2108. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2109. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2110. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2111. ->buildSql();
  2112. $jd = Db::table($db . ' db')
  2113. ->field("
  2114. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2115. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2116. ")->where("db.RQ >= '{$this->start_time()}'
  2117. AND db.RQ <= '{$this->end_time()}' ")
  2118. ->group('MONTH(db.rq)')
  2119. ->select();
  2120. $B = Db::table('cpjtfk')
  2121. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2122. ->field("
  2123. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2124. Sum(iWcl) AS '簿1甲'
  2125. ")
  2126. ->where('cbanzu','=','簿册机1号(甲班)')
  2127. ->group('drptdate,cbanzu')
  2128. ->buildSql();
  2129. $B1 = Db::table('cpjtfk')
  2130. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2131. ->field("
  2132. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2133. Sum(iWcl) AS '簿1乙'
  2134. ")
  2135. ->where('cbanzu','=','簿册机1号(乙班)')
  2136. ->group('drptdate,cbanzu')
  2137. ->buildSql();
  2138. $rr = Db::table('scyddx')->alias('r')
  2139. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2140. ->group('r.ICYDID')
  2141. ->buildSql();
  2142. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2143. ->field("
  2144. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2145. Sum(a.nAmount) AS '簿11甲'
  2146. ")
  2147. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2148. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2149. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2150. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2151. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2152. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2153. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2154. ->where('a.cTechName' ,'=','簿册联动')
  2155. ->group("CASE
  2156. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2157. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2158. END,Name_WorkGroup")
  2159. ->buildSql();
  2160. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2161. ->field("
  2162. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2163. Sum(a.nAmount) AS '簿11乙'
  2164. ")
  2165. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2166. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2167. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2168. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2169. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2170. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2171. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2172. ->where('a.cTechName' ,'=','簿册联动')
  2173. ->group("CASE
  2174. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2175. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2176. END,Name_WorkGroup")
  2177. ->buildSql();
  2178. $db = Db::table($A . 'a')
  2179. ->field("
  2180. DISTINCT DATE(A.RQ) rq,
  2181. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2182. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2183. ")
  2184. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2185. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2186. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2187. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2188. ->group('rq')
  2189. ->buildSql();
  2190. $bc = Db::table($db . ' db')
  2191. ->field("
  2192. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2193. ROUND(sum(db.总计册), 0) as 簿册册数
  2194. ")->where("db.RQ >= '{$this->start_time()}'
  2195. AND db.RQ <= '{$this->end_time()}' ")
  2196. ->group('MONTH(db.rq)')
  2197. ->select();
  2198. // 创建一个结果数组
  2199. $result=[];
  2200. $result1 = [];
  2201. // 遍历第一个数组,并将数据加入结果数组
  2202. foreach ($jp as $val1) {
  2203. $month = $val1['日期'];
  2204. $data1 = $val1['精平册数'];
  2205. if (!isset($result[$month])) {
  2206. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2207. }
  2208. if (!isset($result1[$month])) {
  2209. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2210. }
  2211. $result1[$month] += $data1; // 累加第一个数组的数据
  2212. }
  2213. // 遍历第二个数组,并将数据加入结果数组
  2214. foreach ($jd as $val2) {
  2215. $month = $val2['日期'];
  2216. $data1 = $val2['无线胶订册数'];
  2217. if (!isset($result[$month])) {
  2218. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2219. }
  2220. if (!isset($result1[$month])) {
  2221. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2222. }
  2223. $result1[$month] += $data1; // 累加第二个数组的数据
  2224. }
  2225. foreach ($bc as $val2) {
  2226. $month = $val2['日期'];
  2227. $data1 = $val2['簿册册数'];
  2228. if (!isset($result[$month])) {
  2229. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2230. }
  2231. if (!isset($result1[$month])) {
  2232. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2233. }
  2234. $result1[$month] += $data1; // 累加第二个数组的数据
  2235. }
  2236. foreach($result1 as $k=>$v){
  2237. $list['categories'][]=$k;
  2238. $list['series'][0]['name']='装订实物产量册数';
  2239. $list['series'][0]['data'][]=$v;
  2240. }
  2241. $res['status']=0;
  2242. $res['msg']='';
  2243. $res['data']=$list;
  2244. $redis->set($redis_key, json_encode($result1));
  2245. // halt(json_decode($redis->get($redis_key),true));
  2246. return json_encode($result1);
  2247. }
  2248. //前年装订实物产量册数->缓存调用
  2249. public function zdcsTwoYear(){
  2250. $redis=redis();
  2251. $redis_key = md5('zdcsTwoYear');
  2252. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2253. ->union(function ($query) {
  2254. $query->table('scDayRpt_Teams')->alias('b')
  2255. ->field("DISTINCT DATE_FORMAT(
  2256. CASE
  2257. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2258. ELSE b.dOnDuty
  2259. END,
  2260. '%Y-%m-%d'
  2261. ) AS RQ");
  2262. }, true)
  2263. ->buildSql();
  2264. $B1 = Db::table('cpjtfk')
  2265. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2266. ->field("
  2267. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2268. sum(iwcl) as 精1乙
  2269. ")
  2270. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2271. ->group('drptdate,cbanzu')
  2272. ->buildSql();
  2273. $rr = Db::table('scyddx')->alias('r')
  2274. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2275. ->group('r.ICYDID')
  2276. ->buildSql();
  2277. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2278. ->field("
  2279. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2280. sum(a.nAmount) as 精11乙
  2281. ")
  2282. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2283. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2284. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2285. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2286. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2287. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2288. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  2289. ->group("CASE
  2290. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2291. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2292. END,Name_WorkGroup")
  2293. ->buildSql();
  2294. $db = Db::table($A . 'a')
  2295. ->field("
  2296. DISTINCT DATE(A.RQ) rq,
  2297. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  2298. ")
  2299. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2300. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2301. ->group('rq')
  2302. ->buildSql();
  2303. $jp = Db::table($db . ' db')
  2304. ->field("
  2305. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2306. ROUND(sum(db.总计册), 0) as 精平册数
  2307. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2308. AND db.RQ <= '{$this->qianend_time()}' ")
  2309. ->group('MONTH(db.rq)')
  2310. ->select();
  2311. $B = Db::table('cpjtfk')
  2312. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2313. ->field("
  2314. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2315. sum(iwcl) as 马1甲
  2316. ")
  2317. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  2318. ->group('drptdate,cbanzu')
  2319. ->buildSql();
  2320. $B1 = Db::table('cpjtfk')
  2321. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2322. ->field("
  2323. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2324. sum(iwcl) as 马1乙
  2325. ")
  2326. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  2327. ->group('drptdate,cbanzu')
  2328. ->buildSql();
  2329. $C = Db::table('cpjtfk')
  2330. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2331. ->field("
  2332. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2333. sum(iwcl) as 马2甲
  2334. ")
  2335. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  2336. ->group('drptdate,cbanzu')
  2337. ->buildSql();
  2338. $C1 = Db::table('cpjtfk')
  2339. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2340. ->field("
  2341. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2342. sum(iwcl) as 马2乙
  2343. ")
  2344. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  2345. ->group('drptdate,cbanzu')
  2346. ->buildSql();
  2347. $D = Db::table('cpjtfk')
  2348. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2349. ->field("
  2350. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2351. sum(iwcl) as 马3甲
  2352. ")
  2353. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  2354. ->group('drptdate,cbanzu')
  2355. ->buildSql();
  2356. $D1 = Db::table('cpjtfk')
  2357. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2358. ->field("
  2359. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2360. sum(iwcl) as 马3乙
  2361. ")
  2362. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  2363. ->group('drptdate,cbanzu')
  2364. ->buildSql();
  2365. $E = Db::table('cpjtfk')
  2366. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2367. ->field("
  2368. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2369. sum(iwcl) as 马4甲
  2370. ")
  2371. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  2372. ->group('drptdate,cbanzu')
  2373. ->buildSql();
  2374. $E1 = Db::table('cpjtfk')
  2375. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2376. ->field("
  2377. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2378. sum(iwcl) as 马4乙
  2379. ")
  2380. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  2381. ->group('drptdate,cbanzu')
  2382. ->buildSql();
  2383. $F = Db::table('cpjtfk')
  2384. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2385. ->field("
  2386. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2387. sum(iwcl) as 马5甲
  2388. ")
  2389. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  2390. ->group('drptdate,cbanzu')
  2391. ->buildSql();
  2392. $F1 = Db::table('cpjtfk')
  2393. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2394. ->field("
  2395. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2396. sum(iwcl) as 马5乙,
  2397. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  2398. ")
  2399. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  2400. ->group('drptdate,cbanzu')
  2401. ->buildSql();
  2402. $rr = Db::table('scyddx')->alias('r')
  2403. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2404. ->group('r.ICYDID')
  2405. ->buildSql();
  2406. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2407. ->field("
  2408. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2409. sum(a.nAmount) as 马11甲")
  2410. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2411. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2412. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2413. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2414. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2415. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2416. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  2417. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2418. ->group("CASE
  2419. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2420. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2421. END,Name_WorkGroup")->buildSql();
  2422. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2423. ->field("
  2424. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2425. sum(a.nAmount) as 马11乙
  2426. ")
  2427. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2428. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2429. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2430. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2431. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2432. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2433. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  2434. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2435. ->group("CASE
  2436. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2437. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2438. END,Name_WorkGroup")
  2439. ->buildSql();
  2440. $CC = Db::table('ql_report_feedback_day')->alias('a')
  2441. ->field("
  2442. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2443. sum(a.nAmount) as 马22甲
  2444. ")
  2445. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2446. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2447. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2448. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2449. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2450. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2451. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2452. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2453. ->group("CASE
  2454. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2455. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2456. END,Name_WorkGroup")
  2457. ->buildSql();
  2458. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2459. ->field("
  2460. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2461. sum(a.nAmount) as 马22乙
  2462. ")
  2463. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2464. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2465. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2466. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2467. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2468. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2469. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2470. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2471. ->group("CASE
  2472. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2473. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2474. END,Name_WorkGroup")
  2475. ->buildSql();
  2476. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2477. ->field("
  2478. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2479. sum(a.nAmount) as 马33甲
  2480. ")
  2481. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2482. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2483. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2484. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2485. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2486. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2487. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2488. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2489. ->group("CASE
  2490. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2491. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2492. END,Name_WorkGroup")
  2493. ->buildSql();
  2494. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2495. ->field("
  2496. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2497. sum(a.nAmount) as 马33乙
  2498. ")
  2499. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2500. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2501. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2502. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2503. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2504. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2505. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2506. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2507. ->group("CASE
  2508. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2509. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2510. END,Name_WorkGroup")
  2511. ->buildSql();
  2512. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2513. ->field("
  2514. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2515. sum(a.nAmount) as 马44甲
  2516. ")
  2517. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2518. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2519. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2520. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2521. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2522. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2523. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2524. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2525. ->group("CASE
  2526. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2527. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2528. END,Name_WorkGroup")
  2529. ->buildSql();
  2530. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2531. ->field("
  2532. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2533. sum(a.nAmount) as 马44乙
  2534. ")
  2535. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2536. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2537. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2538. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2539. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2540. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2541. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2542. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2543. ->group("CASE
  2544. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2545. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2546. END,Name_WorkGroup")
  2547. ->buildSql();
  2548. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2549. ->field("
  2550. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2551. sum(a.nAmount) as 马55甲
  2552. ")
  2553. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2554. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2555. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2556. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2557. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2558. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2559. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2560. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2561. ->group("CASE
  2562. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2563. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2564. END,Name_WorkGroup")
  2565. ->buildSql();
  2566. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  2567. ->field("
  2568. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2569. sum(a.nAmount) as 马66甲
  2570. ")
  2571. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2572. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2573. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2574. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2575. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2576. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2577. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  2578. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2579. ->group("CASE
  2580. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2581. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2582. END,Name_WorkGroup")
  2583. ->buildSql();
  2584. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2585. ->field("
  2586. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2587. sum(a.nAmount) as 马77甲
  2588. ")
  2589. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2590. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2591. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2592. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2593. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2594. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2595. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2596. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2597. ->group("CASE
  2598. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2599. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2600. END,Name_WorkGroup")
  2601. ->buildSql();
  2602. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2603. ->field("
  2604. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2605. sum(a.nAmount) as 马55乙
  2606. ")
  2607. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2608. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2609. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2610. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2611. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2612. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2613. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2614. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2615. ->group("CASE
  2616. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2617. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2618. END,Name_WorkGroup")
  2619. ->buildSql();
  2620. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2621. ->field("
  2622. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2623. sum(a.nAmount) as 马66乙
  2624. ")
  2625. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2626. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2627. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2628. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2629. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2630. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2631. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2632. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2633. ->group("CASE
  2634. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2635. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2636. END,Name_WorkGroup")
  2637. ->buildSql();
  2638. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2639. ->field("
  2640. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2641. sum(a.nAmount) as 马77乙
  2642. ")
  2643. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2644. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2645. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2646. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2647. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2648. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2649. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2650. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2651. ->group("CASE
  2652. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2653. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2654. END,Name_WorkGroup")
  2655. ->buildSql();
  2656. $db = Db::table($A . 'a')
  2657. ->field("
  2658. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2659. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2660. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2661. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2662. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2663. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2664. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2665. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2666. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2667. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2668. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2669. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2670. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2671. ")
  2672. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2673. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2674. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2675. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2676. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2677. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2678. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2679. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2680. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2681. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2682. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2683. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2684. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2685. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2686. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2687. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2688. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2689. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2690. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2691. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2692. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2693. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2694. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2695. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2696. ->buildSql();
  2697. $jd = Db::table($db . ' db')
  2698. ->field("
  2699. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2700. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2701. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2702. AND db.RQ <= '{$this->qianend_time()}' ")
  2703. ->group('MONTH(db.rq)')
  2704. ->select();
  2705. $B = Db::table('cpjtfk')
  2706. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2707. ->field("
  2708. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2709. Sum(iWcl) AS '簿1甲'
  2710. ")
  2711. ->where('cbanzu','=','簿册机1号(甲班)')
  2712. ->group('drptdate,cbanzu')
  2713. ->buildSql();
  2714. $B1 = Db::table('cpjtfk')
  2715. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2716. ->field("
  2717. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2718. Sum(iWcl) AS '簿1乙'
  2719. ")
  2720. ->where('cbanzu','=','簿册机1号(乙班)')
  2721. ->group('drptdate,cbanzu')
  2722. ->buildSql();
  2723. $rr = Db::table('scyddx')->alias('r')
  2724. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2725. ->group('r.ICYDID')
  2726. ->buildSql();
  2727. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2728. ->field("
  2729. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2730. Sum(a.nAmount) AS '簿11甲'
  2731. ")
  2732. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2733. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2734. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2735. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2736. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2737. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2738. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2739. ->where('a.cTechName' ,'=','簿册联动')
  2740. ->group("CASE
  2741. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2742. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2743. END,Name_WorkGroup")
  2744. ->buildSql();
  2745. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2746. ->field("
  2747. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2748. Sum(a.nAmount) AS '簿11乙'
  2749. ")
  2750. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2751. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2752. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2753. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2754. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2755. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2756. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2757. ->where('a.cTechName' ,'=','簿册联动')
  2758. ->group("CASE
  2759. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2760. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2761. END,Name_WorkGroup")
  2762. ->buildSql();
  2763. $db = Db::table($A . 'a')
  2764. ->field("
  2765. DISTINCT DATE(A.RQ) rq,
  2766. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2767. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2768. ")
  2769. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2770. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2771. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2772. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2773. ->group('rq')
  2774. ->buildSql();
  2775. $bc = Db::table($db . ' db')
  2776. ->field("
  2777. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2778. ROUND(sum(db.总计册), 0) as 簿册册数
  2779. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2780. AND db.RQ <= '{$this->qianend_time()}' ")
  2781. ->group('MONTH(db.rq)')
  2782. ->select();
  2783. // 创建一个结果数组
  2784. $result=[];
  2785. $result1 = [];
  2786. // 遍历第一个数组,并将数据加入结果数组
  2787. foreach ($jp as $val1) {
  2788. $month = $val1['日期'];
  2789. $data1 = $val1['精平册数'];
  2790. if (!isset($result[$month])) {
  2791. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2792. }
  2793. if (!isset($result1[$month])) {
  2794. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2795. }
  2796. $result1[$month] += $data1; // 累加第一个数组的数据
  2797. }
  2798. // 遍历第二个数组,并将数据加入结果数组
  2799. foreach ($jd as $val2) {
  2800. $month = $val2['日期'];
  2801. $data1 = $val2['无线胶订册数'];
  2802. if (!isset($result[$month])) {
  2803. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2804. }
  2805. if (!isset($result1[$month])) {
  2806. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2807. }
  2808. $result1[$month] += $data1; // 累加第二个数组的数据
  2809. }
  2810. foreach ($bc as $val2) {
  2811. $month = $val2['日期'];
  2812. $data1 = $val2['簿册册数'];
  2813. if (!isset($result[$month])) {
  2814. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2815. }
  2816. if (!isset($result1[$month])) {
  2817. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2818. }
  2819. $result1[$month] += $data1; // 累加第二个数组的数据
  2820. }
  2821. foreach($result1 as $k=>$v){
  2822. $list['categories'][]=$k;
  2823. $list['series'][0]['name']='装订实物产量册数';
  2824. $list['series'][0]['data'][]=$v;
  2825. }
  2826. $res['status']=0;
  2827. $res['msg']='';
  2828. $res['data']=$list;
  2829. $redis->set($redis_key, json_encode($result1));
  2830. // halt(json_decode($redis->get($redis_key),true));
  2831. return json_encode($result1);
  2832. }
  2833. //去年与当年--装订实物产量册数 接口合并一起->接口调用
  2834. public function zdcs() {
  2835. $redis = redis();
  2836. $result2022 = json_decode($redis->get(md5('zdcs2022')), true);
  2837. $result2023 = json_decode($redis->get(md5('zdcs2023')), true);
  2838. $resultzdcsTwoYear = json_decode($redis->get(md5('zdcsTwoYear')), true);
  2839. // 合并三年的数据
  2840. $result1 = array_merge($result2022, $result2023, $resultzdcsTwoYear);
  2841. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2842. $currentYear = date("Y"); // 当前年份
  2843. $currentMonth = date("m"); // 当前月份
  2844. $previousYear = $currentYear - 1; // 上一年
  2845. $previousQianYear = $currentYear - 2; // 前年
  2846. // 初始化三个年份的数据数组,先填充0
  2847. $list['series'][0]['name'] = $previousQianYear . '年';
  2848. $list['series'][0]['data'] = array_fill(0, 12, 0);
  2849. $list['series'][1]['name'] = $previousYear . '年';
  2850. $list['series'][1]['data'] = array_fill(0, 12, 0);
  2851. $list['series'][2]['name'] = $currentYear . '年';
  2852. $list['series'][2]['data'] = array_fill(0, 12, 0);
  2853. foreach ($result1 as $k => $v) {
  2854. $yearMonth = explode('-', $k);
  2855. $year = $yearMonth[0];
  2856. $month = (int)$yearMonth[1];
  2857. if ($year == $previousQianYear) {
  2858. // 如果是前两年的数据,直接赋值
  2859. $list['series'][0]['data'][$month - 1] = $v;
  2860. } elseif ($year == $previousYear) {
  2861. // 如果是去年的数据,直接赋值
  2862. $list['series'][1]['data'][$month - 1] = $v;
  2863. } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  2864. // 如果是当前年份,并且月份不超过当前月份,则赋值
  2865. $list['series'][2]['data'][$month - 1] = $v;
  2866. }
  2867. // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  2868. }
  2869. $res['status'] = 0;
  2870. $res['msg'] = '';
  2871. $res['data'] = $list;
  2872. return json_encode($res);
  2873. }
  2874. // public function zdcs(){
  2875. // $redis=redis();
  2876. // $result2022=json_decode($redis->get(md5('zdcs2022')),true);
  2877. // $result2023=json_decode($redis->get(md5('zdcs2023')),true);
  2878. // $result1=array_merge($result2022,$result2023);
  2879. //
  2880. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  2881. // $currentYear = date("Y"); // 当前年份
  2882. // $currentMonth = date("m"); // 当前月份
  2883. // $previousYear = $currentYear - 1; // 上一年
  2884. // // 初始化两个年份的数据数组,先填充0
  2885. // $list['series'][0]['name'] = $previousYear . '年';
  2886. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  2887. // $list['series'][1]['name'] = $currentYear . '年';
  2888. // $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  2889. //
  2890. // foreach ($result1 as $k => $v) {
  2891. // $yearMonth = explode('-', $k);
  2892. // $year = $yearMonth[0];
  2893. // $month = (int)$yearMonth[1];
  2894. //
  2895. // if ($year == $previousYear) {
  2896. // // 如果是上一年的数据,直接赋值
  2897. // $list['series'][0]['data'][$month - 1] = $v;
  2898. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  2899. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  2900. // $list['series'][1]['data'][$month - 1] = $v;
  2901. // }
  2902. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  2903. // }
  2904. // $res['status'] = 0;
  2905. // $res['msg'] = '';
  2906. // $res['data'] = $list;
  2907. // return json_encode($res);
  2908. // }
  2909. //去年装订实物产量纸令->缓存调用
  2910. public function zdzl2022(){
  2911. $redis=redis();
  2912. $redis_key = md5('zdzl2022');
  2913. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2914. ->union(function ($query) {
  2915. $query->table('scDayRpt_Teams')->alias('b')
  2916. ->field("DISTINCT DATE_FORMAT(
  2917. CASE
  2918. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2919. ELSE b.dOnDuty
  2920. END,
  2921. '%Y-%m-%d'
  2922. ) AS RQ");
  2923. }, true)
  2924. ->buildSql();
  2925. $B1 = Db::table('cpjtfk')
  2926. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2927. ->field("
  2928. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2929. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  2930. ")
  2931. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2932. ->group('drptdate,cbanzu')
  2933. ->buildSql();
  2934. $rr = Db::table('scyddx')->alias('r')
  2935. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2936. ->group('r.ICYDID')
  2937. ->buildSql();
  2938. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2939. ->field("
  2940. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  2941. ROUND(SUM(
  2942. CASE
  2943. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  2944. THEN
  2945. CASE
  2946. WHEN a.cCyddxMc = '装配'
  2947. OR a.cCyddxMc LIKE '%正文%'
  2948. OR a.cCyddxMc LIKE '%答案%'
  2949. OR a.cCyddxMc LIKE '%卷%'
  2950. THEN
  2951. CASE
  2952. WHEN CASE
  2953. WHEN IFNULL(d.fZls, 0) < rr.zl
  2954. THEN rr.zl
  2955. ELSE IFNULL(d.fZls, 0)
  2956. END = 0
  2957. THEN c.nzdls
  2958. ELSE (
  2959. CASE
  2960. WHEN c.nzdls <
  2961. CASE
  2962. WHEN IFNULL(d.fZls, 0) < rr.zl
  2963. THEN rr.zl
  2964. ELSE IFNULL(d.fZls, 0)
  2965. END
  2966. THEN
  2967. CASE
  2968. WHEN IFNULL(d.fZls, 0) < rr.zl
  2969. THEN rr.zl
  2970. ELSE IFNULL(d.fZls, 0)
  2971. END
  2972. ELSE c.nzdls
  2973. END
  2974. )
  2975. END
  2976. ELSE 0
  2977. END
  2978. ELSE
  2979. CASE
  2980. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  2981. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  2982. CASE
  2983. WHEN a.cCyddxMc = '装配'
  2984. OR a.cCyddxMc LIKE '%正文%'
  2985. OR a.cCyddxMc LIKE '%答案%'
  2986. OR a.cCyddxMc LIKE '%卷%'
  2987. THEN
  2988. CASE
  2989. WHEN CASE
  2990. WHEN IFNULL(d.fZls, 0) < rr.zl
  2991. THEN rr.zl
  2992. ELSE IFNULL(d.fZls, 0)
  2993. END = 0
  2994. THEN c.nzdls
  2995. ELSE (
  2996. CASE
  2997. WHEN c.nzdls <
  2998. CASE
  2999. WHEN IFNULL(d.fZls, 0) < rr.zl
  3000. THEN rr.zl
  3001. ELSE IFNULL(d.fZls, 0)
  3002. END
  3003. THEN
  3004. CASE
  3005. WHEN IFNULL(d.fZls, 0) < rr.zl
  3006. THEN rr.zl
  3007. ELSE IFNULL(d.fZls, 0)
  3008. END
  3009. ELSE c.nzdls
  3010. END
  3011. )
  3012. END
  3013. ELSE 0
  3014. END
  3015. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3016. END
  3017. END )
  3018. , 3) 精11乙纸令
  3019. ")
  3020. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3021. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3022. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3023. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3024. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3025. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3026. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  3027. ->group("CASE
  3028. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3029. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3030. END,Name_WorkGroup")
  3031. ->buildSql();
  3032. $db = Db::table($A . 'a')
  3033. ->field("
  3034. DATE(A.RQ) rq,
  3035. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  3036. ")
  3037. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  3038. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  3039. ->buildSql();
  3040. $jp = Db::table($db . ' db')
  3041. ->field("
  3042. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  3043. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  3044. ")->where("db.RQ >= '{$this->qstart_time()}'
  3045. AND db.RQ <= '{$this->qend_time()}' ")
  3046. ->group('MONTH(db.rq)')
  3047. ->select();
  3048. $B = Db::table('cpjtfk')
  3049. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3050. ->field("
  3051. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3052. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  3053. ")
  3054. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  3055. ->group('drptdate,cbanzu')
  3056. ->buildSql();
  3057. $B1 = Db::table('cpjtfk')
  3058. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3059. ->field("
  3060. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3061. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  3062. ")
  3063. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  3064. ->group('drptdate,cbanzu')
  3065. ->buildSql();
  3066. $C = Db::table('cpjtfk')
  3067. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3068. ->field("
  3069. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3070. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  3071. ")
  3072. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  3073. ->group('drptdate,cbanzu')
  3074. ->buildSql();
  3075. $C1 = Db::table('cpjtfk')
  3076. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3077. ->field("
  3078. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3079. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  3080. ")
  3081. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  3082. ->group('drptdate,cbanzu')
  3083. ->buildSql();
  3084. $D = Db::table('cpjtfk')
  3085. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3086. ->field("
  3087. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3088. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  3089. ")
  3090. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  3091. ->group('drptdate,cbanzu')
  3092. ->buildSql();
  3093. $D1 = Db::table('cpjtfk')
  3094. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3095. ->field("
  3096. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3097. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  3098. ")
  3099. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  3100. ->group('drptdate,cbanzu')
  3101. ->buildSql();
  3102. $E = Db::table('cpjtfk')
  3103. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3104. ->field("
  3105. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3106. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  3107. ")
  3108. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  3109. ->group('drptdate,cbanzu')
  3110. ->buildSql();
  3111. $E1 = Db::table('cpjtfk')
  3112. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3113. ->field("
  3114. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3115. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  3116. ")
  3117. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  3118. ->group('drptdate,cbanzu')
  3119. ->buildSql();
  3120. $F = Db::table('cpjtfk')
  3121. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3122. ->field("
  3123. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3124. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  3125. ")
  3126. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  3127. ->group('drptdate,cbanzu')
  3128. ->buildSql();
  3129. $F1 = Db::table('cpjtfk')
  3130. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3131. ->field("
  3132. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3133. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  3134. ")
  3135. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  3136. ->group('drptdate,cbanzu')
  3137. ->buildSql();
  3138. $rr = Db::table('scyddx')->alias('r')
  3139. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3140. ->group('r.ICYDID')
  3141. ->buildSql();
  3142. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  3143. ->field("
  3144. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3145. ROUND(SUM(
  3146. CASE
  3147. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3148. THEN CASE WHEN a.cCyddxMc = '装配'
  3149. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3150. THEN CASE
  3151. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3152. END = 0 THEN c.nzdls
  3153. ELSE ( CASE
  3154. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3155. END
  3156. THEN CASE
  3157. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3158. END ELSE c.nzdls END
  3159. ) END ELSE 0 END
  3160. ELSE CASE
  3161. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3162. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3163. CASE WHEN a.cCyddxMc = '装配'
  3164. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3165. THEN CASE
  3166. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3167. END = 0 THEN c.nzdls
  3168. ELSE ( CASE WHEN c.nzdls <
  3169. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3170. END
  3171. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3172. END ELSE c.nzdls END )
  3173. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3174. END END ), 3) 马11甲纸令 ")
  3175. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3176. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3177. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3178. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3179. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3180. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3181. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  3182. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3183. ->group("CASE
  3184. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3185. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3186. END,Name_WorkGroup")->buildSql();
  3187. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3188. ->field("
  3189. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3190. ROUND(SUM(
  3191. CASE
  3192. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3193. THEN
  3194. CASE
  3195. WHEN a.cCyddxMc = '装配'
  3196. OR a.cCyddxMc LIKE '%正文%'
  3197. OR a.cCyddxMc LIKE '%答案%'
  3198. OR a.cCyddxMc LIKE '%卷%'
  3199. THEN
  3200. CASE
  3201. WHEN CASE
  3202. WHEN IFNULL(d.fZls, 0) < rr.zl
  3203. THEN rr.zl
  3204. ELSE IFNULL(d.fZls, 0)
  3205. END = 0
  3206. THEN c.nzdls
  3207. ELSE (
  3208. CASE
  3209. WHEN c.nzdls <
  3210. CASE
  3211. WHEN IFNULL(d.fZls, 0) < rr.zl
  3212. THEN rr.zl
  3213. ELSE IFNULL(d.fZls, 0)
  3214. END
  3215. THEN
  3216. CASE
  3217. WHEN IFNULL(d.fZls, 0) < rr.zl
  3218. THEN rr.zl
  3219. ELSE IFNULL(d.fZls, 0)
  3220. END
  3221. ELSE c.nzdls
  3222. END
  3223. )
  3224. END
  3225. ELSE 0
  3226. END
  3227. ELSE
  3228. CASE
  3229. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3230. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3231. CASE
  3232. WHEN a.cCyddxMc = '装配'
  3233. OR a.cCyddxMc LIKE '%正文%'
  3234. OR a.cCyddxMc LIKE '%答案%'
  3235. OR a.cCyddxMc LIKE '%卷%'
  3236. THEN
  3237. CASE
  3238. WHEN CASE
  3239. WHEN IFNULL(d.fZls, 0) < rr.zl
  3240. THEN rr.zl
  3241. ELSE IFNULL(d.fZls, 0)
  3242. END = 0
  3243. THEN c.nzdls
  3244. ELSE (
  3245. CASE
  3246. WHEN c.nzdls <
  3247. CASE
  3248. WHEN IFNULL(d.fZls, 0) < rr.zl
  3249. THEN rr.zl
  3250. ELSE IFNULL(d.fZls, 0)
  3251. END
  3252. THEN
  3253. CASE
  3254. WHEN IFNULL(d.fZls, 0) < rr.zl
  3255. THEN rr.zl
  3256. ELSE IFNULL(d.fZls, 0)
  3257. END
  3258. ELSE c.nzdls
  3259. END
  3260. )
  3261. END
  3262. ELSE 0
  3263. END
  3264. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3265. END
  3266. END )
  3267. , 3) 马11乙纸令
  3268. ")
  3269. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3270. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3271. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3272. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3273. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3274. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3275. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  3276. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3277. ->group("CASE
  3278. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3279. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3280. END,Name_WorkGroup")
  3281. ->buildSql();
  3282. $CC = Db::table('ql_report_feedback_day')->alias('a')
  3283. ->field("
  3284. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3285. ROUND(SUM(
  3286. CASE
  3287. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3288. THEN
  3289. CASE
  3290. WHEN a.cCyddxMc = '装配'
  3291. OR a.cCyddxMc LIKE '%正文%'
  3292. OR a.cCyddxMc LIKE '%答案%'
  3293. OR a.cCyddxMc LIKE '%卷%'
  3294. THEN
  3295. CASE
  3296. WHEN CASE
  3297. WHEN IFNULL(d.fZls, 0) < rr.zl
  3298. THEN rr.zl
  3299. ELSE IFNULL(d.fZls, 0)
  3300. END = 0
  3301. THEN c.nzdls
  3302. ELSE (
  3303. CASE
  3304. WHEN c.nzdls <
  3305. CASE
  3306. WHEN IFNULL(d.fZls, 0) < rr.zl
  3307. THEN rr.zl
  3308. ELSE IFNULL(d.fZls, 0)
  3309. END
  3310. THEN
  3311. CASE
  3312. WHEN IFNULL(d.fZls, 0) < rr.zl
  3313. THEN rr.zl
  3314. ELSE IFNULL(d.fZls, 0)
  3315. END
  3316. ELSE c.nzdls
  3317. END
  3318. )
  3319. END
  3320. ELSE 0
  3321. END
  3322. ELSE
  3323. CASE
  3324. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3325. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3326. CASE
  3327. WHEN a.cCyddxMc = '装配'
  3328. OR a.cCyddxMc LIKE '%正文%'
  3329. OR a.cCyddxMc LIKE '%答案%'
  3330. OR a.cCyddxMc LIKE '%卷%'
  3331. THEN
  3332. CASE
  3333. WHEN CASE
  3334. WHEN IFNULL(d.fZls, 0) < rr.zl
  3335. THEN rr.zl
  3336. ELSE IFNULL(d.fZls, 0)
  3337. END = 0
  3338. THEN c.nzdls
  3339. ELSE (
  3340. CASE
  3341. WHEN c.nzdls <
  3342. CASE
  3343. WHEN IFNULL(d.fZls, 0) < rr.zl
  3344. THEN rr.zl
  3345. ELSE IFNULL(d.fZls, 0)
  3346. END
  3347. THEN
  3348. CASE
  3349. WHEN IFNULL(d.fZls, 0) < rr.zl
  3350. THEN rr.zl
  3351. ELSE IFNULL(d.fZls, 0)
  3352. END
  3353. ELSE c.nzdls
  3354. END
  3355. )
  3356. END
  3357. ELSE 0
  3358. END
  3359. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3360. END
  3361. END )
  3362. , 3) 马22甲纸令
  3363. ")
  3364. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3365. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3366. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3367. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3368. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3369. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3370. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  3371. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3372. ->group("CASE
  3373. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3374. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3375. END,Name_WorkGroup")
  3376. ->buildSql();
  3377. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  3378. ->field("
  3379. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3380. ROUND(SUM(
  3381. CASE
  3382. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3383. THEN
  3384. CASE
  3385. WHEN a.cCyddxMc = '装配'
  3386. OR a.cCyddxMc LIKE '%正文%'
  3387. OR a.cCyddxMc LIKE '%答案%'
  3388. OR a.cCyddxMc LIKE '%卷%'
  3389. THEN
  3390. CASE
  3391. WHEN CASE
  3392. WHEN IFNULL(d.fZls, 0) < rr.zl
  3393. THEN rr.zl
  3394. ELSE IFNULL(d.fZls, 0)
  3395. END = 0
  3396. THEN c.nzdls
  3397. ELSE (
  3398. CASE
  3399. WHEN c.nzdls <
  3400. CASE
  3401. WHEN IFNULL(d.fZls, 0) < rr.zl
  3402. THEN rr.zl
  3403. ELSE IFNULL(d.fZls, 0)
  3404. END
  3405. THEN
  3406. CASE
  3407. WHEN IFNULL(d.fZls, 0) < rr.zl
  3408. THEN rr.zl
  3409. ELSE IFNULL(d.fZls, 0)
  3410. END
  3411. ELSE c.nzdls
  3412. END
  3413. )
  3414. END
  3415. ELSE 0
  3416. END
  3417. ELSE
  3418. CASE
  3419. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3420. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3421. CASE
  3422. WHEN a.cCyddxMc = '装配'
  3423. OR a.cCyddxMc LIKE '%正文%'
  3424. OR a.cCyddxMc LIKE '%答案%'
  3425. OR a.cCyddxMc LIKE '%卷%'
  3426. THEN
  3427. CASE
  3428. WHEN CASE
  3429. WHEN IFNULL(d.fZls, 0) < rr.zl
  3430. THEN rr.zl
  3431. ELSE IFNULL(d.fZls, 0)
  3432. END = 0
  3433. THEN c.nzdls
  3434. ELSE (
  3435. CASE
  3436. WHEN c.nzdls <
  3437. CASE
  3438. WHEN IFNULL(d.fZls, 0) < rr.zl
  3439. THEN rr.zl
  3440. ELSE IFNULL(d.fZls, 0)
  3441. END
  3442. THEN
  3443. CASE
  3444. WHEN IFNULL(d.fZls, 0) < rr.zl
  3445. THEN rr.zl
  3446. ELSE IFNULL(d.fZls, 0)
  3447. END
  3448. ELSE c.nzdls
  3449. END
  3450. )
  3451. END
  3452. ELSE 0
  3453. END
  3454. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3455. END
  3456. END )
  3457. , 3) 马22乙纸令
  3458. ")
  3459. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3460. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3461. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3462. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3463. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3464. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3465. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  3466. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3467. ->group("CASE
  3468. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3469. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3470. END,Name_WorkGroup")
  3471. ->buildSql();
  3472. $EE = Db::table('ql_report_feedback_day')->alias('a')
  3473. ->field("
  3474. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3475. ROUND(SUM(
  3476. CASE
  3477. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3478. THEN
  3479. CASE
  3480. WHEN a.cCyddxMc = '装配'
  3481. OR a.cCyddxMc LIKE '%正文%'
  3482. OR a.cCyddxMc LIKE '%答案%'
  3483. OR a.cCyddxMc LIKE '%卷%'
  3484. THEN
  3485. CASE
  3486. WHEN CASE
  3487. WHEN IFNULL(d.fZls, 0) < rr.zl
  3488. THEN rr.zl
  3489. ELSE IFNULL(d.fZls, 0)
  3490. END = 0
  3491. THEN c.nzdls
  3492. ELSE (
  3493. CASE
  3494. WHEN c.nzdls <
  3495. CASE
  3496. WHEN IFNULL(d.fZls, 0) < rr.zl
  3497. THEN rr.zl
  3498. ELSE IFNULL(d.fZls, 0)
  3499. END
  3500. THEN
  3501. CASE
  3502. WHEN IFNULL(d.fZls, 0) < rr.zl
  3503. THEN rr.zl
  3504. ELSE IFNULL(d.fZls, 0)
  3505. END
  3506. ELSE c.nzdls
  3507. END
  3508. )
  3509. END
  3510. ELSE 0
  3511. END
  3512. ELSE
  3513. CASE
  3514. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3515. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3516. CASE
  3517. WHEN a.cCyddxMc = '装配'
  3518. OR a.cCyddxMc LIKE '%正文%'
  3519. OR a.cCyddxMc LIKE '%答案%'
  3520. OR a.cCyddxMc LIKE '%卷%'
  3521. THEN
  3522. CASE
  3523. WHEN CASE
  3524. WHEN IFNULL(d.fZls, 0) < rr.zl
  3525. THEN rr.zl
  3526. ELSE IFNULL(d.fZls, 0)
  3527. END = 0
  3528. THEN c.nzdls
  3529. ELSE (
  3530. CASE
  3531. WHEN c.nzdls <
  3532. CASE
  3533. WHEN IFNULL(d.fZls, 0) < rr.zl
  3534. THEN rr.zl
  3535. ELSE IFNULL(d.fZls, 0)
  3536. END
  3537. THEN
  3538. CASE
  3539. WHEN IFNULL(d.fZls, 0) < rr.zl
  3540. THEN rr.zl
  3541. ELSE IFNULL(d.fZls, 0)
  3542. END
  3543. ELSE c.nzdls
  3544. END
  3545. )
  3546. END
  3547. ELSE 0
  3548. END
  3549. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3550. END
  3551. END )
  3552. , 3) 马33甲纸令
  3553. ")
  3554. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3555. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3556. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3557. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3558. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3559. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3560. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  3561. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3562. ->group("CASE
  3563. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3564. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3565. END,Name_WorkGroup")
  3566. ->buildSql();
  3567. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  3568. ->field("
  3569. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3570. ROUND(SUM(
  3571. CASE
  3572. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3573. THEN
  3574. CASE
  3575. WHEN a.cCyddxMc = '装配'
  3576. OR a.cCyddxMc LIKE '%正文%'
  3577. OR a.cCyddxMc LIKE '%答案%'
  3578. OR a.cCyddxMc LIKE '%卷%'
  3579. THEN
  3580. CASE
  3581. WHEN CASE
  3582. WHEN IFNULL(d.fZls, 0) < rr.zl
  3583. THEN rr.zl
  3584. ELSE IFNULL(d.fZls, 0)
  3585. END = 0
  3586. THEN c.nzdls
  3587. ELSE (
  3588. CASE
  3589. WHEN c.nzdls <
  3590. CASE
  3591. WHEN IFNULL(d.fZls, 0) < rr.zl
  3592. THEN rr.zl
  3593. ELSE IFNULL(d.fZls, 0)
  3594. END
  3595. THEN
  3596. CASE
  3597. WHEN IFNULL(d.fZls, 0) < rr.zl
  3598. THEN rr.zl
  3599. ELSE IFNULL(d.fZls, 0)
  3600. END
  3601. ELSE c.nzdls
  3602. END
  3603. )
  3604. END
  3605. ELSE 0
  3606. END
  3607. ELSE
  3608. CASE
  3609. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3610. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3611. CASE
  3612. WHEN a.cCyddxMc = '装配'
  3613. OR a.cCyddxMc LIKE '%正文%'
  3614. OR a.cCyddxMc LIKE '%答案%'
  3615. OR a.cCyddxMc LIKE '%卷%'
  3616. THEN
  3617. CASE
  3618. WHEN CASE
  3619. WHEN IFNULL(d.fZls, 0) < rr.zl
  3620. THEN rr.zl
  3621. ELSE IFNULL(d.fZls, 0)
  3622. END = 0
  3623. THEN c.nzdls
  3624. ELSE (
  3625. CASE
  3626. WHEN c.nzdls <
  3627. CASE
  3628. WHEN IFNULL(d.fZls, 0) < rr.zl
  3629. THEN rr.zl
  3630. ELSE IFNULL(d.fZls, 0)
  3631. END
  3632. THEN
  3633. CASE
  3634. WHEN IFNULL(d.fZls, 0) < rr.zl
  3635. THEN rr.zl
  3636. ELSE IFNULL(d.fZls, 0)
  3637. END
  3638. ELSE c.nzdls
  3639. END
  3640. )
  3641. END
  3642. ELSE 0
  3643. END
  3644. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3645. END
  3646. END )
  3647. , 3) 马33乙纸令
  3648. ")
  3649. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3650. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3651. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3652. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3653. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3654. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3655. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  3656. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3657. ->group("CASE
  3658. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3659. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3660. END,Name_WorkGroup")
  3661. ->buildSql();
  3662. $HH = Db::table('ql_report_feedback_day')->alias('a')
  3663. ->field("
  3664. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3665. ROUND(SUM(
  3666. CASE
  3667. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3668. THEN
  3669. CASE
  3670. WHEN a.cCyddxMc = '装配'
  3671. OR a.cCyddxMc LIKE '%正文%'
  3672. OR a.cCyddxMc LIKE '%答案%'
  3673. OR a.cCyddxMc LIKE '%卷%'
  3674. THEN
  3675. CASE
  3676. WHEN CASE
  3677. WHEN IFNULL(d.fZls, 0) < rr.zl
  3678. THEN rr.zl
  3679. ELSE IFNULL(d.fZls, 0)
  3680. END = 0
  3681. THEN c.nzdls
  3682. ELSE (
  3683. CASE
  3684. WHEN c.nzdls <
  3685. CASE
  3686. WHEN IFNULL(d.fZls, 0) < rr.zl
  3687. THEN rr.zl
  3688. ELSE IFNULL(d.fZls, 0)
  3689. END
  3690. THEN
  3691. CASE
  3692. WHEN IFNULL(d.fZls, 0) < rr.zl
  3693. THEN rr.zl
  3694. ELSE IFNULL(d.fZls, 0)
  3695. END
  3696. ELSE c.nzdls
  3697. END
  3698. )
  3699. END
  3700. ELSE 0
  3701. END
  3702. ELSE
  3703. CASE
  3704. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3705. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3706. CASE
  3707. WHEN a.cCyddxMc = '装配'
  3708. OR a.cCyddxMc LIKE '%正文%'
  3709. OR a.cCyddxMc LIKE '%答案%'
  3710. OR a.cCyddxMc LIKE '%卷%'
  3711. THEN
  3712. CASE
  3713. WHEN CASE
  3714. WHEN IFNULL(d.fZls, 0) < rr.zl
  3715. THEN rr.zl
  3716. ELSE IFNULL(d.fZls, 0)
  3717. END = 0
  3718. THEN c.nzdls
  3719. ELSE (
  3720. CASE
  3721. WHEN c.nzdls <
  3722. CASE
  3723. WHEN IFNULL(d.fZls, 0) < rr.zl
  3724. THEN rr.zl
  3725. ELSE IFNULL(d.fZls, 0)
  3726. END
  3727. THEN
  3728. CASE
  3729. WHEN IFNULL(d.fZls, 0) < rr.zl
  3730. THEN rr.zl
  3731. ELSE IFNULL(d.fZls, 0)
  3732. END
  3733. ELSE c.nzdls
  3734. END
  3735. )
  3736. END
  3737. ELSE 0
  3738. END
  3739. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3740. END
  3741. END )
  3742. , 3) 马44甲纸令
  3743. ")
  3744. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3745. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3746. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3747. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3748. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3749. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3750. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  3751. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3752. ->group("CASE
  3753. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3754. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3755. END,Name_WorkGroup")
  3756. ->buildSql();
  3757. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  3758. ->field("
  3759. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3760. ROUND(SUM(
  3761. CASE
  3762. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3763. THEN
  3764. CASE
  3765. WHEN a.cCyddxMc = '装配'
  3766. OR a.cCyddxMc LIKE '%正文%'
  3767. OR a.cCyddxMc LIKE '%答案%'
  3768. OR a.cCyddxMc LIKE '%卷%'
  3769. THEN
  3770. CASE
  3771. WHEN CASE
  3772. WHEN IFNULL(d.fZls, 0) < rr.zl
  3773. THEN rr.zl
  3774. ELSE IFNULL(d.fZls, 0)
  3775. END = 0
  3776. THEN c.nzdls
  3777. ELSE (
  3778. CASE
  3779. WHEN c.nzdls <
  3780. CASE
  3781. WHEN IFNULL(d.fZls, 0) < rr.zl
  3782. THEN rr.zl
  3783. ELSE IFNULL(d.fZls, 0)
  3784. END
  3785. THEN
  3786. CASE
  3787. WHEN IFNULL(d.fZls, 0) < rr.zl
  3788. THEN rr.zl
  3789. ELSE IFNULL(d.fZls, 0)
  3790. END
  3791. ELSE c.nzdls
  3792. END
  3793. )
  3794. END
  3795. ELSE 0
  3796. END
  3797. ELSE
  3798. CASE
  3799. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3800. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3801. CASE
  3802. WHEN a.cCyddxMc = '装配'
  3803. OR a.cCyddxMc LIKE '%正文%'
  3804. OR a.cCyddxMc LIKE '%答案%'
  3805. OR a.cCyddxMc LIKE '%卷%'
  3806. THEN
  3807. CASE
  3808. WHEN CASE
  3809. WHEN IFNULL(d.fZls, 0) < rr.zl
  3810. THEN rr.zl
  3811. ELSE IFNULL(d.fZls, 0)
  3812. END = 0
  3813. THEN c.nzdls
  3814. ELSE (
  3815. CASE
  3816. WHEN c.nzdls <
  3817. CASE
  3818. WHEN IFNULL(d.fZls, 0) < rr.zl
  3819. THEN rr.zl
  3820. ELSE IFNULL(d.fZls, 0)
  3821. END
  3822. THEN
  3823. CASE
  3824. WHEN IFNULL(d.fZls, 0) < rr.zl
  3825. THEN rr.zl
  3826. ELSE IFNULL(d.fZls, 0)
  3827. END
  3828. ELSE c.nzdls
  3829. END
  3830. )
  3831. END
  3832. ELSE 0
  3833. END
  3834. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3835. END
  3836. END )
  3837. , 3) 马44乙纸令
  3838. ")
  3839. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3840. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3841. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3842. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3843. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3844. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3845. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  3846. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3847. ->group("CASE
  3848. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3849. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3850. END,Name_WorkGroup")
  3851. ->buildSql();
  3852. $XX = Db::table('ql_report_feedback_day')->alias('a')
  3853. ->field("
  3854. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3855. ROUND(SUM(
  3856. CASE
  3857. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3858. THEN
  3859. CASE
  3860. WHEN a.cCyddxMc = '装配'
  3861. OR a.cCyddxMc LIKE '%正文%'
  3862. OR a.cCyddxMc LIKE '%答案%'
  3863. OR a.cCyddxMc LIKE '%卷%'
  3864. THEN
  3865. CASE
  3866. WHEN CASE
  3867. WHEN IFNULL(d.fZls, 0) < rr.zl
  3868. THEN rr.zl
  3869. ELSE IFNULL(d.fZls, 0)
  3870. END = 0
  3871. THEN c.nzdls
  3872. ELSE (
  3873. CASE
  3874. WHEN c.nzdls <
  3875. CASE
  3876. WHEN IFNULL(d.fZls, 0) < rr.zl
  3877. THEN rr.zl
  3878. ELSE IFNULL(d.fZls, 0)
  3879. END
  3880. THEN
  3881. CASE
  3882. WHEN IFNULL(d.fZls, 0) < rr.zl
  3883. THEN rr.zl
  3884. ELSE IFNULL(d.fZls, 0)
  3885. END
  3886. ELSE c.nzdls
  3887. END
  3888. )
  3889. END
  3890. ELSE 0
  3891. END
  3892. ELSE
  3893. CASE
  3894. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3895. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3896. CASE
  3897. WHEN a.cCyddxMc = '装配'
  3898. OR a.cCyddxMc LIKE '%正文%'
  3899. OR a.cCyddxMc LIKE '%答案%'
  3900. OR a.cCyddxMc LIKE '%卷%'
  3901. THEN
  3902. CASE
  3903. WHEN CASE
  3904. WHEN IFNULL(d.fZls, 0) < rr.zl
  3905. THEN rr.zl
  3906. ELSE IFNULL(d.fZls, 0)
  3907. END = 0
  3908. THEN c.nzdls
  3909. ELSE (
  3910. CASE
  3911. WHEN c.nzdls <
  3912. CASE
  3913. WHEN IFNULL(d.fZls, 0) < rr.zl
  3914. THEN rr.zl
  3915. ELSE IFNULL(d.fZls, 0)
  3916. END
  3917. THEN
  3918. CASE
  3919. WHEN IFNULL(d.fZls, 0) < rr.zl
  3920. THEN rr.zl
  3921. ELSE IFNULL(d.fZls, 0)
  3922. END
  3923. ELSE c.nzdls
  3924. END
  3925. )
  3926. END
  3927. ELSE 0
  3928. END
  3929. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3930. END
  3931. END )
  3932. , 3) 马55甲纸令
  3933. ")
  3934. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3935. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3936. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3937. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3938. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3939. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3940. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  3941. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3942. ->group("CASE
  3943. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3944. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3945. END,Name_WorkGroup")
  3946. ->buildSql();
  3947. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  3948. ->field("
  3949. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  3950. ROUND(SUM(
  3951. CASE
  3952. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3953. THEN
  3954. CASE
  3955. WHEN a.cCyddxMc = '装配'
  3956. OR a.cCyddxMc LIKE '%正文%'
  3957. OR a.cCyddxMc LIKE '%答案%'
  3958. OR a.cCyddxMc LIKE '%卷%'
  3959. THEN
  3960. CASE
  3961. WHEN CASE
  3962. WHEN IFNULL(d.fZls, 0) < rr.zl
  3963. THEN rr.zl
  3964. ELSE IFNULL(d.fZls, 0)
  3965. END = 0
  3966. THEN c.nzdls
  3967. ELSE (
  3968. CASE
  3969. WHEN c.nzdls <
  3970. CASE
  3971. WHEN IFNULL(d.fZls, 0) < rr.zl
  3972. THEN rr.zl
  3973. ELSE IFNULL(d.fZls, 0)
  3974. END
  3975. THEN
  3976. CASE
  3977. WHEN IFNULL(d.fZls, 0) < rr.zl
  3978. THEN rr.zl
  3979. ELSE IFNULL(d.fZls, 0)
  3980. END
  3981. ELSE c.nzdls
  3982. END
  3983. )
  3984. END
  3985. ELSE 0
  3986. END
  3987. ELSE
  3988. CASE
  3989. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3990. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3991. CASE
  3992. WHEN a.cCyddxMc = '装配'
  3993. OR a.cCyddxMc LIKE '%正文%'
  3994. OR a.cCyddxMc LIKE '%答案%'
  3995. OR a.cCyddxMc LIKE '%卷%'
  3996. THEN
  3997. CASE
  3998. WHEN CASE
  3999. WHEN IFNULL(d.fZls, 0) < rr.zl
  4000. THEN rr.zl
  4001. ELSE IFNULL(d.fZls, 0)
  4002. END = 0
  4003. THEN c.nzdls
  4004. ELSE (
  4005. CASE
  4006. WHEN c.nzdls <
  4007. CASE
  4008. WHEN IFNULL(d.fZls, 0) < rr.zl
  4009. THEN rr.zl
  4010. ELSE IFNULL(d.fZls, 0)
  4011. END
  4012. THEN
  4013. CASE
  4014. WHEN IFNULL(d.fZls, 0) < rr.zl
  4015. THEN rr.zl
  4016. ELSE IFNULL(d.fZls, 0)
  4017. END
  4018. ELSE c.nzdls
  4019. END
  4020. )
  4021. END
  4022. ELSE 0
  4023. END
  4024. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4025. END
  4026. END )
  4027. , 3) 马66甲纸令
  4028. ")
  4029. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4030. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4031. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4032. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4033. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4034. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4035. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  4036. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4037. ->group("CASE
  4038. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4039. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4040. END,Name_WorkGroup")
  4041. ->buildSql();
  4042. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  4043. ->field("
  4044. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4045. ROUND(SUM(
  4046. CASE
  4047. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4048. THEN
  4049. CASE
  4050. WHEN a.cCyddxMc = '装配'
  4051. OR a.cCyddxMc LIKE '%正文%'
  4052. OR a.cCyddxMc LIKE '%答案%'
  4053. OR a.cCyddxMc LIKE '%卷%'
  4054. THEN
  4055. CASE
  4056. WHEN CASE
  4057. WHEN IFNULL(d.fZls, 0) < rr.zl
  4058. THEN rr.zl
  4059. ELSE IFNULL(d.fZls, 0)
  4060. END = 0
  4061. THEN c.nzdls
  4062. ELSE (
  4063. CASE
  4064. WHEN c.nzdls <
  4065. CASE
  4066. WHEN IFNULL(d.fZls, 0) < rr.zl
  4067. THEN rr.zl
  4068. ELSE IFNULL(d.fZls, 0)
  4069. END
  4070. THEN
  4071. CASE
  4072. WHEN IFNULL(d.fZls, 0) < rr.zl
  4073. THEN rr.zl
  4074. ELSE IFNULL(d.fZls, 0)
  4075. END
  4076. ELSE c.nzdls
  4077. END
  4078. )
  4079. END
  4080. ELSE 0
  4081. END
  4082. ELSE
  4083. CASE
  4084. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4085. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4086. CASE
  4087. WHEN a.cCyddxMc = '装配'
  4088. OR a.cCyddxMc LIKE '%正文%'
  4089. OR a.cCyddxMc LIKE '%答案%'
  4090. OR a.cCyddxMc LIKE '%卷%'
  4091. THEN
  4092. CASE
  4093. WHEN CASE
  4094. WHEN IFNULL(d.fZls, 0) < rr.zl
  4095. THEN rr.zl
  4096. ELSE IFNULL(d.fZls, 0)
  4097. END = 0
  4098. THEN c.nzdls
  4099. ELSE (
  4100. CASE
  4101. WHEN c.nzdls <
  4102. CASE
  4103. WHEN IFNULL(d.fZls, 0) < rr.zl
  4104. THEN rr.zl
  4105. ELSE IFNULL(d.fZls, 0)
  4106. END
  4107. THEN
  4108. CASE
  4109. WHEN IFNULL(d.fZls, 0) < rr.zl
  4110. THEN rr.zl
  4111. ELSE IFNULL(d.fZls, 0)
  4112. END
  4113. ELSE c.nzdls
  4114. END
  4115. )
  4116. END
  4117. ELSE 0
  4118. END
  4119. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4120. END
  4121. END )
  4122. , 3) 马77甲纸令
  4123. ")
  4124. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4125. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4126. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4127. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4128. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4129. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4130. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  4131. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4132. ->group("CASE
  4133. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4134. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4135. END,Name_WorkGroup")
  4136. ->buildSql();
  4137. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  4138. ->field("
  4139. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4140. ROUND(SUM(
  4141. CASE
  4142. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4143. THEN
  4144. CASE
  4145. WHEN a.cCyddxMc = '装配'
  4146. OR a.cCyddxMc LIKE '%正文%'
  4147. OR a.cCyddxMc LIKE '%答案%'
  4148. OR a.cCyddxMc LIKE '%卷%'
  4149. THEN
  4150. CASE
  4151. WHEN CASE
  4152. WHEN IFNULL(d.fZls, 0) < rr.zl
  4153. THEN rr.zl
  4154. ELSE IFNULL(d.fZls, 0)
  4155. END = 0
  4156. THEN c.nzdls
  4157. ELSE (
  4158. CASE
  4159. WHEN c.nzdls <
  4160. CASE
  4161. WHEN IFNULL(d.fZls, 0) < rr.zl
  4162. THEN rr.zl
  4163. ELSE IFNULL(d.fZls, 0)
  4164. END
  4165. THEN
  4166. CASE
  4167. WHEN IFNULL(d.fZls, 0) < rr.zl
  4168. THEN rr.zl
  4169. ELSE IFNULL(d.fZls, 0)
  4170. END
  4171. ELSE c.nzdls
  4172. END
  4173. )
  4174. END
  4175. ELSE 0
  4176. END
  4177. ELSE
  4178. CASE
  4179. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4180. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4181. CASE
  4182. WHEN a.cCyddxMc = '装配'
  4183. OR a.cCyddxMc LIKE '%正文%'
  4184. OR a.cCyddxMc LIKE '%答案%'
  4185. OR a.cCyddxMc LIKE '%卷%'
  4186. THEN
  4187. CASE
  4188. WHEN CASE
  4189. WHEN IFNULL(d.fZls, 0) < rr.zl
  4190. THEN rr.zl
  4191. ELSE IFNULL(d.fZls, 0)
  4192. END = 0
  4193. THEN c.nzdls
  4194. ELSE (
  4195. CASE
  4196. WHEN c.nzdls <
  4197. CASE
  4198. WHEN IFNULL(d.fZls, 0) < rr.zl
  4199. THEN rr.zl
  4200. ELSE IFNULL(d.fZls, 0)
  4201. END
  4202. THEN
  4203. CASE
  4204. WHEN IFNULL(d.fZls, 0) < rr.zl
  4205. THEN rr.zl
  4206. ELSE IFNULL(d.fZls, 0)
  4207. END
  4208. ELSE c.nzdls
  4209. END
  4210. )
  4211. END
  4212. ELSE 0
  4213. END
  4214. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4215. END
  4216. END )
  4217. , 3) 马55乙纸令
  4218. ")
  4219. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4220. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4221. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4222. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4223. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4224. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4225. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  4226. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4227. ->group("CASE
  4228. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4229. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4230. END,Name_WorkGroup")
  4231. ->buildSql();
  4232. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  4233. ->field("
  4234. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4235. ROUND(SUM(
  4236. CASE
  4237. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4238. THEN
  4239. CASE
  4240. WHEN a.cCyddxMc = '装配'
  4241. OR a.cCyddxMc LIKE '%正文%'
  4242. OR a.cCyddxMc LIKE '%答案%'
  4243. OR a.cCyddxMc LIKE '%卷%'
  4244. THEN
  4245. CASE
  4246. WHEN CASE
  4247. WHEN IFNULL(d.fZls, 0) < rr.zl
  4248. THEN rr.zl
  4249. ELSE IFNULL(d.fZls, 0)
  4250. END = 0
  4251. THEN c.nzdls
  4252. ELSE (
  4253. CASE
  4254. WHEN c.nzdls <
  4255. CASE
  4256. WHEN IFNULL(d.fZls, 0) < rr.zl
  4257. THEN rr.zl
  4258. ELSE IFNULL(d.fZls, 0)
  4259. END
  4260. THEN
  4261. CASE
  4262. WHEN IFNULL(d.fZls, 0) < rr.zl
  4263. THEN rr.zl
  4264. ELSE IFNULL(d.fZls, 0)
  4265. END
  4266. ELSE c.nzdls
  4267. END
  4268. )
  4269. END
  4270. ELSE 0
  4271. END
  4272. ELSE
  4273. CASE
  4274. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4275. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4276. CASE
  4277. WHEN a.cCyddxMc = '装配'
  4278. OR a.cCyddxMc LIKE '%正文%'
  4279. OR a.cCyddxMc LIKE '%答案%'
  4280. OR a.cCyddxMc LIKE '%卷%'
  4281. THEN
  4282. CASE
  4283. WHEN CASE
  4284. WHEN IFNULL(d.fZls, 0) < rr.zl
  4285. THEN rr.zl
  4286. ELSE IFNULL(d.fZls, 0)
  4287. END = 0
  4288. THEN c.nzdls
  4289. ELSE (
  4290. CASE
  4291. WHEN c.nzdls <
  4292. CASE
  4293. WHEN IFNULL(d.fZls, 0) < rr.zl
  4294. THEN rr.zl
  4295. ELSE IFNULL(d.fZls, 0)
  4296. END
  4297. THEN
  4298. CASE
  4299. WHEN IFNULL(d.fZls, 0) < rr.zl
  4300. THEN rr.zl
  4301. ELSE IFNULL(d.fZls, 0)
  4302. END
  4303. ELSE c.nzdls
  4304. END
  4305. )
  4306. END
  4307. ELSE 0
  4308. END
  4309. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4310. END
  4311. END )
  4312. , 3) 马66乙纸令
  4313. ")
  4314. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4315. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4316. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4317. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4318. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4319. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4320. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  4321. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4322. ->group("CASE
  4323. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4324. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4325. END,Name_WorkGroup")
  4326. ->buildSql();
  4327. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  4328. ->field("
  4329. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4330. ROUND(SUM(
  4331. CASE
  4332. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4333. THEN
  4334. CASE
  4335. WHEN a.cCyddxMc = '装配'
  4336. OR a.cCyddxMc LIKE '%正文%'
  4337. OR a.cCyddxMc LIKE '%答案%'
  4338. OR a.cCyddxMc LIKE '%卷%'
  4339. THEN
  4340. CASE
  4341. WHEN CASE
  4342. WHEN IFNULL(d.fZls, 0) < rr.zl
  4343. THEN rr.zl
  4344. ELSE IFNULL(d.fZls, 0)
  4345. END = 0
  4346. THEN c.nzdls
  4347. ELSE (
  4348. CASE
  4349. WHEN c.nzdls <
  4350. CASE
  4351. WHEN IFNULL(d.fZls, 0) < rr.zl
  4352. THEN rr.zl
  4353. ELSE IFNULL(d.fZls, 0)
  4354. END
  4355. THEN
  4356. CASE
  4357. WHEN IFNULL(d.fZls, 0) < rr.zl
  4358. THEN rr.zl
  4359. ELSE IFNULL(d.fZls, 0)
  4360. END
  4361. ELSE c.nzdls
  4362. END
  4363. )
  4364. END
  4365. ELSE 0
  4366. END
  4367. ELSE
  4368. CASE
  4369. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4370. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4371. CASE
  4372. WHEN a.cCyddxMc = '装配'
  4373. OR a.cCyddxMc LIKE '%正文%'
  4374. OR a.cCyddxMc LIKE '%答案%'
  4375. OR a.cCyddxMc LIKE '%卷%'
  4376. THEN
  4377. CASE
  4378. WHEN CASE
  4379. WHEN IFNULL(d.fZls, 0) < rr.zl
  4380. THEN rr.zl
  4381. ELSE IFNULL(d.fZls, 0)
  4382. END = 0
  4383. THEN c.nzdls
  4384. ELSE (
  4385. CASE
  4386. WHEN c.nzdls <
  4387. CASE
  4388. WHEN IFNULL(d.fZls, 0) < rr.zl
  4389. THEN rr.zl
  4390. ELSE IFNULL(d.fZls, 0)
  4391. END
  4392. THEN
  4393. CASE
  4394. WHEN IFNULL(d.fZls, 0) < rr.zl
  4395. THEN rr.zl
  4396. ELSE IFNULL(d.fZls, 0)
  4397. END
  4398. ELSE c.nzdls
  4399. END
  4400. )
  4401. END
  4402. ELSE 0
  4403. END
  4404. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4405. END
  4406. END )
  4407. , 3) 马77乙纸令
  4408. ")
  4409. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4410. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4411. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4412. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4413. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4414. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4415. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  4416. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4417. ->group("CASE
  4418. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4419. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4420. END,Name_WorkGroup")
  4421. ->buildSql();
  4422. $db = Db::table($A . 'a')
  4423. ->field("
  4424. DISTINCT DATE(A.RQ) rq,
  4425. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  4426. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  4427. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  4428. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  4429. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  4430. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  4431. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  4432. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  4433. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  4434. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  4435. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  4436. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  4437. ")
  4438. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  4439. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4440. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  4441. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  4442. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  4443. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  4444. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  4445. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  4446. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  4447. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  4448. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4449. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4450. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  4451. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  4452. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  4453. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  4454. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  4455. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  4456. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  4457. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  4458. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  4459. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  4460. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  4461. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  4462. ->group('rq')
  4463. ->buildSql();
  4464. $jd = Db::table($db . ' db')
  4465. ->field("
  4466. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4467. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  4468. ")
  4469. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ")
  4470. ->group('MONTH(db.rq)')
  4471. ->select();
  4472. /**
  4473. * 簿册联动线纸令
  4474. */
  4475. $B = Db::table('cpjtfk')
  4476. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4477. ->field("
  4478. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4479. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  4480. ")
  4481. ->where('cbanzu','=','簿册机1号(甲班)')
  4482. ->group('drptdate,cbanzu')
  4483. ->buildSql();
  4484. $B1 = Db::table('cpjtfk')
  4485. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4486. ->field("
  4487. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4488. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  4489. ")
  4490. ->where('cbanzu','=','簿册机1号(乙班)')
  4491. ->group('drptdate,cbanzu')
  4492. ->buildSql();
  4493. $rr = Db::table('scyddx')->alias('r')
  4494. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4495. ->group('r.ICYDID')
  4496. ->buildSql();
  4497. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4498. ->field("
  4499. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4500. ROUND(SUM(
  4501. CASE
  4502. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4503. THEN
  4504. CASE
  4505. WHEN a.cCyddxMc = '装配'
  4506. OR a.cCyddxMc LIKE '%正文%'
  4507. OR a.cCyddxMc LIKE '%答案%'
  4508. OR a.cCyddxMc LIKE '%卷%'
  4509. THEN
  4510. CASE
  4511. WHEN CASE
  4512. WHEN IFNULL(d.fZls, 0) < rr.zl
  4513. THEN rr.zl
  4514. ELSE IFNULL(d.fZls, 0)
  4515. END = 0
  4516. THEN c.nzdls
  4517. ELSE (
  4518. CASE
  4519. WHEN c.nzdls <
  4520. CASE
  4521. WHEN IFNULL(d.fZls, 0) < rr.zl
  4522. THEN rr.zl
  4523. ELSE IFNULL(d.fZls, 0)
  4524. END
  4525. THEN
  4526. CASE
  4527. WHEN IFNULL(d.fZls, 0) < rr.zl
  4528. THEN rr.zl
  4529. ELSE IFNULL(d.fZls, 0)
  4530. END
  4531. ELSE c.nzdls
  4532. END
  4533. )
  4534. END
  4535. ELSE 0
  4536. END
  4537. ELSE
  4538. CASE
  4539. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4540. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4541. CASE
  4542. WHEN a.cCyddxMc = '装配'
  4543. OR a.cCyddxMc LIKE '%正文%'
  4544. OR a.cCyddxMc LIKE '%答案%'
  4545. OR a.cCyddxMc LIKE '%卷%'
  4546. THEN
  4547. CASE
  4548. WHEN CASE
  4549. WHEN IFNULL(d.fZls, 0) < rr.zl
  4550. THEN rr.zl
  4551. ELSE IFNULL(d.fZls, 0)
  4552. END = 0
  4553. THEN c.nzdls
  4554. ELSE (
  4555. CASE
  4556. WHEN c.nzdls <
  4557. CASE
  4558. WHEN IFNULL(d.fZls, 0) < rr.zl
  4559. THEN rr.zl
  4560. ELSE IFNULL(d.fZls, 0)
  4561. END
  4562. THEN
  4563. CASE
  4564. WHEN IFNULL(d.fZls, 0) < rr.zl
  4565. THEN rr.zl
  4566. ELSE IFNULL(d.fZls, 0)
  4567. END
  4568. ELSE c.nzdls
  4569. END
  4570. )
  4571. END
  4572. ELSE 0
  4573. END
  4574. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4575. END
  4576. END )
  4577. , 3) 簿11甲纸令
  4578. ")
  4579. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4580. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4581. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4582. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4583. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4584. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4585. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  4586. ->where('a.cTechName' ,'=','簿册联动')
  4587. ->group("CASE
  4588. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4589. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4590. END,Name_WorkGroup")
  4591. ->buildSql();
  4592. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4593. ->field("
  4594. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4595. ROUND(SUM(
  4596. CASE
  4597. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4598. THEN
  4599. CASE
  4600. WHEN a.cCyddxMc = '装配'
  4601. OR a.cCyddxMc LIKE '%正文%'
  4602. OR a.cCyddxMc LIKE '%答案%'
  4603. OR a.cCyddxMc LIKE '%卷%'
  4604. THEN
  4605. CASE
  4606. WHEN CASE
  4607. WHEN IFNULL(d.fZls, 0) < rr.zl
  4608. THEN rr.zl
  4609. ELSE IFNULL(d.fZls, 0)
  4610. END = 0
  4611. THEN c.nzdls
  4612. ELSE (
  4613. CASE
  4614. WHEN c.nzdls <
  4615. CASE
  4616. WHEN IFNULL(d.fZls, 0) < rr.zl
  4617. THEN rr.zl
  4618. ELSE IFNULL(d.fZls, 0)
  4619. END
  4620. THEN
  4621. CASE
  4622. WHEN IFNULL(d.fZls, 0) < rr.zl
  4623. THEN rr.zl
  4624. ELSE IFNULL(d.fZls, 0)
  4625. END
  4626. ELSE c.nzdls
  4627. END
  4628. )
  4629. END
  4630. ELSE 0
  4631. END
  4632. ELSE
  4633. CASE
  4634. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4635. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4636. CASE
  4637. WHEN a.cCyddxMc = '装配'
  4638. OR a.cCyddxMc LIKE '%正文%'
  4639. OR a.cCyddxMc LIKE '%答案%'
  4640. OR a.cCyddxMc LIKE '%卷%'
  4641. THEN
  4642. CASE
  4643. WHEN CASE
  4644. WHEN IFNULL(d.fZls, 0) < rr.zl
  4645. THEN rr.zl
  4646. ELSE IFNULL(d.fZls, 0)
  4647. END = 0
  4648. THEN c.nzdls
  4649. ELSE (
  4650. CASE
  4651. WHEN c.nzdls <
  4652. CASE
  4653. WHEN IFNULL(d.fZls, 0) < rr.zl
  4654. THEN rr.zl
  4655. ELSE IFNULL(d.fZls, 0)
  4656. END
  4657. THEN
  4658. CASE
  4659. WHEN IFNULL(d.fZls, 0) < rr.zl
  4660. THEN rr.zl
  4661. ELSE IFNULL(d.fZls, 0)
  4662. END
  4663. ELSE c.nzdls
  4664. END
  4665. )
  4666. END
  4667. ELSE 0
  4668. END
  4669. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4670. END
  4671. END )
  4672. , 3) 簿11乙纸令
  4673. ")
  4674. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4675. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4676. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4677. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4678. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4679. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4680. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  4681. ->where('a.cTechName' ,'=','簿册联动')
  4682. ->group("CASE
  4683. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4684. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4685. END,Name_WorkGroup")
  4686. ->buildSql();
  4687. $db = Db::table($A . 'a')
  4688. ->field("
  4689. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  4690. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  4691. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  4692. ")
  4693. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  4694. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4695. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4696. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4697. ->group('rq')
  4698. ->buildSql();
  4699. $bc = Db::table($db . ' db')
  4700. ->field("
  4701. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4702. ROUND(sum(db.纸令), 0) as 簿册纸令
  4703. ")->where("db.RQ >= '{$this->qstart_time()}'
  4704. AND db.RQ <= '{$this->qend_time()}' ")
  4705. ->group('MONTH(db.rq)')
  4706. ->select();
  4707. // 创建一个结果数组
  4708. $result=[];
  4709. $result1 = [];
  4710. // 遍历第一个数组,并将数据加入结果数组
  4711. foreach ($jp as $val1) {
  4712. $month = $val1['日期'];
  4713. $data1 = $val1['精平纸令'];
  4714. if (!isset($result[$month])) {
  4715. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4716. }
  4717. if (!isset($result1[$month])) {
  4718. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4719. }
  4720. $result1[$month] += $data1; // 累加第一个数组的数据
  4721. }
  4722. // 遍历第二个数组,并将数据加入结果数组
  4723. foreach ($jd as $val2) {
  4724. $month = $val2['日期'];
  4725. $data1 = $val2['无线胶订纸令'];
  4726. if (!isset($result[$month])) {
  4727. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4728. }
  4729. if (!isset($result1[$month])) {
  4730. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4731. }
  4732. $result1[$month] += $data1; // 累加第二个数组的数据
  4733. }
  4734. foreach ($bc as $val2) {
  4735. $month = $val2['日期'];
  4736. $data1 = $val2['簿册纸令'];
  4737. if (!isset($result[$month])) {
  4738. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  4739. }
  4740. if (!isset($result1[$month])) {
  4741. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  4742. }
  4743. $result1[$month] += $data1; // 累加第二个数组的数据
  4744. }
  4745. foreach($result1 as $k=>$v){
  4746. $list['categories'][]=$k;
  4747. $list['series'][0]['name']='装订实物产量色令数';
  4748. $list['series'][0]['data'][]=$v;
  4749. }
  4750. $res['status']=0;
  4751. $res['msg']='';
  4752. $res['data']=$list;
  4753. $redis->set($redis_key, json_encode($result1));
  4754. // halt(json_decode($redis->get($redis_key),true));
  4755. return json_encode($result1);
  4756. }
  4757. //当年装订实物产量纸令->缓存调用
  4758. public function zdzl2023(){
  4759. $redis=redis();
  4760. $redis_key = md5('zdzl2023');
  4761. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  4762. ->union(function ($query) {
  4763. $query->table('scDayRpt_Teams')->alias('b')
  4764. ->field("DISTINCT DATE_FORMAT(
  4765. CASE
  4766. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  4767. ELSE b.dOnDuty
  4768. END,
  4769. '%Y-%m-%d'
  4770. ) AS RQ");
  4771. }, true)
  4772. ->buildSql();
  4773. $B1 = Db::table('cpjtfk')
  4774. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4775. ->field("
  4776. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4777. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  4778. ")
  4779. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  4780. ->group('drptdate,cbanzu')
  4781. ->buildSql();
  4782. $rr = Db::table('scyddx')->alias('r')
  4783. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4784. ->group('r.ICYDID')
  4785. ->buildSql();
  4786. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4787. ->field("
  4788. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4789. ROUND(SUM(
  4790. CASE
  4791. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4792. THEN
  4793. CASE
  4794. WHEN a.cCyddxMc = '装配'
  4795. OR a.cCyddxMc LIKE '%正文%'
  4796. OR a.cCyddxMc LIKE '%答案%'
  4797. OR a.cCyddxMc LIKE '%卷%'
  4798. THEN
  4799. CASE
  4800. WHEN CASE
  4801. WHEN IFNULL(d.fZls, 0) < rr.zl
  4802. THEN rr.zl
  4803. ELSE IFNULL(d.fZls, 0)
  4804. END = 0
  4805. THEN c.nzdls
  4806. ELSE (
  4807. CASE
  4808. WHEN c.nzdls <
  4809. CASE
  4810. WHEN IFNULL(d.fZls, 0) < rr.zl
  4811. THEN rr.zl
  4812. ELSE IFNULL(d.fZls, 0)
  4813. END
  4814. THEN
  4815. CASE
  4816. WHEN IFNULL(d.fZls, 0) < rr.zl
  4817. THEN rr.zl
  4818. ELSE IFNULL(d.fZls, 0)
  4819. END
  4820. ELSE c.nzdls
  4821. END
  4822. )
  4823. END
  4824. ELSE 0
  4825. END
  4826. ELSE
  4827. CASE
  4828. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4829. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4830. CASE
  4831. WHEN a.cCyddxMc = '装配'
  4832. OR a.cCyddxMc LIKE '%正文%'
  4833. OR a.cCyddxMc LIKE '%答案%'
  4834. OR a.cCyddxMc LIKE '%卷%'
  4835. THEN
  4836. CASE
  4837. WHEN CASE
  4838. WHEN IFNULL(d.fZls, 0) < rr.zl
  4839. THEN rr.zl
  4840. ELSE IFNULL(d.fZls, 0)
  4841. END = 0
  4842. THEN c.nzdls
  4843. ELSE (
  4844. CASE
  4845. WHEN c.nzdls <
  4846. CASE
  4847. WHEN IFNULL(d.fZls, 0) < rr.zl
  4848. THEN rr.zl
  4849. ELSE IFNULL(d.fZls, 0)
  4850. END
  4851. THEN
  4852. CASE
  4853. WHEN IFNULL(d.fZls, 0) < rr.zl
  4854. THEN rr.zl
  4855. ELSE IFNULL(d.fZls, 0)
  4856. END
  4857. ELSE c.nzdls
  4858. END
  4859. )
  4860. END
  4861. ELSE 0
  4862. END
  4863. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4864. END
  4865. END )
  4866. , 3) 精11乙纸令
  4867. ")
  4868. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4869. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4870. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4871. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4872. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4873. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4874. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  4875. ->group("CASE
  4876. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4877. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4878. END,Name_WorkGroup")
  4879. ->buildSql();
  4880. $db = Db::table($A . 'a')
  4881. ->field("
  4882. DATE(A.RQ) rq,
  4883. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  4884. ")
  4885. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4886. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4887. ->buildSql();
  4888. $jp = Db::table($db . ' db')
  4889. ->field("
  4890. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4891. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  4892. ")->where("db.RQ >= '{$this->start_time()}'
  4893. AND db.RQ <= '{$this->end_time()}' ")
  4894. ->group('MONTH(db.rq)')
  4895. ->select();
  4896. $B = Db::table('cpjtfk')
  4897. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4898. ->field("
  4899. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4900. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  4901. ")
  4902. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  4903. ->group('drptdate,cbanzu')
  4904. ->buildSql();
  4905. $B1 = Db::table('cpjtfk')
  4906. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4907. ->field("
  4908. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4909. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  4910. ")
  4911. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  4912. ->group('drptdate,cbanzu')
  4913. ->buildSql();
  4914. $C = Db::table('cpjtfk')
  4915. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4916. ->field("
  4917. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4918. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  4919. ")
  4920. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  4921. ->group('drptdate,cbanzu')
  4922. ->buildSql();
  4923. $C1 = Db::table('cpjtfk')
  4924. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4925. ->field("
  4926. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4927. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  4928. ")
  4929. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  4930. ->group('drptdate,cbanzu')
  4931. ->buildSql();
  4932. $D = Db::table('cpjtfk')
  4933. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4934. ->field("
  4935. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4936. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  4937. ")
  4938. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  4939. ->group('drptdate,cbanzu')
  4940. ->buildSql();
  4941. $D1 = Db::table('cpjtfk')
  4942. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4943. ->field("
  4944. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4945. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  4946. ")
  4947. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  4948. ->group('drptdate,cbanzu')
  4949. ->buildSql();
  4950. $E = Db::table('cpjtfk')
  4951. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4952. ->field("
  4953. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4954. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  4955. ")
  4956. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  4957. ->group('drptdate,cbanzu')
  4958. ->buildSql();
  4959. $E1 = Db::table('cpjtfk')
  4960. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4961. ->field("
  4962. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4963. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  4964. ")
  4965. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  4966. ->group('drptdate,cbanzu')
  4967. ->buildSql();
  4968. $F = Db::table('cpjtfk')
  4969. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4970. ->field("
  4971. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4972. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  4973. ")
  4974. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  4975. ->group('drptdate,cbanzu')
  4976. ->buildSql();
  4977. $F1 = Db::table('cpjtfk')
  4978. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4979. ->field("
  4980. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4981. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  4982. ")
  4983. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  4984. ->group('drptdate,cbanzu')
  4985. ->buildSql();
  4986. $rr = Db::table('scyddx')->alias('r')
  4987. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4988. ->group('r.ICYDID')
  4989. ->buildSql();
  4990. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4991. ->field("
  4992. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  4993. ROUND(SUM(
  4994. CASE
  4995. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4996. THEN CASE WHEN a.cCyddxMc = '装配'
  4997. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  4998. THEN CASE
  4999. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5000. END = 0 THEN c.nzdls
  5001. ELSE ( CASE
  5002. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5003. END
  5004. THEN CASE
  5005. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5006. END ELSE c.nzdls END
  5007. ) END ELSE 0 END
  5008. ELSE CASE
  5009. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5010. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5011. CASE WHEN a.cCyddxMc = '装配'
  5012. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5013. THEN CASE
  5014. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5015. END = 0 THEN c.nzdls
  5016. ELSE ( CASE WHEN c.nzdls <
  5017. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5018. END
  5019. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5020. END ELSE c.nzdls END )
  5021. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5022. END END ), 3) 马11甲纸令 ")
  5023. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5024. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5025. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5026. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5027. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5028. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5029. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  5030. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5031. ->group("CASE
  5032. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5033. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5034. END,Name_WorkGroup")->buildSql();
  5035. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5036. ->field("
  5037. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5038. ROUND(SUM(
  5039. CASE
  5040. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5041. THEN
  5042. CASE
  5043. WHEN a.cCyddxMc = '装配'
  5044. OR a.cCyddxMc LIKE '%正文%'
  5045. OR a.cCyddxMc LIKE '%答案%'
  5046. OR a.cCyddxMc LIKE '%卷%'
  5047. THEN
  5048. CASE
  5049. WHEN CASE
  5050. WHEN IFNULL(d.fZls, 0) < rr.zl
  5051. THEN rr.zl
  5052. ELSE IFNULL(d.fZls, 0)
  5053. END = 0
  5054. THEN c.nzdls
  5055. ELSE (
  5056. CASE
  5057. WHEN c.nzdls <
  5058. CASE
  5059. WHEN IFNULL(d.fZls, 0) < rr.zl
  5060. THEN rr.zl
  5061. ELSE IFNULL(d.fZls, 0)
  5062. END
  5063. THEN
  5064. CASE
  5065. WHEN IFNULL(d.fZls, 0) < rr.zl
  5066. THEN rr.zl
  5067. ELSE IFNULL(d.fZls, 0)
  5068. END
  5069. ELSE c.nzdls
  5070. END
  5071. )
  5072. END
  5073. ELSE 0
  5074. END
  5075. ELSE
  5076. CASE
  5077. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5078. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5079. CASE
  5080. WHEN a.cCyddxMc = '装配'
  5081. OR a.cCyddxMc LIKE '%正文%'
  5082. OR a.cCyddxMc LIKE '%答案%'
  5083. OR a.cCyddxMc LIKE '%卷%'
  5084. THEN
  5085. CASE
  5086. WHEN CASE
  5087. WHEN IFNULL(d.fZls, 0) < rr.zl
  5088. THEN rr.zl
  5089. ELSE IFNULL(d.fZls, 0)
  5090. END = 0
  5091. THEN c.nzdls
  5092. ELSE (
  5093. CASE
  5094. WHEN c.nzdls <
  5095. CASE
  5096. WHEN IFNULL(d.fZls, 0) < rr.zl
  5097. THEN rr.zl
  5098. ELSE IFNULL(d.fZls, 0)
  5099. END
  5100. THEN
  5101. CASE
  5102. WHEN IFNULL(d.fZls, 0) < rr.zl
  5103. THEN rr.zl
  5104. ELSE IFNULL(d.fZls, 0)
  5105. END
  5106. ELSE c.nzdls
  5107. END
  5108. )
  5109. END
  5110. ELSE 0
  5111. END
  5112. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5113. END
  5114. END )
  5115. , 3) 马11乙纸令
  5116. ")
  5117. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5118. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5119. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5120. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5121. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5122. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5123. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  5124. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5125. ->group("CASE
  5126. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5127. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5128. END,Name_WorkGroup")
  5129. ->buildSql();
  5130. $CC = Db::table('ql_report_feedback_day')->alias('a')
  5131. ->field("
  5132. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5133. ROUND(SUM(
  5134. CASE
  5135. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5136. THEN
  5137. CASE
  5138. WHEN a.cCyddxMc = '装配'
  5139. OR a.cCyddxMc LIKE '%正文%'
  5140. OR a.cCyddxMc LIKE '%答案%'
  5141. OR a.cCyddxMc LIKE '%卷%'
  5142. THEN
  5143. CASE
  5144. WHEN CASE
  5145. WHEN IFNULL(d.fZls, 0) < rr.zl
  5146. THEN rr.zl
  5147. ELSE IFNULL(d.fZls, 0)
  5148. END = 0
  5149. THEN c.nzdls
  5150. ELSE (
  5151. CASE
  5152. WHEN c.nzdls <
  5153. CASE
  5154. WHEN IFNULL(d.fZls, 0) < rr.zl
  5155. THEN rr.zl
  5156. ELSE IFNULL(d.fZls, 0)
  5157. END
  5158. THEN
  5159. CASE
  5160. WHEN IFNULL(d.fZls, 0) < rr.zl
  5161. THEN rr.zl
  5162. ELSE IFNULL(d.fZls, 0)
  5163. END
  5164. ELSE c.nzdls
  5165. END
  5166. )
  5167. END
  5168. ELSE 0
  5169. END
  5170. ELSE
  5171. CASE
  5172. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5173. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5174. CASE
  5175. WHEN a.cCyddxMc = '装配'
  5176. OR a.cCyddxMc LIKE '%正文%'
  5177. OR a.cCyddxMc LIKE '%答案%'
  5178. OR a.cCyddxMc LIKE '%卷%'
  5179. THEN
  5180. CASE
  5181. WHEN CASE
  5182. WHEN IFNULL(d.fZls, 0) < rr.zl
  5183. THEN rr.zl
  5184. ELSE IFNULL(d.fZls, 0)
  5185. END = 0
  5186. THEN c.nzdls
  5187. ELSE (
  5188. CASE
  5189. WHEN c.nzdls <
  5190. CASE
  5191. WHEN IFNULL(d.fZls, 0) < rr.zl
  5192. THEN rr.zl
  5193. ELSE IFNULL(d.fZls, 0)
  5194. END
  5195. THEN
  5196. CASE
  5197. WHEN IFNULL(d.fZls, 0) < rr.zl
  5198. THEN rr.zl
  5199. ELSE IFNULL(d.fZls, 0)
  5200. END
  5201. ELSE c.nzdls
  5202. END
  5203. )
  5204. END
  5205. ELSE 0
  5206. END
  5207. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5208. END
  5209. END )
  5210. , 3) 马22甲纸令
  5211. ")
  5212. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5213. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5214. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5215. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5216. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5217. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5218. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  5219. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5220. ->group("CASE
  5221. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5222. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5223. END,Name_WorkGroup")
  5224. ->buildSql();
  5225. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  5226. ->field("
  5227. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5228. ROUND(SUM(
  5229. CASE
  5230. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5231. THEN
  5232. CASE
  5233. WHEN a.cCyddxMc = '装配'
  5234. OR a.cCyddxMc LIKE '%正文%'
  5235. OR a.cCyddxMc LIKE '%答案%'
  5236. OR a.cCyddxMc LIKE '%卷%'
  5237. THEN
  5238. CASE
  5239. WHEN CASE
  5240. WHEN IFNULL(d.fZls, 0) < rr.zl
  5241. THEN rr.zl
  5242. ELSE IFNULL(d.fZls, 0)
  5243. END = 0
  5244. THEN c.nzdls
  5245. ELSE (
  5246. CASE
  5247. WHEN c.nzdls <
  5248. CASE
  5249. WHEN IFNULL(d.fZls, 0) < rr.zl
  5250. THEN rr.zl
  5251. ELSE IFNULL(d.fZls, 0)
  5252. END
  5253. THEN
  5254. CASE
  5255. WHEN IFNULL(d.fZls, 0) < rr.zl
  5256. THEN rr.zl
  5257. ELSE IFNULL(d.fZls, 0)
  5258. END
  5259. ELSE c.nzdls
  5260. END
  5261. )
  5262. END
  5263. ELSE 0
  5264. END
  5265. ELSE
  5266. CASE
  5267. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5268. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5269. CASE
  5270. WHEN a.cCyddxMc = '装配'
  5271. OR a.cCyddxMc LIKE '%正文%'
  5272. OR a.cCyddxMc LIKE '%答案%'
  5273. OR a.cCyddxMc LIKE '%卷%'
  5274. THEN
  5275. CASE
  5276. WHEN CASE
  5277. WHEN IFNULL(d.fZls, 0) < rr.zl
  5278. THEN rr.zl
  5279. ELSE IFNULL(d.fZls, 0)
  5280. END = 0
  5281. THEN c.nzdls
  5282. ELSE (
  5283. CASE
  5284. WHEN c.nzdls <
  5285. CASE
  5286. WHEN IFNULL(d.fZls, 0) < rr.zl
  5287. THEN rr.zl
  5288. ELSE IFNULL(d.fZls, 0)
  5289. END
  5290. THEN
  5291. CASE
  5292. WHEN IFNULL(d.fZls, 0) < rr.zl
  5293. THEN rr.zl
  5294. ELSE IFNULL(d.fZls, 0)
  5295. END
  5296. ELSE c.nzdls
  5297. END
  5298. )
  5299. END
  5300. ELSE 0
  5301. END
  5302. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5303. END
  5304. END )
  5305. , 3) 马22乙纸令
  5306. ")
  5307. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5308. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5309. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5310. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5311. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5312. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5313. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  5314. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5315. ->group("CASE
  5316. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5317. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5318. END,Name_WorkGroup")
  5319. ->buildSql();
  5320. $EE = Db::table('ql_report_feedback_day')->alias('a')
  5321. ->field("
  5322. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5323. ROUND(SUM(
  5324. CASE
  5325. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5326. THEN
  5327. CASE
  5328. WHEN a.cCyddxMc = '装配'
  5329. OR a.cCyddxMc LIKE '%正文%'
  5330. OR a.cCyddxMc LIKE '%答案%'
  5331. OR a.cCyddxMc LIKE '%卷%'
  5332. THEN
  5333. CASE
  5334. WHEN CASE
  5335. WHEN IFNULL(d.fZls, 0) < rr.zl
  5336. THEN rr.zl
  5337. ELSE IFNULL(d.fZls, 0)
  5338. END = 0
  5339. THEN c.nzdls
  5340. ELSE (
  5341. CASE
  5342. WHEN c.nzdls <
  5343. CASE
  5344. WHEN IFNULL(d.fZls, 0) < rr.zl
  5345. THEN rr.zl
  5346. ELSE IFNULL(d.fZls, 0)
  5347. END
  5348. THEN
  5349. CASE
  5350. WHEN IFNULL(d.fZls, 0) < rr.zl
  5351. THEN rr.zl
  5352. ELSE IFNULL(d.fZls, 0)
  5353. END
  5354. ELSE c.nzdls
  5355. END
  5356. )
  5357. END
  5358. ELSE 0
  5359. END
  5360. ELSE
  5361. CASE
  5362. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5363. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5364. CASE
  5365. WHEN a.cCyddxMc = '装配'
  5366. OR a.cCyddxMc LIKE '%正文%'
  5367. OR a.cCyddxMc LIKE '%答案%'
  5368. OR a.cCyddxMc LIKE '%卷%'
  5369. THEN
  5370. CASE
  5371. WHEN CASE
  5372. WHEN IFNULL(d.fZls, 0) < rr.zl
  5373. THEN rr.zl
  5374. ELSE IFNULL(d.fZls, 0)
  5375. END = 0
  5376. THEN c.nzdls
  5377. ELSE (
  5378. CASE
  5379. WHEN c.nzdls <
  5380. CASE
  5381. WHEN IFNULL(d.fZls, 0) < rr.zl
  5382. THEN rr.zl
  5383. ELSE IFNULL(d.fZls, 0)
  5384. END
  5385. THEN
  5386. CASE
  5387. WHEN IFNULL(d.fZls, 0) < rr.zl
  5388. THEN rr.zl
  5389. ELSE IFNULL(d.fZls, 0)
  5390. END
  5391. ELSE c.nzdls
  5392. END
  5393. )
  5394. END
  5395. ELSE 0
  5396. END
  5397. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5398. END
  5399. END )
  5400. , 3) 马33甲纸令
  5401. ")
  5402. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5403. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5404. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5405. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5406. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5407. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5408. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  5409. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5410. ->group("CASE
  5411. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5412. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5413. END,Name_WorkGroup")
  5414. ->buildSql();
  5415. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  5416. ->field("
  5417. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5418. ROUND(SUM(
  5419. CASE
  5420. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5421. THEN
  5422. CASE
  5423. WHEN a.cCyddxMc = '装配'
  5424. OR a.cCyddxMc LIKE '%正文%'
  5425. OR a.cCyddxMc LIKE '%答案%'
  5426. OR a.cCyddxMc LIKE '%卷%'
  5427. THEN
  5428. CASE
  5429. WHEN CASE
  5430. WHEN IFNULL(d.fZls, 0) < rr.zl
  5431. THEN rr.zl
  5432. ELSE IFNULL(d.fZls, 0)
  5433. END = 0
  5434. THEN c.nzdls
  5435. ELSE (
  5436. CASE
  5437. WHEN c.nzdls <
  5438. CASE
  5439. WHEN IFNULL(d.fZls, 0) < rr.zl
  5440. THEN rr.zl
  5441. ELSE IFNULL(d.fZls, 0)
  5442. END
  5443. THEN
  5444. CASE
  5445. WHEN IFNULL(d.fZls, 0) < rr.zl
  5446. THEN rr.zl
  5447. ELSE IFNULL(d.fZls, 0)
  5448. END
  5449. ELSE c.nzdls
  5450. END
  5451. )
  5452. END
  5453. ELSE 0
  5454. END
  5455. ELSE
  5456. CASE
  5457. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5458. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5459. CASE
  5460. WHEN a.cCyddxMc = '装配'
  5461. OR a.cCyddxMc LIKE '%正文%'
  5462. OR a.cCyddxMc LIKE '%答案%'
  5463. OR a.cCyddxMc LIKE '%卷%'
  5464. THEN
  5465. CASE
  5466. WHEN CASE
  5467. WHEN IFNULL(d.fZls, 0) < rr.zl
  5468. THEN rr.zl
  5469. ELSE IFNULL(d.fZls, 0)
  5470. END = 0
  5471. THEN c.nzdls
  5472. ELSE (
  5473. CASE
  5474. WHEN c.nzdls <
  5475. CASE
  5476. WHEN IFNULL(d.fZls, 0) < rr.zl
  5477. THEN rr.zl
  5478. ELSE IFNULL(d.fZls, 0)
  5479. END
  5480. THEN
  5481. CASE
  5482. WHEN IFNULL(d.fZls, 0) < rr.zl
  5483. THEN rr.zl
  5484. ELSE IFNULL(d.fZls, 0)
  5485. END
  5486. ELSE c.nzdls
  5487. END
  5488. )
  5489. END
  5490. ELSE 0
  5491. END
  5492. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5493. END
  5494. END )
  5495. , 3) 马33乙纸令
  5496. ")
  5497. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5498. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5499. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5500. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5501. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5502. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5503. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  5504. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5505. ->group("CASE
  5506. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5507. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5508. END,Name_WorkGroup")
  5509. ->buildSql();
  5510. $HH = Db::table('ql_report_feedback_day')->alias('a')
  5511. ->field("
  5512. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5513. ROUND(SUM(
  5514. CASE
  5515. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5516. THEN
  5517. CASE
  5518. WHEN a.cCyddxMc = '装配'
  5519. OR a.cCyddxMc LIKE '%正文%'
  5520. OR a.cCyddxMc LIKE '%答案%'
  5521. OR a.cCyddxMc LIKE '%卷%'
  5522. THEN
  5523. CASE
  5524. WHEN CASE
  5525. WHEN IFNULL(d.fZls, 0) < rr.zl
  5526. THEN rr.zl
  5527. ELSE IFNULL(d.fZls, 0)
  5528. END = 0
  5529. THEN c.nzdls
  5530. ELSE (
  5531. CASE
  5532. WHEN c.nzdls <
  5533. CASE
  5534. WHEN IFNULL(d.fZls, 0) < rr.zl
  5535. THEN rr.zl
  5536. ELSE IFNULL(d.fZls, 0)
  5537. END
  5538. THEN
  5539. CASE
  5540. WHEN IFNULL(d.fZls, 0) < rr.zl
  5541. THEN rr.zl
  5542. ELSE IFNULL(d.fZls, 0)
  5543. END
  5544. ELSE c.nzdls
  5545. END
  5546. )
  5547. END
  5548. ELSE 0
  5549. END
  5550. ELSE
  5551. CASE
  5552. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5553. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5554. CASE
  5555. WHEN a.cCyddxMc = '装配'
  5556. OR a.cCyddxMc LIKE '%正文%'
  5557. OR a.cCyddxMc LIKE '%答案%'
  5558. OR a.cCyddxMc LIKE '%卷%'
  5559. THEN
  5560. CASE
  5561. WHEN CASE
  5562. WHEN IFNULL(d.fZls, 0) < rr.zl
  5563. THEN rr.zl
  5564. ELSE IFNULL(d.fZls, 0)
  5565. END = 0
  5566. THEN c.nzdls
  5567. ELSE (
  5568. CASE
  5569. WHEN c.nzdls <
  5570. CASE
  5571. WHEN IFNULL(d.fZls, 0) < rr.zl
  5572. THEN rr.zl
  5573. ELSE IFNULL(d.fZls, 0)
  5574. END
  5575. THEN
  5576. CASE
  5577. WHEN IFNULL(d.fZls, 0) < rr.zl
  5578. THEN rr.zl
  5579. ELSE IFNULL(d.fZls, 0)
  5580. END
  5581. ELSE c.nzdls
  5582. END
  5583. )
  5584. END
  5585. ELSE 0
  5586. END
  5587. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5588. END
  5589. END )
  5590. , 3) 马44甲纸令
  5591. ")
  5592. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5593. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5594. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5595. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5596. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5597. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5598. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  5599. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5600. ->group("CASE
  5601. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5602. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5603. END,Name_WorkGroup")
  5604. ->buildSql();
  5605. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  5606. ->field("
  5607. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5608. ROUND(SUM(
  5609. CASE
  5610. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5611. THEN
  5612. CASE
  5613. WHEN a.cCyddxMc = '装配'
  5614. OR a.cCyddxMc LIKE '%正文%'
  5615. OR a.cCyddxMc LIKE '%答案%'
  5616. OR a.cCyddxMc LIKE '%卷%'
  5617. THEN
  5618. CASE
  5619. WHEN CASE
  5620. WHEN IFNULL(d.fZls, 0) < rr.zl
  5621. THEN rr.zl
  5622. ELSE IFNULL(d.fZls, 0)
  5623. END = 0
  5624. THEN c.nzdls
  5625. ELSE (
  5626. CASE
  5627. WHEN c.nzdls <
  5628. CASE
  5629. WHEN IFNULL(d.fZls, 0) < rr.zl
  5630. THEN rr.zl
  5631. ELSE IFNULL(d.fZls, 0)
  5632. END
  5633. THEN
  5634. CASE
  5635. WHEN IFNULL(d.fZls, 0) < rr.zl
  5636. THEN rr.zl
  5637. ELSE IFNULL(d.fZls, 0)
  5638. END
  5639. ELSE c.nzdls
  5640. END
  5641. )
  5642. END
  5643. ELSE 0
  5644. END
  5645. ELSE
  5646. CASE
  5647. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5648. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5649. CASE
  5650. WHEN a.cCyddxMc = '装配'
  5651. OR a.cCyddxMc LIKE '%正文%'
  5652. OR a.cCyddxMc LIKE '%答案%'
  5653. OR a.cCyddxMc LIKE '%卷%'
  5654. THEN
  5655. CASE
  5656. WHEN CASE
  5657. WHEN IFNULL(d.fZls, 0) < rr.zl
  5658. THEN rr.zl
  5659. ELSE IFNULL(d.fZls, 0)
  5660. END = 0
  5661. THEN c.nzdls
  5662. ELSE (
  5663. CASE
  5664. WHEN c.nzdls <
  5665. CASE
  5666. WHEN IFNULL(d.fZls, 0) < rr.zl
  5667. THEN rr.zl
  5668. ELSE IFNULL(d.fZls, 0)
  5669. END
  5670. THEN
  5671. CASE
  5672. WHEN IFNULL(d.fZls, 0) < rr.zl
  5673. THEN rr.zl
  5674. ELSE IFNULL(d.fZls, 0)
  5675. END
  5676. ELSE c.nzdls
  5677. END
  5678. )
  5679. END
  5680. ELSE 0
  5681. END
  5682. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5683. END
  5684. END )
  5685. , 3) 马44乙纸令
  5686. ")
  5687. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5688. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5689. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5690. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5691. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5692. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5693. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  5694. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5695. ->group("CASE
  5696. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5697. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5698. END,Name_WorkGroup")
  5699. ->buildSql();
  5700. $XX = Db::table('ql_report_feedback_day')->alias('a')
  5701. ->field("
  5702. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5703. ROUND(SUM(
  5704. CASE
  5705. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5706. THEN
  5707. CASE
  5708. WHEN a.cCyddxMc = '装配'
  5709. OR a.cCyddxMc LIKE '%正文%'
  5710. OR a.cCyddxMc LIKE '%答案%'
  5711. OR a.cCyddxMc LIKE '%卷%'
  5712. THEN
  5713. CASE
  5714. WHEN CASE
  5715. WHEN IFNULL(d.fZls, 0) < rr.zl
  5716. THEN rr.zl
  5717. ELSE IFNULL(d.fZls, 0)
  5718. END = 0
  5719. THEN c.nzdls
  5720. ELSE (
  5721. CASE
  5722. WHEN c.nzdls <
  5723. CASE
  5724. WHEN IFNULL(d.fZls, 0) < rr.zl
  5725. THEN rr.zl
  5726. ELSE IFNULL(d.fZls, 0)
  5727. END
  5728. THEN
  5729. CASE
  5730. WHEN IFNULL(d.fZls, 0) < rr.zl
  5731. THEN rr.zl
  5732. ELSE IFNULL(d.fZls, 0)
  5733. END
  5734. ELSE c.nzdls
  5735. END
  5736. )
  5737. END
  5738. ELSE 0
  5739. END
  5740. ELSE
  5741. CASE
  5742. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5743. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5744. CASE
  5745. WHEN a.cCyddxMc = '装配'
  5746. OR a.cCyddxMc LIKE '%正文%'
  5747. OR a.cCyddxMc LIKE '%答案%'
  5748. OR a.cCyddxMc LIKE '%卷%'
  5749. THEN
  5750. CASE
  5751. WHEN CASE
  5752. WHEN IFNULL(d.fZls, 0) < rr.zl
  5753. THEN rr.zl
  5754. ELSE IFNULL(d.fZls, 0)
  5755. END = 0
  5756. THEN c.nzdls
  5757. ELSE (
  5758. CASE
  5759. WHEN c.nzdls <
  5760. CASE
  5761. WHEN IFNULL(d.fZls, 0) < rr.zl
  5762. THEN rr.zl
  5763. ELSE IFNULL(d.fZls, 0)
  5764. END
  5765. THEN
  5766. CASE
  5767. WHEN IFNULL(d.fZls, 0) < rr.zl
  5768. THEN rr.zl
  5769. ELSE IFNULL(d.fZls, 0)
  5770. END
  5771. ELSE c.nzdls
  5772. END
  5773. )
  5774. END
  5775. ELSE 0
  5776. END
  5777. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5778. END
  5779. END )
  5780. , 3) 马55甲纸令
  5781. ")
  5782. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5783. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5784. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5785. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5786. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5787. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5788. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  5789. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5790. ->group("CASE
  5791. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5792. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5793. END,Name_WorkGroup")
  5794. ->buildSql();
  5795. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  5796. ->field("
  5797. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5798. ROUND(SUM(
  5799. CASE
  5800. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5801. THEN
  5802. CASE
  5803. WHEN a.cCyddxMc = '装配'
  5804. OR a.cCyddxMc LIKE '%正文%'
  5805. OR a.cCyddxMc LIKE '%答案%'
  5806. OR a.cCyddxMc LIKE '%卷%'
  5807. THEN
  5808. CASE
  5809. WHEN CASE
  5810. WHEN IFNULL(d.fZls, 0) < rr.zl
  5811. THEN rr.zl
  5812. ELSE IFNULL(d.fZls, 0)
  5813. END = 0
  5814. THEN c.nzdls
  5815. ELSE (
  5816. CASE
  5817. WHEN c.nzdls <
  5818. CASE
  5819. WHEN IFNULL(d.fZls, 0) < rr.zl
  5820. THEN rr.zl
  5821. ELSE IFNULL(d.fZls, 0)
  5822. END
  5823. THEN
  5824. CASE
  5825. WHEN IFNULL(d.fZls, 0) < rr.zl
  5826. THEN rr.zl
  5827. ELSE IFNULL(d.fZls, 0)
  5828. END
  5829. ELSE c.nzdls
  5830. END
  5831. )
  5832. END
  5833. ELSE 0
  5834. END
  5835. ELSE
  5836. CASE
  5837. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5838. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5839. CASE
  5840. WHEN a.cCyddxMc = '装配'
  5841. OR a.cCyddxMc LIKE '%正文%'
  5842. OR a.cCyddxMc LIKE '%答案%'
  5843. OR a.cCyddxMc LIKE '%卷%'
  5844. THEN
  5845. CASE
  5846. WHEN CASE
  5847. WHEN IFNULL(d.fZls, 0) < rr.zl
  5848. THEN rr.zl
  5849. ELSE IFNULL(d.fZls, 0)
  5850. END = 0
  5851. THEN c.nzdls
  5852. ELSE (
  5853. CASE
  5854. WHEN c.nzdls <
  5855. CASE
  5856. WHEN IFNULL(d.fZls, 0) < rr.zl
  5857. THEN rr.zl
  5858. ELSE IFNULL(d.fZls, 0)
  5859. END
  5860. THEN
  5861. CASE
  5862. WHEN IFNULL(d.fZls, 0) < rr.zl
  5863. THEN rr.zl
  5864. ELSE IFNULL(d.fZls, 0)
  5865. END
  5866. ELSE c.nzdls
  5867. END
  5868. )
  5869. END
  5870. ELSE 0
  5871. END
  5872. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5873. END
  5874. END )
  5875. , 3) 马66甲纸令
  5876. ")
  5877. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5878. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5879. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5880. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5881. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5882. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5883. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  5884. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5885. ->group("CASE
  5886. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5887. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5888. END,Name_WorkGroup")
  5889. ->buildSql();
  5890. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  5891. ->field("
  5892. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5893. ROUND(SUM(
  5894. CASE
  5895. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5896. THEN
  5897. CASE
  5898. WHEN a.cCyddxMc = '装配'
  5899. OR a.cCyddxMc LIKE '%正文%'
  5900. OR a.cCyddxMc LIKE '%答案%'
  5901. OR a.cCyddxMc LIKE '%卷%'
  5902. THEN
  5903. CASE
  5904. WHEN CASE
  5905. WHEN IFNULL(d.fZls, 0) < rr.zl
  5906. THEN rr.zl
  5907. ELSE IFNULL(d.fZls, 0)
  5908. END = 0
  5909. THEN c.nzdls
  5910. ELSE (
  5911. CASE
  5912. WHEN c.nzdls <
  5913. CASE
  5914. WHEN IFNULL(d.fZls, 0) < rr.zl
  5915. THEN rr.zl
  5916. ELSE IFNULL(d.fZls, 0)
  5917. END
  5918. THEN
  5919. CASE
  5920. WHEN IFNULL(d.fZls, 0) < rr.zl
  5921. THEN rr.zl
  5922. ELSE IFNULL(d.fZls, 0)
  5923. END
  5924. ELSE c.nzdls
  5925. END
  5926. )
  5927. END
  5928. ELSE 0
  5929. END
  5930. ELSE
  5931. CASE
  5932. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5933. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5934. CASE
  5935. WHEN a.cCyddxMc = '装配'
  5936. OR a.cCyddxMc LIKE '%正文%'
  5937. OR a.cCyddxMc LIKE '%答案%'
  5938. OR a.cCyddxMc LIKE '%卷%'
  5939. THEN
  5940. CASE
  5941. WHEN CASE
  5942. WHEN IFNULL(d.fZls, 0) < rr.zl
  5943. THEN rr.zl
  5944. ELSE IFNULL(d.fZls, 0)
  5945. END = 0
  5946. THEN c.nzdls
  5947. ELSE (
  5948. CASE
  5949. WHEN c.nzdls <
  5950. CASE
  5951. WHEN IFNULL(d.fZls, 0) < rr.zl
  5952. THEN rr.zl
  5953. ELSE IFNULL(d.fZls, 0)
  5954. END
  5955. THEN
  5956. CASE
  5957. WHEN IFNULL(d.fZls, 0) < rr.zl
  5958. THEN rr.zl
  5959. ELSE IFNULL(d.fZls, 0)
  5960. END
  5961. ELSE c.nzdls
  5962. END
  5963. )
  5964. END
  5965. ELSE 0
  5966. END
  5967. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5968. END
  5969. END )
  5970. , 3) 马77甲纸令
  5971. ")
  5972. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5973. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5974. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5975. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5976. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5977. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5978. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  5979. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5980. ->group("CASE
  5981. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5982. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5983. END,Name_WorkGroup")
  5984. ->buildSql();
  5985. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  5986. ->field("
  5987. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  5988. ROUND(SUM(
  5989. CASE
  5990. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5991. THEN
  5992. CASE
  5993. WHEN a.cCyddxMc = '装配'
  5994. OR a.cCyddxMc LIKE '%正文%'
  5995. OR a.cCyddxMc LIKE '%答案%'
  5996. OR a.cCyddxMc LIKE '%卷%'
  5997. THEN
  5998. CASE
  5999. WHEN CASE
  6000. WHEN IFNULL(d.fZls, 0) < rr.zl
  6001. THEN rr.zl
  6002. ELSE IFNULL(d.fZls, 0)
  6003. END = 0
  6004. THEN c.nzdls
  6005. ELSE (
  6006. CASE
  6007. WHEN c.nzdls <
  6008. CASE
  6009. WHEN IFNULL(d.fZls, 0) < rr.zl
  6010. THEN rr.zl
  6011. ELSE IFNULL(d.fZls, 0)
  6012. END
  6013. THEN
  6014. CASE
  6015. WHEN IFNULL(d.fZls, 0) < rr.zl
  6016. THEN rr.zl
  6017. ELSE IFNULL(d.fZls, 0)
  6018. END
  6019. ELSE c.nzdls
  6020. END
  6021. )
  6022. END
  6023. ELSE 0
  6024. END
  6025. ELSE
  6026. CASE
  6027. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6028. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6029. CASE
  6030. WHEN a.cCyddxMc = '装配'
  6031. OR a.cCyddxMc LIKE '%正文%'
  6032. OR a.cCyddxMc LIKE '%答案%'
  6033. OR a.cCyddxMc LIKE '%卷%'
  6034. THEN
  6035. CASE
  6036. WHEN CASE
  6037. WHEN IFNULL(d.fZls, 0) < rr.zl
  6038. THEN rr.zl
  6039. ELSE IFNULL(d.fZls, 0)
  6040. END = 0
  6041. THEN c.nzdls
  6042. ELSE (
  6043. CASE
  6044. WHEN c.nzdls <
  6045. CASE
  6046. WHEN IFNULL(d.fZls, 0) < rr.zl
  6047. THEN rr.zl
  6048. ELSE IFNULL(d.fZls, 0)
  6049. END
  6050. THEN
  6051. CASE
  6052. WHEN IFNULL(d.fZls, 0) < rr.zl
  6053. THEN rr.zl
  6054. ELSE IFNULL(d.fZls, 0)
  6055. END
  6056. ELSE c.nzdls
  6057. END
  6058. )
  6059. END
  6060. ELSE 0
  6061. END
  6062. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6063. END
  6064. END )
  6065. , 3) 马55乙纸令
  6066. ")
  6067. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6068. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6069. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6070. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6071. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6072. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6073. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  6074. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6075. ->group("CASE
  6076. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6077. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6078. END,Name_WorkGroup")
  6079. ->buildSql();
  6080. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  6081. ->field("
  6082. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6083. ROUND(SUM(
  6084. CASE
  6085. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6086. THEN
  6087. CASE
  6088. WHEN a.cCyddxMc = '装配'
  6089. OR a.cCyddxMc LIKE '%正文%'
  6090. OR a.cCyddxMc LIKE '%答案%'
  6091. OR a.cCyddxMc LIKE '%卷%'
  6092. THEN
  6093. CASE
  6094. WHEN CASE
  6095. WHEN IFNULL(d.fZls, 0) < rr.zl
  6096. THEN rr.zl
  6097. ELSE IFNULL(d.fZls, 0)
  6098. END = 0
  6099. THEN c.nzdls
  6100. ELSE (
  6101. CASE
  6102. WHEN c.nzdls <
  6103. CASE
  6104. WHEN IFNULL(d.fZls, 0) < rr.zl
  6105. THEN rr.zl
  6106. ELSE IFNULL(d.fZls, 0)
  6107. END
  6108. THEN
  6109. CASE
  6110. WHEN IFNULL(d.fZls, 0) < rr.zl
  6111. THEN rr.zl
  6112. ELSE IFNULL(d.fZls, 0)
  6113. END
  6114. ELSE c.nzdls
  6115. END
  6116. )
  6117. END
  6118. ELSE 0
  6119. END
  6120. ELSE
  6121. CASE
  6122. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6123. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6124. CASE
  6125. WHEN a.cCyddxMc = '装配'
  6126. OR a.cCyddxMc LIKE '%正文%'
  6127. OR a.cCyddxMc LIKE '%答案%'
  6128. OR a.cCyddxMc LIKE '%卷%'
  6129. THEN
  6130. CASE
  6131. WHEN CASE
  6132. WHEN IFNULL(d.fZls, 0) < rr.zl
  6133. THEN rr.zl
  6134. ELSE IFNULL(d.fZls, 0)
  6135. END = 0
  6136. THEN c.nzdls
  6137. ELSE (
  6138. CASE
  6139. WHEN c.nzdls <
  6140. CASE
  6141. WHEN IFNULL(d.fZls, 0) < rr.zl
  6142. THEN rr.zl
  6143. ELSE IFNULL(d.fZls, 0)
  6144. END
  6145. THEN
  6146. CASE
  6147. WHEN IFNULL(d.fZls, 0) < rr.zl
  6148. THEN rr.zl
  6149. ELSE IFNULL(d.fZls, 0)
  6150. END
  6151. ELSE c.nzdls
  6152. END
  6153. )
  6154. END
  6155. ELSE 0
  6156. END
  6157. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6158. END
  6159. END )
  6160. , 3) 马66乙纸令
  6161. ")
  6162. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6163. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6164. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6165. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6166. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6167. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6168. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  6169. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6170. ->group("CASE
  6171. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6172. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6173. END,Name_WorkGroup")
  6174. ->buildSql();
  6175. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  6176. ->field("
  6177. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6178. ROUND(SUM(
  6179. CASE
  6180. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6181. THEN
  6182. CASE
  6183. WHEN a.cCyddxMc = '装配'
  6184. OR a.cCyddxMc LIKE '%正文%'
  6185. OR a.cCyddxMc LIKE '%答案%'
  6186. OR a.cCyddxMc LIKE '%卷%'
  6187. THEN
  6188. CASE
  6189. WHEN CASE
  6190. WHEN IFNULL(d.fZls, 0) < rr.zl
  6191. THEN rr.zl
  6192. ELSE IFNULL(d.fZls, 0)
  6193. END = 0
  6194. THEN c.nzdls
  6195. ELSE (
  6196. CASE
  6197. WHEN c.nzdls <
  6198. CASE
  6199. WHEN IFNULL(d.fZls, 0) < rr.zl
  6200. THEN rr.zl
  6201. ELSE IFNULL(d.fZls, 0)
  6202. END
  6203. THEN
  6204. CASE
  6205. WHEN IFNULL(d.fZls, 0) < rr.zl
  6206. THEN rr.zl
  6207. ELSE IFNULL(d.fZls, 0)
  6208. END
  6209. ELSE c.nzdls
  6210. END
  6211. )
  6212. END
  6213. ELSE 0
  6214. END
  6215. ELSE
  6216. CASE
  6217. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6218. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6219. CASE
  6220. WHEN a.cCyddxMc = '装配'
  6221. OR a.cCyddxMc LIKE '%正文%'
  6222. OR a.cCyddxMc LIKE '%答案%'
  6223. OR a.cCyddxMc LIKE '%卷%'
  6224. THEN
  6225. CASE
  6226. WHEN CASE
  6227. WHEN IFNULL(d.fZls, 0) < rr.zl
  6228. THEN rr.zl
  6229. ELSE IFNULL(d.fZls, 0)
  6230. END = 0
  6231. THEN c.nzdls
  6232. ELSE (
  6233. CASE
  6234. WHEN c.nzdls <
  6235. CASE
  6236. WHEN IFNULL(d.fZls, 0) < rr.zl
  6237. THEN rr.zl
  6238. ELSE IFNULL(d.fZls, 0)
  6239. END
  6240. THEN
  6241. CASE
  6242. WHEN IFNULL(d.fZls, 0) < rr.zl
  6243. THEN rr.zl
  6244. ELSE IFNULL(d.fZls, 0)
  6245. END
  6246. ELSE c.nzdls
  6247. END
  6248. )
  6249. END
  6250. ELSE 0
  6251. END
  6252. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6253. END
  6254. END )
  6255. , 3) 马77乙纸令
  6256. ")
  6257. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6258. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6259. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6260. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6261. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6262. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6263. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  6264. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6265. ->group("CASE
  6266. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6267. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6268. END,Name_WorkGroup")
  6269. ->buildSql();
  6270. $db = Db::table($A . 'a')
  6271. ->field("
  6272. DISTINCT DATE(A.RQ) rq,
  6273. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  6274. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  6275. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  6276. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  6277. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  6278. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  6279. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  6280. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  6281. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  6282. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  6283. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  6284. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  6285. ")
  6286. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6287. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6288. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  6289. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  6290. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  6291. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  6292. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  6293. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  6294. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  6295. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  6296. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6297. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6298. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  6299. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  6300. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  6301. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  6302. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  6303. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  6304. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  6305. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  6306. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  6307. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  6308. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  6309. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  6310. ->group('rq')
  6311. ->buildSql();
  6312. $jd = Db::table($db . ' db')
  6313. ->field("
  6314. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6315. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  6316. ")
  6317. ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6318. ->group('MONTH(db.rq)')
  6319. ->select();
  6320. /**
  6321. * 簿册联动线纸令
  6322. */
  6323. $B = Db::table('cpjtfk')
  6324. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6325. ->field("
  6326. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6327. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  6328. ")
  6329. ->where('cbanzu','=','簿册机1号(甲班)')
  6330. ->group('drptdate,cbanzu')
  6331. ->buildSql();
  6332. $B1 = Db::table('cpjtfk')
  6333. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6334. ->field("
  6335. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6336. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  6337. ")
  6338. ->where('cbanzu','=','簿册机1号(乙班)')
  6339. ->group('drptdate,cbanzu')
  6340. ->buildSql();
  6341. $rr = Db::table('scyddx')->alias('r')
  6342. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6343. ->group('r.ICYDID')
  6344. ->buildSql();
  6345. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6346. ->field("
  6347. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6348. ROUND(SUM(
  6349. CASE
  6350. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6351. THEN
  6352. CASE
  6353. WHEN a.cCyddxMc = '装配'
  6354. OR a.cCyddxMc LIKE '%正文%'
  6355. OR a.cCyddxMc LIKE '%答案%'
  6356. OR a.cCyddxMc LIKE '%卷%'
  6357. THEN
  6358. CASE
  6359. WHEN CASE
  6360. WHEN IFNULL(d.fZls, 0) < rr.zl
  6361. THEN rr.zl
  6362. ELSE IFNULL(d.fZls, 0)
  6363. END = 0
  6364. THEN c.nzdls
  6365. ELSE (
  6366. CASE
  6367. WHEN c.nzdls <
  6368. CASE
  6369. WHEN IFNULL(d.fZls, 0) < rr.zl
  6370. THEN rr.zl
  6371. ELSE IFNULL(d.fZls, 0)
  6372. END
  6373. THEN
  6374. CASE
  6375. WHEN IFNULL(d.fZls, 0) < rr.zl
  6376. THEN rr.zl
  6377. ELSE IFNULL(d.fZls, 0)
  6378. END
  6379. ELSE c.nzdls
  6380. END
  6381. )
  6382. END
  6383. ELSE 0
  6384. END
  6385. ELSE
  6386. CASE
  6387. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6388. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6389. CASE
  6390. WHEN a.cCyddxMc = '装配'
  6391. OR a.cCyddxMc LIKE '%正文%'
  6392. OR a.cCyddxMc LIKE '%答案%'
  6393. OR a.cCyddxMc LIKE '%卷%'
  6394. THEN
  6395. CASE
  6396. WHEN CASE
  6397. WHEN IFNULL(d.fZls, 0) < rr.zl
  6398. THEN rr.zl
  6399. ELSE IFNULL(d.fZls, 0)
  6400. END = 0
  6401. THEN c.nzdls
  6402. ELSE (
  6403. CASE
  6404. WHEN c.nzdls <
  6405. CASE
  6406. WHEN IFNULL(d.fZls, 0) < rr.zl
  6407. THEN rr.zl
  6408. ELSE IFNULL(d.fZls, 0)
  6409. END
  6410. THEN
  6411. CASE
  6412. WHEN IFNULL(d.fZls, 0) < rr.zl
  6413. THEN rr.zl
  6414. ELSE IFNULL(d.fZls, 0)
  6415. END
  6416. ELSE c.nzdls
  6417. END
  6418. )
  6419. END
  6420. ELSE 0
  6421. END
  6422. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6423. END
  6424. END )
  6425. , 3) 簿11甲纸令
  6426. ")
  6427. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6428. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6429. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6430. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6431. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6432. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6433. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  6434. ->where('a.cTechName' ,'=','簿册联动')
  6435. ->group("CASE
  6436. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6437. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6438. END,Name_WorkGroup")
  6439. ->buildSql();
  6440. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6441. ->field("
  6442. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6443. ROUND(SUM(
  6444. CASE
  6445. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6446. THEN
  6447. CASE
  6448. WHEN a.cCyddxMc = '装配'
  6449. OR a.cCyddxMc LIKE '%正文%'
  6450. OR a.cCyddxMc LIKE '%答案%'
  6451. OR a.cCyddxMc LIKE '%卷%'
  6452. THEN
  6453. CASE
  6454. WHEN CASE
  6455. WHEN IFNULL(d.fZls, 0) < rr.zl
  6456. THEN rr.zl
  6457. ELSE IFNULL(d.fZls, 0)
  6458. END = 0
  6459. THEN c.nzdls
  6460. ELSE (
  6461. CASE
  6462. WHEN c.nzdls <
  6463. CASE
  6464. WHEN IFNULL(d.fZls, 0) < rr.zl
  6465. THEN rr.zl
  6466. ELSE IFNULL(d.fZls, 0)
  6467. END
  6468. THEN
  6469. CASE
  6470. WHEN IFNULL(d.fZls, 0) < rr.zl
  6471. THEN rr.zl
  6472. ELSE IFNULL(d.fZls, 0)
  6473. END
  6474. ELSE c.nzdls
  6475. END
  6476. )
  6477. END
  6478. ELSE 0
  6479. END
  6480. ELSE
  6481. CASE
  6482. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6483. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6484. CASE
  6485. WHEN a.cCyddxMc = '装配'
  6486. OR a.cCyddxMc LIKE '%正文%'
  6487. OR a.cCyddxMc LIKE '%答案%'
  6488. OR a.cCyddxMc LIKE '%卷%'
  6489. THEN
  6490. CASE
  6491. WHEN CASE
  6492. WHEN IFNULL(d.fZls, 0) < rr.zl
  6493. THEN rr.zl
  6494. ELSE IFNULL(d.fZls, 0)
  6495. END = 0
  6496. THEN c.nzdls
  6497. ELSE (
  6498. CASE
  6499. WHEN c.nzdls <
  6500. CASE
  6501. WHEN IFNULL(d.fZls, 0) < rr.zl
  6502. THEN rr.zl
  6503. ELSE IFNULL(d.fZls, 0)
  6504. END
  6505. THEN
  6506. CASE
  6507. WHEN IFNULL(d.fZls, 0) < rr.zl
  6508. THEN rr.zl
  6509. ELSE IFNULL(d.fZls, 0)
  6510. END
  6511. ELSE c.nzdls
  6512. END
  6513. )
  6514. END
  6515. ELSE 0
  6516. END
  6517. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6518. END
  6519. END )
  6520. , 3) 簿11乙纸令
  6521. ")
  6522. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6523. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6524. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6525. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6526. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6527. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6528. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  6529. ->where('a.cTechName' ,'=','簿册联动')
  6530. ->group("CASE
  6531. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6532. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6533. END,Name_WorkGroup")
  6534. ->buildSql();
  6535. $db = Db::table($A . 'a')
  6536. ->field("
  6537. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  6538. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  6539. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  6540. ")
  6541. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  6542. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6543. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6544. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6545. ->group('rq')
  6546. ->buildSql();
  6547. $bc = Db::table($db . ' db')
  6548. ->field("
  6549. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6550. ROUND(sum(db.纸令), 0) as 簿册纸令
  6551. ")->where("db.RQ >= '{$this->start_time()}'
  6552. AND db.RQ <= '{$this->end_time()}' ")
  6553. ->group('MONTH(db.rq)')
  6554. ->select();
  6555. // 创建一个结果数组
  6556. $result=[];
  6557. $result1 = [];
  6558. // 遍历第一个数组,并将数据加入结果数组
  6559. foreach ($jp as $val1) {
  6560. $month = $val1['日期'];
  6561. $data1 = $val1['精平纸令'];
  6562. if (!isset($result[$month])) {
  6563. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6564. }
  6565. if (!isset($result1[$month])) {
  6566. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6567. }
  6568. $result1[$month] += $data1; // 累加第一个数组的数据
  6569. }
  6570. // 遍历第二个数组,并将数据加入结果数组
  6571. foreach ($jd as $val2) {
  6572. $month = $val2['日期'];
  6573. $data1 = $val2['无线胶订纸令'];
  6574. if (!isset($result[$month])) {
  6575. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6576. }
  6577. if (!isset($result1[$month])) {
  6578. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6579. }
  6580. $result1[$month] += $data1; // 累加第二个数组的数据
  6581. }
  6582. foreach ($bc as $val2) {
  6583. $month = $val2['日期'];
  6584. $data1 = $val2['簿册纸令'];
  6585. if (!isset($result[$month])) {
  6586. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  6587. }
  6588. if (!isset($result1[$month])) {
  6589. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  6590. }
  6591. $result1[$month] += $data1; // 累加第二个数组的数据
  6592. }
  6593. foreach($result1 as $k=>$v){
  6594. $list['categories'][]=$k;
  6595. $list['series'][0]['name']='装订实物产量色令数';
  6596. $list['series'][0]['data'][]=$v;
  6597. }
  6598. $res['status']=0;
  6599. $res['msg']='';
  6600. $res['data']=$list;
  6601. $redis->set($redis_key, json_encode($result1));
  6602. // halt(json_decode($redis->get($redis_key),true));
  6603. return json_encode($result1);
  6604. }
  6605. //前年装订实物产量纸令->缓存调用
  6606. public function zdzlTwoYear(){
  6607. $redis=redis();
  6608. $redis_key = md5('zdzlTwoYear');
  6609. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  6610. ->union(function ($query) {
  6611. $query->table('scDayRpt_Teams')->alias('b')
  6612. ->field("DISTINCT DATE_FORMAT(
  6613. CASE
  6614. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  6615. ELSE b.dOnDuty
  6616. END,
  6617. '%Y-%m-%d'
  6618. ) AS RQ");
  6619. }, true)
  6620. ->buildSql();
  6621. $B1 = Db::table('cpjtfk')
  6622. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6623. ->field("
  6624. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6625. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  6626. ")
  6627. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  6628. ->group('drptdate,cbanzu')
  6629. ->buildSql();
  6630. $rr = Db::table('scyddx')->alias('r')
  6631. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6632. ->group('r.ICYDID')
  6633. ->buildSql();
  6634. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6635. ->field("
  6636. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6637. ROUND(SUM(
  6638. CASE
  6639. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6640. THEN
  6641. CASE
  6642. WHEN a.cCyddxMc = '装配'
  6643. OR a.cCyddxMc LIKE '%正文%'
  6644. OR a.cCyddxMc LIKE '%答案%'
  6645. OR a.cCyddxMc LIKE '%卷%'
  6646. THEN
  6647. CASE
  6648. WHEN CASE
  6649. WHEN IFNULL(d.fZls, 0) < rr.zl
  6650. THEN rr.zl
  6651. ELSE IFNULL(d.fZls, 0)
  6652. END = 0
  6653. THEN c.nzdls
  6654. ELSE (
  6655. CASE
  6656. WHEN c.nzdls <
  6657. CASE
  6658. WHEN IFNULL(d.fZls, 0) < rr.zl
  6659. THEN rr.zl
  6660. ELSE IFNULL(d.fZls, 0)
  6661. END
  6662. THEN
  6663. CASE
  6664. WHEN IFNULL(d.fZls, 0) < rr.zl
  6665. THEN rr.zl
  6666. ELSE IFNULL(d.fZls, 0)
  6667. END
  6668. ELSE c.nzdls
  6669. END
  6670. )
  6671. END
  6672. ELSE 0
  6673. END
  6674. ELSE
  6675. CASE
  6676. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6677. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6678. CASE
  6679. WHEN a.cCyddxMc = '装配'
  6680. OR a.cCyddxMc LIKE '%正文%'
  6681. OR a.cCyddxMc LIKE '%答案%'
  6682. OR a.cCyddxMc LIKE '%卷%'
  6683. THEN
  6684. CASE
  6685. WHEN CASE
  6686. WHEN IFNULL(d.fZls, 0) < rr.zl
  6687. THEN rr.zl
  6688. ELSE IFNULL(d.fZls, 0)
  6689. END = 0
  6690. THEN c.nzdls
  6691. ELSE (
  6692. CASE
  6693. WHEN c.nzdls <
  6694. CASE
  6695. WHEN IFNULL(d.fZls, 0) < rr.zl
  6696. THEN rr.zl
  6697. ELSE IFNULL(d.fZls, 0)
  6698. END
  6699. THEN
  6700. CASE
  6701. WHEN IFNULL(d.fZls, 0) < rr.zl
  6702. THEN rr.zl
  6703. ELSE IFNULL(d.fZls, 0)
  6704. END
  6705. ELSE c.nzdls
  6706. END
  6707. )
  6708. END
  6709. ELSE 0
  6710. END
  6711. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6712. END
  6713. END )
  6714. , 3) 精11乙纸令
  6715. ")
  6716. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6717. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6718. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6719. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6720. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6721. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6722. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  6723. ->group("CASE
  6724. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6725. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6726. END,Name_WorkGroup")
  6727. ->buildSql();
  6728. $db = Db::table($A . 'a')
  6729. ->field("
  6730. DATE(A.RQ) rq,
  6731. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  6732. ")
  6733. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6734. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6735. ->buildSql();
  6736. $jp = Db::table($db . ' db')
  6737. ->field("
  6738. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6739. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  6740. ")->where("db.RQ >= '{$this->start_time()}'
  6741. AND db.RQ <= '{$this->end_time()}' ")
  6742. ->group('MONTH(db.rq)')
  6743. ->select();
  6744. $B = Db::table('cpjtfk')
  6745. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6746. ->field("
  6747. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6748. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  6749. ")
  6750. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  6751. ->group('drptdate,cbanzu')
  6752. ->buildSql();
  6753. $B1 = Db::table('cpjtfk')
  6754. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6755. ->field("
  6756. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6757. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  6758. ")
  6759. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  6760. ->group('drptdate,cbanzu')
  6761. ->buildSql();
  6762. $C = Db::table('cpjtfk')
  6763. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6764. ->field("
  6765. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6766. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  6767. ")
  6768. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  6769. ->group('drptdate,cbanzu')
  6770. ->buildSql();
  6771. $C1 = Db::table('cpjtfk')
  6772. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6773. ->field("
  6774. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6775. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  6776. ")
  6777. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  6778. ->group('drptdate,cbanzu')
  6779. ->buildSql();
  6780. $D = Db::table('cpjtfk')
  6781. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6782. ->field("
  6783. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6784. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  6785. ")
  6786. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  6787. ->group('drptdate,cbanzu')
  6788. ->buildSql();
  6789. $D1 = Db::table('cpjtfk')
  6790. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6791. ->field("
  6792. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6793. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  6794. ")
  6795. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  6796. ->group('drptdate,cbanzu')
  6797. ->buildSql();
  6798. $E = Db::table('cpjtfk')
  6799. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6800. ->field("
  6801. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6802. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  6803. ")
  6804. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  6805. ->group('drptdate,cbanzu')
  6806. ->buildSql();
  6807. $E1 = Db::table('cpjtfk')
  6808. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6809. ->field("
  6810. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6811. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  6812. ")
  6813. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  6814. ->group('drptdate,cbanzu')
  6815. ->buildSql();
  6816. $F = Db::table('cpjtfk')
  6817. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6818. ->field("
  6819. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6820. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  6821. ")
  6822. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  6823. ->group('drptdate,cbanzu')
  6824. ->buildSql();
  6825. $F1 = Db::table('cpjtfk')
  6826. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6827. ->field("
  6828. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6829. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  6830. ")
  6831. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  6832. ->group('drptdate,cbanzu')
  6833. ->buildSql();
  6834. $rr = Db::table('scyddx')->alias('r')
  6835. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6836. ->group('r.ICYDID')
  6837. ->buildSql();
  6838. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6839. ->field("
  6840. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6841. ROUND(SUM(
  6842. CASE
  6843. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6844. THEN CASE WHEN a.cCyddxMc = '装配'
  6845. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  6846. THEN CASE
  6847. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6848. END = 0 THEN c.nzdls
  6849. ELSE ( CASE
  6850. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6851. END
  6852. THEN CASE
  6853. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6854. END ELSE c.nzdls END
  6855. ) END ELSE 0 END
  6856. ELSE CASE
  6857. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6858. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6859. CASE WHEN a.cCyddxMc = '装配'
  6860. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  6861. THEN CASE
  6862. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6863. END = 0 THEN c.nzdls
  6864. ELSE ( CASE WHEN c.nzdls <
  6865. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6866. END
  6867. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  6868. END ELSE c.nzdls END )
  6869. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6870. END END ), 3) 马11甲纸令 ")
  6871. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6872. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6873. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6874. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6875. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6876. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6877. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  6878. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6879. ->group("CASE
  6880. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6881. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6882. END,Name_WorkGroup")->buildSql();
  6883. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  6884. ->field("
  6885. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6886. ROUND(SUM(
  6887. CASE
  6888. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6889. THEN
  6890. CASE
  6891. WHEN a.cCyddxMc = '装配'
  6892. OR a.cCyddxMc LIKE '%正文%'
  6893. OR a.cCyddxMc LIKE '%答案%'
  6894. OR a.cCyddxMc LIKE '%卷%'
  6895. THEN
  6896. CASE
  6897. WHEN CASE
  6898. WHEN IFNULL(d.fZls, 0) < rr.zl
  6899. THEN rr.zl
  6900. ELSE IFNULL(d.fZls, 0)
  6901. END = 0
  6902. THEN c.nzdls
  6903. ELSE (
  6904. CASE
  6905. WHEN c.nzdls <
  6906. CASE
  6907. WHEN IFNULL(d.fZls, 0) < rr.zl
  6908. THEN rr.zl
  6909. ELSE IFNULL(d.fZls, 0)
  6910. END
  6911. THEN
  6912. CASE
  6913. WHEN IFNULL(d.fZls, 0) < rr.zl
  6914. THEN rr.zl
  6915. ELSE IFNULL(d.fZls, 0)
  6916. END
  6917. ELSE c.nzdls
  6918. END
  6919. )
  6920. END
  6921. ELSE 0
  6922. END
  6923. ELSE
  6924. CASE
  6925. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6926. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6927. CASE
  6928. WHEN a.cCyddxMc = '装配'
  6929. OR a.cCyddxMc LIKE '%正文%'
  6930. OR a.cCyddxMc LIKE '%答案%'
  6931. OR a.cCyddxMc LIKE '%卷%'
  6932. THEN
  6933. CASE
  6934. WHEN CASE
  6935. WHEN IFNULL(d.fZls, 0) < rr.zl
  6936. THEN rr.zl
  6937. ELSE IFNULL(d.fZls, 0)
  6938. END = 0
  6939. THEN c.nzdls
  6940. ELSE (
  6941. CASE
  6942. WHEN c.nzdls <
  6943. CASE
  6944. WHEN IFNULL(d.fZls, 0) < rr.zl
  6945. THEN rr.zl
  6946. ELSE IFNULL(d.fZls, 0)
  6947. END
  6948. THEN
  6949. CASE
  6950. WHEN IFNULL(d.fZls, 0) < rr.zl
  6951. THEN rr.zl
  6952. ELSE IFNULL(d.fZls, 0)
  6953. END
  6954. ELSE c.nzdls
  6955. END
  6956. )
  6957. END
  6958. ELSE 0
  6959. END
  6960. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6961. END
  6962. END )
  6963. , 3) 马11乙纸令
  6964. ")
  6965. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6966. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6967. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6968. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6969. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6970. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6971. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  6972. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6973. ->group("CASE
  6974. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6975. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6976. END,Name_WorkGroup")
  6977. ->buildSql();
  6978. $CC = Db::table('ql_report_feedback_day')->alias('a')
  6979. ->field("
  6980. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  6981. ROUND(SUM(
  6982. CASE
  6983. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6984. THEN
  6985. CASE
  6986. WHEN a.cCyddxMc = '装配'
  6987. OR a.cCyddxMc LIKE '%正文%'
  6988. OR a.cCyddxMc LIKE '%答案%'
  6989. OR a.cCyddxMc LIKE '%卷%'
  6990. THEN
  6991. CASE
  6992. WHEN CASE
  6993. WHEN IFNULL(d.fZls, 0) < rr.zl
  6994. THEN rr.zl
  6995. ELSE IFNULL(d.fZls, 0)
  6996. END = 0
  6997. THEN c.nzdls
  6998. ELSE (
  6999. CASE
  7000. WHEN c.nzdls <
  7001. CASE
  7002. WHEN IFNULL(d.fZls, 0) < rr.zl
  7003. THEN rr.zl
  7004. ELSE IFNULL(d.fZls, 0)
  7005. END
  7006. THEN
  7007. CASE
  7008. WHEN IFNULL(d.fZls, 0) < rr.zl
  7009. THEN rr.zl
  7010. ELSE IFNULL(d.fZls, 0)
  7011. END
  7012. ELSE c.nzdls
  7013. END
  7014. )
  7015. END
  7016. ELSE 0
  7017. END
  7018. ELSE
  7019. CASE
  7020. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7021. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7022. CASE
  7023. WHEN a.cCyddxMc = '装配'
  7024. OR a.cCyddxMc LIKE '%正文%'
  7025. OR a.cCyddxMc LIKE '%答案%'
  7026. OR a.cCyddxMc LIKE '%卷%'
  7027. THEN
  7028. CASE
  7029. WHEN CASE
  7030. WHEN IFNULL(d.fZls, 0) < rr.zl
  7031. THEN rr.zl
  7032. ELSE IFNULL(d.fZls, 0)
  7033. END = 0
  7034. THEN c.nzdls
  7035. ELSE (
  7036. CASE
  7037. WHEN c.nzdls <
  7038. CASE
  7039. WHEN IFNULL(d.fZls, 0) < rr.zl
  7040. THEN rr.zl
  7041. ELSE IFNULL(d.fZls, 0)
  7042. END
  7043. THEN
  7044. CASE
  7045. WHEN IFNULL(d.fZls, 0) < rr.zl
  7046. THEN rr.zl
  7047. ELSE IFNULL(d.fZls, 0)
  7048. END
  7049. ELSE c.nzdls
  7050. END
  7051. )
  7052. END
  7053. ELSE 0
  7054. END
  7055. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7056. END
  7057. END )
  7058. , 3) 马22甲纸令
  7059. ")
  7060. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7061. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7062. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7063. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7064. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7065. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7066. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  7067. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7068. ->group("CASE
  7069. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7070. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7071. END,Name_WorkGroup")
  7072. ->buildSql();
  7073. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7074. ->field("
  7075. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7076. ROUND(SUM(
  7077. CASE
  7078. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7079. THEN
  7080. CASE
  7081. WHEN a.cCyddxMc = '装配'
  7082. OR a.cCyddxMc LIKE '%正文%'
  7083. OR a.cCyddxMc LIKE '%答案%'
  7084. OR a.cCyddxMc LIKE '%卷%'
  7085. THEN
  7086. CASE
  7087. WHEN CASE
  7088. WHEN IFNULL(d.fZls, 0) < rr.zl
  7089. THEN rr.zl
  7090. ELSE IFNULL(d.fZls, 0)
  7091. END = 0
  7092. THEN c.nzdls
  7093. ELSE (
  7094. CASE
  7095. WHEN c.nzdls <
  7096. CASE
  7097. WHEN IFNULL(d.fZls, 0) < rr.zl
  7098. THEN rr.zl
  7099. ELSE IFNULL(d.fZls, 0)
  7100. END
  7101. THEN
  7102. CASE
  7103. WHEN IFNULL(d.fZls, 0) < rr.zl
  7104. THEN rr.zl
  7105. ELSE IFNULL(d.fZls, 0)
  7106. END
  7107. ELSE c.nzdls
  7108. END
  7109. )
  7110. END
  7111. ELSE 0
  7112. END
  7113. ELSE
  7114. CASE
  7115. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7116. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7117. CASE
  7118. WHEN a.cCyddxMc = '装配'
  7119. OR a.cCyddxMc LIKE '%正文%'
  7120. OR a.cCyddxMc LIKE '%答案%'
  7121. OR a.cCyddxMc LIKE '%卷%'
  7122. THEN
  7123. CASE
  7124. WHEN CASE
  7125. WHEN IFNULL(d.fZls, 0) < rr.zl
  7126. THEN rr.zl
  7127. ELSE IFNULL(d.fZls, 0)
  7128. END = 0
  7129. THEN c.nzdls
  7130. ELSE (
  7131. CASE
  7132. WHEN c.nzdls <
  7133. CASE
  7134. WHEN IFNULL(d.fZls, 0) < rr.zl
  7135. THEN rr.zl
  7136. ELSE IFNULL(d.fZls, 0)
  7137. END
  7138. THEN
  7139. CASE
  7140. WHEN IFNULL(d.fZls, 0) < rr.zl
  7141. THEN rr.zl
  7142. ELSE IFNULL(d.fZls, 0)
  7143. END
  7144. ELSE c.nzdls
  7145. END
  7146. )
  7147. END
  7148. ELSE 0
  7149. END
  7150. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7151. END
  7152. END )
  7153. , 3) 马22乙纸令
  7154. ")
  7155. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7156. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7157. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7158. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7159. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7160. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7161. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  7162. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7163. ->group("CASE
  7164. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7165. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7166. END,Name_WorkGroup")
  7167. ->buildSql();
  7168. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7169. ->field("
  7170. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7171. ROUND(SUM(
  7172. CASE
  7173. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7174. THEN
  7175. CASE
  7176. WHEN a.cCyddxMc = '装配'
  7177. OR a.cCyddxMc LIKE '%正文%'
  7178. OR a.cCyddxMc LIKE '%答案%'
  7179. OR a.cCyddxMc LIKE '%卷%'
  7180. THEN
  7181. CASE
  7182. WHEN CASE
  7183. WHEN IFNULL(d.fZls, 0) < rr.zl
  7184. THEN rr.zl
  7185. ELSE IFNULL(d.fZls, 0)
  7186. END = 0
  7187. THEN c.nzdls
  7188. ELSE (
  7189. CASE
  7190. WHEN c.nzdls <
  7191. CASE
  7192. WHEN IFNULL(d.fZls, 0) < rr.zl
  7193. THEN rr.zl
  7194. ELSE IFNULL(d.fZls, 0)
  7195. END
  7196. THEN
  7197. CASE
  7198. WHEN IFNULL(d.fZls, 0) < rr.zl
  7199. THEN rr.zl
  7200. ELSE IFNULL(d.fZls, 0)
  7201. END
  7202. ELSE c.nzdls
  7203. END
  7204. )
  7205. END
  7206. ELSE 0
  7207. END
  7208. ELSE
  7209. CASE
  7210. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7211. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7212. CASE
  7213. WHEN a.cCyddxMc = '装配'
  7214. OR a.cCyddxMc LIKE '%正文%'
  7215. OR a.cCyddxMc LIKE '%答案%'
  7216. OR a.cCyddxMc LIKE '%卷%'
  7217. THEN
  7218. CASE
  7219. WHEN CASE
  7220. WHEN IFNULL(d.fZls, 0) < rr.zl
  7221. THEN rr.zl
  7222. ELSE IFNULL(d.fZls, 0)
  7223. END = 0
  7224. THEN c.nzdls
  7225. ELSE (
  7226. CASE
  7227. WHEN c.nzdls <
  7228. CASE
  7229. WHEN IFNULL(d.fZls, 0) < rr.zl
  7230. THEN rr.zl
  7231. ELSE IFNULL(d.fZls, 0)
  7232. END
  7233. THEN
  7234. CASE
  7235. WHEN IFNULL(d.fZls, 0) < rr.zl
  7236. THEN rr.zl
  7237. ELSE IFNULL(d.fZls, 0)
  7238. END
  7239. ELSE c.nzdls
  7240. END
  7241. )
  7242. END
  7243. ELSE 0
  7244. END
  7245. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7246. END
  7247. END )
  7248. , 3) 马33甲纸令
  7249. ")
  7250. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7251. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7252. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7253. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7254. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7255. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7256. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  7257. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7258. ->group("CASE
  7259. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7260. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7261. END,Name_WorkGroup")
  7262. ->buildSql();
  7263. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7264. ->field("
  7265. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7266. ROUND(SUM(
  7267. CASE
  7268. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7269. THEN
  7270. CASE
  7271. WHEN a.cCyddxMc = '装配'
  7272. OR a.cCyddxMc LIKE '%正文%'
  7273. OR a.cCyddxMc LIKE '%答案%'
  7274. OR a.cCyddxMc LIKE '%卷%'
  7275. THEN
  7276. CASE
  7277. WHEN CASE
  7278. WHEN IFNULL(d.fZls, 0) < rr.zl
  7279. THEN rr.zl
  7280. ELSE IFNULL(d.fZls, 0)
  7281. END = 0
  7282. THEN c.nzdls
  7283. ELSE (
  7284. CASE
  7285. WHEN c.nzdls <
  7286. CASE
  7287. WHEN IFNULL(d.fZls, 0) < rr.zl
  7288. THEN rr.zl
  7289. ELSE IFNULL(d.fZls, 0)
  7290. END
  7291. THEN
  7292. CASE
  7293. WHEN IFNULL(d.fZls, 0) < rr.zl
  7294. THEN rr.zl
  7295. ELSE IFNULL(d.fZls, 0)
  7296. END
  7297. ELSE c.nzdls
  7298. END
  7299. )
  7300. END
  7301. ELSE 0
  7302. END
  7303. ELSE
  7304. CASE
  7305. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7306. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7307. CASE
  7308. WHEN a.cCyddxMc = '装配'
  7309. OR a.cCyddxMc LIKE '%正文%'
  7310. OR a.cCyddxMc LIKE '%答案%'
  7311. OR a.cCyddxMc LIKE '%卷%'
  7312. THEN
  7313. CASE
  7314. WHEN CASE
  7315. WHEN IFNULL(d.fZls, 0) < rr.zl
  7316. THEN rr.zl
  7317. ELSE IFNULL(d.fZls, 0)
  7318. END = 0
  7319. THEN c.nzdls
  7320. ELSE (
  7321. CASE
  7322. WHEN c.nzdls <
  7323. CASE
  7324. WHEN IFNULL(d.fZls, 0) < rr.zl
  7325. THEN rr.zl
  7326. ELSE IFNULL(d.fZls, 0)
  7327. END
  7328. THEN
  7329. CASE
  7330. WHEN IFNULL(d.fZls, 0) < rr.zl
  7331. THEN rr.zl
  7332. ELSE IFNULL(d.fZls, 0)
  7333. END
  7334. ELSE c.nzdls
  7335. END
  7336. )
  7337. END
  7338. ELSE 0
  7339. END
  7340. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7341. END
  7342. END )
  7343. , 3) 马33乙纸令
  7344. ")
  7345. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7346. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7347. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7348. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7349. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7350. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7351. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  7352. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7353. ->group("CASE
  7354. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7355. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7356. END,Name_WorkGroup")
  7357. ->buildSql();
  7358. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7359. ->field("
  7360. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7361. ROUND(SUM(
  7362. CASE
  7363. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7364. THEN
  7365. CASE
  7366. WHEN a.cCyddxMc = '装配'
  7367. OR a.cCyddxMc LIKE '%正文%'
  7368. OR a.cCyddxMc LIKE '%答案%'
  7369. OR a.cCyddxMc LIKE '%卷%'
  7370. THEN
  7371. CASE
  7372. WHEN CASE
  7373. WHEN IFNULL(d.fZls, 0) < rr.zl
  7374. THEN rr.zl
  7375. ELSE IFNULL(d.fZls, 0)
  7376. END = 0
  7377. THEN c.nzdls
  7378. ELSE (
  7379. CASE
  7380. WHEN c.nzdls <
  7381. CASE
  7382. WHEN IFNULL(d.fZls, 0) < rr.zl
  7383. THEN rr.zl
  7384. ELSE IFNULL(d.fZls, 0)
  7385. END
  7386. THEN
  7387. CASE
  7388. WHEN IFNULL(d.fZls, 0) < rr.zl
  7389. THEN rr.zl
  7390. ELSE IFNULL(d.fZls, 0)
  7391. END
  7392. ELSE c.nzdls
  7393. END
  7394. )
  7395. END
  7396. ELSE 0
  7397. END
  7398. ELSE
  7399. CASE
  7400. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7401. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7402. CASE
  7403. WHEN a.cCyddxMc = '装配'
  7404. OR a.cCyddxMc LIKE '%正文%'
  7405. OR a.cCyddxMc LIKE '%答案%'
  7406. OR a.cCyddxMc LIKE '%卷%'
  7407. THEN
  7408. CASE
  7409. WHEN CASE
  7410. WHEN IFNULL(d.fZls, 0) < rr.zl
  7411. THEN rr.zl
  7412. ELSE IFNULL(d.fZls, 0)
  7413. END = 0
  7414. THEN c.nzdls
  7415. ELSE (
  7416. CASE
  7417. WHEN c.nzdls <
  7418. CASE
  7419. WHEN IFNULL(d.fZls, 0) < rr.zl
  7420. THEN rr.zl
  7421. ELSE IFNULL(d.fZls, 0)
  7422. END
  7423. THEN
  7424. CASE
  7425. WHEN IFNULL(d.fZls, 0) < rr.zl
  7426. THEN rr.zl
  7427. ELSE IFNULL(d.fZls, 0)
  7428. END
  7429. ELSE c.nzdls
  7430. END
  7431. )
  7432. END
  7433. ELSE 0
  7434. END
  7435. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7436. END
  7437. END )
  7438. , 3) 马44甲纸令
  7439. ")
  7440. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7441. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7442. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7443. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7444. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7445. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7446. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  7447. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7448. ->group("CASE
  7449. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7450. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7451. END,Name_WorkGroup")
  7452. ->buildSql();
  7453. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  7454. ->field("
  7455. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7456. ROUND(SUM(
  7457. CASE
  7458. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7459. THEN
  7460. CASE
  7461. WHEN a.cCyddxMc = '装配'
  7462. OR a.cCyddxMc LIKE '%正文%'
  7463. OR a.cCyddxMc LIKE '%答案%'
  7464. OR a.cCyddxMc LIKE '%卷%'
  7465. THEN
  7466. CASE
  7467. WHEN CASE
  7468. WHEN IFNULL(d.fZls, 0) < rr.zl
  7469. THEN rr.zl
  7470. ELSE IFNULL(d.fZls, 0)
  7471. END = 0
  7472. THEN c.nzdls
  7473. ELSE (
  7474. CASE
  7475. WHEN c.nzdls <
  7476. CASE
  7477. WHEN IFNULL(d.fZls, 0) < rr.zl
  7478. THEN rr.zl
  7479. ELSE IFNULL(d.fZls, 0)
  7480. END
  7481. THEN
  7482. CASE
  7483. WHEN IFNULL(d.fZls, 0) < rr.zl
  7484. THEN rr.zl
  7485. ELSE IFNULL(d.fZls, 0)
  7486. END
  7487. ELSE c.nzdls
  7488. END
  7489. )
  7490. END
  7491. ELSE 0
  7492. END
  7493. ELSE
  7494. CASE
  7495. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7496. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7497. CASE
  7498. WHEN a.cCyddxMc = '装配'
  7499. OR a.cCyddxMc LIKE '%正文%'
  7500. OR a.cCyddxMc LIKE '%答案%'
  7501. OR a.cCyddxMc LIKE '%卷%'
  7502. THEN
  7503. CASE
  7504. WHEN CASE
  7505. WHEN IFNULL(d.fZls, 0) < rr.zl
  7506. THEN rr.zl
  7507. ELSE IFNULL(d.fZls, 0)
  7508. END = 0
  7509. THEN c.nzdls
  7510. ELSE (
  7511. CASE
  7512. WHEN c.nzdls <
  7513. CASE
  7514. WHEN IFNULL(d.fZls, 0) < rr.zl
  7515. THEN rr.zl
  7516. ELSE IFNULL(d.fZls, 0)
  7517. END
  7518. THEN
  7519. CASE
  7520. WHEN IFNULL(d.fZls, 0) < rr.zl
  7521. THEN rr.zl
  7522. ELSE IFNULL(d.fZls, 0)
  7523. END
  7524. ELSE c.nzdls
  7525. END
  7526. )
  7527. END
  7528. ELSE 0
  7529. END
  7530. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7531. END
  7532. END )
  7533. , 3) 马44乙纸令
  7534. ")
  7535. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7536. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7537. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7538. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7539. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7540. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7541. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  7542. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7543. ->group("CASE
  7544. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7545. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7546. END,Name_WorkGroup")
  7547. ->buildSql();
  7548. $XX = Db::table('ql_report_feedback_day')->alias('a')
  7549. ->field("
  7550. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7551. ROUND(SUM(
  7552. CASE
  7553. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7554. THEN
  7555. CASE
  7556. WHEN a.cCyddxMc = '装配'
  7557. OR a.cCyddxMc LIKE '%正文%'
  7558. OR a.cCyddxMc LIKE '%答案%'
  7559. OR a.cCyddxMc LIKE '%卷%'
  7560. THEN
  7561. CASE
  7562. WHEN CASE
  7563. WHEN IFNULL(d.fZls, 0) < rr.zl
  7564. THEN rr.zl
  7565. ELSE IFNULL(d.fZls, 0)
  7566. END = 0
  7567. THEN c.nzdls
  7568. ELSE (
  7569. CASE
  7570. WHEN c.nzdls <
  7571. CASE
  7572. WHEN IFNULL(d.fZls, 0) < rr.zl
  7573. THEN rr.zl
  7574. ELSE IFNULL(d.fZls, 0)
  7575. END
  7576. THEN
  7577. CASE
  7578. WHEN IFNULL(d.fZls, 0) < rr.zl
  7579. THEN rr.zl
  7580. ELSE IFNULL(d.fZls, 0)
  7581. END
  7582. ELSE c.nzdls
  7583. END
  7584. )
  7585. END
  7586. ELSE 0
  7587. END
  7588. ELSE
  7589. CASE
  7590. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7591. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7592. CASE
  7593. WHEN a.cCyddxMc = '装配'
  7594. OR a.cCyddxMc LIKE '%正文%'
  7595. OR a.cCyddxMc LIKE '%答案%'
  7596. OR a.cCyddxMc LIKE '%卷%'
  7597. THEN
  7598. CASE
  7599. WHEN CASE
  7600. WHEN IFNULL(d.fZls, 0) < rr.zl
  7601. THEN rr.zl
  7602. ELSE IFNULL(d.fZls, 0)
  7603. END = 0
  7604. THEN c.nzdls
  7605. ELSE (
  7606. CASE
  7607. WHEN c.nzdls <
  7608. CASE
  7609. WHEN IFNULL(d.fZls, 0) < rr.zl
  7610. THEN rr.zl
  7611. ELSE IFNULL(d.fZls, 0)
  7612. END
  7613. THEN
  7614. CASE
  7615. WHEN IFNULL(d.fZls, 0) < rr.zl
  7616. THEN rr.zl
  7617. ELSE IFNULL(d.fZls, 0)
  7618. END
  7619. ELSE c.nzdls
  7620. END
  7621. )
  7622. END
  7623. ELSE 0
  7624. END
  7625. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7626. END
  7627. END )
  7628. , 3) 马55甲纸令
  7629. ")
  7630. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7631. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7632. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7633. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7634. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7635. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7636. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  7637. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7638. ->group("CASE
  7639. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7640. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7641. END,Name_WorkGroup")
  7642. ->buildSql();
  7643. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  7644. ->field("
  7645. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7646. ROUND(SUM(
  7647. CASE
  7648. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7649. THEN
  7650. CASE
  7651. WHEN a.cCyddxMc = '装配'
  7652. OR a.cCyddxMc LIKE '%正文%'
  7653. OR a.cCyddxMc LIKE '%答案%'
  7654. OR a.cCyddxMc LIKE '%卷%'
  7655. THEN
  7656. CASE
  7657. WHEN CASE
  7658. WHEN IFNULL(d.fZls, 0) < rr.zl
  7659. THEN rr.zl
  7660. ELSE IFNULL(d.fZls, 0)
  7661. END = 0
  7662. THEN c.nzdls
  7663. ELSE (
  7664. CASE
  7665. WHEN c.nzdls <
  7666. CASE
  7667. WHEN IFNULL(d.fZls, 0) < rr.zl
  7668. THEN rr.zl
  7669. ELSE IFNULL(d.fZls, 0)
  7670. END
  7671. THEN
  7672. CASE
  7673. WHEN IFNULL(d.fZls, 0) < rr.zl
  7674. THEN rr.zl
  7675. ELSE IFNULL(d.fZls, 0)
  7676. END
  7677. ELSE c.nzdls
  7678. END
  7679. )
  7680. END
  7681. ELSE 0
  7682. END
  7683. ELSE
  7684. CASE
  7685. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7686. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7687. CASE
  7688. WHEN a.cCyddxMc = '装配'
  7689. OR a.cCyddxMc LIKE '%正文%'
  7690. OR a.cCyddxMc LIKE '%答案%'
  7691. OR a.cCyddxMc LIKE '%卷%'
  7692. THEN
  7693. CASE
  7694. WHEN CASE
  7695. WHEN IFNULL(d.fZls, 0) < rr.zl
  7696. THEN rr.zl
  7697. ELSE IFNULL(d.fZls, 0)
  7698. END = 0
  7699. THEN c.nzdls
  7700. ELSE (
  7701. CASE
  7702. WHEN c.nzdls <
  7703. CASE
  7704. WHEN IFNULL(d.fZls, 0) < rr.zl
  7705. THEN rr.zl
  7706. ELSE IFNULL(d.fZls, 0)
  7707. END
  7708. THEN
  7709. CASE
  7710. WHEN IFNULL(d.fZls, 0) < rr.zl
  7711. THEN rr.zl
  7712. ELSE IFNULL(d.fZls, 0)
  7713. END
  7714. ELSE c.nzdls
  7715. END
  7716. )
  7717. END
  7718. ELSE 0
  7719. END
  7720. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7721. END
  7722. END )
  7723. , 3) 马66甲纸令
  7724. ")
  7725. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7726. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7727. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7728. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7729. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7730. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7731. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  7732. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7733. ->group("CASE
  7734. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7735. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7736. END,Name_WorkGroup")
  7737. ->buildSql();
  7738. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  7739. ->field("
  7740. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7741. ROUND(SUM(
  7742. CASE
  7743. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7744. THEN
  7745. CASE
  7746. WHEN a.cCyddxMc = '装配'
  7747. OR a.cCyddxMc LIKE '%正文%'
  7748. OR a.cCyddxMc LIKE '%答案%'
  7749. OR a.cCyddxMc LIKE '%卷%'
  7750. THEN
  7751. CASE
  7752. WHEN CASE
  7753. WHEN IFNULL(d.fZls, 0) < rr.zl
  7754. THEN rr.zl
  7755. ELSE IFNULL(d.fZls, 0)
  7756. END = 0
  7757. THEN c.nzdls
  7758. ELSE (
  7759. CASE
  7760. WHEN c.nzdls <
  7761. CASE
  7762. WHEN IFNULL(d.fZls, 0) < rr.zl
  7763. THEN rr.zl
  7764. ELSE IFNULL(d.fZls, 0)
  7765. END
  7766. THEN
  7767. CASE
  7768. WHEN IFNULL(d.fZls, 0) < rr.zl
  7769. THEN rr.zl
  7770. ELSE IFNULL(d.fZls, 0)
  7771. END
  7772. ELSE c.nzdls
  7773. END
  7774. )
  7775. END
  7776. ELSE 0
  7777. END
  7778. ELSE
  7779. CASE
  7780. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7781. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7782. CASE
  7783. WHEN a.cCyddxMc = '装配'
  7784. OR a.cCyddxMc LIKE '%正文%'
  7785. OR a.cCyddxMc LIKE '%答案%'
  7786. OR a.cCyddxMc LIKE '%卷%'
  7787. THEN
  7788. CASE
  7789. WHEN CASE
  7790. WHEN IFNULL(d.fZls, 0) < rr.zl
  7791. THEN rr.zl
  7792. ELSE IFNULL(d.fZls, 0)
  7793. END = 0
  7794. THEN c.nzdls
  7795. ELSE (
  7796. CASE
  7797. WHEN c.nzdls <
  7798. CASE
  7799. WHEN IFNULL(d.fZls, 0) < rr.zl
  7800. THEN rr.zl
  7801. ELSE IFNULL(d.fZls, 0)
  7802. END
  7803. THEN
  7804. CASE
  7805. WHEN IFNULL(d.fZls, 0) < rr.zl
  7806. THEN rr.zl
  7807. ELSE IFNULL(d.fZls, 0)
  7808. END
  7809. ELSE c.nzdls
  7810. END
  7811. )
  7812. END
  7813. ELSE 0
  7814. END
  7815. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7816. END
  7817. END )
  7818. , 3) 马77甲纸令
  7819. ")
  7820. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7821. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7822. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7823. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7824. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7825. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7826. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  7827. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7828. ->group("CASE
  7829. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7830. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7831. END,Name_WorkGroup")
  7832. ->buildSql();
  7833. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  7834. ->field("
  7835. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7836. ROUND(SUM(
  7837. CASE
  7838. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7839. THEN
  7840. CASE
  7841. WHEN a.cCyddxMc = '装配'
  7842. OR a.cCyddxMc LIKE '%正文%'
  7843. OR a.cCyddxMc LIKE '%答案%'
  7844. OR a.cCyddxMc LIKE '%卷%'
  7845. THEN
  7846. CASE
  7847. WHEN CASE
  7848. WHEN IFNULL(d.fZls, 0) < rr.zl
  7849. THEN rr.zl
  7850. ELSE IFNULL(d.fZls, 0)
  7851. END = 0
  7852. THEN c.nzdls
  7853. ELSE (
  7854. CASE
  7855. WHEN c.nzdls <
  7856. CASE
  7857. WHEN IFNULL(d.fZls, 0) < rr.zl
  7858. THEN rr.zl
  7859. ELSE IFNULL(d.fZls, 0)
  7860. END
  7861. THEN
  7862. CASE
  7863. WHEN IFNULL(d.fZls, 0) < rr.zl
  7864. THEN rr.zl
  7865. ELSE IFNULL(d.fZls, 0)
  7866. END
  7867. ELSE c.nzdls
  7868. END
  7869. )
  7870. END
  7871. ELSE 0
  7872. END
  7873. ELSE
  7874. CASE
  7875. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7876. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7877. CASE
  7878. WHEN a.cCyddxMc = '装配'
  7879. OR a.cCyddxMc LIKE '%正文%'
  7880. OR a.cCyddxMc LIKE '%答案%'
  7881. OR a.cCyddxMc LIKE '%卷%'
  7882. THEN
  7883. CASE
  7884. WHEN CASE
  7885. WHEN IFNULL(d.fZls, 0) < rr.zl
  7886. THEN rr.zl
  7887. ELSE IFNULL(d.fZls, 0)
  7888. END = 0
  7889. THEN c.nzdls
  7890. ELSE (
  7891. CASE
  7892. WHEN c.nzdls <
  7893. CASE
  7894. WHEN IFNULL(d.fZls, 0) < rr.zl
  7895. THEN rr.zl
  7896. ELSE IFNULL(d.fZls, 0)
  7897. END
  7898. THEN
  7899. CASE
  7900. WHEN IFNULL(d.fZls, 0) < rr.zl
  7901. THEN rr.zl
  7902. ELSE IFNULL(d.fZls, 0)
  7903. END
  7904. ELSE c.nzdls
  7905. END
  7906. )
  7907. END
  7908. ELSE 0
  7909. END
  7910. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7911. END
  7912. END )
  7913. , 3) 马55乙纸令
  7914. ")
  7915. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7916. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7917. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7918. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7919. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7920. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7921. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  7922. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7923. ->group("CASE
  7924. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7925. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7926. END,Name_WorkGroup")
  7927. ->buildSql();
  7928. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  7929. ->field("
  7930. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  7931. ROUND(SUM(
  7932. CASE
  7933. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7934. THEN
  7935. CASE
  7936. WHEN a.cCyddxMc = '装配'
  7937. OR a.cCyddxMc LIKE '%正文%'
  7938. OR a.cCyddxMc LIKE '%答案%'
  7939. OR a.cCyddxMc LIKE '%卷%'
  7940. THEN
  7941. CASE
  7942. WHEN CASE
  7943. WHEN IFNULL(d.fZls, 0) < rr.zl
  7944. THEN rr.zl
  7945. ELSE IFNULL(d.fZls, 0)
  7946. END = 0
  7947. THEN c.nzdls
  7948. ELSE (
  7949. CASE
  7950. WHEN c.nzdls <
  7951. CASE
  7952. WHEN IFNULL(d.fZls, 0) < rr.zl
  7953. THEN rr.zl
  7954. ELSE IFNULL(d.fZls, 0)
  7955. END
  7956. THEN
  7957. CASE
  7958. WHEN IFNULL(d.fZls, 0) < rr.zl
  7959. THEN rr.zl
  7960. ELSE IFNULL(d.fZls, 0)
  7961. END
  7962. ELSE c.nzdls
  7963. END
  7964. )
  7965. END
  7966. ELSE 0
  7967. END
  7968. ELSE
  7969. CASE
  7970. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7971. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7972. CASE
  7973. WHEN a.cCyddxMc = '装配'
  7974. OR a.cCyddxMc LIKE '%正文%'
  7975. OR a.cCyddxMc LIKE '%答案%'
  7976. OR a.cCyddxMc LIKE '%卷%'
  7977. THEN
  7978. CASE
  7979. WHEN CASE
  7980. WHEN IFNULL(d.fZls, 0) < rr.zl
  7981. THEN rr.zl
  7982. ELSE IFNULL(d.fZls, 0)
  7983. END = 0
  7984. THEN c.nzdls
  7985. ELSE (
  7986. CASE
  7987. WHEN c.nzdls <
  7988. CASE
  7989. WHEN IFNULL(d.fZls, 0) < rr.zl
  7990. THEN rr.zl
  7991. ELSE IFNULL(d.fZls, 0)
  7992. END
  7993. THEN
  7994. CASE
  7995. WHEN IFNULL(d.fZls, 0) < rr.zl
  7996. THEN rr.zl
  7997. ELSE IFNULL(d.fZls, 0)
  7998. END
  7999. ELSE c.nzdls
  8000. END
  8001. )
  8002. END
  8003. ELSE 0
  8004. END
  8005. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8006. END
  8007. END )
  8008. , 3) 马66乙纸令
  8009. ")
  8010. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8011. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8012. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8013. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8014. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8015. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8016. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  8017. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8018. ->group("CASE
  8019. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8020. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8021. END,Name_WorkGroup")
  8022. ->buildSql();
  8023. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  8024. ->field("
  8025. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8026. ROUND(SUM(
  8027. CASE
  8028. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8029. THEN
  8030. CASE
  8031. WHEN a.cCyddxMc = '装配'
  8032. OR a.cCyddxMc LIKE '%正文%'
  8033. OR a.cCyddxMc LIKE '%答案%'
  8034. OR a.cCyddxMc LIKE '%卷%'
  8035. THEN
  8036. CASE
  8037. WHEN CASE
  8038. WHEN IFNULL(d.fZls, 0) < rr.zl
  8039. THEN rr.zl
  8040. ELSE IFNULL(d.fZls, 0)
  8041. END = 0
  8042. THEN c.nzdls
  8043. ELSE (
  8044. CASE
  8045. WHEN c.nzdls <
  8046. CASE
  8047. WHEN IFNULL(d.fZls, 0) < rr.zl
  8048. THEN rr.zl
  8049. ELSE IFNULL(d.fZls, 0)
  8050. END
  8051. THEN
  8052. CASE
  8053. WHEN IFNULL(d.fZls, 0) < rr.zl
  8054. THEN rr.zl
  8055. ELSE IFNULL(d.fZls, 0)
  8056. END
  8057. ELSE c.nzdls
  8058. END
  8059. )
  8060. END
  8061. ELSE 0
  8062. END
  8063. ELSE
  8064. CASE
  8065. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8066. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8067. CASE
  8068. WHEN a.cCyddxMc = '装配'
  8069. OR a.cCyddxMc LIKE '%正文%'
  8070. OR a.cCyddxMc LIKE '%答案%'
  8071. OR a.cCyddxMc LIKE '%卷%'
  8072. THEN
  8073. CASE
  8074. WHEN CASE
  8075. WHEN IFNULL(d.fZls, 0) < rr.zl
  8076. THEN rr.zl
  8077. ELSE IFNULL(d.fZls, 0)
  8078. END = 0
  8079. THEN c.nzdls
  8080. ELSE (
  8081. CASE
  8082. WHEN c.nzdls <
  8083. CASE
  8084. WHEN IFNULL(d.fZls, 0) < rr.zl
  8085. THEN rr.zl
  8086. ELSE IFNULL(d.fZls, 0)
  8087. END
  8088. THEN
  8089. CASE
  8090. WHEN IFNULL(d.fZls, 0) < rr.zl
  8091. THEN rr.zl
  8092. ELSE IFNULL(d.fZls, 0)
  8093. END
  8094. ELSE c.nzdls
  8095. END
  8096. )
  8097. END
  8098. ELSE 0
  8099. END
  8100. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8101. END
  8102. END )
  8103. , 3) 马77乙纸令
  8104. ")
  8105. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8106. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8107. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8108. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8109. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8110. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8111. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  8112. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8113. ->group("CASE
  8114. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8115. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8116. END,Name_WorkGroup")
  8117. ->buildSql();
  8118. $db = Db::table($A . 'a')
  8119. ->field("
  8120. DISTINCT DATE(A.RQ) rq,
  8121. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  8122. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  8123. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  8124. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  8125. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  8126. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  8127. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  8128. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  8129. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  8130. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  8131. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  8132. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  8133. ")
  8134. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8135. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8136. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  8137. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  8138. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  8139. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  8140. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  8141. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  8142. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  8143. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  8144. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8145. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8146. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  8147. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  8148. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  8149. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  8150. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  8151. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  8152. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  8153. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  8154. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  8155. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  8156. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  8157. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  8158. ->group('rq')
  8159. ->buildSql();
  8160. $jd = Db::table($db . ' db')
  8161. ->field("
  8162. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8163. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  8164. ")
  8165. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->qianend_time()}' ")
  8166. ->group('MONTH(db.rq)')
  8167. ->select();
  8168. /**
  8169. * 簿册联动线纸令
  8170. */
  8171. $B = Db::table('cpjtfk')
  8172. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8173. ->field("
  8174. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8175. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  8176. ")
  8177. ->where('cbanzu','=','簿册机1号(甲班)')
  8178. ->group('drptdate,cbanzu')
  8179. ->buildSql();
  8180. $B1 = Db::table('cpjtfk')
  8181. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8182. ->field("
  8183. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8184. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  8185. ")
  8186. ->where('cbanzu','=','簿册机1号(乙班)')
  8187. ->group('drptdate,cbanzu')
  8188. ->buildSql();
  8189. $rr = Db::table('scyddx')->alias('r')
  8190. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8191. ->group('r.ICYDID')
  8192. ->buildSql();
  8193. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8194. ->field("
  8195. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8196. ROUND(SUM(
  8197. CASE
  8198. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8199. THEN
  8200. CASE
  8201. WHEN a.cCyddxMc = '装配'
  8202. OR a.cCyddxMc LIKE '%正文%'
  8203. OR a.cCyddxMc LIKE '%答案%'
  8204. OR a.cCyddxMc LIKE '%卷%'
  8205. THEN
  8206. CASE
  8207. WHEN CASE
  8208. WHEN IFNULL(d.fZls, 0) < rr.zl
  8209. THEN rr.zl
  8210. ELSE IFNULL(d.fZls, 0)
  8211. END = 0
  8212. THEN c.nzdls
  8213. ELSE (
  8214. CASE
  8215. WHEN c.nzdls <
  8216. CASE
  8217. WHEN IFNULL(d.fZls, 0) < rr.zl
  8218. THEN rr.zl
  8219. ELSE IFNULL(d.fZls, 0)
  8220. END
  8221. THEN
  8222. CASE
  8223. WHEN IFNULL(d.fZls, 0) < rr.zl
  8224. THEN rr.zl
  8225. ELSE IFNULL(d.fZls, 0)
  8226. END
  8227. ELSE c.nzdls
  8228. END
  8229. )
  8230. END
  8231. ELSE 0
  8232. END
  8233. ELSE
  8234. CASE
  8235. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8236. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8237. CASE
  8238. WHEN a.cCyddxMc = '装配'
  8239. OR a.cCyddxMc LIKE '%正文%'
  8240. OR a.cCyddxMc LIKE '%答案%'
  8241. OR a.cCyddxMc LIKE '%卷%'
  8242. THEN
  8243. CASE
  8244. WHEN CASE
  8245. WHEN IFNULL(d.fZls, 0) < rr.zl
  8246. THEN rr.zl
  8247. ELSE IFNULL(d.fZls, 0)
  8248. END = 0
  8249. THEN c.nzdls
  8250. ELSE (
  8251. CASE
  8252. WHEN c.nzdls <
  8253. CASE
  8254. WHEN IFNULL(d.fZls, 0) < rr.zl
  8255. THEN rr.zl
  8256. ELSE IFNULL(d.fZls, 0)
  8257. END
  8258. THEN
  8259. CASE
  8260. WHEN IFNULL(d.fZls, 0) < rr.zl
  8261. THEN rr.zl
  8262. ELSE IFNULL(d.fZls, 0)
  8263. END
  8264. ELSE c.nzdls
  8265. END
  8266. )
  8267. END
  8268. ELSE 0
  8269. END
  8270. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8271. END
  8272. END )
  8273. , 3) 簿11甲纸令
  8274. ")
  8275. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8276. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8277. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8278. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8279. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8280. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8281. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  8282. ->where('a.cTechName' ,'=','簿册联动')
  8283. ->group("CASE
  8284. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8285. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8286. END,Name_WorkGroup")
  8287. ->buildSql();
  8288. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8289. ->field("
  8290. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  8291. ROUND(SUM(
  8292. CASE
  8293. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8294. THEN
  8295. CASE
  8296. WHEN a.cCyddxMc = '装配'
  8297. OR a.cCyddxMc LIKE '%正文%'
  8298. OR a.cCyddxMc LIKE '%答案%'
  8299. OR a.cCyddxMc LIKE '%卷%'
  8300. THEN
  8301. CASE
  8302. WHEN CASE
  8303. WHEN IFNULL(d.fZls, 0) < rr.zl
  8304. THEN rr.zl
  8305. ELSE IFNULL(d.fZls, 0)
  8306. END = 0
  8307. THEN c.nzdls
  8308. ELSE (
  8309. CASE
  8310. WHEN c.nzdls <
  8311. CASE
  8312. WHEN IFNULL(d.fZls, 0) < rr.zl
  8313. THEN rr.zl
  8314. ELSE IFNULL(d.fZls, 0)
  8315. END
  8316. THEN
  8317. CASE
  8318. WHEN IFNULL(d.fZls, 0) < rr.zl
  8319. THEN rr.zl
  8320. ELSE IFNULL(d.fZls, 0)
  8321. END
  8322. ELSE c.nzdls
  8323. END
  8324. )
  8325. END
  8326. ELSE 0
  8327. END
  8328. ELSE
  8329. CASE
  8330. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8331. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8332. CASE
  8333. WHEN a.cCyddxMc = '装配'
  8334. OR a.cCyddxMc LIKE '%正文%'
  8335. OR a.cCyddxMc LIKE '%答案%'
  8336. OR a.cCyddxMc LIKE '%卷%'
  8337. THEN
  8338. CASE
  8339. WHEN CASE
  8340. WHEN IFNULL(d.fZls, 0) < rr.zl
  8341. THEN rr.zl
  8342. ELSE IFNULL(d.fZls, 0)
  8343. END = 0
  8344. THEN c.nzdls
  8345. ELSE (
  8346. CASE
  8347. WHEN c.nzdls <
  8348. CASE
  8349. WHEN IFNULL(d.fZls, 0) < rr.zl
  8350. THEN rr.zl
  8351. ELSE IFNULL(d.fZls, 0)
  8352. END
  8353. THEN
  8354. CASE
  8355. WHEN IFNULL(d.fZls, 0) < rr.zl
  8356. THEN rr.zl
  8357. ELSE IFNULL(d.fZls, 0)
  8358. END
  8359. ELSE c.nzdls
  8360. END
  8361. )
  8362. END
  8363. ELSE 0
  8364. END
  8365. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8366. END
  8367. END )
  8368. , 3) 簿11乙纸令
  8369. ")
  8370. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8371. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8372. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8373. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8374. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8375. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8376. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  8377. ->where('a.cTechName' ,'=','簿册联动')
  8378. ->group("CASE
  8379. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8380. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8381. END,Name_WorkGroup")
  8382. ->buildSql();
  8383. $db = Db::table($A . 'a')
  8384. ->field("
  8385. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  8386. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  8387. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  8388. ")
  8389. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  8390. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8391. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8392. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8393. ->group('rq')
  8394. ->buildSql();
  8395. $bc = Db::table($db . ' db')
  8396. ->field("
  8397. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8398. ROUND(sum(db.纸令), 0) as 簿册纸令
  8399. ")->where("db.RQ >= '{$this->qianstart_time()}'
  8400. AND db.RQ <= '{$this->qianend_time()}' ")
  8401. ->group('MONTH(db.rq)')
  8402. ->select();
  8403. // 创建一个结果数组
  8404. $result=[];
  8405. $result1 = [];
  8406. // 遍历第一个数组,并将数据加入结果数组
  8407. foreach ($jp as $val1) {
  8408. $month = $val1['日期'];
  8409. $data1 = $val1['精平纸令'];
  8410. if (!isset($result[$month])) {
  8411. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8412. }
  8413. if (!isset($result1[$month])) {
  8414. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8415. }
  8416. $result1[$month] += $data1; // 累加第一个数组的数据
  8417. }
  8418. // 遍历第二个数组,并将数据加入结果数组
  8419. foreach ($jd as $val2) {
  8420. $month = $val2['日期'];
  8421. $data1 = $val2['无线胶订纸令'];
  8422. if (!isset($result[$month])) {
  8423. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8424. }
  8425. if (!isset($result1[$month])) {
  8426. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8427. }
  8428. $result1[$month] += $data1; // 累加第二个数组的数据
  8429. }
  8430. foreach ($bc as $val2) {
  8431. $month = $val2['日期'];
  8432. $data1 = $val2['簿册纸令'];
  8433. if (!isset($result[$month])) {
  8434. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8435. }
  8436. if (!isset($result1[$month])) {
  8437. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8438. }
  8439. $result1[$month] += $data1; // 累加第二个数组的数据
  8440. }
  8441. foreach($result1 as $k=>$v){
  8442. $list['categories'][]=$k;
  8443. $list['series'][0]['name']='装订实物产量色令数';
  8444. $list['series'][0]['data'][]=$v;
  8445. }
  8446. $res['status']=0;
  8447. $res['msg']='';
  8448. $res['data']=$list;
  8449. $redis->set($redis_key, json_encode($result1));
  8450. // halt(json_decode($redis->get($redis_key),true));
  8451. return json_encode($result1);
  8452. }
  8453. //去年与当年--装订实物产量纸令 接口合并一起->接口调用
  8454. public function zdzl(){
  8455. $redis=redis();
  8456. $result2022=json_decode($redis->get(md5('zdzl2022')),true);
  8457. $result2023=json_decode($redis->get(md5('zdzl2023')),true);
  8458. $resultzdzlTwoYear=json_decode($redis->get(md5('zdzlTwoYear')),true);
  8459. // 合并三年的数据
  8460. $result1 = array_merge($result2022, $result2023, $resultzdzlTwoYear);
  8461. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8462. $currentYear = date("Y"); // 当前年份
  8463. $currentMonth = date("m"); // 当前月份
  8464. $previousYear = $currentYear - 1; // 上一年
  8465. $previousQianYear = $currentYear - 2; // 前年
  8466. // 初始化三个年份的数据数组,先填充0
  8467. $list['series'][0]['name'] = $previousQianYear . '年';
  8468. $list['series'][0]['data'] = array_fill(0, 12, 0);
  8469. $list['series'][1]['name'] = $previousYear . '年';
  8470. $list['series'][1]['data'] = array_fill(0, 12, 0);
  8471. $list['series'][2]['name'] = $currentYear . '年';
  8472. $list['series'][2]['data'] = array_fill(0, 12, 0);
  8473. foreach ($result1 as $k => $v) {
  8474. $yearMonth = explode('-', $k);
  8475. $year = $yearMonth[0];
  8476. $month = (int)$yearMonth[1];
  8477. if ($year == $previousQianYear) {
  8478. // 如果是前两年的数据,直接赋值
  8479. $list['series'][0]['data'][$month - 1] = $v;
  8480. } elseif ($year == $previousYear) {
  8481. // 如果是去年的数据,直接赋值
  8482. $list['series'][1]['data'][$month - 1] = $v;
  8483. } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  8484. // 如果是当前年份,并且月份不超过当前月份,则赋值
  8485. $list['series'][2]['data'][$month - 1] = $v;
  8486. }
  8487. // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  8488. }
  8489. $res['status'] = 0;
  8490. $res['msg'] = '';
  8491. $res['data'] = $list;
  8492. return json_encode($res);
  8493. }
  8494. // public function zdzl(){
  8495. // $redis=redis();
  8496. // $result2022=json_decode($redis->get(md5('zdzl2022')),true);
  8497. // $result2023=json_decode($redis->get(md5('zdzl2023')),true);
  8498. // $resultzdzlTwoYear=json_decode($redis->get(md5('zdzlTwoYear')),true);
  8499. // $result1=array_merge($result2022,$result2023,$resultzdzlTwoYear);
  8500. //
  8501. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8502. // $currentYear = date("Y"); // 当前年份
  8503. // $currentMonth = date("m"); // 当前月份
  8504. // $previousYear = $currentYear - 1; // 上一年
  8505. // // 初始化两个年份的数据数组,先填充0
  8506. // $list['series'][0]['name'] = $previousYear . '年';
  8507. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  8508. // $list['series'][1]['name'] = $currentYear . '年';
  8509. // $list['series'][1]['data'] = array_fill(0, $currentMonth, 0);
  8510. //
  8511. // foreach ($result1 as $k => $v) {
  8512. // $yearMonth = explode('-', $k);
  8513. // $year = $yearMonth[0];
  8514. // $month = (int)$yearMonth[1];
  8515. //
  8516. // if ($year == $previousYear) {
  8517. // // 如果是上一年的数据,直接赋值
  8518. // $list['series'][0]['data'][$month - 1] = $v;
  8519. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  8520. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  8521. // $list['series'][1]['data'][$month - 1] = $v;
  8522. // }
  8523. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  8524. // }
  8525. // $res['status'] = 0;
  8526. // $res['msg'] = '';
  8527. // $res['data'] = $list;
  8528. // return json_encode($res);
  8529. // }
  8530. //年度承接量及完成百分比->缓存调用
  8531. public function ndcj_redis(){
  8532. $redis=redis();
  8533. $redis_key = md5('ndcj_redis');
  8534. $name='年度承接产量(万色令)';
  8535. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8536. $result = Db::query("SELECT
  8537. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  8538. FROM (SELECT t5.rq as rq,sum(t5.sl)/10000 as 总色令,sum(t5.zl) as 总纸令 FROM ( SELECT DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl
  8539. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  8540. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  8541. WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8542. GROUP BY year(t5.rq) ) M");
  8543. // WHERE `ord`.`icydstate` > 0 and chy != '集团教材外' GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  8544. foreach ($result as $v) {
  8545. $list[0]['name'] = ' ';
  8546. $list[0]['value'] = round($v['色令']);
  8547. $list[1]['name'] = ' ';
  8548. $list[1]['value'] = round($v['常量']);
  8549. $list[2]['name'] = ' ';
  8550. $list[2]['value'] = round($v['色令百分比']);
  8551. }
  8552. $res['status'] = 0;
  8553. $res['msg'] = '';
  8554. $res['data'] = $list;
  8555. $redis->set($redis_key, json_encode($res));
  8556. // halt(json_decode($redis->get($redis_key),true));
  8557. return json_encode($res);
  8558. }
  8559. //年度承接量及完成百分比->接口调用
  8560. public function ndcj(){
  8561. $redis=redis();
  8562. $redis_key = md5('ndcj_redis');
  8563. $redis_data = $redis->get($redis_key);
  8564. return $redis_data;
  8565. }
  8566. //完成实物产量色令数及百分比->缓存调用
  8567. public function wcsw_redis(){
  8568. $redis=redis();
  8569. $redis_key = md5('wcsw_redis');
  8570. $name='年度完成实物产量(万色令)';
  8571. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8572. $result = Db::query("SELECT
  8573. round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量
  8574. from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数'
  8575. FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL
  8576. FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a`
  8577. INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams` ) )A LEFT JOIN (( SELECT rq,SUM( iSjys ) nFourColorsTotal,COUNT( 1 ) nFourColorPZ, SUM( fsjsl ) nFourColorSL
  8578. FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)','海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)','海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)','三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)')
  8579. UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams`
  8580. WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T
  8581. GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL
  8582. FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)','BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)','海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)')
  8583. UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams`
  8584. WHERE `cMachineName` IN ('BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T
  8585. GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL
  8586. FROM ( SELECT drptrq AS rq,`iSjys`,`fsjsl` FROM `bzysdayrpt` WHERE `cbzmc` IN ('小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)')
  8587. UNION ALL ( SELECT `b`.`dOnduty`,`a`.`nAmount`,`a`.`nsl` FROM `ql_report_feedback_day` `a` INNER JOIN `scdayrpt_teams` `b` ON `b`.`ID`=`a`.`ID_Teams`
  8588. WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号') ) )T
  8589. GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}')
  8590. GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m");
  8591. if($result){
  8592. foreach ($result as $v) {
  8593. $list[0]['name'] = ' ';
  8594. $list[0]['value'] = round($v['色令数求和']);
  8595. $list[1]['name'] = ' ';
  8596. $list[1]['value'] = round($v['常量']);
  8597. $list[2]['name'] = ' ';
  8598. $list[2]['value'] = round($v['完成率']);
  8599. }
  8600. $res['status'] = 0;
  8601. $res['msg'] = '';
  8602. $res['data'] = $list;
  8603. $redis->set($redis_key, json_encode($res));
  8604. // halt(json_decode($redis->get($redis_key),true));
  8605. return json_encode($res);
  8606. }
  8607. }
  8608. //完成实物产量色令数及百分比->接口调用
  8609. public function wcsw(){
  8610. $redis=redis();
  8611. $redis_key = md5('wcsw_redis');
  8612. $redis_data = $redis->get($redis_key);
  8613. return $redis_data;
  8614. die;
  8615. $redis=redis();
  8616. // $redis_key = md5('wcsw_redis');
  8617. // $redis_key = md5('yssl_redis');
  8618. // $redis_data = $redis->get($redis_key);
  8619. // $result=json_decode($redis_data,true)['data']['series'][1]['data'];
  8620. $result = json_decode($redis->get(md5('yssl_redis')),true)['data']['series'][1]['data'];
  8621. $name='年度完成实物产量(万色令)';
  8622. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8623. $num=0;
  8624. foreach($result as $v){
  8625. $num+=$v;
  8626. }
  8627. $num=$num/10000;
  8628. $list[0]['name'] = ' ';
  8629. $list[0]['value'] = round($num);
  8630. $list[1]['name'] = ' ';
  8631. $list[1]['value'] = round($yu);
  8632. $list[2]['name'] = ' ';
  8633. $list[2]['value'] = round($num/$yu*100);
  8634. $res['status'] = 0;
  8635. $res['msg'] = '';
  8636. $res['data'] = $list;
  8637. return json_encode($res);
  8638. // return $redis_data;
  8639. }
  8640. //年度销售额及百分比->缓存调用
  8641. public function ndxs_redis(){
  8642. $redis=redis();
  8643. $redis_key = md5('ndxs_redis');
  8644. $name='年度销售额(万元)';
  8645. $yu=Db::name('business')->where('name',$name)->value('year_target');
  8646. $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量
  8647. FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ
  8648. FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid
  8649. FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb
  8650. WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  8651. GROUP BY YEAR ( zb.DCYRQ ) ) M
  8652. GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )");
  8653. foreach ($result as $v) {
  8654. $list[0]['name'] = ' ';
  8655. $list[0]['value'] = round($v['销售收入']);
  8656. $list[1]['name'] = ' ';
  8657. $list[1]['value'] = round($v['常量']);
  8658. $list[2]['name'] = ' ';
  8659. $list[2]['value'] = round($v['销售收入百分比']);
  8660. }
  8661. $res['status'] = 0;
  8662. $res['msg'] = '';
  8663. $res['data'] = $list;
  8664. $redis->set($redis_key, json_encode($res));
  8665. // halt(json_decode($redis->get($redis_key),true));
  8666. return json_encode($res);
  8667. }
  8668. //年度销售额及百分比->接口调用
  8669. public function ndxs(){
  8670. $redis=redis();
  8671. $redis_key = md5('ndxs_redis');
  8672. $redis_data = $redis->get($redis_key);
  8673. return $redis_data;
  8674. }
  8675. //当年业务模块百分比->缓存调用
  8676. public function yewujg2023_redis(){
  8677. $redis=redis();
  8678. $redis_key = md5('yewujg2023_redis');
  8679. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  8680. $tj = Db::table('tjob')
  8681. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  8682. ->group('icydid, ldz, nclje, itax')
  8683. ->where('lzfbs', '=', 0)->buildSql();
  8684. return Db::table($table)->alias('ord')
  8685. ->field($field)
  8686. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  8687. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  8688. ->where('ord.icydstate', '>', 0)
  8689. ->where($groupBy)
  8690. ->buildSql();
  8691. }
  8692. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  8693. $ObjMatier = Db::table('scyddx')
  8694. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  8695. ->group('icydid')->buildSql();
  8696. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8697. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8698. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  8699. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8700. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8701. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  8702. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8703. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8704. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  8705. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8706. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8707. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  8708. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8709. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8710. ObjMatier.nysls AS nysls,
  8711. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  8712. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8713. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8714. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  8715. // 期刊色令
  8716. $t = Db::table($dd . ' dd')
  8717. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  8718. ->group('dd.cyrq')->buildSql();
  8719. // 集团出版社色令
  8720. $t1 = Db::table($tq . ' t')
  8721. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  8722. ->group('t.cyrq')->buildSql();
  8723. // 集团教材内色令
  8724. $t2 = Db::table($tt . ' t')
  8725. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  8726. ->group('t.cyrq')->buildSql();
  8727. // 集团教材外色令
  8728. $t3 = Db::table($ttt . ' t')
  8729. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  8730. ->group('t.cyrq')->buildSql();
  8731. // 外贸订单纸令、外贸订单色令
  8732. $t4 = Db::table($tttt . ' t')
  8733. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  8734. ->group('t.cyrq')->buildSql();
  8735. // 总色令
  8736. $t5 = Db::table($ttttt . ' t')
  8737. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  8738. ->group('t.cyrq')->buildSql();
  8739. $db = Db::table($a . ' a')
  8740. ->field("
  8741. DISTINCT a.dcyrq AS dcyrq,
  8742. t.期刊色令 AS 期刊色令,
  8743. t1.集团出版社色令 AS 集团出版社色令,
  8744. t2.集团教材内色令 AS 集团教材内色令,
  8745. t3.集团教材外色令 AS 集团教材外色令,
  8746. t4.外贸订单色令 AS 外贸订单色令,
  8747. t4.外贸订单纸令 AS 外贸订单纸令,
  8748. t5.总色令 AS 总色令"
  8749. )
  8750. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  8751. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  8752. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  8753. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  8754. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  8755. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  8756. ->group('date(a.dcyrq)')->buildSql();
  8757. $sql_final = Db::table($db . ' db')
  8758. ->field("
  8759. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  8760. CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) -
  8761. IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0))
  8762. AS DECIMAL(10, 2)))) AS 社会图书,
  8763. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  8764. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  8765. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  8766. ")
  8767. ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()])
  8768. ->group('year(db.dcyrq)')->find();
  8769. $i=0;
  8770. foreach($sql_final as $v){
  8771. $list[$i]['name']=' ';
  8772. $list[$i]['value']=round($v);
  8773. $i++;
  8774. }
  8775. $res['status']=0;
  8776. $res['msg']='';
  8777. $res['data']=$list;
  8778. $redis->set($redis_key, json_encode($res));
  8779. // halt(json_decode($redis->get($redis_key),true));
  8780. return json_encode($res);
  8781. }
  8782. //当年业务模块百分比->接口调用
  8783. public function yewujg2023(){
  8784. $redis=redis();
  8785. $redis_key = md5('yewujg2023_redis');
  8786. $redis_data = $redis->get($redis_key);
  8787. return $redis_data;
  8788. }
  8789. //去年业务模块百分比->缓存调用
  8790. public function yewujg2022_redis(){
  8791. $redis=redis();
  8792. $redis_key = md5('yewujg2022_redis');
  8793. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  8794. $tj = Db::table('tjob')
  8795. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  8796. ->group('icydid, ldz, nclje, itax')
  8797. ->where('lzfbs', '=', 0)->buildSql();
  8798. return Db::table($table)->alias('ord')
  8799. ->field($field)
  8800. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  8801. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  8802. ->where('ord.icydstate', '>', 0)
  8803. ->where($groupBy)
  8804. ->buildSql();
  8805. }
  8806. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  8807. $ObjMatier = Db::table('scyddx')
  8808. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  8809. ->group('icydid')->buildSql();
  8810. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8811. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8812. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  8813. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8814. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8815. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  8816. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8817. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8818. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  8819. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8820. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8821. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  8822. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8823. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8824. ObjMatier.nysls AS nysls,
  8825. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  8826. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  8827. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  8828. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  8829. // 期刊色令
  8830. $t = Db::table($dd . ' dd')
  8831. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  8832. ->group('dd.cyrq')->buildSql();
  8833. // 集团出版社色令
  8834. $t1 = Db::table($tq . ' t')
  8835. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  8836. ->group('t.cyrq')->buildSql();
  8837. // 集团教材内色令
  8838. $t2 = Db::table($tt . ' t')
  8839. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  8840. ->group('t.cyrq')->buildSql();
  8841. // 集团教材外色令
  8842. $t3 = Db::table($ttt . ' t')
  8843. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  8844. ->group('t.cyrq')->buildSql();
  8845. // 外贸订单纸令、外贸订单色令
  8846. $t4 = Db::table($tttt . ' t')
  8847. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  8848. ->group('t.cyrq')->buildSql();
  8849. // 总色令
  8850. $t5 = Db::table($ttttt . ' t')
  8851. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  8852. ->group('t.cyrq')->buildSql();
  8853. $db = Db::table($a . ' a')
  8854. ->field("
  8855. DISTINCT a.dcyrq AS dcyrq,
  8856. t.期刊色令 AS 期刊色令,
  8857. t1.集团出版社色令 AS 集团出版社色令,
  8858. t2.集团教材内色令 AS 集团教材内色令,
  8859. t3.集团教材外色令 AS 集团教材外色令,
  8860. t4.外贸订单色令 AS 外贸订单色令,
  8861. t4.外贸订单纸令 AS 外贸订单纸令,
  8862. t5.总色令 AS 总色令"
  8863. )
  8864. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  8865. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  8866. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  8867. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  8868. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  8869. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  8870. ->group('date(a.dcyrq)')->buildSql();
  8871. $sql_final = Db::table($db . ' db')
  8872. ->field("
  8873. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  8874. CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) - IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 社会图书,
  8875. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  8876. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  8877. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  8878. ")
  8879. ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()])
  8880. ->group('year(db.dcyrq)')->find();
  8881. $i=0;
  8882. foreach($sql_final as $v){
  8883. $list[$i]['name']=' ';
  8884. $list[$i]['value']=round($v);
  8885. $i++;
  8886. }
  8887. $res['status']=0;
  8888. $res['msg']='';
  8889. $res['data']=$list;
  8890. $redis->set($redis_key, json_encode($res));
  8891. // halt(json_decode($redis->get($redis_key),true));
  8892. return json_encode($res);
  8893. }
  8894. //去年业务模块百分比->接口调用
  8895. public function yewujg2022(){
  8896. $redis=redis();
  8897. $redis_key = md5('yewujg2022_redis');
  8898. $redis_data = $redis->get($redis_key);
  8899. return $redis_data;
  8900. }
  8901. /**
  8902. * 业务总览 第一屏 第二页
  8903. */
  8904. //轮转机每月生产趋势 纸令->缓存调用
  8905. public function lunzhuanzl_redis(){
  8906. $redis=redis();
  8907. $redis_key = md5('lunzhuanzl_redis');
  8908. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  8909. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  8910. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  8911. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  8912. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  8913. ->union(function ($query) {
  8914. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  8915. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  8916. ->whereIn('cMachineName', ['标规小森商轮1号',
  8917. '标规小森商轮2号', '大规小森商轮1号',
  8918. '大规三菱商轮1号', '标规三菱商轮1号',
  8919. '标规三菱商轮2号', '标规204胶轮1号',
  8920. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号']);
  8921. }, true)->buildSql();
  8922. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  8923. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  8924. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  8925. })->buildSql();
  8926. //轮转纸令合计
  8927. $subQuery3 = Db::table($subQuery3_child . 'T')
  8928. ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ')
  8929. ->group('rq')->buildSql();
  8930. $subQuery1_5 = Db::table($subQuery . 'A')
  8931. ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL')
  8932. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  8933. ->buildSql();
  8934. $sql_final = Db::table($subQuery1_5 . ' db')
  8935. ->field("
  8936. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  8937. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  8938. ")
  8939. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  8940. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  8941. ->select();
  8942. // 初始化数据
  8943. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  8944. $currentYear = date("Y"); // 当前年份
  8945. $currentMonth = date("m"); // 当前月份
  8946. $previousYear = (int)$currentYear - 1; // 去年
  8947. $previousTwoYear = (int)$currentYear - 2; // 前年
  8948. // 为前年、去年和今年创建数据数组,初始值为0
  8949. $list['series'][0]['name'] = $previousTwoYear . '年';
  8950. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  8951. $list['series'][1]['name'] = $previousYear . '年';
  8952. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  8953. $list['series'][2]['name'] = $currentYear . '年';
  8954. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  8955. // 遍历查询结果
  8956. foreach ($sql_final as $v) {
  8957. // 获取年份和月份
  8958. $year = substr($v['rq'], 0, 4);
  8959. $month = substr($v['rq'], 5, 2);
  8960. // 如果是前两年的数据
  8961. if ($year == $previousTwoYear) {
  8962. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  8963. }
  8964. // 如果是去年的数据
  8965. if ($year == $previousYear) {
  8966. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  8967. }
  8968. // 如果是今年的数据
  8969. if ($year == $currentYear) {
  8970. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  8971. }
  8972. }
  8973. $res['status'] = 0;
  8974. $res['msg'] = '';
  8975. $res['data'] = $list;
  8976. $redis->set($redis_key, json_encode($res));
  8977. return json_encode($res);
  8978. }
  8979. //轮转机每月生产趋势 纸令->接口调用
  8980. public function lunzhuanzl(){
  8981. $redis=redis();
  8982. $redis_key = md5('lunzhuanzl_redis');
  8983. $redis_data = $redis->get($redis_key);
  8984. return $redis_data;
  8985. }
  8986. //四色机每月生产趋势 纸令->缓存调用
  8987. public function sisejizl_redis(){
  8988. $redis=redis();
  8989. $redis_key = md5('sisejizl_redis');
  8990. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  8991. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  8992. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  8993. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  8994. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  8995. ->union(function ($query) {
  8996. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl')
  8997. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  8998. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  8999. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9000. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9001. '小森八色01号机','小森八色02号机']);
  9002. }, true)->buildSql();
  9003. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9004. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9005. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9006. })->buildSql();
  9007. //四色机纸令合计
  9008. $subQuery1 = Db::table($subQuery1_child . 'T')
  9009. ->field('rq,SUM( fsjls ) nFourColorSL')
  9010. ->group('rq')->buildSql();
  9011. $subQuery1_5 = Db::table($subQuery . 'A')
  9012. ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL')
  9013. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9014. ->buildSql();
  9015. $sql_final = Db::table($subQuery1_5 . ' db')
  9016. ->field("
  9017. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9018. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9019. ")
  9020. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9021. // ->group('MONTH(db.RQ)')
  9022. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9023. ->select();
  9024. // 初始化数据
  9025. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9026. $currentYear = date("Y"); // 当前年份
  9027. $currentMonth = date("m"); // 当前月份
  9028. $previousYear = (int)$currentYear - 1; // 去年
  9029. $previousTwoYear = (int)$currentYear - 2; // 前年
  9030. // 为前年、去年和今年创建数据数组,初始值为0
  9031. $list['series'][0]['name'] = $previousTwoYear . '年';
  9032. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9033. $list['series'][1]['name'] = $previousYear . '年';
  9034. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9035. $list['series'][2]['name'] = $currentYear . '年';
  9036. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9037. // 遍历查询结果
  9038. foreach ($sql_final as $v) {
  9039. // 获取年份和月份
  9040. $year = substr($v['rq'], 0, 4);
  9041. $month = substr($v['rq'], 5, 2);
  9042. // 如果是前两年的数据
  9043. if ($year == $previousTwoYear) {
  9044. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9045. }
  9046. // 如果是去年的数据
  9047. if ($year == $previousYear) {
  9048. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9049. }
  9050. // 如果是今年的数据
  9051. if ($year == $currentYear) {
  9052. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9053. }
  9054. }
  9055. $res['status'] = 0;
  9056. $res['msg'] = '';
  9057. $res['data'] = $list;
  9058. $redis->set($redis_key, json_encode($res));
  9059. return json_encode($res);
  9060. }
  9061. //四色机每月生产趋势 纸令->接口调用
  9062. public function sisejizl(){
  9063. $redis=redis();
  9064. $redis_key = md5('sisejizl_redis');
  9065. $redis_data = $redis->get($redis_key);
  9066. return $redis_data;
  9067. }
  9068. //BB机每月生产趋势 纸令->缓存调用
  9069. public function bbjzl_redis(){
  9070. $redis=redis();
  9071. $redis_key = md5('bbjzl_redis');
  9072. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9073. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  9074. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  9075. 'BB机5号(甲班)','BB机5号(乙班)',
  9076. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  9077. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9078. ->union(function ($query) {
  9079. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9080. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9081. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机',
  9082. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  9083. }, true)->buildSql();
  9084. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9085. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9086. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9087. })->buildSql();
  9088. //BB机纸令合计
  9089. $subQuery2 = Db::table($subQuery2_child . 'T')
  9090. ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL')
  9091. ->group('rq')->buildSql();
  9092. $subQuery1_5 = Db::table($subQuery . 'A')
  9093. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL')
  9094. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9095. ->buildSql();
  9096. $sql_final = Db::table($subQuery1_5 . ' db')
  9097. ->field("
  9098. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9099. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9100. ")
  9101. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9102. // ->group('MONTH(db.RQ)')
  9103. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9104. ->select();
  9105. // 初始化数据
  9106. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9107. $currentYear = date("Y"); // 当前年份
  9108. $currentMonth = date("m"); // 当前月份
  9109. $previousYear = (int)$currentYear - 1; // 去年
  9110. $previousTwoYear = (int)$currentYear - 2; // 前年
  9111. // 为前年、去年和今年创建数据数组,初始值为0
  9112. $list['series'][0]['name'] = $previousTwoYear . '年';
  9113. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9114. $list['series'][1]['name'] = $previousYear . '年';
  9115. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9116. $list['series'][2]['name'] = $currentYear . '年';
  9117. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9118. // 遍历查询结果
  9119. foreach ($sql_final as $v) {
  9120. // 获取年份和月份
  9121. $year = substr($v['rq'], 0, 4);
  9122. $month = substr($v['rq'], 5, 2);
  9123. // 如果是前两年的数据
  9124. if ($year == $previousTwoYear) {
  9125. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9126. }
  9127. // 如果是去年的数据
  9128. if ($year == $previousYear) {
  9129. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9130. }
  9131. // 如果是今年的数据
  9132. if ($year == $currentYear) {
  9133. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9134. }
  9135. }
  9136. $res['status'] = 0;
  9137. $res['msg'] = '';
  9138. $res['data'] = $list;
  9139. $redis->set($redis_key, json_encode($res));
  9140. return json_encode($res);
  9141. }
  9142. //BB机每月生产趋势 纸令->接口调用
  9143. public function bbjzl(){
  9144. $redis=redis();
  9145. $redis_key = md5('bbjzl_redis');
  9146. $redis_data = $redis->get($redis_key);
  9147. return $redis_data;
  9148. }
  9149. //轮转机每月生产趋势 色令->缓存调用
  9150. public function lunzhuan_redis(){
  9151. $redis=redis();
  9152. $redis_key = md5('lunzhuan_redis');
  9153. //首先定义了起始时间和结束时间
  9154. //根据查询条件查出色令数据
  9155. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9156. ->whereIn('cbzmc', [
  9157. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  9158. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  9159. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  9160. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9161. ->union(function ($query) {
  9162. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9163. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9164. ->whereIn('cMachineName', ['标规小森商轮1号',
  9165. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  9166. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号']);
  9167. }, true)
  9168. ->buildSql();
  9169. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9170. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9171. ->union(function ($query) {
  9172. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9173. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9174. })->buildSql();
  9175. //查询每天的数据
  9176. $subQuery3 = Db::table($subQuery3_child . 'T')
  9177. ->field('rq,SUM( fsjsl ) nnRotationSL ')
  9178. ->group('rq')
  9179. ->buildSql();
  9180. //按当天日期进行分组 累计相加当天数据
  9181. $subQuery1_5 = Db::table($subQuery . 'A')
  9182. ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL')
  9183. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9184. ->group('RQ')
  9185. ->buildSql();
  9186. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计'
  9187. $sql_final = Db::table($subQuery1_5 . ' db')
  9188. ->field("
  9189. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9190. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9191. ")
  9192. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9193. // ->group('MONTH(db.RQ)')
  9194. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9195. ->select();
  9196. // 初始化数据
  9197. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9198. $currentYear = date("Y"); // 当前年份
  9199. $currentMonth = date("m"); // 当前月份
  9200. $previousYear = (int)$currentYear - 1; // 去年
  9201. $previousTwoYear = (int)$currentYear - 2; // 前年
  9202. // 为前年、去年和今年创建数据数组,初始值为0
  9203. $list['series'][0]['name'] = $previousTwoYear . '年';
  9204. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9205. $list['series'][1]['name'] = $previousYear . '年';
  9206. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9207. $list['series'][2]['name'] = $currentYear . '年';
  9208. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9209. // 遍历查询结果
  9210. foreach ($sql_final as $v) {
  9211. // 获取年份和月份
  9212. $year = substr($v['rq'], 0, 4);
  9213. $month = substr($v['rq'], 5, 2);
  9214. // 如果是前两年的数据
  9215. if ($year == $previousTwoYear) {
  9216. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9217. }
  9218. // 如果是去年的数据
  9219. if ($year == $previousYear) {
  9220. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9221. }
  9222. // 如果是今年的数据
  9223. if ($year == $currentYear) {
  9224. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9225. }
  9226. }
  9227. $res['status'] = 0;
  9228. $res['msg'] = '';
  9229. $res['data'] = $list;
  9230. $redis->set($redis_key, json_encode($res));
  9231. return json_encode($res);
  9232. }
  9233. //轮转机每月生产趋势 色令->接口调用
  9234. public function lunzhuan(){
  9235. $redis=redis();
  9236. $redis_key = md5('lunzhuan_redis');
  9237. $redis_data = $redis->get($redis_key);
  9238. return $redis_data;
  9239. }
  9240. //四色机每月生产趋势 色令->缓存调用
  9241. public function siseji_redis(){
  9242. $redis=redis();
  9243. $redis_key = md5('siseji_redis');
  9244. //根据查询条件查出色令数据
  9245. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9246. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9247. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9248. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9249. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9250. ->union(function ($query) {
  9251. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  9252. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9253. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9254. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9255. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9256. '小森八色01号机','小森八色02号机']);
  9257. }, true)->buildSql();
  9258. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9259. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9260. ->union(function ($query) {
  9261. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9262. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9263. })->buildSql();
  9264. //查询每天的数据
  9265. $subQuery1 = Db::table($subQuery1_child . 'T')
  9266. ->field('rq,SUM( fsjsl ) nFourColorSL')
  9267. ->group('rq')->buildSql();
  9268. //按当天日期进行分组 累计相加当天数据
  9269. $subQuery1_5 = Db::table($subQuery . 'A')
  9270. ->field('
  9271. DISTINCT DATE(A.RQ) RQ,
  9272. sum(B.nFourColorSL) AS nFourColorSL
  9273. ')
  9274. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9275. ->group('RQ')
  9276. ->buildSql();
  9277. //按每个月进行查询 累计相加每月数据
  9278. $sql_final = Db::table($subQuery1_5 . ' db')
  9279. ->field("
  9280. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9281. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9282. ")
  9283. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9284. // ->group('MONTH(db.RQ)')
  9285. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9286. ->select();
  9287. // 初始化数据
  9288. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9289. $currentYear = date("Y"); // 当前年份
  9290. $currentMonth = date("m"); // 当前月份
  9291. $previousYear = (int)$currentYear - 1; // 去年
  9292. $previousTwoYear = (int)$currentYear - 2; // 前年
  9293. // 为前年、去年和今年创建数据数组,初始值为0
  9294. $list['series'][0]['name'] = $previousTwoYear . '年';
  9295. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9296. $list['series'][1]['name'] = $previousYear . '年';
  9297. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9298. $list['series'][2]['name'] = $currentYear . '年';
  9299. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9300. // 遍历查询结果
  9301. foreach ($sql_final as $v) {
  9302. // 获取年份和月份
  9303. $year = substr($v['rq'], 0, 4);
  9304. $month = substr($v['rq'], 5, 2);
  9305. // 如果是前两年的数据
  9306. if ($year == $previousTwoYear) {
  9307. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9308. }
  9309. // 如果是去年的数据
  9310. if ($year == $previousYear) {
  9311. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9312. }
  9313. // 如果是今年的数据
  9314. if ($year == $currentYear) {
  9315. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9316. }
  9317. }
  9318. $res['status'] = 0;
  9319. $res['msg'] = '';
  9320. $res['data'] = $list;
  9321. $redis->set($redis_key, json_encode($res));
  9322. return json_encode($res);
  9323. }
  9324. //四色机每月生产趋势 色令->接口调用
  9325. public function siseji(){
  9326. $redis=redis();
  9327. $redis_key = md5('siseji_redis');
  9328. $redis_data = $redis->get($redis_key);
  9329. return $redis_data;
  9330. }
  9331. //BB机每月生产趋势 色令->缓存调用
  9332. public function bbj_redis(){
  9333. $redis=redis();
  9334. $redis_key = md5('bbj_redis');
  9335. //首先定义了起始时间和结束时间
  9336. //根据查询条件查出色令数据
  9337. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9338. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  9339. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  9340. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  9341. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9342. ->union(function ($query) {
  9343. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9344. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9345. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机',
  9346. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  9347. }, true)->buildSql();
  9348. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9349. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9350. ->union(function ($query) {
  9351. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9352. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9353. })->buildSql();
  9354. //查询每天的数据
  9355. $subQuery2 = Db::table($subQuery2_child . 'T')
  9356. ->field('rq,SUM( fsjsl ) nBBSL')
  9357. ->group('rq')->buildSql();
  9358. //按当天日期进行分组 累计相加当天数据
  9359. $subQuery1_5 = Db::table($subQuery . 'A')
  9360. ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL')
  9361. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9362. ->group('RQ')
  9363. ->buildSql();
  9364. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计'
  9365. $sql_final = Db::table($subQuery1_5 . ' db')
  9366. ->field("
  9367. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9368. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9369. ")
  9370. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9371. // ->group('MONTH(db.RQ)')
  9372. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9373. ->order('db.RQ', 'asc')
  9374. ->select();
  9375. // 初始化数据
  9376. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9377. $currentYear = date("Y"); // 当前年份
  9378. $currentMonth = date("m"); // 当前月份
  9379. $previousYear = (int)$currentYear - 1; // 去年
  9380. $previousTwoYear = (int)$currentYear - 2; // 前年
  9381. // 为前年、去年和今年创建数据数组,初始值为0
  9382. $list['series'][0]['name'] = $previousTwoYear . '年';
  9383. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9384. $list['series'][1]['name'] = $previousYear . '年';
  9385. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9386. $list['series'][2]['name'] = $currentYear . '年';
  9387. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9388. // 遍历查询结果
  9389. foreach ($sql_final as $v) {
  9390. // 获取年份和月份
  9391. $year = substr($v['rq'], 0, 4);
  9392. $month = substr($v['rq'], 5, 2);
  9393. // 如果是前两年的数据
  9394. if ($year == $previousTwoYear) {
  9395. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9396. }
  9397. // 如果是去年的数据
  9398. if ($year == $previousYear) {
  9399. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9400. }
  9401. // 如果是今年的数据
  9402. if ($year == $currentYear) {
  9403. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9404. }
  9405. }
  9406. $res['status'] = 0;
  9407. $res['msg'] = '';
  9408. $res['data'] = $list;
  9409. $redis->set($redis_key, json_encode($res));
  9410. return json_encode($res);
  9411. }
  9412. //BB机每月生产趋势 色令->接口调用
  9413. public function bbj(){
  9414. $redis=redis();
  9415. $redis_key = md5('bbj_redis');
  9416. $redis_data = $redis->get($redis_key);
  9417. return $redis_data;
  9418. }
  9419. //胶订纸令->缓存调用
  9420. public function jdzl_redis(){
  9421. $redis=redis();
  9422. $redis_key = md5('jdzl_redis');
  9423. //首先定义了起始时间和结束时间
  9424. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  9425. ->union(function ($query) {
  9426. $query->table('scDayRpt_Teams')->alias('b')
  9427. ->field("DISTINCT DATE_FORMAT(
  9428. CASE
  9429. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  9430. ELSE b.dOnDuty
  9431. END,
  9432. '%Y-%m-%d'
  9433. ) AS RQ");
  9434. }, true)
  9435. ->buildSql();
  9436. $B = Db::table('cpjtfk')
  9437. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9438. ->field("
  9439. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9440. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  9441. ")
  9442. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  9443. ->group('drptdate,cbanzu')
  9444. ->buildSql();
  9445. $B1 = Db::table('cpjtfk')
  9446. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9447. ->field("
  9448. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9449. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  9450. ")
  9451. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  9452. ->group('drptdate,cbanzu')
  9453. ->buildSql();
  9454. $C = Db::table('cpjtfk')
  9455. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9456. ->field("
  9457. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9458. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  9459. ")
  9460. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  9461. ->group('drptdate,cbanzu')
  9462. ->buildSql();
  9463. $C1 = Db::table('cpjtfk')
  9464. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9465. ->field("
  9466. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9467. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  9468. ")
  9469. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  9470. ->group('drptdate,cbanzu')
  9471. ->buildSql();
  9472. $D = Db::table('cpjtfk')
  9473. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9474. ->field("
  9475. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9476. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  9477. ")
  9478. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  9479. ->group('drptdate,cbanzu')
  9480. ->buildSql();
  9481. $D1 = Db::table('cpjtfk')
  9482. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9483. ->field("
  9484. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9485. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  9486. ")
  9487. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  9488. ->group('drptdate,cbanzu')
  9489. ->buildSql();
  9490. $E = Db::table('cpjtfk')
  9491. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9492. ->field("
  9493. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9494. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  9495. ")
  9496. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  9497. ->group('drptdate,cbanzu')
  9498. ->buildSql();
  9499. $E1 = Db::table('cpjtfk')
  9500. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9501. ->field("
  9502. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9503. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  9504. ")
  9505. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  9506. ->group('drptdate,cbanzu')
  9507. ->buildSql();
  9508. $F = Db::table('cpjtfk')
  9509. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9510. ->field("
  9511. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9512. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  9513. ")
  9514. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  9515. ->group('drptdate,cbanzu')
  9516. ->buildSql();
  9517. $F1 = Db::table('cpjtfk')
  9518. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  9519. ->field("
  9520. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  9521. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  9522. ")
  9523. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  9524. ->group('drptdate,cbanzu')
  9525. ->buildSql();
  9526. $rr = Db::table('scyddx')->alias('r')
  9527. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  9528. ->group('r.ICYDID')
  9529. ->buildSql();
  9530. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  9531. ->field("
  9532. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9533. ROUND(SUM(
  9534. CASE
  9535. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9536. THEN CASE WHEN a.cCyddxMc = '装配'
  9537. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9538. THEN CASE
  9539. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9540. END = 0 THEN c.nzdls
  9541. ELSE ( CASE
  9542. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9543. END
  9544. THEN CASE
  9545. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9546. END ELSE c.nzdls END
  9547. ) END ELSE 0 END
  9548. ELSE CASE
  9549. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9550. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9551. CASE WHEN a.cCyddxMc = '装配'
  9552. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  9553. THEN CASE
  9554. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9555. END = 0 THEN c.nzdls
  9556. ELSE ( CASE WHEN c.nzdls <
  9557. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9558. END
  9559. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  9560. END ELSE c.nzdls END )
  9561. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9562. END END ), 3) 马11甲纸令 ")
  9563. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9564. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9565. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9566. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9567. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9568. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9569. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  9570. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9571. ->group("CASE
  9572. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9573. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9574. END,Name_WorkGroup")->buildSql();
  9575. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  9576. ->field("
  9577. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9578. ROUND(SUM(
  9579. CASE
  9580. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9581. THEN
  9582. CASE
  9583. WHEN a.cCyddxMc = '装配'
  9584. OR a.cCyddxMc LIKE '%正文%'
  9585. OR a.cCyddxMc LIKE '%答案%'
  9586. OR a.cCyddxMc LIKE '%卷%'
  9587. THEN
  9588. CASE
  9589. WHEN CASE
  9590. WHEN IFNULL(d.fZls, 0) < rr.zl
  9591. THEN rr.zl
  9592. ELSE IFNULL(d.fZls, 0)
  9593. END = 0
  9594. THEN c.nzdls
  9595. ELSE (
  9596. CASE
  9597. WHEN c.nzdls <
  9598. CASE
  9599. WHEN IFNULL(d.fZls, 0) < rr.zl
  9600. THEN rr.zl
  9601. ELSE IFNULL(d.fZls, 0)
  9602. END
  9603. THEN
  9604. CASE
  9605. WHEN IFNULL(d.fZls, 0) < rr.zl
  9606. THEN rr.zl
  9607. ELSE IFNULL(d.fZls, 0)
  9608. END
  9609. ELSE c.nzdls
  9610. END
  9611. )
  9612. END
  9613. ELSE 0
  9614. END
  9615. ELSE
  9616. CASE
  9617. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9618. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9619. CASE
  9620. WHEN a.cCyddxMc = '装配'
  9621. OR a.cCyddxMc LIKE '%正文%'
  9622. OR a.cCyddxMc LIKE '%答案%'
  9623. OR a.cCyddxMc LIKE '%卷%'
  9624. THEN
  9625. CASE
  9626. WHEN CASE
  9627. WHEN IFNULL(d.fZls, 0) < rr.zl
  9628. THEN rr.zl
  9629. ELSE IFNULL(d.fZls, 0)
  9630. END = 0
  9631. THEN c.nzdls
  9632. ELSE (
  9633. CASE
  9634. WHEN c.nzdls <
  9635. CASE
  9636. WHEN IFNULL(d.fZls, 0) < rr.zl
  9637. THEN rr.zl
  9638. ELSE IFNULL(d.fZls, 0)
  9639. END
  9640. THEN
  9641. CASE
  9642. WHEN IFNULL(d.fZls, 0) < rr.zl
  9643. THEN rr.zl
  9644. ELSE IFNULL(d.fZls, 0)
  9645. END
  9646. ELSE c.nzdls
  9647. END
  9648. )
  9649. END
  9650. ELSE 0
  9651. END
  9652. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9653. END
  9654. END )
  9655. , 3) 马11乙纸令
  9656. ")
  9657. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9658. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9659. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9660. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9661. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9662. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9663. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  9664. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9665. ->group("CASE
  9666. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9667. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9668. END,Name_WorkGroup")
  9669. ->buildSql();
  9670. $CC = Db::table('ql_report_feedback_day')->alias('a')
  9671. ->field("
  9672. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9673. ROUND(SUM(
  9674. CASE
  9675. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9676. THEN
  9677. CASE
  9678. WHEN a.cCyddxMc = '装配'
  9679. OR a.cCyddxMc LIKE '%正文%'
  9680. OR a.cCyddxMc LIKE '%答案%'
  9681. OR a.cCyddxMc LIKE '%卷%'
  9682. THEN
  9683. CASE
  9684. WHEN CASE
  9685. WHEN IFNULL(d.fZls, 0) < rr.zl
  9686. THEN rr.zl
  9687. ELSE IFNULL(d.fZls, 0)
  9688. END = 0
  9689. THEN c.nzdls
  9690. ELSE (
  9691. CASE
  9692. WHEN c.nzdls <
  9693. CASE
  9694. WHEN IFNULL(d.fZls, 0) < rr.zl
  9695. THEN rr.zl
  9696. ELSE IFNULL(d.fZls, 0)
  9697. END
  9698. THEN
  9699. CASE
  9700. WHEN IFNULL(d.fZls, 0) < rr.zl
  9701. THEN rr.zl
  9702. ELSE IFNULL(d.fZls, 0)
  9703. END
  9704. ELSE c.nzdls
  9705. END
  9706. )
  9707. END
  9708. ELSE 0
  9709. END
  9710. ELSE
  9711. CASE
  9712. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9713. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9714. CASE
  9715. WHEN a.cCyddxMc = '装配'
  9716. OR a.cCyddxMc LIKE '%正文%'
  9717. OR a.cCyddxMc LIKE '%答案%'
  9718. OR a.cCyddxMc LIKE '%卷%'
  9719. THEN
  9720. CASE
  9721. WHEN CASE
  9722. WHEN IFNULL(d.fZls, 0) < rr.zl
  9723. THEN rr.zl
  9724. ELSE IFNULL(d.fZls, 0)
  9725. END = 0
  9726. THEN c.nzdls
  9727. ELSE (
  9728. CASE
  9729. WHEN c.nzdls <
  9730. CASE
  9731. WHEN IFNULL(d.fZls, 0) < rr.zl
  9732. THEN rr.zl
  9733. ELSE IFNULL(d.fZls, 0)
  9734. END
  9735. THEN
  9736. CASE
  9737. WHEN IFNULL(d.fZls, 0) < rr.zl
  9738. THEN rr.zl
  9739. ELSE IFNULL(d.fZls, 0)
  9740. END
  9741. ELSE c.nzdls
  9742. END
  9743. )
  9744. END
  9745. ELSE 0
  9746. END
  9747. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9748. END
  9749. END )
  9750. , 3) 马22甲纸令
  9751. ")
  9752. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9753. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9754. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9755. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9756. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9757. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9758. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  9759. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9760. ->group("CASE
  9761. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9762. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9763. END,Name_WorkGroup")
  9764. ->buildSql();
  9765. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  9766. ->field("
  9767. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9768. ROUND(SUM(
  9769. CASE
  9770. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9771. THEN
  9772. CASE
  9773. WHEN a.cCyddxMc = '装配'
  9774. OR a.cCyddxMc LIKE '%正文%'
  9775. OR a.cCyddxMc LIKE '%答案%'
  9776. OR a.cCyddxMc LIKE '%卷%'
  9777. THEN
  9778. CASE
  9779. WHEN CASE
  9780. WHEN IFNULL(d.fZls, 0) < rr.zl
  9781. THEN rr.zl
  9782. ELSE IFNULL(d.fZls, 0)
  9783. END = 0
  9784. THEN c.nzdls
  9785. ELSE (
  9786. CASE
  9787. WHEN c.nzdls <
  9788. CASE
  9789. WHEN IFNULL(d.fZls, 0) < rr.zl
  9790. THEN rr.zl
  9791. ELSE IFNULL(d.fZls, 0)
  9792. END
  9793. THEN
  9794. CASE
  9795. WHEN IFNULL(d.fZls, 0) < rr.zl
  9796. THEN rr.zl
  9797. ELSE IFNULL(d.fZls, 0)
  9798. END
  9799. ELSE c.nzdls
  9800. END
  9801. )
  9802. END
  9803. ELSE 0
  9804. END
  9805. ELSE
  9806. CASE
  9807. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9808. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9809. CASE
  9810. WHEN a.cCyddxMc = '装配'
  9811. OR a.cCyddxMc LIKE '%正文%'
  9812. OR a.cCyddxMc LIKE '%答案%'
  9813. OR a.cCyddxMc LIKE '%卷%'
  9814. THEN
  9815. CASE
  9816. WHEN CASE
  9817. WHEN IFNULL(d.fZls, 0) < rr.zl
  9818. THEN rr.zl
  9819. ELSE IFNULL(d.fZls, 0)
  9820. END = 0
  9821. THEN c.nzdls
  9822. ELSE (
  9823. CASE
  9824. WHEN c.nzdls <
  9825. CASE
  9826. WHEN IFNULL(d.fZls, 0) < rr.zl
  9827. THEN rr.zl
  9828. ELSE IFNULL(d.fZls, 0)
  9829. END
  9830. THEN
  9831. CASE
  9832. WHEN IFNULL(d.fZls, 0) < rr.zl
  9833. THEN rr.zl
  9834. ELSE IFNULL(d.fZls, 0)
  9835. END
  9836. ELSE c.nzdls
  9837. END
  9838. )
  9839. END
  9840. ELSE 0
  9841. END
  9842. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9843. END
  9844. END )
  9845. , 3) 马22乙纸令
  9846. ")
  9847. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9848. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9849. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9850. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9851. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9852. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9853. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  9854. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9855. ->group("CASE
  9856. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9857. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9858. END,Name_WorkGroup")
  9859. ->buildSql();
  9860. $EE = Db::table('ql_report_feedback_day')->alias('a')
  9861. ->field("
  9862. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9863. ROUND(SUM(
  9864. CASE
  9865. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9866. THEN
  9867. CASE
  9868. WHEN a.cCyddxMc = '装配'
  9869. OR a.cCyddxMc LIKE '%正文%'
  9870. OR a.cCyddxMc LIKE '%答案%'
  9871. OR a.cCyddxMc LIKE '%卷%'
  9872. THEN
  9873. CASE
  9874. WHEN CASE
  9875. WHEN IFNULL(d.fZls, 0) < rr.zl
  9876. THEN rr.zl
  9877. ELSE IFNULL(d.fZls, 0)
  9878. END = 0
  9879. THEN c.nzdls
  9880. ELSE (
  9881. CASE
  9882. WHEN c.nzdls <
  9883. CASE
  9884. WHEN IFNULL(d.fZls, 0) < rr.zl
  9885. THEN rr.zl
  9886. ELSE IFNULL(d.fZls, 0)
  9887. END
  9888. THEN
  9889. CASE
  9890. WHEN IFNULL(d.fZls, 0) < rr.zl
  9891. THEN rr.zl
  9892. ELSE IFNULL(d.fZls, 0)
  9893. END
  9894. ELSE c.nzdls
  9895. END
  9896. )
  9897. END
  9898. ELSE 0
  9899. END
  9900. ELSE
  9901. CASE
  9902. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9903. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9904. CASE
  9905. WHEN a.cCyddxMc = '装配'
  9906. OR a.cCyddxMc LIKE '%正文%'
  9907. OR a.cCyddxMc LIKE '%答案%'
  9908. OR a.cCyddxMc LIKE '%卷%'
  9909. THEN
  9910. CASE
  9911. WHEN CASE
  9912. WHEN IFNULL(d.fZls, 0) < rr.zl
  9913. THEN rr.zl
  9914. ELSE IFNULL(d.fZls, 0)
  9915. END = 0
  9916. THEN c.nzdls
  9917. ELSE (
  9918. CASE
  9919. WHEN c.nzdls <
  9920. CASE
  9921. WHEN IFNULL(d.fZls, 0) < rr.zl
  9922. THEN rr.zl
  9923. ELSE IFNULL(d.fZls, 0)
  9924. END
  9925. THEN
  9926. CASE
  9927. WHEN IFNULL(d.fZls, 0) < rr.zl
  9928. THEN rr.zl
  9929. ELSE IFNULL(d.fZls, 0)
  9930. END
  9931. ELSE c.nzdls
  9932. END
  9933. )
  9934. END
  9935. ELSE 0
  9936. END
  9937. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  9938. END
  9939. END )
  9940. , 3) 马33甲纸令
  9941. ")
  9942. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  9943. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  9944. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  9945. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  9946. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  9947. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  9948. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  9949. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  9950. ->group("CASE
  9951. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  9952. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  9953. END,Name_WorkGroup")
  9954. ->buildSql();
  9955. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  9956. ->field("
  9957. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  9958. ROUND(SUM(
  9959. CASE
  9960. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  9961. THEN
  9962. CASE
  9963. WHEN a.cCyddxMc = '装配'
  9964. OR a.cCyddxMc LIKE '%正文%'
  9965. OR a.cCyddxMc LIKE '%答案%'
  9966. OR a.cCyddxMc LIKE '%卷%'
  9967. THEN
  9968. CASE
  9969. WHEN CASE
  9970. WHEN IFNULL(d.fZls, 0) < rr.zl
  9971. THEN rr.zl
  9972. ELSE IFNULL(d.fZls, 0)
  9973. END = 0
  9974. THEN c.nzdls
  9975. ELSE (
  9976. CASE
  9977. WHEN c.nzdls <
  9978. CASE
  9979. WHEN IFNULL(d.fZls, 0) < rr.zl
  9980. THEN rr.zl
  9981. ELSE IFNULL(d.fZls, 0)
  9982. END
  9983. THEN
  9984. CASE
  9985. WHEN IFNULL(d.fZls, 0) < rr.zl
  9986. THEN rr.zl
  9987. ELSE IFNULL(d.fZls, 0)
  9988. END
  9989. ELSE c.nzdls
  9990. END
  9991. )
  9992. END
  9993. ELSE 0
  9994. END
  9995. ELSE
  9996. CASE
  9997. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  9998. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  9999. CASE
  10000. WHEN a.cCyddxMc = '装配'
  10001. OR a.cCyddxMc LIKE '%正文%'
  10002. OR a.cCyddxMc LIKE '%答案%'
  10003. OR a.cCyddxMc LIKE '%卷%'
  10004. THEN
  10005. CASE
  10006. WHEN CASE
  10007. WHEN IFNULL(d.fZls, 0) < rr.zl
  10008. THEN rr.zl
  10009. ELSE IFNULL(d.fZls, 0)
  10010. END = 0
  10011. THEN c.nzdls
  10012. ELSE (
  10013. CASE
  10014. WHEN c.nzdls <
  10015. CASE
  10016. WHEN IFNULL(d.fZls, 0) < rr.zl
  10017. THEN rr.zl
  10018. ELSE IFNULL(d.fZls, 0)
  10019. END
  10020. THEN
  10021. CASE
  10022. WHEN IFNULL(d.fZls, 0) < rr.zl
  10023. THEN rr.zl
  10024. ELSE IFNULL(d.fZls, 0)
  10025. END
  10026. ELSE c.nzdls
  10027. END
  10028. )
  10029. END
  10030. ELSE 0
  10031. END
  10032. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10033. END
  10034. END )
  10035. , 3) 马33乙纸令
  10036. ")
  10037. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10038. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10039. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10040. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10041. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10042. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10043. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  10044. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10045. ->group("CASE
  10046. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10047. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10048. END,Name_WorkGroup")
  10049. ->buildSql();
  10050. $HH = Db::table('ql_report_feedback_day')->alias('a')
  10051. ->field("
  10052. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10053. ROUND(SUM(
  10054. CASE
  10055. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10056. THEN
  10057. CASE
  10058. WHEN a.cCyddxMc = '装配'
  10059. OR a.cCyddxMc LIKE '%正文%'
  10060. OR a.cCyddxMc LIKE '%答案%'
  10061. OR a.cCyddxMc LIKE '%卷%'
  10062. THEN
  10063. CASE
  10064. WHEN CASE
  10065. WHEN IFNULL(d.fZls, 0) < rr.zl
  10066. THEN rr.zl
  10067. ELSE IFNULL(d.fZls, 0)
  10068. END = 0
  10069. THEN c.nzdls
  10070. ELSE (
  10071. CASE
  10072. WHEN c.nzdls <
  10073. CASE
  10074. WHEN IFNULL(d.fZls, 0) < rr.zl
  10075. THEN rr.zl
  10076. ELSE IFNULL(d.fZls, 0)
  10077. END
  10078. THEN
  10079. CASE
  10080. WHEN IFNULL(d.fZls, 0) < rr.zl
  10081. THEN rr.zl
  10082. ELSE IFNULL(d.fZls, 0)
  10083. END
  10084. ELSE c.nzdls
  10085. END
  10086. )
  10087. END
  10088. ELSE 0
  10089. END
  10090. ELSE
  10091. CASE
  10092. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10093. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10094. CASE
  10095. WHEN a.cCyddxMc = '装配'
  10096. OR a.cCyddxMc LIKE '%正文%'
  10097. OR a.cCyddxMc LIKE '%答案%'
  10098. OR a.cCyddxMc LIKE '%卷%'
  10099. THEN
  10100. CASE
  10101. WHEN CASE
  10102. WHEN IFNULL(d.fZls, 0) < rr.zl
  10103. THEN rr.zl
  10104. ELSE IFNULL(d.fZls, 0)
  10105. END = 0
  10106. THEN c.nzdls
  10107. ELSE (
  10108. CASE
  10109. WHEN c.nzdls <
  10110. CASE
  10111. WHEN IFNULL(d.fZls, 0) < rr.zl
  10112. THEN rr.zl
  10113. ELSE IFNULL(d.fZls, 0)
  10114. END
  10115. THEN
  10116. CASE
  10117. WHEN IFNULL(d.fZls, 0) < rr.zl
  10118. THEN rr.zl
  10119. ELSE IFNULL(d.fZls, 0)
  10120. END
  10121. ELSE c.nzdls
  10122. END
  10123. )
  10124. END
  10125. ELSE 0
  10126. END
  10127. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10128. END
  10129. END )
  10130. , 3) 马44甲纸令
  10131. ")
  10132. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10133. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10134. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10135. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10136. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10137. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10138. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  10139. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10140. ->group("CASE
  10141. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10142. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10143. END,Name_WorkGroup")
  10144. ->buildSql();
  10145. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  10146. ->field("
  10147. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10148. ROUND(SUM(
  10149. CASE
  10150. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10151. THEN
  10152. CASE
  10153. WHEN a.cCyddxMc = '装配'
  10154. OR a.cCyddxMc LIKE '%正文%'
  10155. OR a.cCyddxMc LIKE '%答案%'
  10156. OR a.cCyddxMc LIKE '%卷%'
  10157. THEN
  10158. CASE
  10159. WHEN CASE
  10160. WHEN IFNULL(d.fZls, 0) < rr.zl
  10161. THEN rr.zl
  10162. ELSE IFNULL(d.fZls, 0)
  10163. END = 0
  10164. THEN c.nzdls
  10165. ELSE (
  10166. CASE
  10167. WHEN c.nzdls <
  10168. CASE
  10169. WHEN IFNULL(d.fZls, 0) < rr.zl
  10170. THEN rr.zl
  10171. ELSE IFNULL(d.fZls, 0)
  10172. END
  10173. THEN
  10174. CASE
  10175. WHEN IFNULL(d.fZls, 0) < rr.zl
  10176. THEN rr.zl
  10177. ELSE IFNULL(d.fZls, 0)
  10178. END
  10179. ELSE c.nzdls
  10180. END
  10181. )
  10182. END
  10183. ELSE 0
  10184. END
  10185. ELSE
  10186. CASE
  10187. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10188. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10189. CASE
  10190. WHEN a.cCyddxMc = '装配'
  10191. OR a.cCyddxMc LIKE '%正文%'
  10192. OR a.cCyddxMc LIKE '%答案%'
  10193. OR a.cCyddxMc LIKE '%卷%'
  10194. THEN
  10195. CASE
  10196. WHEN CASE
  10197. WHEN IFNULL(d.fZls, 0) < rr.zl
  10198. THEN rr.zl
  10199. ELSE IFNULL(d.fZls, 0)
  10200. END = 0
  10201. THEN c.nzdls
  10202. ELSE (
  10203. CASE
  10204. WHEN c.nzdls <
  10205. CASE
  10206. WHEN IFNULL(d.fZls, 0) < rr.zl
  10207. THEN rr.zl
  10208. ELSE IFNULL(d.fZls, 0)
  10209. END
  10210. THEN
  10211. CASE
  10212. WHEN IFNULL(d.fZls, 0) < rr.zl
  10213. THEN rr.zl
  10214. ELSE IFNULL(d.fZls, 0)
  10215. END
  10216. ELSE c.nzdls
  10217. END
  10218. )
  10219. END
  10220. ELSE 0
  10221. END
  10222. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10223. END
  10224. END )
  10225. , 3) 马44乙纸令
  10226. ")
  10227. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10228. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10229. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10230. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10231. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10232. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10233. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  10234. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10235. ->group("CASE
  10236. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10237. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10238. END,Name_WorkGroup")
  10239. ->buildSql();
  10240. $XX = Db::table('ql_report_feedback_day')->alias('a')
  10241. ->field("
  10242. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10243. ROUND(SUM(
  10244. CASE
  10245. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10246. THEN
  10247. CASE
  10248. WHEN a.cCyddxMc = '装配'
  10249. OR a.cCyddxMc LIKE '%正文%'
  10250. OR a.cCyddxMc LIKE '%答案%'
  10251. OR a.cCyddxMc LIKE '%卷%'
  10252. THEN
  10253. CASE
  10254. WHEN CASE
  10255. WHEN IFNULL(d.fZls, 0) < rr.zl
  10256. THEN rr.zl
  10257. ELSE IFNULL(d.fZls, 0)
  10258. END = 0
  10259. THEN c.nzdls
  10260. ELSE (
  10261. CASE
  10262. WHEN c.nzdls <
  10263. CASE
  10264. WHEN IFNULL(d.fZls, 0) < rr.zl
  10265. THEN rr.zl
  10266. ELSE IFNULL(d.fZls, 0)
  10267. END
  10268. THEN
  10269. CASE
  10270. WHEN IFNULL(d.fZls, 0) < rr.zl
  10271. THEN rr.zl
  10272. ELSE IFNULL(d.fZls, 0)
  10273. END
  10274. ELSE c.nzdls
  10275. END
  10276. )
  10277. END
  10278. ELSE 0
  10279. END
  10280. ELSE
  10281. CASE
  10282. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10283. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10284. CASE
  10285. WHEN a.cCyddxMc = '装配'
  10286. OR a.cCyddxMc LIKE '%正文%'
  10287. OR a.cCyddxMc LIKE '%答案%'
  10288. OR a.cCyddxMc LIKE '%卷%'
  10289. THEN
  10290. CASE
  10291. WHEN CASE
  10292. WHEN IFNULL(d.fZls, 0) < rr.zl
  10293. THEN rr.zl
  10294. ELSE IFNULL(d.fZls, 0)
  10295. END = 0
  10296. THEN c.nzdls
  10297. ELSE (
  10298. CASE
  10299. WHEN c.nzdls <
  10300. CASE
  10301. WHEN IFNULL(d.fZls, 0) < rr.zl
  10302. THEN rr.zl
  10303. ELSE IFNULL(d.fZls, 0)
  10304. END
  10305. THEN
  10306. CASE
  10307. WHEN IFNULL(d.fZls, 0) < rr.zl
  10308. THEN rr.zl
  10309. ELSE IFNULL(d.fZls, 0)
  10310. END
  10311. ELSE c.nzdls
  10312. END
  10313. )
  10314. END
  10315. ELSE 0
  10316. END
  10317. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10318. END
  10319. END )
  10320. , 3) 马55甲纸令
  10321. ")
  10322. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10323. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10324. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10325. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10326. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10327. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10328. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  10329. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10330. ->group("CASE
  10331. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10332. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10333. END,Name_WorkGroup")
  10334. ->buildSql();
  10335. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  10336. ->field("
  10337. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10338. ROUND(SUM(
  10339. CASE
  10340. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10341. THEN
  10342. CASE
  10343. WHEN a.cCyddxMc = '装配'
  10344. OR a.cCyddxMc LIKE '%正文%'
  10345. OR a.cCyddxMc LIKE '%答案%'
  10346. OR a.cCyddxMc LIKE '%卷%'
  10347. THEN
  10348. CASE
  10349. WHEN CASE
  10350. WHEN IFNULL(d.fZls, 0) < rr.zl
  10351. THEN rr.zl
  10352. ELSE IFNULL(d.fZls, 0)
  10353. END = 0
  10354. THEN c.nzdls
  10355. ELSE (
  10356. CASE
  10357. WHEN c.nzdls <
  10358. CASE
  10359. WHEN IFNULL(d.fZls, 0) < rr.zl
  10360. THEN rr.zl
  10361. ELSE IFNULL(d.fZls, 0)
  10362. END
  10363. THEN
  10364. CASE
  10365. WHEN IFNULL(d.fZls, 0) < rr.zl
  10366. THEN rr.zl
  10367. ELSE IFNULL(d.fZls, 0)
  10368. END
  10369. ELSE c.nzdls
  10370. END
  10371. )
  10372. END
  10373. ELSE 0
  10374. END
  10375. ELSE
  10376. CASE
  10377. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10378. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10379. CASE
  10380. WHEN a.cCyddxMc = '装配'
  10381. OR a.cCyddxMc LIKE '%正文%'
  10382. OR a.cCyddxMc LIKE '%答案%'
  10383. OR a.cCyddxMc LIKE '%卷%'
  10384. THEN
  10385. CASE
  10386. WHEN CASE
  10387. WHEN IFNULL(d.fZls, 0) < rr.zl
  10388. THEN rr.zl
  10389. ELSE IFNULL(d.fZls, 0)
  10390. END = 0
  10391. THEN c.nzdls
  10392. ELSE (
  10393. CASE
  10394. WHEN c.nzdls <
  10395. CASE
  10396. WHEN IFNULL(d.fZls, 0) < rr.zl
  10397. THEN rr.zl
  10398. ELSE IFNULL(d.fZls, 0)
  10399. END
  10400. THEN
  10401. CASE
  10402. WHEN IFNULL(d.fZls, 0) < rr.zl
  10403. THEN rr.zl
  10404. ELSE IFNULL(d.fZls, 0)
  10405. END
  10406. ELSE c.nzdls
  10407. END
  10408. )
  10409. END
  10410. ELSE 0
  10411. END
  10412. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10413. END
  10414. END )
  10415. , 3) 马66甲纸令
  10416. ")
  10417. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10418. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10419. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10420. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10421. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10422. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10423. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  10424. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10425. ->group("CASE
  10426. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10427. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10428. END,Name_WorkGroup")
  10429. ->buildSql();
  10430. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  10431. ->field("
  10432. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10433. ROUND(SUM(
  10434. CASE
  10435. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10436. THEN
  10437. CASE
  10438. WHEN a.cCyddxMc = '装配'
  10439. OR a.cCyddxMc LIKE '%正文%'
  10440. OR a.cCyddxMc LIKE '%答案%'
  10441. OR a.cCyddxMc LIKE '%卷%'
  10442. THEN
  10443. CASE
  10444. WHEN CASE
  10445. WHEN IFNULL(d.fZls, 0) < rr.zl
  10446. THEN rr.zl
  10447. ELSE IFNULL(d.fZls, 0)
  10448. END = 0
  10449. THEN c.nzdls
  10450. ELSE (
  10451. CASE
  10452. WHEN c.nzdls <
  10453. CASE
  10454. WHEN IFNULL(d.fZls, 0) < rr.zl
  10455. THEN rr.zl
  10456. ELSE IFNULL(d.fZls, 0)
  10457. END
  10458. THEN
  10459. CASE
  10460. WHEN IFNULL(d.fZls, 0) < rr.zl
  10461. THEN rr.zl
  10462. ELSE IFNULL(d.fZls, 0)
  10463. END
  10464. ELSE c.nzdls
  10465. END
  10466. )
  10467. END
  10468. ELSE 0
  10469. END
  10470. ELSE
  10471. CASE
  10472. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10473. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10474. CASE
  10475. WHEN a.cCyddxMc = '装配'
  10476. OR a.cCyddxMc LIKE '%正文%'
  10477. OR a.cCyddxMc LIKE '%答案%'
  10478. OR a.cCyddxMc LIKE '%卷%'
  10479. THEN
  10480. CASE
  10481. WHEN CASE
  10482. WHEN IFNULL(d.fZls, 0) < rr.zl
  10483. THEN rr.zl
  10484. ELSE IFNULL(d.fZls, 0)
  10485. END = 0
  10486. THEN c.nzdls
  10487. ELSE (
  10488. CASE
  10489. WHEN c.nzdls <
  10490. CASE
  10491. WHEN IFNULL(d.fZls, 0) < rr.zl
  10492. THEN rr.zl
  10493. ELSE IFNULL(d.fZls, 0)
  10494. END
  10495. THEN
  10496. CASE
  10497. WHEN IFNULL(d.fZls, 0) < rr.zl
  10498. THEN rr.zl
  10499. ELSE IFNULL(d.fZls, 0)
  10500. END
  10501. ELSE c.nzdls
  10502. END
  10503. )
  10504. END
  10505. ELSE 0
  10506. END
  10507. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10508. END
  10509. END )
  10510. , 3) 马77甲纸令
  10511. ")
  10512. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10513. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10514. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10515. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10516. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10517. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10518. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  10519. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10520. ->group("CASE
  10521. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10522. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10523. END,Name_WorkGroup")
  10524. ->buildSql();
  10525. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  10526. ->field("
  10527. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10528. ROUND(SUM(
  10529. CASE
  10530. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10531. THEN
  10532. CASE
  10533. WHEN a.cCyddxMc = '装配'
  10534. OR a.cCyddxMc LIKE '%正文%'
  10535. OR a.cCyddxMc LIKE '%答案%'
  10536. OR a.cCyddxMc LIKE '%卷%'
  10537. THEN
  10538. CASE
  10539. WHEN CASE
  10540. WHEN IFNULL(d.fZls, 0) < rr.zl
  10541. THEN rr.zl
  10542. ELSE IFNULL(d.fZls, 0)
  10543. END = 0
  10544. THEN c.nzdls
  10545. ELSE (
  10546. CASE
  10547. WHEN c.nzdls <
  10548. CASE
  10549. WHEN IFNULL(d.fZls, 0) < rr.zl
  10550. THEN rr.zl
  10551. ELSE IFNULL(d.fZls, 0)
  10552. END
  10553. THEN
  10554. CASE
  10555. WHEN IFNULL(d.fZls, 0) < rr.zl
  10556. THEN rr.zl
  10557. ELSE IFNULL(d.fZls, 0)
  10558. END
  10559. ELSE c.nzdls
  10560. END
  10561. )
  10562. END
  10563. ELSE 0
  10564. END
  10565. ELSE
  10566. CASE
  10567. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10568. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10569. CASE
  10570. WHEN a.cCyddxMc = '装配'
  10571. OR a.cCyddxMc LIKE '%正文%'
  10572. OR a.cCyddxMc LIKE '%答案%'
  10573. OR a.cCyddxMc LIKE '%卷%'
  10574. THEN
  10575. CASE
  10576. WHEN CASE
  10577. WHEN IFNULL(d.fZls, 0) < rr.zl
  10578. THEN rr.zl
  10579. ELSE IFNULL(d.fZls, 0)
  10580. END = 0
  10581. THEN c.nzdls
  10582. ELSE (
  10583. CASE
  10584. WHEN c.nzdls <
  10585. CASE
  10586. WHEN IFNULL(d.fZls, 0) < rr.zl
  10587. THEN rr.zl
  10588. ELSE IFNULL(d.fZls, 0)
  10589. END
  10590. THEN
  10591. CASE
  10592. WHEN IFNULL(d.fZls, 0) < rr.zl
  10593. THEN rr.zl
  10594. ELSE IFNULL(d.fZls, 0)
  10595. END
  10596. ELSE c.nzdls
  10597. END
  10598. )
  10599. END
  10600. ELSE 0
  10601. END
  10602. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10603. END
  10604. END )
  10605. , 3) 马55乙纸令
  10606. ")
  10607. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10608. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10609. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10610. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10611. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10612. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10613. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  10614. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10615. ->group("CASE
  10616. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10617. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10618. END,Name_WorkGroup")
  10619. ->buildSql();
  10620. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  10621. ->field("
  10622. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10623. ROUND(SUM(
  10624. CASE
  10625. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10626. THEN
  10627. CASE
  10628. WHEN a.cCyddxMc = '装配'
  10629. OR a.cCyddxMc LIKE '%正文%'
  10630. OR a.cCyddxMc LIKE '%答案%'
  10631. OR a.cCyddxMc LIKE '%卷%'
  10632. THEN
  10633. CASE
  10634. WHEN CASE
  10635. WHEN IFNULL(d.fZls, 0) < rr.zl
  10636. THEN rr.zl
  10637. ELSE IFNULL(d.fZls, 0)
  10638. END = 0
  10639. THEN c.nzdls
  10640. ELSE (
  10641. CASE
  10642. WHEN c.nzdls <
  10643. CASE
  10644. WHEN IFNULL(d.fZls, 0) < rr.zl
  10645. THEN rr.zl
  10646. ELSE IFNULL(d.fZls, 0)
  10647. END
  10648. THEN
  10649. CASE
  10650. WHEN IFNULL(d.fZls, 0) < rr.zl
  10651. THEN rr.zl
  10652. ELSE IFNULL(d.fZls, 0)
  10653. END
  10654. ELSE c.nzdls
  10655. END
  10656. )
  10657. END
  10658. ELSE 0
  10659. END
  10660. ELSE
  10661. CASE
  10662. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10663. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10664. CASE
  10665. WHEN a.cCyddxMc = '装配'
  10666. OR a.cCyddxMc LIKE '%正文%'
  10667. OR a.cCyddxMc LIKE '%答案%'
  10668. OR a.cCyddxMc LIKE '%卷%'
  10669. THEN
  10670. CASE
  10671. WHEN CASE
  10672. WHEN IFNULL(d.fZls, 0) < rr.zl
  10673. THEN rr.zl
  10674. ELSE IFNULL(d.fZls, 0)
  10675. END = 0
  10676. THEN c.nzdls
  10677. ELSE (
  10678. CASE
  10679. WHEN c.nzdls <
  10680. CASE
  10681. WHEN IFNULL(d.fZls, 0) < rr.zl
  10682. THEN rr.zl
  10683. ELSE IFNULL(d.fZls, 0)
  10684. END
  10685. THEN
  10686. CASE
  10687. WHEN IFNULL(d.fZls, 0) < rr.zl
  10688. THEN rr.zl
  10689. ELSE IFNULL(d.fZls, 0)
  10690. END
  10691. ELSE c.nzdls
  10692. END
  10693. )
  10694. END
  10695. ELSE 0
  10696. END
  10697. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10698. END
  10699. END )
  10700. , 3) 马66乙纸令
  10701. ")
  10702. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10703. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10704. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10705. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10706. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10707. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10708. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  10709. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10710. ->group("CASE
  10711. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10712. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10713. END,Name_WorkGroup")
  10714. ->buildSql();
  10715. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  10716. ->field("
  10717. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10718. ROUND(SUM(
  10719. CASE
  10720. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10721. THEN
  10722. CASE
  10723. WHEN a.cCyddxMc = '装配'
  10724. OR a.cCyddxMc LIKE '%正文%'
  10725. OR a.cCyddxMc LIKE '%答案%'
  10726. OR a.cCyddxMc LIKE '%卷%'
  10727. THEN
  10728. CASE
  10729. WHEN CASE
  10730. WHEN IFNULL(d.fZls, 0) < rr.zl
  10731. THEN rr.zl
  10732. ELSE IFNULL(d.fZls, 0)
  10733. END = 0
  10734. THEN c.nzdls
  10735. ELSE (
  10736. CASE
  10737. WHEN c.nzdls <
  10738. CASE
  10739. WHEN IFNULL(d.fZls, 0) < rr.zl
  10740. THEN rr.zl
  10741. ELSE IFNULL(d.fZls, 0)
  10742. END
  10743. THEN
  10744. CASE
  10745. WHEN IFNULL(d.fZls, 0) < rr.zl
  10746. THEN rr.zl
  10747. ELSE IFNULL(d.fZls, 0)
  10748. END
  10749. ELSE c.nzdls
  10750. END
  10751. )
  10752. END
  10753. ELSE 0
  10754. END
  10755. ELSE
  10756. CASE
  10757. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10758. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10759. CASE
  10760. WHEN a.cCyddxMc = '装配'
  10761. OR a.cCyddxMc LIKE '%正文%'
  10762. OR a.cCyddxMc LIKE '%答案%'
  10763. OR a.cCyddxMc LIKE '%卷%'
  10764. THEN
  10765. CASE
  10766. WHEN CASE
  10767. WHEN IFNULL(d.fZls, 0) < rr.zl
  10768. THEN rr.zl
  10769. ELSE IFNULL(d.fZls, 0)
  10770. END = 0
  10771. THEN c.nzdls
  10772. ELSE (
  10773. CASE
  10774. WHEN c.nzdls <
  10775. CASE
  10776. WHEN IFNULL(d.fZls, 0) < rr.zl
  10777. THEN rr.zl
  10778. ELSE IFNULL(d.fZls, 0)
  10779. END
  10780. THEN
  10781. CASE
  10782. WHEN IFNULL(d.fZls, 0) < rr.zl
  10783. THEN rr.zl
  10784. ELSE IFNULL(d.fZls, 0)
  10785. END
  10786. ELSE c.nzdls
  10787. END
  10788. )
  10789. END
  10790. ELSE 0
  10791. END
  10792. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10793. END
  10794. END )
  10795. , 3) 马77乙纸令
  10796. ")
  10797. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10798. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10799. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10800. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10801. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10802. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10803. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  10804. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10805. ->group("CASE
  10806. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10807. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10808. END,Name_WorkGroup")
  10809. ->buildSql();
  10810. //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  10811. $db = Db::table($A . 'a')
  10812. ->field("
  10813. DISTINCT DATE(A.RQ) rq,
  10814. floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  10815. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  10816. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  10817. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  10818. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  10819. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  10820. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  10821. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  10822. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  10823. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  10824. + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0)
  10825. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0)) 纸令数总计
  10826. ")
  10827. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  10828. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  10829. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  10830. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  10831. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  10832. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  10833. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  10834. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  10835. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  10836. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  10837. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  10838. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  10839. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  10840. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  10841. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  10842. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  10843. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  10844. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  10845. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  10846. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  10847. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  10848. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  10849. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  10850. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  10851. ->group('rq')
  10852. ->buildSql();
  10853. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令'
  10854. $sql_final = Db::table($db . ' db')
  10855. ->field("
  10856. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  10857. ROUND(SUM(db.纸令数总计), 0) AS jdzl
  10858. ")
  10859. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  10860. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  10861. ->select();
  10862. // 初始化数据
  10863. $i = 0;
  10864. $j = 0;
  10865. $k = 0;
  10866. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  10867. $currentYear = date("Y"); // 当前年份
  10868. $previousYear = (int)$currentYear - 1; // 去年
  10869. $previousTwoYear = (int)$currentYear - 2; // 前年
  10870. // 为三年的数据创建数组,初始值为0
  10871. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  10872. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  10873. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  10874. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  10875. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  10876. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  10877. // 遍历查询结果并填充数据
  10878. foreach ($sql_final as $v) {
  10879. // 获取年份和月份
  10880. $year = substr($v['rq'], 0, 4);
  10881. $month = substr($v['rq'], 5, 2);
  10882. // 如果是前年数据
  10883. if ($year == $previousTwoYear) {
  10884. $list['series'][0]['data'][(int)$month - 1] = $v['jdzl'];
  10885. }
  10886. // 如果是去年数据
  10887. if ($year == $previousYear) {
  10888. $list['series'][1]['data'][(int)$month - 1] = $v['jdzl'];
  10889. }
  10890. // 如果是今年数据
  10891. if ($year == $currentYear) {
  10892. $list['series'][2]['data'][(int)$month - 1] = $v['jdzl'];
  10893. }
  10894. }
  10895. $res['status'] = 0;
  10896. $res['msg'] = '';
  10897. $res['data'] = $list;
  10898. $redis->set($redis_key, json_encode($res));
  10899. return json_encode($res);
  10900. }
  10901. //胶订纸令->接口调用
  10902. public function jdzl(){
  10903. $redis=redis();
  10904. $redis_key = md5('jdzl_redis');
  10905. $redis_data = $redis->get($redis_key);
  10906. return $redis_data;
  10907. }
  10908. //精装纸令->缓存调用
  10909. public function jzzl_redis(){
  10910. $redis=redis();
  10911. $redis_key = md5('jzzl_redis');
  10912. //首先定义了起始时间和结束时间
  10913. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  10914. ->union(function ($query) {
  10915. $query->table('scDayRpt_Teams')->alias('b')
  10916. ->field("DISTINCT DATE_FORMAT(
  10917. CASE
  10918. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  10919. ELSE b.dOnDuty
  10920. END,
  10921. '%Y-%m-%d'
  10922. ) AS RQ");
  10923. }, true)
  10924. ->buildSql();
  10925. //精1甲、精1甲纸令数
  10926. $B = Db::table('cpjtfk')
  10927. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10928. ->field("
  10929. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10930. sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数
  10931. ")
  10932. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  10933. ->group('drptdate,cbanzu')
  10934. ->buildSql();
  10935. //精1乙 精1乙纸令数
  10936. $B1 = Db::table('cpjtfk')
  10937. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10938. ->field("
  10939. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10940. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  10941. ")
  10942. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  10943. ->group('drptdate,cbanzu')
  10944. ->buildSql();
  10945. $rr = Db::table('scyddx')->alias('r')
  10946. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  10947. ->group('r.ICYDID')
  10948. ->buildSql();
  10949. //精11甲--精11甲纸令
  10950. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  10951. ->field("
  10952. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  10953. ROUND(SUM(
  10954. CASE
  10955. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10956. THEN
  10957. CASE
  10958. WHEN a.cCyddxMc = '装配'
  10959. OR a.cCyddxMc LIKE '%正文%'
  10960. OR a.cCyddxMc LIKE '%答案%'
  10961. OR a.cCyddxMc LIKE '%卷%'
  10962. THEN
  10963. CASE
  10964. WHEN CASE
  10965. WHEN IFNULL(d.fZls, 0) < rr.zl
  10966. THEN rr.zl
  10967. ELSE IFNULL(d.fZls, 0)
  10968. END = 0
  10969. THEN c.nzdls
  10970. ELSE (
  10971. CASE
  10972. WHEN c.nzdls <
  10973. CASE
  10974. WHEN IFNULL(d.fZls, 0) < rr.zl
  10975. THEN rr.zl
  10976. ELSE IFNULL(d.fZls, 0)
  10977. END
  10978. THEN
  10979. CASE
  10980. WHEN IFNULL(d.fZls, 0) < rr.zl
  10981. THEN rr.zl
  10982. ELSE IFNULL(d.fZls, 0)
  10983. END
  10984. ELSE c.nzdls
  10985. END
  10986. )
  10987. END
  10988. ELSE 0
  10989. END
  10990. ELSE
  10991. CASE
  10992. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10993. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10994. CASE
  10995. WHEN a.cCyddxMc = '装配'
  10996. OR a.cCyddxMc LIKE '%正文%'
  10997. OR a.cCyddxMc LIKE '%答案%'
  10998. OR a.cCyddxMc LIKE '%卷%'
  10999. THEN
  11000. CASE
  11001. WHEN CASE
  11002. WHEN IFNULL(d.fZls, 0) < rr.zl
  11003. THEN rr.zl
  11004. ELSE IFNULL(d.fZls, 0)
  11005. END = 0
  11006. THEN c.nzdls
  11007. ELSE (
  11008. CASE
  11009. WHEN c.nzdls <
  11010. CASE
  11011. WHEN IFNULL(d.fZls, 0) < rr.zl
  11012. THEN rr.zl
  11013. ELSE IFNULL(d.fZls, 0)
  11014. END
  11015. THEN
  11016. CASE
  11017. WHEN IFNULL(d.fZls, 0) < rr.zl
  11018. THEN rr.zl
  11019. ELSE IFNULL(d.fZls, 0)
  11020. END
  11021. ELSE c.nzdls
  11022. END
  11023. )
  11024. END
  11025. ELSE 0
  11026. END
  11027. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11028. END
  11029. END )
  11030. , 3) 精11甲纸令,
  11031. d.cSccpbh
  11032. ")
  11033. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11034. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11035. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11036. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11037. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11038. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11039. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  11040. ->where('a.cTechName' ,'=','精装联动')
  11041. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11042. ->group("CASE
  11043. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11044. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11045. END,Name_WorkGroup")
  11046. ->buildSql();
  11047. //精11乙--精11乙纸令
  11048. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11049. ->field("
  11050. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11051. ROUND(SUM(
  11052. CASE
  11053. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11054. THEN
  11055. CASE
  11056. WHEN a.cCyddxMc = '装配'
  11057. OR a.cCyddxMc LIKE '%正文%'
  11058. OR a.cCyddxMc LIKE '%答案%'
  11059. OR a.cCyddxMc LIKE '%卷%'
  11060. THEN
  11061. CASE
  11062. WHEN CASE
  11063. WHEN IFNULL(d.fZls, 0) < rr.zl
  11064. THEN rr.zl
  11065. ELSE IFNULL(d.fZls, 0)
  11066. END = 0
  11067. THEN c.nzdls
  11068. ELSE (
  11069. CASE
  11070. WHEN c.nzdls <
  11071. CASE
  11072. WHEN IFNULL(d.fZls, 0) < rr.zl
  11073. THEN rr.zl
  11074. ELSE IFNULL(d.fZls, 0)
  11075. END
  11076. THEN
  11077. CASE
  11078. WHEN IFNULL(d.fZls, 0) < rr.zl
  11079. THEN rr.zl
  11080. ELSE IFNULL(d.fZls, 0)
  11081. END
  11082. ELSE c.nzdls
  11083. END
  11084. )
  11085. END
  11086. ELSE 0
  11087. END
  11088. ELSE
  11089. CASE
  11090. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11091. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11092. CASE
  11093. WHEN a.cCyddxMc = '装配'
  11094. OR a.cCyddxMc LIKE '%正文%'
  11095. OR a.cCyddxMc LIKE '%答案%'
  11096. OR a.cCyddxMc LIKE '%卷%'
  11097. THEN
  11098. CASE
  11099. WHEN CASE
  11100. WHEN IFNULL(d.fZls, 0) < rr.zl
  11101. THEN rr.zl
  11102. ELSE IFNULL(d.fZls, 0)
  11103. END = 0
  11104. THEN c.nzdls
  11105. ELSE (
  11106. CASE
  11107. WHEN c.nzdls <
  11108. CASE
  11109. WHEN IFNULL(d.fZls, 0) < rr.zl
  11110. THEN rr.zl
  11111. ELSE IFNULL(d.fZls, 0)
  11112. END
  11113. THEN
  11114. CASE
  11115. WHEN IFNULL(d.fZls, 0) < rr.zl
  11116. THEN rr.zl
  11117. ELSE IFNULL(d.fZls, 0)
  11118. END
  11119. ELSE c.nzdls
  11120. END
  11121. )
  11122. END
  11123. ELSE 0
  11124. END
  11125. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11126. END
  11127. END )
  11128. , 3) 精11乙纸令,
  11129. d.cSccpbh
  11130. ")
  11131. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11132. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11133. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11134. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11135. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11136. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11137. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  11138. ->where('a.cTechName' ,'=','精装联动')
  11139. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11140. ->group("CASE
  11141. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11142. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11143. END,Name_WorkGroup")
  11144. ->buildSql();
  11145. $db = Db::table($A . 'a')
  11146. ->field("
  11147. DISTINCT DATE(A.RQ) rq,
  11148. floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0)
  11149. + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计
  11150. ")
  11151. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11152. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11153. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11154. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11155. ->group('rq')
  11156. ->buildSql();
  11157. $sql_final = Db::table($db . ' db')
  11158. ->field("
  11159. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11160. ROUND(sum(db.纸令数总计), 0) as jzzl
  11161. ")
  11162. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11163. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11164. ->select();
  11165. $redis->set($redis_key, json_encode($sql_final));
  11166. echo date("Y-m-d H:i:s").' 存进去了';
  11167. return $sql_final;
  11168. }
  11169. //精装纸令->接口调用
  11170. public function jzzl(){
  11171. $redis=redis();
  11172. $sql_final = json_decode($redis->get(md5('jzzl_redis')), true);
  11173. $i = 0;
  11174. $j = 0;
  11175. $k = 0;
  11176. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11177. // 获取当前年份、去年和前年
  11178. $currentYear = date("Y"); // 当前年份
  11179. $previousYear = (int)$currentYear - 1; // 去年
  11180. $previousTwoYear = (int)$currentYear - 2; // 前年
  11181. // 初始化三年的数据
  11182. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11183. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11184. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11185. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11186. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11187. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11188. // 遍历查询结果并填充数据
  11189. foreach ($sql_final as $v) {
  11190. // 获取年份和月份
  11191. $year = substr($v['rq'], 0, 4);
  11192. $month = substr($v['rq'], 5, 2);
  11193. // 如果是前年数据
  11194. if ($year == $previousTwoYear) {
  11195. $list['series'][0]['data'][(int)$month - 1] = $v['jzzl'];
  11196. }
  11197. // 如果是去年数据
  11198. if ($year == $previousYear) {
  11199. $list['series'][1]['data'][(int)$month - 1] = $v['jzzl'];
  11200. }
  11201. // 如果是今年数据
  11202. if ($year == $currentYear) {
  11203. $list['series'][2]['data'][(int)$month - 1] = $v['jzzl'];
  11204. }
  11205. }
  11206. $res['status'] = 0;
  11207. $res['msg'] = '';
  11208. $res['data'] = $list;
  11209. return json_encode($res);
  11210. }
  11211. //骑马纸令->缓存调用
  11212. public function qmzl_redis(){
  11213. $redis=redis();
  11214. $redis_key = md5('qmzl_redis');
  11215. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  11216. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  11217. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  11218. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  11219. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  11220. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  11221. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11222. ->union(function ($query) {
  11223. $query->table('scDayRpt_Teams')->alias('b')
  11224. ->field("DISTINCT DATE_FORMAT(
  11225. CASE
  11226. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11227. ELSE b.dOnDuty
  11228. END,
  11229. '%Y-%m-%d'
  11230. ) AS RQ");
  11231. }, true)
  11232. ->buildSql();
  11233. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  11234. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  11235. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  11236. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  11237. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  11238. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  11239. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  11240. $B = Db::table('cpjtfk')
  11241. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11242. ->field("
  11243. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11244. sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数
  11245. ")
  11246. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  11247. ->group('drptdate,cbanzu')
  11248. ->buildSql();
  11249. $B1 = Db::table('cpjtfk')
  11250. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11251. ->field("
  11252. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11253. sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数
  11254. ")
  11255. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  11256. ->group('drptdate,cbanzu')
  11257. ->buildSql();
  11258. $C = Db::table('cpjtfk')
  11259. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11260. ->field("
  11261. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11262. sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数
  11263. ")
  11264. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  11265. ->group('drptdate,cbanzu')
  11266. ->buildSql();
  11267. $C1 = Db::table('cpjtfk')
  11268. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11269. ->field("
  11270. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11271. sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数
  11272. ")
  11273. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  11274. ->group('drptdate,cbanzu')
  11275. ->buildSql();
  11276. $D = Db::table('cpjtfk')
  11277. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11278. ->field("
  11279. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11280. sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数
  11281. ")
  11282. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  11283. ->group('drptdate,cbanzu')
  11284. ->buildSql();
  11285. $D1 = Db::table('cpjtfk')
  11286. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11287. ->field("
  11288. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11289. sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数
  11290. ")
  11291. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  11292. ->group('drptdate,cbanzu')
  11293. ->buildSql();
  11294. $E = Db::table('cpjtfk')
  11295. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11296. ->field("
  11297. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11298. sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数
  11299. ")
  11300. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  11301. ->group('drptdate,cbanzu')
  11302. ->buildSql();
  11303. $E1 = Db::table('cpjtfk')
  11304. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11305. ->field("
  11306. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11307. sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数
  11308. ")
  11309. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  11310. ->group('drptdate,cbanzu')
  11311. ->buildSql();
  11312. $rr = Db::table('scyddx')->alias('r')
  11313. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11314. ->group('r.ICYDID')
  11315. ->buildSql();
  11316. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  11317. //2.使用别名$Bb表示主查询结果。
  11318. //3.查询的主要数据来源是表ql_report_feedback_day。
  11319. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  11320. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  11321. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  11322. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  11323. //8.通过buildSql方法生成最终的SQL查询语句
  11324. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11325. ->field("
  11326. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11327. ROUND(SUM(
  11328. CASE
  11329. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11330. THEN
  11331. CASE
  11332. WHEN a.cCyddxMc = '装配'
  11333. OR a.cCyddxMc LIKE '%正文%'
  11334. OR a.cCyddxMc LIKE '%答案%'
  11335. OR a.cCyddxMc LIKE '%卷%'
  11336. THEN
  11337. CASE
  11338. WHEN CASE
  11339. WHEN IFNULL(d.fZls, 0) < rr.zl
  11340. THEN rr.zl
  11341. ELSE IFNULL(d.fZls, 0)
  11342. END = 0
  11343. THEN c.nzdls
  11344. ELSE (
  11345. CASE
  11346. WHEN c.nzdls <
  11347. CASE
  11348. WHEN IFNULL(d.fZls, 0) < rr.zl
  11349. THEN rr.zl
  11350. ELSE IFNULL(d.fZls, 0)
  11351. END
  11352. THEN
  11353. CASE
  11354. WHEN IFNULL(d.fZls, 0) < rr.zl
  11355. THEN rr.zl
  11356. ELSE IFNULL(d.fZls, 0)
  11357. END
  11358. ELSE c.nzdls
  11359. END
  11360. )
  11361. END
  11362. ELSE 0
  11363. END
  11364. ELSE
  11365. CASE
  11366. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11367. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11368. CASE
  11369. WHEN a.cCyddxMc = '装配'
  11370. OR a.cCyddxMc LIKE '%正文%'
  11371. OR a.cCyddxMc LIKE '%答案%'
  11372. OR a.cCyddxMc LIKE '%卷%'
  11373. THEN
  11374. CASE
  11375. WHEN CASE
  11376. WHEN IFNULL(d.fZls, 0) < rr.zl
  11377. THEN rr.zl
  11378. ELSE IFNULL(d.fZls, 0)
  11379. END = 0
  11380. THEN c.nzdls
  11381. ELSE (
  11382. CASE
  11383. WHEN c.nzdls <
  11384. CASE
  11385. WHEN IFNULL(d.fZls, 0) < rr.zl
  11386. THEN rr.zl
  11387. ELSE IFNULL(d.fZls, 0)
  11388. END
  11389. THEN
  11390. CASE
  11391. WHEN IFNULL(d.fZls, 0) < rr.zl
  11392. THEN rr.zl
  11393. ELSE IFNULL(d.fZls, 0)
  11394. END
  11395. ELSE c.nzdls
  11396. END
  11397. )
  11398. END
  11399. ELSE 0
  11400. END
  11401. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11402. END
  11403. END )
  11404. , 3) 骑11甲纸令
  11405. ")
  11406. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11407. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11408. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11409. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11410. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11411. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11412. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  11413. ->where('a.cTechName' ,'=','骑马联动')
  11414. ->group("CASE
  11415. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11416. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11417. END,Name_WorkGroup")
  11418. ->buildSql();
  11419. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11420. ->field("
  11421. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11422. ROUND(SUM(
  11423. CASE
  11424. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11425. THEN
  11426. CASE
  11427. WHEN a.cCyddxMc = '装配'
  11428. OR a.cCyddxMc LIKE '%正文%'
  11429. OR a.cCyddxMc LIKE '%答案%'
  11430. OR a.cCyddxMc LIKE '%卷%'
  11431. THEN
  11432. CASE
  11433. WHEN CASE
  11434. WHEN IFNULL(d.fZls, 0) < rr.zl
  11435. THEN rr.zl
  11436. ELSE IFNULL(d.fZls, 0)
  11437. END = 0
  11438. THEN c.nzdls
  11439. ELSE (
  11440. CASE
  11441. WHEN c.nzdls <
  11442. CASE
  11443. WHEN IFNULL(d.fZls, 0) < rr.zl
  11444. THEN rr.zl
  11445. ELSE IFNULL(d.fZls, 0)
  11446. END
  11447. THEN
  11448. CASE
  11449. WHEN IFNULL(d.fZls, 0) < rr.zl
  11450. THEN rr.zl
  11451. ELSE IFNULL(d.fZls, 0)
  11452. END
  11453. ELSE c.nzdls
  11454. END
  11455. )
  11456. END
  11457. ELSE 0
  11458. END
  11459. ELSE
  11460. CASE
  11461. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11462. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11463. CASE
  11464. WHEN a.cCyddxMc = '装配'
  11465. OR a.cCyddxMc LIKE '%正文%'
  11466. OR a.cCyddxMc LIKE '%答案%'
  11467. OR a.cCyddxMc LIKE '%卷%'
  11468. THEN
  11469. CASE
  11470. WHEN CASE
  11471. WHEN IFNULL(d.fZls, 0) < rr.zl
  11472. THEN rr.zl
  11473. ELSE IFNULL(d.fZls, 0)
  11474. END = 0
  11475. THEN c.nzdls
  11476. ELSE (
  11477. CASE
  11478. WHEN c.nzdls <
  11479. CASE
  11480. WHEN IFNULL(d.fZls, 0) < rr.zl
  11481. THEN rr.zl
  11482. ELSE IFNULL(d.fZls, 0)
  11483. END
  11484. THEN
  11485. CASE
  11486. WHEN IFNULL(d.fZls, 0) < rr.zl
  11487. THEN rr.zl
  11488. ELSE IFNULL(d.fZls, 0)
  11489. END
  11490. ELSE c.nzdls
  11491. END
  11492. )
  11493. END
  11494. ELSE 0
  11495. END
  11496. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11497. END
  11498. END )
  11499. , 3) 骑11乙纸令
  11500. ")
  11501. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11502. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11503. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11504. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11505. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11506. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11507. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  11508. ->where('a.cTechName' ,'=','骑马联动')
  11509. ->group("CASE
  11510. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11511. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11512. END,Name_WorkGroup")
  11513. ->buildSql();
  11514. $CC = Db::table('ql_report_feedback_day')->alias('a')
  11515. ->field("
  11516. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11517. ROUND(SUM(
  11518. CASE
  11519. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11520. THEN
  11521. CASE
  11522. WHEN a.cCyddxMc = '装配'
  11523. OR a.cCyddxMc LIKE '%正文%'
  11524. OR a.cCyddxMc LIKE '%答案%'
  11525. OR a.cCyddxMc LIKE '%卷%'
  11526. THEN
  11527. CASE
  11528. WHEN CASE
  11529. WHEN IFNULL(d.fZls, 0) < rr.zl
  11530. THEN rr.zl
  11531. ELSE IFNULL(d.fZls, 0)
  11532. END = 0
  11533. THEN c.nzdls
  11534. ELSE (
  11535. CASE
  11536. WHEN c.nzdls <
  11537. CASE
  11538. WHEN IFNULL(d.fZls, 0) < rr.zl
  11539. THEN rr.zl
  11540. ELSE IFNULL(d.fZls, 0)
  11541. END
  11542. THEN
  11543. CASE
  11544. WHEN IFNULL(d.fZls, 0) < rr.zl
  11545. THEN rr.zl
  11546. ELSE IFNULL(d.fZls, 0)
  11547. END
  11548. ELSE c.nzdls
  11549. END
  11550. )
  11551. END
  11552. ELSE 0
  11553. END
  11554. ELSE
  11555. CASE
  11556. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11557. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11558. CASE
  11559. WHEN a.cCyddxMc = '装配'
  11560. OR a.cCyddxMc LIKE '%正文%'
  11561. OR a.cCyddxMc LIKE '%答案%'
  11562. OR a.cCyddxMc LIKE '%卷%'
  11563. THEN
  11564. CASE
  11565. WHEN CASE
  11566. WHEN IFNULL(d.fZls, 0) < rr.zl
  11567. THEN rr.zl
  11568. ELSE IFNULL(d.fZls, 0)
  11569. END = 0
  11570. THEN c.nzdls
  11571. ELSE (
  11572. CASE
  11573. WHEN c.nzdls <
  11574. CASE
  11575. WHEN IFNULL(d.fZls, 0) < rr.zl
  11576. THEN rr.zl
  11577. ELSE IFNULL(d.fZls, 0)
  11578. END
  11579. THEN
  11580. CASE
  11581. WHEN IFNULL(d.fZls, 0) < rr.zl
  11582. THEN rr.zl
  11583. ELSE IFNULL(d.fZls, 0)
  11584. END
  11585. ELSE c.nzdls
  11586. END
  11587. )
  11588. END
  11589. ELSE 0
  11590. END
  11591. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11592. END
  11593. END )
  11594. , 3) 骑22甲纸令
  11595. ")
  11596. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11597. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11598. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11599. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11600. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11601. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11602. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  11603. ->where('a.cTechName' ,'=','骑马联动')
  11604. ->group("CASE
  11605. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11606. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11607. END,Name_WorkGroup")
  11608. ->buildSql();
  11609. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  11610. ->field("
  11611. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11612. ROUND(SUM(
  11613. CASE
  11614. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11615. THEN
  11616. CASE
  11617. WHEN a.cCyddxMc = '装配'
  11618. OR a.cCyddxMc LIKE '%正文%'
  11619. OR a.cCyddxMc LIKE '%答案%'
  11620. OR a.cCyddxMc LIKE '%卷%'
  11621. THEN
  11622. CASE
  11623. WHEN CASE
  11624. WHEN IFNULL(d.fZls, 0) < rr.zl
  11625. THEN rr.zl
  11626. ELSE IFNULL(d.fZls, 0)
  11627. END = 0
  11628. THEN c.nzdls
  11629. ELSE (
  11630. CASE
  11631. WHEN c.nzdls <
  11632. CASE
  11633. WHEN IFNULL(d.fZls, 0) < rr.zl
  11634. THEN rr.zl
  11635. ELSE IFNULL(d.fZls, 0)
  11636. END
  11637. THEN
  11638. CASE
  11639. WHEN IFNULL(d.fZls, 0) < rr.zl
  11640. THEN rr.zl
  11641. ELSE IFNULL(d.fZls, 0)
  11642. END
  11643. ELSE c.nzdls
  11644. END
  11645. )
  11646. END
  11647. ELSE 0
  11648. END
  11649. ELSE
  11650. CASE
  11651. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11652. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11653. CASE
  11654. WHEN a.cCyddxMc = '装配'
  11655. OR a.cCyddxMc LIKE '%正文%'
  11656. OR a.cCyddxMc LIKE '%答案%'
  11657. OR a.cCyddxMc LIKE '%卷%'
  11658. THEN
  11659. CASE
  11660. WHEN CASE
  11661. WHEN IFNULL(d.fZls, 0) < rr.zl
  11662. THEN rr.zl
  11663. ELSE IFNULL(d.fZls, 0)
  11664. END = 0
  11665. THEN c.nzdls
  11666. ELSE (
  11667. CASE
  11668. WHEN c.nzdls <
  11669. CASE
  11670. WHEN IFNULL(d.fZls, 0) < rr.zl
  11671. THEN rr.zl
  11672. ELSE IFNULL(d.fZls, 0)
  11673. END
  11674. THEN
  11675. CASE
  11676. WHEN IFNULL(d.fZls, 0) < rr.zl
  11677. THEN rr.zl
  11678. ELSE IFNULL(d.fZls, 0)
  11679. END
  11680. ELSE c.nzdls
  11681. END
  11682. )
  11683. END
  11684. ELSE 0
  11685. END
  11686. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11687. END
  11688. END )
  11689. , 3) 骑22乙纸令
  11690. ")
  11691. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11692. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11693. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11694. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11695. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11696. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11697. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  11698. ->where('a.cTechName' ,'=','骑马联动')
  11699. ->group("CASE
  11700. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11701. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11702. END,Name_WorkGroup")
  11703. ->buildSql();
  11704. $EE = Db::table('ql_report_feedback_day')->alias('a')
  11705. ->field("
  11706. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11707. ROUND(SUM(
  11708. CASE
  11709. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11710. THEN
  11711. CASE
  11712. WHEN a.cCyddxMc = '装配'
  11713. OR a.cCyddxMc LIKE '%正文%'
  11714. OR a.cCyddxMc LIKE '%答案%'
  11715. OR a.cCyddxMc LIKE '%卷%'
  11716. THEN
  11717. CASE
  11718. WHEN CASE
  11719. WHEN IFNULL(d.fZls, 0) < rr.zl
  11720. THEN rr.zl
  11721. ELSE IFNULL(d.fZls, 0)
  11722. END = 0
  11723. THEN c.nzdls
  11724. ELSE (
  11725. CASE
  11726. WHEN c.nzdls <
  11727. CASE
  11728. WHEN IFNULL(d.fZls, 0) < rr.zl
  11729. THEN rr.zl
  11730. ELSE IFNULL(d.fZls, 0)
  11731. END
  11732. THEN
  11733. CASE
  11734. WHEN IFNULL(d.fZls, 0) < rr.zl
  11735. THEN rr.zl
  11736. ELSE IFNULL(d.fZls, 0)
  11737. END
  11738. ELSE c.nzdls
  11739. END
  11740. )
  11741. END
  11742. ELSE 0
  11743. END
  11744. ELSE
  11745. CASE
  11746. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11747. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11748. CASE
  11749. WHEN a.cCyddxMc = '装配'
  11750. OR a.cCyddxMc LIKE '%正文%'
  11751. OR a.cCyddxMc LIKE '%答案%'
  11752. OR a.cCyddxMc LIKE '%卷%'
  11753. THEN
  11754. CASE
  11755. WHEN CASE
  11756. WHEN IFNULL(d.fZls, 0) < rr.zl
  11757. THEN rr.zl
  11758. ELSE IFNULL(d.fZls, 0)
  11759. END = 0
  11760. THEN c.nzdls
  11761. ELSE (
  11762. CASE
  11763. WHEN c.nzdls <
  11764. CASE
  11765. WHEN IFNULL(d.fZls, 0) < rr.zl
  11766. THEN rr.zl
  11767. ELSE IFNULL(d.fZls, 0)
  11768. END
  11769. THEN
  11770. CASE
  11771. WHEN IFNULL(d.fZls, 0) < rr.zl
  11772. THEN rr.zl
  11773. ELSE IFNULL(d.fZls, 0)
  11774. END
  11775. ELSE c.nzdls
  11776. END
  11777. )
  11778. END
  11779. ELSE 0
  11780. END
  11781. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11782. END
  11783. END )
  11784. , 3) 骑33甲纸令
  11785. ")
  11786. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11787. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11788. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11789. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11790. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11791. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11792. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  11793. ->where('a.cTechName' ,'=','骑马联动')
  11794. ->group("CASE
  11795. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11796. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11797. END,Name_WorkGroup")
  11798. ->buildSql();
  11799. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  11800. ->field("
  11801. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11802. ROUND(SUM(
  11803. CASE
  11804. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11805. THEN
  11806. CASE
  11807. WHEN a.cCyddxMc = '装配'
  11808. OR a.cCyddxMc LIKE '%正文%'
  11809. OR a.cCyddxMc LIKE '%答案%'
  11810. OR a.cCyddxMc LIKE '%卷%'
  11811. THEN
  11812. CASE
  11813. WHEN CASE
  11814. WHEN IFNULL(d.fZls, 0) < rr.zl
  11815. THEN rr.zl
  11816. ELSE IFNULL(d.fZls, 0)
  11817. END = 0
  11818. THEN c.nzdls
  11819. ELSE (
  11820. CASE
  11821. WHEN c.nzdls <
  11822. CASE
  11823. WHEN IFNULL(d.fZls, 0) < rr.zl
  11824. THEN rr.zl
  11825. ELSE IFNULL(d.fZls, 0)
  11826. END
  11827. THEN
  11828. CASE
  11829. WHEN IFNULL(d.fZls, 0) < rr.zl
  11830. THEN rr.zl
  11831. ELSE IFNULL(d.fZls, 0)
  11832. END
  11833. ELSE c.nzdls
  11834. END
  11835. )
  11836. END
  11837. ELSE 0
  11838. END
  11839. ELSE
  11840. CASE
  11841. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11842. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11843. CASE
  11844. WHEN a.cCyddxMc = '装配'
  11845. OR a.cCyddxMc LIKE '%正文%'
  11846. OR a.cCyddxMc LIKE '%答案%'
  11847. OR a.cCyddxMc LIKE '%卷%'
  11848. THEN
  11849. CASE
  11850. WHEN CASE
  11851. WHEN IFNULL(d.fZls, 0) < rr.zl
  11852. THEN rr.zl
  11853. ELSE IFNULL(d.fZls, 0)
  11854. END = 0
  11855. THEN c.nzdls
  11856. ELSE (
  11857. CASE
  11858. WHEN c.nzdls <
  11859. CASE
  11860. WHEN IFNULL(d.fZls, 0) < rr.zl
  11861. THEN rr.zl
  11862. ELSE IFNULL(d.fZls, 0)
  11863. END
  11864. THEN
  11865. CASE
  11866. WHEN IFNULL(d.fZls, 0) < rr.zl
  11867. THEN rr.zl
  11868. ELSE IFNULL(d.fZls, 0)
  11869. END
  11870. ELSE c.nzdls
  11871. END
  11872. )
  11873. END
  11874. ELSE 0
  11875. END
  11876. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11877. END
  11878. END )
  11879. , 3) 骑33乙纸令
  11880. ")
  11881. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11882. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11883. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11884. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11885. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11886. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11887. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  11888. ->where('a.cTechName' ,'=','骑马联动')
  11889. ->group("CASE
  11890. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11891. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11892. END,Name_WorkGroup")
  11893. ->buildSql();
  11894. $HH = Db::table('ql_report_feedback_day')->alias('a')
  11895. ->field("
  11896. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11897. ROUND(SUM(
  11898. CASE
  11899. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11900. THEN
  11901. CASE
  11902. WHEN a.cCyddxMc = '装配'
  11903. OR a.cCyddxMc LIKE '%正文%'
  11904. OR a.cCyddxMc LIKE '%答案%'
  11905. OR a.cCyddxMc LIKE '%卷%'
  11906. THEN
  11907. CASE
  11908. WHEN CASE
  11909. WHEN IFNULL(d.fZls, 0) < rr.zl
  11910. THEN rr.zl
  11911. ELSE IFNULL(d.fZls, 0)
  11912. END = 0
  11913. THEN c.nzdls
  11914. ELSE (
  11915. CASE
  11916. WHEN c.nzdls <
  11917. CASE
  11918. WHEN IFNULL(d.fZls, 0) < rr.zl
  11919. THEN rr.zl
  11920. ELSE IFNULL(d.fZls, 0)
  11921. END
  11922. THEN
  11923. CASE
  11924. WHEN IFNULL(d.fZls, 0) < rr.zl
  11925. THEN rr.zl
  11926. ELSE IFNULL(d.fZls, 0)
  11927. END
  11928. ELSE c.nzdls
  11929. END
  11930. )
  11931. END
  11932. ELSE 0
  11933. END
  11934. ELSE
  11935. CASE
  11936. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11937. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11938. CASE
  11939. WHEN a.cCyddxMc = '装配'
  11940. OR a.cCyddxMc LIKE '%正文%'
  11941. OR a.cCyddxMc LIKE '%答案%'
  11942. OR a.cCyddxMc LIKE '%卷%'
  11943. THEN
  11944. CASE
  11945. WHEN CASE
  11946. WHEN IFNULL(d.fZls, 0) < rr.zl
  11947. THEN rr.zl
  11948. ELSE IFNULL(d.fZls, 0)
  11949. END = 0
  11950. THEN c.nzdls
  11951. ELSE (
  11952. CASE
  11953. WHEN c.nzdls <
  11954. CASE
  11955. WHEN IFNULL(d.fZls, 0) < rr.zl
  11956. THEN rr.zl
  11957. ELSE IFNULL(d.fZls, 0)
  11958. END
  11959. THEN
  11960. CASE
  11961. WHEN IFNULL(d.fZls, 0) < rr.zl
  11962. THEN rr.zl
  11963. ELSE IFNULL(d.fZls, 0)
  11964. END
  11965. ELSE c.nzdls
  11966. END
  11967. )
  11968. END
  11969. ELSE 0
  11970. END
  11971. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11972. END
  11973. END )
  11974. , 3) 骑44甲纸令
  11975. ")
  11976. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11977. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11978. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11979. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11980. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11981. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11982. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  11983. ->where('a.cTechName' ,'=','骑马联动')
  11984. ->group("CASE
  11985. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11986. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11987. END,Name_WorkGroup")
  11988. ->buildSql();
  11989. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  11990. ->field("
  11991. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  11992. ROUND(SUM(
  11993. CASE
  11994. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11995. THEN
  11996. CASE
  11997. WHEN a.cCyddxMc = '装配'
  11998. OR a.cCyddxMc LIKE '%正文%'
  11999. OR a.cCyddxMc LIKE '%答案%'
  12000. OR a.cCyddxMc LIKE '%卷%'
  12001. THEN
  12002. CASE
  12003. WHEN CASE
  12004. WHEN IFNULL(d.fZls, 0) < rr.zl
  12005. THEN rr.zl
  12006. ELSE IFNULL(d.fZls, 0)
  12007. END = 0
  12008. THEN c.nzdls
  12009. ELSE (
  12010. CASE
  12011. WHEN c.nzdls <
  12012. CASE
  12013. WHEN IFNULL(d.fZls, 0) < rr.zl
  12014. THEN rr.zl
  12015. ELSE IFNULL(d.fZls, 0)
  12016. END
  12017. THEN
  12018. CASE
  12019. WHEN IFNULL(d.fZls, 0) < rr.zl
  12020. THEN rr.zl
  12021. ELSE IFNULL(d.fZls, 0)
  12022. END
  12023. ELSE c.nzdls
  12024. END
  12025. )
  12026. END
  12027. ELSE 0
  12028. END
  12029. ELSE
  12030. CASE
  12031. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12032. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12033. CASE
  12034. WHEN a.cCyddxMc = '装配'
  12035. OR a.cCyddxMc LIKE '%正文%'
  12036. OR a.cCyddxMc LIKE '%答案%'
  12037. OR a.cCyddxMc LIKE '%卷%'
  12038. THEN
  12039. CASE
  12040. WHEN CASE
  12041. WHEN IFNULL(d.fZls, 0) < rr.zl
  12042. THEN rr.zl
  12043. ELSE IFNULL(d.fZls, 0)
  12044. END = 0
  12045. THEN c.nzdls
  12046. ELSE (
  12047. CASE
  12048. WHEN c.nzdls <
  12049. CASE
  12050. WHEN IFNULL(d.fZls, 0) < rr.zl
  12051. THEN rr.zl
  12052. ELSE IFNULL(d.fZls, 0)
  12053. END
  12054. THEN
  12055. CASE
  12056. WHEN IFNULL(d.fZls, 0) < rr.zl
  12057. THEN rr.zl
  12058. ELSE IFNULL(d.fZls, 0)
  12059. END
  12060. ELSE c.nzdls
  12061. END
  12062. )
  12063. END
  12064. ELSE 0
  12065. END
  12066. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12067. END
  12068. END )
  12069. , 3) 骑44乙纸令
  12070. ")
  12071. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12072. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12073. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12074. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12075. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12076. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12077. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  12078. ->where('a.cTechName' ,'=','骑马联动')
  12079. ->group("CASE
  12080. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12081. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12082. END,Name_WorkGroup")
  12083. ->buildSql();
  12084. $db = Db::table($A . 'a')
  12085. ->field("
  12086. DISTINCT DATE(A.RQ) rq,
  12087. TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0)
  12088. + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0)
  12089. + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0)
  12090. + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0)
  12091. + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0)
  12092. + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0)
  12093. + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0)
  12094. + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计
  12095. ")
  12096. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12097. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  12098. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  12099. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  12100. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  12101. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  12102. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  12103. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  12104. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  12105. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  12106. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  12107. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  12108. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  12109. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  12110. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  12111. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  12112. ->group('rq')
  12113. ->buildSql();
  12114. //使用GROUP BY对日期字段进行分组
  12115. //汇总每个月骑马纸令总和
  12116. $sql_final = Db::table($db . ' db')
  12117. ->field("
  12118. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12119. ROUND(sum(db.纸令数总计),0) as qmzl
  12120. ")
  12121. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  12122. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12123. ->select();
  12124. // 初始化数据
  12125. $i = 0;
  12126. $j = 0;
  12127. $k = 0;
  12128. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  12129. $currentYear = date("Y"); // 当前年份
  12130. $previousYear = (int)$currentYear - 1; // 去年
  12131. $previousTwoYear = (int)$currentYear - 2; // 前年
  12132. // 为三年的数据创建数组,初始值为0
  12133. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  12134. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12135. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  12136. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12137. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  12138. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  12139. // 遍历查询结果并填充数据
  12140. foreach ($sql_final as $v) {
  12141. // 获取年份和月份
  12142. $year = substr($v['rq'], 0, 4);
  12143. $month = substr($v['rq'], 5, 2);
  12144. // 如果是前年数据
  12145. if ($year == $previousTwoYear) {
  12146. $list['series'][0]['data'][(int)$month - 1] = $v['qmzl'];
  12147. }
  12148. // 如果是去年数据
  12149. if ($year == $previousYear) {
  12150. $list['series'][1]['data'][(int)$month - 1] = $v['qmzl'];
  12151. }
  12152. // 如果是今年数据
  12153. if ($year == $currentYear) {
  12154. $list['series'][2]['data'][(int)$month - 1] = $v['qmzl'];
  12155. }
  12156. }
  12157. $res['status'] = 0;
  12158. $res['msg'] = '';
  12159. $res['data'] = $list;
  12160. $redis->set($redis_key, json_encode($res));
  12161. return json_encode($res);
  12162. }
  12163. //骑马纸令->接口调用
  12164. public function qmzl(){
  12165. $redis=redis();
  12166. $redis_key = md5('qmzl_redis');
  12167. $redis_data = $redis->get($redis_key);
  12168. return $redis_data;
  12169. }
  12170. //胶订册数->缓存调用
  12171. public function jdcs_redis(){
  12172. $redis=redis();
  12173. $redis_key = md5('jdcs_redis');
  12174. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12175. ->union(function ($query) {
  12176. $query->table('scDayRpt_Teams')->alias('b')
  12177. ->field("DISTINCT DATE_FORMAT(
  12178. CASE
  12179. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12180. ELSE b.dOnDuty
  12181. END,
  12182. '%Y-%m-%d'
  12183. ) AS RQ");
  12184. }, true)
  12185. ->buildSql();
  12186. $B = Db::table('cpjtfk')
  12187. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12188. ->field("
  12189. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12190. sum(iwcl) as 马1甲
  12191. ")
  12192. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  12193. ->group('drptdate,cbanzu')
  12194. ->buildSql();
  12195. $B1 = Db::table('cpjtfk')
  12196. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12197. ->field("
  12198. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12199. sum(iwcl) as 马1乙
  12200. ")
  12201. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  12202. ->group('drptdate,cbanzu')
  12203. ->buildSql();
  12204. $C = Db::table('cpjtfk')
  12205. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12206. ->field("
  12207. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12208. sum(iwcl) as 马2甲
  12209. ")
  12210. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  12211. ->group('drptdate,cbanzu')
  12212. ->buildSql();
  12213. $C1 = Db::table('cpjtfk')
  12214. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12215. ->field("
  12216. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12217. sum(iwcl) as 马2乙
  12218. ")
  12219. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  12220. ->group('drptdate,cbanzu')
  12221. ->buildSql();
  12222. $D = Db::table('cpjtfk')
  12223. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12224. ->field("
  12225. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12226. sum(iwcl) as 马3甲
  12227. ")
  12228. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  12229. ->group('drptdate,cbanzu')
  12230. ->buildSql();
  12231. $D1 = Db::table('cpjtfk')
  12232. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12233. ->field("
  12234. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12235. sum(iwcl) as 马3乙
  12236. ")
  12237. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  12238. ->group('drptdate,cbanzu')
  12239. ->buildSql();
  12240. $E = Db::table('cpjtfk')
  12241. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12242. ->field("
  12243. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12244. sum(iwcl) as 马4甲
  12245. ")
  12246. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  12247. ->group('drptdate,cbanzu')
  12248. ->buildSql();
  12249. $E1 = Db::table('cpjtfk')
  12250. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12251. ->field("
  12252. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12253. sum(iwcl) as 马4乙
  12254. ")
  12255. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  12256. ->group('drptdate,cbanzu')
  12257. ->buildSql();
  12258. $F = Db::table('cpjtfk')
  12259. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12260. ->field("
  12261. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12262. sum(iwcl) as 马5甲
  12263. ")
  12264. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  12265. ->group('drptdate,cbanzu')
  12266. ->buildSql();
  12267. $F1 = Db::table('cpjtfk')
  12268. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12269. ->field("
  12270. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12271. sum(iwcl) as 马5乙,
  12272. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  12273. ")
  12274. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  12275. ->group('drptdate,cbanzu')
  12276. ->buildSql();
  12277. $rr = Db::table('scyddx')->alias('r')
  12278. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12279. ->group('r.ICYDID')
  12280. ->buildSql();
  12281. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12282. ->field("
  12283. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12284. sum(a.nAmount) as 马11甲")
  12285. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12286. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12287. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12288. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12289. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12290. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12291. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  12292. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12293. ->group("CASE
  12294. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12295. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12296. END,Name_WorkGroup")->buildSql();
  12297. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12298. ->field("
  12299. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12300. sum(a.nAmount) as 马11乙
  12301. ")
  12302. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12303. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12304. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12305. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12306. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12307. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12308. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  12309. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12310. ->group("CASE
  12311. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12312. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12313. END,Name_WorkGroup")
  12314. ->buildSql();
  12315. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12316. ->field("
  12317. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12318. sum(a.nAmount) as 马22甲
  12319. ")
  12320. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12321. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12322. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12323. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12324. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12325. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12326. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  12327. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12328. ->group("CASE
  12329. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12330. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12331. END,Name_WorkGroup")
  12332. ->buildSql();
  12333. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12334. ->field("
  12335. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12336. sum(a.nAmount) as 马22乙
  12337. ")
  12338. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12339. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12340. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12341. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12342. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12343. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12344. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  12345. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12346. ->group("CASE
  12347. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12348. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12349. END,Name_WorkGroup")
  12350. ->buildSql();
  12351. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12352. ->field("
  12353. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12354. sum(a.nAmount) as 马33甲
  12355. ")
  12356. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12357. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12358. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12359. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12360. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12361. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12362. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  12363. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12364. ->group("CASE
  12365. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12366. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12367. END,Name_WorkGroup")
  12368. ->buildSql();
  12369. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12370. ->field("
  12371. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12372. sum(a.nAmount) as 马33乙
  12373. ")
  12374. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12375. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12376. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12377. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12378. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12379. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12380. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  12381. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12382. ->group("CASE
  12383. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12384. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12385. END,Name_WorkGroup")
  12386. ->buildSql();
  12387. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12388. ->field("
  12389. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12390. sum(a.nAmount) as 马44甲
  12391. ")
  12392. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12393. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12394. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12395. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12396. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12397. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12398. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  12399. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12400. ->group("CASE
  12401. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12402. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12403. END,Name_WorkGroup")
  12404. ->buildSql();
  12405. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12406. ->field("
  12407. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12408. sum(a.nAmount) as 马44乙
  12409. ")
  12410. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12411. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12412. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12413. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12414. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12415. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12416. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  12417. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12418. ->group("CASE
  12419. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12420. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12421. END,Name_WorkGroup")
  12422. ->buildSql();
  12423. $XX = Db::table('ql_report_feedback_day')->alias('a')
  12424. ->field("
  12425. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12426. sum(a.nAmount) as 马55甲
  12427. ")
  12428. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12429. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12430. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12431. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12432. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12433. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12434. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  12435. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12436. ->group("CASE
  12437. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12438. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12439. END,Name_WorkGroup")
  12440. ->buildSql();
  12441. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  12442. ->field("
  12443. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12444. sum(a.nAmount) as 马66甲
  12445. ")
  12446. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12447. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12448. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12449. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12450. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12451. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12452. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  12453. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12454. ->group("CASE
  12455. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12456. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12457. END,Name_WorkGroup")
  12458. ->buildSql();
  12459. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  12460. ->field("
  12461. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12462. sum(a.nAmount) as 马77甲
  12463. ")
  12464. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12465. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12466. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12467. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12468. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12469. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12470. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  12471. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12472. ->group("CASE
  12473. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12474. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12475. END,Name_WorkGroup")
  12476. ->buildSql();
  12477. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  12478. ->field("
  12479. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12480. sum(a.nAmount) as 马55乙
  12481. ")
  12482. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12483. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12484. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12485. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12486. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12487. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12488. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  12489. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12490. ->group("CASE
  12491. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12492. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12493. END,Name_WorkGroup")
  12494. ->buildSql();
  12495. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  12496. ->field("
  12497. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12498. sum(a.nAmount) as 马66乙
  12499. ")
  12500. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12501. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12502. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12503. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12504. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12505. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12506. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  12507. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12508. ->group("CASE
  12509. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12510. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12511. END,Name_WorkGroup")
  12512. ->buildSql();
  12513. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  12514. ->field("
  12515. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12516. sum(a.nAmount) as 马77乙
  12517. ")
  12518. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12519. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12520. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12521. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12522. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12523. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12524. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  12525. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  12526. ->group("CASE
  12527. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12528. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12529. END,Name_WorkGroup")
  12530. ->buildSql();
  12531. $db = Db::table($A . 'a')
  12532. ->field("
  12533. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  12534. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  12535. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  12536. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  12537. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  12538. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  12539. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  12540. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  12541. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  12542. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  12543. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  12544. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  12545. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  12546. ")
  12547. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12548. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  12549. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  12550. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  12551. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  12552. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  12553. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  12554. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  12555. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  12556. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  12557. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  12558. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  12559. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  12560. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  12561. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  12562. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  12563. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  12564. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  12565. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  12566. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  12567. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  12568. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  12569. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  12570. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  12571. ->buildSql();
  12572. $sql_final = Db::table($db . ' db')
  12573. ->field("
  12574. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12575. ROUND(sum(db.总计册), 0) as jdcs
  12576. ")
  12577. ->where("db.RQ >= '{$this->qianstart_time()}'
  12578. AND db.RQ <= '{$this->end_time()}' ")
  12579. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12580. ->select();
  12581. // 初始化数据
  12582. $i = 0;
  12583. $j = 0;
  12584. $k = 0;
  12585. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  12586. $currentYear = date("Y"); // 当前年份
  12587. $previousYear = (int)$currentYear - 1; // 去年
  12588. $previousTwoYear = (int)$currentYear - 2; // 前年
  12589. // 为三年的数据创建数组,初始值为0
  12590. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  12591. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12592. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  12593. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12594. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  12595. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  12596. // 遍历查询结果并填充数据
  12597. foreach ($sql_final as $v) {
  12598. // 获取年份和月份
  12599. $year = substr($v['rq'], 0, 4);
  12600. $month = substr($v['rq'], 5, 2);
  12601. // 如果是前年数据
  12602. if ($year == $previousTwoYear) {
  12603. $list['series'][0]['data'][(int)$month - 1] = $v['jdcs'];
  12604. }
  12605. // 如果是去年数据
  12606. if ($year == $previousYear) {
  12607. $list['series'][1]['data'][(int)$month - 1] = $v['jdcs'];
  12608. }
  12609. // 如果是今年数据
  12610. if ($year == $currentYear) {
  12611. $list['series'][2]['data'][(int)$month - 1] = $v['jdcs'];
  12612. }
  12613. }
  12614. $res['status'] = 0;
  12615. $res['msg'] = '';
  12616. $res['data'] = $list;
  12617. $redis->set($redis_key, json_encode($res));
  12618. return json_encode($res);
  12619. }
  12620. //胶订册数->接口调用
  12621. public function jdcs(){
  12622. $redis=redis();
  12623. $redis_key = md5('jdcs_redis');
  12624. $redis_data = $redis->get($redis_key);
  12625. return $redis_data;
  12626. }
  12627. //精装册数->缓存调用
  12628. public function jzcs_redis(){
  12629. $redis=redis();
  12630. $redis_key = md5('jzcs_redis');
  12631. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12632. ->union(function ($query) {
  12633. $query->table('scDayRpt_Teams')->alias('b')
  12634. ->field("DISTINCT DATE_FORMAT(
  12635. CASE
  12636. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12637. ELSE b.dOnDuty
  12638. END,
  12639. '%Y-%m-%d'
  12640. ) AS RQ");
  12641. }, true)
  12642. ->buildSql();
  12643. //精1甲、精1甲纸令数
  12644. $B = Db::table('cpjtfk')
  12645. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12646. ->field("
  12647. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12648. sum(iwcl) as 精1甲
  12649. ")
  12650. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  12651. ->group('drptdate,cbanzu')
  12652. ->buildSql();
  12653. //精1乙 精1乙纸令数
  12654. $B1 = Db::table('cpjtfk')
  12655. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12656. ->field("
  12657. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12658. sum(iwcl) as 精1乙
  12659. ")
  12660. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  12661. ->group('drptdate,cbanzu')
  12662. ->buildSql();
  12663. $rr = Db::table('scyddx')->alias('r')
  12664. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12665. ->group('r.ICYDID')
  12666. ->buildSql();
  12667. //精11甲--精11甲纸令
  12668. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12669. ->field("
  12670. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12671. sum(a.nAmount) as 精11甲
  12672. ")
  12673. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12674. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12675. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12676. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12677. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12678. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12679. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  12680. ->where('a.cTechName' ,'=','精装联动')
  12681. ->group("CASE
  12682. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12683. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12684. END,Name_WorkGroup")
  12685. ->buildSql();
  12686. //精11乙--精11乙纸令
  12687. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12688. ->field("
  12689. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12690. sum(a.nAmount) as 精11乙
  12691. ")
  12692. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12693. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12694. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12695. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12696. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12697. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12698. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  12699. ->where('a.cTechName' ,'=','精装联动')
  12700. ->group("CASE
  12701. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12702. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12703. END,Name_WorkGroup")
  12704. ->buildSql();
  12705. $db = Db::table($A . 'a')
  12706. ->field("
  12707. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  12708. IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册
  12709. ")
  12710. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12711. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  12712. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  12713. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  12714. ->buildSql();
  12715. $sql_final = Db::table($db . ' db')
  12716. ->field("
  12717. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12718. ROUND(sum(db.总计册), 0) as jzcs
  12719. ")
  12720. ->where("db.RQ >= '{$this->qianstart_time()}'
  12721. AND db.RQ <= '{$this->end_time()}' ")
  12722. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12723. ->select();
  12724. // 初始化数据
  12725. $i = 0;
  12726. $j = 0;
  12727. $k = 0;
  12728. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  12729. $currentYear = date("Y"); // 当前年份
  12730. $previousYear = (int)$currentYear - 1; // 去年
  12731. $previousTwoYear = (int)$currentYear - 2; // 前年
  12732. // 为三年的数据创建数组,初始值为0
  12733. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  12734. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12735. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  12736. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12737. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  12738. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  12739. // 遍历查询结果并填充数据
  12740. foreach ($sql_final as $v) {
  12741. // 获取年份和月份
  12742. $year = substr($v['rq'], 0, 4);
  12743. $month = substr($v['rq'], 5, 2);
  12744. // 如果是前年数据
  12745. if ($year == $previousTwoYear) {
  12746. $list['series'][0]['data'][(int)$month - 1] = $v['jzcs'];
  12747. }
  12748. // 如果是去年数据
  12749. if ($year == $previousYear) {
  12750. $list['series'][1]['data'][(int)$month - 1] = $v['jzcs'];
  12751. }
  12752. // 如果是今年数据
  12753. if ($year == $currentYear) {
  12754. $list['series'][2]['data'][(int)$month - 1] = $v['jzcs'];
  12755. }
  12756. }
  12757. $res['status'] = 0;
  12758. $res['msg'] = '';
  12759. $res['data'] = $list;
  12760. $redis->set($redis_key, json_encode($res));
  12761. return json_encode($res);
  12762. }
  12763. //精装册数->接口调用
  12764. public function jzcs(){
  12765. $redis=redis();
  12766. $redis_key = md5('jzcs_redis');
  12767. $redis_data = $redis->get($redis_key);
  12768. return $redis_data;
  12769. }
  12770. //骑马册数->缓存调用
  12771. public function qmcs_redis(){
  12772. $redis=redis();
  12773. $redis_key = md5('qmcs_redis');
  12774. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  12775. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  12776. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  12777. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  12778. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  12779. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  12780. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12781. ->union(function ($query) {
  12782. $query->table('scDayRpt_Teams')->alias('b')
  12783. ->field("DISTINCT DATE_FORMAT(
  12784. CASE
  12785. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12786. ELSE b.dOnDuty
  12787. END,
  12788. '%Y-%m-%d'
  12789. ) AS RQ");
  12790. }, true)
  12791. ->buildSql();
  12792. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  12793. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  12794. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  12795. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  12796. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  12797. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  12798. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  12799. $B = Db::table('cpjtfk')
  12800. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12801. ->field("
  12802. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12803. sum(iwcl) as 骑1甲
  12804. ")
  12805. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  12806. ->group('drptdate,cbanzu')
  12807. ->buildSql();
  12808. $B1 = Db::table('cpjtfk')
  12809. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12810. ->field("
  12811. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12812. sum(iwcl) as 骑1乙
  12813. ")
  12814. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  12815. ->group('drptdate,cbanzu')
  12816. ->buildSql();
  12817. $C = Db::table('cpjtfk')
  12818. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12819. ->field("
  12820. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12821. sum(iwcl) as 骑2甲
  12822. ")
  12823. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  12824. ->group('drptdate,cbanzu')
  12825. ->buildSql();
  12826. $C1 = Db::table('cpjtfk')
  12827. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12828. ->field("
  12829. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12830. sum(iwcl) as 骑2乙
  12831. ")
  12832. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  12833. ->group('drptdate,cbanzu')
  12834. ->buildSql();
  12835. $D = Db::table('cpjtfk')
  12836. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12837. ->field("
  12838. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12839. sum(iwcl) as 骑3甲
  12840. ")
  12841. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  12842. ->group('drptdate,cbanzu')
  12843. ->buildSql();
  12844. $D1 = Db::table('cpjtfk')
  12845. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12846. ->field("
  12847. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12848. sum(iwcl) as 骑3乙
  12849. ")
  12850. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  12851. ->group('drptdate,cbanzu')
  12852. ->buildSql();
  12853. $E = Db::table('cpjtfk')
  12854. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12855. ->field("
  12856. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12857. sum(iwcl) as 骑4甲
  12858. ")
  12859. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  12860. ->group('drptdate,cbanzu')
  12861. ->buildSql();
  12862. $E1 = Db::table('cpjtfk')
  12863. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12864. ->field("
  12865. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12866. sum(iwcl) as 骑4乙
  12867. ")
  12868. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  12869. ->group('drptdate,cbanzu')
  12870. ->buildSql();
  12871. $rr = Db::table('scyddx')->alias('r')
  12872. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12873. ->group('r.ICYDID')
  12874. ->buildSql();
  12875. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  12876. //2.使用别名$Bb表示主查询结果。
  12877. //3.查询的主要数据来源是表ql_report_feedback_day。
  12878. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  12879. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  12880. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  12881. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  12882. //8.通过buildSql方法生成最终的SQL查询语句
  12883. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12884. ->field("
  12885. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12886. sum(a.nAmount) as 骑11甲
  12887. ")
  12888. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12889. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12890. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12891. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12892. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12893. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12894. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  12895. ->where('a.cTechName' ,'=','骑马联动')
  12896. ->group("CASE
  12897. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12898. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12899. END,Name_WorkGroup")
  12900. ->buildSql();
  12901. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12902. ->field("
  12903. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12904. sum(a.nAmount) as 骑11乙
  12905. ")
  12906. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12907. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12908. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12909. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12910. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12911. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12912. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  12913. ->where('a.cTechName' ,'=','骑马联动')
  12914. ->group("CASE
  12915. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12916. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12917. END,Name_WorkGroup")
  12918. ->buildSql();
  12919. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12920. ->field("
  12921. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12922. sum(a.nAmount) as 骑22甲
  12923. ")
  12924. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12925. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12926. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12927. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12928. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12929. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12930. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  12931. ->where('a.cTechName' ,'=','骑马联动')
  12932. ->group("CASE
  12933. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12934. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12935. END,Name_WorkGroup")
  12936. ->buildSql();
  12937. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12938. ->field("
  12939. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12940. sum(a.nAmount) as 骑22乙
  12941. ")
  12942. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12943. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12944. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12945. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12946. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12947. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12948. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  12949. ->where('a.cTechName' ,'=','骑马联动')
  12950. ->group("CASE
  12951. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12952. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12953. END,Name_WorkGroup")
  12954. ->buildSql();
  12955. $EE = Db::table('ql_report_feedback_day')->alias('a')
  12956. ->field("
  12957. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12958. sum(a.nAmount) as 骑33甲
  12959. ")
  12960. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12961. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12962. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12963. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12964. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12965. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12966. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  12967. ->where('a.cTechName' ,'=','骑马联动')
  12968. ->group("CASE
  12969. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12970. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12971. END,Name_WorkGroup")
  12972. ->buildSql();
  12973. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12974. ->field("
  12975. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12976. sum(a.nAmount) as 骑33乙
  12977. ")
  12978. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12979. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12980. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12981. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12982. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12983. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12984. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  12985. ->where('a.cTechName' ,'=','骑马联动')
  12986. ->group("CASE
  12987. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12988. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12989. END,Name_WorkGroup")
  12990. ->buildSql();
  12991. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12992. ->field("
  12993. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  12994. sum(a.nAmount) as 骑44甲
  12995. ")
  12996. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12997. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12998. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12999. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13000. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13001. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13002. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  13003. ->where('a.cTechName' ,'=','骑马联动')
  13004. ->group("CASE
  13005. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13006. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13007. END,Name_WorkGroup")
  13008. ->buildSql();
  13009. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  13010. ->field("
  13011. CASE WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d') ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d') END AS rq,
  13012. sum(a.nAmount) as 骑44乙
  13013. ")
  13014. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13015. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13016. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13017. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13018. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13019. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13020. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  13021. ->where('a.cTechName' ,'=','骑马联动')
  13022. ->group("CASE
  13023. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13024. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13025. END,Name_WorkGroup")
  13026. ->buildSql();
  13027. //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。
  13028. //2.代码中使用了别名$db来表示主查询结果。
  13029. //3.查询的主要数据来源是表$A.'a'。
  13030. //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。
  13031. //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。
  13032. //6.使用buildSql()方法生成最终的SQL查询语句
  13033. $db = Db::table($A . 'a')
  13034. ->field("
  13035. DISTINCT DATE(A.RQ) rq,
  13036. TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0)
  13037. + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0)
  13038. + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0)
  13039. + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0)
  13040. + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0)
  13041. + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0)
  13042. + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0)
  13043. + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册
  13044. ")
  13045. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13046. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  13047. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  13048. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  13049. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  13050. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  13051. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  13052. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  13053. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  13054. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  13055. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  13056. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  13057. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  13058. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  13059. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  13060. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  13061. ->group('rq')
  13062. ->buildSql();
  13063. $sql_final = Db::table($db . ' db')
  13064. ->field("
  13065. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13066. ROUND(sum(db.总计册), 3) as qmcs
  13067. ")
  13068. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  13069. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13070. ->select();
  13071. // 初始化数据
  13072. $i = 0;
  13073. $j = 0;
  13074. $k = 0;
  13075. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13076. $currentYear = date("Y"); // 当前年份
  13077. $previousYear = (int)$currentYear - 1; // 去年
  13078. $previousTwoYear = (int)$currentYear - 2; // 前年
  13079. // 为三年的数据创建数组,初始值为0
  13080. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13081. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13082. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13083. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13084. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13085. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13086. // 遍历查询结果并填充数据
  13087. foreach ($sql_final as $v) {
  13088. // 获取年份和月份
  13089. $year = substr($v['rq'], 0, 4);
  13090. $month = substr($v['rq'], 5, 2);
  13091. // 如果是前年数据
  13092. if ($year == $previousTwoYear) {
  13093. $list['series'][0]['data'][(int)$month - 1] = $v['qmcs'];
  13094. }
  13095. // 如果是去年数据
  13096. if ($year == $previousYear) {
  13097. $list['series'][1]['data'][(int)$month - 1] = $v['qmcs'];
  13098. }
  13099. // 如果是今年数据
  13100. if ($year == $currentYear) {
  13101. $list['series'][2]['data'][(int)$month - 1] = $v['qmcs'];
  13102. }
  13103. }
  13104. $res['status'] = 0;
  13105. $res['msg'] = '';
  13106. $res['data'] = $list;
  13107. $redis->set($redis_key, json_encode($res));
  13108. return json_encode($res);
  13109. }
  13110. //骑马册数->接口调用
  13111. public function qmcs(){
  13112. $redis=redis();
  13113. $redis_key = md5('qmcs_redis');
  13114. $redis_data = $redis->get($redis_key);
  13115. return $redis_data;
  13116. }
  13117. }