Index (2).php 650 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628
  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. public function customer_index()
  15. {
  16. // 1. 查询:account有值 + password为空 的客户
  17. $list = Db::name("customer")
  18. ->where("account", "<>", "")
  19. ->where(function ($query) {
  20. $query->whereNull("password")
  21. ->whereOr("password", "");
  22. })
  23. ->select();
  24. if (empty($list)) {
  25. return json([
  26. "code" => 1,
  27. "msg" => "所有密码已填充完毕,无需处理"
  28. ]);
  29. }
  30. $success = 0;
  31. // 循环逐条更新(FastAdmin/TP5 标准写法)
  32. Db::startTrans();
  33. try {
  34. foreach ($list as $item) {
  35. $account = trim($item['account']);
  36. $password = md5(md5($account)); // FastAdmin 密码加密
  37. Db::name("customer")
  38. ->where("id", $item['id'])
  39. ->update([
  40. "password" => $password
  41. ]);
  42. $success++;
  43. }
  44. Db::commit();
  45. return json([
  46. "code" => 1,
  47. "msg" => "密码填充成功,共更新 " . $success . " 条"
  48. ]);
  49. } catch (\Exception $e) {
  50. Db::rollback();
  51. return json([
  52. "code" => 0,
  53. "msg" => "失败:" . $e->getMessage()
  54. ]);
  55. }
  56. }
  57. /** 定义的函数方法 $this->方法名调取*/
  58. //获取当前年份的一月份
  59. public function year_January(){
  60. return date("Y-01");
  61. }
  62. //开始时间方法--当年01月01日
  63. public function start_time(){
  64. return gettimeinfo();
  65. }
  66. //结束时间方法--当年12月31日
  67. public function end_time(){
  68. return gettimeinfo(1);
  69. }
  70. //开始时间方法--去年01月01日
  71. public function qstart_time(){
  72. return getLastYear();
  73. }
  74. //去年的今天
  75. public function qday(){
  76. // 获取当前日期
  77. $today = date('Y-m-d 23:59:59');
  78. // 使用strtotime计算去年的今天
  79. $lastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -1 year'));
  80. // 输出去年的今天
  81. return $lastYearToday;
  82. }
  83. //结束时间方法--去年12月31日
  84. public function qend_time(){
  85. return getLastYear(1);
  86. }
  87. //开始时间方法--前年01月01日
  88. public function qianstart_time(){
  89. return getPreviousYear();
  90. }
  91. //结束时间方法--前年12月31日
  92. public function qianend_time(){
  93. return getPreviousYear(1);
  94. }
  95. //前年的今天
  96. public function qianday(){
  97. // 获取当前日期
  98. $today = date('Y-m-d 23:59:59');
  99. // 使用strtotime计算前年的今天
  100. $beforeLastYearToday = date('Y-m-d 23:59:59', strtotime($today . ' -2 years'));
  101. // 输出前年的今天
  102. return $beforeLastYearToday;
  103. }
  104. //开始时间方法--大前年01月01日
  105. public function dqianstart_time(){
  106. return getPreviousQYear();
  107. }
  108. //结束时间方法--大前年12月31日
  109. public function dqianend_time(){
  110. return getPreviousQYear(1);
  111. }
  112. //当年
  113. public function currentYear(){
  114. $currentYear = date('Y');
  115. $res['status'] = 0;
  116. $res['msg'] = '';
  117. $res['data'] = $currentYear;
  118. return json_encode($res);
  119. }
  120. //去年
  121. public function lastYear(){
  122. $currentYear = date('Y');
  123. $lastYear = $currentYear - 1;
  124. $res['status'] = 0;
  125. $res['msg'] = '';
  126. $res['data'] = $lastYear;
  127. return json_encode($res);
  128. }
  129. //前年
  130. public function yearBeforeLast(){
  131. $currentYear = date('Y');
  132. $yearBeforeLast = $currentYear - 2;
  133. $res['status'] = 0;
  134. $res['msg'] = '';
  135. $res['data'] = $yearBeforeLast;
  136. return json_encode($res);
  137. }
  138. //当年年业务结构
  139. public function test_dYear(){
  140. $currentYear = date('Y');
  141. $lastTwoDigits = substr($currentYear, -2);
  142. $res['status'] = 0;
  143. $res['msg'] = '';
  144. $res['data'] = $lastTwoDigits . "年色令分布";
  145. return json_encode($res);
  146. }
  147. //去年年业务结构
  148. public function test_qYear(){
  149. $currentYear = date('Y');
  150. $lastYear = $currentYear - 1;
  151. $lastTwoDigits = substr($lastYear, -2);
  152. $res['status'] = 0;
  153. $res['msg'] = '';
  154. $res['data'] = $lastTwoDigits . "年色令分布";
  155. return json_encode($res);
  156. }
  157. /**
  158. * 业务总览 第一屏 第一页
  159. */
  160. //承印销售收入->缓存调用 本级不包含集团教材外
  161. public function getxssr_redis(){
  162. $redis=redis();
  163. $redis_key = md5('getxssr_redis');
  164. //定义查询字段
  165. $field = [
  166. 'ldz',
  167. 'mcyd.icydid',
  168. 'year(mcyd.dcyrq) as 年',
  169. 'mcyd.dcyrq as 日期',
  170. 'sum(mcyd.nwshjje) nwshjje',
  171. 'sum(mcyd.nwsgjhj) nwsgjhj',
  172. 'sum(tjob.namount) namount',
  173. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  174. 'tjob.itax',
  175. ];
  176. //当年
  177. $dangnian = Db::table('mcyd')->field($field)
  178. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  179. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  180. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  181. ->where('mcyd.icydstate','>',0)
  182. ->where('mcyd.chy','<>', '集团教材外')
  183. ->select();
  184. //去年
  185. $qunian = Db::table('mcyd')->field($field)
  186. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  187. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  188. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  189. ->where('mcyd.icydstate','>',0)
  190. ->where('mcyd.chy','<>', '集团教材外')
  191. ->select();
  192. //前年
  193. $qiannian = Db::table('mcyd')->field($field)
  194. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  195. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  196. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  197. ->where('mcyd.icydstate','>',0)
  198. ->where('mcyd.chy','<>', '集团教材外')
  199. ->select();
  200. //大前年
  201. $dqiannian = Db::table('mcyd')->field($field)
  202. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  203. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  204. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  205. ->where('mcyd.icydstate','>',0)
  206. ->where('mcyd.chy','<>', '集团教材外')
  207. ->select();
  208. //销售收入、销售工价、日期
  209. //当年
  210. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  211. //去年
  212. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  213. //前年
  214. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  215. //大前年
  216. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  217. //遍历查询结果,进行统计
  218. foreach ($dangnian as $v){
  219. if($v['ldz'] == 1 ){
  220. $cheng_dang += $v['namount'];
  221. $bb_dang += $v['sum_clje'];
  222. }else{
  223. $cheng_dang += $v['nwshjje'];
  224. $bb_dang += $v['nwsgjhj'];
  225. }
  226. $data_dang = $v['年'];
  227. }
  228. //遍历查询结果,进行统计
  229. foreach ($qunian as $v){
  230. if($v['ldz'] == 1 ){
  231. $cheng_qu += $v['namount'];
  232. $bb_qu += $v['sum_clje'];
  233. }else{
  234. $cheng_qu += $v['nwshjje'];
  235. $bb_qu += $v['nwsgjhj'];
  236. }
  237. $data_qu = $v['年'];
  238. }
  239. //遍历查询结果,进行统计
  240. foreach ($qiannian as $v){
  241. if($v['ldz'] == 1 ){
  242. $cheng_qian += $v['namount'];
  243. $bb_qian += $v['sum_clje'];
  244. }else{
  245. $cheng_qian += $v['nwshjje'];
  246. $bb_qian += $v['nwsgjhj'];
  247. }
  248. $data_qian = $v['年'];
  249. }
  250. //遍历查询结果,进行统计
  251. foreach ($dqiannian as $v){
  252. if($v['ldz'] == 1 ){
  253. $cheng_dqian += $v['namount'];
  254. $bb_dqian += $v['sum_clje'];
  255. }else{
  256. $cheng_dqian += $v['nwshjje'];
  257. $bb_dqian += $v['nwsgjhj'];
  258. }
  259. $data_dqian = $v['年'];
  260. }
  261. if($data_dang == 0){
  262. $data_dang = date("Y");
  263. }
  264. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  265. 'series'=>[['name'=>'承印销售收入',
  266. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  267. ];
  268. $res['status']=0;
  269. $res['msg']='';
  270. $res['data']=$list;
  271. $redis->set($redis_key, json_encode($res));
  272. return json_encode($res);
  273. }
  274. //承印销售收入->缓存调用 全部包含集团教材外
  275. public function getxssrs_redis(){
  276. $redis=redis();
  277. $redis_key = md5('getxssrs_redis');
  278. //定义查询字段
  279. $field = [
  280. 'ldz',
  281. 'mcyd.icydid',
  282. 'year(mcyd.dcyrq) as 年',
  283. 'mcyd.dcyrq as 日期',
  284. 'sum(mcyd.nwshjje) nwshjje',
  285. 'sum(mcyd.nwsgjhj) nwsgjhj',
  286. 'sum(tjob.namount) namount',
  287. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  288. 'tjob.itax',
  289. ];
  290. //当年
  291. $dangnian = Db::table('mcyd')->field($field)
  292. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  293. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  294. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  295. ->where('mcyd.icydstate','>',0)
  296. ->select();
  297. //去年
  298. $qunian = Db::table('mcyd')->field($field)
  299. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  300. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  301. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  302. ->where('mcyd.icydstate','>',0)
  303. ->select();
  304. //前年
  305. $qiannian = Db::table('mcyd')->field($field)
  306. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  307. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  308. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  309. ->where('mcyd.icydstate','>',0)
  310. ->select();
  311. //大前年
  312. $dqiannian = Db::table('mcyd')->field($field)
  313. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  314. ->whereTime('mcyd.dcyrq', 'between', [$this->dqianstart_time(),$this->dqianend_time()])
  315. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  316. ->where('mcyd.icydstate','>',0)
  317. ->select();
  318. //销售收入、销售工价、日期
  319. //当年
  320. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  321. //去年
  322. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  323. //前年
  324. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  325. //大前年
  326. $cheng_dqian = 0;$bb_dqian = 0; $data_dqian = 0;
  327. //遍历查询结果,进行统计
  328. foreach ($dangnian as $v){
  329. if($v['ldz'] == 1 ){
  330. $cheng_dang += $v['namount'];
  331. $bb_dang += $v['sum_clje'];
  332. }else{
  333. $cheng_dang += $v['nwshjje'];
  334. $bb_dang += $v['nwsgjhj'];
  335. }
  336. $data_dang = $v['年'];
  337. }
  338. //遍历查询结果,进行统计
  339. foreach ($qunian as $v){
  340. if($v['ldz'] == 1 ){
  341. $cheng_qu += $v['namount'];
  342. $bb_qu += $v['sum_clje'];
  343. }else{
  344. $cheng_qu += $v['nwshjje'];
  345. $bb_qu += $v['nwsgjhj'];
  346. }
  347. $data_qu = $v['年'];
  348. }
  349. //遍历查询结果,进行统计
  350. foreach ($qiannian as $v){
  351. if($v['ldz'] == 1 ){
  352. $cheng_qian += $v['namount'];
  353. $bb_qian += $v['sum_clje'];
  354. }else{
  355. $cheng_qian += $v['nwshjje'];
  356. $bb_qian += $v['nwsgjhj'];
  357. }
  358. $data_qian = $v['年'];
  359. }
  360. //遍历查询结果,进行统计
  361. foreach ($dqiannian as $v){
  362. if($v['ldz'] == 1 ){
  363. $cheng_dqian += $v['namount'];
  364. $bb_dqian += $v['sum_clje'];
  365. }else{
  366. $cheng_dqian += $v['nwshjje'];
  367. $bb_dqian += $v['nwsgjhj'];
  368. }
  369. $data_dqian = $v['年'];
  370. }
  371. if($data_dang == 0){
  372. $data_dang = date("Y");
  373. }
  374. $list=[ 'categories'=>[$data_qian,$data_qu,$data_dang],
  375. 'series'=>[['name'=>'承印销售收入',
  376. 'data'=>[round($cheng_qian/10000),round($cheng_qu/10000),round($cheng_dang/10000)]]]
  377. ];
  378. $res['status']=0;
  379. $res['msg']='';
  380. $res['data']=$list;
  381. $redis->set($redis_key, json_encode($res));
  382. return json_encode($res);
  383. }
  384. //承印销售收入->接口调用
  385. public function getxssr(){
  386. $redis = redis();
  387. $data = input('post.');
  388. if(isset($data['dependence'])){
  389. $dependence=$data['dependence'];
  390. }else{
  391. $dependence['item']['value']= '全部';
  392. }
  393. if($dependence['item']['value'] == '全部'){
  394. $result = json_decode($redis->get(md5('getxssrs_redis')),true);
  395. }else{
  396. $result = json_decode($redis->get(md5('getxssr_redis')),true);
  397. }
  398. return json($result);
  399. }
  400. //承印加工收入->缓存调用 本级不包含集团教材外
  401. public function getjgsr_redis(){
  402. $redis=redis();
  403. $redis_key = md5('getjgsr_redis');
  404. // 定义需要查询的字段
  405. $field = [
  406. 'ldz',
  407. 'mcyd.icydid',
  408. 'year(mcyd.dcyrq) as 年',
  409. 'mcyd.dcyrq as 日期',
  410. 'sum(mcyd.nwshjje) nwshjje',
  411. 'sum(mcyd.nwsgjhj) nwsgjhj',
  412. 'sum(tjob.namount) namount',
  413. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  414. 'tjob.itax',
  415. ];
  416. //当年
  417. $dangnian= Db::table('mcyd')->field($field)
  418. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  419. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  420. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  421. ->where('mcyd.icydstate','>',0)
  422. ->where('mcyd.chy','<>', '集团教材外')
  423. ->select();
  424. //去年
  425. $qunian = Db::table('mcyd')->field($field)
  426. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  427. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  428. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  429. ->where('mcyd.icydstate','>',0)
  430. ->where('mcyd.chy','<>', '集团教材外')
  431. ->select();
  432. //前年
  433. $qiannian = Db::table('mcyd')->field($field)
  434. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  435. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  436. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  437. ->where('mcyd.icydstate','>',0)
  438. ->where('mcyd.chy','<>', '集团教材外')
  439. ->select();
  440. //销售收入、销售工价、日期
  441. //当年
  442. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  443. //去年
  444. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  445. //前年
  446. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  447. // 遍历查询结果,进行统计
  448. foreach ($dangnian as $v){
  449. if($v['ldz'] == 1 ){
  450. $cheng_dang += $v['namount'];
  451. $bb_dang += $v['sum_clje'];
  452. }else{
  453. $cheng_dang += $v['nwshjje'];
  454. $bb_dang += $v['nwsgjhj'];
  455. }
  456. $data_dang = $v['年'];
  457. }
  458. // 遍历查询结果,进行统计
  459. foreach ($qunian as $v){
  460. if($v['ldz'] == 1 ){
  461. $cheng_qu += $v['namount'];
  462. $bb_qu += $v['sum_clje'];
  463. }else{
  464. $cheng_qu += $v['nwshjje'];
  465. $bb_qu += $v['nwsgjhj'];
  466. }
  467. $data_qu = $v['年'];
  468. }
  469. // 遍历查询结果,进行统计
  470. foreach ($qiannian as $v){
  471. if($v['ldz'] == 1 ){
  472. $cheng_qian += $v['namount'];
  473. $bb_qian += $v['sum_clje'];
  474. }else{
  475. $cheng_qian += $v['nwshjje'];
  476. $bb_qian += $v['nwsgjhj'];
  477. }
  478. $data_qian = $v['年'];
  479. }
  480. if($data_dang == 0){
  481. $data_dang = date("Y");
  482. }
  483. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  484. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  485. $res['status']=0;
  486. $res['msg']='';
  487. $res['data']=$list;
  488. $redis->set($redis_key, json_encode($res));
  489. return json_encode($res);
  490. }
  491. //承印加工收入->缓存调用 全部包含集团教材外
  492. public function getjgsrs_redis(){
  493. $redis=redis();
  494. $redis_key = md5('getjgsrs_redis');
  495. // 定义需要查询的字段
  496. $field = [
  497. 'ldz',
  498. 'mcyd.icydid',
  499. 'year(mcyd.dcyrq) as 年',
  500. 'mcyd.dcyrq as 日期',
  501. 'sum(mcyd.nwshjje) nwshjje',
  502. 'sum(mcyd.nwsgjhj) nwsgjhj',
  503. 'sum(tjob.namount) namount',
  504. 'sum(tjob.namount) - sum(tjob.nclje * 100 / (100 + tjob.itax)) as sum_clje',
  505. 'tjob.itax',
  506. ];
  507. //当年
  508. $dangnian= Db::table('mcyd')->field($field)
  509. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  510. ->whereTime('mcyd.dcyrq', 'between', [$this->start_time(),$this->end_time()])
  511. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  512. ->where('mcyd.icydstate','>',0)
  513. ->select();
  514. //去年
  515. $qunian = Db::table('mcyd')->field($field)
  516. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  517. ->whereTime('mcyd.dcyrq', 'between', [$this->qstart_time(),$this->qend_time()])
  518. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  519. ->where('mcyd.icydstate','>',0)
  520. ->select();
  521. //前年
  522. $qiannian = Db::table('mcyd')->field($field)
  523. ->join('tjob','mcyd.icydid = tjob.icydid','LEFT')
  524. ->whereTime('mcyd.dcyrq', 'between', [$this->qianstart_time(),$this->qianend_time()])
  525. ->group('tjob.icydid,tjob.ldz,mcyd.dcyrq')
  526. ->where('mcyd.icydstate','>',0)
  527. ->select();
  528. //销售收入、销售工价、日期
  529. //当年
  530. $cheng_dang = 0;$bb_dang = 0;$data_dang = 0;
  531. //去年
  532. $cheng_qu = 0;$bb_qu = 0;$data_qu = 0;
  533. //前年
  534. $cheng_qian = 0;$bb_qian = 0; $data_qian = 0;
  535. // 遍历查询结果,进行统计
  536. foreach ($dangnian as $v){
  537. if($v['ldz'] == 1 ){
  538. $cheng_dang += $v['namount'];
  539. $bb_dang += $v['sum_clje'];
  540. }else{
  541. $cheng_dang += $v['nwshjje'];
  542. $bb_dang += $v['nwsgjhj'];
  543. }
  544. $data_dang = $v['年'];
  545. }
  546. // 遍历查询结果,进行统计
  547. foreach ($qunian as $v){
  548. if($v['ldz'] == 1 ){
  549. $cheng_qu += $v['namount'];
  550. $bb_qu += $v['sum_clje'];
  551. }else{
  552. $cheng_qu += $v['nwshjje'];
  553. $bb_qu += $v['nwsgjhj'];
  554. }
  555. $data_qu = $v['年'];
  556. }
  557. // 遍历查询结果,进行统计
  558. foreach ($qiannian as $v){
  559. if($v['ldz'] == 1 ){
  560. $cheng_qian += $v['namount'];
  561. $bb_qian += $v['sum_clje'];
  562. }else{
  563. $cheng_qian += $v['nwshjje'];
  564. $bb_qian += $v['nwsgjhj'];
  565. }
  566. $data_qian = $v['年'];
  567. }
  568. if($data_dang == 0){
  569. $data_dang = date("Y");
  570. }
  571. $list=['categories'=>[$data_qian,$data_qu,$data_dang],'series'=>[['name'=>'承印加工收入',
  572. 'data'=>[round($bb_qian/10000),round($bb_qu/10000),round($bb_dang/10000)]]]];
  573. $res['status']=0;
  574. $res['msg']='';
  575. $res['data']=$list;
  576. $redis->set($redis_key, json_encode($res));
  577. return json_encode($res);
  578. }
  579. //承印加工收入->接口调用
  580. public function getjgsr(){
  581. $data = input('post.');
  582. if(isset($data['dependence'])){
  583. $dependence=$data['dependence'];
  584. }else{
  585. $dependence['item']['value']= '全部';
  586. }
  587. if($dependence['item']['value'] == '全部'){
  588. $redis = redis();
  589. $result = json_decode($redis->get(md5('getjgsrs_redis')),true);
  590. }else{
  591. $redis = redis();
  592. $result = json_decode($redis->get(md5('getjgsr_redis')),true);
  593. }
  594. return json($result);
  595. }
  596. //承印色令->缓存调用 本级不包含集团教材外
  597. //修改前
  598. // public function getcysl_redis(){
  599. // $redis=redis();
  600. // $redis_key = md5('getcysl_redis');
  601. // $objmatier = Db::table('scyddx')->alias('objmatier')
  602. // ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  603. // ->group('icydid')
  604. // ->buildSql();
  605. //
  606. // $t5 = Db::table('mcyd')->alias('ord')
  607. // ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  608. // ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  609. // ->where('ord.icydstate', '>', 0)
  610. // ->where('chy', '<>', '集团教材外')
  611. // ->group('rq')
  612. // ->buildSql();
  613. //
  614. // $list2023 = Db::table($t5 . ' t5')
  615. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  616. // ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  617. // ->find();
  618. // $list2022 = Db::table($t5 . ' t5')
  619. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  620. // ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  621. // ->find();
  622. // $list2021 = Db::table($t5 . ' t5')
  623. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  624. // ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  625. // ->find();
  626. //
  627. // $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  628. // 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  629. // $res['status']=0;
  630. // $res['msg']='';
  631. // $res['data']=$list;
  632. // $redis->set($redis_key, json_encode($res));
  633. // return json_encode($res);
  634. // }
  635. //修改后
  636. public function getcysl_redis(){
  637. $redis=redis();
  638. $redis_key = md5('getcysl_redis');
  639. // 清空旧缓存,杜绝数据偏小
  640. $redis->del($redis_key);
  641. $objmatier = Db::table('scyddx')->alias('objmatier')
  642. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  643. ->group('icydid')
  644. ->buildSql();
  645. $t5 = Db::table('mcyd')->alias('ord')
  646. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  647. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  648. ->where('ord.icydstate', '>', 0)
  649. ->where('chy', '<>', '集团教材外')
  650. ->group('rq')
  651. ->buildSql();
  652. // 【核心修复:套一层子查询,完全保留原版SUM结果,不改变任何数据】
  653. $list2023 = Db::table("(SELECT DATE_FORMAT(t5.rq,'%Y') as rq FROM {$t5} t5 WHERE t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' LIMIT 1) t")
  654. ->join("(SELECT SUM(t5.sl) as nyssl,SUM(t5.zl) as nysls FROM {$t5} t5 WHERE t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}') s",'1=1')
  655. ->find();
  656. $list2022 = Db::table("(SELECT DATE_FORMAT(t5.rq,'%Y') as rq FROM {$t5} t5 WHERE t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' LIMIT 1) t")
  657. ->join("(SELECT SUM(t5.sl) as nyssl,SUM(t5.zl) as nysls FROM {$t5} t5 WHERE t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}') s",'1=1')
  658. ->find();
  659. $list2021 = Db::table("(SELECT DATE_FORMAT(t5.rq,'%Y') as rq FROM {$t5} t5 WHERE t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' LIMIT 1) t")
  660. ->join("(SELECT SUM(t5.sl) as nyssl,SUM(t5.zl) as nysls FROM {$t5} t5 WHERE t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}') s",'1=1')
  661. ->find();
  662. // 下面所有代码 完全原版 一字未改
  663. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  664. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  665. $res['status']=0;
  666. $res['msg']='';
  667. $res['data']=$list;
  668. $redis->set($redis_key, json_encode($res));
  669. return json_encode($res);
  670. }
  671. //承印色令->缓存调用 全部包含集团教材外
  672. public function getcysls_redis(){
  673. $redis=redis();
  674. $redis_key = md5('getcysls_redis');
  675. $objmatier = Db::table('scyddx')->alias('objmatier')
  676. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  677. ->group('icydid')
  678. ->buildSql();
  679. $t5 = Db::table('mcyd')->alias('ord')
  680. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  681. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  682. ->where('ord.icydstate', '>', 0)
  683. // ->where('chy', '<>', '集团教材外')
  684. ->group('rq')
  685. ->buildSql();
  686. $list2023 = Db::table($t5 . ' t5')
  687. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  688. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  689. ->find();
  690. $list2022 = Db::table($t5 . ' t5')
  691. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  692. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  693. ->find();
  694. $list2021 = Db::table($t5 . ' t5')
  695. ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  696. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  697. ->find();
  698. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'色令数',
  699. 'data'=>[round($list2021['nyssl']/10000),round($list2022['nyssl']/10000),round($list2023['nyssl']/10000)]]]];
  700. $res['status']=0;
  701. $res['msg']='';
  702. $res['data']=$list;
  703. $redis->set($redis_key, json_encode($res));
  704. return json_encode($res);
  705. }
  706. //承印色令->接口调用
  707. public function getcysl(){
  708. // $redis=redis();
  709. // $redis_key = md5('getcysl_redis');
  710. // $redis_data = $redis->get($redis_key);
  711. // return $redis_data;
  712. $data = input('post.');
  713. if(isset($data['dependence'])){
  714. $dependence=$data['dependence'];
  715. }else{
  716. $dependence['item']['value']= '全部';
  717. }
  718. if($dependence['item']['value'] == '全部'){
  719. $redis = redis();
  720. $result = json_decode($redis->get(md5('getcysls_redis')),true);
  721. }else{
  722. $redis = redis();
  723. $result = json_decode($redis->get(md5('getcysl_redis')),true);
  724. }
  725. return json($result);
  726. }
  727. //承印纸令->缓存调用 本级不包含集团教材外
  728. //修改前
  729. public function getcyzl_redis(){
  730. $redis=redis();
  731. $redis_key = md5('getcyzl_redis');
  732. // 先删除旧脏缓存
  733. $redis->del($redis_key);
  734. $objmatier = Db::table('scyddx')->alias('objmatier')
  735. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  736. ->group('icydid')
  737. ->buildSql();
  738. $t5 = Db::table('mcyd')->alias('ord')
  739. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  740. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  741. ->where('ord.icydstate','>',0)
  742. ->where('chy', '<>', '集团教材外')
  743. ->group('rq')
  744. ->buildSql();
  745. // ==========2024 拆分两条SQL:只求和 + 单独取年份==========
  746. $sum2021 = Db::table($t5 . ' t5')
  747. ->field("sum(t5.zl) as nysls")
  748. ->where("t5.RQ >= '{$this->qianstart_time()}' AND t5.RQ <= '{$this->qianend_time()}' ")
  749. ->find();
  750. $year2021 = Db::table($t5 . ' t5')
  751. ->field("DATE_FORMAT(t5.rq, '%Y') as rq")
  752. ->where("t5.RQ >= '{$this->qianstart_time()}' AND t5.RQ <= '{$this->qianend_time()}' ")
  753. ->limit(1)
  754. ->find();
  755. // ==========2025==========
  756. $sum2022 = Db::table($t5 . ' t5')
  757. ->field("sum(t5.zl) as nysls")
  758. ->where("t5.RQ >= '{$this->qstart_time()}' AND t5.RQ <= '{$this->qend_time()}' ")
  759. ->find();
  760. $year2022 = Db::table($t5 . ' t5')
  761. ->field("DATE_FORMAT(t5.rq, '%Y') as rq")
  762. ->where("t5.RQ >= '{$this->qstart_time()}' AND t5.RQ <= '{$this->qend_time()}' ")
  763. ->limit(1)
  764. ->find();
  765. // ==========2026==========
  766. $sum2023 = Db::table($t5 . ' t5')
  767. ->field("sum(t5.zl) as nysls")
  768. ->where("t5.RQ >= '{$this->start_time()}' AND t5.RQ <= '{$this->end_time()}' ")
  769. ->find();
  770. $year2023 = Db::table($t5 . ' t5')
  771. ->field("DATE_FORMAT(t5.rq, '%Y') as rq")
  772. ->where("t5.RQ >= '{$this->start_time()}' AND t5.RQ <= '{$this->end_time()}' ")
  773. ->limit(1)
  774. ->find();
  775. $list=[
  776. 'categories'=>[$year2021['rq'],$year2022['rq'],$year2023['rq']],
  777. 'series'=>[[
  778. 'name'=>'纸令数',
  779. 'data'=>[
  780. round(($sum2021['nysls']??0)/10000),
  781. round(($sum2022['nysls']??0)/10000),
  782. round(($sum2023['nysls']??0)/10000)
  783. ]
  784. ]]
  785. ];
  786. $res['status']=0;
  787. $res['msg']='';
  788. $res['data']=$list;
  789. if($list){
  790. echo date("Y-m-d H:i:s").'存进去了';
  791. $redis->set($redis_key, json_encode($res));
  792. return json_encode($res);
  793. }
  794. }
  795. //// public function getcyzl_redis(){
  796. // $redis=redis();
  797. // $redis_key = md5('getcyzl_redis');
  798. // $objmatier = Db::table('scyddx')->alias('objmatier')
  799. // ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  800. // ->group('icydid')
  801. // ->buildSql();
  802. //
  803. // $t5 = Db::table('mcyd')->alias('ord')
  804. // ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  805. // ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  806. // ->where('ord.icydstate','>',0)
  807. // ->where('chy', '<>', '集团教材外')
  808. // ->group('rq')
  809. // ->buildSql();
  810. //
  811. // $list2023 = Db::table($t5 . ' t5')
  812. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  813. // ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  814. // ->find();
  815. // $list2022 = Db::table($t5 . ' t5')
  816. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  817. // ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  818. // ->find();
  819. // $list2021 = Db::table($t5 . ' t5')
  820. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  821. // ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  822. // ->find();
  823. // $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  824. // 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  825. // $res['status']=0;
  826. // $res['msg']='';
  827. // $res['data']=$list;
  828. // if($list){
  829. // echo date("Y-m-d H:i:s").'存进去了';
  830. // $redis->set($redis_key, json_encode($res));
  831. // return json_encode($res);
  832. // }
  833. // }
  834. //修改后
  835. // public function getcyzl_redis(){
  836. // $redis=redis();
  837. // $redis_key = md5('getcyzl_redis');
  838. // $objmatier = Db::table('scyddx')->alias('objmatier')
  839. // ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  840. // ->group('icydid')
  841. // ->buildSql();
  842. //
  843. // $t5 = Db::table('mcyd')->alias('ord')
  844. // ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  845. // ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  846. // ->where('ord.icydstate','>',0)
  847. // ->where('chy', '<>', '集团教材外')
  848. // ->group('rq')
  849. // ->buildSql();
  850. //
  851. // // 内层只查总和,完全不带rq,不会触发1140报错
  852. // $list2023 = Db::table($t5 . ' t5')
  853. // ->field("SUM(t5.sl) as nyssl,SUM(t5.zl) as nysls")
  854. // ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  855. // ->find();
  856. // // 单独查年份,不跟聚合写在同一句SQL里,彻底规避语法校验
  857. // $year2023 = Db::table($t5 . ' t5')
  858. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq")
  859. // ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  860. // ->limit(1)
  861. // ->find();
  862. //
  863. // $list2022 = Db::table($t5 . ' t5')
  864. // ->field("SUM(t5.sl) as nyssl,SUM(t5.zl) as nysls")
  865. // ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  866. // ->find();
  867. // $year2022 = Db::table($t5 . ' t5')
  868. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq")
  869. // ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  870. // ->limit(1)
  871. // ->find();
  872. //
  873. // $list2021 = Db::table($t5 . ' t5')
  874. // ->field("SUM(t5.sl) as nyssl,SUM(t5.zl) as nysls")
  875. // ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  876. // ->find();
  877. // $year2021 = Db::table($t5 . ' t5')
  878. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq")
  879. // ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  880. // ->limit(1)
  881. // ->find();
  882. //
  883. // $list=[
  884. // 'categories'=>[$year2021['rq'],$year2022['rq'],$year2023['rq']],
  885. // 'series'=>[[
  886. // 'name'=>'纸令数',
  887. // 'data'=>[
  888. // round($list2021['nysls']/10000),
  889. // round($list2022['nysls']/10000),
  890. // round($list2023['nysls']/10000)
  891. // ]
  892. // ]]
  893. // ];
  894. // $res['status']=0;
  895. // $res['msg']='';
  896. // $res['data']=$list;
  897. // if($list){
  898. // echo date("Y-m-d H:i:s").'存进去了';
  899. // // 先删旧缓存再写入
  900. // $redis->del($redis_key);
  901. // $redis->set($redis_key, json_encode($res));
  902. // return json_encode($res);
  903. // }
  904. // }
  905. //承印纸令->缓存调用 全部包含集团教材外
  906. //修改前
  907. // public function getcyzls_redis(){
  908. // $redis=redis();
  909. // $redis_key = md5('getcyzls_redis');
  910. // $objmatier = Db::table('scyddx')->alias('objmatier')
  911. // ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  912. // ->group('icydid')
  913. // ->buildSql();
  914. //
  915. // $t5 = Db::table('mcyd')->alias('ord')
  916. // ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  917. // ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  918. // ->where('ord.icydstate','>',0)
  919. // ->group('rq')
  920. // ->buildSql();
  921. //
  922. // $list2023 = Db::table($t5 . ' t5')
  923. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  924. // ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  925. // ->find();
  926. // $list2022 = Db::table($t5 . ' t5')
  927. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  928. // ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  929. // ->find();
  930. // $list2021 = Db::table($t5 . ' t5')
  931. // ->field("DATE_FORMAT(t5.rq, '%Y') as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  932. // ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  933. // ->find();
  934. // $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  935. // 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  936. // $res['status']=0;
  937. // $res['msg']='';
  938. // $res['data']=$list;
  939. // if($list){
  940. // $redis->set($redis_key, json_encode($res));
  941. // return json_encode($res);
  942. // }
  943. // }
  944. //修改后
  945. public function getcyzls_redis(){
  946. $redis=redis();
  947. $redis_key = md5('getcyzls_redis');
  948. $objmatier = Db::table('scyddx')->alias('objmatier')
  949. ->field('icydid,sum(nyssl) as nyssl,sum(nysls) as nysls')
  950. ->group('icydid')
  951. ->buildSql();
  952. $t5 = Db::table('mcyd')->alias('ord')
  953. ->field("DATE_FORMAT( dcyrq, '%Y-%m-%d' ) as rq,sum(objmatier.nyssl) as sl,sum(objmatier.nysls) as zl")
  954. ->join('(' . $objmatier . ') as objmatier', ' ord.icydid = objmatier.icydid','LEFT')
  955. ->where('ord.icydstate','>',0)
  956. ->group('rq')
  957. ->buildSql();
  958. // 只给年份字段套MAX()聚合,不新增任何GROUP BY,全局求和逻辑不变,解决1140报错
  959. $list2023 = Db::table($t5 . ' t5')
  960. ->field("MAX(DATE_FORMAT(t5.rq, '%Y')) as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  961. ->where("t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' ")
  962. ->find();
  963. $list2022 = Db::table($t5 . ' t5')
  964. ->field("MAX(DATE_FORMAT(t5.rq, '%Y')) as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  965. ->where("t5.RQ >= '{$this->qstart_time()}'AND t5.RQ <= '{$this->qend_time()}' ")
  966. ->find();
  967. $list2021 = Db::table($t5 . ' t5')
  968. ->field("MAX(DATE_FORMAT(t5.rq, '%Y')) as rq,sum(t5.sl) as nyssl,sum(t5.zl) as nysls")
  969. ->where("t5.RQ >= '{$this->qianstart_time()}'AND t5.RQ <= '{$this->qianend_time()}' ")
  970. ->find();
  971. // 下方数组组装、Redis、返回逻辑一行未改,和原代码完全相同
  972. $list=['categories'=>[$list2021['rq'],$list2022['rq'],$list2023['rq']],'series'=>[['name'=>'纸令数',
  973. 'data'=>[round($list2021['nysls']/10000),round($list2022['nysls']/10000),round($list2023['nysls']/10000)]]]];
  974. $res['status']=0;
  975. $res['msg']='';
  976. $res['data']=$list;
  977. if($list){
  978. $redis->set($redis_key, json_encode($res));
  979. return json_encode($res);
  980. }
  981. }
  982. //承印纸令->接口调用
  983. public function getcyzl(){
  984. $data = input('post.');
  985. if(isset($data['dependence'])){
  986. $dependence=$data['dependence'];
  987. }else{
  988. $dependence['item']['value']= '全部';
  989. }
  990. if($dependence['item']['value'] == '全部'){
  991. $redis = redis();
  992. $result = json_decode($redis->get(md5('getcyzls_redis')),true);
  993. }else{
  994. $redis = redis();
  995. $result = json_decode($redis->get(md5('getcyzl_redis')),true);
  996. }
  997. return json($result);
  998. }
  999. //去年与当年--印刷实物产量色令->缓存调用
  1000. public function yssl_redis(){
  1001. $redis=redis();
  1002. $redis_key = md5('yssl_redis');
  1003. //首先定义了起始时间和结束时间
  1004. //根据查询条件查出色令数据
  1005. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  1006. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  1007. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  1008. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  1009. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  1010. ->union(function ($query) {
  1011. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  1012. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  1013. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  1014. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  1015. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  1016. '小森八色01号机','小森八色02号机']);
  1017. }, true)->buildSql();
  1018. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  1019. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  1020. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  1021. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  1022. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  1023. ->union(function ($query) {
  1024. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  1025. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  1026. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机','如钰02号机',
  1027. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  1028. }, true)->buildSql();
  1029. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  1030. ->whereIn('cbzmc', [
  1031. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  1032. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  1033. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  1034. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  1035. ->union(function ($query) {
  1036. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  1037. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  1038. ->whereIn('cMachineName', ['标规小森商轮1号',
  1039. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  1040. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号','标规北人轮转1号']);
  1041. }, true)
  1042. ->buildSql();
  1043. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  1044. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  1045. ->union(function ($query) {
  1046. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  1047. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  1048. })->buildSql();
  1049. //查询每天的数据
  1050. $subQuery1 = Db::table($subQuery1_child . 'T')
  1051. ->field('rq,SUM( fsjsl ) nFourColorSL')
  1052. ->group('rq')->buildSql();
  1053. $subQuery2 = Db::table($subQuery2_child . 'T')
  1054. ->field('rq,SUM( fsjsl ) nBBSL')
  1055. ->group('rq')->buildSql();
  1056. $subQuery3 = Db::table($subQuery3_child . 'T')
  1057. ->field('rq,SUM( fsjsl ) nnRotationSL')
  1058. ->group('rq')->buildSql();
  1059. //按当天日期进行分组 累计相加当天数据
  1060. $subQuery1_5 = Db::table($subQuery . 'A')
  1061. ->field('
  1062. DISTINCT DATE(A.RQ) RQ,
  1063. sum(h.nBBSL) AS nBBSL,
  1064. sum(B.nFourColorSL) AS nFourColorSL,
  1065. sum(P.nnRotationSL) AS nnRotationSL
  1066. ')
  1067. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  1068. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  1069. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  1070. ->group('RQ')
  1071. ->buildSql();
  1072. // 获取当前年份和前两年的年份
  1073. $currentYear = date("Y");
  1074. $lastYear = date("Y", strtotime("-1 year"));
  1075. $twoYearsAgo = date("Y", strtotime("-2 years"));
  1076. // 查询SQL,按月份分组计算
  1077. $sql_final = Db::table($subQuery1_5 . ' db')
  1078. ->field("
  1079. DATE_FORMAT(db.RQ, '%Y-%m') AS '日期',
  1080. ROUND(SUM(db.nBBSL) + SUM(db.nFourColorSL) + SUM(db.nnRotationSL)) AS '印刷实物产量色令数'
  1081. ")
  1082. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  1083. ->group("DATE_FORMAT(db.RQ, '%Y-%m')")
  1084. ->select();
  1085. $list['categories'] = [];
  1086. $list['series'] = [
  1087. 0 => ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)],
  1088. 1 => ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)],
  1089. 2 => ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)],
  1090. ];
  1091. // 填充月份数据
  1092. foreach (range(1, 12) as $month) {
  1093. $list['categories'][] = str_pad($month, 2, '0', STR_PAD_LEFT); // 月份:01, 02, ..., 12
  1094. }
  1095. $currentMonth = date("m");
  1096. foreach ($sql_final as $v) {
  1097. $yearMonth = $v['日期'];
  1098. $year = date('Y', strtotime($yearMonth));
  1099. $month = date('m', strtotime($yearMonth)) - 1; // 索引从0开始
  1100. if ($year == $currentYear) {
  1101. $list['series'][2]['data'][$month] = $v['印刷实物产量色令数']; // 填充当前年数据
  1102. } elseif ($year == $lastYear) {
  1103. $list['series'][1]['data'][$month] = $v['印刷实物产量色令数']; // 填充去年数据
  1104. } elseif ($year == $twoYearsAgo) {
  1105. $list['series'][0]['data'][$month] = $v['印刷实物产量色令数']; // 填充前两年数据
  1106. }
  1107. }
  1108. //某一年没有数据,填充为0
  1109. if (!isset($list['series'][1]['data'][$currentMonth - 1])) {
  1110. $list['series'][1]['data'][$currentMonth - 1] = 0;
  1111. }
  1112. $res['status'] = 0;
  1113. $res['msg'] = '';
  1114. $res['data'] = $list;
  1115. $redis->set($redis_key, json_encode($res));
  1116. return json_encode($res);
  1117. }
  1118. //去年与当年--印刷实物产量色令->接口调用
  1119. public function yssl(){
  1120. $redis=redis();
  1121. $redis_key = md5('yssl_redis');
  1122. $redis_data = $redis->get($redis_key);
  1123. return $redis_data;
  1124. }
  1125. //去年与当年--印刷实物产量纸令->缓存调用
  1126. public function yszl_redis(){
  1127. $redis=redis();
  1128. $redis_key = md5('yszl_redis');
  1129. //首先定义了起始时间和结束时间
  1130. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  1131. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  1132. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  1133. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  1134. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  1135. ->union(function ($query) {
  1136. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl')
  1137. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  1138. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  1139. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  1140. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  1141. '小森八色01号机','小森八色02号机']);
  1142. }, true)->buildSql();
  1143. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  1144. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  1145. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  1146. 'BB机5号(甲班)','BB机5号(乙班)',
  1147. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  1148. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  1149. ->union(function ($query) {
  1150. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  1151. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  1152. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机','如钰02号机',
  1153. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  1154. }, true)->buildSql();
  1155. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjls')
  1156. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  1157. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  1158. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  1159. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  1160. ->union(function ($query) {
  1161. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nzl ')
  1162. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  1163. ->whereIn('cMachineName', ['标规小森商轮1号',
  1164. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  1165. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯2号','大规高斯轮转1号','标规高斯轮转2号','标规北人轮转1号']);
  1166. }, true)->buildSql();
  1167. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  1168. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  1169. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  1170. })->buildSql();
  1171. //四色机纸令合计
  1172. $subQuery1 = Db::table($subQuery1_child . 'T')
  1173. ->field('rq,SUM( fsjls ) nFourColorSL')
  1174. ->group('rq')->buildSql();
  1175. //BB机纸令合计
  1176. $subQuery2 = Db::table($subQuery2_child . 'T')
  1177. ->field('rq,SUM( fsjls ) nBBSL')
  1178. ->group('rq')->buildSql();
  1179. //轮转纸令合计
  1180. $subQuery3 = Db::table($subQuery3_child . 'T')
  1181. ->field('rq,SUM( fsjls ) nnRotationSL ')
  1182. ->group('rq')->buildSql();
  1183. $subQuery1_5 = Db::table($subQuery . 'A')
  1184. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL')
  1185. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  1186. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  1187. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  1188. ->buildSql();
  1189. // 获取当前年份和前两年的年份
  1190. $currentYear = date("Y"); // 当前年份
  1191. $lastYear = date("Y", strtotime("-1 year")); // 去年
  1192. $twoYearsAgo = date("Y", strtotime("-2 years")); // 前两年
  1193. $sql_final = Db::table($subQuery1_5 . ' db')
  1194. ->field("
  1195. DATE_FORMAT( db.RQ, '%Y-%m' ) AS '日期',
  1196. ROUND(SUM( db.nBBSL ) + SUM( db.nFourColorSL ) + SUM( db.nnRotationSL )) AS '印刷实物产量纸令数'
  1197. ")
  1198. ->where("db.RQ >= '{$this->qianstart_time()}' AND db.RQ <= '{$this->end_time()}' ")
  1199. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  1200. ->select();
  1201. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']; // 月份
  1202. $list['series'] = [
  1203. ['name' => $twoYearsAgo . '年', 'data' => array_fill(0, 12, 0)], // 初始化前两年的数据为0
  1204. ['name' => $lastYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化去年的数据为0
  1205. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)], // 初始化今年的数据为0
  1206. ];
  1207. $currentMonth = date("m");
  1208. foreach ($sql_final as $v) {
  1209. // 提取年份和月份
  1210. $yearMonth = $v['日期']; // 格式:YYYY-MM
  1211. $year = date('Y', strtotime($yearMonth)); // 提取年份
  1212. $month = date('m', strtotime($yearMonth)) - 1; // 月份(数组索引从0开始)
  1213. // 根据年份分配数据
  1214. if ($year == $currentYear) {
  1215. $list['series'][2]['data'][$month] = $v['印刷实物产量纸令数']; // 填充今年数据
  1216. } elseif ($year == $lastYear) {
  1217. $list['series'][1]['data'][$month] = $v['印刷实物产量纸令数']; // 填充去年数据
  1218. } elseif ($year == $twoYearsAgo) {
  1219. $list['series'][0]['data'][$month] = $v['印刷实物产量纸令数']; // 填充前两年数据
  1220. }
  1221. }
  1222. $res['status'] = 0;
  1223. $res['msg'] = '';
  1224. $res['data'] = $list;
  1225. $redis->set($redis_key, json_encode($res));
  1226. return json_encode($res);
  1227. }
  1228. //去年与当年--印刷实物产量纸令->接口调用
  1229. public function yszl(){
  1230. $redis=redis();
  1231. $redis_key = md5('yszl_redis');
  1232. $redis_data = $redis->get($redis_key);
  1233. return $redis_data;
  1234. }
  1235. //去年装订实物产量册数->缓存调用
  1236. public function zdcs2022(){
  1237. $redis=redis();
  1238. $redis_key = md5('zdcs2022');
  1239. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1240. ->union(function ($query) {
  1241. $query->table('scDayRpt_Teams')->alias('b')
  1242. ->field("DISTINCT DATE_FORMAT(
  1243. CASE
  1244. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1245. ELSE b.dOnDuty
  1246. END,
  1247. '%Y-%m-%d'
  1248. ) AS RQ");
  1249. }, true)
  1250. ->buildSql();
  1251. $B1 = Db::table('cpjtfk')
  1252. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1253. ->field("
  1254. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1255. sum(iwcl) as 精1乙
  1256. ")
  1257. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1258. ->group('drptdate,cbanzu')
  1259. ->buildSql();
  1260. $rr = Db::table('scyddx')->alias('r')
  1261. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1262. ->group('r.ICYDID')
  1263. ->buildSql();
  1264. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1265. ->field("
  1266. 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,
  1267. sum(a.nAmount) as 精11乙
  1268. ")
  1269. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1270. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1271. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1272. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1273. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1274. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1275. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  1276. ->group("CASE
  1277. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1278. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1279. END,Name_WorkGroup")
  1280. ->buildSql();
  1281. $db = Db::table($A . 'a')
  1282. ->field("
  1283. DISTINCT DATE(A.RQ) rq,
  1284. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1285. ")
  1286. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1287. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1288. ->group('rq')
  1289. ->buildSql();
  1290. $jp = Db::table($db . ' db')
  1291. ->field("
  1292. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1293. ROUND(sum(db.总计册), 0) as 精平册数
  1294. ")->where("db.RQ >= '{$this->qstart_time()}'
  1295. AND db.RQ <= '{$this->qend_time()}' ")
  1296. ->group('MONTH(db.rq)')
  1297. ->select();
  1298. $B = Db::table('cpjtfk')
  1299. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1300. ->field("
  1301. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1302. sum(iwcl) as 马1甲
  1303. ")
  1304. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1305. ->group('drptdate,cbanzu')
  1306. ->buildSql();
  1307. $B1 = Db::table('cpjtfk')
  1308. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1309. ->field("
  1310. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1311. sum(iwcl) as 马1乙
  1312. ")
  1313. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1314. ->group('drptdate,cbanzu')
  1315. ->buildSql();
  1316. $C = Db::table('cpjtfk')
  1317. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1318. ->field("
  1319. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1320. sum(iwcl) as 马2甲
  1321. ")
  1322. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1323. ->group('drptdate,cbanzu')
  1324. ->buildSql();
  1325. $C1 = Db::table('cpjtfk')
  1326. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1327. ->field("
  1328. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1329. sum(iwcl) as 马2乙
  1330. ")
  1331. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1332. ->group('drptdate,cbanzu')
  1333. ->buildSql();
  1334. $D = Db::table('cpjtfk')
  1335. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1336. ->field("
  1337. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1338. sum(iwcl) as 马3甲
  1339. ")
  1340. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1341. ->group('drptdate,cbanzu')
  1342. ->buildSql();
  1343. $D1 = Db::table('cpjtfk')
  1344. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1345. ->field("
  1346. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1347. sum(iwcl) as 马3乙
  1348. ")
  1349. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1350. ->group('drptdate,cbanzu')
  1351. ->buildSql();
  1352. $E = Db::table('cpjtfk')
  1353. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1354. ->field("
  1355. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1356. sum(iwcl) as 马4甲
  1357. ")
  1358. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1359. ->group('drptdate,cbanzu')
  1360. ->buildSql();
  1361. $E1 = Db::table('cpjtfk')
  1362. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1363. ->field("
  1364. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1365. sum(iwcl) as 马4乙
  1366. ")
  1367. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1368. ->group('drptdate,cbanzu')
  1369. ->buildSql();
  1370. $F = Db::table('cpjtfk')
  1371. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1372. ->field("
  1373. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1374. sum(iwcl) as 马5甲
  1375. ")
  1376. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1377. ->group('drptdate,cbanzu')
  1378. ->buildSql();
  1379. $F1 = Db::table('cpjtfk')
  1380. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1381. ->field("
  1382. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1383. sum(iwcl) as 马5乙,
  1384. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1385. ")
  1386. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1387. ->group('drptdate,cbanzu')
  1388. ->buildSql();
  1389. $rr = Db::table('scyddx')->alias('r')
  1390. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1391. ->group('r.ICYDID')
  1392. ->buildSql();
  1393. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1394. ->field("
  1395. 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,
  1396. sum(a.nAmount) as 马11甲")
  1397. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1398. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1399. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1400. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1401. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1402. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1403. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1404. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1405. ->group("CASE
  1406. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1407. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1408. END,Name_WorkGroup")->buildSql();
  1409. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1410. ->field("
  1411. 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,
  1412. sum(a.nAmount) as 马11乙
  1413. ")
  1414. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1415. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1416. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1417. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1418. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1419. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1420. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  1421. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1422. ->group("CASE
  1423. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1424. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1425. END,Name_WorkGroup")
  1426. ->buildSql();
  1427. $CC = Db::table('ql_report_feedback_day')->alias('a')
  1428. ->field("
  1429. 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,
  1430. sum(a.nAmount) as 马22甲
  1431. ")
  1432. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1433. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1434. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1435. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1436. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1437. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1438. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  1439. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1440. ->group("CASE
  1441. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1442. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1443. END,Name_WorkGroup")
  1444. ->buildSql();
  1445. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  1446. ->field("
  1447. 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,
  1448. sum(a.nAmount) as 马22乙
  1449. ")
  1450. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1451. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1452. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1453. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1454. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1455. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1456. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  1457. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1458. ->group("CASE
  1459. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1460. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1461. END,Name_WorkGroup")
  1462. ->buildSql();
  1463. $EE = Db::table('ql_report_feedback_day')->alias('a')
  1464. ->field("
  1465. 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,
  1466. sum(a.nAmount) as 马33甲
  1467. ")
  1468. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1469. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1470. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1471. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1472. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1473. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1474. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  1475. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1476. ->group("CASE
  1477. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1478. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1479. END,Name_WorkGroup")
  1480. ->buildSql();
  1481. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  1482. ->field("
  1483. 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,
  1484. sum(a.nAmount) as 马33乙
  1485. ")
  1486. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1487. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1488. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1489. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1490. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1491. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1492. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  1493. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1494. ->group("CASE
  1495. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1496. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1497. END,Name_WorkGroup")
  1498. ->buildSql();
  1499. $HH = Db::table('ql_report_feedback_day')->alias('a')
  1500. ->field("
  1501. 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,
  1502. sum(a.nAmount) as 马44甲
  1503. ")
  1504. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1505. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1506. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1507. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1508. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1509. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1510. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  1511. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1512. ->group("CASE
  1513. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1514. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1515. END,Name_WorkGroup")
  1516. ->buildSql();
  1517. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  1518. ->field("
  1519. 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,
  1520. sum(a.nAmount) as 马44乙
  1521. ")
  1522. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1523. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1524. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1525. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1526. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1527. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1528. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  1529. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1530. ->group("CASE
  1531. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1532. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1533. END,Name_WorkGroup")
  1534. ->buildSql();
  1535. $XX = Db::table('ql_report_feedback_day')->alias('a')
  1536. ->field("
  1537. 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,
  1538. sum(a.nAmount) as 马55甲
  1539. ")
  1540. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1541. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1542. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1543. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1544. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1545. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1546. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  1547. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1548. ->group("CASE
  1549. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1550. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1551. END,Name_WorkGroup")
  1552. ->buildSql();
  1553. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  1554. ->field("
  1555. 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,
  1556. sum(a.nAmount) as 马66甲
  1557. ")
  1558. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1559. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1560. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1561. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1562. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1563. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1564. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  1565. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1566. ->group("CASE
  1567. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1568. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1569. END,Name_WorkGroup")
  1570. ->buildSql();
  1571. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  1572. ->field("
  1573. 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,
  1574. sum(a.nAmount) as 马77甲
  1575. ")
  1576. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1577. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1578. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1579. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1580. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1581. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1582. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  1583. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1584. ->group("CASE
  1585. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1586. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1587. END,Name_WorkGroup")
  1588. ->buildSql();
  1589. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  1590. ->field("
  1591. 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,
  1592. sum(a.nAmount) as 马55乙
  1593. ")
  1594. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1595. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1596. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1597. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1598. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1599. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1600. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  1601. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1602. ->group("CASE
  1603. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1604. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1605. END,Name_WorkGroup")
  1606. ->buildSql();
  1607. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  1608. ->field("
  1609. 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,
  1610. sum(a.nAmount) as 马66乙
  1611. ")
  1612. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1613. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1614. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1615. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1616. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1617. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1618. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  1619. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1620. ->group("CASE
  1621. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1622. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1623. END,Name_WorkGroup")
  1624. ->buildSql();
  1625. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  1626. ->field("
  1627. 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,
  1628. sum(a.nAmount) as 马77乙
  1629. ")
  1630. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1631. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1632. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1633. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1634. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1635. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1636. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  1637. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1638. ->group("CASE
  1639. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1640. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1641. END,Name_WorkGroup")
  1642. ->buildSql();
  1643. $db = Db::table($A . 'a')
  1644. ->field("
  1645. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  1646. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  1647. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  1648. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  1649. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  1650. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  1651. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  1652. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  1653. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  1654. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  1655. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  1656. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  1657. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  1658. ")
  1659. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  1660. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1661. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  1662. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  1663. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  1664. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  1665. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  1666. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  1667. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  1668. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  1669. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1670. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1671. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  1672. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  1673. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  1674. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  1675. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  1676. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  1677. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  1678. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  1679. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  1680. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  1681. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  1682. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  1683. ->buildSql();
  1684. $jd = Db::table($db . ' db')
  1685. ->field("
  1686. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1687. ROUND(sum(db.总计册), 0) as 无线胶订册数
  1688. ")->where("db.RQ >= '{$this->qstart_time()}'
  1689. AND db.RQ <= '{$this->qend_time()}' ")
  1690. ->group('MONTH(db.rq)')
  1691. ->select();
  1692. $B = Db::table('cpjtfk')
  1693. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1694. ->field("
  1695. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1696. Sum(iWcl) AS '簿1甲'
  1697. ")
  1698. ->where('cbanzu','=','簿册机1号(甲班)')
  1699. ->group('drptdate,cbanzu')
  1700. ->buildSql();
  1701. $B1 = Db::table('cpjtfk')
  1702. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1703. ->field("
  1704. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1705. Sum(iWcl) AS '簿1乙'
  1706. ")
  1707. ->where('cbanzu','=','簿册机1号(乙班)')
  1708. ->group('drptdate,cbanzu')
  1709. ->buildSql();
  1710. $rr = Db::table('scyddx')->alias('r')
  1711. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1712. ->group('r.ICYDID')
  1713. ->buildSql();
  1714. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1715. ->field("
  1716. 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,
  1717. Sum(a.nAmount) AS '簿11甲'
  1718. ")
  1719. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1720. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1721. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1722. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1723. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1724. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1725. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  1726. ->where('a.cTechName' ,'=','簿册联动')
  1727. ->group("CASE
  1728. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1729. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1730. END,Name_WorkGroup")
  1731. ->buildSql();
  1732. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1733. ->field("
  1734. 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,
  1735. Sum(a.nAmount) AS '簿11乙'
  1736. ")
  1737. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1738. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1739. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1740. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1741. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1742. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1743. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  1744. ->where('a.cTechName' ,'=','簿册联动')
  1745. ->group("CASE
  1746. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1747. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1748. END,Name_WorkGroup")
  1749. ->buildSql();
  1750. $db = Db::table($A . 'a')
  1751. ->field("
  1752. DISTINCT DATE(A.RQ) rq,
  1753. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  1754. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  1755. ")
  1756. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  1757. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1758. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  1759. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1760. ->group('rq')
  1761. ->buildSql();
  1762. $bc = Db::table($db . ' db')
  1763. ->field("
  1764. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1765. ROUND(sum(db.总计册), 0) as 簿册册数
  1766. ")->where("db.RQ >= '{$this->qstart_time()}'
  1767. AND db.RQ <= '{$this->qend_time()}' ")
  1768. ->group('MONTH(db.rq)')
  1769. ->select();
  1770. // 创建一个结果数组
  1771. $result=[];
  1772. $result1 = [];
  1773. // 遍历第一个数组,并将数据加入结果数组
  1774. foreach ($jp as $val1) {
  1775. $month = $val1['日期'];
  1776. $data1 = $val1['精平册数'];
  1777. if (!isset($result[$month])) {
  1778. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1779. }
  1780. if (!isset($result1[$month])) {
  1781. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1782. }
  1783. $result1[$month] += $data1; // 累加第一个数组的数据
  1784. }
  1785. // 遍历第二个数组,并将数据加入结果数组
  1786. foreach ($jd as $val2) {
  1787. $month = $val2['日期'];
  1788. $data1 = $val2['无线胶订册数'];
  1789. if (!isset($result[$month])) {
  1790. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1791. }
  1792. if (!isset($result1[$month])) {
  1793. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1794. }
  1795. $result1[$month] += $data1; // 累加第二个数组的数据
  1796. }
  1797. foreach ($bc as $val2) {
  1798. $month = $val2['日期'];
  1799. $data1 = $val2['簿册册数'];
  1800. if (!isset($result[$month])) {
  1801. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  1802. }
  1803. if (!isset($result1[$month])) {
  1804. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  1805. }
  1806. $result1[$month] += $data1; // 累加第二个数组的数据
  1807. }
  1808. foreach($result1 as $k=>$v){
  1809. $list['categories'][]=$k;
  1810. $list['series'][0]['name']='装订实物产量册数';
  1811. $list['series'][0]['data'][]=$v;
  1812. }
  1813. $res['status']=0;
  1814. $res['msg']='';
  1815. $res['data']=$list;
  1816. $redis->set($redis_key, json_encode($result1));
  1817. // halt(json_decode($redis->get($redis_key),true));
  1818. return json_encode($result1);
  1819. }
  1820. //当年装订实物产量册数->缓存调用
  1821. public function zdcsclcs_dang(){
  1822. $redis=redis();
  1823. $redis_key = md5('zdcsclcs_dang');
  1824. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  1825. ->union(function ($query) {
  1826. $query->table('scDayRpt_Teams')->alias('b')
  1827. ->field("DISTINCT DATE_FORMAT(
  1828. CASE
  1829. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  1830. ELSE b.dOnDuty
  1831. END,
  1832. '%Y-%m-%d'
  1833. ) AS RQ");
  1834. }, true)
  1835. ->buildSql();
  1836. $B1 = Db::table('cpjtfk')
  1837. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1838. ->field("
  1839. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1840. sum(iwcl) as 精1乙
  1841. ")
  1842. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  1843. ->group('drptdate,cbanzu')
  1844. ->buildSql();
  1845. $rr = Db::table('scyddx')->alias('r')
  1846. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1847. ->group('r.ICYDID')
  1848. ->buildSql();
  1849. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1850. ->field("
  1851. 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,
  1852. sum(a.nAmount) as 精11乙
  1853. ")
  1854. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1855. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1856. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1857. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1858. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1859. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1860. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  1861. ->group("CASE
  1862. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1863. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1864. END,Name_WorkGroup")
  1865. ->buildSql();
  1866. $db = Db::table($A . 'a')
  1867. ->field("
  1868. DISTINCT DATE(A.RQ) rq,
  1869. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  1870. ")
  1871. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  1872. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  1873. ->group('rq')
  1874. ->buildSql();
  1875. $jp = Db::table($db . ' db')
  1876. ->field("
  1877. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  1878. ROUND(sum(db.总计册), 0) as 精平册数
  1879. ")->where("db.RQ >= '{$this->start_time()}'
  1880. AND db.RQ <= '{$this->end_time()}' ")
  1881. ->group('MONTH(db.rq)')
  1882. ->select();
  1883. $B = Db::table('cpjtfk')
  1884. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1885. ->field("
  1886. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1887. sum(iwcl) as 马1甲
  1888. ")
  1889. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  1890. ->group('drptdate,cbanzu')
  1891. ->buildSql();
  1892. $B1 = Db::table('cpjtfk')
  1893. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1894. ->field("
  1895. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1896. sum(iwcl) as 马1乙
  1897. ")
  1898. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  1899. ->group('drptdate,cbanzu')
  1900. ->buildSql();
  1901. $C = Db::table('cpjtfk')
  1902. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1903. ->field("
  1904. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1905. sum(iwcl) as 马2甲
  1906. ")
  1907. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  1908. ->group('drptdate,cbanzu')
  1909. ->buildSql();
  1910. $C1 = Db::table('cpjtfk')
  1911. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1912. ->field("
  1913. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1914. sum(iwcl) as 马2乙
  1915. ")
  1916. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  1917. ->group('drptdate,cbanzu')
  1918. ->buildSql();
  1919. $D = Db::table('cpjtfk')
  1920. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1921. ->field("
  1922. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1923. sum(iwcl) as 马3甲
  1924. ")
  1925. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  1926. ->group('drptdate,cbanzu')
  1927. ->buildSql();
  1928. $D1 = Db::table('cpjtfk')
  1929. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1930. ->field("
  1931. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1932. sum(iwcl) as 马3乙
  1933. ")
  1934. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  1935. ->group('drptdate,cbanzu')
  1936. ->buildSql();
  1937. $E = Db::table('cpjtfk')
  1938. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1939. ->field("
  1940. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1941. sum(iwcl) as 马4甲
  1942. ")
  1943. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  1944. ->group('drptdate,cbanzu')
  1945. ->buildSql();
  1946. $E1 = Db::table('cpjtfk')
  1947. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1948. ->field("
  1949. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1950. sum(iwcl) as 马4乙
  1951. ")
  1952. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  1953. ->group('drptdate,cbanzu')
  1954. ->buildSql();
  1955. $F = Db::table('cpjtfk')
  1956. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1957. ->field("
  1958. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1959. sum(iwcl) as 马5甲
  1960. ")
  1961. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  1962. ->group('drptdate,cbanzu')
  1963. ->buildSql();
  1964. $F1 = Db::table('cpjtfk')
  1965. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  1966. ->field("
  1967. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  1968. sum(iwcl) as 马5乙,
  1969. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  1970. ")
  1971. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  1972. ->group('drptdate,cbanzu')
  1973. ->buildSql();
  1974. $rr = Db::table('scyddx')->alias('r')
  1975. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  1976. ->group('r.ICYDID')
  1977. ->buildSql();
  1978. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  1979. ->field("
  1980. 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,
  1981. sum(a.nAmount) as 马11甲")
  1982. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  1983. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  1984. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  1985. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  1986. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  1987. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  1988. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  1989. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  1990. ->group("CASE
  1991. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  1992. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  1993. END,Name_WorkGroup")->buildSql();
  1994. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  1995. ->field("
  1996. 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,
  1997. sum(a.nAmount) as 马11乙
  1998. ")
  1999. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2000. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2001. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2002. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2003. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2004. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2005. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  2006. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2007. ->group("CASE
  2008. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2009. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2010. END,Name_WorkGroup")
  2011. ->buildSql();
  2012. $CC = Db::table('ql_report_feedback_day')->alias('a')
  2013. ->field("
  2014. 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,
  2015. sum(a.nAmount) as 马22甲
  2016. ")
  2017. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2018. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2019. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2020. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2021. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2022. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2023. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2024. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2025. ->group("CASE
  2026. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2027. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2028. END,Name_WorkGroup")
  2029. ->buildSql();
  2030. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2031. ->field("
  2032. 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,
  2033. sum(a.nAmount) as 马22乙
  2034. ")
  2035. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2036. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2037. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2038. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2039. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2040. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2041. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2042. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2043. ->group("CASE
  2044. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2045. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2046. END,Name_WorkGroup")
  2047. ->buildSql();
  2048. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2049. ->field("
  2050. 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,
  2051. sum(a.nAmount) as 马33甲
  2052. ")
  2053. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2054. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2055. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2056. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2057. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2058. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2059. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2060. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2061. ->group("CASE
  2062. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2063. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2064. END,Name_WorkGroup")
  2065. ->buildSql();
  2066. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2067. ->field("
  2068. 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,
  2069. sum(a.nAmount) as 马33乙
  2070. ")
  2071. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2072. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2073. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2074. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2075. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2076. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2077. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2078. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2079. ->group("CASE
  2080. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2081. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2082. END,Name_WorkGroup")
  2083. ->buildSql();
  2084. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2085. ->field("
  2086. 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,
  2087. sum(a.nAmount) as 马44甲
  2088. ")
  2089. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2090. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2091. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2092. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2093. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2094. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2095. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2096. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2097. ->group("CASE
  2098. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2099. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2100. END,Name_WorkGroup")
  2101. ->buildSql();
  2102. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2103. ->field("
  2104. 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,
  2105. sum(a.nAmount) as 马44乙
  2106. ")
  2107. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2108. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2109. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2110. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2111. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2112. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2113. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2114. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2115. ->group("CASE
  2116. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2117. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2118. END,Name_WorkGroup")
  2119. ->buildSql();
  2120. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2121. ->field("
  2122. 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,
  2123. sum(a.nAmount) as 马55甲
  2124. ")
  2125. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2126. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2127. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2128. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2129. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2130. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2131. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2132. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2133. ->group("CASE
  2134. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2135. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2136. END,Name_WorkGroup")
  2137. ->buildSql();
  2138. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2139. ->field("
  2140. 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,
  2141. sum(a.nAmount) as 马55乙
  2142. ")
  2143. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2144. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2145. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2146. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2147. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2148. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2149. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2150. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2151. ->group("CASE
  2152. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2153. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2154. END,Name_WorkGroup")
  2155. ->buildSql();
  2156. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  2157. ->field("
  2158. 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,
  2159. sum(a.nAmount) as 马66甲
  2160. ")
  2161. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2162. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2163. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2164. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2165. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2166. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2167. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  2168. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2169. ->group("CASE
  2170. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2171. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2172. END,Name_WorkGroup")
  2173. ->buildSql();
  2174. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2175. ->field("
  2176. 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,
  2177. sum(a.nAmount) as 马66乙
  2178. ")
  2179. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2180. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2181. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2182. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2183. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2184. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2185. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2186. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2187. ->group("CASE
  2188. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2189. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2190. END,Name_WorkGroup")
  2191. ->buildSql();
  2192. // $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2193. // ->field("
  2194. // 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,
  2195. // sum(a.nAmount) as 马77甲
  2196. // ")
  2197. // ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2198. // ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2199. // ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2200. // ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2201. // ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2202. // ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2203. // ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2204. // ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2205. // ->group("CASE
  2206. // WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2207. // ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2208. // END,Name_WorkGroup")
  2209. // ->buildSql();
  2210. // $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2211. // ->field("
  2212. // 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,
  2213. // sum(a.nAmount) as 马77乙
  2214. // ")
  2215. // ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2216. // ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2217. // ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2218. // ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2219. // ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2220. // ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2221. // ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2222. // ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2223. // ->group("CASE
  2224. // WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2225. // ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2226. // END,Name_WorkGroup")
  2227. // ->buildSql();
  2228. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  2229. ->field("
  2230. 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,
  2231. sum(a.nAmount) as 马88甲
  2232. ")
  2233. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2234. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2235. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2236. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2237. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2238. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2239. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  2240. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2241. ->group("CASE
  2242. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2243. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2244. END,Name_WorkGroup")
  2245. ->buildSql();
  2246. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  2247. ->field("
  2248. 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,
  2249. sum(a.nAmount) as 马88乙
  2250. ")
  2251. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2252. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2253. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2254. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2255. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2256. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2257. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  2258. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2259. ->group("CASE
  2260. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2261. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2262. END,Name_WorkGroup")
  2263. ->buildSql();
  2264. $db = Db::table($A . 'a')
  2265. ->field("
  2266. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2267. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2268. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2269. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2270. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2271. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2272. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2273. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2274. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2275. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2276. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2277. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2278. + IFNULL(jdj4.马88甲, 0) + IFNULL(jdy4.马88乙, 0) 总计册
  2279. ")
  2280. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2281. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2282. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2283. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2284. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2285. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2286. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2287. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2288. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2289. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2290. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2291. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2292. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2293. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2294. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2295. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2296. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2297. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2298. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2299. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2300. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2301. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2302. ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT')
  2303. ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT')
  2304. ->buildSql();
  2305. // print_r($db);die;
  2306. $jd = Db::table($db . ' db')
  2307. ->field("
  2308. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2309. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2310. ")->where("db.RQ >= '{$this->start_time()}'
  2311. AND db.RQ <= '{$this->end_time()}' ")
  2312. ->group('MONTH(db.rq)')
  2313. ->select();
  2314. $B = Db::table('cpjtfk')
  2315. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2316. ->field("
  2317. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2318. Sum(iWcl) AS '簿1甲'
  2319. ")
  2320. ->where('cbanzu','=','簿册机1号(甲班)')
  2321. ->group('drptdate,cbanzu')
  2322. ->buildSql();
  2323. $B1 = Db::table('cpjtfk')
  2324. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2325. ->field("
  2326. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2327. Sum(iWcl) AS '簿1乙'
  2328. ")
  2329. ->where('cbanzu','=','簿册机1号(乙班)')
  2330. ->group('drptdate,cbanzu')
  2331. ->buildSql();
  2332. $rr = Db::table('scyddx')->alias('r')
  2333. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2334. ->group('r.ICYDID')
  2335. ->buildSql();
  2336. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2337. ->field("
  2338. 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,
  2339. Sum(a.nAmount) AS '簿11甲'
  2340. ")
  2341. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2342. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2343. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2344. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2345. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2346. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2347. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2348. ->where('a.cTechName' ,'=','簿册联动')
  2349. ->group("CASE
  2350. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2351. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2352. END,Name_WorkGroup")
  2353. ->buildSql();
  2354. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2355. ->field("
  2356. 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,
  2357. Sum(a.nAmount) AS '簿11乙'
  2358. ")
  2359. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2360. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2361. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2362. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2363. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2364. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2365. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2366. ->where('a.cTechName' ,'=','簿册联动')
  2367. ->group("CASE
  2368. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2369. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2370. END,Name_WorkGroup")
  2371. ->buildSql();
  2372. $db = Db::table($A . 'a')
  2373. ->field("
  2374. DISTINCT DATE(A.RQ) rq,
  2375. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2376. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2377. ")
  2378. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2379. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2380. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2381. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2382. ->group('rq')
  2383. ->buildSql();
  2384. $bc = Db::table($db . ' db')
  2385. ->field("
  2386. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2387. ROUND(sum(db.总计册), 0) as 簿册册数
  2388. ")->where("db.RQ >= '{$this->start_time()}'
  2389. AND db.RQ <= '{$this->end_time()}' ")
  2390. ->group('MONTH(db.rq)')
  2391. ->select();
  2392. // 创建一个结果数组
  2393. $result=[];
  2394. $result1 = [];
  2395. // 遍历第一个数组,并将数据加入结果数组
  2396. foreach ($jp as $val1) {
  2397. $month = $val1['日期'];
  2398. $data1 = $val1['精平册数'];
  2399. if (!isset($result[$month])) {
  2400. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2401. }
  2402. if (!isset($result1[$month])) {
  2403. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2404. }
  2405. $result1[$month] += $data1; // 累加第一个数组的数据
  2406. }
  2407. // 遍历第二个数组,并将数据加入结果数组
  2408. foreach ($jd as $val2) {
  2409. $month = $val2['日期'];
  2410. $data1 = $val2['无线胶订册数'];
  2411. if (!isset($result[$month])) {
  2412. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2413. }
  2414. if (!isset($result1[$month])) {
  2415. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2416. }
  2417. $result1[$month] += $data1; // 累加第二个数组的数据
  2418. }
  2419. foreach ($bc as $val2) {
  2420. $month = $val2['日期'];
  2421. $data1 = $val2['簿册册数'];
  2422. if (!isset($result[$month])) {
  2423. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2424. }
  2425. if (!isset($result1[$month])) {
  2426. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2427. }
  2428. $result1[$month] += $data1; // 累加第二个数组的数据
  2429. }
  2430. foreach($result1 as $k=>$v){
  2431. $list['categories'][]=$k;
  2432. $list['series'][0]['name']='装订实物产量册数';
  2433. $list['series'][0]['data'][]=$v;
  2434. }
  2435. $res['status']=0;
  2436. $res['msg']='';
  2437. $res['data']=$list;
  2438. $redis->set($redis_key, json_encode($result1));
  2439. // halt(json_decode($redis->get($redis_key),true));
  2440. return json_encode($result1);
  2441. }
  2442. //前年装订实物产量册数->缓存调用
  2443. public function zdcsTwoYear(){
  2444. $redis=redis();
  2445. $redis_key = md5('zdcsTwoYear');
  2446. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  2447. ->union(function ($query) {
  2448. $query->table('scDayRpt_Teams')->alias('b')
  2449. ->field("DISTINCT DATE_FORMAT(
  2450. CASE
  2451. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  2452. ELSE b.dOnDuty
  2453. END,
  2454. '%Y-%m-%d'
  2455. ) AS RQ");
  2456. }, true)
  2457. ->buildSql();
  2458. $B1 = Db::table('cpjtfk')
  2459. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2460. ->field("
  2461. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2462. sum(iwcl) as 精1乙
  2463. ")
  2464. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  2465. ->group('drptdate,cbanzu')
  2466. ->buildSql();
  2467. $rr = Db::table('scyddx')->alias('r')
  2468. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2469. ->group('r.ICYDID')
  2470. ->buildSql();
  2471. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2472. ->field("
  2473. 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,
  2474. sum(a.nAmount) as 精11乙
  2475. ")
  2476. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2477. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2478. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2479. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2480. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2481. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2482. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  2483. ->group("CASE
  2484. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2485. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2486. END,Name_WorkGroup")
  2487. ->buildSql();
  2488. $db = Db::table($A . 'a')
  2489. ->field("
  2490. DISTINCT DATE(A.RQ) rq,
  2491. IFNULL(sum(Bb1.精11乙), 0) + IFNULL((sum(B1.精1乙)), 0) 总计册
  2492. ")
  2493. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2494. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2495. ->group('rq')
  2496. ->buildSql();
  2497. $jp = Db::table($db . ' db')
  2498. ->field("
  2499. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2500. ROUND(sum(db.总计册), 0) as 精平册数
  2501. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2502. AND db.RQ <= '{$this->qianend_time()}' ")
  2503. ->group('MONTH(db.rq)')
  2504. ->select();
  2505. $B = Db::table('cpjtfk')
  2506. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2507. ->field("
  2508. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2509. sum(iwcl) as 马1甲
  2510. ")
  2511. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  2512. ->group('drptdate,cbanzu')
  2513. ->buildSql();
  2514. $B1 = Db::table('cpjtfk')
  2515. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2516. ->field("
  2517. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2518. sum(iwcl) as 马1乙
  2519. ")
  2520. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  2521. ->group('drptdate,cbanzu')
  2522. ->buildSql();
  2523. $C = Db::table('cpjtfk')
  2524. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2525. ->field("
  2526. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2527. sum(iwcl) as 马2甲
  2528. ")
  2529. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  2530. ->group('drptdate,cbanzu')
  2531. ->buildSql();
  2532. $C1 = Db::table('cpjtfk')
  2533. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2534. ->field("
  2535. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2536. sum(iwcl) as 马2乙
  2537. ")
  2538. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  2539. ->group('drptdate,cbanzu')
  2540. ->buildSql();
  2541. $D = Db::table('cpjtfk')
  2542. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2543. ->field("
  2544. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2545. sum(iwcl) as 马3甲
  2546. ")
  2547. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  2548. ->group('drptdate,cbanzu')
  2549. ->buildSql();
  2550. $D1 = Db::table('cpjtfk')
  2551. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2552. ->field("
  2553. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2554. sum(iwcl) as 马3乙
  2555. ")
  2556. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  2557. ->group('drptdate,cbanzu')
  2558. ->buildSql();
  2559. $E = Db::table('cpjtfk')
  2560. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2561. ->field("
  2562. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2563. sum(iwcl) as 马4甲
  2564. ")
  2565. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  2566. ->group('drptdate,cbanzu')
  2567. ->buildSql();
  2568. $E1 = Db::table('cpjtfk')
  2569. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2570. ->field("
  2571. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2572. sum(iwcl) as 马4乙
  2573. ")
  2574. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  2575. ->group('drptdate,cbanzu')
  2576. ->buildSql();
  2577. $F = Db::table('cpjtfk')
  2578. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2579. ->field("
  2580. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2581. sum(iwcl) as 马5甲
  2582. ")
  2583. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  2584. ->group('drptdate,cbanzu')
  2585. ->buildSql();
  2586. $F1 = Db::table('cpjtfk')
  2587. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2588. ->field("
  2589. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2590. sum(iwcl) as 马5乙,
  2591. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  2592. ")
  2593. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  2594. ->group('drptdate,cbanzu')
  2595. ->buildSql();
  2596. $rr = Db::table('scyddx')->alias('r')
  2597. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2598. ->group('r.ICYDID')
  2599. ->buildSql();
  2600. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2601. ->field("
  2602. 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,
  2603. sum(a.nAmount) as 马11甲")
  2604. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2605. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2606. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2607. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2608. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2609. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2610. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  2611. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2612. ->group("CASE
  2613. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2614. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2615. END,Name_WorkGroup")->buildSql();
  2616. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2617. ->field("
  2618. 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,
  2619. sum(a.nAmount) as 马11乙
  2620. ")
  2621. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2622. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2623. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2624. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2625. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2626. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2627. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  2628. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2629. ->group("CASE
  2630. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2631. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2632. END,Name_WorkGroup")
  2633. ->buildSql();
  2634. $CC = Db::table('ql_report_feedback_day')->alias('a')
  2635. ->field("
  2636. 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,
  2637. sum(a.nAmount) as 马22甲
  2638. ")
  2639. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2640. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2641. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2642. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2643. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2644. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2645. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  2646. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2647. ->group("CASE
  2648. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2649. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2650. END,Name_WorkGroup")
  2651. ->buildSql();
  2652. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  2653. ->field("
  2654. 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,
  2655. sum(a.nAmount) as 马22乙
  2656. ")
  2657. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2658. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2659. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2660. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2661. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2662. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2663. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  2664. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2665. ->group("CASE
  2666. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2667. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2668. END,Name_WorkGroup")
  2669. ->buildSql();
  2670. $EE = Db::table('ql_report_feedback_day')->alias('a')
  2671. ->field("
  2672. 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,
  2673. sum(a.nAmount) as 马33甲
  2674. ")
  2675. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2676. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2677. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2678. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2679. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2680. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2681. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  2682. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2683. ->group("CASE
  2684. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2685. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2686. END,Name_WorkGroup")
  2687. ->buildSql();
  2688. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  2689. ->field("
  2690. 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,
  2691. sum(a.nAmount) as 马33乙
  2692. ")
  2693. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2694. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2695. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2696. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2697. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2698. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2699. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  2700. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2701. ->group("CASE
  2702. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2703. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2704. END,Name_WorkGroup")
  2705. ->buildSql();
  2706. $HH = Db::table('ql_report_feedback_day')->alias('a')
  2707. ->field("
  2708. 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,
  2709. sum(a.nAmount) as 马44甲
  2710. ")
  2711. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2712. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2713. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2714. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2715. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2716. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2717. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  2718. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2719. ->group("CASE
  2720. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2721. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2722. END,Name_WorkGroup")
  2723. ->buildSql();
  2724. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  2725. ->field("
  2726. 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,
  2727. sum(a.nAmount) as 马44乙
  2728. ")
  2729. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2730. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2731. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2732. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2733. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2734. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2735. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  2736. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2737. ->group("CASE
  2738. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2739. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2740. END,Name_WorkGroup")
  2741. ->buildSql();
  2742. $XX = Db::table('ql_report_feedback_day')->alias('a')
  2743. ->field("
  2744. 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,
  2745. sum(a.nAmount) as 马55甲
  2746. ")
  2747. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2748. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2749. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2750. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2751. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2752. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2753. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  2754. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2755. ->group("CASE
  2756. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2757. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2758. END,Name_WorkGroup")
  2759. ->buildSql();
  2760. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  2761. ->field("
  2762. 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,
  2763. sum(a.nAmount) as 马66甲
  2764. ")
  2765. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2766. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2767. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2768. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2769. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2770. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2771. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  2772. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2773. ->group("CASE
  2774. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2775. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2776. END,Name_WorkGroup")
  2777. ->buildSql();
  2778. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  2779. ->field("
  2780. 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,
  2781. sum(a.nAmount) as 马77甲
  2782. ")
  2783. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2784. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2785. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2786. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2787. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2788. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2789. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  2790. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2791. ->group("CASE
  2792. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2793. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2794. END,Name_WorkGroup")
  2795. ->buildSql();
  2796. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  2797. ->field("
  2798. 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,
  2799. sum(a.nAmount) as 马55乙
  2800. ")
  2801. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2802. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2803. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2804. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2805. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2806. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2807. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  2808. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2809. ->group("CASE
  2810. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2811. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2812. END,Name_WorkGroup")
  2813. ->buildSql();
  2814. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  2815. ->field("
  2816. 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,
  2817. sum(a.nAmount) as 马66乙
  2818. ")
  2819. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2820. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2821. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2822. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2823. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2824. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2825. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  2826. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2827. ->group("CASE
  2828. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2829. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2830. END,Name_WorkGroup")
  2831. ->buildSql();
  2832. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  2833. ->field("
  2834. 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,
  2835. sum(a.nAmount) as 马77乙
  2836. ")
  2837. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2838. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2839. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2840. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2841. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2842. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2843. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  2844. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  2845. ->group("CASE
  2846. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2847. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2848. END,Name_WorkGroup")
  2849. ->buildSql();
  2850. $db = Db::table($A . 'a')
  2851. ->field("
  2852. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  2853. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  2854. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  2855. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  2856. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  2857. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  2858. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  2859. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  2860. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  2861. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  2862. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  2863. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  2864. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  2865. ")
  2866. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  2867. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2868. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  2869. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  2870. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  2871. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  2872. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  2873. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  2874. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  2875. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  2876. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2877. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2878. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  2879. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  2880. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  2881. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  2882. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  2883. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  2884. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  2885. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  2886. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  2887. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  2888. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  2889. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  2890. ->buildSql();
  2891. $jd = Db::table($db . ' db')
  2892. ->field("
  2893. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2894. ROUND(sum(db.总计册), 0) as 无线胶订册数
  2895. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2896. AND db.RQ <= '{$this->qianend_time()}' ")
  2897. ->group('MONTH(db.rq)')
  2898. ->select();
  2899. $B = Db::table('cpjtfk')
  2900. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2901. ->field("
  2902. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2903. Sum(iWcl) AS '簿1甲'
  2904. ")
  2905. ->where('cbanzu','=','簿册机1号(甲班)')
  2906. ->group('drptdate,cbanzu')
  2907. ->buildSql();
  2908. $B1 = Db::table('cpjtfk')
  2909. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  2910. ->field("
  2911. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  2912. Sum(iWcl) AS '簿1乙'
  2913. ")
  2914. ->where('cbanzu','=','簿册机1号(乙班)')
  2915. ->group('drptdate,cbanzu')
  2916. ->buildSql();
  2917. $rr = Db::table('scyddx')->alias('r')
  2918. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  2919. ->group('r.ICYDID')
  2920. ->buildSql();
  2921. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  2922. ->field("
  2923. 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,
  2924. Sum(a.nAmount) AS '簿11甲'
  2925. ")
  2926. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2927. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2928. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2929. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2930. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2931. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2932. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  2933. ->where('a.cTechName' ,'=','簿册联动')
  2934. ->group("CASE
  2935. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2936. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2937. END,Name_WorkGroup")
  2938. ->buildSql();
  2939. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  2940. ->field("
  2941. 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,
  2942. Sum(a.nAmount) AS '簿11乙'
  2943. ")
  2944. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  2945. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  2946. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  2947. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  2948. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  2949. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  2950. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  2951. ->where('a.cTechName' ,'=','簿册联动')
  2952. ->group("CASE
  2953. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  2954. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  2955. END,Name_WorkGroup")
  2956. ->buildSql();
  2957. $db = Db::table($A . 'a')
  2958. ->field("
  2959. DISTINCT DATE(A.RQ) rq,
  2960. IFNULL(sum(B.簿1甲), 0) + IFNULL((sum(b1.簿1乙)), 0)
  2961. + IFNULL(sum(Bb.簿11甲), 0) + IFNULL((sum(Bb1.簿11乙)), 0) 总计册
  2962. ")
  2963. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  2964. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  2965. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  2966. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  2967. ->group('rq')
  2968. ->buildSql();
  2969. $bc = Db::table($db . ' db')
  2970. ->field("
  2971. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  2972. ROUND(sum(db.总计册), 0) as 簿册册数
  2973. ")->where("db.RQ >= '{$this->qianstart_time()}'
  2974. AND db.RQ <= '{$this->qianend_time()}' ")
  2975. ->group('MONTH(db.rq)')
  2976. ->select();
  2977. // 创建一个结果数组
  2978. $result=[];
  2979. $result1 = [];
  2980. // 遍历第一个数组,并将数据加入结果数组
  2981. foreach ($jp as $val1) {
  2982. $month = $val1['日期'];
  2983. $data1 = $val1['精平册数'];
  2984. if (!isset($result[$month])) {
  2985. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2986. }
  2987. if (!isset($result1[$month])) {
  2988. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  2989. }
  2990. $result1[$month] += $data1; // 累加第一个数组的数据
  2991. }
  2992. // 遍历第二个数组,并将数据加入结果数组
  2993. foreach ($jd as $val2) {
  2994. $month = $val2['日期'];
  2995. $data1 = $val2['无线胶订册数'];
  2996. if (!isset($result[$month])) {
  2997. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  2998. }
  2999. if (!isset($result1[$month])) {
  3000. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  3001. }
  3002. $result1[$month] += $data1; // 累加第二个数组的数据
  3003. }
  3004. foreach ($bc as $val2) {
  3005. $month = $val2['日期'];
  3006. $data1 = $val2['簿册册数'];
  3007. if (!isset($result[$month])) {
  3008. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  3009. }
  3010. if (!isset($result1[$month])) {
  3011. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  3012. }
  3013. $result1[$month] += $data1; // 累加第二个数组的数据
  3014. }
  3015. foreach($result1 as $k=>$v){
  3016. $list['categories'][]=$k;
  3017. $list['series'][0]['name']='装订实物产量册数';
  3018. $list['series'][0]['data'][]=$v;
  3019. }
  3020. $res['status']=0;
  3021. $res['msg']='';
  3022. $res['data']=$list;
  3023. $redis->set($redis_key, json_encode($result1));
  3024. // halt(json_decode($redis->get($redis_key),true));
  3025. return json_encode($result1);
  3026. }
  3027. //装订实物产量册数 接口合并一起->接口调用
  3028. public function zdcs(){
  3029. $redis = redis();
  3030. $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true);
  3031. $result_qu = json_decode($redis->get(md5('zdcs2022')), true);
  3032. $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true);
  3033. // Merge all data
  3034. $result1 = array_merge($result_qian, $result_qu, $result_dang);
  3035. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  3036. $currentYear = date("Y"); // Current year (2025)
  3037. $currentMonth = date("m"); // Current month (07)
  3038. $previousYear = $currentYear - 1; // 2024
  3039. $previousQianYear = $currentYear - 2; // 2023
  3040. // Initialize series with 0 values
  3041. $list['series'] = [
  3042. ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)],
  3043. ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)],
  3044. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)]
  3045. ];
  3046. foreach ($result1 as $k => $v) {
  3047. $yearMonth = explode('-', $k);
  3048. $year = $yearMonth[0];
  3049. $month = (int)$yearMonth[1];
  3050. $monthIndex = $month - 1;
  3051. if ($year == $previousQianYear) {
  3052. $list['series'][0]['data'][$monthIndex] += $v;
  3053. } elseif ($year == $previousYear) {
  3054. $list['series'][1]['data'][$monthIndex] += $v;
  3055. } elseif ($year == $currentYear) {
  3056. // Only add if month is current or past month
  3057. if ($month <= (int)$currentMonth) {
  3058. $list['series'][2]['data'][$monthIndex] += $v;
  3059. }
  3060. }
  3061. }
  3062. $res['status'] = 0;
  3063. $res['msg'] = '';
  3064. $res['data'] = $list;
  3065. return json_encode($res, JSON_UNESCAPED_UNICODE);
  3066. }
  3067. // public function zdcs() {
  3068. // $redis = redis();
  3069. // $result_qian = json_decode($redis->get(md5('zdcsTwoYear')), true);
  3070. // $result_qu = json_decode($redis->get(md5('zdcs2022')), true);
  3071. // $result_dang = json_decode($redis->get(md5('zdcsclcs_dang')), true);
  3072. // // 合并三年的数据
  3073. // $result1 = array_merge($result_qian, $result_qu, $result_dang);
  3074. // $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  3075. // $currentYear = date("Y"); // 当前年份
  3076. // $currentMonth = date("m"); // 当前月份
  3077. // $previousYear = $currentYear - 1; // 上一年
  3078. // $previousQianYear = $currentYear - 2; // 前年
  3079. // // 初始化三个年份的数据数组,先填充0
  3080. // $list['series'][0]['name'] = $previousQianYear . '年';
  3081. // $list['series'][0]['data'] = array_fill(0, 12, 0);
  3082. // $list['series'][1]['name'] = $previousYear . '年';
  3083. // $list['series'][1]['data'] = array_fill(0, 12, 0);
  3084. // $list['series'][2]['name'] = $currentYear . '年';
  3085. // $list['series'][2]['data'] = array_fill(0, 12, 0);
  3086. // foreach ($result1 as $k => $v) {
  3087. // $yearMonth = explode('-', $k);
  3088. // $year = $yearMonth[0];
  3089. // $month = (int)$yearMonth[1];
  3090. // if ($year == $previousQianYear) {
  3091. // // 如果是前两年的数据,直接赋值
  3092. // $list['series'][0]['data'][$month - 1] = $v;
  3093. // } elseif ($year == $previousYear) {
  3094. // // 如果是去年的数据,直接赋值
  3095. // $list['series'][1]['data'][$month - 1] = $v;
  3096. // } elseif ($year == $currentYear && $month <= (int)$currentMonth) {
  3097. // // 如果是当前年份,并且月份不超过当前月份,则赋值
  3098. // $list['series'][2]['data'][$month - 1] = $v;
  3099. // }
  3100. // // 如果是当前年份但月份超过当前月份,则不处理,保持为0
  3101. // }
  3102. // $res['status'] = 0;
  3103. // $res['msg'] = '';
  3104. // $res['data'] = $list;
  3105. // return json_encode($res);
  3106. // }
  3107. //去年装订实物产量纸令->缓存调用
  3108. public function zdzl2022(){
  3109. $redis=redis();
  3110. $redis_key = md5('zdzl2022');
  3111. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  3112. ->union(function ($query) {
  3113. $query->table('scDayRpt_Teams')->alias('b')
  3114. ->field("DISTINCT DATE_FORMAT(
  3115. CASE
  3116. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  3117. ELSE b.dOnDuty
  3118. END,
  3119. '%Y-%m-%d'
  3120. ) AS RQ");
  3121. }, true)
  3122. ->buildSql();
  3123. $B1 = Db::table('cpjtfk')
  3124. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3125. ->field("
  3126. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3127. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  3128. ")
  3129. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  3130. ->group('drptdate,cbanzu')
  3131. ->buildSql();
  3132. $rr = Db::table('scyddx')->alias('r')
  3133. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3134. ->group('r.ICYDID')
  3135. ->buildSql();
  3136. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3137. ->field("
  3138. 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,
  3139. ROUND(SUM(
  3140. CASE
  3141. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3142. THEN
  3143. CASE
  3144. WHEN a.cCyddxMc = '装配'
  3145. OR a.cCyddxMc LIKE '%正文%'
  3146. OR a.cCyddxMc LIKE '%答案%'
  3147. OR a.cCyddxMc LIKE '%卷%'
  3148. THEN
  3149. CASE
  3150. WHEN CASE
  3151. WHEN IFNULL(d.fZls, 0) < rr.zl
  3152. THEN rr.zl
  3153. ELSE IFNULL(d.fZls, 0)
  3154. END = 0
  3155. THEN c.nzdls
  3156. ELSE (
  3157. CASE
  3158. WHEN c.nzdls <
  3159. CASE
  3160. WHEN IFNULL(d.fZls, 0) < rr.zl
  3161. THEN rr.zl
  3162. ELSE IFNULL(d.fZls, 0)
  3163. END
  3164. THEN
  3165. CASE
  3166. WHEN IFNULL(d.fZls, 0) < rr.zl
  3167. THEN rr.zl
  3168. ELSE IFNULL(d.fZls, 0)
  3169. END
  3170. ELSE c.nzdls
  3171. END
  3172. )
  3173. END
  3174. ELSE 0
  3175. END
  3176. ELSE
  3177. CASE
  3178. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3179. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3180. CASE
  3181. WHEN a.cCyddxMc = '装配'
  3182. OR a.cCyddxMc LIKE '%正文%'
  3183. OR a.cCyddxMc LIKE '%答案%'
  3184. OR a.cCyddxMc LIKE '%卷%'
  3185. THEN
  3186. CASE
  3187. WHEN CASE
  3188. WHEN IFNULL(d.fZls, 0) < rr.zl
  3189. THEN rr.zl
  3190. ELSE IFNULL(d.fZls, 0)
  3191. END = 0
  3192. THEN c.nzdls
  3193. ELSE (
  3194. CASE
  3195. WHEN c.nzdls <
  3196. CASE
  3197. WHEN IFNULL(d.fZls, 0) < rr.zl
  3198. THEN rr.zl
  3199. ELSE IFNULL(d.fZls, 0)
  3200. END
  3201. THEN
  3202. CASE
  3203. WHEN IFNULL(d.fZls, 0) < rr.zl
  3204. THEN rr.zl
  3205. ELSE IFNULL(d.fZls, 0)
  3206. END
  3207. ELSE c.nzdls
  3208. END
  3209. )
  3210. END
  3211. ELSE 0
  3212. END
  3213. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3214. END
  3215. END )
  3216. , 3) 精11乙纸令
  3217. ")
  3218. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3219. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3220. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3221. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3222. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3223. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3224. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  3225. ->group("CASE
  3226. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3227. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3228. END,Name_WorkGroup")
  3229. ->buildSql();
  3230. $db = Db::table($A . 'a')
  3231. ->field("
  3232. DATE(A.RQ) rq,
  3233. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  3234. ")
  3235. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  3236. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  3237. ->buildSql();
  3238. $jp = Db::table($db . ' db')
  3239. ->field("
  3240. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  3241. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  3242. ")->where("db.RQ >= '{$this->qstart_time()}'
  3243. AND db.RQ <= '{$this->qend_time()}' ")
  3244. ->group('MONTH(db.rq)')
  3245. ->select();
  3246. $B = Db::table('cpjtfk')
  3247. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3248. ->field("
  3249. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3250. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  3251. ")
  3252. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  3253. ->group('drptdate,cbanzu')
  3254. ->buildSql();
  3255. $B1 = Db::table('cpjtfk')
  3256. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3257. ->field("
  3258. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3259. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  3260. ")
  3261. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  3262. ->group('drptdate,cbanzu')
  3263. ->buildSql();
  3264. $C = Db::table('cpjtfk')
  3265. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3266. ->field("
  3267. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3268. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  3269. ")
  3270. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  3271. ->group('drptdate,cbanzu')
  3272. ->buildSql();
  3273. $C1 = Db::table('cpjtfk')
  3274. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3275. ->field("
  3276. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3277. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  3278. ")
  3279. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  3280. ->group('drptdate,cbanzu')
  3281. ->buildSql();
  3282. $D = Db::table('cpjtfk')
  3283. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3284. ->field("
  3285. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3286. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  3287. ")
  3288. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  3289. ->group('drptdate,cbanzu')
  3290. ->buildSql();
  3291. $D1 = Db::table('cpjtfk')
  3292. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3293. ->field("
  3294. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3295. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  3296. ")
  3297. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  3298. ->group('drptdate,cbanzu')
  3299. ->buildSql();
  3300. $E = Db::table('cpjtfk')
  3301. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3302. ->field("
  3303. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3304. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  3305. ")
  3306. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  3307. ->group('drptdate,cbanzu')
  3308. ->buildSql();
  3309. $E1 = Db::table('cpjtfk')
  3310. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3311. ->field("
  3312. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3313. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  3314. ")
  3315. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  3316. ->group('drptdate,cbanzu')
  3317. ->buildSql();
  3318. $F = Db::table('cpjtfk')
  3319. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3320. ->field("
  3321. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3322. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  3323. ")
  3324. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  3325. ->group('drptdate,cbanzu')
  3326. ->buildSql();
  3327. $F1 = Db::table('cpjtfk')
  3328. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  3329. ->field("
  3330. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  3331. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  3332. ")
  3333. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  3334. ->group('drptdate,cbanzu')
  3335. ->buildSql();
  3336. $rr = Db::table('scyddx')->alias('r')
  3337. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  3338. ->group('r.ICYDID')
  3339. ->buildSql();
  3340. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  3341. ->field("
  3342. 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,
  3343. ROUND(SUM(
  3344. CASE
  3345. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3346. THEN CASE WHEN a.cCyddxMc = '装配'
  3347. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3348. THEN CASE
  3349. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3350. END = 0 THEN c.nzdls
  3351. ELSE ( CASE
  3352. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3353. END
  3354. THEN CASE
  3355. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3356. END ELSE c.nzdls END
  3357. ) END ELSE 0 END
  3358. ELSE CASE
  3359. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3360. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3361. CASE WHEN a.cCyddxMc = '装配'
  3362. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  3363. THEN CASE
  3364. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3365. END = 0 THEN c.nzdls
  3366. ELSE ( CASE WHEN c.nzdls <
  3367. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3368. END
  3369. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  3370. END ELSE c.nzdls END )
  3371. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3372. END END ), 3) 马11甲纸令 ")
  3373. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3374. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3375. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3376. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3377. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3378. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3379. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  3380. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3381. ->group("CASE
  3382. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3383. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3384. END,Name_WorkGroup")->buildSql();
  3385. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  3386. ->field("
  3387. 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,
  3388. ROUND(SUM(
  3389. CASE
  3390. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3391. THEN
  3392. CASE
  3393. WHEN a.cCyddxMc = '装配'
  3394. OR a.cCyddxMc LIKE '%正文%'
  3395. OR a.cCyddxMc LIKE '%答案%'
  3396. OR a.cCyddxMc LIKE '%卷%'
  3397. THEN
  3398. CASE
  3399. WHEN CASE
  3400. WHEN IFNULL(d.fZls, 0) < rr.zl
  3401. THEN rr.zl
  3402. ELSE IFNULL(d.fZls, 0)
  3403. END = 0
  3404. THEN c.nzdls
  3405. ELSE (
  3406. CASE
  3407. WHEN c.nzdls <
  3408. CASE
  3409. WHEN IFNULL(d.fZls, 0) < rr.zl
  3410. THEN rr.zl
  3411. ELSE IFNULL(d.fZls, 0)
  3412. END
  3413. THEN
  3414. CASE
  3415. WHEN IFNULL(d.fZls, 0) < rr.zl
  3416. THEN rr.zl
  3417. ELSE IFNULL(d.fZls, 0)
  3418. END
  3419. ELSE c.nzdls
  3420. END
  3421. )
  3422. END
  3423. ELSE 0
  3424. END
  3425. ELSE
  3426. CASE
  3427. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3428. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3429. CASE
  3430. WHEN a.cCyddxMc = '装配'
  3431. OR a.cCyddxMc LIKE '%正文%'
  3432. OR a.cCyddxMc LIKE '%答案%'
  3433. OR a.cCyddxMc LIKE '%卷%'
  3434. THEN
  3435. CASE
  3436. WHEN CASE
  3437. WHEN IFNULL(d.fZls, 0) < rr.zl
  3438. THEN rr.zl
  3439. ELSE IFNULL(d.fZls, 0)
  3440. END = 0
  3441. THEN c.nzdls
  3442. ELSE (
  3443. CASE
  3444. WHEN c.nzdls <
  3445. CASE
  3446. WHEN IFNULL(d.fZls, 0) < rr.zl
  3447. THEN rr.zl
  3448. ELSE IFNULL(d.fZls, 0)
  3449. END
  3450. THEN
  3451. CASE
  3452. WHEN IFNULL(d.fZls, 0) < rr.zl
  3453. THEN rr.zl
  3454. ELSE IFNULL(d.fZls, 0)
  3455. END
  3456. ELSE c.nzdls
  3457. END
  3458. )
  3459. END
  3460. ELSE 0
  3461. END
  3462. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3463. END
  3464. END )
  3465. , 3) 马11乙纸令
  3466. ")
  3467. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3468. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3469. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3470. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3471. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3472. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3473. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  3474. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3475. ->group("CASE
  3476. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3477. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3478. END,Name_WorkGroup")
  3479. ->buildSql();
  3480. $CC = Db::table('ql_report_feedback_day')->alias('a')
  3481. ->field("
  3482. 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,
  3483. ROUND(SUM(
  3484. CASE
  3485. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3486. THEN
  3487. CASE
  3488. WHEN a.cCyddxMc = '装配'
  3489. OR a.cCyddxMc LIKE '%正文%'
  3490. OR a.cCyddxMc LIKE '%答案%'
  3491. OR a.cCyddxMc LIKE '%卷%'
  3492. THEN
  3493. CASE
  3494. WHEN CASE
  3495. WHEN IFNULL(d.fZls, 0) < rr.zl
  3496. THEN rr.zl
  3497. ELSE IFNULL(d.fZls, 0)
  3498. END = 0
  3499. THEN c.nzdls
  3500. ELSE (
  3501. CASE
  3502. WHEN c.nzdls <
  3503. CASE
  3504. WHEN IFNULL(d.fZls, 0) < rr.zl
  3505. THEN rr.zl
  3506. ELSE IFNULL(d.fZls, 0)
  3507. END
  3508. THEN
  3509. CASE
  3510. WHEN IFNULL(d.fZls, 0) < rr.zl
  3511. THEN rr.zl
  3512. ELSE IFNULL(d.fZls, 0)
  3513. END
  3514. ELSE c.nzdls
  3515. END
  3516. )
  3517. END
  3518. ELSE 0
  3519. END
  3520. ELSE
  3521. CASE
  3522. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3523. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3524. CASE
  3525. WHEN a.cCyddxMc = '装配'
  3526. OR a.cCyddxMc LIKE '%正文%'
  3527. OR a.cCyddxMc LIKE '%答案%'
  3528. OR a.cCyddxMc LIKE '%卷%'
  3529. THEN
  3530. CASE
  3531. WHEN CASE
  3532. WHEN IFNULL(d.fZls, 0) < rr.zl
  3533. THEN rr.zl
  3534. ELSE IFNULL(d.fZls, 0)
  3535. END = 0
  3536. THEN c.nzdls
  3537. ELSE (
  3538. CASE
  3539. WHEN c.nzdls <
  3540. CASE
  3541. WHEN IFNULL(d.fZls, 0) < rr.zl
  3542. THEN rr.zl
  3543. ELSE IFNULL(d.fZls, 0)
  3544. END
  3545. THEN
  3546. CASE
  3547. WHEN IFNULL(d.fZls, 0) < rr.zl
  3548. THEN rr.zl
  3549. ELSE IFNULL(d.fZls, 0)
  3550. END
  3551. ELSE c.nzdls
  3552. END
  3553. )
  3554. END
  3555. ELSE 0
  3556. END
  3557. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3558. END
  3559. END )
  3560. , 3) 马22甲纸令
  3561. ")
  3562. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3563. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3564. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3565. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3566. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3567. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3568. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  3569. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3570. ->group("CASE
  3571. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3572. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3573. END,Name_WorkGroup")
  3574. ->buildSql();
  3575. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  3576. ->field("
  3577. 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,
  3578. ROUND(SUM(
  3579. CASE
  3580. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3581. THEN
  3582. CASE
  3583. WHEN a.cCyddxMc = '装配'
  3584. OR a.cCyddxMc LIKE '%正文%'
  3585. OR a.cCyddxMc LIKE '%答案%'
  3586. OR a.cCyddxMc LIKE '%卷%'
  3587. THEN
  3588. CASE
  3589. WHEN CASE
  3590. WHEN IFNULL(d.fZls, 0) < rr.zl
  3591. THEN rr.zl
  3592. ELSE IFNULL(d.fZls, 0)
  3593. END = 0
  3594. THEN c.nzdls
  3595. ELSE (
  3596. CASE
  3597. WHEN c.nzdls <
  3598. CASE
  3599. WHEN IFNULL(d.fZls, 0) < rr.zl
  3600. THEN rr.zl
  3601. ELSE IFNULL(d.fZls, 0)
  3602. END
  3603. THEN
  3604. CASE
  3605. WHEN IFNULL(d.fZls, 0) < rr.zl
  3606. THEN rr.zl
  3607. ELSE IFNULL(d.fZls, 0)
  3608. END
  3609. ELSE c.nzdls
  3610. END
  3611. )
  3612. END
  3613. ELSE 0
  3614. END
  3615. ELSE
  3616. CASE
  3617. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3618. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3619. CASE
  3620. WHEN a.cCyddxMc = '装配'
  3621. OR a.cCyddxMc LIKE '%正文%'
  3622. OR a.cCyddxMc LIKE '%答案%'
  3623. OR a.cCyddxMc LIKE '%卷%'
  3624. THEN
  3625. CASE
  3626. WHEN CASE
  3627. WHEN IFNULL(d.fZls, 0) < rr.zl
  3628. THEN rr.zl
  3629. ELSE IFNULL(d.fZls, 0)
  3630. END = 0
  3631. THEN c.nzdls
  3632. ELSE (
  3633. CASE
  3634. WHEN c.nzdls <
  3635. CASE
  3636. WHEN IFNULL(d.fZls, 0) < rr.zl
  3637. THEN rr.zl
  3638. ELSE IFNULL(d.fZls, 0)
  3639. END
  3640. THEN
  3641. CASE
  3642. WHEN IFNULL(d.fZls, 0) < rr.zl
  3643. THEN rr.zl
  3644. ELSE IFNULL(d.fZls, 0)
  3645. END
  3646. ELSE c.nzdls
  3647. END
  3648. )
  3649. END
  3650. ELSE 0
  3651. END
  3652. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3653. END
  3654. END )
  3655. , 3) 马22乙纸令
  3656. ")
  3657. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3658. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3659. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3660. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3661. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3662. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3663. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  3664. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3665. ->group("CASE
  3666. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3667. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3668. END,Name_WorkGroup")
  3669. ->buildSql();
  3670. $EE = Db::table('ql_report_feedback_day')->alias('a')
  3671. ->field("
  3672. 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,
  3673. ROUND(SUM(
  3674. CASE
  3675. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3676. THEN
  3677. CASE
  3678. WHEN a.cCyddxMc = '装配'
  3679. OR a.cCyddxMc LIKE '%正文%'
  3680. OR a.cCyddxMc LIKE '%答案%'
  3681. OR a.cCyddxMc LIKE '%卷%'
  3682. THEN
  3683. CASE
  3684. WHEN CASE
  3685. WHEN IFNULL(d.fZls, 0) < rr.zl
  3686. THEN rr.zl
  3687. ELSE IFNULL(d.fZls, 0)
  3688. END = 0
  3689. THEN c.nzdls
  3690. ELSE (
  3691. CASE
  3692. WHEN c.nzdls <
  3693. CASE
  3694. WHEN IFNULL(d.fZls, 0) < rr.zl
  3695. THEN rr.zl
  3696. ELSE IFNULL(d.fZls, 0)
  3697. END
  3698. THEN
  3699. CASE
  3700. WHEN IFNULL(d.fZls, 0) < rr.zl
  3701. THEN rr.zl
  3702. ELSE IFNULL(d.fZls, 0)
  3703. END
  3704. ELSE c.nzdls
  3705. END
  3706. )
  3707. END
  3708. ELSE 0
  3709. END
  3710. ELSE
  3711. CASE
  3712. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3713. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3714. CASE
  3715. WHEN a.cCyddxMc = '装配'
  3716. OR a.cCyddxMc LIKE '%正文%'
  3717. OR a.cCyddxMc LIKE '%答案%'
  3718. OR a.cCyddxMc LIKE '%卷%'
  3719. THEN
  3720. CASE
  3721. WHEN CASE
  3722. WHEN IFNULL(d.fZls, 0) < rr.zl
  3723. THEN rr.zl
  3724. ELSE IFNULL(d.fZls, 0)
  3725. END = 0
  3726. THEN c.nzdls
  3727. ELSE (
  3728. CASE
  3729. WHEN c.nzdls <
  3730. CASE
  3731. WHEN IFNULL(d.fZls, 0) < rr.zl
  3732. THEN rr.zl
  3733. ELSE IFNULL(d.fZls, 0)
  3734. END
  3735. THEN
  3736. CASE
  3737. WHEN IFNULL(d.fZls, 0) < rr.zl
  3738. THEN rr.zl
  3739. ELSE IFNULL(d.fZls, 0)
  3740. END
  3741. ELSE c.nzdls
  3742. END
  3743. )
  3744. END
  3745. ELSE 0
  3746. END
  3747. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3748. END
  3749. END )
  3750. , 3) 马33甲纸令
  3751. ")
  3752. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3753. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3754. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3755. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3756. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3757. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3758. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  3759. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3760. ->group("CASE
  3761. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3762. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3763. END,Name_WorkGroup")
  3764. ->buildSql();
  3765. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  3766. ->field("
  3767. 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,
  3768. ROUND(SUM(
  3769. CASE
  3770. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3771. THEN
  3772. CASE
  3773. WHEN a.cCyddxMc = '装配'
  3774. OR a.cCyddxMc LIKE '%正文%'
  3775. OR a.cCyddxMc LIKE '%答案%'
  3776. OR a.cCyddxMc LIKE '%卷%'
  3777. THEN
  3778. CASE
  3779. WHEN CASE
  3780. WHEN IFNULL(d.fZls, 0) < rr.zl
  3781. THEN rr.zl
  3782. ELSE IFNULL(d.fZls, 0)
  3783. END = 0
  3784. THEN c.nzdls
  3785. ELSE (
  3786. CASE
  3787. WHEN c.nzdls <
  3788. CASE
  3789. WHEN IFNULL(d.fZls, 0) < rr.zl
  3790. THEN rr.zl
  3791. ELSE IFNULL(d.fZls, 0)
  3792. END
  3793. THEN
  3794. CASE
  3795. WHEN IFNULL(d.fZls, 0) < rr.zl
  3796. THEN rr.zl
  3797. ELSE IFNULL(d.fZls, 0)
  3798. END
  3799. ELSE c.nzdls
  3800. END
  3801. )
  3802. END
  3803. ELSE 0
  3804. END
  3805. ELSE
  3806. CASE
  3807. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3808. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3809. CASE
  3810. WHEN a.cCyddxMc = '装配'
  3811. OR a.cCyddxMc LIKE '%正文%'
  3812. OR a.cCyddxMc LIKE '%答案%'
  3813. OR a.cCyddxMc LIKE '%卷%'
  3814. THEN
  3815. CASE
  3816. WHEN CASE
  3817. WHEN IFNULL(d.fZls, 0) < rr.zl
  3818. THEN rr.zl
  3819. ELSE IFNULL(d.fZls, 0)
  3820. END = 0
  3821. THEN c.nzdls
  3822. ELSE (
  3823. CASE
  3824. WHEN c.nzdls <
  3825. CASE
  3826. WHEN IFNULL(d.fZls, 0) < rr.zl
  3827. THEN rr.zl
  3828. ELSE IFNULL(d.fZls, 0)
  3829. END
  3830. THEN
  3831. CASE
  3832. WHEN IFNULL(d.fZls, 0) < rr.zl
  3833. THEN rr.zl
  3834. ELSE IFNULL(d.fZls, 0)
  3835. END
  3836. ELSE c.nzdls
  3837. END
  3838. )
  3839. END
  3840. ELSE 0
  3841. END
  3842. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3843. END
  3844. END )
  3845. , 3) 马33乙纸令
  3846. ")
  3847. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3848. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3849. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3850. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3851. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3852. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3853. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  3854. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3855. ->group("CASE
  3856. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3857. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3858. END,Name_WorkGroup")
  3859. ->buildSql();
  3860. $HH = Db::table('ql_report_feedback_day')->alias('a')
  3861. ->field("
  3862. 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,
  3863. ROUND(SUM(
  3864. CASE
  3865. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3866. THEN
  3867. CASE
  3868. WHEN a.cCyddxMc = '装配'
  3869. OR a.cCyddxMc LIKE '%正文%'
  3870. OR a.cCyddxMc LIKE '%答案%'
  3871. OR a.cCyddxMc LIKE '%卷%'
  3872. THEN
  3873. CASE
  3874. WHEN CASE
  3875. WHEN IFNULL(d.fZls, 0) < rr.zl
  3876. THEN rr.zl
  3877. ELSE IFNULL(d.fZls, 0)
  3878. END = 0
  3879. THEN c.nzdls
  3880. ELSE (
  3881. CASE
  3882. WHEN c.nzdls <
  3883. CASE
  3884. WHEN IFNULL(d.fZls, 0) < rr.zl
  3885. THEN rr.zl
  3886. ELSE IFNULL(d.fZls, 0)
  3887. END
  3888. THEN
  3889. CASE
  3890. WHEN IFNULL(d.fZls, 0) < rr.zl
  3891. THEN rr.zl
  3892. ELSE IFNULL(d.fZls, 0)
  3893. END
  3894. ELSE c.nzdls
  3895. END
  3896. )
  3897. END
  3898. ELSE 0
  3899. END
  3900. ELSE
  3901. CASE
  3902. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3903. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3904. CASE
  3905. WHEN a.cCyddxMc = '装配'
  3906. OR a.cCyddxMc LIKE '%正文%'
  3907. OR a.cCyddxMc LIKE '%答案%'
  3908. OR a.cCyddxMc LIKE '%卷%'
  3909. THEN
  3910. CASE
  3911. WHEN CASE
  3912. WHEN IFNULL(d.fZls, 0) < rr.zl
  3913. THEN rr.zl
  3914. ELSE IFNULL(d.fZls, 0)
  3915. END = 0
  3916. THEN c.nzdls
  3917. ELSE (
  3918. CASE
  3919. WHEN c.nzdls <
  3920. CASE
  3921. WHEN IFNULL(d.fZls, 0) < rr.zl
  3922. THEN rr.zl
  3923. ELSE IFNULL(d.fZls, 0)
  3924. END
  3925. THEN
  3926. CASE
  3927. WHEN IFNULL(d.fZls, 0) < rr.zl
  3928. THEN rr.zl
  3929. ELSE IFNULL(d.fZls, 0)
  3930. END
  3931. ELSE c.nzdls
  3932. END
  3933. )
  3934. END
  3935. ELSE 0
  3936. END
  3937. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  3938. END
  3939. END )
  3940. , 3) 马44甲纸令
  3941. ")
  3942. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  3943. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  3944. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  3945. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  3946. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  3947. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  3948. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  3949. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  3950. ->group("CASE
  3951. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  3952. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  3953. END,Name_WorkGroup")
  3954. ->buildSql();
  3955. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  3956. ->field("
  3957. 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,
  3958. ROUND(SUM(
  3959. CASE
  3960. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  3961. THEN
  3962. CASE
  3963. WHEN a.cCyddxMc = '装配'
  3964. OR a.cCyddxMc LIKE '%正文%'
  3965. OR a.cCyddxMc LIKE '%答案%'
  3966. OR a.cCyddxMc LIKE '%卷%'
  3967. THEN
  3968. CASE
  3969. WHEN CASE
  3970. WHEN IFNULL(d.fZls, 0) < rr.zl
  3971. THEN rr.zl
  3972. ELSE IFNULL(d.fZls, 0)
  3973. END = 0
  3974. THEN c.nzdls
  3975. ELSE (
  3976. CASE
  3977. WHEN c.nzdls <
  3978. CASE
  3979. WHEN IFNULL(d.fZls, 0) < rr.zl
  3980. THEN rr.zl
  3981. ELSE IFNULL(d.fZls, 0)
  3982. END
  3983. THEN
  3984. CASE
  3985. WHEN IFNULL(d.fZls, 0) < rr.zl
  3986. THEN rr.zl
  3987. ELSE IFNULL(d.fZls, 0)
  3988. END
  3989. ELSE c.nzdls
  3990. END
  3991. )
  3992. END
  3993. ELSE 0
  3994. END
  3995. ELSE
  3996. CASE
  3997. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  3998. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  3999. CASE
  4000. WHEN a.cCyddxMc = '装配'
  4001. OR a.cCyddxMc LIKE '%正文%'
  4002. OR a.cCyddxMc LIKE '%答案%'
  4003. OR a.cCyddxMc LIKE '%卷%'
  4004. THEN
  4005. CASE
  4006. WHEN CASE
  4007. WHEN IFNULL(d.fZls, 0) < rr.zl
  4008. THEN rr.zl
  4009. ELSE IFNULL(d.fZls, 0)
  4010. END = 0
  4011. THEN c.nzdls
  4012. ELSE (
  4013. CASE
  4014. WHEN c.nzdls <
  4015. CASE
  4016. WHEN IFNULL(d.fZls, 0) < rr.zl
  4017. THEN rr.zl
  4018. ELSE IFNULL(d.fZls, 0)
  4019. END
  4020. THEN
  4021. CASE
  4022. WHEN IFNULL(d.fZls, 0) < rr.zl
  4023. THEN rr.zl
  4024. ELSE IFNULL(d.fZls, 0)
  4025. END
  4026. ELSE c.nzdls
  4027. END
  4028. )
  4029. END
  4030. ELSE 0
  4031. END
  4032. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4033. END
  4034. END )
  4035. , 3) 马44乙纸令
  4036. ")
  4037. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4038. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4039. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4040. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4041. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4042. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4043. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  4044. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4045. ->group("CASE
  4046. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4047. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4048. END,Name_WorkGroup")
  4049. ->buildSql();
  4050. $XX = Db::table('ql_report_feedback_day')->alias('a')
  4051. ->field("
  4052. 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,
  4053. ROUND(SUM(
  4054. CASE
  4055. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4056. THEN
  4057. CASE
  4058. WHEN a.cCyddxMc = '装配'
  4059. OR a.cCyddxMc LIKE '%正文%'
  4060. OR a.cCyddxMc LIKE '%答案%'
  4061. OR a.cCyddxMc LIKE '%卷%'
  4062. THEN
  4063. CASE
  4064. WHEN CASE
  4065. WHEN IFNULL(d.fZls, 0) < rr.zl
  4066. THEN rr.zl
  4067. ELSE IFNULL(d.fZls, 0)
  4068. END = 0
  4069. THEN c.nzdls
  4070. ELSE (
  4071. CASE
  4072. WHEN c.nzdls <
  4073. CASE
  4074. WHEN IFNULL(d.fZls, 0) < rr.zl
  4075. THEN rr.zl
  4076. ELSE IFNULL(d.fZls, 0)
  4077. END
  4078. THEN
  4079. CASE
  4080. WHEN IFNULL(d.fZls, 0) < rr.zl
  4081. THEN rr.zl
  4082. ELSE IFNULL(d.fZls, 0)
  4083. END
  4084. ELSE c.nzdls
  4085. END
  4086. )
  4087. END
  4088. ELSE 0
  4089. END
  4090. ELSE
  4091. CASE
  4092. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4093. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4094. CASE
  4095. WHEN a.cCyddxMc = '装配'
  4096. OR a.cCyddxMc LIKE '%正文%'
  4097. OR a.cCyddxMc LIKE '%答案%'
  4098. OR a.cCyddxMc LIKE '%卷%'
  4099. THEN
  4100. CASE
  4101. WHEN CASE
  4102. WHEN IFNULL(d.fZls, 0) < rr.zl
  4103. THEN rr.zl
  4104. ELSE IFNULL(d.fZls, 0)
  4105. END = 0
  4106. THEN c.nzdls
  4107. ELSE (
  4108. CASE
  4109. WHEN c.nzdls <
  4110. CASE
  4111. WHEN IFNULL(d.fZls, 0) < rr.zl
  4112. THEN rr.zl
  4113. ELSE IFNULL(d.fZls, 0)
  4114. END
  4115. THEN
  4116. CASE
  4117. WHEN IFNULL(d.fZls, 0) < rr.zl
  4118. THEN rr.zl
  4119. ELSE IFNULL(d.fZls, 0)
  4120. END
  4121. ELSE c.nzdls
  4122. END
  4123. )
  4124. END
  4125. ELSE 0
  4126. END
  4127. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4128. END
  4129. END )
  4130. , 3) 马55甲纸令
  4131. ")
  4132. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4133. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4134. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4135. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4136. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4137. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4138. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  4139. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4140. ->group("CASE
  4141. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4142. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4143. END,Name_WorkGroup")
  4144. ->buildSql();
  4145. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  4146. ->field("
  4147. 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,
  4148. ROUND(SUM(
  4149. CASE
  4150. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4151. THEN
  4152. CASE
  4153. WHEN a.cCyddxMc = '装配'
  4154. OR a.cCyddxMc LIKE '%正文%'
  4155. OR a.cCyddxMc LIKE '%答案%'
  4156. OR a.cCyddxMc LIKE '%卷%'
  4157. THEN
  4158. CASE
  4159. WHEN CASE
  4160. WHEN IFNULL(d.fZls, 0) < rr.zl
  4161. THEN rr.zl
  4162. ELSE IFNULL(d.fZls, 0)
  4163. END = 0
  4164. THEN c.nzdls
  4165. ELSE (
  4166. CASE
  4167. WHEN c.nzdls <
  4168. CASE
  4169. WHEN IFNULL(d.fZls, 0) < rr.zl
  4170. THEN rr.zl
  4171. ELSE IFNULL(d.fZls, 0)
  4172. END
  4173. THEN
  4174. CASE
  4175. WHEN IFNULL(d.fZls, 0) < rr.zl
  4176. THEN rr.zl
  4177. ELSE IFNULL(d.fZls, 0)
  4178. END
  4179. ELSE c.nzdls
  4180. END
  4181. )
  4182. END
  4183. ELSE 0
  4184. END
  4185. ELSE
  4186. CASE
  4187. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4188. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4189. CASE
  4190. WHEN a.cCyddxMc = '装配'
  4191. OR a.cCyddxMc LIKE '%正文%'
  4192. OR a.cCyddxMc LIKE '%答案%'
  4193. OR a.cCyddxMc LIKE '%卷%'
  4194. THEN
  4195. CASE
  4196. WHEN CASE
  4197. WHEN IFNULL(d.fZls, 0) < rr.zl
  4198. THEN rr.zl
  4199. ELSE IFNULL(d.fZls, 0)
  4200. END = 0
  4201. THEN c.nzdls
  4202. ELSE (
  4203. CASE
  4204. WHEN c.nzdls <
  4205. CASE
  4206. WHEN IFNULL(d.fZls, 0) < rr.zl
  4207. THEN rr.zl
  4208. ELSE IFNULL(d.fZls, 0)
  4209. END
  4210. THEN
  4211. CASE
  4212. WHEN IFNULL(d.fZls, 0) < rr.zl
  4213. THEN rr.zl
  4214. ELSE IFNULL(d.fZls, 0)
  4215. END
  4216. ELSE c.nzdls
  4217. END
  4218. )
  4219. END
  4220. ELSE 0
  4221. END
  4222. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4223. END
  4224. END )
  4225. , 3) 马66甲纸令
  4226. ")
  4227. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4228. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4229. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4230. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4231. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4232. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4233. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  4234. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4235. ->group("CASE
  4236. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4237. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4238. END,Name_WorkGroup")
  4239. ->buildSql();
  4240. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  4241. ->field("
  4242. 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,
  4243. ROUND(SUM(
  4244. CASE
  4245. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4246. THEN
  4247. CASE
  4248. WHEN a.cCyddxMc = '装配'
  4249. OR a.cCyddxMc LIKE '%正文%'
  4250. OR a.cCyddxMc LIKE '%答案%'
  4251. OR a.cCyddxMc LIKE '%卷%'
  4252. THEN
  4253. CASE
  4254. WHEN CASE
  4255. WHEN IFNULL(d.fZls, 0) < rr.zl
  4256. THEN rr.zl
  4257. ELSE IFNULL(d.fZls, 0)
  4258. END = 0
  4259. THEN c.nzdls
  4260. ELSE (
  4261. CASE
  4262. WHEN c.nzdls <
  4263. CASE
  4264. WHEN IFNULL(d.fZls, 0) < rr.zl
  4265. THEN rr.zl
  4266. ELSE IFNULL(d.fZls, 0)
  4267. END
  4268. THEN
  4269. CASE
  4270. WHEN IFNULL(d.fZls, 0) < rr.zl
  4271. THEN rr.zl
  4272. ELSE IFNULL(d.fZls, 0)
  4273. END
  4274. ELSE c.nzdls
  4275. END
  4276. )
  4277. END
  4278. ELSE 0
  4279. END
  4280. ELSE
  4281. CASE
  4282. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4283. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4284. CASE
  4285. WHEN a.cCyddxMc = '装配'
  4286. OR a.cCyddxMc LIKE '%正文%'
  4287. OR a.cCyddxMc LIKE '%答案%'
  4288. OR a.cCyddxMc LIKE '%卷%'
  4289. THEN
  4290. CASE
  4291. WHEN CASE
  4292. WHEN IFNULL(d.fZls, 0) < rr.zl
  4293. THEN rr.zl
  4294. ELSE IFNULL(d.fZls, 0)
  4295. END = 0
  4296. THEN c.nzdls
  4297. ELSE (
  4298. CASE
  4299. WHEN c.nzdls <
  4300. CASE
  4301. WHEN IFNULL(d.fZls, 0) < rr.zl
  4302. THEN rr.zl
  4303. ELSE IFNULL(d.fZls, 0)
  4304. END
  4305. THEN
  4306. CASE
  4307. WHEN IFNULL(d.fZls, 0) < rr.zl
  4308. THEN rr.zl
  4309. ELSE IFNULL(d.fZls, 0)
  4310. END
  4311. ELSE c.nzdls
  4312. END
  4313. )
  4314. END
  4315. ELSE 0
  4316. END
  4317. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4318. END
  4319. END )
  4320. , 3) 马77甲纸令
  4321. ")
  4322. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4323. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4324. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4325. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4326. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4327. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4328. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  4329. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4330. ->group("CASE
  4331. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4332. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4333. END,Name_WorkGroup")
  4334. ->buildSql();
  4335. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  4336. ->field("
  4337. 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,
  4338. ROUND(SUM(
  4339. CASE
  4340. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4341. THEN
  4342. CASE
  4343. WHEN a.cCyddxMc = '装配'
  4344. OR a.cCyddxMc LIKE '%正文%'
  4345. OR a.cCyddxMc LIKE '%答案%'
  4346. OR a.cCyddxMc LIKE '%卷%'
  4347. THEN
  4348. CASE
  4349. WHEN CASE
  4350. WHEN IFNULL(d.fZls, 0) < rr.zl
  4351. THEN rr.zl
  4352. ELSE IFNULL(d.fZls, 0)
  4353. END = 0
  4354. THEN c.nzdls
  4355. ELSE (
  4356. CASE
  4357. WHEN c.nzdls <
  4358. CASE
  4359. WHEN IFNULL(d.fZls, 0) < rr.zl
  4360. THEN rr.zl
  4361. ELSE IFNULL(d.fZls, 0)
  4362. END
  4363. THEN
  4364. CASE
  4365. WHEN IFNULL(d.fZls, 0) < rr.zl
  4366. THEN rr.zl
  4367. ELSE IFNULL(d.fZls, 0)
  4368. END
  4369. ELSE c.nzdls
  4370. END
  4371. )
  4372. END
  4373. ELSE 0
  4374. END
  4375. ELSE
  4376. CASE
  4377. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4378. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4379. CASE
  4380. WHEN a.cCyddxMc = '装配'
  4381. OR a.cCyddxMc LIKE '%正文%'
  4382. OR a.cCyddxMc LIKE '%答案%'
  4383. OR a.cCyddxMc LIKE '%卷%'
  4384. THEN
  4385. CASE
  4386. WHEN CASE
  4387. WHEN IFNULL(d.fZls, 0) < rr.zl
  4388. THEN rr.zl
  4389. ELSE IFNULL(d.fZls, 0)
  4390. END = 0
  4391. THEN c.nzdls
  4392. ELSE (
  4393. CASE
  4394. WHEN c.nzdls <
  4395. CASE
  4396. WHEN IFNULL(d.fZls, 0) < rr.zl
  4397. THEN rr.zl
  4398. ELSE IFNULL(d.fZls, 0)
  4399. END
  4400. THEN
  4401. CASE
  4402. WHEN IFNULL(d.fZls, 0) < rr.zl
  4403. THEN rr.zl
  4404. ELSE IFNULL(d.fZls, 0)
  4405. END
  4406. ELSE c.nzdls
  4407. END
  4408. )
  4409. END
  4410. ELSE 0
  4411. END
  4412. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4413. END
  4414. END )
  4415. , 3) 马88甲纸令
  4416. ")
  4417. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4418. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4419. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4420. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4421. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4422. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4423. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  4424. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4425. ->group("CASE
  4426. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4427. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4428. END,Name_WorkGroup")
  4429. ->buildSql();
  4430. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  4431. ->field("
  4432. 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,
  4433. ROUND(SUM(
  4434. CASE
  4435. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4436. THEN
  4437. CASE
  4438. WHEN a.cCyddxMc = '装配'
  4439. OR a.cCyddxMc LIKE '%正文%'
  4440. OR a.cCyddxMc LIKE '%答案%'
  4441. OR a.cCyddxMc LIKE '%卷%'
  4442. THEN
  4443. CASE
  4444. WHEN CASE
  4445. WHEN IFNULL(d.fZls, 0) < rr.zl
  4446. THEN rr.zl
  4447. ELSE IFNULL(d.fZls, 0)
  4448. END = 0
  4449. THEN c.nzdls
  4450. ELSE (
  4451. CASE
  4452. WHEN c.nzdls <
  4453. CASE
  4454. WHEN IFNULL(d.fZls, 0) < rr.zl
  4455. THEN rr.zl
  4456. ELSE IFNULL(d.fZls, 0)
  4457. END
  4458. THEN
  4459. CASE
  4460. WHEN IFNULL(d.fZls, 0) < rr.zl
  4461. THEN rr.zl
  4462. ELSE IFNULL(d.fZls, 0)
  4463. END
  4464. ELSE c.nzdls
  4465. END
  4466. )
  4467. END
  4468. ELSE 0
  4469. END
  4470. ELSE
  4471. CASE
  4472. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4473. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4474. CASE
  4475. WHEN a.cCyddxMc = '装配'
  4476. OR a.cCyddxMc LIKE '%正文%'
  4477. OR a.cCyddxMc LIKE '%答案%'
  4478. OR a.cCyddxMc LIKE '%卷%'
  4479. THEN
  4480. CASE
  4481. WHEN CASE
  4482. WHEN IFNULL(d.fZls, 0) < rr.zl
  4483. THEN rr.zl
  4484. ELSE IFNULL(d.fZls, 0)
  4485. END = 0
  4486. THEN c.nzdls
  4487. ELSE (
  4488. CASE
  4489. WHEN c.nzdls <
  4490. CASE
  4491. WHEN IFNULL(d.fZls, 0) < rr.zl
  4492. THEN rr.zl
  4493. ELSE IFNULL(d.fZls, 0)
  4494. END
  4495. THEN
  4496. CASE
  4497. WHEN IFNULL(d.fZls, 0) < rr.zl
  4498. THEN rr.zl
  4499. ELSE IFNULL(d.fZls, 0)
  4500. END
  4501. ELSE c.nzdls
  4502. END
  4503. )
  4504. END
  4505. ELSE 0
  4506. END
  4507. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4508. END
  4509. END )
  4510. , 3) 马55乙纸令
  4511. ")
  4512. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4513. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4514. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4515. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4516. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4517. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4518. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  4519. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4520. ->group("CASE
  4521. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4522. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4523. END,Name_WorkGroup")
  4524. ->buildSql();
  4525. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  4526. ->field("
  4527. 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,
  4528. ROUND(SUM(
  4529. CASE
  4530. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4531. THEN
  4532. CASE
  4533. WHEN a.cCyddxMc = '装配'
  4534. OR a.cCyddxMc LIKE '%正文%'
  4535. OR a.cCyddxMc LIKE '%答案%'
  4536. OR a.cCyddxMc LIKE '%卷%'
  4537. THEN
  4538. CASE
  4539. WHEN CASE
  4540. WHEN IFNULL(d.fZls, 0) < rr.zl
  4541. THEN rr.zl
  4542. ELSE IFNULL(d.fZls, 0)
  4543. END = 0
  4544. THEN c.nzdls
  4545. ELSE (
  4546. CASE
  4547. WHEN c.nzdls <
  4548. CASE
  4549. WHEN IFNULL(d.fZls, 0) < rr.zl
  4550. THEN rr.zl
  4551. ELSE IFNULL(d.fZls, 0)
  4552. END
  4553. THEN
  4554. CASE
  4555. WHEN IFNULL(d.fZls, 0) < rr.zl
  4556. THEN rr.zl
  4557. ELSE IFNULL(d.fZls, 0)
  4558. END
  4559. ELSE c.nzdls
  4560. END
  4561. )
  4562. END
  4563. ELSE 0
  4564. END
  4565. ELSE
  4566. CASE
  4567. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4568. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4569. CASE
  4570. WHEN a.cCyddxMc = '装配'
  4571. OR a.cCyddxMc LIKE '%正文%'
  4572. OR a.cCyddxMc LIKE '%答案%'
  4573. OR a.cCyddxMc LIKE '%卷%'
  4574. THEN
  4575. CASE
  4576. WHEN CASE
  4577. WHEN IFNULL(d.fZls, 0) < rr.zl
  4578. THEN rr.zl
  4579. ELSE IFNULL(d.fZls, 0)
  4580. END = 0
  4581. THEN c.nzdls
  4582. ELSE (
  4583. CASE
  4584. WHEN c.nzdls <
  4585. CASE
  4586. WHEN IFNULL(d.fZls, 0) < rr.zl
  4587. THEN rr.zl
  4588. ELSE IFNULL(d.fZls, 0)
  4589. END
  4590. THEN
  4591. CASE
  4592. WHEN IFNULL(d.fZls, 0) < rr.zl
  4593. THEN rr.zl
  4594. ELSE IFNULL(d.fZls, 0)
  4595. END
  4596. ELSE c.nzdls
  4597. END
  4598. )
  4599. END
  4600. ELSE 0
  4601. END
  4602. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4603. END
  4604. END )
  4605. , 3) 马66乙纸令
  4606. ")
  4607. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4608. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4609. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4610. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4611. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4612. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4613. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  4614. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4615. ->group("CASE
  4616. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4617. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4618. END,Name_WorkGroup")
  4619. ->buildSql();
  4620. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  4621. ->field("
  4622. 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,
  4623. ROUND(SUM(
  4624. CASE
  4625. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4626. THEN
  4627. CASE
  4628. WHEN a.cCyddxMc = '装配'
  4629. OR a.cCyddxMc LIKE '%正文%'
  4630. OR a.cCyddxMc LIKE '%答案%'
  4631. OR a.cCyddxMc LIKE '%卷%'
  4632. THEN
  4633. CASE
  4634. WHEN CASE
  4635. WHEN IFNULL(d.fZls, 0) < rr.zl
  4636. THEN rr.zl
  4637. ELSE IFNULL(d.fZls, 0)
  4638. END = 0
  4639. THEN c.nzdls
  4640. ELSE (
  4641. CASE
  4642. WHEN c.nzdls <
  4643. CASE
  4644. WHEN IFNULL(d.fZls, 0) < rr.zl
  4645. THEN rr.zl
  4646. ELSE IFNULL(d.fZls, 0)
  4647. END
  4648. THEN
  4649. CASE
  4650. WHEN IFNULL(d.fZls, 0) < rr.zl
  4651. THEN rr.zl
  4652. ELSE IFNULL(d.fZls, 0)
  4653. END
  4654. ELSE c.nzdls
  4655. END
  4656. )
  4657. END
  4658. ELSE 0
  4659. END
  4660. ELSE
  4661. CASE
  4662. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4663. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4664. CASE
  4665. WHEN a.cCyddxMc = '装配'
  4666. OR a.cCyddxMc LIKE '%正文%'
  4667. OR a.cCyddxMc LIKE '%答案%'
  4668. OR a.cCyddxMc LIKE '%卷%'
  4669. THEN
  4670. CASE
  4671. WHEN CASE
  4672. WHEN IFNULL(d.fZls, 0) < rr.zl
  4673. THEN rr.zl
  4674. ELSE IFNULL(d.fZls, 0)
  4675. END = 0
  4676. THEN c.nzdls
  4677. ELSE (
  4678. CASE
  4679. WHEN c.nzdls <
  4680. CASE
  4681. WHEN IFNULL(d.fZls, 0) < rr.zl
  4682. THEN rr.zl
  4683. ELSE IFNULL(d.fZls, 0)
  4684. END
  4685. THEN
  4686. CASE
  4687. WHEN IFNULL(d.fZls, 0) < rr.zl
  4688. THEN rr.zl
  4689. ELSE IFNULL(d.fZls, 0)
  4690. END
  4691. ELSE c.nzdls
  4692. END
  4693. )
  4694. END
  4695. ELSE 0
  4696. END
  4697. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4698. END
  4699. END )
  4700. , 3) 马77乙纸令
  4701. ")
  4702. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4703. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4704. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4705. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4706. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4707. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4708. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  4709. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4710. ->group("CASE
  4711. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4712. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4713. END,Name_WorkGroup")
  4714. ->buildSql();
  4715. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  4716. ->field("
  4717. 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,
  4718. ROUND(SUM(
  4719. CASE
  4720. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4721. THEN
  4722. CASE
  4723. WHEN a.cCyddxMc = '装配'
  4724. OR a.cCyddxMc LIKE '%正文%'
  4725. OR a.cCyddxMc LIKE '%答案%'
  4726. OR a.cCyddxMc LIKE '%卷%'
  4727. THEN
  4728. CASE
  4729. WHEN CASE
  4730. WHEN IFNULL(d.fZls, 0) < rr.zl
  4731. THEN rr.zl
  4732. ELSE IFNULL(d.fZls, 0)
  4733. END = 0
  4734. THEN c.nzdls
  4735. ELSE (
  4736. CASE
  4737. WHEN c.nzdls <
  4738. CASE
  4739. WHEN IFNULL(d.fZls, 0) < rr.zl
  4740. THEN rr.zl
  4741. ELSE IFNULL(d.fZls, 0)
  4742. END
  4743. THEN
  4744. CASE
  4745. WHEN IFNULL(d.fZls, 0) < rr.zl
  4746. THEN rr.zl
  4747. ELSE IFNULL(d.fZls, 0)
  4748. END
  4749. ELSE c.nzdls
  4750. END
  4751. )
  4752. END
  4753. ELSE 0
  4754. END
  4755. ELSE
  4756. CASE
  4757. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4758. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4759. CASE
  4760. WHEN a.cCyddxMc = '装配'
  4761. OR a.cCyddxMc LIKE '%正文%'
  4762. OR a.cCyddxMc LIKE '%答案%'
  4763. OR a.cCyddxMc LIKE '%卷%'
  4764. THEN
  4765. CASE
  4766. WHEN CASE
  4767. WHEN IFNULL(d.fZls, 0) < rr.zl
  4768. THEN rr.zl
  4769. ELSE IFNULL(d.fZls, 0)
  4770. END = 0
  4771. THEN c.nzdls
  4772. ELSE (
  4773. CASE
  4774. WHEN c.nzdls <
  4775. CASE
  4776. WHEN IFNULL(d.fZls, 0) < rr.zl
  4777. THEN rr.zl
  4778. ELSE IFNULL(d.fZls, 0)
  4779. END
  4780. THEN
  4781. CASE
  4782. WHEN IFNULL(d.fZls, 0) < rr.zl
  4783. THEN rr.zl
  4784. ELSE IFNULL(d.fZls, 0)
  4785. END
  4786. ELSE c.nzdls
  4787. END
  4788. )
  4789. END
  4790. ELSE 0
  4791. END
  4792. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4793. END
  4794. END )
  4795. , 3) 马88乙纸令
  4796. ")
  4797. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4798. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4799. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4800. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4801. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4802. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4803. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  4804. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  4805. ->group("CASE
  4806. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4807. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4808. END,Name_WorkGroup")
  4809. ->buildSql();
  4810. $db = Db::table($A . 'a')
  4811. ->field("
  4812. DISTINCT DATE(A.RQ) rq,
  4813. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  4814. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  4815. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  4816. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  4817. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  4818. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  4819. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  4820. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  4821. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  4822. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  4823. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  4824. + IFNULL(sum(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 0)
  4825. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  4826. ")
  4827. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  4828. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  4829. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  4830. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  4831. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  4832. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  4833. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  4834. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  4835. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  4836. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  4837. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  4838. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  4839. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  4840. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  4841. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  4842. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  4843. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  4844. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  4845. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  4846. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  4847. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  4848. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  4849. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  4850. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  4851. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  4852. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  4853. ->group('rq')
  4854. ->buildSql();
  4855. $jd = Db::table($db . ' db')
  4856. ->field("
  4857. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  4858. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  4859. ")
  4860. ->where("db.RQ >= '{$this->qstart_time()}'AND db.RQ <= '{$this->qend_time()}' ")
  4861. ->group('MONTH(db.rq)')
  4862. ->select();
  4863. /**
  4864. * 簿册联动线纸令
  4865. */
  4866. $B = Db::table('cpjtfk')
  4867. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4868. ->field("
  4869. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4870. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  4871. ")
  4872. ->where('cbanzu','=','簿册机1号(甲班)')
  4873. ->group('drptdate,cbanzu')
  4874. ->buildSql();
  4875. $B1 = Db::table('cpjtfk')
  4876. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  4877. ->field("
  4878. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  4879. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  4880. ")
  4881. ->where('cbanzu','=','簿册机1号(乙班)')
  4882. ->group('drptdate,cbanzu')
  4883. ->buildSql();
  4884. $rr = Db::table('scyddx')->alias('r')
  4885. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  4886. ->group('r.ICYDID')
  4887. ->buildSql();
  4888. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  4889. ->field("
  4890. 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,
  4891. ROUND(SUM(
  4892. CASE
  4893. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4894. THEN
  4895. CASE
  4896. WHEN a.cCyddxMc = '装配'
  4897. OR a.cCyddxMc LIKE '%正文%'
  4898. OR a.cCyddxMc LIKE '%答案%'
  4899. OR a.cCyddxMc LIKE '%卷%'
  4900. THEN
  4901. CASE
  4902. WHEN CASE
  4903. WHEN IFNULL(d.fZls, 0) < rr.zl
  4904. THEN rr.zl
  4905. ELSE IFNULL(d.fZls, 0)
  4906. END = 0
  4907. THEN c.nzdls
  4908. ELSE (
  4909. CASE
  4910. WHEN c.nzdls <
  4911. CASE
  4912. WHEN IFNULL(d.fZls, 0) < rr.zl
  4913. THEN rr.zl
  4914. ELSE IFNULL(d.fZls, 0)
  4915. END
  4916. THEN
  4917. CASE
  4918. WHEN IFNULL(d.fZls, 0) < rr.zl
  4919. THEN rr.zl
  4920. ELSE IFNULL(d.fZls, 0)
  4921. END
  4922. ELSE c.nzdls
  4923. END
  4924. )
  4925. END
  4926. ELSE 0
  4927. END
  4928. ELSE
  4929. CASE
  4930. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  4931. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  4932. CASE
  4933. WHEN a.cCyddxMc = '装配'
  4934. OR a.cCyddxMc LIKE '%正文%'
  4935. OR a.cCyddxMc LIKE '%答案%'
  4936. OR a.cCyddxMc LIKE '%卷%'
  4937. THEN
  4938. CASE
  4939. WHEN CASE
  4940. WHEN IFNULL(d.fZls, 0) < rr.zl
  4941. THEN rr.zl
  4942. ELSE IFNULL(d.fZls, 0)
  4943. END = 0
  4944. THEN c.nzdls
  4945. ELSE (
  4946. CASE
  4947. WHEN c.nzdls <
  4948. CASE
  4949. WHEN IFNULL(d.fZls, 0) < rr.zl
  4950. THEN rr.zl
  4951. ELSE IFNULL(d.fZls, 0)
  4952. END
  4953. THEN
  4954. CASE
  4955. WHEN IFNULL(d.fZls, 0) < rr.zl
  4956. THEN rr.zl
  4957. ELSE IFNULL(d.fZls, 0)
  4958. END
  4959. ELSE c.nzdls
  4960. END
  4961. )
  4962. END
  4963. ELSE 0
  4964. END
  4965. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  4966. END
  4967. END )
  4968. , 3) 簿11甲纸令
  4969. ")
  4970. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  4971. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  4972. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  4973. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  4974. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  4975. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  4976. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  4977. ->where('a.cTechName' ,'=','簿册联动')
  4978. ->group("CASE
  4979. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  4980. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  4981. END,Name_WorkGroup")
  4982. ->buildSql();
  4983. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  4984. ->field("
  4985. 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,
  4986. ROUND(SUM(
  4987. CASE
  4988. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  4989. THEN
  4990. CASE
  4991. WHEN a.cCyddxMc = '装配'
  4992. OR a.cCyddxMc LIKE '%正文%'
  4993. OR a.cCyddxMc LIKE '%答案%'
  4994. OR a.cCyddxMc LIKE '%卷%'
  4995. THEN
  4996. CASE
  4997. WHEN CASE
  4998. WHEN IFNULL(d.fZls, 0) < rr.zl
  4999. THEN rr.zl
  5000. ELSE IFNULL(d.fZls, 0)
  5001. END = 0
  5002. THEN c.nzdls
  5003. ELSE (
  5004. CASE
  5005. WHEN c.nzdls <
  5006. CASE
  5007. WHEN IFNULL(d.fZls, 0) < rr.zl
  5008. THEN rr.zl
  5009. ELSE IFNULL(d.fZls, 0)
  5010. END
  5011. THEN
  5012. CASE
  5013. WHEN IFNULL(d.fZls, 0) < rr.zl
  5014. THEN rr.zl
  5015. ELSE IFNULL(d.fZls, 0)
  5016. END
  5017. ELSE c.nzdls
  5018. END
  5019. )
  5020. END
  5021. ELSE 0
  5022. END
  5023. ELSE
  5024. CASE
  5025. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5026. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5027. CASE
  5028. WHEN a.cCyddxMc = '装配'
  5029. OR a.cCyddxMc LIKE '%正文%'
  5030. OR a.cCyddxMc LIKE '%答案%'
  5031. OR a.cCyddxMc LIKE '%卷%'
  5032. THEN
  5033. CASE
  5034. WHEN CASE
  5035. WHEN IFNULL(d.fZls, 0) < rr.zl
  5036. THEN rr.zl
  5037. ELSE IFNULL(d.fZls, 0)
  5038. END = 0
  5039. THEN c.nzdls
  5040. ELSE (
  5041. CASE
  5042. WHEN c.nzdls <
  5043. CASE
  5044. WHEN IFNULL(d.fZls, 0) < rr.zl
  5045. THEN rr.zl
  5046. ELSE IFNULL(d.fZls, 0)
  5047. END
  5048. THEN
  5049. CASE
  5050. WHEN IFNULL(d.fZls, 0) < rr.zl
  5051. THEN rr.zl
  5052. ELSE IFNULL(d.fZls, 0)
  5053. END
  5054. ELSE c.nzdls
  5055. END
  5056. )
  5057. END
  5058. ELSE 0
  5059. END
  5060. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5061. END
  5062. END )
  5063. , 3) 簿11乙纸令
  5064. ")
  5065. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5066. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5067. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5068. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5069. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5070. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5071. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  5072. ->where('a.cTechName' ,'=','簿册联动')
  5073. ->group("CASE
  5074. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5075. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5076. END,Name_WorkGroup")
  5077. ->buildSql();
  5078. $db = Db::table($A . 'a')
  5079. ->field("
  5080. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  5081. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  5082. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  5083. ")
  5084. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  5085. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  5086. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  5087. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  5088. ->group('rq')
  5089. ->buildSql();
  5090. $bc = Db::table($db . ' db')
  5091. ->field("
  5092. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  5093. ROUND(sum(db.纸令), 0) as 簿册纸令
  5094. ")->where("db.RQ >= '{$this->qstart_time()}'
  5095. AND db.RQ <= '{$this->qend_time()}' ")
  5096. ->group('MONTH(db.rq)')
  5097. ->select();
  5098. // 创建一个结果数组
  5099. $result=[];
  5100. $result1 = [];
  5101. // 遍历第一个数组,并将数据加入结果数组
  5102. foreach ($jp as $val1) {
  5103. $month = $val1['日期'];
  5104. $data1 = $val1['精平纸令'];
  5105. if (!isset($result[$month])) {
  5106. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  5107. }
  5108. if (!isset($result1[$month])) {
  5109. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  5110. }
  5111. $result1[$month] += $data1; // 累加第一个数组的数据
  5112. }
  5113. // 遍历第二个数组,并将数据加入结果数组
  5114. foreach ($jd as $val2) {
  5115. $month = $val2['日期'];
  5116. $data1 = $val2['无线胶订纸令'];
  5117. if (!isset($result[$month])) {
  5118. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  5119. }
  5120. if (!isset($result1[$month])) {
  5121. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  5122. }
  5123. $result1[$month] += $data1; // 累加第二个数组的数据
  5124. }
  5125. foreach ($bc as $val2) {
  5126. $month = $val2['日期'];
  5127. $data1 = $val2['簿册纸令'];
  5128. if (!isset($result[$month])) {
  5129. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  5130. }
  5131. if (!isset($result1[$month])) {
  5132. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  5133. }
  5134. $result1[$month] += $data1; // 累加第二个数组的数据
  5135. }
  5136. foreach($result1 as $k=>$v){
  5137. $list['categories'][]=$k;
  5138. $list['series'][0]['name']='装订实物产量色令数';
  5139. $list['series'][0]['data'][]=$v;
  5140. }
  5141. $res['status']=0;
  5142. $res['msg']='';
  5143. $res['data']=$list;
  5144. $redis->set($redis_key, json_encode($result1));
  5145. // halt(json_decode($redis->get($redis_key),true));
  5146. return json_encode($result1);
  5147. }
  5148. //当年装订实物产量纸令->缓存调用
  5149. public function zdzl_dang(){
  5150. $redis=redis();
  5151. $redis_key = md5('zdzl_dang');
  5152. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  5153. ->union(function ($query) {
  5154. $query->table('scDayRpt_Teams')->alias('b')
  5155. ->field("DISTINCT DATE_FORMAT(
  5156. CASE
  5157. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  5158. ELSE b.dOnDuty
  5159. END,
  5160. '%Y-%m-%d'
  5161. ) AS RQ");
  5162. }, true)
  5163. ->buildSql();
  5164. $B1 = Db::table('cpjtfk')
  5165. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5166. ->field("
  5167. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5168. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  5169. ")
  5170. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  5171. ->group('drptdate,cbanzu')
  5172. ->buildSql();
  5173. $rr = Db::table('scyddx')->alias('r')
  5174. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  5175. ->group('r.ICYDID')
  5176. ->buildSql();
  5177. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5178. ->field("
  5179. 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,
  5180. ROUND(SUM(
  5181. CASE
  5182. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5183. THEN
  5184. CASE
  5185. WHEN a.cCyddxMc = '装配'
  5186. OR a.cCyddxMc LIKE '%正文%'
  5187. OR a.cCyddxMc LIKE '%答案%'
  5188. OR a.cCyddxMc LIKE '%卷%'
  5189. THEN
  5190. CASE
  5191. WHEN CASE
  5192. WHEN IFNULL(d.fZls, 0) < rr.zl
  5193. THEN rr.zl
  5194. ELSE IFNULL(d.fZls, 0)
  5195. END = 0
  5196. THEN c.nzdls
  5197. ELSE (
  5198. CASE
  5199. WHEN c.nzdls <
  5200. CASE
  5201. WHEN IFNULL(d.fZls, 0) < rr.zl
  5202. THEN rr.zl
  5203. ELSE IFNULL(d.fZls, 0)
  5204. END
  5205. THEN
  5206. CASE
  5207. WHEN IFNULL(d.fZls, 0) < rr.zl
  5208. THEN rr.zl
  5209. ELSE IFNULL(d.fZls, 0)
  5210. END
  5211. ELSE c.nzdls
  5212. END
  5213. )
  5214. END
  5215. ELSE 0
  5216. END
  5217. ELSE
  5218. CASE
  5219. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5220. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5221. CASE
  5222. WHEN a.cCyddxMc = '装配'
  5223. OR a.cCyddxMc LIKE '%正文%'
  5224. OR a.cCyddxMc LIKE '%答案%'
  5225. OR a.cCyddxMc LIKE '%卷%'
  5226. THEN
  5227. CASE
  5228. WHEN CASE
  5229. WHEN IFNULL(d.fZls, 0) < rr.zl
  5230. THEN rr.zl
  5231. ELSE IFNULL(d.fZls, 0)
  5232. END = 0
  5233. THEN c.nzdls
  5234. ELSE (
  5235. CASE
  5236. WHEN c.nzdls <
  5237. CASE
  5238. WHEN IFNULL(d.fZls, 0) < rr.zl
  5239. THEN rr.zl
  5240. ELSE IFNULL(d.fZls, 0)
  5241. END
  5242. THEN
  5243. CASE
  5244. WHEN IFNULL(d.fZls, 0) < rr.zl
  5245. THEN rr.zl
  5246. ELSE IFNULL(d.fZls, 0)
  5247. END
  5248. ELSE c.nzdls
  5249. END
  5250. )
  5251. END
  5252. ELSE 0
  5253. END
  5254. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5255. END
  5256. END )
  5257. , 3) 精11乙纸令
  5258. ")
  5259. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5260. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5261. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5262. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5263. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5264. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5265. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号','骑马联动04号'])
  5266. ->group("CASE
  5267. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5268. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5269. END,Name_WorkGroup")
  5270. ->buildSql();
  5271. $db = Db::table($A . 'a')
  5272. ->field("
  5273. DATE(A.RQ) rq,
  5274. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  5275. ")
  5276. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  5277. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  5278. ->buildSql();
  5279. $jp = Db::table($db . ' db')
  5280. ->field("
  5281. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  5282. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  5283. ")->where("db.RQ >= '{$this->start_time()}'
  5284. AND db.RQ <= '{$this->end_time()}' ")
  5285. ->group('MONTH(db.rq)')
  5286. ->select();
  5287. $B = Db::table('cpjtfk')
  5288. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5289. ->field("
  5290. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5291. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  5292. ")
  5293. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  5294. ->group('drptdate,cbanzu')
  5295. ->buildSql();
  5296. $B1 = Db::table('cpjtfk')
  5297. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5298. ->field("
  5299. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5300. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  5301. ")
  5302. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  5303. ->group('drptdate,cbanzu')
  5304. ->buildSql();
  5305. $C = Db::table('cpjtfk')
  5306. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5307. ->field("
  5308. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5309. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  5310. ")
  5311. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  5312. ->group('drptdate,cbanzu')
  5313. ->buildSql();
  5314. $C1 = Db::table('cpjtfk')
  5315. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5316. ->field("
  5317. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5318. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  5319. ")
  5320. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  5321. ->group('drptdate,cbanzu')
  5322. ->buildSql();
  5323. $D = Db::table('cpjtfk')
  5324. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5325. ->field("
  5326. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5327. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  5328. ")
  5329. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  5330. ->group('drptdate,cbanzu')
  5331. ->buildSql();
  5332. $D1 = Db::table('cpjtfk')
  5333. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5334. ->field("
  5335. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5336. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  5337. ")
  5338. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  5339. ->group('drptdate,cbanzu')
  5340. ->buildSql();
  5341. $E = Db::table('cpjtfk')
  5342. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5343. ->field("
  5344. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5345. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  5346. ")
  5347. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  5348. ->group('drptdate,cbanzu')
  5349. ->buildSql();
  5350. $E1 = Db::table('cpjtfk')
  5351. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5352. ->field("
  5353. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5354. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  5355. ")
  5356. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  5357. ->group('drptdate,cbanzu')
  5358. ->buildSql();
  5359. $F = Db::table('cpjtfk')
  5360. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5361. ->field("
  5362. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5363. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  5364. ")
  5365. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  5366. ->group('drptdate,cbanzu')
  5367. ->buildSql();
  5368. $F1 = Db::table('cpjtfk')
  5369. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  5370. ->field("
  5371. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  5372. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  5373. ")
  5374. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  5375. ->group('drptdate,cbanzu')
  5376. ->buildSql();
  5377. $rr = Db::table('scyddx')->alias('r')
  5378. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  5379. ->group('r.ICYDID')
  5380. ->buildSql();
  5381. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  5382. ->field("
  5383. 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,
  5384. ROUND(SUM(
  5385. CASE
  5386. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5387. THEN CASE WHEN a.cCyddxMc = '装配'
  5388. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5389. THEN CASE
  5390. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5391. END = 0 THEN c.nzdls
  5392. ELSE ( CASE
  5393. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5394. END
  5395. THEN CASE
  5396. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5397. END ELSE c.nzdls END
  5398. ) END ELSE 0 END
  5399. ELSE CASE
  5400. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5401. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5402. CASE WHEN a.cCyddxMc = '装配'
  5403. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  5404. THEN CASE
  5405. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5406. END = 0 THEN c.nzdls
  5407. ELSE ( CASE WHEN c.nzdls <
  5408. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5409. END
  5410. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  5411. END ELSE c.nzdls END )
  5412. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5413. END END ), 3) 马11甲纸令 ")
  5414. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5415. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5416. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5417. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5418. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5419. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5420. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  5421. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5422. ->group("CASE
  5423. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5424. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5425. END,Name_WorkGroup")->buildSql();
  5426. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  5427. ->field("
  5428. 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,
  5429. ROUND(SUM(
  5430. CASE
  5431. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5432. THEN
  5433. CASE
  5434. WHEN a.cCyddxMc = '装配'
  5435. OR a.cCyddxMc LIKE '%正文%'
  5436. OR a.cCyddxMc LIKE '%答案%'
  5437. OR a.cCyddxMc LIKE '%卷%'
  5438. THEN
  5439. CASE
  5440. WHEN CASE
  5441. WHEN IFNULL(d.fZls, 0) < rr.zl
  5442. THEN rr.zl
  5443. ELSE IFNULL(d.fZls, 0)
  5444. END = 0
  5445. THEN c.nzdls
  5446. ELSE (
  5447. CASE
  5448. WHEN c.nzdls <
  5449. CASE
  5450. WHEN IFNULL(d.fZls, 0) < rr.zl
  5451. THEN rr.zl
  5452. ELSE IFNULL(d.fZls, 0)
  5453. END
  5454. THEN
  5455. CASE
  5456. WHEN IFNULL(d.fZls, 0) < rr.zl
  5457. THEN rr.zl
  5458. ELSE IFNULL(d.fZls, 0)
  5459. END
  5460. ELSE c.nzdls
  5461. END
  5462. )
  5463. END
  5464. ELSE 0
  5465. END
  5466. ELSE
  5467. CASE
  5468. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5469. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5470. CASE
  5471. WHEN a.cCyddxMc = '装配'
  5472. OR a.cCyddxMc LIKE '%正文%'
  5473. OR a.cCyddxMc LIKE '%答案%'
  5474. OR a.cCyddxMc LIKE '%卷%'
  5475. THEN
  5476. CASE
  5477. WHEN CASE
  5478. WHEN IFNULL(d.fZls, 0) < rr.zl
  5479. THEN rr.zl
  5480. ELSE IFNULL(d.fZls, 0)
  5481. END = 0
  5482. THEN c.nzdls
  5483. ELSE (
  5484. CASE
  5485. WHEN c.nzdls <
  5486. CASE
  5487. WHEN IFNULL(d.fZls, 0) < rr.zl
  5488. THEN rr.zl
  5489. ELSE IFNULL(d.fZls, 0)
  5490. END
  5491. THEN
  5492. CASE
  5493. WHEN IFNULL(d.fZls, 0) < rr.zl
  5494. THEN rr.zl
  5495. ELSE IFNULL(d.fZls, 0)
  5496. END
  5497. ELSE c.nzdls
  5498. END
  5499. )
  5500. END
  5501. ELSE 0
  5502. END
  5503. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5504. END
  5505. END )
  5506. , 3) 马11乙纸令
  5507. ")
  5508. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5509. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5510. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5511. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5512. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5513. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5514. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  5515. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5516. ->group("CASE
  5517. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5518. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5519. END,Name_WorkGroup")
  5520. ->buildSql();
  5521. $CC = Db::table('ql_report_feedback_day')->alias('a')
  5522. ->field("
  5523. 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,
  5524. ROUND(SUM(
  5525. CASE
  5526. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5527. THEN
  5528. CASE
  5529. WHEN a.cCyddxMc = '装配'
  5530. OR a.cCyddxMc LIKE '%正文%'
  5531. OR a.cCyddxMc LIKE '%答案%'
  5532. OR a.cCyddxMc LIKE '%卷%'
  5533. THEN
  5534. CASE
  5535. WHEN CASE
  5536. WHEN IFNULL(d.fZls, 0) < rr.zl
  5537. THEN rr.zl
  5538. ELSE IFNULL(d.fZls, 0)
  5539. END = 0
  5540. THEN c.nzdls
  5541. ELSE (
  5542. CASE
  5543. WHEN c.nzdls <
  5544. CASE
  5545. WHEN IFNULL(d.fZls, 0) < rr.zl
  5546. THEN rr.zl
  5547. ELSE IFNULL(d.fZls, 0)
  5548. END
  5549. THEN
  5550. CASE
  5551. WHEN IFNULL(d.fZls, 0) < rr.zl
  5552. THEN rr.zl
  5553. ELSE IFNULL(d.fZls, 0)
  5554. END
  5555. ELSE c.nzdls
  5556. END
  5557. )
  5558. END
  5559. ELSE 0
  5560. END
  5561. ELSE
  5562. CASE
  5563. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5564. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5565. CASE
  5566. WHEN a.cCyddxMc = '装配'
  5567. OR a.cCyddxMc LIKE '%正文%'
  5568. OR a.cCyddxMc LIKE '%答案%'
  5569. OR a.cCyddxMc LIKE '%卷%'
  5570. THEN
  5571. CASE
  5572. WHEN CASE
  5573. WHEN IFNULL(d.fZls, 0) < rr.zl
  5574. THEN rr.zl
  5575. ELSE IFNULL(d.fZls, 0)
  5576. END = 0
  5577. THEN c.nzdls
  5578. ELSE (
  5579. CASE
  5580. WHEN c.nzdls <
  5581. CASE
  5582. WHEN IFNULL(d.fZls, 0) < rr.zl
  5583. THEN rr.zl
  5584. ELSE IFNULL(d.fZls, 0)
  5585. END
  5586. THEN
  5587. CASE
  5588. WHEN IFNULL(d.fZls, 0) < rr.zl
  5589. THEN rr.zl
  5590. ELSE IFNULL(d.fZls, 0)
  5591. END
  5592. ELSE c.nzdls
  5593. END
  5594. )
  5595. END
  5596. ELSE 0
  5597. END
  5598. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5599. END
  5600. END )
  5601. , 3) 马22甲纸令
  5602. ")
  5603. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5604. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5605. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5606. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5607. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5608. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5609. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  5610. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5611. ->group("CASE
  5612. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5613. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5614. END,Name_WorkGroup")
  5615. ->buildSql();
  5616. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  5617. ->field("
  5618. 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,
  5619. ROUND(SUM(
  5620. CASE
  5621. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5622. THEN
  5623. CASE
  5624. WHEN a.cCyddxMc = '装配'
  5625. OR a.cCyddxMc LIKE '%正文%'
  5626. OR a.cCyddxMc LIKE '%答案%'
  5627. OR a.cCyddxMc LIKE '%卷%'
  5628. THEN
  5629. CASE
  5630. WHEN CASE
  5631. WHEN IFNULL(d.fZls, 0) < rr.zl
  5632. THEN rr.zl
  5633. ELSE IFNULL(d.fZls, 0)
  5634. END = 0
  5635. THEN c.nzdls
  5636. ELSE (
  5637. CASE
  5638. WHEN c.nzdls <
  5639. CASE
  5640. WHEN IFNULL(d.fZls, 0) < rr.zl
  5641. THEN rr.zl
  5642. ELSE IFNULL(d.fZls, 0)
  5643. END
  5644. THEN
  5645. CASE
  5646. WHEN IFNULL(d.fZls, 0) < rr.zl
  5647. THEN rr.zl
  5648. ELSE IFNULL(d.fZls, 0)
  5649. END
  5650. ELSE c.nzdls
  5651. END
  5652. )
  5653. END
  5654. ELSE 0
  5655. END
  5656. ELSE
  5657. CASE
  5658. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5659. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5660. CASE
  5661. WHEN a.cCyddxMc = '装配'
  5662. OR a.cCyddxMc LIKE '%正文%'
  5663. OR a.cCyddxMc LIKE '%答案%'
  5664. OR a.cCyddxMc LIKE '%卷%'
  5665. THEN
  5666. CASE
  5667. WHEN CASE
  5668. WHEN IFNULL(d.fZls, 0) < rr.zl
  5669. THEN rr.zl
  5670. ELSE IFNULL(d.fZls, 0)
  5671. END = 0
  5672. THEN c.nzdls
  5673. ELSE (
  5674. CASE
  5675. WHEN c.nzdls <
  5676. CASE
  5677. WHEN IFNULL(d.fZls, 0) < rr.zl
  5678. THEN rr.zl
  5679. ELSE IFNULL(d.fZls, 0)
  5680. END
  5681. THEN
  5682. CASE
  5683. WHEN IFNULL(d.fZls, 0) < rr.zl
  5684. THEN rr.zl
  5685. ELSE IFNULL(d.fZls, 0)
  5686. END
  5687. ELSE c.nzdls
  5688. END
  5689. )
  5690. END
  5691. ELSE 0
  5692. END
  5693. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5694. END
  5695. END )
  5696. , 3) 马22乙纸令
  5697. ")
  5698. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5699. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5700. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5701. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5702. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5703. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5704. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  5705. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5706. ->group("CASE
  5707. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5708. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5709. END,Name_WorkGroup")
  5710. ->buildSql();
  5711. $EE = Db::table('ql_report_feedback_day')->alias('a')
  5712. ->field("
  5713. 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,
  5714. ROUND(SUM(
  5715. CASE
  5716. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5717. THEN
  5718. CASE
  5719. WHEN a.cCyddxMc = '装配'
  5720. OR a.cCyddxMc LIKE '%正文%'
  5721. OR a.cCyddxMc LIKE '%答案%'
  5722. OR a.cCyddxMc LIKE '%卷%'
  5723. THEN
  5724. CASE
  5725. WHEN CASE
  5726. WHEN IFNULL(d.fZls, 0) < rr.zl
  5727. THEN rr.zl
  5728. ELSE IFNULL(d.fZls, 0)
  5729. END = 0
  5730. THEN c.nzdls
  5731. ELSE (
  5732. CASE
  5733. WHEN c.nzdls <
  5734. CASE
  5735. WHEN IFNULL(d.fZls, 0) < rr.zl
  5736. THEN rr.zl
  5737. ELSE IFNULL(d.fZls, 0)
  5738. END
  5739. THEN
  5740. CASE
  5741. WHEN IFNULL(d.fZls, 0) < rr.zl
  5742. THEN rr.zl
  5743. ELSE IFNULL(d.fZls, 0)
  5744. END
  5745. ELSE c.nzdls
  5746. END
  5747. )
  5748. END
  5749. ELSE 0
  5750. END
  5751. ELSE
  5752. CASE
  5753. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5754. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5755. CASE
  5756. WHEN a.cCyddxMc = '装配'
  5757. OR a.cCyddxMc LIKE '%正文%'
  5758. OR a.cCyddxMc LIKE '%答案%'
  5759. OR a.cCyddxMc LIKE '%卷%'
  5760. THEN
  5761. CASE
  5762. WHEN CASE
  5763. WHEN IFNULL(d.fZls, 0) < rr.zl
  5764. THEN rr.zl
  5765. ELSE IFNULL(d.fZls, 0)
  5766. END = 0
  5767. THEN c.nzdls
  5768. ELSE (
  5769. CASE
  5770. WHEN c.nzdls <
  5771. CASE
  5772. WHEN IFNULL(d.fZls, 0) < rr.zl
  5773. THEN rr.zl
  5774. ELSE IFNULL(d.fZls, 0)
  5775. END
  5776. THEN
  5777. CASE
  5778. WHEN IFNULL(d.fZls, 0) < rr.zl
  5779. THEN rr.zl
  5780. ELSE IFNULL(d.fZls, 0)
  5781. END
  5782. ELSE c.nzdls
  5783. END
  5784. )
  5785. END
  5786. ELSE 0
  5787. END
  5788. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5789. END
  5790. END )
  5791. , 3) 马33甲纸令
  5792. ")
  5793. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5794. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5795. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5796. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5797. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5798. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5799. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  5800. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5801. ->group("CASE
  5802. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5803. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5804. END,Name_WorkGroup")
  5805. ->buildSql();
  5806. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  5807. ->field("
  5808. 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,
  5809. ROUND(SUM(
  5810. CASE
  5811. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5812. THEN
  5813. CASE
  5814. WHEN a.cCyddxMc = '装配'
  5815. OR a.cCyddxMc LIKE '%正文%'
  5816. OR a.cCyddxMc LIKE '%答案%'
  5817. OR a.cCyddxMc LIKE '%卷%'
  5818. THEN
  5819. CASE
  5820. WHEN CASE
  5821. WHEN IFNULL(d.fZls, 0) < rr.zl
  5822. THEN rr.zl
  5823. ELSE IFNULL(d.fZls, 0)
  5824. END = 0
  5825. THEN c.nzdls
  5826. ELSE (
  5827. CASE
  5828. WHEN c.nzdls <
  5829. CASE
  5830. WHEN IFNULL(d.fZls, 0) < rr.zl
  5831. THEN rr.zl
  5832. ELSE IFNULL(d.fZls, 0)
  5833. END
  5834. THEN
  5835. CASE
  5836. WHEN IFNULL(d.fZls, 0) < rr.zl
  5837. THEN rr.zl
  5838. ELSE IFNULL(d.fZls, 0)
  5839. END
  5840. ELSE c.nzdls
  5841. END
  5842. )
  5843. END
  5844. ELSE 0
  5845. END
  5846. ELSE
  5847. CASE
  5848. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5849. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5850. CASE
  5851. WHEN a.cCyddxMc = '装配'
  5852. OR a.cCyddxMc LIKE '%正文%'
  5853. OR a.cCyddxMc LIKE '%答案%'
  5854. OR a.cCyddxMc LIKE '%卷%'
  5855. THEN
  5856. CASE
  5857. WHEN CASE
  5858. WHEN IFNULL(d.fZls, 0) < rr.zl
  5859. THEN rr.zl
  5860. ELSE IFNULL(d.fZls, 0)
  5861. END = 0
  5862. THEN c.nzdls
  5863. ELSE (
  5864. CASE
  5865. WHEN c.nzdls <
  5866. CASE
  5867. WHEN IFNULL(d.fZls, 0) < rr.zl
  5868. THEN rr.zl
  5869. ELSE IFNULL(d.fZls, 0)
  5870. END
  5871. THEN
  5872. CASE
  5873. WHEN IFNULL(d.fZls, 0) < rr.zl
  5874. THEN rr.zl
  5875. ELSE IFNULL(d.fZls, 0)
  5876. END
  5877. ELSE c.nzdls
  5878. END
  5879. )
  5880. END
  5881. ELSE 0
  5882. END
  5883. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5884. END
  5885. END )
  5886. , 3) 马33乙纸令
  5887. ")
  5888. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5889. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5890. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5891. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5892. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5893. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5894. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  5895. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5896. ->group("CASE
  5897. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5898. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5899. END,Name_WorkGroup")
  5900. ->buildSql();
  5901. $HH = Db::table('ql_report_feedback_day')->alias('a')
  5902. ->field("
  5903. 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,
  5904. ROUND(SUM(
  5905. CASE
  5906. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  5907. THEN
  5908. CASE
  5909. WHEN a.cCyddxMc = '装配'
  5910. OR a.cCyddxMc LIKE '%正文%'
  5911. OR a.cCyddxMc LIKE '%答案%'
  5912. OR a.cCyddxMc LIKE '%卷%'
  5913. THEN
  5914. CASE
  5915. WHEN CASE
  5916. WHEN IFNULL(d.fZls, 0) < rr.zl
  5917. THEN rr.zl
  5918. ELSE IFNULL(d.fZls, 0)
  5919. END = 0
  5920. THEN c.nzdls
  5921. ELSE (
  5922. CASE
  5923. WHEN c.nzdls <
  5924. CASE
  5925. WHEN IFNULL(d.fZls, 0) < rr.zl
  5926. THEN rr.zl
  5927. ELSE IFNULL(d.fZls, 0)
  5928. END
  5929. THEN
  5930. CASE
  5931. WHEN IFNULL(d.fZls, 0) < rr.zl
  5932. THEN rr.zl
  5933. ELSE IFNULL(d.fZls, 0)
  5934. END
  5935. ELSE c.nzdls
  5936. END
  5937. )
  5938. END
  5939. ELSE 0
  5940. END
  5941. ELSE
  5942. CASE
  5943. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  5944. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  5945. CASE
  5946. WHEN a.cCyddxMc = '装配'
  5947. OR a.cCyddxMc LIKE '%正文%'
  5948. OR a.cCyddxMc LIKE '%答案%'
  5949. OR a.cCyddxMc LIKE '%卷%'
  5950. THEN
  5951. CASE
  5952. WHEN CASE
  5953. WHEN IFNULL(d.fZls, 0) < rr.zl
  5954. THEN rr.zl
  5955. ELSE IFNULL(d.fZls, 0)
  5956. END = 0
  5957. THEN c.nzdls
  5958. ELSE (
  5959. CASE
  5960. WHEN c.nzdls <
  5961. CASE
  5962. WHEN IFNULL(d.fZls, 0) < rr.zl
  5963. THEN rr.zl
  5964. ELSE IFNULL(d.fZls, 0)
  5965. END
  5966. THEN
  5967. CASE
  5968. WHEN IFNULL(d.fZls, 0) < rr.zl
  5969. THEN rr.zl
  5970. ELSE IFNULL(d.fZls, 0)
  5971. END
  5972. ELSE c.nzdls
  5973. END
  5974. )
  5975. END
  5976. ELSE 0
  5977. END
  5978. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  5979. END
  5980. END )
  5981. , 3) 马44甲纸令
  5982. ")
  5983. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  5984. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  5985. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  5986. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  5987. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  5988. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  5989. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  5990. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  5991. ->group("CASE
  5992. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  5993. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  5994. END,Name_WorkGroup")
  5995. ->buildSql();
  5996. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  5997. ->field("
  5998. 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,
  5999. ROUND(SUM(
  6000. CASE
  6001. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6002. THEN
  6003. CASE
  6004. WHEN a.cCyddxMc = '装配'
  6005. OR a.cCyddxMc LIKE '%正文%'
  6006. OR a.cCyddxMc LIKE '%答案%'
  6007. OR a.cCyddxMc LIKE '%卷%'
  6008. THEN
  6009. CASE
  6010. WHEN CASE
  6011. WHEN IFNULL(d.fZls, 0) < rr.zl
  6012. THEN rr.zl
  6013. ELSE IFNULL(d.fZls, 0)
  6014. END = 0
  6015. THEN c.nzdls
  6016. ELSE (
  6017. CASE
  6018. WHEN c.nzdls <
  6019. CASE
  6020. WHEN IFNULL(d.fZls, 0) < rr.zl
  6021. THEN rr.zl
  6022. ELSE IFNULL(d.fZls, 0)
  6023. END
  6024. THEN
  6025. CASE
  6026. WHEN IFNULL(d.fZls, 0) < rr.zl
  6027. THEN rr.zl
  6028. ELSE IFNULL(d.fZls, 0)
  6029. END
  6030. ELSE c.nzdls
  6031. END
  6032. )
  6033. END
  6034. ELSE 0
  6035. END
  6036. ELSE
  6037. CASE
  6038. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6039. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6040. CASE
  6041. WHEN a.cCyddxMc = '装配'
  6042. OR a.cCyddxMc LIKE '%正文%'
  6043. OR a.cCyddxMc LIKE '%答案%'
  6044. OR a.cCyddxMc LIKE '%卷%'
  6045. THEN
  6046. CASE
  6047. WHEN CASE
  6048. WHEN IFNULL(d.fZls, 0) < rr.zl
  6049. THEN rr.zl
  6050. ELSE IFNULL(d.fZls, 0)
  6051. END = 0
  6052. THEN c.nzdls
  6053. ELSE (
  6054. CASE
  6055. WHEN c.nzdls <
  6056. CASE
  6057. WHEN IFNULL(d.fZls, 0) < rr.zl
  6058. THEN rr.zl
  6059. ELSE IFNULL(d.fZls, 0)
  6060. END
  6061. THEN
  6062. CASE
  6063. WHEN IFNULL(d.fZls, 0) < rr.zl
  6064. THEN rr.zl
  6065. ELSE IFNULL(d.fZls, 0)
  6066. END
  6067. ELSE c.nzdls
  6068. END
  6069. )
  6070. END
  6071. ELSE 0
  6072. END
  6073. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6074. END
  6075. END )
  6076. , 3) 马44乙纸令
  6077. ")
  6078. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6079. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6080. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6081. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6082. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6083. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6084. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  6085. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6086. ->group("CASE
  6087. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6088. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6089. END,Name_WorkGroup")
  6090. ->buildSql();
  6091. $XX = Db::table('ql_report_feedback_day')->alias('a')
  6092. ->field("
  6093. 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,
  6094. ROUND(SUM(
  6095. CASE
  6096. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6097. THEN
  6098. CASE
  6099. WHEN a.cCyddxMc = '装配'
  6100. OR a.cCyddxMc LIKE '%正文%'
  6101. OR a.cCyddxMc LIKE '%答案%'
  6102. OR a.cCyddxMc LIKE '%卷%'
  6103. THEN
  6104. CASE
  6105. WHEN CASE
  6106. WHEN IFNULL(d.fZls, 0) < rr.zl
  6107. THEN rr.zl
  6108. ELSE IFNULL(d.fZls, 0)
  6109. END = 0
  6110. THEN c.nzdls
  6111. ELSE (
  6112. CASE
  6113. WHEN c.nzdls <
  6114. CASE
  6115. WHEN IFNULL(d.fZls, 0) < rr.zl
  6116. THEN rr.zl
  6117. ELSE IFNULL(d.fZls, 0)
  6118. END
  6119. THEN
  6120. CASE
  6121. WHEN IFNULL(d.fZls, 0) < rr.zl
  6122. THEN rr.zl
  6123. ELSE IFNULL(d.fZls, 0)
  6124. END
  6125. ELSE c.nzdls
  6126. END
  6127. )
  6128. END
  6129. ELSE 0
  6130. END
  6131. ELSE
  6132. CASE
  6133. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6134. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6135. CASE
  6136. WHEN a.cCyddxMc = '装配'
  6137. OR a.cCyddxMc LIKE '%正文%'
  6138. OR a.cCyddxMc LIKE '%答案%'
  6139. OR a.cCyddxMc LIKE '%卷%'
  6140. THEN
  6141. CASE
  6142. WHEN CASE
  6143. WHEN IFNULL(d.fZls, 0) < rr.zl
  6144. THEN rr.zl
  6145. ELSE IFNULL(d.fZls, 0)
  6146. END = 0
  6147. THEN c.nzdls
  6148. ELSE (
  6149. CASE
  6150. WHEN c.nzdls <
  6151. CASE
  6152. WHEN IFNULL(d.fZls, 0) < rr.zl
  6153. THEN rr.zl
  6154. ELSE IFNULL(d.fZls, 0)
  6155. END
  6156. THEN
  6157. CASE
  6158. WHEN IFNULL(d.fZls, 0) < rr.zl
  6159. THEN rr.zl
  6160. ELSE IFNULL(d.fZls, 0)
  6161. END
  6162. ELSE c.nzdls
  6163. END
  6164. )
  6165. END
  6166. ELSE 0
  6167. END
  6168. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6169. END
  6170. END )
  6171. , 3) 马55甲纸令
  6172. ")
  6173. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6174. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6175. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6176. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6177. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6178. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6179. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  6180. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6181. ->group("CASE
  6182. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6183. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6184. END,Name_WorkGroup")
  6185. ->buildSql();
  6186. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  6187. ->field("
  6188. 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,
  6189. ROUND(SUM(
  6190. CASE
  6191. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6192. THEN
  6193. CASE
  6194. WHEN a.cCyddxMc = '装配'
  6195. OR a.cCyddxMc LIKE '%正文%'
  6196. OR a.cCyddxMc LIKE '%答案%'
  6197. OR a.cCyddxMc LIKE '%卷%'
  6198. THEN
  6199. CASE
  6200. WHEN CASE
  6201. WHEN IFNULL(d.fZls, 0) < rr.zl
  6202. THEN rr.zl
  6203. ELSE IFNULL(d.fZls, 0)
  6204. END = 0
  6205. THEN c.nzdls
  6206. ELSE (
  6207. CASE
  6208. WHEN c.nzdls <
  6209. CASE
  6210. WHEN IFNULL(d.fZls, 0) < rr.zl
  6211. THEN rr.zl
  6212. ELSE IFNULL(d.fZls, 0)
  6213. END
  6214. THEN
  6215. CASE
  6216. WHEN IFNULL(d.fZls, 0) < rr.zl
  6217. THEN rr.zl
  6218. ELSE IFNULL(d.fZls, 0)
  6219. END
  6220. ELSE c.nzdls
  6221. END
  6222. )
  6223. END
  6224. ELSE 0
  6225. END
  6226. ELSE
  6227. CASE
  6228. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6229. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6230. CASE
  6231. WHEN a.cCyddxMc = '装配'
  6232. OR a.cCyddxMc LIKE '%正文%'
  6233. OR a.cCyddxMc LIKE '%答案%'
  6234. OR a.cCyddxMc LIKE '%卷%'
  6235. THEN
  6236. CASE
  6237. WHEN CASE
  6238. WHEN IFNULL(d.fZls, 0) < rr.zl
  6239. THEN rr.zl
  6240. ELSE IFNULL(d.fZls, 0)
  6241. END = 0
  6242. THEN c.nzdls
  6243. ELSE (
  6244. CASE
  6245. WHEN c.nzdls <
  6246. CASE
  6247. WHEN IFNULL(d.fZls, 0) < rr.zl
  6248. THEN rr.zl
  6249. ELSE IFNULL(d.fZls, 0)
  6250. END
  6251. THEN
  6252. CASE
  6253. WHEN IFNULL(d.fZls, 0) < rr.zl
  6254. THEN rr.zl
  6255. ELSE IFNULL(d.fZls, 0)
  6256. END
  6257. ELSE c.nzdls
  6258. END
  6259. )
  6260. END
  6261. ELSE 0
  6262. END
  6263. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6264. END
  6265. END )
  6266. , 3) 马66甲纸令
  6267. ")
  6268. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6269. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6270. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6271. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6272. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6273. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6274. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  6275. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6276. ->group("CASE
  6277. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6278. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6279. END,Name_WorkGroup")
  6280. ->buildSql();
  6281. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  6282. ->field("
  6283. 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,
  6284. ROUND(SUM(
  6285. CASE
  6286. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6287. THEN
  6288. CASE
  6289. WHEN a.cCyddxMc = '装配'
  6290. OR a.cCyddxMc LIKE '%正文%'
  6291. OR a.cCyddxMc LIKE '%答案%'
  6292. OR a.cCyddxMc LIKE '%卷%'
  6293. THEN
  6294. CASE
  6295. WHEN CASE
  6296. WHEN IFNULL(d.fZls, 0) < rr.zl
  6297. THEN rr.zl
  6298. ELSE IFNULL(d.fZls, 0)
  6299. END = 0
  6300. THEN c.nzdls
  6301. ELSE (
  6302. CASE
  6303. WHEN c.nzdls <
  6304. CASE
  6305. WHEN IFNULL(d.fZls, 0) < rr.zl
  6306. THEN rr.zl
  6307. ELSE IFNULL(d.fZls, 0)
  6308. END
  6309. THEN
  6310. CASE
  6311. WHEN IFNULL(d.fZls, 0) < rr.zl
  6312. THEN rr.zl
  6313. ELSE IFNULL(d.fZls, 0)
  6314. END
  6315. ELSE c.nzdls
  6316. END
  6317. )
  6318. END
  6319. ELSE 0
  6320. END
  6321. ELSE
  6322. CASE
  6323. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6324. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6325. CASE
  6326. WHEN a.cCyddxMc = '装配'
  6327. OR a.cCyddxMc LIKE '%正文%'
  6328. OR a.cCyddxMc LIKE '%答案%'
  6329. OR a.cCyddxMc LIKE '%卷%'
  6330. THEN
  6331. CASE
  6332. WHEN CASE
  6333. WHEN IFNULL(d.fZls, 0) < rr.zl
  6334. THEN rr.zl
  6335. ELSE IFNULL(d.fZls, 0)
  6336. END = 0
  6337. THEN c.nzdls
  6338. ELSE (
  6339. CASE
  6340. WHEN c.nzdls <
  6341. CASE
  6342. WHEN IFNULL(d.fZls, 0) < rr.zl
  6343. THEN rr.zl
  6344. ELSE IFNULL(d.fZls, 0)
  6345. END
  6346. THEN
  6347. CASE
  6348. WHEN IFNULL(d.fZls, 0) < rr.zl
  6349. THEN rr.zl
  6350. ELSE IFNULL(d.fZls, 0)
  6351. END
  6352. ELSE c.nzdls
  6353. END
  6354. )
  6355. END
  6356. ELSE 0
  6357. END
  6358. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6359. END
  6360. END )
  6361. , 3) 马77甲纸令
  6362. ")
  6363. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6364. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6365. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6366. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6367. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6368. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6369. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  6370. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6371. ->group("CASE
  6372. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6373. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6374. END,Name_WorkGroup")
  6375. ->buildSql();
  6376. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  6377. ->field("
  6378. 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,
  6379. ROUND(SUM(
  6380. CASE
  6381. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6382. THEN
  6383. CASE
  6384. WHEN a.cCyddxMc = '装配'
  6385. OR a.cCyddxMc LIKE '%正文%'
  6386. OR a.cCyddxMc LIKE '%答案%'
  6387. OR a.cCyddxMc LIKE '%卷%'
  6388. THEN
  6389. CASE
  6390. WHEN CASE
  6391. WHEN IFNULL(d.fZls, 0) < rr.zl
  6392. THEN rr.zl
  6393. ELSE IFNULL(d.fZls, 0)
  6394. END = 0
  6395. THEN c.nzdls
  6396. ELSE (
  6397. CASE
  6398. WHEN c.nzdls <
  6399. CASE
  6400. WHEN IFNULL(d.fZls, 0) < rr.zl
  6401. THEN rr.zl
  6402. ELSE IFNULL(d.fZls, 0)
  6403. END
  6404. THEN
  6405. CASE
  6406. WHEN IFNULL(d.fZls, 0) < rr.zl
  6407. THEN rr.zl
  6408. ELSE IFNULL(d.fZls, 0)
  6409. END
  6410. ELSE c.nzdls
  6411. END
  6412. )
  6413. END
  6414. ELSE 0
  6415. END
  6416. ELSE
  6417. CASE
  6418. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6419. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6420. CASE
  6421. WHEN a.cCyddxMc = '装配'
  6422. OR a.cCyddxMc LIKE '%正文%'
  6423. OR a.cCyddxMc LIKE '%答案%'
  6424. OR a.cCyddxMc LIKE '%卷%'
  6425. THEN
  6426. CASE
  6427. WHEN CASE
  6428. WHEN IFNULL(d.fZls, 0) < rr.zl
  6429. THEN rr.zl
  6430. ELSE IFNULL(d.fZls, 0)
  6431. END = 0
  6432. THEN c.nzdls
  6433. ELSE (
  6434. CASE
  6435. WHEN c.nzdls <
  6436. CASE
  6437. WHEN IFNULL(d.fZls, 0) < rr.zl
  6438. THEN rr.zl
  6439. ELSE IFNULL(d.fZls, 0)
  6440. END
  6441. THEN
  6442. CASE
  6443. WHEN IFNULL(d.fZls, 0) < rr.zl
  6444. THEN rr.zl
  6445. ELSE IFNULL(d.fZls, 0)
  6446. END
  6447. ELSE c.nzdls
  6448. END
  6449. )
  6450. END
  6451. ELSE 0
  6452. END
  6453. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6454. END
  6455. END )
  6456. , 3) 马88甲纸令
  6457. ")
  6458. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6459. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6460. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6461. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6462. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6463. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6464. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  6465. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6466. ->group("CASE
  6467. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6468. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6469. END,Name_WorkGroup")
  6470. ->buildSql();
  6471. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  6472. ->field("
  6473. 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,
  6474. ROUND(SUM(
  6475. CASE
  6476. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6477. THEN
  6478. CASE
  6479. WHEN a.cCyddxMc = '装配'
  6480. OR a.cCyddxMc LIKE '%正文%'
  6481. OR a.cCyddxMc LIKE '%答案%'
  6482. OR a.cCyddxMc LIKE '%卷%'
  6483. THEN
  6484. CASE
  6485. WHEN CASE
  6486. WHEN IFNULL(d.fZls, 0) < rr.zl
  6487. THEN rr.zl
  6488. ELSE IFNULL(d.fZls, 0)
  6489. END = 0
  6490. THEN c.nzdls
  6491. ELSE (
  6492. CASE
  6493. WHEN c.nzdls <
  6494. CASE
  6495. WHEN IFNULL(d.fZls, 0) < rr.zl
  6496. THEN rr.zl
  6497. ELSE IFNULL(d.fZls, 0)
  6498. END
  6499. THEN
  6500. CASE
  6501. WHEN IFNULL(d.fZls, 0) < rr.zl
  6502. THEN rr.zl
  6503. ELSE IFNULL(d.fZls, 0)
  6504. END
  6505. ELSE c.nzdls
  6506. END
  6507. )
  6508. END
  6509. ELSE 0
  6510. END
  6511. ELSE
  6512. CASE
  6513. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6514. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6515. CASE
  6516. WHEN a.cCyddxMc = '装配'
  6517. OR a.cCyddxMc LIKE '%正文%'
  6518. OR a.cCyddxMc LIKE '%答案%'
  6519. OR a.cCyddxMc LIKE '%卷%'
  6520. THEN
  6521. CASE
  6522. WHEN CASE
  6523. WHEN IFNULL(d.fZls, 0) < rr.zl
  6524. THEN rr.zl
  6525. ELSE IFNULL(d.fZls, 0)
  6526. END = 0
  6527. THEN c.nzdls
  6528. ELSE (
  6529. CASE
  6530. WHEN c.nzdls <
  6531. CASE
  6532. WHEN IFNULL(d.fZls, 0) < rr.zl
  6533. THEN rr.zl
  6534. ELSE IFNULL(d.fZls, 0)
  6535. END
  6536. THEN
  6537. CASE
  6538. WHEN IFNULL(d.fZls, 0) < rr.zl
  6539. THEN rr.zl
  6540. ELSE IFNULL(d.fZls, 0)
  6541. END
  6542. ELSE c.nzdls
  6543. END
  6544. )
  6545. END
  6546. ELSE 0
  6547. END
  6548. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6549. END
  6550. END )
  6551. , 3) 马55乙纸令
  6552. ")
  6553. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6554. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6555. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6556. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6557. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6558. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6559. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  6560. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6561. ->group("CASE
  6562. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6563. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6564. END,Name_WorkGroup")
  6565. ->buildSql();
  6566. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  6567. ->field("
  6568. 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,
  6569. ROUND(SUM(
  6570. CASE
  6571. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6572. THEN
  6573. CASE
  6574. WHEN a.cCyddxMc = '装配'
  6575. OR a.cCyddxMc LIKE '%正文%'
  6576. OR a.cCyddxMc LIKE '%答案%'
  6577. OR a.cCyddxMc LIKE '%卷%'
  6578. THEN
  6579. CASE
  6580. WHEN CASE
  6581. WHEN IFNULL(d.fZls, 0) < rr.zl
  6582. THEN rr.zl
  6583. ELSE IFNULL(d.fZls, 0)
  6584. END = 0
  6585. THEN c.nzdls
  6586. ELSE (
  6587. CASE
  6588. WHEN c.nzdls <
  6589. CASE
  6590. WHEN IFNULL(d.fZls, 0) < rr.zl
  6591. THEN rr.zl
  6592. ELSE IFNULL(d.fZls, 0)
  6593. END
  6594. THEN
  6595. CASE
  6596. WHEN IFNULL(d.fZls, 0) < rr.zl
  6597. THEN rr.zl
  6598. ELSE IFNULL(d.fZls, 0)
  6599. END
  6600. ELSE c.nzdls
  6601. END
  6602. )
  6603. END
  6604. ELSE 0
  6605. END
  6606. ELSE
  6607. CASE
  6608. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6609. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6610. CASE
  6611. WHEN a.cCyddxMc = '装配'
  6612. OR a.cCyddxMc LIKE '%正文%'
  6613. OR a.cCyddxMc LIKE '%答案%'
  6614. OR a.cCyddxMc LIKE '%卷%'
  6615. THEN
  6616. CASE
  6617. WHEN CASE
  6618. WHEN IFNULL(d.fZls, 0) < rr.zl
  6619. THEN rr.zl
  6620. ELSE IFNULL(d.fZls, 0)
  6621. END = 0
  6622. THEN c.nzdls
  6623. ELSE (
  6624. CASE
  6625. WHEN c.nzdls <
  6626. CASE
  6627. WHEN IFNULL(d.fZls, 0) < rr.zl
  6628. THEN rr.zl
  6629. ELSE IFNULL(d.fZls, 0)
  6630. END
  6631. THEN
  6632. CASE
  6633. WHEN IFNULL(d.fZls, 0) < rr.zl
  6634. THEN rr.zl
  6635. ELSE IFNULL(d.fZls, 0)
  6636. END
  6637. ELSE c.nzdls
  6638. END
  6639. )
  6640. END
  6641. ELSE 0
  6642. END
  6643. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6644. END
  6645. END )
  6646. , 3) 马66乙纸令
  6647. ")
  6648. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6649. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6650. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6651. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6652. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6653. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6654. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  6655. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6656. ->group("CASE
  6657. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6658. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6659. END,Name_WorkGroup")
  6660. ->buildSql();
  6661. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  6662. ->field("
  6663. 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,
  6664. ROUND(SUM(
  6665. CASE
  6666. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6667. THEN
  6668. CASE
  6669. WHEN a.cCyddxMc = '装配'
  6670. OR a.cCyddxMc LIKE '%正文%'
  6671. OR a.cCyddxMc LIKE '%答案%'
  6672. OR a.cCyddxMc LIKE '%卷%'
  6673. THEN
  6674. CASE
  6675. WHEN CASE
  6676. WHEN IFNULL(d.fZls, 0) < rr.zl
  6677. THEN rr.zl
  6678. ELSE IFNULL(d.fZls, 0)
  6679. END = 0
  6680. THEN c.nzdls
  6681. ELSE (
  6682. CASE
  6683. WHEN c.nzdls <
  6684. CASE
  6685. WHEN IFNULL(d.fZls, 0) < rr.zl
  6686. THEN rr.zl
  6687. ELSE IFNULL(d.fZls, 0)
  6688. END
  6689. THEN
  6690. CASE
  6691. WHEN IFNULL(d.fZls, 0) < rr.zl
  6692. THEN rr.zl
  6693. ELSE IFNULL(d.fZls, 0)
  6694. END
  6695. ELSE c.nzdls
  6696. END
  6697. )
  6698. END
  6699. ELSE 0
  6700. END
  6701. ELSE
  6702. CASE
  6703. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6704. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6705. CASE
  6706. WHEN a.cCyddxMc = '装配'
  6707. OR a.cCyddxMc LIKE '%正文%'
  6708. OR a.cCyddxMc LIKE '%答案%'
  6709. OR a.cCyddxMc LIKE '%卷%'
  6710. THEN
  6711. CASE
  6712. WHEN CASE
  6713. WHEN IFNULL(d.fZls, 0) < rr.zl
  6714. THEN rr.zl
  6715. ELSE IFNULL(d.fZls, 0)
  6716. END = 0
  6717. THEN c.nzdls
  6718. ELSE (
  6719. CASE
  6720. WHEN c.nzdls <
  6721. CASE
  6722. WHEN IFNULL(d.fZls, 0) < rr.zl
  6723. THEN rr.zl
  6724. ELSE IFNULL(d.fZls, 0)
  6725. END
  6726. THEN
  6727. CASE
  6728. WHEN IFNULL(d.fZls, 0) < rr.zl
  6729. THEN rr.zl
  6730. ELSE IFNULL(d.fZls, 0)
  6731. END
  6732. ELSE c.nzdls
  6733. END
  6734. )
  6735. END
  6736. ELSE 0
  6737. END
  6738. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6739. END
  6740. END )
  6741. , 3) 马77乙纸令
  6742. ")
  6743. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6744. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6745. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6746. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6747. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6748. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6749. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  6750. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6751. ->group("CASE
  6752. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6753. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6754. END,Name_WorkGroup")
  6755. ->buildSql();
  6756. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  6757. ->field("
  6758. 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,
  6759. ROUND(SUM(
  6760. CASE
  6761. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6762. THEN
  6763. CASE
  6764. WHEN a.cCyddxMc = '装配'
  6765. OR a.cCyddxMc LIKE '%正文%'
  6766. OR a.cCyddxMc LIKE '%答案%'
  6767. OR a.cCyddxMc LIKE '%卷%'
  6768. THEN
  6769. CASE
  6770. WHEN CASE
  6771. WHEN IFNULL(d.fZls, 0) < rr.zl
  6772. THEN rr.zl
  6773. ELSE IFNULL(d.fZls, 0)
  6774. END = 0
  6775. THEN c.nzdls
  6776. ELSE (
  6777. CASE
  6778. WHEN c.nzdls <
  6779. CASE
  6780. WHEN IFNULL(d.fZls, 0) < rr.zl
  6781. THEN rr.zl
  6782. ELSE IFNULL(d.fZls, 0)
  6783. END
  6784. THEN
  6785. CASE
  6786. WHEN IFNULL(d.fZls, 0) < rr.zl
  6787. THEN rr.zl
  6788. ELSE IFNULL(d.fZls, 0)
  6789. END
  6790. ELSE c.nzdls
  6791. END
  6792. )
  6793. END
  6794. ELSE 0
  6795. END
  6796. ELSE
  6797. CASE
  6798. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6799. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6800. CASE
  6801. WHEN a.cCyddxMc = '装配'
  6802. OR a.cCyddxMc LIKE '%正文%'
  6803. OR a.cCyddxMc LIKE '%答案%'
  6804. OR a.cCyddxMc LIKE '%卷%'
  6805. THEN
  6806. CASE
  6807. WHEN CASE
  6808. WHEN IFNULL(d.fZls, 0) < rr.zl
  6809. THEN rr.zl
  6810. ELSE IFNULL(d.fZls, 0)
  6811. END = 0
  6812. THEN c.nzdls
  6813. ELSE (
  6814. CASE
  6815. WHEN c.nzdls <
  6816. CASE
  6817. WHEN IFNULL(d.fZls, 0) < rr.zl
  6818. THEN rr.zl
  6819. ELSE IFNULL(d.fZls, 0)
  6820. END
  6821. THEN
  6822. CASE
  6823. WHEN IFNULL(d.fZls, 0) < rr.zl
  6824. THEN rr.zl
  6825. ELSE IFNULL(d.fZls, 0)
  6826. END
  6827. ELSE c.nzdls
  6828. END
  6829. )
  6830. END
  6831. ELSE 0
  6832. END
  6833. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  6834. END
  6835. END )
  6836. , 3) 马88乙纸令
  6837. ")
  6838. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  6839. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  6840. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  6841. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  6842. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  6843. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  6844. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  6845. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  6846. ->group("CASE
  6847. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  6848. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  6849. END,Name_WorkGroup")
  6850. ->buildSql();
  6851. $db = Db::table($A . 'a')
  6852. ->field("
  6853. DISTINCT DATE(A.RQ) rq,
  6854. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  6855. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  6856. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  6857. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  6858. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  6859. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  6860. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  6861. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  6862. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  6863. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  6864. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  6865. + IFNULL(sum(jdj4.马88甲纸令), 0) + IFNULL(sum(jdy4.马88乙纸令), 0)
  6866. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  6867. ")
  6868. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  6869. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  6870. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  6871. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  6872. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  6873. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  6874. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  6875. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  6876. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  6877. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  6878. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  6879. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  6880. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  6881. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  6882. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  6883. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  6884. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  6885. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  6886. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  6887. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  6888. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  6889. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  6890. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  6891. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  6892. ->join('(' . $JDJ4 . ') as jdj4', 'a.rq = jdj4.rq','LEFT')
  6893. ->join('(' . $JDY4 . ') as jdy4', 'a.rq = jdy4.rq','LEFT')
  6894. ->group('rq')
  6895. ->buildSql();
  6896. $jd = Db::table($db . ' db')
  6897. ->field("
  6898. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  6899. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  6900. ")
  6901. ->where("db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ")
  6902. ->group('MONTH(db.rq)')
  6903. ->select();
  6904. /**
  6905. * 簿册联动线纸令
  6906. */
  6907. $B = Db::table('cpjtfk')
  6908. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6909. ->field("
  6910. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6911. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  6912. ")
  6913. ->where('cbanzu','=','簿册机1号(甲班)')
  6914. ->group('drptdate,cbanzu')
  6915. ->buildSql();
  6916. $B1 = Db::table('cpjtfk')
  6917. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  6918. ->field("
  6919. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  6920. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  6921. ")
  6922. ->where('cbanzu','=','簿册机1号(乙班)')
  6923. ->group('drptdate,cbanzu')
  6924. ->buildSql();
  6925. $rr = Db::table('scyddx')->alias('r')
  6926. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  6927. ->group('r.ICYDID')
  6928. ->buildSql();
  6929. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  6930. ->field("
  6931. 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,
  6932. ROUND(SUM(
  6933. CASE
  6934. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  6935. THEN
  6936. CASE
  6937. WHEN a.cCyddxMc = '装配'
  6938. OR a.cCyddxMc LIKE '%正文%'
  6939. OR a.cCyddxMc LIKE '%答案%'
  6940. OR a.cCyddxMc LIKE '%卷%'
  6941. THEN
  6942. CASE
  6943. WHEN CASE
  6944. WHEN IFNULL(d.fZls, 0) < rr.zl
  6945. THEN rr.zl
  6946. ELSE IFNULL(d.fZls, 0)
  6947. END = 0
  6948. THEN c.nzdls
  6949. ELSE (
  6950. CASE
  6951. WHEN c.nzdls <
  6952. CASE
  6953. WHEN IFNULL(d.fZls, 0) < rr.zl
  6954. THEN rr.zl
  6955. ELSE IFNULL(d.fZls, 0)
  6956. END
  6957. THEN
  6958. CASE
  6959. WHEN IFNULL(d.fZls, 0) < rr.zl
  6960. THEN rr.zl
  6961. ELSE IFNULL(d.fZls, 0)
  6962. END
  6963. ELSE c.nzdls
  6964. END
  6965. )
  6966. END
  6967. ELSE 0
  6968. END
  6969. ELSE
  6970. CASE
  6971. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  6972. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  6973. CASE
  6974. WHEN a.cCyddxMc = '装配'
  6975. OR a.cCyddxMc LIKE '%正文%'
  6976. OR a.cCyddxMc LIKE '%答案%'
  6977. OR a.cCyddxMc LIKE '%卷%'
  6978. THEN
  6979. CASE
  6980. WHEN CASE
  6981. WHEN IFNULL(d.fZls, 0) < rr.zl
  6982. THEN rr.zl
  6983. ELSE IFNULL(d.fZls, 0)
  6984. END = 0
  6985. THEN c.nzdls
  6986. ELSE (
  6987. CASE
  6988. WHEN c.nzdls <
  6989. CASE
  6990. WHEN IFNULL(d.fZls, 0) < rr.zl
  6991. THEN rr.zl
  6992. ELSE IFNULL(d.fZls, 0)
  6993. END
  6994. THEN
  6995. CASE
  6996. WHEN IFNULL(d.fZls, 0) < rr.zl
  6997. THEN rr.zl
  6998. ELSE IFNULL(d.fZls, 0)
  6999. END
  7000. ELSE c.nzdls
  7001. END
  7002. )
  7003. END
  7004. ELSE 0
  7005. END
  7006. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7007. END
  7008. END )
  7009. , 3) 簿11甲纸令
  7010. ")
  7011. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7012. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7013. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7014. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7015. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7016. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7017. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  7018. ->where('a.cTechName' ,'=','簿册联动')
  7019. ->group("CASE
  7020. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7021. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7022. END,Name_WorkGroup")
  7023. ->buildSql();
  7024. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  7025. ->field("
  7026. 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,
  7027. ROUND(SUM(
  7028. CASE
  7029. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7030. THEN
  7031. CASE
  7032. WHEN a.cCyddxMc = '装配'
  7033. OR a.cCyddxMc LIKE '%正文%'
  7034. OR a.cCyddxMc LIKE '%答案%'
  7035. OR a.cCyddxMc LIKE '%卷%'
  7036. THEN
  7037. CASE
  7038. WHEN CASE
  7039. WHEN IFNULL(d.fZls, 0) < rr.zl
  7040. THEN rr.zl
  7041. ELSE IFNULL(d.fZls, 0)
  7042. END = 0
  7043. THEN c.nzdls
  7044. ELSE (
  7045. CASE
  7046. WHEN c.nzdls <
  7047. CASE
  7048. WHEN IFNULL(d.fZls, 0) < rr.zl
  7049. THEN rr.zl
  7050. ELSE IFNULL(d.fZls, 0)
  7051. END
  7052. THEN
  7053. CASE
  7054. WHEN IFNULL(d.fZls, 0) < rr.zl
  7055. THEN rr.zl
  7056. ELSE IFNULL(d.fZls, 0)
  7057. END
  7058. ELSE c.nzdls
  7059. END
  7060. )
  7061. END
  7062. ELSE 0
  7063. END
  7064. ELSE
  7065. CASE
  7066. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7067. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7068. CASE
  7069. WHEN a.cCyddxMc = '装配'
  7070. OR a.cCyddxMc LIKE '%正文%'
  7071. OR a.cCyddxMc LIKE '%答案%'
  7072. OR a.cCyddxMc LIKE '%卷%'
  7073. THEN
  7074. CASE
  7075. WHEN CASE
  7076. WHEN IFNULL(d.fZls, 0) < rr.zl
  7077. THEN rr.zl
  7078. ELSE IFNULL(d.fZls, 0)
  7079. END = 0
  7080. THEN c.nzdls
  7081. ELSE (
  7082. CASE
  7083. WHEN c.nzdls <
  7084. CASE
  7085. WHEN IFNULL(d.fZls, 0) < rr.zl
  7086. THEN rr.zl
  7087. ELSE IFNULL(d.fZls, 0)
  7088. END
  7089. THEN
  7090. CASE
  7091. WHEN IFNULL(d.fZls, 0) < rr.zl
  7092. THEN rr.zl
  7093. ELSE IFNULL(d.fZls, 0)
  7094. END
  7095. ELSE c.nzdls
  7096. END
  7097. )
  7098. END
  7099. ELSE 0
  7100. END
  7101. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7102. END
  7103. END )
  7104. , 3) 簿11乙纸令
  7105. ")
  7106. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7107. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7108. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7109. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7110. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7111. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7112. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  7113. ->where('a.cTechName' ,'=','簿册联动')
  7114. ->group("CASE
  7115. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7116. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7117. END,Name_WorkGroup")
  7118. ->buildSql();
  7119. $db = Db::table($A . 'a')
  7120. ->field("
  7121. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  7122. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  7123. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  7124. ")
  7125. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  7126. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  7127. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  7128. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  7129. ->group('rq')
  7130. ->buildSql();
  7131. $bc = Db::table($db . ' db')
  7132. ->field("
  7133. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  7134. ROUND(sum(db.纸令), 0) as 簿册纸令
  7135. ")->where("db.RQ >= '{$this->start_time()}'
  7136. AND db.RQ <= '{$this->end_time()}' ")
  7137. ->group('MONTH(db.rq)')
  7138. ->select();
  7139. // 创建一个结果数组
  7140. $result=[];
  7141. $result1 = [];
  7142. // 遍历第一个数组,并将数据加入结果数组
  7143. foreach ($jp as $val1) {
  7144. $month = $val1['日期'];
  7145. $data1 = $val1['精平纸令'];
  7146. if (!isset($result[$month])) {
  7147. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  7148. }
  7149. if (!isset($result1[$month])) {
  7150. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  7151. }
  7152. $result1[$month] += $data1; // 累加第一个数组的数据
  7153. }
  7154. // 遍历第二个数组,并将数据加入结果数组
  7155. foreach ($jd as $val2) {
  7156. $month = $val2['日期'];
  7157. $data1 = $val2['无线胶订纸令'];
  7158. if (!isset($result[$month])) {
  7159. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  7160. }
  7161. if (!isset($result1[$month])) {
  7162. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  7163. }
  7164. $result1[$month] += $data1; // 累加第二个数组的数据
  7165. }
  7166. foreach ($bc as $val2) {
  7167. $month = $val2['日期'];
  7168. $data1 = $val2['簿册纸令'];
  7169. if (!isset($result[$month])) {
  7170. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  7171. }
  7172. if (!isset($result1[$month])) {
  7173. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  7174. }
  7175. $result1[$month] += $data1; // 累加第二个数组的数据
  7176. }
  7177. foreach($result1 as $k=>$v){
  7178. $list['categories'][]=$k;
  7179. $list['series'][0]['name']='装订实物产量色令数';
  7180. $list['series'][0]['data'][]=$v;
  7181. }
  7182. $res['status']=0;
  7183. $res['msg']='';
  7184. $res['data']=$list;
  7185. $redis->set($redis_key, json_encode($result1));
  7186. // halt(json_decode($redis->get($redis_key),true));
  7187. return json_encode($result1);
  7188. }
  7189. //前年装订实物产量纸令->缓存调用
  7190. public function zdzlTwoYear(){
  7191. $redis=redis();
  7192. $redis_key = md5('zdzlTwoYear');
  7193. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  7194. ->union(function ($query) {
  7195. $query->table('scDayRpt_Teams')->alias('b')
  7196. ->field("DISTINCT DATE_FORMAT(
  7197. CASE
  7198. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  7199. ELSE b.dOnDuty
  7200. END,
  7201. '%Y-%m-%d'
  7202. ) AS RQ");
  7203. }, true)
  7204. ->buildSql();
  7205. $B1 = Db::table('cpjtfk')
  7206. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7207. ->field("
  7208. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7209. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  7210. ")
  7211. ->whereIn('cjtmc', ['精装生产联动线','进口骑马联动','紫光骑马联动','紫光骑马联动(新)','恒山骑马联动'])
  7212. ->group('drptdate,cbanzu')
  7213. ->buildSql();
  7214. $rr = Db::table('scyddx')->alias('r')
  7215. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  7216. ->group('r.ICYDID')
  7217. ->buildSql();
  7218. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  7219. ->field("
  7220. 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,
  7221. ROUND(SUM(
  7222. CASE
  7223. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7224. THEN
  7225. CASE
  7226. WHEN a.cCyddxMc = '装配'
  7227. OR a.cCyddxMc LIKE '%正文%'
  7228. OR a.cCyddxMc LIKE '%答案%'
  7229. OR a.cCyddxMc LIKE '%卷%'
  7230. THEN
  7231. CASE
  7232. WHEN CASE
  7233. WHEN IFNULL(d.fZls, 0) < rr.zl
  7234. THEN rr.zl
  7235. ELSE IFNULL(d.fZls, 0)
  7236. END = 0
  7237. THEN c.nzdls
  7238. ELSE (
  7239. CASE
  7240. WHEN c.nzdls <
  7241. CASE
  7242. WHEN IFNULL(d.fZls, 0) < rr.zl
  7243. THEN rr.zl
  7244. ELSE IFNULL(d.fZls, 0)
  7245. END
  7246. THEN
  7247. CASE
  7248. WHEN IFNULL(d.fZls, 0) < rr.zl
  7249. THEN rr.zl
  7250. ELSE IFNULL(d.fZls, 0)
  7251. END
  7252. ELSE c.nzdls
  7253. END
  7254. )
  7255. END
  7256. ELSE 0
  7257. END
  7258. ELSE
  7259. CASE
  7260. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7261. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7262. CASE
  7263. WHEN a.cCyddxMc = '装配'
  7264. OR a.cCyddxMc LIKE '%正文%'
  7265. OR a.cCyddxMc LIKE '%答案%'
  7266. OR a.cCyddxMc LIKE '%卷%'
  7267. THEN
  7268. CASE
  7269. WHEN CASE
  7270. WHEN IFNULL(d.fZls, 0) < rr.zl
  7271. THEN rr.zl
  7272. ELSE IFNULL(d.fZls, 0)
  7273. END = 0
  7274. THEN c.nzdls
  7275. ELSE (
  7276. CASE
  7277. WHEN c.nzdls <
  7278. CASE
  7279. WHEN IFNULL(d.fZls, 0) < rr.zl
  7280. THEN rr.zl
  7281. ELSE IFNULL(d.fZls, 0)
  7282. END
  7283. THEN
  7284. CASE
  7285. WHEN IFNULL(d.fZls, 0) < rr.zl
  7286. THEN rr.zl
  7287. ELSE IFNULL(d.fZls, 0)
  7288. END
  7289. ELSE c.nzdls
  7290. END
  7291. )
  7292. END
  7293. ELSE 0
  7294. END
  7295. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7296. END
  7297. END )
  7298. , 3) 精11乙纸令
  7299. ")
  7300. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7301. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7302. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7303. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7304. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7305. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7306. ->whereIn('cMachineName', ['精装联动线01号','骑马联动01号','骑马联动02号','骑马联动03号'])
  7307. ->group("CASE
  7308. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7309. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7310. END,Name_WorkGroup")
  7311. ->buildSql();
  7312. $db = Db::table($A . 'a')
  7313. ->field("
  7314. DATE(A.RQ) rq,
  7315. TRUNCATE(IFNULL(Bb1.精11乙纸令, 0) + IFNULL(B1.精1乙纸令数, 0), 0) 纸令数总计
  7316. ")
  7317. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  7318. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  7319. ->buildSql();
  7320. $jp = Db::table($db . ' db')
  7321. ->field("
  7322. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  7323. ROUND(sum(db.纸令数总计), 0) as 精平纸令
  7324. ")->where("db.RQ >= '{$this->start_time()}'
  7325. AND db.RQ <= '{$this->end_time()}' ")
  7326. ->group('MONTH(db.rq)')
  7327. ->select();
  7328. $B = Db::table('cpjtfk')
  7329. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7330. ->field("
  7331. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7332. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  7333. ")
  7334. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  7335. ->group('drptdate,cbanzu')
  7336. ->buildSql();
  7337. $B1 = Db::table('cpjtfk')
  7338. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7339. ->field("
  7340. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7341. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  7342. ")
  7343. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  7344. ->group('drptdate,cbanzu')
  7345. ->buildSql();
  7346. $C = Db::table('cpjtfk')
  7347. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7348. ->field("
  7349. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7350. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  7351. ")
  7352. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  7353. ->group('drptdate,cbanzu')
  7354. ->buildSql();
  7355. $C1 = Db::table('cpjtfk')
  7356. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7357. ->field("
  7358. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7359. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  7360. ")
  7361. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  7362. ->group('drptdate,cbanzu')
  7363. ->buildSql();
  7364. $D = Db::table('cpjtfk')
  7365. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7366. ->field("
  7367. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7368. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  7369. ")
  7370. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  7371. ->group('drptdate,cbanzu')
  7372. ->buildSql();
  7373. $D1 = Db::table('cpjtfk')
  7374. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7375. ->field("
  7376. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7377. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  7378. ")
  7379. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  7380. ->group('drptdate,cbanzu')
  7381. ->buildSql();
  7382. $E = Db::table('cpjtfk')
  7383. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7384. ->field("
  7385. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7386. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  7387. ")
  7388. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  7389. ->group('drptdate,cbanzu')
  7390. ->buildSql();
  7391. $E1 = Db::table('cpjtfk')
  7392. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7393. ->field("
  7394. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7395. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  7396. ")
  7397. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  7398. ->group('drptdate,cbanzu')
  7399. ->buildSql();
  7400. $F = Db::table('cpjtfk')
  7401. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7402. ->field("
  7403. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7404. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  7405. ")
  7406. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  7407. ->group('drptdate,cbanzu')
  7408. ->buildSql();
  7409. $F1 = Db::table('cpjtfk')
  7410. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  7411. ->field("
  7412. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  7413. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  7414. ")
  7415. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  7416. ->group('drptdate,cbanzu')
  7417. ->buildSql();
  7418. $rr = Db::table('scyddx')->alias('r')
  7419. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  7420. ->group('r.ICYDID')
  7421. ->buildSql();
  7422. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  7423. ->field("
  7424. 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,
  7425. ROUND(SUM(
  7426. CASE
  7427. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7428. THEN CASE WHEN a.cCyddxMc = '装配'
  7429. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  7430. THEN CASE
  7431. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7432. END = 0 THEN c.nzdls
  7433. ELSE ( CASE
  7434. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7435. END
  7436. THEN CASE
  7437. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7438. END ELSE c.nzdls END
  7439. ) END ELSE 0 END
  7440. ELSE CASE
  7441. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7442. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7443. CASE WHEN a.cCyddxMc = '装配'
  7444. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  7445. THEN CASE
  7446. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7447. END = 0 THEN c.nzdls
  7448. ELSE ( CASE WHEN c.nzdls <
  7449. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7450. END
  7451. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  7452. END ELSE c.nzdls END )
  7453. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7454. END END ), 3) 马11甲纸令 ")
  7455. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7456. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7457. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7458. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7459. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7460. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7461. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  7462. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7463. ->group("CASE
  7464. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7465. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7466. END,Name_WorkGroup")->buildSql();
  7467. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  7468. ->field("
  7469. 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,
  7470. ROUND(SUM(
  7471. CASE
  7472. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7473. THEN
  7474. CASE
  7475. WHEN a.cCyddxMc = '装配'
  7476. OR a.cCyddxMc LIKE '%正文%'
  7477. OR a.cCyddxMc LIKE '%答案%'
  7478. OR a.cCyddxMc LIKE '%卷%'
  7479. THEN
  7480. CASE
  7481. WHEN CASE
  7482. WHEN IFNULL(d.fZls, 0) < rr.zl
  7483. THEN rr.zl
  7484. ELSE IFNULL(d.fZls, 0)
  7485. END = 0
  7486. THEN c.nzdls
  7487. ELSE (
  7488. CASE
  7489. WHEN c.nzdls <
  7490. CASE
  7491. WHEN IFNULL(d.fZls, 0) < rr.zl
  7492. THEN rr.zl
  7493. ELSE IFNULL(d.fZls, 0)
  7494. END
  7495. THEN
  7496. CASE
  7497. WHEN IFNULL(d.fZls, 0) < rr.zl
  7498. THEN rr.zl
  7499. ELSE IFNULL(d.fZls, 0)
  7500. END
  7501. ELSE c.nzdls
  7502. END
  7503. )
  7504. END
  7505. ELSE 0
  7506. END
  7507. ELSE
  7508. CASE
  7509. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7510. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7511. CASE
  7512. WHEN a.cCyddxMc = '装配'
  7513. OR a.cCyddxMc LIKE '%正文%'
  7514. OR a.cCyddxMc LIKE '%答案%'
  7515. OR a.cCyddxMc LIKE '%卷%'
  7516. THEN
  7517. CASE
  7518. WHEN CASE
  7519. WHEN IFNULL(d.fZls, 0) < rr.zl
  7520. THEN rr.zl
  7521. ELSE IFNULL(d.fZls, 0)
  7522. END = 0
  7523. THEN c.nzdls
  7524. ELSE (
  7525. CASE
  7526. WHEN c.nzdls <
  7527. CASE
  7528. WHEN IFNULL(d.fZls, 0) < rr.zl
  7529. THEN rr.zl
  7530. ELSE IFNULL(d.fZls, 0)
  7531. END
  7532. THEN
  7533. CASE
  7534. WHEN IFNULL(d.fZls, 0) < rr.zl
  7535. THEN rr.zl
  7536. ELSE IFNULL(d.fZls, 0)
  7537. END
  7538. ELSE c.nzdls
  7539. END
  7540. )
  7541. END
  7542. ELSE 0
  7543. END
  7544. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7545. END
  7546. END )
  7547. , 3) 马11乙纸令
  7548. ")
  7549. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7550. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7551. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7552. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7553. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7554. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7555. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  7556. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7557. ->group("CASE
  7558. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7559. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7560. END,Name_WorkGroup")
  7561. ->buildSql();
  7562. $CC = Db::table('ql_report_feedback_day')->alias('a')
  7563. ->field("
  7564. 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,
  7565. ROUND(SUM(
  7566. CASE
  7567. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7568. THEN
  7569. CASE
  7570. WHEN a.cCyddxMc = '装配'
  7571. OR a.cCyddxMc LIKE '%正文%'
  7572. OR a.cCyddxMc LIKE '%答案%'
  7573. OR a.cCyddxMc LIKE '%卷%'
  7574. THEN
  7575. CASE
  7576. WHEN CASE
  7577. WHEN IFNULL(d.fZls, 0) < rr.zl
  7578. THEN rr.zl
  7579. ELSE IFNULL(d.fZls, 0)
  7580. END = 0
  7581. THEN c.nzdls
  7582. ELSE (
  7583. CASE
  7584. WHEN c.nzdls <
  7585. CASE
  7586. WHEN IFNULL(d.fZls, 0) < rr.zl
  7587. THEN rr.zl
  7588. ELSE IFNULL(d.fZls, 0)
  7589. END
  7590. THEN
  7591. CASE
  7592. WHEN IFNULL(d.fZls, 0) < rr.zl
  7593. THEN rr.zl
  7594. ELSE IFNULL(d.fZls, 0)
  7595. END
  7596. ELSE c.nzdls
  7597. END
  7598. )
  7599. END
  7600. ELSE 0
  7601. END
  7602. ELSE
  7603. CASE
  7604. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7605. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7606. CASE
  7607. WHEN a.cCyddxMc = '装配'
  7608. OR a.cCyddxMc LIKE '%正文%'
  7609. OR a.cCyddxMc LIKE '%答案%'
  7610. OR a.cCyddxMc LIKE '%卷%'
  7611. THEN
  7612. CASE
  7613. WHEN CASE
  7614. WHEN IFNULL(d.fZls, 0) < rr.zl
  7615. THEN rr.zl
  7616. ELSE IFNULL(d.fZls, 0)
  7617. END = 0
  7618. THEN c.nzdls
  7619. ELSE (
  7620. CASE
  7621. WHEN c.nzdls <
  7622. CASE
  7623. WHEN IFNULL(d.fZls, 0) < rr.zl
  7624. THEN rr.zl
  7625. ELSE IFNULL(d.fZls, 0)
  7626. END
  7627. THEN
  7628. CASE
  7629. WHEN IFNULL(d.fZls, 0) < rr.zl
  7630. THEN rr.zl
  7631. ELSE IFNULL(d.fZls, 0)
  7632. END
  7633. ELSE c.nzdls
  7634. END
  7635. )
  7636. END
  7637. ELSE 0
  7638. END
  7639. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7640. END
  7641. END )
  7642. , 3) 马22甲纸令
  7643. ")
  7644. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7645. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7646. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7647. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7648. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7649. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7650. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  7651. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7652. ->group("CASE
  7653. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7654. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7655. END,Name_WorkGroup")
  7656. ->buildSql();
  7657. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  7658. ->field("
  7659. 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,
  7660. ROUND(SUM(
  7661. CASE
  7662. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7663. THEN
  7664. CASE
  7665. WHEN a.cCyddxMc = '装配'
  7666. OR a.cCyddxMc LIKE '%正文%'
  7667. OR a.cCyddxMc LIKE '%答案%'
  7668. OR a.cCyddxMc LIKE '%卷%'
  7669. THEN
  7670. CASE
  7671. WHEN CASE
  7672. WHEN IFNULL(d.fZls, 0) < rr.zl
  7673. THEN rr.zl
  7674. ELSE IFNULL(d.fZls, 0)
  7675. END = 0
  7676. THEN c.nzdls
  7677. ELSE (
  7678. CASE
  7679. WHEN c.nzdls <
  7680. CASE
  7681. WHEN IFNULL(d.fZls, 0) < rr.zl
  7682. THEN rr.zl
  7683. ELSE IFNULL(d.fZls, 0)
  7684. END
  7685. THEN
  7686. CASE
  7687. WHEN IFNULL(d.fZls, 0) < rr.zl
  7688. THEN rr.zl
  7689. ELSE IFNULL(d.fZls, 0)
  7690. END
  7691. ELSE c.nzdls
  7692. END
  7693. )
  7694. END
  7695. ELSE 0
  7696. END
  7697. ELSE
  7698. CASE
  7699. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7700. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7701. CASE
  7702. WHEN a.cCyddxMc = '装配'
  7703. OR a.cCyddxMc LIKE '%正文%'
  7704. OR a.cCyddxMc LIKE '%答案%'
  7705. OR a.cCyddxMc LIKE '%卷%'
  7706. THEN
  7707. CASE
  7708. WHEN CASE
  7709. WHEN IFNULL(d.fZls, 0) < rr.zl
  7710. THEN rr.zl
  7711. ELSE IFNULL(d.fZls, 0)
  7712. END = 0
  7713. THEN c.nzdls
  7714. ELSE (
  7715. CASE
  7716. WHEN c.nzdls <
  7717. CASE
  7718. WHEN IFNULL(d.fZls, 0) < rr.zl
  7719. THEN rr.zl
  7720. ELSE IFNULL(d.fZls, 0)
  7721. END
  7722. THEN
  7723. CASE
  7724. WHEN IFNULL(d.fZls, 0) < rr.zl
  7725. THEN rr.zl
  7726. ELSE IFNULL(d.fZls, 0)
  7727. END
  7728. ELSE c.nzdls
  7729. END
  7730. )
  7731. END
  7732. ELSE 0
  7733. END
  7734. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7735. END
  7736. END )
  7737. , 3) 马22乙纸令
  7738. ")
  7739. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7740. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7741. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7742. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7743. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7744. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7745. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  7746. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7747. ->group("CASE
  7748. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7749. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7750. END,Name_WorkGroup")
  7751. ->buildSql();
  7752. $EE = Db::table('ql_report_feedback_day')->alias('a')
  7753. ->field("
  7754. 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,
  7755. ROUND(SUM(
  7756. CASE
  7757. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7758. THEN
  7759. CASE
  7760. WHEN a.cCyddxMc = '装配'
  7761. OR a.cCyddxMc LIKE '%正文%'
  7762. OR a.cCyddxMc LIKE '%答案%'
  7763. OR a.cCyddxMc LIKE '%卷%'
  7764. THEN
  7765. CASE
  7766. WHEN CASE
  7767. WHEN IFNULL(d.fZls, 0) < rr.zl
  7768. THEN rr.zl
  7769. ELSE IFNULL(d.fZls, 0)
  7770. END = 0
  7771. THEN c.nzdls
  7772. ELSE (
  7773. CASE
  7774. WHEN c.nzdls <
  7775. CASE
  7776. WHEN IFNULL(d.fZls, 0) < rr.zl
  7777. THEN rr.zl
  7778. ELSE IFNULL(d.fZls, 0)
  7779. END
  7780. THEN
  7781. CASE
  7782. WHEN IFNULL(d.fZls, 0) < rr.zl
  7783. THEN rr.zl
  7784. ELSE IFNULL(d.fZls, 0)
  7785. END
  7786. ELSE c.nzdls
  7787. END
  7788. )
  7789. END
  7790. ELSE 0
  7791. END
  7792. ELSE
  7793. CASE
  7794. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7795. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7796. CASE
  7797. WHEN a.cCyddxMc = '装配'
  7798. OR a.cCyddxMc LIKE '%正文%'
  7799. OR a.cCyddxMc LIKE '%答案%'
  7800. OR a.cCyddxMc LIKE '%卷%'
  7801. THEN
  7802. CASE
  7803. WHEN CASE
  7804. WHEN IFNULL(d.fZls, 0) < rr.zl
  7805. THEN rr.zl
  7806. ELSE IFNULL(d.fZls, 0)
  7807. END = 0
  7808. THEN c.nzdls
  7809. ELSE (
  7810. CASE
  7811. WHEN c.nzdls <
  7812. CASE
  7813. WHEN IFNULL(d.fZls, 0) < rr.zl
  7814. THEN rr.zl
  7815. ELSE IFNULL(d.fZls, 0)
  7816. END
  7817. THEN
  7818. CASE
  7819. WHEN IFNULL(d.fZls, 0) < rr.zl
  7820. THEN rr.zl
  7821. ELSE IFNULL(d.fZls, 0)
  7822. END
  7823. ELSE c.nzdls
  7824. END
  7825. )
  7826. END
  7827. ELSE 0
  7828. END
  7829. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7830. END
  7831. END )
  7832. , 3) 马33甲纸令
  7833. ")
  7834. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7835. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7836. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7837. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7838. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7839. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7840. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  7841. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7842. ->group("CASE
  7843. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7844. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7845. END,Name_WorkGroup")
  7846. ->buildSql();
  7847. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  7848. ->field("
  7849. 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,
  7850. ROUND(SUM(
  7851. CASE
  7852. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7853. THEN
  7854. CASE
  7855. WHEN a.cCyddxMc = '装配'
  7856. OR a.cCyddxMc LIKE '%正文%'
  7857. OR a.cCyddxMc LIKE '%答案%'
  7858. OR a.cCyddxMc LIKE '%卷%'
  7859. THEN
  7860. CASE
  7861. WHEN CASE
  7862. WHEN IFNULL(d.fZls, 0) < rr.zl
  7863. THEN rr.zl
  7864. ELSE IFNULL(d.fZls, 0)
  7865. END = 0
  7866. THEN c.nzdls
  7867. ELSE (
  7868. CASE
  7869. WHEN c.nzdls <
  7870. CASE
  7871. WHEN IFNULL(d.fZls, 0) < rr.zl
  7872. THEN rr.zl
  7873. ELSE IFNULL(d.fZls, 0)
  7874. END
  7875. THEN
  7876. CASE
  7877. WHEN IFNULL(d.fZls, 0) < rr.zl
  7878. THEN rr.zl
  7879. ELSE IFNULL(d.fZls, 0)
  7880. END
  7881. ELSE c.nzdls
  7882. END
  7883. )
  7884. END
  7885. ELSE 0
  7886. END
  7887. ELSE
  7888. CASE
  7889. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7890. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7891. CASE
  7892. WHEN a.cCyddxMc = '装配'
  7893. OR a.cCyddxMc LIKE '%正文%'
  7894. OR a.cCyddxMc LIKE '%答案%'
  7895. OR a.cCyddxMc LIKE '%卷%'
  7896. THEN
  7897. CASE
  7898. WHEN CASE
  7899. WHEN IFNULL(d.fZls, 0) < rr.zl
  7900. THEN rr.zl
  7901. ELSE IFNULL(d.fZls, 0)
  7902. END = 0
  7903. THEN c.nzdls
  7904. ELSE (
  7905. CASE
  7906. WHEN c.nzdls <
  7907. CASE
  7908. WHEN IFNULL(d.fZls, 0) < rr.zl
  7909. THEN rr.zl
  7910. ELSE IFNULL(d.fZls, 0)
  7911. END
  7912. THEN
  7913. CASE
  7914. WHEN IFNULL(d.fZls, 0) < rr.zl
  7915. THEN rr.zl
  7916. ELSE IFNULL(d.fZls, 0)
  7917. END
  7918. ELSE c.nzdls
  7919. END
  7920. )
  7921. END
  7922. ELSE 0
  7923. END
  7924. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  7925. END
  7926. END )
  7927. , 3) 马33乙纸令
  7928. ")
  7929. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  7930. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  7931. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  7932. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  7933. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  7934. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  7935. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  7936. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  7937. ->group("CASE
  7938. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  7939. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  7940. END,Name_WorkGroup")
  7941. ->buildSql();
  7942. $HH = Db::table('ql_report_feedback_day')->alias('a')
  7943. ->field("
  7944. 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,
  7945. ROUND(SUM(
  7946. CASE
  7947. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  7948. THEN
  7949. CASE
  7950. WHEN a.cCyddxMc = '装配'
  7951. OR a.cCyddxMc LIKE '%正文%'
  7952. OR a.cCyddxMc LIKE '%答案%'
  7953. OR a.cCyddxMc LIKE '%卷%'
  7954. THEN
  7955. CASE
  7956. WHEN CASE
  7957. WHEN IFNULL(d.fZls, 0) < rr.zl
  7958. THEN rr.zl
  7959. ELSE IFNULL(d.fZls, 0)
  7960. END = 0
  7961. THEN c.nzdls
  7962. ELSE (
  7963. CASE
  7964. WHEN c.nzdls <
  7965. CASE
  7966. WHEN IFNULL(d.fZls, 0) < rr.zl
  7967. THEN rr.zl
  7968. ELSE IFNULL(d.fZls, 0)
  7969. END
  7970. THEN
  7971. CASE
  7972. WHEN IFNULL(d.fZls, 0) < rr.zl
  7973. THEN rr.zl
  7974. ELSE IFNULL(d.fZls, 0)
  7975. END
  7976. ELSE c.nzdls
  7977. END
  7978. )
  7979. END
  7980. ELSE 0
  7981. END
  7982. ELSE
  7983. CASE
  7984. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  7985. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  7986. CASE
  7987. WHEN a.cCyddxMc = '装配'
  7988. OR a.cCyddxMc LIKE '%正文%'
  7989. OR a.cCyddxMc LIKE '%答案%'
  7990. OR a.cCyddxMc LIKE '%卷%'
  7991. THEN
  7992. CASE
  7993. WHEN CASE
  7994. WHEN IFNULL(d.fZls, 0) < rr.zl
  7995. THEN rr.zl
  7996. ELSE IFNULL(d.fZls, 0)
  7997. END = 0
  7998. THEN c.nzdls
  7999. ELSE (
  8000. CASE
  8001. WHEN c.nzdls <
  8002. CASE
  8003. WHEN IFNULL(d.fZls, 0) < rr.zl
  8004. THEN rr.zl
  8005. ELSE IFNULL(d.fZls, 0)
  8006. END
  8007. THEN
  8008. CASE
  8009. WHEN IFNULL(d.fZls, 0) < rr.zl
  8010. THEN rr.zl
  8011. ELSE IFNULL(d.fZls, 0)
  8012. END
  8013. ELSE c.nzdls
  8014. END
  8015. )
  8016. END
  8017. ELSE 0
  8018. END
  8019. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8020. END
  8021. END )
  8022. , 3) 马44甲纸令
  8023. ")
  8024. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8025. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8026. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8027. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8028. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8029. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8030. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  8031. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8032. ->group("CASE
  8033. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8034. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8035. END,Name_WorkGroup")
  8036. ->buildSql();
  8037. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  8038. ->field("
  8039. 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,
  8040. ROUND(SUM(
  8041. CASE
  8042. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8043. THEN
  8044. CASE
  8045. WHEN a.cCyddxMc = '装配'
  8046. OR a.cCyddxMc LIKE '%正文%'
  8047. OR a.cCyddxMc LIKE '%答案%'
  8048. OR a.cCyddxMc LIKE '%卷%'
  8049. THEN
  8050. CASE
  8051. WHEN CASE
  8052. WHEN IFNULL(d.fZls, 0) < rr.zl
  8053. THEN rr.zl
  8054. ELSE IFNULL(d.fZls, 0)
  8055. END = 0
  8056. THEN c.nzdls
  8057. ELSE (
  8058. CASE
  8059. WHEN c.nzdls <
  8060. CASE
  8061. WHEN IFNULL(d.fZls, 0) < rr.zl
  8062. THEN rr.zl
  8063. ELSE IFNULL(d.fZls, 0)
  8064. END
  8065. THEN
  8066. CASE
  8067. WHEN IFNULL(d.fZls, 0) < rr.zl
  8068. THEN rr.zl
  8069. ELSE IFNULL(d.fZls, 0)
  8070. END
  8071. ELSE c.nzdls
  8072. END
  8073. )
  8074. END
  8075. ELSE 0
  8076. END
  8077. ELSE
  8078. CASE
  8079. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8080. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8081. CASE
  8082. WHEN a.cCyddxMc = '装配'
  8083. OR a.cCyddxMc LIKE '%正文%'
  8084. OR a.cCyddxMc LIKE '%答案%'
  8085. OR a.cCyddxMc LIKE '%卷%'
  8086. THEN
  8087. CASE
  8088. WHEN CASE
  8089. WHEN IFNULL(d.fZls, 0) < rr.zl
  8090. THEN rr.zl
  8091. ELSE IFNULL(d.fZls, 0)
  8092. END = 0
  8093. THEN c.nzdls
  8094. ELSE (
  8095. CASE
  8096. WHEN c.nzdls <
  8097. CASE
  8098. WHEN IFNULL(d.fZls, 0) < rr.zl
  8099. THEN rr.zl
  8100. ELSE IFNULL(d.fZls, 0)
  8101. END
  8102. THEN
  8103. CASE
  8104. WHEN IFNULL(d.fZls, 0) < rr.zl
  8105. THEN rr.zl
  8106. ELSE IFNULL(d.fZls, 0)
  8107. END
  8108. ELSE c.nzdls
  8109. END
  8110. )
  8111. END
  8112. ELSE 0
  8113. END
  8114. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8115. END
  8116. END )
  8117. , 3) 马44乙纸令
  8118. ")
  8119. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8120. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8121. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8122. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8123. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8124. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8125. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  8126. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8127. ->group("CASE
  8128. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8129. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8130. END,Name_WorkGroup")
  8131. ->buildSql();
  8132. $XX = Db::table('ql_report_feedback_day')->alias('a')
  8133. ->field("
  8134. 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,
  8135. ROUND(SUM(
  8136. CASE
  8137. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8138. THEN
  8139. CASE
  8140. WHEN a.cCyddxMc = '装配'
  8141. OR a.cCyddxMc LIKE '%正文%'
  8142. OR a.cCyddxMc LIKE '%答案%'
  8143. OR a.cCyddxMc LIKE '%卷%'
  8144. THEN
  8145. CASE
  8146. WHEN CASE
  8147. WHEN IFNULL(d.fZls, 0) < rr.zl
  8148. THEN rr.zl
  8149. ELSE IFNULL(d.fZls, 0)
  8150. END = 0
  8151. THEN c.nzdls
  8152. ELSE (
  8153. CASE
  8154. WHEN c.nzdls <
  8155. CASE
  8156. WHEN IFNULL(d.fZls, 0) < rr.zl
  8157. THEN rr.zl
  8158. ELSE IFNULL(d.fZls, 0)
  8159. END
  8160. THEN
  8161. CASE
  8162. WHEN IFNULL(d.fZls, 0) < rr.zl
  8163. THEN rr.zl
  8164. ELSE IFNULL(d.fZls, 0)
  8165. END
  8166. ELSE c.nzdls
  8167. END
  8168. )
  8169. END
  8170. ELSE 0
  8171. END
  8172. ELSE
  8173. CASE
  8174. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8175. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8176. CASE
  8177. WHEN a.cCyddxMc = '装配'
  8178. OR a.cCyddxMc LIKE '%正文%'
  8179. OR a.cCyddxMc LIKE '%答案%'
  8180. OR a.cCyddxMc LIKE '%卷%'
  8181. THEN
  8182. CASE
  8183. WHEN CASE
  8184. WHEN IFNULL(d.fZls, 0) < rr.zl
  8185. THEN rr.zl
  8186. ELSE IFNULL(d.fZls, 0)
  8187. END = 0
  8188. THEN c.nzdls
  8189. ELSE (
  8190. CASE
  8191. WHEN c.nzdls <
  8192. CASE
  8193. WHEN IFNULL(d.fZls, 0) < rr.zl
  8194. THEN rr.zl
  8195. ELSE IFNULL(d.fZls, 0)
  8196. END
  8197. THEN
  8198. CASE
  8199. WHEN IFNULL(d.fZls, 0) < rr.zl
  8200. THEN rr.zl
  8201. ELSE IFNULL(d.fZls, 0)
  8202. END
  8203. ELSE c.nzdls
  8204. END
  8205. )
  8206. END
  8207. ELSE 0
  8208. END
  8209. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8210. END
  8211. END )
  8212. , 3) 马55甲纸令
  8213. ")
  8214. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8215. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8216. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8217. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8218. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8219. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8220. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  8221. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8222. ->group("CASE
  8223. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8224. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8225. END,Name_WorkGroup")
  8226. ->buildSql();
  8227. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  8228. ->field("
  8229. 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,
  8230. ROUND(SUM(
  8231. CASE
  8232. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8233. THEN
  8234. CASE
  8235. WHEN a.cCyddxMc = '装配'
  8236. OR a.cCyddxMc LIKE '%正文%'
  8237. OR a.cCyddxMc LIKE '%答案%'
  8238. OR a.cCyddxMc LIKE '%卷%'
  8239. THEN
  8240. CASE
  8241. WHEN CASE
  8242. WHEN IFNULL(d.fZls, 0) < rr.zl
  8243. THEN rr.zl
  8244. ELSE IFNULL(d.fZls, 0)
  8245. END = 0
  8246. THEN c.nzdls
  8247. ELSE (
  8248. CASE
  8249. WHEN c.nzdls <
  8250. CASE
  8251. WHEN IFNULL(d.fZls, 0) < rr.zl
  8252. THEN rr.zl
  8253. ELSE IFNULL(d.fZls, 0)
  8254. END
  8255. THEN
  8256. CASE
  8257. WHEN IFNULL(d.fZls, 0) < rr.zl
  8258. THEN rr.zl
  8259. ELSE IFNULL(d.fZls, 0)
  8260. END
  8261. ELSE c.nzdls
  8262. END
  8263. )
  8264. END
  8265. ELSE 0
  8266. END
  8267. ELSE
  8268. CASE
  8269. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8270. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8271. CASE
  8272. WHEN a.cCyddxMc = '装配'
  8273. OR a.cCyddxMc LIKE '%正文%'
  8274. OR a.cCyddxMc LIKE '%答案%'
  8275. OR a.cCyddxMc LIKE '%卷%'
  8276. THEN
  8277. CASE
  8278. WHEN CASE
  8279. WHEN IFNULL(d.fZls, 0) < rr.zl
  8280. THEN rr.zl
  8281. ELSE IFNULL(d.fZls, 0)
  8282. END = 0
  8283. THEN c.nzdls
  8284. ELSE (
  8285. CASE
  8286. WHEN c.nzdls <
  8287. CASE
  8288. WHEN IFNULL(d.fZls, 0) < rr.zl
  8289. THEN rr.zl
  8290. ELSE IFNULL(d.fZls, 0)
  8291. END
  8292. THEN
  8293. CASE
  8294. WHEN IFNULL(d.fZls, 0) < rr.zl
  8295. THEN rr.zl
  8296. ELSE IFNULL(d.fZls, 0)
  8297. END
  8298. ELSE c.nzdls
  8299. END
  8300. )
  8301. END
  8302. ELSE 0
  8303. END
  8304. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8305. END
  8306. END )
  8307. , 3) 马66甲纸令
  8308. ")
  8309. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8310. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8311. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8312. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8313. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8314. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8315. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  8316. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8317. ->group("CASE
  8318. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8319. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8320. END,Name_WorkGroup")
  8321. ->buildSql();
  8322. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  8323. ->field("
  8324. 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,
  8325. ROUND(SUM(
  8326. CASE
  8327. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8328. THEN
  8329. CASE
  8330. WHEN a.cCyddxMc = '装配'
  8331. OR a.cCyddxMc LIKE '%正文%'
  8332. OR a.cCyddxMc LIKE '%答案%'
  8333. OR a.cCyddxMc LIKE '%卷%'
  8334. THEN
  8335. CASE
  8336. WHEN CASE
  8337. WHEN IFNULL(d.fZls, 0) < rr.zl
  8338. THEN rr.zl
  8339. ELSE IFNULL(d.fZls, 0)
  8340. END = 0
  8341. THEN c.nzdls
  8342. ELSE (
  8343. CASE
  8344. WHEN c.nzdls <
  8345. CASE
  8346. WHEN IFNULL(d.fZls, 0) < rr.zl
  8347. THEN rr.zl
  8348. ELSE IFNULL(d.fZls, 0)
  8349. END
  8350. THEN
  8351. CASE
  8352. WHEN IFNULL(d.fZls, 0) < rr.zl
  8353. THEN rr.zl
  8354. ELSE IFNULL(d.fZls, 0)
  8355. END
  8356. ELSE c.nzdls
  8357. END
  8358. )
  8359. END
  8360. ELSE 0
  8361. END
  8362. ELSE
  8363. CASE
  8364. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8365. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8366. CASE
  8367. WHEN a.cCyddxMc = '装配'
  8368. OR a.cCyddxMc LIKE '%正文%'
  8369. OR a.cCyddxMc LIKE '%答案%'
  8370. OR a.cCyddxMc LIKE '%卷%'
  8371. THEN
  8372. CASE
  8373. WHEN CASE
  8374. WHEN IFNULL(d.fZls, 0) < rr.zl
  8375. THEN rr.zl
  8376. ELSE IFNULL(d.fZls, 0)
  8377. END = 0
  8378. THEN c.nzdls
  8379. ELSE (
  8380. CASE
  8381. WHEN c.nzdls <
  8382. CASE
  8383. WHEN IFNULL(d.fZls, 0) < rr.zl
  8384. THEN rr.zl
  8385. ELSE IFNULL(d.fZls, 0)
  8386. END
  8387. THEN
  8388. CASE
  8389. WHEN IFNULL(d.fZls, 0) < rr.zl
  8390. THEN rr.zl
  8391. ELSE IFNULL(d.fZls, 0)
  8392. END
  8393. ELSE c.nzdls
  8394. END
  8395. )
  8396. END
  8397. ELSE 0
  8398. END
  8399. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8400. END
  8401. END )
  8402. , 3) 马77甲纸令
  8403. ")
  8404. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8405. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8406. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8407. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8408. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8409. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8410. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  8411. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8412. ->group("CASE
  8413. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8414. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8415. END,Name_WorkGroup")
  8416. ->buildSql();
  8417. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  8418. ->field("
  8419. 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,
  8420. ROUND(SUM(
  8421. CASE
  8422. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8423. THEN
  8424. CASE
  8425. WHEN a.cCyddxMc = '装配'
  8426. OR a.cCyddxMc LIKE '%正文%'
  8427. OR a.cCyddxMc LIKE '%答案%'
  8428. OR a.cCyddxMc LIKE '%卷%'
  8429. THEN
  8430. CASE
  8431. WHEN CASE
  8432. WHEN IFNULL(d.fZls, 0) < rr.zl
  8433. THEN rr.zl
  8434. ELSE IFNULL(d.fZls, 0)
  8435. END = 0
  8436. THEN c.nzdls
  8437. ELSE (
  8438. CASE
  8439. WHEN c.nzdls <
  8440. CASE
  8441. WHEN IFNULL(d.fZls, 0) < rr.zl
  8442. THEN rr.zl
  8443. ELSE IFNULL(d.fZls, 0)
  8444. END
  8445. THEN
  8446. CASE
  8447. WHEN IFNULL(d.fZls, 0) < rr.zl
  8448. THEN rr.zl
  8449. ELSE IFNULL(d.fZls, 0)
  8450. END
  8451. ELSE c.nzdls
  8452. END
  8453. )
  8454. END
  8455. ELSE 0
  8456. END
  8457. ELSE
  8458. CASE
  8459. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8460. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8461. CASE
  8462. WHEN a.cCyddxMc = '装配'
  8463. OR a.cCyddxMc LIKE '%正文%'
  8464. OR a.cCyddxMc LIKE '%答案%'
  8465. OR a.cCyddxMc LIKE '%卷%'
  8466. THEN
  8467. CASE
  8468. WHEN CASE
  8469. WHEN IFNULL(d.fZls, 0) < rr.zl
  8470. THEN rr.zl
  8471. ELSE IFNULL(d.fZls, 0)
  8472. END = 0
  8473. THEN c.nzdls
  8474. ELSE (
  8475. CASE
  8476. WHEN c.nzdls <
  8477. CASE
  8478. WHEN IFNULL(d.fZls, 0) < rr.zl
  8479. THEN rr.zl
  8480. ELSE IFNULL(d.fZls, 0)
  8481. END
  8482. THEN
  8483. CASE
  8484. WHEN IFNULL(d.fZls, 0) < rr.zl
  8485. THEN rr.zl
  8486. ELSE IFNULL(d.fZls, 0)
  8487. END
  8488. ELSE c.nzdls
  8489. END
  8490. )
  8491. END
  8492. ELSE 0
  8493. END
  8494. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8495. END
  8496. END )
  8497. , 3) 马55乙纸令
  8498. ")
  8499. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8500. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8501. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8502. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8503. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8504. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8505. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  8506. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8507. ->group("CASE
  8508. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8509. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8510. END,Name_WorkGroup")
  8511. ->buildSql();
  8512. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  8513. ->field("
  8514. 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,
  8515. ROUND(SUM(
  8516. CASE
  8517. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8518. THEN
  8519. CASE
  8520. WHEN a.cCyddxMc = '装配'
  8521. OR a.cCyddxMc LIKE '%正文%'
  8522. OR a.cCyddxMc LIKE '%答案%'
  8523. OR a.cCyddxMc LIKE '%卷%'
  8524. THEN
  8525. CASE
  8526. WHEN CASE
  8527. WHEN IFNULL(d.fZls, 0) < rr.zl
  8528. THEN rr.zl
  8529. ELSE IFNULL(d.fZls, 0)
  8530. END = 0
  8531. THEN c.nzdls
  8532. ELSE (
  8533. CASE
  8534. WHEN c.nzdls <
  8535. CASE
  8536. WHEN IFNULL(d.fZls, 0) < rr.zl
  8537. THEN rr.zl
  8538. ELSE IFNULL(d.fZls, 0)
  8539. END
  8540. THEN
  8541. CASE
  8542. WHEN IFNULL(d.fZls, 0) < rr.zl
  8543. THEN rr.zl
  8544. ELSE IFNULL(d.fZls, 0)
  8545. END
  8546. ELSE c.nzdls
  8547. END
  8548. )
  8549. END
  8550. ELSE 0
  8551. END
  8552. ELSE
  8553. CASE
  8554. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8555. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8556. CASE
  8557. WHEN a.cCyddxMc = '装配'
  8558. OR a.cCyddxMc LIKE '%正文%'
  8559. OR a.cCyddxMc LIKE '%答案%'
  8560. OR a.cCyddxMc LIKE '%卷%'
  8561. THEN
  8562. CASE
  8563. WHEN CASE
  8564. WHEN IFNULL(d.fZls, 0) < rr.zl
  8565. THEN rr.zl
  8566. ELSE IFNULL(d.fZls, 0)
  8567. END = 0
  8568. THEN c.nzdls
  8569. ELSE (
  8570. CASE
  8571. WHEN c.nzdls <
  8572. CASE
  8573. WHEN IFNULL(d.fZls, 0) < rr.zl
  8574. THEN rr.zl
  8575. ELSE IFNULL(d.fZls, 0)
  8576. END
  8577. THEN
  8578. CASE
  8579. WHEN IFNULL(d.fZls, 0) < rr.zl
  8580. THEN rr.zl
  8581. ELSE IFNULL(d.fZls, 0)
  8582. END
  8583. ELSE c.nzdls
  8584. END
  8585. )
  8586. END
  8587. ELSE 0
  8588. END
  8589. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8590. END
  8591. END )
  8592. , 3) 马66乙纸令
  8593. ")
  8594. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8595. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8596. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8597. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8598. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8599. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8600. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  8601. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8602. ->group("CASE
  8603. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8604. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8605. END,Name_WorkGroup")
  8606. ->buildSql();
  8607. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  8608. ->field("
  8609. 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,
  8610. ROUND(SUM(
  8611. CASE
  8612. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8613. THEN
  8614. CASE
  8615. WHEN a.cCyddxMc = '装配'
  8616. OR a.cCyddxMc LIKE '%正文%'
  8617. OR a.cCyddxMc LIKE '%答案%'
  8618. OR a.cCyddxMc LIKE '%卷%'
  8619. THEN
  8620. CASE
  8621. WHEN CASE
  8622. WHEN IFNULL(d.fZls, 0) < rr.zl
  8623. THEN rr.zl
  8624. ELSE IFNULL(d.fZls, 0)
  8625. END = 0
  8626. THEN c.nzdls
  8627. ELSE (
  8628. CASE
  8629. WHEN c.nzdls <
  8630. CASE
  8631. WHEN IFNULL(d.fZls, 0) < rr.zl
  8632. THEN rr.zl
  8633. ELSE IFNULL(d.fZls, 0)
  8634. END
  8635. THEN
  8636. CASE
  8637. WHEN IFNULL(d.fZls, 0) < rr.zl
  8638. THEN rr.zl
  8639. ELSE IFNULL(d.fZls, 0)
  8640. END
  8641. ELSE c.nzdls
  8642. END
  8643. )
  8644. END
  8645. ELSE 0
  8646. END
  8647. ELSE
  8648. CASE
  8649. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8650. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8651. CASE
  8652. WHEN a.cCyddxMc = '装配'
  8653. OR a.cCyddxMc LIKE '%正文%'
  8654. OR a.cCyddxMc LIKE '%答案%'
  8655. OR a.cCyddxMc LIKE '%卷%'
  8656. THEN
  8657. CASE
  8658. WHEN CASE
  8659. WHEN IFNULL(d.fZls, 0) < rr.zl
  8660. THEN rr.zl
  8661. ELSE IFNULL(d.fZls, 0)
  8662. END = 0
  8663. THEN c.nzdls
  8664. ELSE (
  8665. CASE
  8666. WHEN c.nzdls <
  8667. CASE
  8668. WHEN IFNULL(d.fZls, 0) < rr.zl
  8669. THEN rr.zl
  8670. ELSE IFNULL(d.fZls, 0)
  8671. END
  8672. THEN
  8673. CASE
  8674. WHEN IFNULL(d.fZls, 0) < rr.zl
  8675. THEN rr.zl
  8676. ELSE IFNULL(d.fZls, 0)
  8677. END
  8678. ELSE c.nzdls
  8679. END
  8680. )
  8681. END
  8682. ELSE 0
  8683. END
  8684. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8685. END
  8686. END )
  8687. , 3) 马77乙纸令
  8688. ")
  8689. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8690. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8691. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8692. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8693. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8694. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8695. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  8696. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  8697. ->group("CASE
  8698. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8699. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8700. END,Name_WorkGroup")
  8701. ->buildSql();
  8702. $db = Db::table($A . 'a')
  8703. ->field("
  8704. DISTINCT DATE(A.RQ) rq,
  8705. TRUNCATE(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  8706. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  8707. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  8708. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  8709. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  8710. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  8711. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  8712. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  8713. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  8714. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  8715. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xx2.马66乙纸令), 0)
  8716. + IFNULL(sum(xxx3.马77甲纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0), 0) 纸令数总计
  8717. ")
  8718. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  8719. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8720. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  8721. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  8722. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  8723. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  8724. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  8725. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  8726. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  8727. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  8728. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8729. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8730. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  8731. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  8732. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  8733. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  8734. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  8735. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  8736. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  8737. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  8738. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  8739. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  8740. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  8741. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  8742. ->group('rq')
  8743. ->buildSql();
  8744. $jd = Db::table($db . ' db')
  8745. ->field("
  8746. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8747. ROUND(SUM(db.纸令数总计), 0) AS 无线胶订纸令
  8748. ")
  8749. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->qianend_time()}' ")
  8750. ->group('MONTH(db.rq)')
  8751. ->select();
  8752. /**
  8753. * 簿册联动线纸令
  8754. */
  8755. $B = Db::table('cpjtfk')
  8756. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8757. ->field("
  8758. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8759. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1甲纸令数
  8760. ")
  8761. ->where('cbanzu','=','簿册机1号(甲班)')
  8762. ->group('drptdate,cbanzu')
  8763. ->buildSql();
  8764. $B1 = Db::table('cpjtfk')
  8765. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  8766. ->field("
  8767. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  8768. sum(mcyd.NZWyz * iWCl / 1000) AS 簿1乙纸令数
  8769. ")
  8770. ->where('cbanzu','=','簿册机1号(乙班)')
  8771. ->group('drptdate,cbanzu')
  8772. ->buildSql();
  8773. $rr = Db::table('scyddx')->alias('r')
  8774. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  8775. ->group('r.ICYDID')
  8776. ->buildSql();
  8777. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  8778. ->field("
  8779. 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,
  8780. ROUND(SUM(
  8781. CASE
  8782. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8783. THEN
  8784. CASE
  8785. WHEN a.cCyddxMc = '装配'
  8786. OR a.cCyddxMc LIKE '%正文%'
  8787. OR a.cCyddxMc LIKE '%答案%'
  8788. OR a.cCyddxMc LIKE '%卷%'
  8789. THEN
  8790. CASE
  8791. WHEN CASE
  8792. WHEN IFNULL(d.fZls, 0) < rr.zl
  8793. THEN rr.zl
  8794. ELSE IFNULL(d.fZls, 0)
  8795. END = 0
  8796. THEN c.nzdls
  8797. ELSE (
  8798. CASE
  8799. WHEN c.nzdls <
  8800. CASE
  8801. WHEN IFNULL(d.fZls, 0) < rr.zl
  8802. THEN rr.zl
  8803. ELSE IFNULL(d.fZls, 0)
  8804. END
  8805. THEN
  8806. CASE
  8807. WHEN IFNULL(d.fZls, 0) < rr.zl
  8808. THEN rr.zl
  8809. ELSE IFNULL(d.fZls, 0)
  8810. END
  8811. ELSE c.nzdls
  8812. END
  8813. )
  8814. END
  8815. ELSE 0
  8816. END
  8817. ELSE
  8818. CASE
  8819. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8820. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8821. CASE
  8822. WHEN a.cCyddxMc = '装配'
  8823. OR a.cCyddxMc LIKE '%正文%'
  8824. OR a.cCyddxMc LIKE '%答案%'
  8825. OR a.cCyddxMc LIKE '%卷%'
  8826. THEN
  8827. CASE
  8828. WHEN CASE
  8829. WHEN IFNULL(d.fZls, 0) < rr.zl
  8830. THEN rr.zl
  8831. ELSE IFNULL(d.fZls, 0)
  8832. END = 0
  8833. THEN c.nzdls
  8834. ELSE (
  8835. CASE
  8836. WHEN c.nzdls <
  8837. CASE
  8838. WHEN IFNULL(d.fZls, 0) < rr.zl
  8839. THEN rr.zl
  8840. ELSE IFNULL(d.fZls, 0)
  8841. END
  8842. THEN
  8843. CASE
  8844. WHEN IFNULL(d.fZls, 0) < rr.zl
  8845. THEN rr.zl
  8846. ELSE IFNULL(d.fZls, 0)
  8847. END
  8848. ELSE c.nzdls
  8849. END
  8850. )
  8851. END
  8852. ELSE 0
  8853. END
  8854. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8855. END
  8856. END )
  8857. , 3) 簿11甲纸令
  8858. ")
  8859. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8860. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8861. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8862. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8863. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8864. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8865. ->where('Name_WorkGroup','=','簿册联动线01号(甲班)')
  8866. ->where('a.cTechName' ,'=','簿册联动')
  8867. ->group("CASE
  8868. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8869. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8870. END,Name_WorkGroup")
  8871. ->buildSql();
  8872. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  8873. ->field("
  8874. 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,
  8875. ROUND(SUM(
  8876. CASE
  8877. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  8878. THEN
  8879. CASE
  8880. WHEN a.cCyddxMc = '装配'
  8881. OR a.cCyddxMc LIKE '%正文%'
  8882. OR a.cCyddxMc LIKE '%答案%'
  8883. OR a.cCyddxMc LIKE '%卷%'
  8884. THEN
  8885. CASE
  8886. WHEN CASE
  8887. WHEN IFNULL(d.fZls, 0) < rr.zl
  8888. THEN rr.zl
  8889. ELSE IFNULL(d.fZls, 0)
  8890. END = 0
  8891. THEN c.nzdls
  8892. ELSE (
  8893. CASE
  8894. WHEN c.nzdls <
  8895. CASE
  8896. WHEN IFNULL(d.fZls, 0) < rr.zl
  8897. THEN rr.zl
  8898. ELSE IFNULL(d.fZls, 0)
  8899. END
  8900. THEN
  8901. CASE
  8902. WHEN IFNULL(d.fZls, 0) < rr.zl
  8903. THEN rr.zl
  8904. ELSE IFNULL(d.fZls, 0)
  8905. END
  8906. ELSE c.nzdls
  8907. END
  8908. )
  8909. END
  8910. ELSE 0
  8911. END
  8912. ELSE
  8913. CASE
  8914. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  8915. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  8916. CASE
  8917. WHEN a.cCyddxMc = '装配'
  8918. OR a.cCyddxMc LIKE '%正文%'
  8919. OR a.cCyddxMc LIKE '%答案%'
  8920. OR a.cCyddxMc LIKE '%卷%'
  8921. THEN
  8922. CASE
  8923. WHEN CASE
  8924. WHEN IFNULL(d.fZls, 0) < rr.zl
  8925. THEN rr.zl
  8926. ELSE IFNULL(d.fZls, 0)
  8927. END = 0
  8928. THEN c.nzdls
  8929. ELSE (
  8930. CASE
  8931. WHEN c.nzdls <
  8932. CASE
  8933. WHEN IFNULL(d.fZls, 0) < rr.zl
  8934. THEN rr.zl
  8935. ELSE IFNULL(d.fZls, 0)
  8936. END
  8937. THEN
  8938. CASE
  8939. WHEN IFNULL(d.fZls, 0) < rr.zl
  8940. THEN rr.zl
  8941. ELSE IFNULL(d.fZls, 0)
  8942. END
  8943. ELSE c.nzdls
  8944. END
  8945. )
  8946. END
  8947. ELSE 0
  8948. END
  8949. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  8950. END
  8951. END )
  8952. , 3) 簿11乙纸令
  8953. ")
  8954. ->join(['scdayrpt_teams' => 'b'], 'b.ID = a.ID_Teams and b.iDayRptStatus = 10','INNER')
  8955. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  8956. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  8957. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  8958. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  8959. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  8960. ->where('Name_WorkGroup','=','簿册联动线01号(乙班)')
  8961. ->where('a.cTechName' ,'=','簿册联动')
  8962. ->group("CASE
  8963. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  8964. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  8965. END,Name_WorkGroup")
  8966. ->buildSql();
  8967. $db = Db::table($A . 'a')
  8968. ->field("
  8969. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  8970. TRUNCATE(IFNULL(sum(B.簿1甲纸令数), 0) + IFNULL(sum(B1.簿1乙纸令数), 0)
  8971. + IFNULL(sum(Bb.簿11甲纸令), 0) + IFNULL(sum(Bb1.簿11乙纸令), 0), 0) 纸令
  8972. ")
  8973. ->join('(' . $B . ') as b', 'a.rq = b.rq','LEFT')
  8974. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  8975. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  8976. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  8977. ->group('rq')
  8978. ->buildSql();
  8979. $bc = Db::table($db . ' db')
  8980. ->field("
  8981. DATE_FORMAT(db.rq, '%Y-%m') as 日期,
  8982. ROUND(sum(db.纸令), 0) as 簿册纸令
  8983. ")->where("db.RQ >= '{$this->qianstart_time()}'
  8984. AND db.RQ <= '{$this->qianend_time()}' ")
  8985. ->group('MONTH(db.rq)')
  8986. ->select();
  8987. // 创建一个结果数组
  8988. $result=[];
  8989. $result1 = [];
  8990. // 遍历第一个数组,并将数据加入结果数组
  8991. foreach ($jp as $val1) {
  8992. $month = $val1['日期'];
  8993. $data1 = $val1['精平纸令'];
  8994. if (!isset($result[$month])) {
  8995. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  8996. }
  8997. if (!isset($result1[$month])) {
  8998. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  8999. }
  9000. $result1[$month] += $data1; // 累加第一个数组的数据
  9001. }
  9002. // 遍历第二个数组,并将数据加入结果数组
  9003. foreach ($jd as $val2) {
  9004. $month = $val2['日期'];
  9005. $data1 = $val2['无线胶订纸令'];
  9006. if (!isset($result[$month])) {
  9007. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  9008. }
  9009. if (!isset($result1[$month])) {
  9010. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  9011. }
  9012. $result1[$month] += $data1; // 累加第二个数组的数据
  9013. }
  9014. foreach ($bc as $val2) {
  9015. $month = $val2['日期'];
  9016. $data1 = $val2['簿册纸令'];
  9017. if (!isset($result[$month])) {
  9018. $result[$month] = 0; // 初始化结果数组中该月份的数据为0
  9019. }
  9020. if (!isset($result1[$month])) {
  9021. $result1[$month] = 0; // 初始化结果数组中该月份的数据为0
  9022. }
  9023. $result1[$month] += $data1; // 累加第二个数组的数据
  9024. }
  9025. foreach($result1 as $k=>$v){
  9026. $list['categories'][]=$k;
  9027. $list['series'][0]['name']='装订实物产量色令数';
  9028. $list['series'][0]['data'][]=$v;
  9029. }
  9030. $res['status']=0;
  9031. $res['msg']='';
  9032. $res['data']=$list;
  9033. $redis->set($redis_key, json_encode($result1));
  9034. // halt(json_decode($redis->get($redis_key),true));
  9035. return json_encode($result1);
  9036. }
  9037. //去年与当年--装订实物产量纸令 接口合并一起->接口调用
  9038. public function zdzl(){
  9039. $redis = redis();
  9040. $result_qian = json_decode($redis->get(md5('zdzlTwoYear')), true);
  9041. $result_qu = json_decode($redis->get(md5('zdzl2022')), true);
  9042. $result_dang = json_decode($redis->get(md5('zdzl_dang')), true);
  9043. // Merge all data
  9044. $result1 = array_merge($result_qian, $result_qu, $result_dang);
  9045. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9046. $currentYear = date("Y"); // Current year (2025)
  9047. $currentMonth = date("m"); // Current month (07)
  9048. $previousYear = $currentYear - 1; // 2024
  9049. $previousQianYear = $currentYear - 2; // 2023
  9050. // Initialize series with 0 values
  9051. $list['series'] = [
  9052. ['name' => $previousQianYear . '年', 'data' => array_fill(0, 12, 0)],
  9053. ['name' => $previousYear . '年', 'data' => array_fill(0, 12, 0)],
  9054. ['name' => $currentYear . '年', 'data' => array_fill(0, 12, 0)]
  9055. ];
  9056. foreach ($result1 as $k => $v) {
  9057. $yearMonth = explode('-', $k);
  9058. $year = $yearMonth[0];
  9059. $month = (int)$yearMonth[1];
  9060. $monthIndex = $month - 1;
  9061. if ($year == $previousQianYear) {
  9062. $list['series'][0]['data'][$monthIndex] += $v;
  9063. } elseif ($year == $previousYear) {
  9064. $list['series'][1]['data'][$monthIndex] += $v;
  9065. } elseif ($year == $currentYear) {
  9066. // Only add if month is current or past month
  9067. if ($month <= (int)$currentMonth) {
  9068. $list['series'][2]['data'][$monthIndex] += $v;
  9069. }
  9070. }
  9071. }
  9072. $res['status'] = 0;
  9073. $res['msg'] = '';
  9074. $res['data'] = $list;
  9075. return json_encode($res, JSON_UNESCAPED_UNICODE);
  9076. }
  9077. //年度承接量及完成百分比->缓存调用
  9078. public function ndcj_redis(){
  9079. $redis=redis();
  9080. $redis_key = md5('ndcj_redis');
  9081. $name='年度承接产量(万色令)';
  9082. $yu=Db::name('business')->where('name',$name)->value('year_target');
  9083. // 修正前
  9084. // $result = Db::query("SELECT
  9085. // round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, year(M.rq) 年度
  9086. // 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
  9087. // FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  9088. // FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  9089. // WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  9090. // GROUP BY year(t5.rq) ) M");
  9091. //修正后
  9092. $result = Db::query("SELECT
  9093. round( M.总色令/$yu*100,0) 色令百分比,round( m.总色令) 色令,$yu 常量, M.年度
  9094. FROM (SELECT YEAR(t5.rq) as 年度,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
  9095. FROM `mcyd` `ord` LEFT JOIN (( SELECT icydid,sum(nyssl) as nyssl,sum(nysls) as nysls
  9096. FROM `scyddx` `objmatier` GROUP BY `icydid` )) as objmatier ON `ord`.`icydid`=`objmatier`.`icydid`
  9097. WHERE `ord`.`icydstate` > 0 GROUP BY `rq` ) t5 WHERE ( t5.RQ >= '{$this->start_time()}'AND t5.RQ <= '{$this->end_time()}' )
  9098. GROUP BY year(t5.rq) ) M");
  9099. foreach ($result as $v) {
  9100. $list[0]['name'] = ' ';
  9101. $list[0]['value'] = round($v['色令']);
  9102. $list[1]['name'] = ' ';
  9103. $list[1]['value'] = round($v['常量']);
  9104. $list[2]['name'] = ' ';
  9105. $list[2]['value'] = round($v['色令百分比']);
  9106. }
  9107. $res['status'] = 0;
  9108. $res['msg'] = '';
  9109. $res['data'] = $list;
  9110. $redis->set($redis_key, json_encode($res));
  9111. // halt(json_decode($redis->get($redis_key),true));
  9112. return json_encode($res);
  9113. }
  9114. //年度承接量及完成百分比->接口调用
  9115. public function ndcj(){
  9116. $redis=redis();
  9117. $redis_key = md5('ndcj_redis');
  9118. $redis_data = $redis->get($redis_key);
  9119. return $redis_data;
  9120. }
  9121. //年度完成实物产量->缓存调用
  9122. public function wcsw_redis(){
  9123. $redis=redis();
  9124. $redis_key = md5('wcsw_redis');
  9125. $name='年度完成实物产量(万色令)';
  9126. $yu=Db::name('business')->where('name',$name)->value('year_target');
  9127. $result = Db::query("SELECT
  9128. round(sum(m.`印刷实物产量色令数`)/$yu*100,0) 完成率,round(sum(m.`印刷实物产量色令数`)) 色令数求和,$yu 常量
  9129. from (SELECT ROUND((SUM( db.nBBSL )+SUM( db.nFourColorSL )+SUM( db.nnRotationSL ))/10000,2) AS '印刷实物产量色令数'
  9130. FROM (SELECT DISTINCT A.RQ,h.nBBSL AS nBBSL,B.nFourColorSL AS nFourColorSL,P.nnRotationSL AS nnRotationSL
  9131. FROM (SELECT DISTINCT drptrq AS RQ FROM `bzysdayrpt` UNION ( SELECT DISTINCT b.dOnduty FROM `ql_report_feedback_day` `a`
  9132. 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
  9133. 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(乙班)','小森八色(甲班)','小森八色(乙班)')
  9134. 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`
  9135. WHERE `cMachineName` IN ('四色机02号','四色机02号机','海德堡01号','海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号','三菱机01号机','三菱机02号','三菱机02号机','小森八色01号','小森八色01号机','小森八色02号机') ) )T
  9136. GROUP BY `rq` )) as B ON `A`.`RQ`=`B`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjsl ) nBBSL
  9137. 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号机(乙班)')
  9138. 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`
  9139. WHERE `cMachineName` IN ('如钰01号机','如钰02号机','BB机01号','BB机02号','BB机04号','BB机05号','BB机06号','海德堡SM1号','海德堡SM2号') ) )T
  9140. GROUP BY `rq` )) as h ON `A`.`RQ`=`h`.`rq` LEFT JOIN (( SELECT rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjsl ) nnRotationSL
  9141. 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(乙班)','报刊轮转(甲班)','报刊轮转(乙班)')
  9142. 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`
  9143. WHERE `cMachineName` IN ('标规小森商轮1号','标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号','标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号') ) )T
  9144. GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}' ) m");
  9145. // GROUP BY `rq` )) as P ON `A`.`RQ`=`P`.`rq` ) db WHERE (db.RQ >= '{$this->start_time()}'AND db.RQ <= '{$this->end_time()}')
  9146. // GROUP BY MONTH(db.RQ) ORDER BY `db`.`RQ` ASC ) m");
  9147. if($result){
  9148. foreach ($result as $v) {
  9149. $list[0]['name'] = ' ';
  9150. $list[0]['value'] = round($v['色令数求和']);
  9151. $list[1]['name'] = ' ';
  9152. $list[1]['value'] = round($v['常量']);
  9153. $list[2]['name'] = ' ';
  9154. $list[2]['value'] = round($v['完成率']);
  9155. }
  9156. $res['status'] = 0;
  9157. $res['msg'] = '';
  9158. $res['data'] = $list;
  9159. $redis->set($redis_key, json_encode($res));
  9160. // halt(json_decode($redis->get($redis_key),true));
  9161. return json_encode($res);
  9162. }
  9163. }
  9164. //年度完成实物产量->接口调用
  9165. public function wcsw(){
  9166. $redis=redis();
  9167. $redis_key = md5('wcsw_redis');
  9168. $redis_data = $redis->get($redis_key);
  9169. // return $redis_data;
  9170. // die;
  9171. $redis=redis();
  9172. // $redis_key = md5('wcsw_redis');
  9173. // $redis_key = md5('yssl_redis');
  9174. // $redis_data = $redis->get($redis_key);
  9175. // $result=json_decode($redis_data,true)['data']['series'][1]['data'];
  9176. $result = json_decode($redis->get(md5('yssl_redis')),true)['data']['series'][1]['data'];
  9177. $name='年度完成实物产量(万色令)';
  9178. $yu=Db::name('business')->where('name',$name)->value('year_target');
  9179. $num=0;
  9180. foreach($result as $v){
  9181. $num+=$v;
  9182. }
  9183. $num=$num/10000;
  9184. $list[0]['name'] = ' ';
  9185. $list[0]['value'] = round($num);
  9186. $list[1]['name'] = ' ';
  9187. $list[1]['value'] = round($yu);
  9188. $list[2]['name'] = ' ';
  9189. $list[2]['value'] = round($num/$yu*100);
  9190. $res['status'] = 0;
  9191. $res['msg'] = '';
  9192. $res['data'] = $list;
  9193. return json_encode($res);
  9194. // return $redis_data;
  9195. }
  9196. //年度销售额及百分比->缓存调用
  9197. public function ndxs_redis(){
  9198. $redis=redis();
  9199. $redis_key = md5('ndxs_redis');
  9200. $name='年度销售额(万元)';
  9201. $yu=Db::name('business')->where('name',$name)->value('year_target');
  9202. //修改前
  9203. // $result = Db::query("SELECT round( m.sum_nwshjje/10000/$yu*100,0) 销售收入百分比,round( m.sum_nwshjje/10000 ) 销售收入,$yu 常量
  9204. // FROM(SELECT SUM( zb.sum_nwshjje ) sum_nwshjje,DCYRQ
  9205. // FROM(SELECT MCYD.DCYRQ AS DCYRQ,CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje,MCYD.icydid
  9206. // FROM MCYD LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid WHERE MCYD.ICYDSTATE > 0 ) zb
  9207. // WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  9208. // GROUP BY YEAR ( zb.DCYRQ ) ) M
  9209. // GROUP BY YEAR (DCYRQ),( m.sum_nwshjje )");
  9210. //修改后
  9211. $result = Db::query("
  9212. SELECT
  9213. round( m.total/10000/$yu*100,0) 销售收入百分比,
  9214. round( m.total/10000 ) 销售收入,
  9215. $yu 常量
  9216. FROM(
  9217. SELECT SUM(year_total) AS total
  9218. FROM(
  9219. SELECT SUM( zb.sum_nwshjje ) AS year_total
  9220. FROM(
  9221. SELECT
  9222. MCYD.DCYRQ AS DCYRQ,
  9223. CASE WHEN ldz = 1 THEN TJob.namount ELSE MCYD.nwshjje END sum_nwshjje
  9224. FROM MCYD
  9225. LEFT JOIN TJob ON MCYD.ICYDID = TJob.iCydid
  9226. WHERE MCYD.ICYDSTATE > 0
  9227. ) zb
  9228. WHERE zb.DCYRQ >= '{$this->start_time()}' AND zb.DCYRQ <= '{$this->end_time()}'
  9229. GROUP BY YEAR(zb.DCYRQ)
  9230. ) t
  9231. ) m
  9232. ");
  9233. foreach ($result as $v) {
  9234. $list[0]['name'] = ' ';
  9235. $list[0]['value'] = round($v['销售收入']);
  9236. $list[1]['name'] = ' ';
  9237. $list[1]['value'] = round($v['常量']);
  9238. $list[2]['name'] = ' ';
  9239. $list[2]['value'] = round($v['销售收入百分比']);
  9240. }
  9241. $res['status'] = 0;
  9242. $res['msg'] = '';
  9243. $res['data'] = $list;
  9244. $redis->set($redis_key, json_encode($res));
  9245. // halt(json_decode($redis->get($redis_key),true));
  9246. return json_encode($res);
  9247. }
  9248. //年度销售额及百分比->接口调用
  9249. public function ndxs(){
  9250. $redis=redis();
  9251. $redis_key = md5('ndxs_redis');
  9252. $redis_data = $redis->get($redis_key);
  9253. return $redis_data;
  9254. }
  9255. //当年业务模块百分比->缓存调用
  9256. public function yewujg2023_redis(){
  9257. $redis=redis();
  9258. $redis_key = md5('yewujg2023_redis');
  9259. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  9260. $tj = Db::table('tjob')
  9261. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  9262. ->group('icydid, ldz, nclje, itax')
  9263. ->where('lzfbs', '=', 0)->buildSql();
  9264. return Db::table($table)->alias('ord')
  9265. ->field($field)
  9266. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  9267. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  9268. ->where('ord.icydstate', '>', 0)
  9269. ->where($groupBy)
  9270. ->buildSql();
  9271. }
  9272. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  9273. $ObjMatier = Db::table('scyddx')
  9274. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  9275. ->group('icydid')->buildSql();
  9276. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9277. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9278. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  9279. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9280. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9281. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  9282. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9283. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9284. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  9285. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9286. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9287. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  9288. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9289. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9290. ObjMatier.nysls AS nysls,
  9291. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  9292. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9293. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9294. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  9295. // 期刊色令
  9296. $t = Db::table($dd . ' dd')
  9297. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  9298. ->group('dd.cyrq')->buildSql();
  9299. // 集团出版社色令
  9300. $t1 = Db::table($tq . ' t')
  9301. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  9302. ->group('t.cyrq')->buildSql();
  9303. // 集团教材内色令
  9304. $t2 = Db::table($tt . ' t')
  9305. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  9306. ->group('t.cyrq')->buildSql();
  9307. // 集团教材外色令
  9308. $t3 = Db::table($ttt . ' t')
  9309. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  9310. ->group('t.cyrq')->buildSql();
  9311. // 外贸订单纸令、外贸订单色令
  9312. $t4 = Db::table($tttt . ' t')
  9313. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  9314. ->group('t.cyrq')->buildSql();
  9315. // 总色令
  9316. $t5 = Db::table($ttttt . ' t')
  9317. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  9318. ->group('t.cyrq')->buildSql();
  9319. $db = Db::table($a . ' a')
  9320. ->field("
  9321. DISTINCT a.dcyrq AS dcyrq,
  9322. t.期刊色令 AS 期刊色令,
  9323. t1.集团出版社色令 AS 集团出版社色令,
  9324. t2.集团教材内色令 AS 集团教材内色令,
  9325. t3.集团教材外色令 AS 集团教材外色令,
  9326. t4.外贸订单色令 AS 外贸订单色令,
  9327. t4.外贸订单纸令 AS 外贸订单纸令,
  9328. t5.总色令 AS 总色令"
  9329. )
  9330. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  9331. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  9332. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  9333. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  9334. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  9335. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  9336. ->group('date(a.dcyrq)')->buildSql();
  9337. $sql_final = Db::table($db . ' db')
  9338. ->field("
  9339. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  9340. CONCAT(LTRIM(CAST(((SUM(db.总色令) - IFNULL(SUM(db.期刊色令), 0) - IFNULL(SUM(db.集团出版社色令), 0) - IFNULL(SUM(db.集团教材内色令), 0) -
  9341. IFNULL(SUM(db.集团教材外色令), 0) - IFNULL(SUM(db.外贸订单色令), 0)) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0))
  9342. AS DECIMAL(10, 2)))) AS 社会图书,
  9343. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  9344. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  9345. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  9346. ")
  9347. ->whereTime('dcyrq', 'between', [$this->start_time(), $this->end_time()])
  9348. ->group('year(db.dcyrq)')->find();
  9349. $i=0;
  9350. foreach($sql_final as $v){
  9351. $list[$i]['name']=' ';
  9352. $list[$i]['value']=round($v);
  9353. $i++;
  9354. }
  9355. $res['status']=0;
  9356. $res['msg']='';
  9357. $res['data']=$list;
  9358. $redis->set($redis_key, json_encode($res));
  9359. // halt(json_decode($redis->get($redis_key),true));
  9360. return json_encode($res);
  9361. }
  9362. //当年业务模块百分比->接口调用
  9363. public function yewujg2023(){
  9364. $redis=redis();
  9365. $redis_key = md5('yewujg2023_redis');
  9366. $redis_data = $redis->get($redis_key);
  9367. return $redis_data;
  9368. }
  9369. //去年业务模块百分比->缓存调用
  9370. public function yewujg2022_redis(){
  9371. $redis=redis();
  9372. $redis_key = md5('yewujg2022_redis');
  9373. function buildSqlQuery($table, $joinTable, $joinCondition, $field, $groupBy) {
  9374. $tj = Db::table('tjob')
  9375. ->field('icydid, CONVERT(sum(tjob.nclje * 100 / (100 + tjob.itax)), DECIMAL(10,2)) AS sum_clje')
  9376. ->group('icydid, ldz, nclje, itax')
  9377. ->where('lzfbs', '=', 0)->buildSql();
  9378. return Db::table($table)->alias('ord')
  9379. ->field($field)
  9380. ->join('(' . $joinTable . ') as ObjMatier', $joinCondition, 'LEFT')
  9381. ->join('(' . $tj . ') as tj', 'tj.icydid = ord.icydid', 'LEFT')
  9382. ->where('ord.icydstate', '>', 0)
  9383. ->where($groupBy)
  9384. ->buildSql();
  9385. }
  9386. $a = Db::table('mcyd')->field("DATE_FORMAT(dcyrq, '%Y-%m-%d') AS dcyrq")->buildSql();
  9387. $ObjMatier = Db::table('scyddx')
  9388. ->field('icydid, sum(nyssl) AS nyssl, sum(nysls) AS nysls, sum(nsyl) AS nsyl')
  9389. ->group('icydid')->buildSql();
  9390. $dd = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9391. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9392. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy IN ('集团期刊', '社会期刊')");
  9393. $tq = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9394. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9395. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团出版社'");
  9396. $tt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9397. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9398. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材内' AND CYWDWMC = '浙江出版传媒股份有限公司'");
  9399. $ttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9400. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9401. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '集团教材外'");
  9402. $tttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9403. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9404. ObjMatier.nysls AS nysls,
  9405. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0 AND chy = '外贸订单'");
  9406. $ttttt = buildSqlQuery('mcyd', $ObjMatier, 'ObjMatier.icydid = ord.icydid', "
  9407. DATE_FORMAT(dcyrq, '%Y-%m-%d') AS cyrq,
  9408. ObjMatier.nyssl AS nyssl", "ord.icydstate > 0");
  9409. // 期刊色令
  9410. $t = Db::table($dd . ' dd')
  9411. ->field("DATE_FORMAT(dd.cyrq, '%Y-%m-%d') AS cyrq, sum(dd.nyssl) AS 期刊色令")
  9412. ->group('dd.cyrq')->buildSql();
  9413. // 集团出版社色令
  9414. $t1 = Db::table($tq . ' t')
  9415. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团出版社色令")
  9416. ->group('t.cyrq')->buildSql();
  9417. // 集团教材内色令
  9418. $t2 = Db::table($tt . ' t')
  9419. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材内色令")
  9420. ->group('t.cyrq')->buildSql();
  9421. // 集团教材外色令
  9422. $t3 = Db::table($ttt . ' t')
  9423. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 集团教材外色令")
  9424. ->group('t.cyrq')->buildSql();
  9425. // 外贸订单纸令、外贸订单色令
  9426. $t4 = Db::table($tttt . ' t')
  9427. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nysls) 外贸订单纸令, sum(t.nyssl) AS 外贸订单色令")
  9428. ->group('t.cyrq')->buildSql();
  9429. // 总色令
  9430. $t5 = Db::table($ttttt . ' t')
  9431. ->field("DATE_FORMAT(t.cyrq, '%Y-%m-%d') AS cyrq, sum(t.nyssl) AS 总色令")
  9432. ->group('t.cyrq')->buildSql();
  9433. $db = Db::table($a . ' a')
  9434. ->field("
  9435. DISTINCT a.dcyrq AS dcyrq,
  9436. t.期刊色令 AS 期刊色令,
  9437. t1.集团出版社色令 AS 集团出版社色令,
  9438. t2.集团教材内色令 AS 集团教材内色令,
  9439. t3.集团教材外色令 AS 集团教材外色令,
  9440. t4.外贸订单色令 AS 外贸订单色令,
  9441. t4.外贸订单纸令 AS 外贸订单纸令,
  9442. t5.总色令 AS 总色令"
  9443. )
  9444. ->join('(' . $t . ') as t', 't.cyrq = a.dcyrq', 'LEFT')
  9445. ->join('(' . $t1 . ') as t1', 't1.cyrq = a.dcyrq', 'LEFT')
  9446. ->join('(' . $t2 . ') as t2', 't2.cyrq = a.dcyrq', 'LEFT')
  9447. ->join('(' . $t3 . ') as t3', 't3.cyrq = a.dcyrq', 'LEFT')
  9448. ->join('(' . $t4 . ') as t4', 't4.cyrq = a.dcyrq', 'LEFT')
  9449. ->join('(' . $t5 . ') as t5', 't5.cyrq = a.dcyrq', 'LEFT')
  9450. ->group('date(a.dcyrq)')->buildSql();
  9451. $sql_final = Db::table($db . ' db')
  9452. ->field("
  9453. CONCAT(LTRIM(CAST((SUM(db.集团出版社色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 系统图书,
  9454. 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 社会图书,
  9455. CONCAT(LTRIM(CAST((SUM(db.外贸订单色令) * 100 / NULLIF((SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0)), 0)) AS DECIMAL(10, 2)))) AS 外贸板块,
  9456. CONCAT(LTRIM(CAST((SUM(db.期刊色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 期刊板块,
  9457. CONCAT(LTRIM(CAST((SUM(db.集团教材内色令) * 100 / (SUM(db.总色令) - IFNULL(SUM(db.集团教材外色令), 0))) AS DECIMAL(10, 2)))) AS 教材板块
  9458. ")
  9459. ->whereTime('dcyrq', 'between', [$this->qstart_time(), $this->qend_time()])
  9460. ->group('year(db.dcyrq)')->find();
  9461. $i=0;
  9462. foreach($sql_final as $v){
  9463. $list[$i]['name']=' ';
  9464. $list[$i]['value']=round($v);
  9465. $i++;
  9466. }
  9467. $res['status']=0;
  9468. $res['msg']='';
  9469. $res['data']=$list;
  9470. $redis->set($redis_key, json_encode($res));
  9471. // halt(json_decode($redis->get($redis_key),true));
  9472. return json_encode($res);
  9473. }
  9474. //去年业务模块百分比->接口调用
  9475. public function yewujg2022(){
  9476. $redis=redis();
  9477. $redis_key = md5('yewujg2022_redis');
  9478. $redis_data = $redis->get($redis_key);
  9479. return $redis_data;
  9480. }
  9481. /**
  9482. * 业务总览 第一屏 第二页
  9483. */
  9484. //轮转机每月生产趋势 纸令->缓存调用
  9485. public function lunzhuanzl_redis(){
  9486. $redis=redis();
  9487. $redis_key = md5('lunzhuanzl_redis');
  9488. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9489. ->whereIn('cbzmc', ['小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)',
  9490. '小森2号机(乙班)','大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)',
  9491. '三菱商轮(乙班)','三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)',
  9492. '204胶轮(乙班)','V30(甲班)','V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9493. ->union(function ($query) {
  9494. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9495. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9496. ->whereIn('cMachineName', ['标规小森商轮1号',
  9497. '标规小森商轮2号', '大规小森商轮1号',
  9498. '大规三菱商轮1号', '标规三菱商轮1号',
  9499. '标规三菱商轮2号', '标规204胶轮1号',
  9500. '大规海德堡1号', '标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号']);
  9501. }, true)->buildSql();
  9502. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9503. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9504. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9505. })->buildSql();
  9506. //轮转纸令合计
  9507. $subQuery3 = Db::table($subQuery3_child . 'T')
  9508. ->field('rq,SUM( iSjys ) nRotationTotal,COUNT( 1 ) nRotationPZ,SUM( fsjls ) nnRotationSL ')
  9509. ->group('rq')->buildSql();
  9510. $subQuery1_5 = Db::table($subQuery . 'A')
  9511. ->field('DISTINCT A.RQ,P.nnRotationSL AS nnRotationSL')
  9512. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9513. ->buildSql();
  9514. $sql_final = Db::table($subQuery1_5 . ' db')
  9515. ->field("
  9516. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9517. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9518. ")
  9519. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9520. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9521. ->select();
  9522. // 初始化数据
  9523. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9524. $currentYear = date("Y"); // 当前年份
  9525. $currentMonth = date("m"); // 当前月份
  9526. $previousYear = (int)$currentYear - 1; // 去年
  9527. $previousTwoYear = (int)$currentYear - 2; // 前年
  9528. // 为前年、去年和今年创建数据数组,初始值为0
  9529. $list['series'][0]['name'] = $previousTwoYear . '年';
  9530. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9531. $list['series'][1]['name'] = $previousYear . '年';
  9532. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9533. $list['series'][2]['name'] = $currentYear . '年';
  9534. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9535. // 遍历查询结果
  9536. foreach ($sql_final as $v) {
  9537. // 获取年份和月份
  9538. $year = substr($v['rq'], 0, 4);
  9539. $month = substr($v['rq'], 5, 2);
  9540. // 如果是前两年的数据
  9541. if ($year == $previousTwoYear) {
  9542. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9543. }
  9544. // 如果是去年的数据
  9545. if ($year == $previousYear) {
  9546. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9547. }
  9548. // 如果是今年的数据
  9549. if ($year == $currentYear) {
  9550. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9551. }
  9552. }
  9553. $res['status'] = 0;
  9554. $res['msg'] = '';
  9555. $res['data'] = $list;
  9556. $redis->set($redis_key, json_encode($res));
  9557. return json_encode($res);
  9558. }
  9559. //轮转机每月生产趋势 纸令->接口调用
  9560. public function lunzhuanzl(){
  9561. $redis=redis();
  9562. $redis_key = md5('lunzhuanzl_redis');
  9563. $redis_data = $redis->get($redis_key);
  9564. return $redis_data;
  9565. }
  9566. //四色机每月生产趋势 纸令->缓存调用
  9567. public function sisejizl_redis(){
  9568. $redis=redis();
  9569. $redis_key = md5('sisejizl_redis');
  9570. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9571. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9572. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9573. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9574. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9575. ->union(function ($query) {
  9576. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl')
  9577. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9578. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9579. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9580. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9581. '小森八色01号机','小森八色02号机']);
  9582. }, true)->buildSql();
  9583. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9584. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9585. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9586. })->buildSql();
  9587. //四色机纸令合计
  9588. $subQuery1 = Db::table($subQuery1_child . 'T')
  9589. ->field('rq,SUM( fsjls ) nFourColorSL')
  9590. ->group('rq')->buildSql();
  9591. $subQuery1_5 = Db::table($subQuery . 'A')
  9592. ->field('DISTINCT A.RQ,B.nFourColorSL AS nFourColorSL')
  9593. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9594. ->buildSql();
  9595. $sql_final = Db::table($subQuery1_5 . ' db')
  9596. ->field("
  9597. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9598. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9599. ")
  9600. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9601. // ->group('MONTH(db.RQ)')
  9602. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9603. ->select();
  9604. // 初始化数据
  9605. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9606. $currentYear = date("Y"); // 当前年份
  9607. $currentMonth = date("m"); // 当前月份
  9608. $previousYear = (int)$currentYear - 1; // 去年
  9609. $previousTwoYear = (int)$currentYear - 2; // 前年
  9610. // 为前年、去年和今年创建数据数组,初始值为0
  9611. $list['series'][0]['name'] = $previousTwoYear . '年';
  9612. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9613. $list['series'][1]['name'] = $previousYear . '年';
  9614. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9615. $list['series'][2]['name'] = $currentYear . '年';
  9616. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9617. // 遍历查询结果
  9618. foreach ($sql_final as $v) {
  9619. // 获取年份和月份
  9620. $year = substr($v['rq'], 0, 4);
  9621. $month = substr($v['rq'], 5, 2);
  9622. // 如果是前两年的数据
  9623. if ($year == $previousTwoYear) {
  9624. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9625. }
  9626. // 如果是去年的数据
  9627. if ($year == $previousYear) {
  9628. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9629. }
  9630. // 如果是今年的数据
  9631. if ($year == $currentYear) {
  9632. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9633. }
  9634. }
  9635. $res['status'] = 0;
  9636. $res['msg'] = '';
  9637. $res['data'] = $list;
  9638. $redis->set($redis_key, json_encode($res));
  9639. return json_encode($res);
  9640. }
  9641. //四色机每月生产趋势 纸令->接口调用
  9642. public function sisejizl(){
  9643. $redis=redis();
  9644. $redis_key = md5('sisejizl_redis');
  9645. $redis_data = $redis->get($redis_key);
  9646. return $redis_data;
  9647. }
  9648. //BB机每月生产趋势 纸令->缓存调用
  9649. public function bbjzl_redis(){
  9650. $redis=redis();
  9651. $redis_key = md5('bbjzl_redis');
  9652. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,iSjys,fsjls')
  9653. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)',
  9654. 'BB机2号(乙班)','BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)',
  9655. 'BB机5号(甲班)','BB机5号(乙班)',
  9656. 'BB机6号(甲班)','BB机6号(乙班)','05机1号(甲班)','05机1号(乙班)',
  9657. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)','海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9658. ->union(function ($query) {
  9659. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nAmount,a.nzl ')
  9660. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9661. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','如钰01号机','如钰02号机',
  9662. 'BB机05号','BB机06号','海德堡SM1号','海德堡SM2号']);
  9663. }, true)->buildSql();
  9664. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')->union(function ($query) {
  9665. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9666. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9667. })->buildSql();
  9668. //BB机纸令合计
  9669. $subQuery2 = Db::table($subQuery2_child . 'T')
  9670. ->field('rq,SUM( iSjys ) nBBTotal,COUNT( 1 ) nBBPZ,SUM( fsjls ) nBBSL')
  9671. ->group('rq')->buildSql();
  9672. $subQuery1_5 = Db::table($subQuery . 'A')
  9673. ->field('DISTINCT A.RQ,h.nBBSL AS nBBSL')
  9674. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9675. ->buildSql();
  9676. $sql_final = Db::table($subQuery1_5 . ' db')
  9677. ->field("
  9678. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9679. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9680. ")
  9681. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9682. // ->group('MONTH(db.RQ)')
  9683. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9684. ->select();
  9685. // 初始化数据
  9686. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9687. $currentYear = date("Y"); // 当前年份
  9688. $currentMonth = date("m"); // 当前月份
  9689. $previousYear = (int)$currentYear - 1; // 去年
  9690. $previousTwoYear = (int)$currentYear - 2; // 前年
  9691. // 为前年、去年和今年创建数据数组,初始值为0
  9692. $list['series'][0]['name'] = $previousTwoYear . '年';
  9693. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9694. $list['series'][1]['name'] = $previousYear . '年';
  9695. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9696. $list['series'][2]['name'] = $currentYear . '年';
  9697. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9698. // 遍历查询结果
  9699. foreach ($sql_final as $v) {
  9700. // 获取年份和月份
  9701. $year = substr($v['rq'], 0, 4);
  9702. $month = substr($v['rq'], 5, 2);
  9703. // 如果是前两年的数据
  9704. if ($year == $previousTwoYear) {
  9705. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9706. }
  9707. // 如果是去年的数据
  9708. if ($year == $previousYear) {
  9709. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9710. }
  9711. // 如果是今年的数据
  9712. if ($year == $currentYear) {
  9713. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9714. }
  9715. }
  9716. $res['status'] = 0;
  9717. $res['msg'] = '';
  9718. $res['data'] = $list;
  9719. $redis->set($redis_key, json_encode($res));
  9720. return json_encode($res);
  9721. }
  9722. //BB机每月生产趋势 纸令->接口调用
  9723. public function bbjzl(){
  9724. $redis=redis();
  9725. $redis_key = md5('bbjzl_redis');
  9726. $redis_data = $redis->get($redis_key);
  9727. return $redis_data;
  9728. }
  9729. //轮转机每月生产趋势 色令->缓存调用
  9730. public function lunzhuan_redis(){
  9731. $redis=redis();
  9732. $redis_key = md5('lunzhuan_redis');
  9733. //首先定义了起始时间和结束时间
  9734. //根据查询条件查出色令数据
  9735. $subQuery3_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9736. ->whereIn('cbzmc', [
  9737. '小森LW-35(甲班)','小森LW-35(乙班)','小森2号机(甲班)','小森2号机(乙班)',
  9738. '大规小森3号机(甲班)','大规小森3号机(乙班)','三菱商轮(甲班)','三菱商轮(乙班)',
  9739. '三菱商轮2号(甲班)','三菱商轮2号(乙班)','204胶轮(甲班)','204胶轮(乙班)',
  9740. 'V30(甲班)', 'V30(乙班)','报刊轮转(甲班)','报刊轮转(乙班)','高斯胶轮(甲班)','高斯胶轮(乙班)'])
  9741. ->union(function ($query) {
  9742. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9743. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9744. ->whereIn('cMachineName', ['标规小森商轮1号',
  9745. '标规小森商轮2号','大规小森商轮1号','大规三菱商轮1号','标规三菱商轮1号',
  9746. '标规三菱商轮2号','标规204胶轮1号','大规海德堡1号','标规报轮1号','标规高斯轮转1号','标规高斯轮转2号','大规高斯轮转1号','标规北人轮转1号','标规北人轮转1号']);
  9747. }, true)
  9748. ->buildSql();
  9749. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9750. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9751. ->union(function ($query) {
  9752. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9753. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9754. })->buildSql();
  9755. //查询每天的数据
  9756. $subQuery3 = Db::table($subQuery3_child . 'T')
  9757. ->field('rq,SUM( fsjsl ) nnRotationSL ')
  9758. ->group('rq')
  9759. ->buildSql();
  9760. //按当天日期进行分组 累计相加当天数据
  9761. $subQuery1_5 = Db::table($subQuery . 'A')
  9762. ->field('DISTINCT DATE(A.RQ) RQ,sum(P.nnRotationSL) AS nnRotationSL')
  9763. ->join('(' . $subQuery3 . ') as P', 'A.RQ = P.rq','LEFT')
  9764. ->group('RQ')
  9765. ->buildSql();
  9766. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nnRotationSL )) AS '轮转色令合计'
  9767. $sql_final = Db::table($subQuery1_5 . ' db')
  9768. ->field("
  9769. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9770. ROUND(SUM( db.nnRotationSL )) AS 'nnRotationSL'
  9771. ")
  9772. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9773. // ->group('MONTH(db.RQ)')
  9774. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9775. ->select();
  9776. // 初始化数据
  9777. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9778. $currentYear = date("Y"); // 当前年份
  9779. $currentMonth = date("m"); // 当前月份
  9780. $previousYear = (int)$currentYear - 1; // 去年
  9781. $previousTwoYear = (int)$currentYear - 2; // 前年
  9782. // 为前年、去年和今年创建数据数组,初始值为0
  9783. $list['series'][0]['name'] = $previousTwoYear . '年';
  9784. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9785. $list['series'][1]['name'] = $previousYear . '年';
  9786. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9787. $list['series'][2]['name'] = $currentYear . '年';
  9788. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9789. // 遍历查询结果
  9790. foreach ($sql_final as $v) {
  9791. // 获取年份和月份
  9792. $year = substr($v['rq'], 0, 4);
  9793. $month = substr($v['rq'], 5, 2);
  9794. // 如果是前两年的数据
  9795. if ($year == $previousTwoYear) {
  9796. $list['series'][0]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9797. }
  9798. // 如果是去年的数据
  9799. if ($year == $previousYear) {
  9800. $list['series'][1]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9801. }
  9802. // 如果是今年的数据
  9803. if ($year == $currentYear) {
  9804. $list['series'][2]['data'][(int)$month - 1] = $v['nnRotationSL'];
  9805. }
  9806. }
  9807. $res['status'] = 0;
  9808. $res['msg'] = '';
  9809. $res['data'] = $list;
  9810. $redis->set($redis_key, json_encode($res));
  9811. return json_encode($res);
  9812. }
  9813. //轮转机每月生产趋势 色令->接口调用
  9814. public function lunzhuan(){
  9815. $redis=redis();
  9816. $redis_key = md5('lunzhuan_redis');
  9817. $redis_data = $redis->get($redis_key);
  9818. return $redis_data;
  9819. }
  9820. //四色机每月生产趋势 色令->缓存调用
  9821. public function siseji_redis(){
  9822. $redis=redis();
  9823. $redis_key = md5('siseji_redis');
  9824. //根据查询条件查出色令数据
  9825. $subQuery1_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9826. ->whereIn('cbzmc', ['四色机2号(甲班)','四色机2号(乙班)','海德堡(甲班)',
  9827. '海德堡1号(甲班)','海德堡(乙班)','海德堡1号(乙班)','海德堡5+1 1号(甲班)',
  9828. '海德堡5+1 1号(乙班)','三菱机1(甲班)','三菱机1(乙班)','三菱机2(甲班)',
  9829. '三菱机2(乙班)','小森八色(甲班)','小森八色(乙班)'])
  9830. ->union(function ($query) {
  9831. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl')
  9832. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9833. ->whereIn('cMachineName', ['四色机02号','四色机02号机','海德堡01号',
  9834. '海德堡01号机','海德堡5+L 01号','海德堡5+L 01号机','三菱机01号',
  9835. '三菱机01号机','三菱机02号','三菱机02号机','小森八色01号',
  9836. '小森八色01号机','小森八色02号机']);
  9837. }, true)->buildSql();
  9838. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9839. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9840. ->union(function ($query) {
  9841. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9842. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9843. })->buildSql();
  9844. //查询每天的数据
  9845. $subQuery1 = Db::table($subQuery1_child . 'T')
  9846. ->field('rq,SUM( fsjsl ) nFourColorSL')
  9847. ->group('rq')->buildSql();
  9848. //按当天日期进行分组 累计相加当天数据
  9849. $subQuery1_5 = Db::table($subQuery . 'A')
  9850. ->field('
  9851. DISTINCT DATE(A.RQ) RQ,
  9852. sum(B.nFourColorSL) AS nFourColorSL
  9853. ')
  9854. ->join('(' . $subQuery1 . ') as B', ' A.RQ = B.rq','LEFT')
  9855. ->group('RQ')
  9856. ->buildSql();
  9857. //按每个月进行查询 累计相加每月数据
  9858. $sql_final = Db::table($subQuery1_5 . ' db')
  9859. ->field("
  9860. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9861. ROUND(SUM( db.nFourColorSL )) AS 'nFourColorSL'
  9862. ")
  9863. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9864. // ->group('MONTH(db.RQ)')
  9865. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9866. ->select();
  9867. // 初始化数据
  9868. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9869. $currentYear = date("Y"); // 当前年份
  9870. $currentMonth = date("m"); // 当前月份
  9871. $previousYear = (int)$currentYear - 1; // 去年
  9872. $previousTwoYear = (int)$currentYear - 2; // 前年
  9873. // 为前年、去年和今年创建数据数组,初始值为0
  9874. $list['series'][0]['name'] = $previousTwoYear . '年';
  9875. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9876. $list['series'][1]['name'] = $previousYear . '年';
  9877. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9878. $list['series'][2]['name'] = $currentYear . '年';
  9879. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9880. // 遍历查询结果
  9881. foreach ($sql_final as $v) {
  9882. // 获取年份和月份
  9883. $year = substr($v['rq'], 0, 4);
  9884. $month = substr($v['rq'], 5, 2);
  9885. // 如果是前两年的数据
  9886. if ($year == $previousTwoYear) {
  9887. $list['series'][0]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9888. }
  9889. // 如果是去年的数据
  9890. if ($year == $previousYear) {
  9891. $list['series'][1]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9892. }
  9893. // 如果是今年的数据
  9894. if ($year == $currentYear) {
  9895. $list['series'][2]['data'][(int)$month - 1] = $v['nFourColorSL'];
  9896. }
  9897. }
  9898. $res['status'] = 0;
  9899. $res['msg'] = '';
  9900. $res['data'] = $list;
  9901. $redis->set($redis_key, json_encode($res));
  9902. return json_encode($res);
  9903. }
  9904. //四色机每月生产趋势 色令->接口调用
  9905. public function siseji(){
  9906. $redis=redis();
  9907. $redis_key = md5('siseji_redis');
  9908. $redis_data = $redis->get($redis_key);
  9909. return $redis_data;
  9910. }
  9911. //BB机每月生产趋势 色令->缓存调用
  9912. public function bbj_redis(){
  9913. $redis=redis();
  9914. $redis_key = md5('bbj_redis');
  9915. //首先定义了起始时间和结束时间
  9916. //根据查询条件查出色令数据
  9917. $subQuery2_child = Db::table('bzysdayrpt')->field('drptrq AS rq,fsjsl')
  9918. ->whereIn('cbzmc', ['BB机1号(甲班)','BB机1号(乙班)','BB机2号(甲班)','BB机2号(乙班)',
  9919. 'BB机3号(甲班)','BB机3号(乙班)','BB机4号(甲班)','BB机4号(乙班)','BB机5号(甲班)',
  9920. 'BB机5号(乙班)','BB机6号(甲班)','BB机6号(乙班)', '05机1号(甲班)', '05机1号(乙班)',
  9921. '海德堡SM1号机(甲班)','海德堡SM1号机(乙班)', '海德堡SM2号机(甲班)','海德堡SM2号机(乙班)'])
  9922. ->union(function ($query) {
  9923. $query->table('ql_report_feedback_day')->alias('a')->field('b.dOnduty,a.nsl ')
  9924. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams')
  9925. ->whereIn('cMachineName', ['BB机01号','BB机02号','BB机04号','BB机05号','如钰01号机','如钰02号机',
  9926. 'BB机06号','海德堡SM1号','海德堡SM2号']);
  9927. }, true)->buildSql();
  9928. //将两个表的日期字段进行合并,并返回一个包含不重复结果
  9929. $subQuery = Db::table('bzysdayrpt')->field('DISTINCT drptrq AS RQ')
  9930. ->union(function ($query) {
  9931. $query->table('ql_report_feedback_day')->alias('a')->field(' DISTINCT b.dOnduty ')
  9932. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams');
  9933. })->buildSql();
  9934. //查询每天的数据
  9935. $subQuery2 = Db::table($subQuery2_child . 'T')
  9936. ->field('rq,SUM( fsjsl ) nBBSL')
  9937. ->group('rq')->buildSql();
  9938. //按当天日期进行分组 累计相加当天数据
  9939. $subQuery1_5 = Db::table($subQuery . 'A')
  9940. ->field('DISTINCT DATE(A.RQ) RQ,sum(h.nBBSL) AS nBBSL')
  9941. ->join('(' . $subQuery2 . ') as h', 'A.RQ = h.rq','LEFT')
  9942. ->group('RQ')
  9943. ->buildSql();
  9944. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.nBBSL )) AS '单双色机(BB机)色令合计'
  9945. $sql_final = Db::table($subQuery1_5 . ' db')
  9946. ->field("
  9947. DATE_FORMAT( db.RQ, '%Y-%m' ) AS 'rq',
  9948. ROUND(SUM( db.nBBSL )) AS 'nBBSL'
  9949. ")
  9950. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  9951. // ->group('MONTH(db.RQ)')
  9952. ->group("DATE_FORMAT( db.RQ, '%Y-%m' )")
  9953. ->order('db.RQ', 'asc')
  9954. ->select();
  9955. // 初始化数据
  9956. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  9957. $currentYear = date("Y"); // 当前年份
  9958. $currentMonth = date("m"); // 当前月份
  9959. $previousYear = (int)$currentYear - 1; // 去年
  9960. $previousTwoYear = (int)$currentYear - 2; // 前年
  9961. // 为前年、去年和今年创建数据数组,初始值为0
  9962. $list['series'][0]['name'] = $previousTwoYear . '年';
  9963. $list['series'][0]['data'] = array_fill(0, 12, 0); // 前年初始化为0
  9964. $list['series'][1]['name'] = $previousYear . '年';
  9965. $list['series'][1]['data'] = array_fill(0, 12, 0); // 去年初始化为0
  9966. $list['series'][2]['name'] = $currentYear . '年';
  9967. $list['series'][2]['data'] = array_fill(0, $currentMonth, 0); // 今年初始化到当前月份为0
  9968. // 遍历查询结果
  9969. foreach ($sql_final as $v) {
  9970. // 获取年份和月份
  9971. $year = substr($v['rq'], 0, 4);
  9972. $month = substr($v['rq'], 5, 2);
  9973. // 如果是前两年的数据
  9974. if ($year == $previousTwoYear) {
  9975. $list['series'][0]['data'][(int)$month - 1] = $v['nBBSL'];
  9976. }
  9977. // 如果是去年的数据
  9978. if ($year == $previousYear) {
  9979. $list['series'][1]['data'][(int)$month - 1] = $v['nBBSL'];
  9980. }
  9981. // 如果是今年的数据
  9982. if ($year == $currentYear) {
  9983. $list['series'][2]['data'][(int)$month - 1] = $v['nBBSL'];
  9984. }
  9985. }
  9986. $res['status'] = 0;
  9987. $res['msg'] = '';
  9988. $res['data'] = $list;
  9989. $redis->set($redis_key, json_encode($res));
  9990. return json_encode($res);
  9991. }
  9992. //BB机每月生产趋势 色令->接口调用
  9993. public function bbj(){
  9994. $redis=redis();
  9995. $redis_key = md5('bbj_redis');
  9996. $redis_data = $redis->get($redis_key);
  9997. return $redis_data;
  9998. }
  9999. //胶订纸令->缓存调用
  10000. public function jdzl_redis(){
  10001. $redis=redis();
  10002. $redis_key = md5('jdzl_redis');
  10003. //首先定义了起始时间和结束时间
  10004. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  10005. ->union(function ($query) {
  10006. $query->table('scDayRpt_Teams')->alias('b')
  10007. ->field("DISTINCT DATE_FORMAT(
  10008. CASE
  10009. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  10010. ELSE b.dOnDuty
  10011. END,
  10012. '%Y-%m-%d'
  10013. ) AS RQ");
  10014. }, true)
  10015. ->buildSql();
  10016. $B = Db::table('cpjtfk')
  10017. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10018. ->field("
  10019. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10020. sum(mcyd.NZWyz * iWCl / 1000) as 马1甲纸令数
  10021. ")
  10022. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  10023. ->group('drptdate,cbanzu')
  10024. ->buildSql();
  10025. $B1 = Db::table('cpjtfk')
  10026. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10027. ->field("
  10028. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10029. sum(mcyd.NZWyz * iWCl / 1000) as 马1乙纸令数
  10030. ")
  10031. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  10032. ->group('drptdate,cbanzu')
  10033. ->buildSql();
  10034. $C = Db::table('cpjtfk')
  10035. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10036. ->field("
  10037. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10038. sum(mcyd.NZWyz * iWCl / 1000) as 马2甲纸令数
  10039. ")
  10040. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  10041. ->group('drptdate,cbanzu')
  10042. ->buildSql();
  10043. $C1 = Db::table('cpjtfk')
  10044. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10045. ->field("
  10046. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10047. sum(mcyd.NZWyz * iWCl / 1000) as 马2乙纸令数
  10048. ")
  10049. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  10050. ->group('drptdate,cbanzu')
  10051. ->buildSql();
  10052. $D = Db::table('cpjtfk')
  10053. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10054. ->field("
  10055. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10056. sum(mcyd.NZWyz * iWCl / 1000) as 马3甲纸令数
  10057. ")
  10058. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  10059. ->group('drptdate,cbanzu')
  10060. ->buildSql();
  10061. $D1 = Db::table('cpjtfk')
  10062. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10063. ->field("
  10064. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10065. sum(mcyd.NZWyz * iWCl / 1000) as 马3乙纸令数
  10066. ")
  10067. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  10068. ->group('drptdate,cbanzu')
  10069. ->buildSql();
  10070. $E = Db::table('cpjtfk')
  10071. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10072. ->field("
  10073. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10074. sum(mcyd.NZWyz * iWCl / 1000) as 马4甲纸令数
  10075. ")
  10076. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  10077. ->group('drptdate,cbanzu')
  10078. ->buildSql();
  10079. $E1 = Db::table('cpjtfk')
  10080. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10081. ->field("
  10082. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10083. sum(mcyd.NZWyz * iWCl / 1000) as 马4乙纸令数
  10084. ")
  10085. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  10086. ->group('drptdate,cbanzu')
  10087. ->buildSql();
  10088. $F = Db::table('cpjtfk')
  10089. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10090. ->field("
  10091. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10092. sum(mcyd.NZWyz * iWCl / 1000) as 马5甲纸令数
  10093. ")
  10094. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  10095. ->group('drptdate,cbanzu')
  10096. ->buildSql();
  10097. $F1 = Db::table('cpjtfk')
  10098. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  10099. ->field("
  10100. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  10101. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  10102. ")
  10103. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  10104. ->group('drptdate,cbanzu')
  10105. ->buildSql();
  10106. $rr = Db::table('scyddx')->alias('r')
  10107. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  10108. ->group('r.ICYDID')
  10109. ->buildSql();
  10110. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  10111. ->field("
  10112. 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,
  10113. ROUND(SUM(
  10114. CASE
  10115. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10116. THEN CASE WHEN a.cCyddxMc = '装配'
  10117. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  10118. THEN CASE
  10119. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  10120. END = 0 THEN c.nzdls
  10121. ELSE ( CASE
  10122. WHEN c.nzdls < CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  10123. END
  10124. THEN CASE
  10125. WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  10126. END ELSE c.nzdls END
  10127. ) END ELSE 0 END
  10128. ELSE CASE
  10129. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10130. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10131. CASE WHEN a.cCyddxMc = '装配'
  10132. OR a.cCyddxMc LIKE '%正文%' OR a.cCyddxMc LIKE '%答案%' OR a.cCyddxMc LIKE '%卷%'
  10133. THEN CASE
  10134. WHEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  10135. END = 0 THEN c.nzdls
  10136. ELSE ( CASE WHEN c.nzdls <
  10137. CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  10138. END
  10139. THEN CASE WHEN IFNULL(d.fZls, 0) < rr.zl THEN rr.zl ELSE IFNULL(d.fZls, 0)
  10140. END ELSE c.nzdls END )
  10141. END ELSE 0 END ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10142. END END ), 3) 马11甲纸令 ")
  10143. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10144. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10145. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10146. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10147. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10148. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10149. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  10150. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10151. ->group("CASE
  10152. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10153. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10154. END,Name_WorkGroup")->buildSql();
  10155. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  10156. ->field("
  10157. 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,
  10158. ROUND(SUM(
  10159. CASE
  10160. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10161. THEN
  10162. CASE
  10163. WHEN a.cCyddxMc = '装配'
  10164. OR a.cCyddxMc LIKE '%正文%'
  10165. OR a.cCyddxMc LIKE '%答案%'
  10166. OR a.cCyddxMc LIKE '%卷%'
  10167. THEN
  10168. CASE
  10169. WHEN CASE
  10170. WHEN IFNULL(d.fZls, 0) < rr.zl
  10171. THEN rr.zl
  10172. ELSE IFNULL(d.fZls, 0)
  10173. END = 0
  10174. THEN c.nzdls
  10175. ELSE (
  10176. CASE
  10177. WHEN c.nzdls <
  10178. CASE
  10179. WHEN IFNULL(d.fZls, 0) < rr.zl
  10180. THEN rr.zl
  10181. ELSE IFNULL(d.fZls, 0)
  10182. END
  10183. THEN
  10184. CASE
  10185. WHEN IFNULL(d.fZls, 0) < rr.zl
  10186. THEN rr.zl
  10187. ELSE IFNULL(d.fZls, 0)
  10188. END
  10189. ELSE c.nzdls
  10190. END
  10191. )
  10192. END
  10193. ELSE 0
  10194. END
  10195. ELSE
  10196. CASE
  10197. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10198. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10199. CASE
  10200. WHEN a.cCyddxMc = '装配'
  10201. OR a.cCyddxMc LIKE '%正文%'
  10202. OR a.cCyddxMc LIKE '%答案%'
  10203. OR a.cCyddxMc LIKE '%卷%'
  10204. THEN
  10205. CASE
  10206. WHEN CASE
  10207. WHEN IFNULL(d.fZls, 0) < rr.zl
  10208. THEN rr.zl
  10209. ELSE IFNULL(d.fZls, 0)
  10210. END = 0
  10211. THEN c.nzdls
  10212. ELSE (
  10213. CASE
  10214. WHEN c.nzdls <
  10215. CASE
  10216. WHEN IFNULL(d.fZls, 0) < rr.zl
  10217. THEN rr.zl
  10218. ELSE IFNULL(d.fZls, 0)
  10219. END
  10220. THEN
  10221. CASE
  10222. WHEN IFNULL(d.fZls, 0) < rr.zl
  10223. THEN rr.zl
  10224. ELSE IFNULL(d.fZls, 0)
  10225. END
  10226. ELSE c.nzdls
  10227. END
  10228. )
  10229. END
  10230. ELSE 0
  10231. END
  10232. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10233. END
  10234. END )
  10235. , 3) 马11乙纸令
  10236. ")
  10237. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10238. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10239. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10240. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10241. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10242. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10243. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  10244. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10245. ->group("CASE
  10246. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10247. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10248. END,Name_WorkGroup")
  10249. ->buildSql();
  10250. $CC = Db::table('ql_report_feedback_day')->alias('a')
  10251. ->field("
  10252. 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,
  10253. ROUND(SUM(
  10254. CASE
  10255. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10256. THEN
  10257. CASE
  10258. WHEN a.cCyddxMc = '装配'
  10259. OR a.cCyddxMc LIKE '%正文%'
  10260. OR a.cCyddxMc LIKE '%答案%'
  10261. OR a.cCyddxMc LIKE '%卷%'
  10262. THEN
  10263. CASE
  10264. WHEN CASE
  10265. WHEN IFNULL(d.fZls, 0) < rr.zl
  10266. THEN rr.zl
  10267. ELSE IFNULL(d.fZls, 0)
  10268. END = 0
  10269. THEN c.nzdls
  10270. ELSE (
  10271. CASE
  10272. WHEN c.nzdls <
  10273. CASE
  10274. WHEN IFNULL(d.fZls, 0) < rr.zl
  10275. THEN rr.zl
  10276. ELSE IFNULL(d.fZls, 0)
  10277. END
  10278. THEN
  10279. CASE
  10280. WHEN IFNULL(d.fZls, 0) < rr.zl
  10281. THEN rr.zl
  10282. ELSE IFNULL(d.fZls, 0)
  10283. END
  10284. ELSE c.nzdls
  10285. END
  10286. )
  10287. END
  10288. ELSE 0
  10289. END
  10290. ELSE
  10291. CASE
  10292. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10293. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10294. CASE
  10295. WHEN a.cCyddxMc = '装配'
  10296. OR a.cCyddxMc LIKE '%正文%'
  10297. OR a.cCyddxMc LIKE '%答案%'
  10298. OR a.cCyddxMc LIKE '%卷%'
  10299. THEN
  10300. CASE
  10301. WHEN CASE
  10302. WHEN IFNULL(d.fZls, 0) < rr.zl
  10303. THEN rr.zl
  10304. ELSE IFNULL(d.fZls, 0)
  10305. END = 0
  10306. THEN c.nzdls
  10307. ELSE (
  10308. CASE
  10309. WHEN c.nzdls <
  10310. CASE
  10311. WHEN IFNULL(d.fZls, 0) < rr.zl
  10312. THEN rr.zl
  10313. ELSE IFNULL(d.fZls, 0)
  10314. END
  10315. THEN
  10316. CASE
  10317. WHEN IFNULL(d.fZls, 0) < rr.zl
  10318. THEN rr.zl
  10319. ELSE IFNULL(d.fZls, 0)
  10320. END
  10321. ELSE c.nzdls
  10322. END
  10323. )
  10324. END
  10325. ELSE 0
  10326. END
  10327. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10328. END
  10329. END )
  10330. , 3) 马22甲纸令
  10331. ")
  10332. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10333. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10334. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10335. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10336. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10337. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10338. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  10339. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10340. ->group("CASE
  10341. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10342. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10343. END,Name_WorkGroup")
  10344. ->buildSql();
  10345. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  10346. ->field("
  10347. 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,
  10348. ROUND(SUM(
  10349. CASE
  10350. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10351. THEN
  10352. CASE
  10353. WHEN a.cCyddxMc = '装配'
  10354. OR a.cCyddxMc LIKE '%正文%'
  10355. OR a.cCyddxMc LIKE '%答案%'
  10356. OR a.cCyddxMc LIKE '%卷%'
  10357. THEN
  10358. CASE
  10359. WHEN CASE
  10360. WHEN IFNULL(d.fZls, 0) < rr.zl
  10361. THEN rr.zl
  10362. ELSE IFNULL(d.fZls, 0)
  10363. END = 0
  10364. THEN c.nzdls
  10365. ELSE (
  10366. CASE
  10367. WHEN c.nzdls <
  10368. CASE
  10369. WHEN IFNULL(d.fZls, 0) < rr.zl
  10370. THEN rr.zl
  10371. ELSE IFNULL(d.fZls, 0)
  10372. END
  10373. THEN
  10374. CASE
  10375. WHEN IFNULL(d.fZls, 0) < rr.zl
  10376. THEN rr.zl
  10377. ELSE IFNULL(d.fZls, 0)
  10378. END
  10379. ELSE c.nzdls
  10380. END
  10381. )
  10382. END
  10383. ELSE 0
  10384. END
  10385. ELSE
  10386. CASE
  10387. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10388. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10389. CASE
  10390. WHEN a.cCyddxMc = '装配'
  10391. OR a.cCyddxMc LIKE '%正文%'
  10392. OR a.cCyddxMc LIKE '%答案%'
  10393. OR a.cCyddxMc LIKE '%卷%'
  10394. THEN
  10395. CASE
  10396. WHEN CASE
  10397. WHEN IFNULL(d.fZls, 0) < rr.zl
  10398. THEN rr.zl
  10399. ELSE IFNULL(d.fZls, 0)
  10400. END = 0
  10401. THEN c.nzdls
  10402. ELSE (
  10403. CASE
  10404. WHEN c.nzdls <
  10405. CASE
  10406. WHEN IFNULL(d.fZls, 0) < rr.zl
  10407. THEN rr.zl
  10408. ELSE IFNULL(d.fZls, 0)
  10409. END
  10410. THEN
  10411. CASE
  10412. WHEN IFNULL(d.fZls, 0) < rr.zl
  10413. THEN rr.zl
  10414. ELSE IFNULL(d.fZls, 0)
  10415. END
  10416. ELSE c.nzdls
  10417. END
  10418. )
  10419. END
  10420. ELSE 0
  10421. END
  10422. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10423. END
  10424. END )
  10425. , 3) 马22乙纸令
  10426. ")
  10427. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10428. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10429. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10430. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10431. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10432. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10433. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  10434. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10435. ->group("CASE
  10436. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10437. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10438. END,Name_WorkGroup")
  10439. ->buildSql();
  10440. $EE = Db::table('ql_report_feedback_day')->alias('a')
  10441. ->field("
  10442. 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,
  10443. ROUND(SUM(
  10444. CASE
  10445. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10446. THEN
  10447. CASE
  10448. WHEN a.cCyddxMc = '装配'
  10449. OR a.cCyddxMc LIKE '%正文%'
  10450. OR a.cCyddxMc LIKE '%答案%'
  10451. OR a.cCyddxMc LIKE '%卷%'
  10452. THEN
  10453. CASE
  10454. WHEN CASE
  10455. WHEN IFNULL(d.fZls, 0) < rr.zl
  10456. THEN rr.zl
  10457. ELSE IFNULL(d.fZls, 0)
  10458. END = 0
  10459. THEN c.nzdls
  10460. ELSE (
  10461. CASE
  10462. WHEN c.nzdls <
  10463. CASE
  10464. WHEN IFNULL(d.fZls, 0) < rr.zl
  10465. THEN rr.zl
  10466. ELSE IFNULL(d.fZls, 0)
  10467. END
  10468. THEN
  10469. CASE
  10470. WHEN IFNULL(d.fZls, 0) < rr.zl
  10471. THEN rr.zl
  10472. ELSE IFNULL(d.fZls, 0)
  10473. END
  10474. ELSE c.nzdls
  10475. END
  10476. )
  10477. END
  10478. ELSE 0
  10479. END
  10480. ELSE
  10481. CASE
  10482. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10483. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10484. CASE
  10485. WHEN a.cCyddxMc = '装配'
  10486. OR a.cCyddxMc LIKE '%正文%'
  10487. OR a.cCyddxMc LIKE '%答案%'
  10488. OR a.cCyddxMc LIKE '%卷%'
  10489. THEN
  10490. CASE
  10491. WHEN CASE
  10492. WHEN IFNULL(d.fZls, 0) < rr.zl
  10493. THEN rr.zl
  10494. ELSE IFNULL(d.fZls, 0)
  10495. END = 0
  10496. THEN c.nzdls
  10497. ELSE (
  10498. CASE
  10499. WHEN c.nzdls <
  10500. CASE
  10501. WHEN IFNULL(d.fZls, 0) < rr.zl
  10502. THEN rr.zl
  10503. ELSE IFNULL(d.fZls, 0)
  10504. END
  10505. THEN
  10506. CASE
  10507. WHEN IFNULL(d.fZls, 0) < rr.zl
  10508. THEN rr.zl
  10509. ELSE IFNULL(d.fZls, 0)
  10510. END
  10511. ELSE c.nzdls
  10512. END
  10513. )
  10514. END
  10515. ELSE 0
  10516. END
  10517. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10518. END
  10519. END )
  10520. , 3) 马33甲纸令
  10521. ")
  10522. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10523. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10524. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10525. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10526. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10527. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10528. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  10529. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10530. ->group("CASE
  10531. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10532. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10533. END,Name_WorkGroup")
  10534. ->buildSql();
  10535. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  10536. ->field("
  10537. 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,
  10538. ROUND(SUM(
  10539. CASE
  10540. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10541. THEN
  10542. CASE
  10543. WHEN a.cCyddxMc = '装配'
  10544. OR a.cCyddxMc LIKE '%正文%'
  10545. OR a.cCyddxMc LIKE '%答案%'
  10546. OR a.cCyddxMc LIKE '%卷%'
  10547. THEN
  10548. CASE
  10549. WHEN CASE
  10550. WHEN IFNULL(d.fZls, 0) < rr.zl
  10551. THEN rr.zl
  10552. ELSE IFNULL(d.fZls, 0)
  10553. END = 0
  10554. THEN c.nzdls
  10555. ELSE (
  10556. CASE
  10557. WHEN c.nzdls <
  10558. CASE
  10559. WHEN IFNULL(d.fZls, 0) < rr.zl
  10560. THEN rr.zl
  10561. ELSE IFNULL(d.fZls, 0)
  10562. END
  10563. THEN
  10564. CASE
  10565. WHEN IFNULL(d.fZls, 0) < rr.zl
  10566. THEN rr.zl
  10567. ELSE IFNULL(d.fZls, 0)
  10568. END
  10569. ELSE c.nzdls
  10570. END
  10571. )
  10572. END
  10573. ELSE 0
  10574. END
  10575. ELSE
  10576. CASE
  10577. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10578. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10579. CASE
  10580. WHEN a.cCyddxMc = '装配'
  10581. OR a.cCyddxMc LIKE '%正文%'
  10582. OR a.cCyddxMc LIKE '%答案%'
  10583. OR a.cCyddxMc LIKE '%卷%'
  10584. THEN
  10585. CASE
  10586. WHEN CASE
  10587. WHEN IFNULL(d.fZls, 0) < rr.zl
  10588. THEN rr.zl
  10589. ELSE IFNULL(d.fZls, 0)
  10590. END = 0
  10591. THEN c.nzdls
  10592. ELSE (
  10593. CASE
  10594. WHEN c.nzdls <
  10595. CASE
  10596. WHEN IFNULL(d.fZls, 0) < rr.zl
  10597. THEN rr.zl
  10598. ELSE IFNULL(d.fZls, 0)
  10599. END
  10600. THEN
  10601. CASE
  10602. WHEN IFNULL(d.fZls, 0) < rr.zl
  10603. THEN rr.zl
  10604. ELSE IFNULL(d.fZls, 0)
  10605. END
  10606. ELSE c.nzdls
  10607. END
  10608. )
  10609. END
  10610. ELSE 0
  10611. END
  10612. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10613. END
  10614. END )
  10615. , 3) 马33乙纸令
  10616. ")
  10617. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10618. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10619. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10620. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10621. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10622. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10623. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  10624. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10625. ->group("CASE
  10626. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10627. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10628. END,Name_WorkGroup")
  10629. ->buildSql();
  10630. $HH = Db::table('ql_report_feedback_day')->alias('a')
  10631. ->field("
  10632. 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,
  10633. ROUND(SUM(
  10634. CASE
  10635. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10636. THEN
  10637. CASE
  10638. WHEN a.cCyddxMc = '装配'
  10639. OR a.cCyddxMc LIKE '%正文%'
  10640. OR a.cCyddxMc LIKE '%答案%'
  10641. OR a.cCyddxMc LIKE '%卷%'
  10642. THEN
  10643. CASE
  10644. WHEN CASE
  10645. WHEN IFNULL(d.fZls, 0) < rr.zl
  10646. THEN rr.zl
  10647. ELSE IFNULL(d.fZls, 0)
  10648. END = 0
  10649. THEN c.nzdls
  10650. ELSE (
  10651. CASE
  10652. WHEN c.nzdls <
  10653. CASE
  10654. WHEN IFNULL(d.fZls, 0) < rr.zl
  10655. THEN rr.zl
  10656. ELSE IFNULL(d.fZls, 0)
  10657. END
  10658. THEN
  10659. CASE
  10660. WHEN IFNULL(d.fZls, 0) < rr.zl
  10661. THEN rr.zl
  10662. ELSE IFNULL(d.fZls, 0)
  10663. END
  10664. ELSE c.nzdls
  10665. END
  10666. )
  10667. END
  10668. ELSE 0
  10669. END
  10670. ELSE
  10671. CASE
  10672. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10673. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10674. CASE
  10675. WHEN a.cCyddxMc = '装配'
  10676. OR a.cCyddxMc LIKE '%正文%'
  10677. OR a.cCyddxMc LIKE '%答案%'
  10678. OR a.cCyddxMc LIKE '%卷%'
  10679. THEN
  10680. CASE
  10681. WHEN CASE
  10682. WHEN IFNULL(d.fZls, 0) < rr.zl
  10683. THEN rr.zl
  10684. ELSE IFNULL(d.fZls, 0)
  10685. END = 0
  10686. THEN c.nzdls
  10687. ELSE (
  10688. CASE
  10689. WHEN c.nzdls <
  10690. CASE
  10691. WHEN IFNULL(d.fZls, 0) < rr.zl
  10692. THEN rr.zl
  10693. ELSE IFNULL(d.fZls, 0)
  10694. END
  10695. THEN
  10696. CASE
  10697. WHEN IFNULL(d.fZls, 0) < rr.zl
  10698. THEN rr.zl
  10699. ELSE IFNULL(d.fZls, 0)
  10700. END
  10701. ELSE c.nzdls
  10702. END
  10703. )
  10704. END
  10705. ELSE 0
  10706. END
  10707. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10708. END
  10709. END )
  10710. , 3) 马44甲纸令
  10711. ")
  10712. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10713. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10714. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10715. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10716. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10717. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10718. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  10719. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10720. ->group("CASE
  10721. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10722. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10723. END,Name_WorkGroup")
  10724. ->buildSql();
  10725. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  10726. ->field("
  10727. 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,
  10728. ROUND(SUM(
  10729. CASE
  10730. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10731. THEN
  10732. CASE
  10733. WHEN a.cCyddxMc = '装配'
  10734. OR a.cCyddxMc LIKE '%正文%'
  10735. OR a.cCyddxMc LIKE '%答案%'
  10736. OR a.cCyddxMc LIKE '%卷%'
  10737. THEN
  10738. CASE
  10739. WHEN CASE
  10740. WHEN IFNULL(d.fZls, 0) < rr.zl
  10741. THEN rr.zl
  10742. ELSE IFNULL(d.fZls, 0)
  10743. END = 0
  10744. THEN c.nzdls
  10745. ELSE (
  10746. CASE
  10747. WHEN c.nzdls <
  10748. CASE
  10749. WHEN IFNULL(d.fZls, 0) < rr.zl
  10750. THEN rr.zl
  10751. ELSE IFNULL(d.fZls, 0)
  10752. END
  10753. THEN
  10754. CASE
  10755. WHEN IFNULL(d.fZls, 0) < rr.zl
  10756. THEN rr.zl
  10757. ELSE IFNULL(d.fZls, 0)
  10758. END
  10759. ELSE c.nzdls
  10760. END
  10761. )
  10762. END
  10763. ELSE 0
  10764. END
  10765. ELSE
  10766. CASE
  10767. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10768. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10769. CASE
  10770. WHEN a.cCyddxMc = '装配'
  10771. OR a.cCyddxMc LIKE '%正文%'
  10772. OR a.cCyddxMc LIKE '%答案%'
  10773. OR a.cCyddxMc LIKE '%卷%'
  10774. THEN
  10775. CASE
  10776. WHEN CASE
  10777. WHEN IFNULL(d.fZls, 0) < rr.zl
  10778. THEN rr.zl
  10779. ELSE IFNULL(d.fZls, 0)
  10780. END = 0
  10781. THEN c.nzdls
  10782. ELSE (
  10783. CASE
  10784. WHEN c.nzdls <
  10785. CASE
  10786. WHEN IFNULL(d.fZls, 0) < rr.zl
  10787. THEN rr.zl
  10788. ELSE IFNULL(d.fZls, 0)
  10789. END
  10790. THEN
  10791. CASE
  10792. WHEN IFNULL(d.fZls, 0) < rr.zl
  10793. THEN rr.zl
  10794. ELSE IFNULL(d.fZls, 0)
  10795. END
  10796. ELSE c.nzdls
  10797. END
  10798. )
  10799. END
  10800. ELSE 0
  10801. END
  10802. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10803. END
  10804. END )
  10805. , 3) 马44乙纸令
  10806. ")
  10807. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10808. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10809. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10810. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10811. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10812. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10813. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  10814. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10815. ->group("CASE
  10816. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10817. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10818. END,Name_WorkGroup")
  10819. ->buildSql();
  10820. $XX = Db::table('ql_report_feedback_day')->alias('a')
  10821. ->field("
  10822. 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,
  10823. ROUND(SUM(
  10824. CASE
  10825. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10826. THEN
  10827. CASE
  10828. WHEN a.cCyddxMc = '装配'
  10829. OR a.cCyddxMc LIKE '%正文%'
  10830. OR a.cCyddxMc LIKE '%答案%'
  10831. OR a.cCyddxMc LIKE '%卷%'
  10832. THEN
  10833. CASE
  10834. WHEN CASE
  10835. WHEN IFNULL(d.fZls, 0) < rr.zl
  10836. THEN rr.zl
  10837. ELSE IFNULL(d.fZls, 0)
  10838. END = 0
  10839. THEN c.nzdls
  10840. ELSE (
  10841. CASE
  10842. WHEN c.nzdls <
  10843. CASE
  10844. WHEN IFNULL(d.fZls, 0) < rr.zl
  10845. THEN rr.zl
  10846. ELSE IFNULL(d.fZls, 0)
  10847. END
  10848. THEN
  10849. CASE
  10850. WHEN IFNULL(d.fZls, 0) < rr.zl
  10851. THEN rr.zl
  10852. ELSE IFNULL(d.fZls, 0)
  10853. END
  10854. ELSE c.nzdls
  10855. END
  10856. )
  10857. END
  10858. ELSE 0
  10859. END
  10860. ELSE
  10861. CASE
  10862. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10863. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10864. CASE
  10865. WHEN a.cCyddxMc = '装配'
  10866. OR a.cCyddxMc LIKE '%正文%'
  10867. OR a.cCyddxMc LIKE '%答案%'
  10868. OR a.cCyddxMc LIKE '%卷%'
  10869. THEN
  10870. CASE
  10871. WHEN CASE
  10872. WHEN IFNULL(d.fZls, 0) < rr.zl
  10873. THEN rr.zl
  10874. ELSE IFNULL(d.fZls, 0)
  10875. END = 0
  10876. THEN c.nzdls
  10877. ELSE (
  10878. CASE
  10879. WHEN c.nzdls <
  10880. CASE
  10881. WHEN IFNULL(d.fZls, 0) < rr.zl
  10882. THEN rr.zl
  10883. ELSE IFNULL(d.fZls, 0)
  10884. END
  10885. THEN
  10886. CASE
  10887. WHEN IFNULL(d.fZls, 0) < rr.zl
  10888. THEN rr.zl
  10889. ELSE IFNULL(d.fZls, 0)
  10890. END
  10891. ELSE c.nzdls
  10892. END
  10893. )
  10894. END
  10895. ELSE 0
  10896. END
  10897. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10898. END
  10899. END )
  10900. , 3) 马55甲纸令
  10901. ")
  10902. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10903. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10904. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  10905. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  10906. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  10907. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  10908. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  10909. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  10910. ->group("CASE
  10911. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  10912. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  10913. END,Name_WorkGroup")
  10914. ->buildSql();
  10915. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  10916. ->field("
  10917. 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,
  10918. ROUND(SUM(
  10919. CASE
  10920. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  10921. THEN
  10922. CASE
  10923. WHEN a.cCyddxMc = '装配'
  10924. OR a.cCyddxMc LIKE '%正文%'
  10925. OR a.cCyddxMc LIKE '%答案%'
  10926. OR a.cCyddxMc LIKE '%卷%'
  10927. THEN
  10928. CASE
  10929. WHEN CASE
  10930. WHEN IFNULL(d.fZls, 0) < rr.zl
  10931. THEN rr.zl
  10932. ELSE IFNULL(d.fZls, 0)
  10933. END = 0
  10934. THEN c.nzdls
  10935. ELSE (
  10936. CASE
  10937. WHEN c.nzdls <
  10938. CASE
  10939. WHEN IFNULL(d.fZls, 0) < rr.zl
  10940. THEN rr.zl
  10941. ELSE IFNULL(d.fZls, 0)
  10942. END
  10943. THEN
  10944. CASE
  10945. WHEN IFNULL(d.fZls, 0) < rr.zl
  10946. THEN rr.zl
  10947. ELSE IFNULL(d.fZls, 0)
  10948. END
  10949. ELSE c.nzdls
  10950. END
  10951. )
  10952. END
  10953. ELSE 0
  10954. END
  10955. ELSE
  10956. CASE
  10957. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  10958. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  10959. CASE
  10960. WHEN a.cCyddxMc = '装配'
  10961. OR a.cCyddxMc LIKE '%正文%'
  10962. OR a.cCyddxMc LIKE '%答案%'
  10963. OR a.cCyddxMc LIKE '%卷%'
  10964. THEN
  10965. CASE
  10966. WHEN CASE
  10967. WHEN IFNULL(d.fZls, 0) < rr.zl
  10968. THEN rr.zl
  10969. ELSE IFNULL(d.fZls, 0)
  10970. END = 0
  10971. THEN c.nzdls
  10972. ELSE (
  10973. CASE
  10974. WHEN c.nzdls <
  10975. CASE
  10976. WHEN IFNULL(d.fZls, 0) < rr.zl
  10977. THEN rr.zl
  10978. ELSE IFNULL(d.fZls, 0)
  10979. END
  10980. THEN
  10981. CASE
  10982. WHEN IFNULL(d.fZls, 0) < rr.zl
  10983. THEN rr.zl
  10984. ELSE IFNULL(d.fZls, 0)
  10985. END
  10986. ELSE c.nzdls
  10987. END
  10988. )
  10989. END
  10990. ELSE 0
  10991. END
  10992. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  10993. END
  10994. END )
  10995. , 3) 马66甲纸令
  10996. ")
  10997. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  10998. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  10999. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11000. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11001. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11002. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11003. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  11004. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11005. ->group("CASE
  11006. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11007. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11008. END,Name_WorkGroup")
  11009. ->buildSql();
  11010. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  11011. ->field("
  11012. 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,
  11013. ROUND(SUM(
  11014. CASE
  11015. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11016. THEN
  11017. CASE
  11018. WHEN a.cCyddxMc = '装配'
  11019. OR a.cCyddxMc LIKE '%正文%'
  11020. OR a.cCyddxMc LIKE '%答案%'
  11021. OR a.cCyddxMc LIKE '%卷%'
  11022. THEN
  11023. CASE
  11024. WHEN CASE
  11025. WHEN IFNULL(d.fZls, 0) < rr.zl
  11026. THEN rr.zl
  11027. ELSE IFNULL(d.fZls, 0)
  11028. END = 0
  11029. THEN c.nzdls
  11030. ELSE (
  11031. CASE
  11032. WHEN c.nzdls <
  11033. CASE
  11034. WHEN IFNULL(d.fZls, 0) < rr.zl
  11035. THEN rr.zl
  11036. ELSE IFNULL(d.fZls, 0)
  11037. END
  11038. THEN
  11039. CASE
  11040. WHEN IFNULL(d.fZls, 0) < rr.zl
  11041. THEN rr.zl
  11042. ELSE IFNULL(d.fZls, 0)
  11043. END
  11044. ELSE c.nzdls
  11045. END
  11046. )
  11047. END
  11048. ELSE 0
  11049. END
  11050. ELSE
  11051. CASE
  11052. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11053. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11054. CASE
  11055. WHEN a.cCyddxMc = '装配'
  11056. OR a.cCyddxMc LIKE '%正文%'
  11057. OR a.cCyddxMc LIKE '%答案%'
  11058. OR a.cCyddxMc LIKE '%卷%'
  11059. THEN
  11060. CASE
  11061. WHEN CASE
  11062. WHEN IFNULL(d.fZls, 0) < rr.zl
  11063. THEN rr.zl
  11064. ELSE IFNULL(d.fZls, 0)
  11065. END = 0
  11066. THEN c.nzdls
  11067. ELSE (
  11068. CASE
  11069. WHEN c.nzdls <
  11070. CASE
  11071. WHEN IFNULL(d.fZls, 0) < rr.zl
  11072. THEN rr.zl
  11073. ELSE IFNULL(d.fZls, 0)
  11074. END
  11075. THEN
  11076. CASE
  11077. WHEN IFNULL(d.fZls, 0) < rr.zl
  11078. THEN rr.zl
  11079. ELSE IFNULL(d.fZls, 0)
  11080. END
  11081. ELSE c.nzdls
  11082. END
  11083. )
  11084. END
  11085. ELSE 0
  11086. END
  11087. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11088. END
  11089. END )
  11090. , 3) 马77甲纸令
  11091. ")
  11092. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11093. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11094. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11095. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11096. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11097. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11098. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  11099. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11100. ->group("CASE
  11101. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11102. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11103. END,Name_WorkGroup")
  11104. ->buildSql();
  11105. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  11106. ->field("
  11107. 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,
  11108. ROUND(SUM(
  11109. CASE
  11110. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11111. THEN
  11112. CASE
  11113. WHEN a.cCyddxMc = '装配'
  11114. OR a.cCyddxMc LIKE '%正文%'
  11115. OR a.cCyddxMc LIKE '%答案%'
  11116. OR a.cCyddxMc LIKE '%卷%'
  11117. THEN
  11118. CASE
  11119. WHEN CASE
  11120. WHEN IFNULL(d.fZls, 0) < rr.zl
  11121. THEN rr.zl
  11122. ELSE IFNULL(d.fZls, 0)
  11123. END = 0
  11124. THEN c.nzdls
  11125. ELSE (
  11126. CASE
  11127. WHEN c.nzdls <
  11128. CASE
  11129. WHEN IFNULL(d.fZls, 0) < rr.zl
  11130. THEN rr.zl
  11131. ELSE IFNULL(d.fZls, 0)
  11132. END
  11133. THEN
  11134. CASE
  11135. WHEN IFNULL(d.fZls, 0) < rr.zl
  11136. THEN rr.zl
  11137. ELSE IFNULL(d.fZls, 0)
  11138. END
  11139. ELSE c.nzdls
  11140. END
  11141. )
  11142. END
  11143. ELSE 0
  11144. END
  11145. ELSE
  11146. CASE
  11147. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11148. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11149. CASE
  11150. WHEN a.cCyddxMc = '装配'
  11151. OR a.cCyddxMc LIKE '%正文%'
  11152. OR a.cCyddxMc LIKE '%答案%'
  11153. OR a.cCyddxMc LIKE '%卷%'
  11154. THEN
  11155. CASE
  11156. WHEN CASE
  11157. WHEN IFNULL(d.fZls, 0) < rr.zl
  11158. THEN rr.zl
  11159. ELSE IFNULL(d.fZls, 0)
  11160. END = 0
  11161. THEN c.nzdls
  11162. ELSE (
  11163. CASE
  11164. WHEN c.nzdls <
  11165. CASE
  11166. WHEN IFNULL(d.fZls, 0) < rr.zl
  11167. THEN rr.zl
  11168. ELSE IFNULL(d.fZls, 0)
  11169. END
  11170. THEN
  11171. CASE
  11172. WHEN IFNULL(d.fZls, 0) < rr.zl
  11173. THEN rr.zl
  11174. ELSE IFNULL(d.fZls, 0)
  11175. END
  11176. ELSE c.nzdls
  11177. END
  11178. )
  11179. END
  11180. ELSE 0
  11181. END
  11182. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11183. END
  11184. END )
  11185. , 3) 马88甲纸令
  11186. ")
  11187. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11188. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11189. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11190. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11191. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11192. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11193. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  11194. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11195. ->group("CASE
  11196. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11197. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11198. END,Name_WorkGroup")
  11199. ->buildSql();
  11200. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  11201. ->field("
  11202. 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,
  11203. ROUND(SUM(
  11204. CASE
  11205. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11206. THEN
  11207. CASE
  11208. WHEN a.cCyddxMc = '装配'
  11209. OR a.cCyddxMc LIKE '%正文%'
  11210. OR a.cCyddxMc LIKE '%答案%'
  11211. OR a.cCyddxMc LIKE '%卷%'
  11212. THEN
  11213. CASE
  11214. WHEN CASE
  11215. WHEN IFNULL(d.fZls, 0) < rr.zl
  11216. THEN rr.zl
  11217. ELSE IFNULL(d.fZls, 0)
  11218. END = 0
  11219. THEN c.nzdls
  11220. ELSE (
  11221. CASE
  11222. WHEN c.nzdls <
  11223. CASE
  11224. WHEN IFNULL(d.fZls, 0) < rr.zl
  11225. THEN rr.zl
  11226. ELSE IFNULL(d.fZls, 0)
  11227. END
  11228. THEN
  11229. CASE
  11230. WHEN IFNULL(d.fZls, 0) < rr.zl
  11231. THEN rr.zl
  11232. ELSE IFNULL(d.fZls, 0)
  11233. END
  11234. ELSE c.nzdls
  11235. END
  11236. )
  11237. END
  11238. ELSE 0
  11239. END
  11240. ELSE
  11241. CASE
  11242. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11243. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11244. CASE
  11245. WHEN a.cCyddxMc = '装配'
  11246. OR a.cCyddxMc LIKE '%正文%'
  11247. OR a.cCyddxMc LIKE '%答案%'
  11248. OR a.cCyddxMc LIKE '%卷%'
  11249. THEN
  11250. CASE
  11251. WHEN CASE
  11252. WHEN IFNULL(d.fZls, 0) < rr.zl
  11253. THEN rr.zl
  11254. ELSE IFNULL(d.fZls, 0)
  11255. END = 0
  11256. THEN c.nzdls
  11257. ELSE (
  11258. CASE
  11259. WHEN c.nzdls <
  11260. CASE
  11261. WHEN IFNULL(d.fZls, 0) < rr.zl
  11262. THEN rr.zl
  11263. ELSE IFNULL(d.fZls, 0)
  11264. END
  11265. THEN
  11266. CASE
  11267. WHEN IFNULL(d.fZls, 0) < rr.zl
  11268. THEN rr.zl
  11269. ELSE IFNULL(d.fZls, 0)
  11270. END
  11271. ELSE c.nzdls
  11272. END
  11273. )
  11274. END
  11275. ELSE 0
  11276. END
  11277. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11278. END
  11279. END )
  11280. , 3) 马88乙纸令
  11281. ")
  11282. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11283. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11284. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11285. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11286. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11287. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11288. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  11289. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11290. ->group("CASE
  11291. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11292. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11293. END,Name_WorkGroup")
  11294. ->buildSql();
  11295. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  11296. ->field("
  11297. 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,
  11298. ROUND(SUM(
  11299. CASE
  11300. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11301. THEN
  11302. CASE
  11303. WHEN a.cCyddxMc = '装配'
  11304. OR a.cCyddxMc LIKE '%正文%'
  11305. OR a.cCyddxMc LIKE '%答案%'
  11306. OR a.cCyddxMc LIKE '%卷%'
  11307. THEN
  11308. CASE
  11309. WHEN CASE
  11310. WHEN IFNULL(d.fZls, 0) < rr.zl
  11311. THEN rr.zl
  11312. ELSE IFNULL(d.fZls, 0)
  11313. END = 0
  11314. THEN c.nzdls
  11315. ELSE (
  11316. CASE
  11317. WHEN c.nzdls <
  11318. CASE
  11319. WHEN IFNULL(d.fZls, 0) < rr.zl
  11320. THEN rr.zl
  11321. ELSE IFNULL(d.fZls, 0)
  11322. END
  11323. THEN
  11324. CASE
  11325. WHEN IFNULL(d.fZls, 0) < rr.zl
  11326. THEN rr.zl
  11327. ELSE IFNULL(d.fZls, 0)
  11328. END
  11329. ELSE c.nzdls
  11330. END
  11331. )
  11332. END
  11333. ELSE 0
  11334. END
  11335. ELSE
  11336. CASE
  11337. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11338. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11339. CASE
  11340. WHEN a.cCyddxMc = '装配'
  11341. OR a.cCyddxMc LIKE '%正文%'
  11342. OR a.cCyddxMc LIKE '%答案%'
  11343. OR a.cCyddxMc LIKE '%卷%'
  11344. THEN
  11345. CASE
  11346. WHEN CASE
  11347. WHEN IFNULL(d.fZls, 0) < rr.zl
  11348. THEN rr.zl
  11349. ELSE IFNULL(d.fZls, 0)
  11350. END = 0
  11351. THEN c.nzdls
  11352. ELSE (
  11353. CASE
  11354. WHEN c.nzdls <
  11355. CASE
  11356. WHEN IFNULL(d.fZls, 0) < rr.zl
  11357. THEN rr.zl
  11358. ELSE IFNULL(d.fZls, 0)
  11359. END
  11360. THEN
  11361. CASE
  11362. WHEN IFNULL(d.fZls, 0) < rr.zl
  11363. THEN rr.zl
  11364. ELSE IFNULL(d.fZls, 0)
  11365. END
  11366. ELSE c.nzdls
  11367. END
  11368. )
  11369. END
  11370. ELSE 0
  11371. END
  11372. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11373. END
  11374. END )
  11375. , 3) 马55乙纸令
  11376. ")
  11377. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11378. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11379. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11380. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11381. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11382. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11383. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  11384. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11385. ->group("CASE
  11386. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11387. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11388. END,Name_WorkGroup")
  11389. ->buildSql();
  11390. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  11391. ->field("
  11392. 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,
  11393. ROUND(SUM(
  11394. CASE
  11395. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11396. THEN
  11397. CASE
  11398. WHEN a.cCyddxMc = '装配'
  11399. OR a.cCyddxMc LIKE '%正文%'
  11400. OR a.cCyddxMc LIKE '%答案%'
  11401. OR a.cCyddxMc LIKE '%卷%'
  11402. THEN
  11403. CASE
  11404. WHEN CASE
  11405. WHEN IFNULL(d.fZls, 0) < rr.zl
  11406. THEN rr.zl
  11407. ELSE IFNULL(d.fZls, 0)
  11408. END = 0
  11409. THEN c.nzdls
  11410. ELSE (
  11411. CASE
  11412. WHEN c.nzdls <
  11413. CASE
  11414. WHEN IFNULL(d.fZls, 0) < rr.zl
  11415. THEN rr.zl
  11416. ELSE IFNULL(d.fZls, 0)
  11417. END
  11418. THEN
  11419. CASE
  11420. WHEN IFNULL(d.fZls, 0) < rr.zl
  11421. THEN rr.zl
  11422. ELSE IFNULL(d.fZls, 0)
  11423. END
  11424. ELSE c.nzdls
  11425. END
  11426. )
  11427. END
  11428. ELSE 0
  11429. END
  11430. ELSE
  11431. CASE
  11432. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11433. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11434. CASE
  11435. WHEN a.cCyddxMc = '装配'
  11436. OR a.cCyddxMc LIKE '%正文%'
  11437. OR a.cCyddxMc LIKE '%答案%'
  11438. OR a.cCyddxMc LIKE '%卷%'
  11439. THEN
  11440. CASE
  11441. WHEN CASE
  11442. WHEN IFNULL(d.fZls, 0) < rr.zl
  11443. THEN rr.zl
  11444. ELSE IFNULL(d.fZls, 0)
  11445. END = 0
  11446. THEN c.nzdls
  11447. ELSE (
  11448. CASE
  11449. WHEN c.nzdls <
  11450. CASE
  11451. WHEN IFNULL(d.fZls, 0) < rr.zl
  11452. THEN rr.zl
  11453. ELSE IFNULL(d.fZls, 0)
  11454. END
  11455. THEN
  11456. CASE
  11457. WHEN IFNULL(d.fZls, 0) < rr.zl
  11458. THEN rr.zl
  11459. ELSE IFNULL(d.fZls, 0)
  11460. END
  11461. ELSE c.nzdls
  11462. END
  11463. )
  11464. END
  11465. ELSE 0
  11466. END
  11467. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11468. END
  11469. END )
  11470. , 3) 马66乙纸令
  11471. ")
  11472. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11473. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11474. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11475. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11476. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11477. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11478. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  11479. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11480. ->group("CASE
  11481. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11482. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11483. END,Name_WorkGroup")
  11484. ->buildSql();
  11485. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  11486. ->field("
  11487. 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,
  11488. ROUND(SUM(
  11489. CASE
  11490. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11491. THEN
  11492. CASE
  11493. WHEN a.cCyddxMc = '装配'
  11494. OR a.cCyddxMc LIKE '%正文%'
  11495. OR a.cCyddxMc LIKE '%答案%'
  11496. OR a.cCyddxMc LIKE '%卷%'
  11497. THEN
  11498. CASE
  11499. WHEN CASE
  11500. WHEN IFNULL(d.fZls, 0) < rr.zl
  11501. THEN rr.zl
  11502. ELSE IFNULL(d.fZls, 0)
  11503. END = 0
  11504. THEN c.nzdls
  11505. ELSE (
  11506. CASE
  11507. WHEN c.nzdls <
  11508. CASE
  11509. WHEN IFNULL(d.fZls, 0) < rr.zl
  11510. THEN rr.zl
  11511. ELSE IFNULL(d.fZls, 0)
  11512. END
  11513. THEN
  11514. CASE
  11515. WHEN IFNULL(d.fZls, 0) < rr.zl
  11516. THEN rr.zl
  11517. ELSE IFNULL(d.fZls, 0)
  11518. END
  11519. ELSE c.nzdls
  11520. END
  11521. )
  11522. END
  11523. ELSE 0
  11524. END
  11525. ELSE
  11526. CASE
  11527. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11528. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11529. CASE
  11530. WHEN a.cCyddxMc = '装配'
  11531. OR a.cCyddxMc LIKE '%正文%'
  11532. OR a.cCyddxMc LIKE '%答案%'
  11533. OR a.cCyddxMc LIKE '%卷%'
  11534. THEN
  11535. CASE
  11536. WHEN CASE
  11537. WHEN IFNULL(d.fZls, 0) < rr.zl
  11538. THEN rr.zl
  11539. ELSE IFNULL(d.fZls, 0)
  11540. END = 0
  11541. THEN c.nzdls
  11542. ELSE (
  11543. CASE
  11544. WHEN c.nzdls <
  11545. CASE
  11546. WHEN IFNULL(d.fZls, 0) < rr.zl
  11547. THEN rr.zl
  11548. ELSE IFNULL(d.fZls, 0)
  11549. END
  11550. THEN
  11551. CASE
  11552. WHEN IFNULL(d.fZls, 0) < rr.zl
  11553. THEN rr.zl
  11554. ELSE IFNULL(d.fZls, 0)
  11555. END
  11556. ELSE c.nzdls
  11557. END
  11558. )
  11559. END
  11560. ELSE 0
  11561. END
  11562. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11563. END
  11564. END )
  11565. , 3) 马77乙纸令
  11566. ")
  11567. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11568. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11569. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11570. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11571. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11572. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11573. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  11574. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  11575. ->group("CASE
  11576. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11577. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11578. END,Name_WorkGroup")
  11579. ->buildSql();
  11580. //DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  11581. $db = Db::table($A . 'a')
  11582. ->field("
  11583. DISTINCT DATE(A.RQ) rq,
  11584. floor(IFNULL(sum(b.马1甲纸令数), 0) + IFNULL(sum(b1.马1乙纸令数), 0)
  11585. + IFNULL(sum(C.马2甲纸令数), 0) + IFNULL(sum(C1.马2乙纸令数), 0)
  11586. + IFNULL(sum(D.马3甲纸令数), 0) + IFNULL(sum(D1.马3乙纸令数), 0)
  11587. + IFNULL(sum(E.马4甲纸令数), 0) + IFNULL(sum(E1.马4乙纸令数), 0)
  11588. + IFNULL(sum(f.马5甲纸令数), 0) + IFNULL(sum(f1.马5乙纸令数), 0)
  11589. + IFNULL(sum(Bb.马11甲纸令), 0) + IFNULL(sum(cc.马22甲纸令), 0)
  11590. + IFNULL(sum(ee.马33甲纸令), 0) + IFNULL(sum(hh.马44甲纸令), 0)
  11591. + IFNULL(sum(xx.马55甲纸令), 0) + IFNULL(sum(Bb1.马11乙纸令), 0)
  11592. + IFNULL(sum(cc1.马22乙纸令), 0) + IFNULL(sum(ee1.马33乙纸令), 0)
  11593. + IFNULL(sum(hh1.马44乙纸令), 0) + IFNULL(sum(xx1.马55乙纸令), 0)
  11594. + IFNULL(sum(xx2.马66乙纸令), 0) + IFNULL(sum(xx3.马77乙纸令), 0)
  11595. + IFNULL(sum(JDJ4.马88甲纸令), 0) + IFNULL(sum(JDY4.马88乙纸令), 0)
  11596. + IFNULL(sum(xxx2.马66甲纸令), 0) + IFNULL(sum(xxx3.马77甲纸令), 0)) 纸令数总计
  11597. ")
  11598. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11599. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11600. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  11601. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  11602. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  11603. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  11604. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  11605. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  11606. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  11607. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  11608. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11609. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11610. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  11611. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  11612. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  11613. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  11614. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  11615. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  11616. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  11617. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  11618. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  11619. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  11620. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  11621. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  11622. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  11623. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  11624. ->group('rq')
  11625. ->buildSql();
  11626. //按每个月进行查询 累计相加每月数据 ROUND(SUM( db.纸令数总计 )) AS '无线胶订纸令'
  11627. $sql_final = Db::table($db . ' db')
  11628. ->field("
  11629. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11630. ROUND(SUM(db.纸令数总计), 0) AS jdzl
  11631. ")
  11632. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11633. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11634. ->select();
  11635. // 初始化数据
  11636. $i = 0;
  11637. $j = 0;
  11638. $k = 0;
  11639. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11640. $currentYear = date("Y"); // 当前年份
  11641. $previousYear = (int)$currentYear - 1; // 去年
  11642. $previousTwoYear = (int)$currentYear - 2; // 前年
  11643. // 为三年的数据创建数组,初始值为0
  11644. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11645. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11646. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11647. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11648. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11649. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11650. // 遍历查询结果并填充数据
  11651. foreach ($sql_final as $v) {
  11652. // 获取年份和月份
  11653. $year = substr($v['rq'], 0, 4);
  11654. $month = substr($v['rq'], 5, 2);
  11655. // 如果是前年数据
  11656. if ($year == $previousTwoYear) {
  11657. $list['series'][0]['data'][(int)$month - 1] = $v['jdzl'];
  11658. }
  11659. // 如果是去年数据
  11660. if ($year == $previousYear) {
  11661. $list['series'][1]['data'][(int)$month - 1] = $v['jdzl'];
  11662. }
  11663. // 如果是今年数据
  11664. if ($year == $currentYear) {
  11665. $list['series'][2]['data'][(int)$month - 1] = $v['jdzl'];
  11666. }
  11667. }
  11668. $res['status'] = 0;
  11669. $res['msg'] = '';
  11670. $res['data'] = $list;
  11671. $redis->set($redis_key, json_encode($res));
  11672. return json_encode($res);
  11673. }
  11674. //胶订纸令->接口调用
  11675. public function jdzl(){
  11676. $redis=redis();
  11677. $redis_key = md5('jdzl_redis');
  11678. $redis_data = $redis->get($redis_key);
  11679. return $redis_data;
  11680. }
  11681. //精装纸令->缓存调用
  11682. public function jzzl_redis(){
  11683. $redis=redis();
  11684. $redis_key = md5('jzzl_redis');
  11685. //首先定义了起始时间和结束时间
  11686. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11687. ->union(function ($query) {
  11688. $query->table('scDayRpt_Teams')->alias('b')
  11689. ->field("DISTINCT DATE_FORMAT(
  11690. CASE
  11691. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  11692. ELSE b.dOnDuty
  11693. END,
  11694. '%Y-%m-%d'
  11695. ) AS RQ");
  11696. }, true)
  11697. ->buildSql();
  11698. //精1甲、精1甲纸令数
  11699. $B = Db::table('cpjtfk')
  11700. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11701. ->field("
  11702. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11703. sum(mcyd.NZWyz * iWCl / 1000) as 精1甲纸令数
  11704. ")
  11705. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  11706. ->group('drptdate,cbanzu')
  11707. ->buildSql();
  11708. //精1乙 精1乙纸令数
  11709. $B1 = Db::table('cpjtfk')
  11710. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  11711. ->field("
  11712. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  11713. sum(mcyd.NZWyz * iWCl / 1000) as 精1乙纸令数
  11714. ")
  11715. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  11716. ->group('drptdate,cbanzu')
  11717. ->buildSql();
  11718. $rr = Db::table('scyddx')->alias('r')
  11719. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  11720. ->group('r.ICYDID')
  11721. ->buildSql();
  11722. //精11甲--精11甲纸令
  11723. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  11724. ->field("
  11725. 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,
  11726. ROUND(SUM(
  11727. CASE
  11728. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11729. THEN
  11730. CASE
  11731. WHEN a.cCyddxMc = '装配'
  11732. OR a.cCyddxMc LIKE '%正文%'
  11733. OR a.cCyddxMc LIKE '%答案%'
  11734. OR a.cCyddxMc LIKE '%卷%'
  11735. THEN
  11736. CASE
  11737. WHEN CASE
  11738. WHEN IFNULL(d.fZls, 0) < rr.zl
  11739. THEN rr.zl
  11740. ELSE IFNULL(d.fZls, 0)
  11741. END = 0
  11742. THEN c.nzdls
  11743. ELSE (
  11744. CASE
  11745. WHEN c.nzdls <
  11746. CASE
  11747. WHEN IFNULL(d.fZls, 0) < rr.zl
  11748. THEN rr.zl
  11749. ELSE IFNULL(d.fZls, 0)
  11750. END
  11751. THEN
  11752. CASE
  11753. WHEN IFNULL(d.fZls, 0) < rr.zl
  11754. THEN rr.zl
  11755. ELSE IFNULL(d.fZls, 0)
  11756. END
  11757. ELSE c.nzdls
  11758. END
  11759. )
  11760. END
  11761. ELSE 0
  11762. END
  11763. ELSE
  11764. CASE
  11765. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11766. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11767. CASE
  11768. WHEN a.cCyddxMc = '装配'
  11769. OR a.cCyddxMc LIKE '%正文%'
  11770. OR a.cCyddxMc LIKE '%答案%'
  11771. OR a.cCyddxMc LIKE '%卷%'
  11772. THEN
  11773. CASE
  11774. WHEN CASE
  11775. WHEN IFNULL(d.fZls, 0) < rr.zl
  11776. THEN rr.zl
  11777. ELSE IFNULL(d.fZls, 0)
  11778. END = 0
  11779. THEN c.nzdls
  11780. ELSE (
  11781. CASE
  11782. WHEN c.nzdls <
  11783. CASE
  11784. WHEN IFNULL(d.fZls, 0) < rr.zl
  11785. THEN rr.zl
  11786. ELSE IFNULL(d.fZls, 0)
  11787. END
  11788. THEN
  11789. CASE
  11790. WHEN IFNULL(d.fZls, 0) < rr.zl
  11791. THEN rr.zl
  11792. ELSE IFNULL(d.fZls, 0)
  11793. END
  11794. ELSE c.nzdls
  11795. END
  11796. )
  11797. END
  11798. ELSE 0
  11799. END
  11800. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11801. END
  11802. END )
  11803. , 3) 精11甲纸令,
  11804. d.cSccpbh
  11805. ")
  11806. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11807. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11808. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11809. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11810. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11811. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11812. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  11813. ->where('a.cTechName' ,'=','精装联动')
  11814. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11815. ->group("CASE
  11816. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11817. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11818. END,Name_WorkGroup")
  11819. ->buildSql();
  11820. //精11乙--精11乙纸令
  11821. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  11822. ->field("
  11823. 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,
  11824. ROUND(SUM(
  11825. CASE
  11826. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  11827. THEN
  11828. CASE
  11829. WHEN a.cCyddxMc = '装配'
  11830. OR a.cCyddxMc LIKE '%正文%'
  11831. OR a.cCyddxMc LIKE '%答案%'
  11832. OR a.cCyddxMc LIKE '%卷%'
  11833. THEN
  11834. CASE
  11835. WHEN CASE
  11836. WHEN IFNULL(d.fZls, 0) < rr.zl
  11837. THEN rr.zl
  11838. ELSE IFNULL(d.fZls, 0)
  11839. END = 0
  11840. THEN c.nzdls
  11841. ELSE (
  11842. CASE
  11843. WHEN c.nzdls <
  11844. CASE
  11845. WHEN IFNULL(d.fZls, 0) < rr.zl
  11846. THEN rr.zl
  11847. ELSE IFNULL(d.fZls, 0)
  11848. END
  11849. THEN
  11850. CASE
  11851. WHEN IFNULL(d.fZls, 0) < rr.zl
  11852. THEN rr.zl
  11853. ELSE IFNULL(d.fZls, 0)
  11854. END
  11855. ELSE c.nzdls
  11856. END
  11857. )
  11858. END
  11859. ELSE 0
  11860. END
  11861. ELSE
  11862. CASE
  11863. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  11864. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  11865. CASE
  11866. WHEN a.cCyddxMc = '装配'
  11867. OR a.cCyddxMc LIKE '%正文%'
  11868. OR a.cCyddxMc LIKE '%答案%'
  11869. OR a.cCyddxMc LIKE '%卷%'
  11870. THEN
  11871. CASE
  11872. WHEN CASE
  11873. WHEN IFNULL(d.fZls, 0) < rr.zl
  11874. THEN rr.zl
  11875. ELSE IFNULL(d.fZls, 0)
  11876. END = 0
  11877. THEN c.nzdls
  11878. ELSE (
  11879. CASE
  11880. WHEN c.nzdls <
  11881. CASE
  11882. WHEN IFNULL(d.fZls, 0) < rr.zl
  11883. THEN rr.zl
  11884. ELSE IFNULL(d.fZls, 0)
  11885. END
  11886. THEN
  11887. CASE
  11888. WHEN IFNULL(d.fZls, 0) < rr.zl
  11889. THEN rr.zl
  11890. ELSE IFNULL(d.fZls, 0)
  11891. END
  11892. ELSE c.nzdls
  11893. END
  11894. )
  11895. END
  11896. ELSE 0
  11897. END
  11898. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  11899. END
  11900. END )
  11901. , 3) 精11乙纸令,
  11902. d.cSccpbh
  11903. ")
  11904. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  11905. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  11906. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  11907. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  11908. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  11909. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  11910. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  11911. ->where('a.cTechName' ,'=','精装联动')
  11912. ->whereNotIn('d.cSccpbh', ['202305137S-D01', '202305176S-D01'])
  11913. ->group("CASE
  11914. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  11915. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  11916. END,Name_WorkGroup")
  11917. ->buildSql();
  11918. $db = Db::table($A . 'a')
  11919. ->field("
  11920. DISTINCT DATE(A.RQ) rq,
  11921. floor(IFNULL(sum(b.精1甲纸令数), 0) + IFNULL(sum(b1.精1乙纸令数), 0)
  11922. + IFNULL(sum(Bb.精11甲纸令), 0) + IFNULL(sum(Bb1.精11乙纸令), 0)) 纸令数总计
  11923. ")
  11924. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  11925. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  11926. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  11927. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  11928. ->group('rq')
  11929. ->buildSql();
  11930. $sql_final = Db::table($db . ' db')
  11931. ->field("
  11932. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  11933. ROUND(sum(db.纸令数总计), 0) as jzzl
  11934. ")
  11935. ->where("db.RQ >= '{$this->qianstart_time()}'AND db.RQ <= '{$this->end_time()}' ")
  11936. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  11937. ->select();
  11938. $redis->set($redis_key, json_encode($sql_final));
  11939. echo date("Y-m-d H:i:s").' 存进去了';
  11940. return $sql_final;
  11941. }
  11942. //精装纸令->接口调用
  11943. public function jzzl(){
  11944. $redis=redis();
  11945. $sql_final = json_decode($redis->get(md5('jzzl_redis')), true);
  11946. $i = 0;
  11947. $j = 0;
  11948. $k = 0;
  11949. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  11950. // 获取当前年份、去年和前年
  11951. $currentYear = date("Y"); // 当前年份
  11952. $previousYear = (int)$currentYear - 1; // 去年
  11953. $previousTwoYear = (int)$currentYear - 2; // 前年
  11954. // 初始化三年的数据
  11955. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  11956. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11957. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  11958. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  11959. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  11960. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  11961. // 遍历查询结果并填充数据
  11962. foreach ($sql_final as $v) {
  11963. // 获取年份和月份
  11964. $year = substr($v['rq'], 0, 4);
  11965. $month = substr($v['rq'], 5, 2);
  11966. // 如果是前年数据
  11967. if ($year == $previousTwoYear) {
  11968. $list['series'][0]['data'][(int)$month - 1] = $v['jzzl'];
  11969. }
  11970. // 如果是去年数据
  11971. if ($year == $previousYear) {
  11972. $list['series'][1]['data'][(int)$month - 1] = $v['jzzl'];
  11973. }
  11974. // 如果是今年数据
  11975. if ($year == $currentYear) {
  11976. $list['series'][2]['data'][(int)$month - 1] = $v['jzzl'];
  11977. }
  11978. }
  11979. $res['status'] = 0;
  11980. $res['msg'] = '';
  11981. $res['data'] = $list;
  11982. return json_encode($res);
  11983. }
  11984. //骑马纸令->缓存调用
  11985. public function qmzl_redis(){
  11986. $redis=redis();
  11987. $redis_key = md5('qmzl_redis');
  11988. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  11989. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  11990. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  11991. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  11992. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  11993. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  11994. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  11995. ->union(function ($query) {
  11996. $query->table('scDayRpt_Teams')->alias('b')
  11997. ->field("DISTINCT DATE_FORMAT(
  11998. CASE
  11999. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12000. ELSE b.dOnDuty
  12001. END,
  12002. '%Y-%m-%d'
  12003. ) AS RQ");
  12004. }, true)
  12005. ->buildSql();
  12006. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  12007. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  12008. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  12009. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  12010. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  12011. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  12012. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  12013. $B = Db::table('cpjtfk')
  12014. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12015. ->field("
  12016. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12017. sum(mcyd.NZWyz * iWCl / 1000) as 骑1甲纸令数
  12018. ")
  12019. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  12020. ->group('drptdate,cbanzu')
  12021. ->buildSql();
  12022. $B1 = Db::table('cpjtfk')
  12023. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12024. ->field("
  12025. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12026. sum(mcyd.NZWyz * iWCl / 1000) as 骑1乙纸令数
  12027. ")
  12028. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  12029. ->group('drptdate,cbanzu')
  12030. ->buildSql();
  12031. $C = Db::table('cpjtfk')
  12032. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12033. ->field("
  12034. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12035. sum(mcyd.NZWyz * iWCl / 1000) as 骑2甲纸令数
  12036. ")
  12037. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  12038. ->group('drptdate,cbanzu')
  12039. ->buildSql();
  12040. $C1 = Db::table('cpjtfk')
  12041. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12042. ->field("
  12043. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12044. sum(mcyd.NZWyz * iWCl / 1000) as 骑2乙纸令数
  12045. ")
  12046. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  12047. ->group('drptdate,cbanzu')
  12048. ->buildSql();
  12049. $D = Db::table('cpjtfk')
  12050. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12051. ->field("
  12052. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12053. sum(mcyd.NZWyz * iWCl / 1000) as 骑3甲纸令数
  12054. ")
  12055. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  12056. ->group('drptdate,cbanzu')
  12057. ->buildSql();
  12058. $D1 = Db::table('cpjtfk')
  12059. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12060. ->field("
  12061. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12062. sum(mcyd.NZWyz * iWCl / 1000) as 骑3乙纸令数
  12063. ")
  12064. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  12065. ->group('drptdate,cbanzu')
  12066. ->buildSql();
  12067. $E = Db::table('cpjtfk')
  12068. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12069. ->field("
  12070. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12071. sum(mcyd.NZWyz * iWCl / 1000) as 骑4甲纸令数
  12072. ")
  12073. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  12074. ->group('drptdate,cbanzu')
  12075. ->buildSql();
  12076. $E1 = Db::table('cpjtfk')
  12077. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12078. ->field("
  12079. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12080. sum(mcyd.NZWyz * iWCl / 1000) as 骑4乙纸令数
  12081. ")
  12082. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  12083. ->group('drptdate,cbanzu')
  12084. ->buildSql();
  12085. $rr = Db::table('scyddx')->alias('r')
  12086. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  12087. ->group('r.ICYDID')
  12088. ->buildSql();
  12089. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  12090. //2.使用别名$Bb表示主查询结果。
  12091. //3.查询的主要数据来源是表ql_report_feedback_day。
  12092. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  12093. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  12094. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  12095. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  12096. //8.通过buildSql方法生成最终的SQL查询语句
  12097. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  12098. ->field("
  12099. 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,
  12100. ROUND(SUM(
  12101. CASE
  12102. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12103. THEN
  12104. CASE
  12105. WHEN a.cCyddxMc = '装配'
  12106. OR a.cCyddxMc LIKE '%正文%'
  12107. OR a.cCyddxMc LIKE '%答案%'
  12108. OR a.cCyddxMc LIKE '%卷%'
  12109. THEN
  12110. CASE
  12111. WHEN CASE
  12112. WHEN IFNULL(d.fZls, 0) < rr.zl
  12113. THEN rr.zl
  12114. ELSE IFNULL(d.fZls, 0)
  12115. END = 0
  12116. THEN c.nzdls
  12117. ELSE (
  12118. CASE
  12119. WHEN c.nzdls <
  12120. CASE
  12121. WHEN IFNULL(d.fZls, 0) < rr.zl
  12122. THEN rr.zl
  12123. ELSE IFNULL(d.fZls, 0)
  12124. END
  12125. THEN
  12126. CASE
  12127. WHEN IFNULL(d.fZls, 0) < rr.zl
  12128. THEN rr.zl
  12129. ELSE IFNULL(d.fZls, 0)
  12130. END
  12131. ELSE c.nzdls
  12132. END
  12133. )
  12134. END
  12135. ELSE 0
  12136. END
  12137. ELSE
  12138. CASE
  12139. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12140. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12141. CASE
  12142. WHEN a.cCyddxMc = '装配'
  12143. OR a.cCyddxMc LIKE '%正文%'
  12144. OR a.cCyddxMc LIKE '%答案%'
  12145. OR a.cCyddxMc LIKE '%卷%'
  12146. THEN
  12147. CASE
  12148. WHEN CASE
  12149. WHEN IFNULL(d.fZls, 0) < rr.zl
  12150. THEN rr.zl
  12151. ELSE IFNULL(d.fZls, 0)
  12152. END = 0
  12153. THEN c.nzdls
  12154. ELSE (
  12155. CASE
  12156. WHEN c.nzdls <
  12157. CASE
  12158. WHEN IFNULL(d.fZls, 0) < rr.zl
  12159. THEN rr.zl
  12160. ELSE IFNULL(d.fZls, 0)
  12161. END
  12162. THEN
  12163. CASE
  12164. WHEN IFNULL(d.fZls, 0) < rr.zl
  12165. THEN rr.zl
  12166. ELSE IFNULL(d.fZls, 0)
  12167. END
  12168. ELSE c.nzdls
  12169. END
  12170. )
  12171. END
  12172. ELSE 0
  12173. END
  12174. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12175. END
  12176. END )
  12177. , 3) 骑11甲纸令
  12178. ")
  12179. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12180. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12181. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12182. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12183. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12184. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12185. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  12186. ->where('a.cTechName' ,'=','骑马联动')
  12187. ->group("CASE
  12188. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12189. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12190. END,Name_WorkGroup")
  12191. ->buildSql();
  12192. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  12193. ->field("
  12194. 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,
  12195. ROUND(SUM(
  12196. CASE
  12197. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12198. THEN
  12199. CASE
  12200. WHEN a.cCyddxMc = '装配'
  12201. OR a.cCyddxMc LIKE '%正文%'
  12202. OR a.cCyddxMc LIKE '%答案%'
  12203. OR a.cCyddxMc LIKE '%卷%'
  12204. THEN
  12205. CASE
  12206. WHEN CASE
  12207. WHEN IFNULL(d.fZls, 0) < rr.zl
  12208. THEN rr.zl
  12209. ELSE IFNULL(d.fZls, 0)
  12210. END = 0
  12211. THEN c.nzdls
  12212. ELSE (
  12213. CASE
  12214. WHEN c.nzdls <
  12215. CASE
  12216. WHEN IFNULL(d.fZls, 0) < rr.zl
  12217. THEN rr.zl
  12218. ELSE IFNULL(d.fZls, 0)
  12219. END
  12220. THEN
  12221. CASE
  12222. WHEN IFNULL(d.fZls, 0) < rr.zl
  12223. THEN rr.zl
  12224. ELSE IFNULL(d.fZls, 0)
  12225. END
  12226. ELSE c.nzdls
  12227. END
  12228. )
  12229. END
  12230. ELSE 0
  12231. END
  12232. ELSE
  12233. CASE
  12234. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12235. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12236. CASE
  12237. WHEN a.cCyddxMc = '装配'
  12238. OR a.cCyddxMc LIKE '%正文%'
  12239. OR a.cCyddxMc LIKE '%答案%'
  12240. OR a.cCyddxMc LIKE '%卷%'
  12241. THEN
  12242. CASE
  12243. WHEN CASE
  12244. WHEN IFNULL(d.fZls, 0) < rr.zl
  12245. THEN rr.zl
  12246. ELSE IFNULL(d.fZls, 0)
  12247. END = 0
  12248. THEN c.nzdls
  12249. ELSE (
  12250. CASE
  12251. WHEN c.nzdls <
  12252. CASE
  12253. WHEN IFNULL(d.fZls, 0) < rr.zl
  12254. THEN rr.zl
  12255. ELSE IFNULL(d.fZls, 0)
  12256. END
  12257. THEN
  12258. CASE
  12259. WHEN IFNULL(d.fZls, 0) < rr.zl
  12260. THEN rr.zl
  12261. ELSE IFNULL(d.fZls, 0)
  12262. END
  12263. ELSE c.nzdls
  12264. END
  12265. )
  12266. END
  12267. ELSE 0
  12268. END
  12269. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12270. END
  12271. END )
  12272. , 3) 骑11乙纸令
  12273. ")
  12274. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12275. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12276. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12277. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12278. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12279. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12280. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  12281. ->where('a.cTechName' ,'=','骑马联动')
  12282. ->group("CASE
  12283. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12284. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12285. END,Name_WorkGroup")
  12286. ->buildSql();
  12287. $CC = Db::table('ql_report_feedback_day')->alias('a')
  12288. ->field("
  12289. 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,
  12290. ROUND(SUM(
  12291. CASE
  12292. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12293. THEN
  12294. CASE
  12295. WHEN a.cCyddxMc = '装配'
  12296. OR a.cCyddxMc LIKE '%正文%'
  12297. OR a.cCyddxMc LIKE '%答案%'
  12298. OR a.cCyddxMc LIKE '%卷%'
  12299. THEN
  12300. CASE
  12301. WHEN CASE
  12302. WHEN IFNULL(d.fZls, 0) < rr.zl
  12303. THEN rr.zl
  12304. ELSE IFNULL(d.fZls, 0)
  12305. END = 0
  12306. THEN c.nzdls
  12307. ELSE (
  12308. CASE
  12309. WHEN c.nzdls <
  12310. CASE
  12311. WHEN IFNULL(d.fZls, 0) < rr.zl
  12312. THEN rr.zl
  12313. ELSE IFNULL(d.fZls, 0)
  12314. END
  12315. THEN
  12316. CASE
  12317. WHEN IFNULL(d.fZls, 0) < rr.zl
  12318. THEN rr.zl
  12319. ELSE IFNULL(d.fZls, 0)
  12320. END
  12321. ELSE c.nzdls
  12322. END
  12323. )
  12324. END
  12325. ELSE 0
  12326. END
  12327. ELSE
  12328. CASE
  12329. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12330. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12331. CASE
  12332. WHEN a.cCyddxMc = '装配'
  12333. OR a.cCyddxMc LIKE '%正文%'
  12334. OR a.cCyddxMc LIKE '%答案%'
  12335. OR a.cCyddxMc LIKE '%卷%'
  12336. THEN
  12337. CASE
  12338. WHEN CASE
  12339. WHEN IFNULL(d.fZls, 0) < rr.zl
  12340. THEN rr.zl
  12341. ELSE IFNULL(d.fZls, 0)
  12342. END = 0
  12343. THEN c.nzdls
  12344. ELSE (
  12345. CASE
  12346. WHEN c.nzdls <
  12347. CASE
  12348. WHEN IFNULL(d.fZls, 0) < rr.zl
  12349. THEN rr.zl
  12350. ELSE IFNULL(d.fZls, 0)
  12351. END
  12352. THEN
  12353. CASE
  12354. WHEN IFNULL(d.fZls, 0) < rr.zl
  12355. THEN rr.zl
  12356. ELSE IFNULL(d.fZls, 0)
  12357. END
  12358. ELSE c.nzdls
  12359. END
  12360. )
  12361. END
  12362. ELSE 0
  12363. END
  12364. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12365. END
  12366. END )
  12367. , 3) 骑22甲纸令
  12368. ")
  12369. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12370. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12371. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12372. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12373. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12374. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12375. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  12376. ->where('a.cTechName' ,'=','骑马联动')
  12377. ->group("CASE
  12378. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12379. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12380. END,Name_WorkGroup")
  12381. ->buildSql();
  12382. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  12383. ->field("
  12384. 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,
  12385. ROUND(SUM(
  12386. CASE
  12387. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12388. THEN
  12389. CASE
  12390. WHEN a.cCyddxMc = '装配'
  12391. OR a.cCyddxMc LIKE '%正文%'
  12392. OR a.cCyddxMc LIKE '%答案%'
  12393. OR a.cCyddxMc LIKE '%卷%'
  12394. THEN
  12395. CASE
  12396. WHEN CASE
  12397. WHEN IFNULL(d.fZls, 0) < rr.zl
  12398. THEN rr.zl
  12399. ELSE IFNULL(d.fZls, 0)
  12400. END = 0
  12401. THEN c.nzdls
  12402. ELSE (
  12403. CASE
  12404. WHEN c.nzdls <
  12405. CASE
  12406. WHEN IFNULL(d.fZls, 0) < rr.zl
  12407. THEN rr.zl
  12408. ELSE IFNULL(d.fZls, 0)
  12409. END
  12410. THEN
  12411. CASE
  12412. WHEN IFNULL(d.fZls, 0) < rr.zl
  12413. THEN rr.zl
  12414. ELSE IFNULL(d.fZls, 0)
  12415. END
  12416. ELSE c.nzdls
  12417. END
  12418. )
  12419. END
  12420. ELSE 0
  12421. END
  12422. ELSE
  12423. CASE
  12424. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12425. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12426. CASE
  12427. WHEN a.cCyddxMc = '装配'
  12428. OR a.cCyddxMc LIKE '%正文%'
  12429. OR a.cCyddxMc LIKE '%答案%'
  12430. OR a.cCyddxMc LIKE '%卷%'
  12431. THEN
  12432. CASE
  12433. WHEN CASE
  12434. WHEN IFNULL(d.fZls, 0) < rr.zl
  12435. THEN rr.zl
  12436. ELSE IFNULL(d.fZls, 0)
  12437. END = 0
  12438. THEN c.nzdls
  12439. ELSE (
  12440. CASE
  12441. WHEN c.nzdls <
  12442. CASE
  12443. WHEN IFNULL(d.fZls, 0) < rr.zl
  12444. THEN rr.zl
  12445. ELSE IFNULL(d.fZls, 0)
  12446. END
  12447. THEN
  12448. CASE
  12449. WHEN IFNULL(d.fZls, 0) < rr.zl
  12450. THEN rr.zl
  12451. ELSE IFNULL(d.fZls, 0)
  12452. END
  12453. ELSE c.nzdls
  12454. END
  12455. )
  12456. END
  12457. ELSE 0
  12458. END
  12459. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12460. END
  12461. END )
  12462. , 3) 骑22乙纸令
  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','=','骑马联动02号(乙班)')
  12471. ->where('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. $EE = 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. ROUND(SUM(
  12481. CASE
  12482. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12483. THEN
  12484. CASE
  12485. WHEN a.cCyddxMc = '装配'
  12486. OR a.cCyddxMc LIKE '%正文%'
  12487. OR a.cCyddxMc LIKE '%答案%'
  12488. OR a.cCyddxMc LIKE '%卷%'
  12489. THEN
  12490. CASE
  12491. WHEN CASE
  12492. WHEN IFNULL(d.fZls, 0) < rr.zl
  12493. THEN rr.zl
  12494. ELSE IFNULL(d.fZls, 0)
  12495. END = 0
  12496. THEN c.nzdls
  12497. ELSE (
  12498. CASE
  12499. WHEN c.nzdls <
  12500. CASE
  12501. WHEN IFNULL(d.fZls, 0) < rr.zl
  12502. THEN rr.zl
  12503. ELSE IFNULL(d.fZls, 0)
  12504. END
  12505. THEN
  12506. CASE
  12507. WHEN IFNULL(d.fZls, 0) < rr.zl
  12508. THEN rr.zl
  12509. ELSE IFNULL(d.fZls, 0)
  12510. END
  12511. ELSE c.nzdls
  12512. END
  12513. )
  12514. END
  12515. ELSE 0
  12516. END
  12517. ELSE
  12518. CASE
  12519. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12520. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12521. CASE
  12522. WHEN a.cCyddxMc = '装配'
  12523. OR a.cCyddxMc LIKE '%正文%'
  12524. OR a.cCyddxMc LIKE '%答案%'
  12525. OR a.cCyddxMc LIKE '%卷%'
  12526. THEN
  12527. CASE
  12528. WHEN CASE
  12529. WHEN IFNULL(d.fZls, 0) < rr.zl
  12530. THEN rr.zl
  12531. ELSE IFNULL(d.fZls, 0)
  12532. END = 0
  12533. THEN c.nzdls
  12534. ELSE (
  12535. CASE
  12536. WHEN c.nzdls <
  12537. CASE
  12538. WHEN IFNULL(d.fZls, 0) < rr.zl
  12539. THEN rr.zl
  12540. ELSE IFNULL(d.fZls, 0)
  12541. END
  12542. THEN
  12543. CASE
  12544. WHEN IFNULL(d.fZls, 0) < rr.zl
  12545. THEN rr.zl
  12546. ELSE IFNULL(d.fZls, 0)
  12547. END
  12548. ELSE c.nzdls
  12549. END
  12550. )
  12551. END
  12552. ELSE 0
  12553. END
  12554. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12555. END
  12556. END )
  12557. , 3) 骑33甲纸令
  12558. ")
  12559. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12560. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12561. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12562. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12563. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12564. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12565. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  12566. ->where('a.cTechName' ,'=','骑马联动')
  12567. ->group("CASE
  12568. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12569. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12570. END,Name_WorkGroup")
  12571. ->buildSql();
  12572. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  12573. ->field("
  12574. 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,
  12575. ROUND(SUM(
  12576. CASE
  12577. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12578. THEN
  12579. CASE
  12580. WHEN a.cCyddxMc = '装配'
  12581. OR a.cCyddxMc LIKE '%正文%'
  12582. OR a.cCyddxMc LIKE '%答案%'
  12583. OR a.cCyddxMc LIKE '%卷%'
  12584. THEN
  12585. CASE
  12586. WHEN CASE
  12587. WHEN IFNULL(d.fZls, 0) < rr.zl
  12588. THEN rr.zl
  12589. ELSE IFNULL(d.fZls, 0)
  12590. END = 0
  12591. THEN c.nzdls
  12592. ELSE (
  12593. CASE
  12594. WHEN c.nzdls <
  12595. CASE
  12596. WHEN IFNULL(d.fZls, 0) < rr.zl
  12597. THEN rr.zl
  12598. ELSE IFNULL(d.fZls, 0)
  12599. END
  12600. THEN
  12601. CASE
  12602. WHEN IFNULL(d.fZls, 0) < rr.zl
  12603. THEN rr.zl
  12604. ELSE IFNULL(d.fZls, 0)
  12605. END
  12606. ELSE c.nzdls
  12607. END
  12608. )
  12609. END
  12610. ELSE 0
  12611. END
  12612. ELSE
  12613. CASE
  12614. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12615. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12616. CASE
  12617. WHEN a.cCyddxMc = '装配'
  12618. OR a.cCyddxMc LIKE '%正文%'
  12619. OR a.cCyddxMc LIKE '%答案%'
  12620. OR a.cCyddxMc LIKE '%卷%'
  12621. THEN
  12622. CASE
  12623. WHEN CASE
  12624. WHEN IFNULL(d.fZls, 0) < rr.zl
  12625. THEN rr.zl
  12626. ELSE IFNULL(d.fZls, 0)
  12627. END = 0
  12628. THEN c.nzdls
  12629. ELSE (
  12630. CASE
  12631. WHEN c.nzdls <
  12632. CASE
  12633. WHEN IFNULL(d.fZls, 0) < rr.zl
  12634. THEN rr.zl
  12635. ELSE IFNULL(d.fZls, 0)
  12636. END
  12637. THEN
  12638. CASE
  12639. WHEN IFNULL(d.fZls, 0) < rr.zl
  12640. THEN rr.zl
  12641. ELSE IFNULL(d.fZls, 0)
  12642. END
  12643. ELSE c.nzdls
  12644. END
  12645. )
  12646. END
  12647. ELSE 0
  12648. END
  12649. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12650. END
  12651. END )
  12652. , 3) 骑33乙纸令
  12653. ")
  12654. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12655. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12656. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12657. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12658. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12659. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12660. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  12661. ->where('a.cTechName' ,'=','骑马联动')
  12662. ->group("CASE
  12663. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12664. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12665. END,Name_WorkGroup")
  12666. ->buildSql();
  12667. $HH = Db::table('ql_report_feedback_day')->alias('a')
  12668. ->field("
  12669. 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,
  12670. ROUND(SUM(
  12671. CASE
  12672. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12673. THEN
  12674. CASE
  12675. WHEN a.cCyddxMc = '装配'
  12676. OR a.cCyddxMc LIKE '%正文%'
  12677. OR a.cCyddxMc LIKE '%答案%'
  12678. OR a.cCyddxMc LIKE '%卷%'
  12679. THEN
  12680. CASE
  12681. WHEN CASE
  12682. WHEN IFNULL(d.fZls, 0) < rr.zl
  12683. THEN rr.zl
  12684. ELSE IFNULL(d.fZls, 0)
  12685. END = 0
  12686. THEN c.nzdls
  12687. ELSE (
  12688. CASE
  12689. WHEN c.nzdls <
  12690. CASE
  12691. WHEN IFNULL(d.fZls, 0) < rr.zl
  12692. THEN rr.zl
  12693. ELSE IFNULL(d.fZls, 0)
  12694. END
  12695. THEN
  12696. CASE
  12697. WHEN IFNULL(d.fZls, 0) < rr.zl
  12698. THEN rr.zl
  12699. ELSE IFNULL(d.fZls, 0)
  12700. END
  12701. ELSE c.nzdls
  12702. END
  12703. )
  12704. END
  12705. ELSE 0
  12706. END
  12707. ELSE
  12708. CASE
  12709. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12710. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12711. CASE
  12712. WHEN a.cCyddxMc = '装配'
  12713. OR a.cCyddxMc LIKE '%正文%'
  12714. OR a.cCyddxMc LIKE '%答案%'
  12715. OR a.cCyddxMc LIKE '%卷%'
  12716. THEN
  12717. CASE
  12718. WHEN CASE
  12719. WHEN IFNULL(d.fZls, 0) < rr.zl
  12720. THEN rr.zl
  12721. ELSE IFNULL(d.fZls, 0)
  12722. END = 0
  12723. THEN c.nzdls
  12724. ELSE (
  12725. CASE
  12726. WHEN c.nzdls <
  12727. CASE
  12728. WHEN IFNULL(d.fZls, 0) < rr.zl
  12729. THEN rr.zl
  12730. ELSE IFNULL(d.fZls, 0)
  12731. END
  12732. THEN
  12733. CASE
  12734. WHEN IFNULL(d.fZls, 0) < rr.zl
  12735. THEN rr.zl
  12736. ELSE IFNULL(d.fZls, 0)
  12737. END
  12738. ELSE c.nzdls
  12739. END
  12740. )
  12741. END
  12742. ELSE 0
  12743. END
  12744. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12745. END
  12746. END )
  12747. , 3) 骑44甲纸令
  12748. ")
  12749. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12750. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12751. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12752. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12753. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12754. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12755. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  12756. ->where('a.cTechName' ,'=','骑马联动')
  12757. ->group("CASE
  12758. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12759. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12760. END,Name_WorkGroup")
  12761. ->buildSql();
  12762. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  12763. ->field("
  12764. 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,
  12765. ROUND(SUM(
  12766. CASE
  12767. WHEN a.nAmount >= a.nPAmount AND a.nAmount > IFNULL(d.izdsl, 0)
  12768. THEN
  12769. CASE
  12770. WHEN a.cCyddxMc = '装配'
  12771. OR a.cCyddxMc LIKE '%正文%'
  12772. OR a.cCyddxMc LIKE '%答案%'
  12773. OR a.cCyddxMc LIKE '%卷%'
  12774. THEN
  12775. CASE
  12776. WHEN CASE
  12777. WHEN IFNULL(d.fZls, 0) < rr.zl
  12778. THEN rr.zl
  12779. ELSE IFNULL(d.fZls, 0)
  12780. END = 0
  12781. THEN c.nzdls
  12782. ELSE (
  12783. CASE
  12784. WHEN c.nzdls <
  12785. CASE
  12786. WHEN IFNULL(d.fZls, 0) < rr.zl
  12787. THEN rr.zl
  12788. ELSE IFNULL(d.fZls, 0)
  12789. END
  12790. THEN
  12791. CASE
  12792. WHEN IFNULL(d.fZls, 0) < rr.zl
  12793. THEN rr.zl
  12794. ELSE IFNULL(d.fZls, 0)
  12795. END
  12796. ELSE c.nzdls
  12797. END
  12798. )
  12799. END
  12800. ELSE 0
  12801. END
  12802. ELSE
  12803. CASE
  12804. WHEN f.nCompleteAmount /*累计数量*/ > IFNULL(d.izdsl, 0) /*理论数量*/
  12805. THEN a.nAmount / NULLIF(f.nCompleteAmount, 0) *
  12806. CASE
  12807. WHEN a.cCyddxMc = '装配'
  12808. OR a.cCyddxMc LIKE '%正文%'
  12809. OR a.cCyddxMc LIKE '%答案%'
  12810. OR a.cCyddxMc LIKE '%卷%'
  12811. THEN
  12812. CASE
  12813. WHEN CASE
  12814. WHEN IFNULL(d.fZls, 0) < rr.zl
  12815. THEN rr.zl
  12816. ELSE IFNULL(d.fZls, 0)
  12817. END = 0
  12818. THEN c.nzdls
  12819. ELSE (
  12820. CASE
  12821. WHEN c.nzdls <
  12822. CASE
  12823. WHEN IFNULL(d.fZls, 0) < rr.zl
  12824. THEN rr.zl
  12825. ELSE IFNULL(d.fZls, 0)
  12826. END
  12827. THEN
  12828. CASE
  12829. WHEN IFNULL(d.fZls, 0) < rr.zl
  12830. THEN rr.zl
  12831. ELSE IFNULL(d.fZls, 0)
  12832. END
  12833. ELSE c.nzdls
  12834. END
  12835. )
  12836. END
  12837. ELSE 0
  12838. END
  12839. ELSE c.nzdls * a.nAmount / IFNULL(d.izdsl, 0)
  12840. END
  12841. END )
  12842. , 3) 骑44乙纸令
  12843. ")
  12844. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  12845. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  12846. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  12847. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  12848. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  12849. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  12850. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  12851. ->where('a.cTechName' ,'=','骑马联动')
  12852. ->group("CASE
  12853. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  12854. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  12855. END,Name_WorkGroup")
  12856. ->buildSql();
  12857. $db = Db::table($A . 'a')
  12858. ->field("
  12859. DISTINCT DATE(A.RQ) rq,
  12860. TRUNCATE(IFNULL(sum(b.骑1甲纸令数), 0) + IFNULL(sum(b1.骑1乙纸令数), 0)
  12861. + IFNULL(sum(C.骑2甲纸令数), 0) + IFNULL(sum(C1.骑2乙纸令数), 0)
  12862. + IFNULL(sum(D.骑3甲纸令数), 0) + IFNULL(sum(D1.骑3乙纸令数), 0)
  12863. + IFNULL(sum(E.骑4甲纸令数), 0) + IFNULL(sum(E1.骑4乙纸令数), 0)
  12864. + IFNULL(sum(Bb.骑11甲纸令), 0) + IFNULL(sum(cc.骑22甲纸令), 0)
  12865. + IFNULL(sum(ee.骑33甲纸令), 0) + IFNULL(sum(hh.骑44甲纸令), 0)
  12866. + IFNULL(sum(Bb1.骑11乙纸令), 0) + IFNULL(sum(cc1.骑22乙纸令), 0)
  12867. + IFNULL(sum(ee1.骑33乙纸令), 0) + IFNULL(sum(hh1.骑44乙纸令), 0), 0) 纸令数总计
  12868. ")
  12869. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  12870. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  12871. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  12872. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  12873. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  12874. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  12875. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  12876. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  12877. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  12878. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  12879. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  12880. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  12881. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  12882. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  12883. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  12884. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  12885. ->group('rq')
  12886. ->buildSql();
  12887. //使用GROUP BY对日期字段进行分组
  12888. //汇总每个月骑马纸令总和
  12889. $sql_final = Db::table($db . ' db')
  12890. ->field("
  12891. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  12892. ROUND(sum(db.纸令数总计),0) as qmzl
  12893. ")
  12894. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  12895. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  12896. ->select();
  12897. // 初始化数据
  12898. $i = 0;
  12899. $j = 0;
  12900. $k = 0;
  12901. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  12902. $currentYear = date("Y"); // 当前年份
  12903. $previousYear = (int)$currentYear - 1; // 去年
  12904. $previousTwoYear = (int)$currentYear - 2; // 前年
  12905. // 为三年的数据创建数组,初始值为0
  12906. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  12907. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12908. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  12909. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  12910. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  12911. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  12912. // 遍历查询结果并填充数据
  12913. foreach ($sql_final as $v) {
  12914. // 获取年份和月份
  12915. $year = substr($v['rq'], 0, 4);
  12916. $month = substr($v['rq'], 5, 2);
  12917. // 如果是前年数据
  12918. if ($year == $previousTwoYear) {
  12919. $list['series'][0]['data'][(int)$month - 1] = $v['qmzl'];
  12920. }
  12921. // 如果是去年数据
  12922. if ($year == $previousYear) {
  12923. $list['series'][1]['data'][(int)$month - 1] = $v['qmzl'];
  12924. }
  12925. // 如果是今年数据
  12926. if ($year == $currentYear) {
  12927. $list['series'][2]['data'][(int)$month - 1] = $v['qmzl'];
  12928. }
  12929. }
  12930. $res['status'] = 0;
  12931. $res['msg'] = '';
  12932. $res['data'] = $list;
  12933. $redis->set($redis_key, json_encode($res));
  12934. return json_encode($res);
  12935. }
  12936. //骑马纸令->接口调用
  12937. public function qmzl(){
  12938. $redis=redis();
  12939. $redis_key = md5('qmzl_redis');
  12940. $redis_data = $redis->get($redis_key);
  12941. return $redis_data;
  12942. }
  12943. //胶订册数->缓存调用
  12944. public function jdcs_redis(){
  12945. $redis=redis();
  12946. $redis_key = md5('jdcs_redis');
  12947. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  12948. ->union(function ($query) {
  12949. $query->table('scDayRpt_Teams')->alias('b')
  12950. ->field("DISTINCT DATE_FORMAT(
  12951. CASE
  12952. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  12953. ELSE b.dOnDuty
  12954. END,
  12955. '%Y-%m-%d'
  12956. ) AS RQ");
  12957. }, true)
  12958. ->buildSql();
  12959. $B = Db::table('cpjtfk')
  12960. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12961. ->field("
  12962. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12963. sum(iwcl) as 马1甲
  12964. ")
  12965. ->where('cpjtfk.cbanzu','=','马天尼(新)(甲班)')
  12966. ->group('drptdate,cbanzu')
  12967. ->buildSql();
  12968. $B1 = Db::table('cpjtfk')
  12969. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12970. ->field("
  12971. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12972. sum(iwcl) as 马1乙
  12973. ")
  12974. ->where('cpjtfk.cbanzu','=','马天尼(新)(乙班)')
  12975. ->group('drptdate,cbanzu')
  12976. ->buildSql();
  12977. $C = Db::table('cpjtfk')
  12978. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12979. ->field("
  12980. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12981. sum(iwcl) as 马2甲
  12982. ")
  12983. ->where('cpjtfk.cbanzu','=','马天尼2号(甲班)')
  12984. ->group('drptdate,cbanzu')
  12985. ->buildSql();
  12986. $C1 = Db::table('cpjtfk')
  12987. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12988. ->field("
  12989. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12990. sum(iwcl) as 马2乙
  12991. ")
  12992. ->where('cpjtfk.cbanzu','=','马天尼2号(乙班)')
  12993. ->group('drptdate,cbanzu')
  12994. ->buildSql();
  12995. $D = Db::table('cpjtfk')
  12996. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  12997. ->field("
  12998. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  12999. sum(iwcl) as 马3甲
  13000. ")
  13001. ->where('cpjtfk.cbanzu','=','无线胶订3号(甲班)')
  13002. ->group('drptdate,cbanzu')
  13003. ->buildSql();
  13004. $D1 = Db::table('cpjtfk')
  13005. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13006. ->field("
  13007. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13008. sum(iwcl) as 马3乙
  13009. ")
  13010. ->where('cpjtfk.cbanzu','=','无线胶订3号(乙班)')
  13011. ->group('drptdate,cbanzu')
  13012. ->buildSql();
  13013. $E = Db::table('cpjtfk')
  13014. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13015. ->field("
  13016. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13017. sum(iwcl) as 马4甲
  13018. ")
  13019. ->where('cpjtfk.cbanzu','=','无线胶订4号(甲班)')
  13020. ->group('drptdate,cbanzu')
  13021. ->buildSql();
  13022. $E1 = Db::table('cpjtfk')
  13023. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13024. ->field("
  13025. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13026. sum(iwcl) as 马4乙
  13027. ")
  13028. ->where('cpjtfk.cbanzu','=','无线胶订4号(乙班)')
  13029. ->group('drptdate,cbanzu')
  13030. ->buildSql();
  13031. $F = Db::table('cpjtfk')
  13032. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13033. ->field("
  13034. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13035. sum(iwcl) as 马5甲
  13036. ")
  13037. ->where('cpjtfk.cbanzu','=','无线胶订5号(甲班)')
  13038. ->group('drptdate,cbanzu')
  13039. ->buildSql();
  13040. $F1 = Db::table('cpjtfk')
  13041. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13042. ->field("
  13043. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13044. sum(iwcl) as 马5乙,
  13045. sum(mcyd.NZWyz * iWCl / 1000) as 马5乙纸令数
  13046. ")
  13047. ->where('cpjtfk.cbanzu','=','无线胶订5号(乙班)')
  13048. ->group('drptdate,cbanzu')
  13049. ->buildSql();
  13050. $rr = Db::table('scyddx')->alias('r')
  13051. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13052. ->group('r.ICYDID')
  13053. ->buildSql();
  13054. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13055. ->field("
  13056. 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,
  13057. sum(a.nAmount) as 马11甲")
  13058. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13059. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13060. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13061. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13062. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13063. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13064. ->where('Name_WorkGroup','=','胶订潮流1号(甲班)')
  13065. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13066. ->group("CASE
  13067. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13068. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13069. END,Name_WorkGroup")->buildSql();
  13070. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13071. ->field("
  13072. 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,
  13073. sum(a.nAmount) as 马11乙
  13074. ")
  13075. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13076. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13077. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13078. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13079. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13080. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13081. ->where('Name_WorkGroup','=','胶订潮流1号(乙班)')
  13082. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13083. ->group("CASE
  13084. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13085. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13086. END,Name_WorkGroup")
  13087. ->buildSql();
  13088. $CC = Db::table('ql_report_feedback_day')->alias('a')
  13089. ->field("
  13090. 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,
  13091. sum(a.nAmount) as 马22甲
  13092. ")
  13093. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13094. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13095. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13096. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13097. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13098. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13099. ->where('Name_WorkGroup','=','胶订潮流2号(甲班)')
  13100. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13101. ->group("CASE
  13102. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13103. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13104. END,Name_WorkGroup")
  13105. ->buildSql();
  13106. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  13107. ->field("
  13108. 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,
  13109. sum(a.nAmount) as 马22乙
  13110. ")
  13111. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13112. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13113. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13114. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13115. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13116. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13117. ->where('Name_WorkGroup','=','胶订潮流2号(乙班)')
  13118. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13119. ->group("CASE
  13120. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13121. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13122. END,Name_WorkGroup")
  13123. ->buildSql();
  13124. $EE = Db::table('ql_report_feedback_day')->alias('a')
  13125. ->field("
  13126. 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,
  13127. sum(a.nAmount) as 马33甲
  13128. ")
  13129. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13130. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13131. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13132. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13133. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13134. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13135. ->where('Name_WorkGroup','=','胶订精工1号(甲班)')
  13136. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13137. ->group("CASE
  13138. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13139. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13140. END,Name_WorkGroup")
  13141. ->buildSql();
  13142. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  13143. ->field("
  13144. 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,
  13145. sum(a.nAmount) as 马33乙
  13146. ")
  13147. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13148. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13149. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13150. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13151. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13152. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13153. ->where('Name_WorkGroup','=','胶订精工1号(乙班)')
  13154. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13155. ->group("CASE
  13156. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13157. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13158. END,Name_WorkGroup")
  13159. ->buildSql();
  13160. $HH = Db::table('ql_report_feedback_day')->alias('a')
  13161. ->field("
  13162. 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,
  13163. sum(a.nAmount) as 马44甲
  13164. ")
  13165. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13166. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13167. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13168. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13169. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13170. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13171. ->where('Name_WorkGroup','=','胶订精密达1号(甲班)')
  13172. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13173. ->group("CASE
  13174. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13175. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13176. END,Name_WorkGroup")
  13177. ->buildSql();
  13178. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  13179. ->field("
  13180. 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,
  13181. sum(a.nAmount) as 马44乙
  13182. ")
  13183. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13184. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13185. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13186. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13187. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13188. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13189. ->where('Name_WorkGroup','=','胶订精密达1号(乙班)')
  13190. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13191. ->group("CASE
  13192. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13193. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13194. END,Name_WorkGroup")
  13195. ->buildSql();
  13196. $XX = Db::table('ql_report_feedback_day')->alias('a')
  13197. ->field("
  13198. 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,
  13199. sum(a.nAmount) as 马55甲
  13200. ")
  13201. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13202. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13203. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13204. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13205. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13206. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13207. ->where('Name_WorkGroup','=','胶订精密达2号(甲班)')
  13208. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13209. ->group("CASE
  13210. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13211. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13212. END,Name_WorkGroup")
  13213. ->buildSql();
  13214. $XXX2 = Db::table('ql_report_feedback_day')->alias('a')
  13215. ->field("
  13216. 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,
  13217. sum(a.nAmount) as 马66甲
  13218. ")
  13219. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13220. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13221. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13222. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13223. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13224. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13225. ->where('Name_WorkGroup','=','胶订精密达3号(甲班)')
  13226. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13227. ->group("CASE
  13228. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13229. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13230. END,Name_WorkGroup")
  13231. ->buildSql();
  13232. $XXX3 = Db::table('ql_report_feedback_day')->alias('a')
  13233. ->field("
  13234. 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,
  13235. sum(a.nAmount) as 马77甲
  13236. ")
  13237. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13238. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13239. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13240. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13241. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13242. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13243. ->where('Name_WorkGroup','=','胶钉精密达3号(甲班)')
  13244. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13245. ->group("CASE
  13246. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13247. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13248. END,Name_WorkGroup")
  13249. ->buildSql();
  13250. $JDJ4 = Db::table('ql_report_feedback_day')->alias('a')
  13251. ->field("
  13252. 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,
  13253. sum(a.nAmount) as 马88甲
  13254. ")
  13255. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13256. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13257. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13258. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13259. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13260. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13261. ->where('Name_WorkGroup','=','胶订精密达4号(甲班)')
  13262. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13263. ->group("CASE
  13264. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13265. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13266. END,Name_WorkGroup")
  13267. ->buildSql();
  13268. $XX1 = Db::table('ql_report_feedback_day')->alias('a')
  13269. ->field("
  13270. 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,
  13271. sum(a.nAmount) as 马55乙
  13272. ")
  13273. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13274. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13275. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13276. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13277. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13278. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13279. ->where('Name_WorkGroup','=','胶订精密达2号(乙班)')
  13280. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13281. ->group("CASE
  13282. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13283. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13284. END,Name_WorkGroup")
  13285. ->buildSql();
  13286. $XX2 = Db::table('ql_report_feedback_day')->alias('a')
  13287. ->field("
  13288. 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,
  13289. sum(a.nAmount) as 马66乙
  13290. ")
  13291. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13292. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13293. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13294. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13295. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13296. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13297. ->where('Name_WorkGroup','=','胶订精密达3号(乙班)')
  13298. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13299. ->group("CASE
  13300. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13301. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13302. END,Name_WorkGroup")
  13303. ->buildSql();
  13304. $XX3 = Db::table('ql_report_feedback_day')->alias('a')
  13305. ->field("
  13306. 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,
  13307. sum(a.nAmount) as 马77乙
  13308. ")
  13309. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13310. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13311. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13312. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13313. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13314. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13315. ->where('Name_WorkGroup','=','胶钉精密达3号(乙班)')
  13316. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13317. ->group("CASE
  13318. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13319. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13320. END,Name_WorkGroup")
  13321. ->buildSql();
  13322. $JDY4 = Db::table('ql_report_feedback_day')->alias('a')
  13323. ->field("
  13324. 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,
  13325. sum(a.nAmount) as 马88乙
  13326. ")
  13327. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13328. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13329. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13330. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13331. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13332. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13333. ->where('Name_WorkGroup','=','胶订精密达4号(乙班)')
  13334. ->whereIn('a.cTechName', ['胶订联动', '胶头'])
  13335. ->group("CASE
  13336. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13337. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13338. END,Name_WorkGroup")
  13339. ->buildSql();
  13340. $db = Db::table($A . 'a')
  13341. ->field("
  13342. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  13343. IFNULL(B.马1甲, 0) + IFNULL(B1.马1乙, 0)
  13344. + IFNULL(C.马2甲, 0) + IFNULL(C1.马2乙, 0)
  13345. + IFNULL(D.马3甲, 0) + IFNULL(D1.马3乙, 0)
  13346. + IFNULL(E.马4甲, 0) + IFNULL(E1.马4乙, 0)
  13347. + IFNULL(f.马5甲, 0) + IFNULL(f1.马5乙, 0)
  13348. + IFNULL(Bb.马11甲, 0) + IFNULL(Bb1.马11乙, 0)
  13349. + IFNULL(cc.马22甲, 0) + IFNULL(cc1.马22乙, 0)
  13350. + IFNULL(ee.马33甲, 0) + IFNULL(ee1.马33乙, 0)
  13351. + IFNULL( hh.马44甲, 0) + IFNULL(hh1.马44乙, 0)
  13352. + IFNULL(xx.马55甲, 0) + IFNULL(xx1.马55乙, 0)
  13353. + IFNULL(xxx2.马66甲, 0) + IFNULL(xx2.马66乙, 0)
  13354. + IFNULL(JDJ4.马88甲, 0) + IFNULL(JDY4.马88乙, 0)
  13355. + IFNULL(xxx3.马77甲, 0) + IFNULL(xx3.马77乙, 0) 总计册
  13356. ")
  13357. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13358. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  13359. ->join('(' . $C . ') as c', 'a.rq = c.rq','LEFT')
  13360. ->join('(' . $C1 . ') as c1', 'a.rq = c1.rq','LEFT')
  13361. ->join('(' . $D . ') as d', 'a.rq = d.rq','LEFT')
  13362. ->join('(' . $D1 . ') as d1', 'a.rq = d1.rq','LEFT')
  13363. ->join('(' . $E . ') as e', 'a.rq = e.rq','LEFT')
  13364. ->join('(' . $E1 . ') as e1', 'a.rq = e1.rq','LEFT')
  13365. ->join('(' . $F . ') as f', 'a.rq = f.rq','LEFT')
  13366. ->join('(' . $F1 . ') as f1', 'a.rq = f1.rq','LEFT')
  13367. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  13368. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  13369. ->join('(' . $CC . ') as cc', 'a.rq = cc.rq','LEFT')
  13370. ->join('(' . $CC1 . ') as cc1', 'a.rq = cc1.rq','LEFT')
  13371. ->join('(' . $EE . ') as ee', 'a.rq = ee.rq','LEFT')
  13372. ->join('(' . $EE1 . ') as ee1', 'a.rq = ee1.rq','LEFT')
  13373. ->join('(' . $HH . ') as hh', 'a.rq = hh.rq','LEFT')
  13374. ->join('(' . $HH1 . ') as hh1', 'a.rq = hh1.rq','LEFT')
  13375. ->join('(' . $XX . ') as xx', 'a.rq = xx.rq','LEFT')
  13376. ->join('(' . $XX1 . ') as xx1', 'a.rq = xx1.rq','LEFT')
  13377. ->join('(' . $XX2 . ') as xx2', 'a.rq = xx2.rq','LEFT')
  13378. ->join('(' . $XX3 . ') as xx3', 'a.rq = xx3.rq','LEFT')
  13379. ->join('(' . $XXX2 . ') as xxx2', 'a.rq = xxx2.rq','LEFT')
  13380. ->join('(' . $XXX3 . ') as xxx3', 'a.rq = xxx3.rq','LEFT')
  13381. ->join('(' . $JDJ4 . ') as JDJ4', 'a.rq = JDJ4.rq','LEFT')
  13382. ->join('(' . $JDY4 . ') as JDY4', 'a.rq = JDY4.rq','LEFT')
  13383. ->buildSql();
  13384. $sql_final = Db::table($db . ' db')
  13385. ->field("
  13386. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13387. ROUND(sum(db.总计册), 0) as jdcs
  13388. ")
  13389. ->where("db.RQ >= '{$this->qianstart_time()}'
  13390. AND db.RQ <= '{$this->end_time()}' ")
  13391. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13392. ->select();
  13393. // 初始化数据
  13394. $i = 0;
  13395. $j = 0;
  13396. $k = 0;
  13397. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13398. $currentYear = date("Y"); // 当前年份
  13399. $previousYear = (int)$currentYear - 1; // 去年
  13400. $previousTwoYear = (int)$currentYear - 2; // 前年
  13401. // 为三年的数据创建数组,初始值为0
  13402. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13403. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13404. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13405. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13406. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13407. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13408. // 遍历查询结果并填充数据
  13409. foreach ($sql_final as $v) {
  13410. // 获取年份和月份
  13411. $year = substr($v['rq'], 0, 4);
  13412. $month = substr($v['rq'], 5, 2);
  13413. // 如果是前年数据
  13414. if ($year == $previousTwoYear) {
  13415. $list['series'][0]['data'][(int)$month - 1] = $v['jdcs'];
  13416. }
  13417. // 如果是去年数据
  13418. if ($year == $previousYear) {
  13419. $list['series'][1]['data'][(int)$month - 1] = $v['jdcs'];
  13420. }
  13421. // 如果是今年数据
  13422. if ($year == $currentYear) {
  13423. $list['series'][2]['data'][(int)$month - 1] = $v['jdcs'];
  13424. }
  13425. }
  13426. $res['status'] = 0;
  13427. $res['msg'] = '';
  13428. $res['data'] = $list;
  13429. $redis->set($redis_key, json_encode($res));
  13430. return json_encode($res);
  13431. }
  13432. //胶订册数->接口调用
  13433. public function jdcs(){
  13434. $redis=redis();
  13435. $redis_key = md5('jdcs_redis');
  13436. $redis_data = $redis->get($redis_key);
  13437. return $redis_data;
  13438. }
  13439. //精装册数->缓存调用
  13440. public function jzcs_redis(){
  13441. $redis=redis();
  13442. $redis_key = md5('jzcs_redis');
  13443. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  13444. ->union(function ($query) {
  13445. $query->table('scDayRpt_Teams')->alias('b')
  13446. ->field("DISTINCT DATE_FORMAT(
  13447. CASE
  13448. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  13449. ELSE b.dOnDuty
  13450. END,
  13451. '%Y-%m-%d'
  13452. ) AS RQ");
  13453. }, true)
  13454. ->buildSql();
  13455. //精1甲、精1甲纸令数
  13456. $B = Db::table('cpjtfk')
  13457. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13458. ->field("
  13459. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13460. sum(iwcl) as 精1甲
  13461. ")
  13462. ->where('cpjtfk.cbanzu','=','精装生产联动线(甲班)')
  13463. ->group('drptdate,cbanzu')
  13464. ->buildSql();
  13465. //精1乙 精1乙纸令数
  13466. $B1 = Db::table('cpjtfk')
  13467. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13468. ->field("
  13469. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13470. sum(iwcl) as 精1乙
  13471. ")
  13472. ->where('cpjtfk.cbanzu','=','精装生产联动线(乙班)')
  13473. ->group('drptdate,cbanzu')
  13474. ->buildSql();
  13475. $rr = Db::table('scyddx')->alias('r')
  13476. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13477. ->group('r.ICYDID')
  13478. ->buildSql();
  13479. //精11甲--精11甲纸令
  13480. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13481. ->field("
  13482. 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,
  13483. sum(a.nAmount) as 精11甲
  13484. ")
  13485. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13486. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13487. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13488. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13489. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13490. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13491. ->where('Name_WorkGroup','=','精装联动线01号(甲班)')
  13492. ->where('a.cTechName' ,'=','精装联动')
  13493. ->group("CASE
  13494. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13495. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13496. END,Name_WorkGroup")
  13497. ->buildSql();
  13498. //精11乙--精11乙纸令
  13499. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13500. ->field("
  13501. 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,
  13502. sum(a.nAmount) as 精11乙
  13503. ")
  13504. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13505. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13506. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13507. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13508. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13509. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13510. ->where('Name_WorkGroup','=','精装联动线01号(乙班)')
  13511. ->where('a.cTechName' ,'=','精装联动')
  13512. ->group("CASE
  13513. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13514. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13515. END,Name_WorkGroup")
  13516. ->buildSql();
  13517. $db = Db::table($A . 'a')
  13518. ->field("
  13519. DISTINCT DATE_FORMAT(A.RQ, '%Y-%m-%d') AS rq,
  13520. IFNULL(B.精1甲, 0) + IFNULL(B1.精1乙, 0) + IFNULL(Bb.精11甲, 0) + IFNULL(Bb1.精11乙, 0) as 总计册
  13521. ")
  13522. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13523. ->join('(' . $B1 . ') as b1', 'a.rq = b1.rq','LEFT')
  13524. ->join('(' . $Bb . ') as bb', 'a.rq = bb.rq','LEFT')
  13525. ->join('(' . $Bb1 . ') as bb1', 'a.rq = bb1.rq','LEFT')
  13526. ->buildSql();
  13527. $sql_final = Db::table($db . ' db')
  13528. ->field("
  13529. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13530. ROUND(sum(db.总计册), 0) as jzcs
  13531. ")
  13532. ->where("db.RQ >= '{$this->qianstart_time()}'
  13533. AND db.RQ <= '{$this->end_time()}' ")
  13534. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13535. ->select();
  13536. // 初始化数据
  13537. $i = 0;
  13538. $j = 0;
  13539. $k = 0;
  13540. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13541. $currentYear = date("Y"); // 当前年份
  13542. $previousYear = (int)$currentYear - 1; // 去年
  13543. $previousTwoYear = (int)$currentYear - 2; // 前年
  13544. // 为三年的数据创建数组,初始值为0
  13545. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13546. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13547. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13548. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13549. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13550. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13551. // 遍历查询结果并填充数据
  13552. foreach ($sql_final as $v) {
  13553. // 获取年份和月份
  13554. $year = substr($v['rq'], 0, 4);
  13555. $month = substr($v['rq'], 5, 2);
  13556. // 如果是前年数据
  13557. if ($year == $previousTwoYear) {
  13558. $list['series'][0]['data'][(int)$month - 1] = $v['jzcs'];
  13559. }
  13560. // 如果是去年数据
  13561. if ($year == $previousYear) {
  13562. $list['series'][1]['data'][(int)$month - 1] = $v['jzcs'];
  13563. }
  13564. // 如果是今年数据
  13565. if ($year == $currentYear) {
  13566. $list['series'][2]['data'][(int)$month - 1] = $v['jzcs'];
  13567. }
  13568. }
  13569. $res['status'] = 0;
  13570. $res['msg'] = '';
  13571. $res['data'] = $list;
  13572. $redis->set($redis_key, json_encode($res));
  13573. return json_encode($res);
  13574. }
  13575. //精装册数->接口调用
  13576. public function jzcs(){
  13577. $redis=redis();
  13578. $redis_key = md5('jzcs_redis');
  13579. $redis_data = $redis->get($redis_key);
  13580. return $redis_data;
  13581. }
  13582. //骑马册数->缓存调用
  13583. public function qmcs_redis(){
  13584. $redis=redis();
  13585. $redis_key = md5('qmcs_redis');
  13586. //1.使用`Db::table('cpjtfk')`来指定查询的数据表是'cpjtfk'。
  13587. //3.使用`union()`方法进行联合查询。在联合查询中,使用了一个闭包函数来构建子查询。
  13588. //4.在子查询中,使用`table('scDayRpt_Teams')->alias('b')`来指定查询的数据表是'scDayRpt_Teams',并给该表设置了别名'b'。
  13589. //5.使用`field()`方法指定要查询的字段列表,这里是将dOnDuty字段进行一系列操作,包括判断条件和日期格式化。
  13590. //6.使用`buildSql()`方法生成最终的SQL查询语句,并将生成的SQL语句作为A变量的值。
  13591. //7.根据代码的逻辑,变量A生成了一个联合查询的SQL语句,用于查询'cpjtfk'表和'scDayRpt_Teams'表中的日期字段,并按照指定格式进行格式化。
  13592. $A = Db::table('cpjtfk')->field("DISTINCT DATE_FORMAT(drptdate, '%Y-%m-%d') AS rq")
  13593. ->union(function ($query) {
  13594. $query->table('scDayRpt_Teams')->alias('b')
  13595. ->field("DISTINCT DATE_FORMAT(
  13596. CASE
  13597. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i:%s') < '06:30:00' THEN DATE_SUB(b.dOnDuty, INTERVAL 1 DAY)
  13598. ELSE b.dOnDuty
  13599. END,
  13600. '%Y-%m-%d'
  13601. ) AS RQ");
  13602. }, true)
  13603. ->buildSql();
  13604. //每个变量($B, $B1, $C, $C1, $D, $D1, $E, $E1)都是构建SQL查询语句的过程。
  13605. //通过调用Db::table('cpjtfk')来指定查询的数据表是'cpjtfk'。
  13606. //然后使用join()方法进行表连接,将'cpjtfk'表与'mcyd'表进行左连接,连接条件为'mcyd.ICYDID = cpjtfk.ID_CYD'。
  13607. //使用field()方法指定查询的字段列表,并可以使用sum()函数对字段进行求和计算。
  13608. //使用where()方法指定筛选条件,只返回满足条件的数据。最后,使用group()方法指定分组的字段。
  13609. //最后,使用buildSql()方法生成最终的SQL查询语句,并将生成的SQL语句作为变量的值。
  13610. //根据代码的逻辑,每个变量都生成了一个SQL查询语句,用于查询不同班组的订单信息
  13611. $B = Db::table('cpjtfk')
  13612. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13613. ->field("
  13614. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13615. sum(iwcl) as 骑1甲
  13616. ")
  13617. ->where('cpjtfk.cbanzu','=','进口骑马联动(甲班)')
  13618. ->group('drptdate,cbanzu')
  13619. ->buildSql();
  13620. $B1 = Db::table('cpjtfk')
  13621. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13622. ->field("
  13623. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13624. sum(iwcl) as 骑1乙
  13625. ")
  13626. ->where('cpjtfk.cbanzu','=','进口骑马联动(乙班)')
  13627. ->group('drptdate,cbanzu')
  13628. ->buildSql();
  13629. $C = Db::table('cpjtfk')
  13630. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13631. ->field("
  13632. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13633. sum(iwcl) as 骑2甲
  13634. ")
  13635. ->where('cpjtfk.cbanzu','=','恒山骑订联动(甲班)')
  13636. ->group('drptdate,cbanzu')
  13637. ->buildSql();
  13638. $C1 = Db::table('cpjtfk')
  13639. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13640. ->field("
  13641. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13642. sum(iwcl) as 骑2乙
  13643. ")
  13644. ->where('cpjtfk.cbanzu','=','恒山骑订联动(乙班)')
  13645. ->group('drptdate,cbanzu')
  13646. ->buildSql();
  13647. $D = Db::table('cpjtfk')
  13648. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13649. ->field("
  13650. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13651. sum(iwcl) as 骑3甲
  13652. ")
  13653. ->where('cpjtfk.cbanzu','=','紫光骑马联动(甲班)')
  13654. ->group('drptdate,cbanzu')
  13655. ->buildSql();
  13656. $D1 = Db::table('cpjtfk')
  13657. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13658. ->field("
  13659. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13660. sum(iwcl) as 骑3乙
  13661. ")
  13662. ->where('cpjtfk.cbanzu','=','紫光骑马联动(乙班)')
  13663. ->group('drptdate,cbanzu')
  13664. ->buildSql();
  13665. $E = Db::table('cpjtfk')
  13666. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13667. ->field("
  13668. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13669. sum(iwcl) as 骑4甲
  13670. ")
  13671. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(甲班)')
  13672. ->group('drptdate,cbanzu')
  13673. ->buildSql();
  13674. $E1 = Db::table('cpjtfk')
  13675. ->join('mcyd','mcyd.ICYDID = cpjtfk.ID_CYD','LEFT')
  13676. ->field("
  13677. DATE_FORMAT(cpjtfk.drptdate,'%Y-%m-%d') as rq,
  13678. sum(iwcl) as 骑4乙
  13679. ")
  13680. ->where('cpjtfk.cbanzu','=','紫光骑马联动(新)(乙班)')
  13681. ->group('drptdate,cbanzu')
  13682. ->buildSql();
  13683. $rr = Db::table('scyddx')->alias('r')
  13684. ->field('r.ICYDID,sum(r.NYSLS) as zl')
  13685. ->group('r.ICYDID')
  13686. ->buildSql();
  13687. //1.首先,定义了一个查询语句,该查询语句涉及多个表的连接和字段的计算。
  13688. //2.使用别名$Bb表示主查询结果。
  13689. //3.查询的主要数据来源是表ql_report_feedback_day。
  13690. //4.在字段的计算中,使用了多个CASE和WHEN语句进行条件判断和计算逻辑。
  13691. //5.在查询中,使用了多个表的连接操作,包括scdayrpt_teams、scdayrpt_teams_jobcontent、scMachineJob、zdcp和mcyd。
  13692. //6.使用WHERE条件筛选出满足特定条件的记录,包括Name_WorkGroup等于'骑马联动01号(甲班)'和a.cTechName等于'骑马联动'。
  13693. //7.最后,使用GROUPBY对结果进行分组,根据日期和班组进行分组。
  13694. //8.通过buildSql方法生成最终的SQL查询语句
  13695. $Bb = Db::table('ql_report_feedback_day')->alias('a')
  13696. ->field("
  13697. 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,
  13698. sum(a.nAmount) as 骑11甲
  13699. ")
  13700. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13701. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13702. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13703. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13704. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13705. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13706. ->where('Name_WorkGroup','=','骑马联动01号(甲班)')
  13707. ->where('a.cTechName' ,'=','骑马联动')
  13708. ->group("CASE
  13709. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13710. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13711. END,Name_WorkGroup")
  13712. ->buildSql();
  13713. $Bb1 = Db::table('ql_report_feedback_day')->alias('a')
  13714. ->field("
  13715. 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,
  13716. sum(a.nAmount) as 骑11乙
  13717. ")
  13718. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13719. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13720. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13721. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13722. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13723. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13724. ->where('Name_WorkGroup','=','骑马联动01号(乙班)')
  13725. ->where('a.cTechName' ,'=','骑马联动')
  13726. ->group("CASE
  13727. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13728. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13729. END,Name_WorkGroup")
  13730. ->buildSql();
  13731. $CC = Db::table('ql_report_feedback_day')->alias('a')
  13732. ->field("
  13733. 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,
  13734. sum(a.nAmount) as 骑22甲
  13735. ")
  13736. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13737. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13738. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13739. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13740. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13741. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13742. ->where('Name_WorkGroup','=','骑马联动02号(甲班)')
  13743. ->where('a.cTechName' ,'=','骑马联动')
  13744. ->group("CASE
  13745. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13746. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13747. END,Name_WorkGroup")
  13748. ->buildSql();
  13749. $CC1 = Db::table('ql_report_feedback_day')->alias('a')
  13750. ->field("
  13751. 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,
  13752. sum(a.nAmount) as 骑22乙
  13753. ")
  13754. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13755. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13756. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13757. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13758. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13759. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13760. ->where('Name_WorkGroup','=','骑马联动02号(乙班)')
  13761. ->where('a.cTechName' ,'=','骑马联动')
  13762. ->group("CASE
  13763. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13764. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13765. END,Name_WorkGroup")
  13766. ->buildSql();
  13767. $EE = Db::table('ql_report_feedback_day')->alias('a')
  13768. ->field("
  13769. 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,
  13770. sum(a.nAmount) as 骑33甲
  13771. ")
  13772. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13773. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13774. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13775. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13776. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13777. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13778. ->where('Name_WorkGroup','=','骑马联动03号(甲班)')
  13779. ->where('a.cTechName' ,'=','骑马联动')
  13780. ->group("CASE
  13781. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13782. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13783. END,Name_WorkGroup")
  13784. ->buildSql();
  13785. $EE1 = Db::table('ql_report_feedback_day')->alias('a')
  13786. ->field("
  13787. 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,
  13788. sum(a.nAmount) as 骑33乙
  13789. ")
  13790. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13791. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13792. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13793. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13794. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13795. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13796. ->where('Name_WorkGroup','=','骑马联动03号(乙班)')
  13797. ->where('a.cTechName' ,'=','骑马联动')
  13798. ->group("CASE
  13799. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13800. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13801. END,Name_WorkGroup")
  13802. ->buildSql();
  13803. $HH = Db::table('ql_report_feedback_day')->alias('a')
  13804. ->field("
  13805. 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,
  13806. sum(a.nAmount) as 骑44甲
  13807. ")
  13808. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13809. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13810. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13811. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13812. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13813. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13814. ->where('Name_WorkGroup','=','骑马联动04号(甲班)')
  13815. ->where('a.cTechName' ,'=','骑马联动')
  13816. ->group("CASE
  13817. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13818. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13819. END,Name_WorkGroup")
  13820. ->buildSql();
  13821. $HH1 = Db::table('ql_report_feedback_day')->alias('a')
  13822. ->field("
  13823. 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,
  13824. sum(a.nAmount) as 骑44乙
  13825. ")
  13826. ->join(['scdayrpt_teams' => 'b'], 'b.ID=a.ID_Teams and b.iDayRptStatus = 10','INNER')
  13827. ->join(['scdayrpt_teams_jobcontent' => 'q'], 'q.id = a.iJobContentID','INNER')
  13828. ->join(['scMachineJob' => 'f'], 'f.id = q.ID_JobM','INNER')
  13829. ->join(['zdcp' => 'd'], 'd.cSccpBh = LEFT(a.cMJobCode,14)','LEFT')
  13830. ->join('(' . $rr . ') as rr','rr.icydid = d.icydid','LEFT')
  13831. ->join(['mcyd' => 'c'], 'c.icydid = d.icydid','LEFT')
  13832. ->where('Name_WorkGroup','=','骑马联动04号(乙班)')
  13833. ->where('a.cTechName' ,'=','骑马联动')
  13834. ->group("CASE
  13835. WHEN DATE_FORMAT(b.dOnDuty, '%H:%i') < '06:30' THEN DATE_FORMAT(DATE_SUB(b.dOnDuty, INTERVAL 1 DAY), '%Y-%m-%d')
  13836. ELSE DATE_FORMAT(b.dOnDuty, '%Y-%m-%d')
  13837. END,Name_WorkGroup")
  13838. ->buildSql();
  13839. //1.首先,定义了一个查询语句,该语句涉及多个表的连接和字段的计算。
  13840. //2.代码中使用了别名$db来表示主查询结果。
  13841. //3.查询的主要数据来源是表$A.'a'。
  13842. //4.查询的字段包括总计册和纸令数总计,通过对多个子查询结果相加得到。
  13843. //5.在查询中使用了LEFT JOIN进行表连接操作,将子查询结果与主查询结果进行连接,通过日期a.rq进行匹配。
  13844. //6.使用buildSql()方法生成最终的SQL查询语句
  13845. $db = Db::table($A . 'a')
  13846. ->field("
  13847. DISTINCT DATE(A.RQ) rq,
  13848. TRUNCATE(IFNULL(sum(B.骑1甲), 0) + IFNULL(sum(B1.骑1乙), 0)
  13849. + IFNULL(sum(C.骑2甲), 0) + IFNULL(sum(C1.骑2乙), 0)
  13850. + IFNULL(sum(D.骑3甲), 0) + IFNULL(sum(D1.骑3乙), 0)
  13851. + IFNULL(sum(E.骑4甲), 0) + IFNULL(sum(E1.骑4乙), 0)
  13852. + IFNULL(sum(Bb.骑11甲), 0) + IFNULL(sum(Bb1.骑11乙), 0)
  13853. + IFNULL(sum(cc.骑22甲), 0) + IFNULL(sum(cc1.骑22乙), 0)
  13854. + IFNULL(sum(ee.骑33甲), 0) + IFNULL(sum(ee1.骑33乙), 0)
  13855. + IFNULL(sum(hh.骑44甲), 0) + IFNULL(sum(hh1.骑44乙), 0) , 0) 总计册
  13856. ")
  13857. ->join('(' . $B . ') as b', ' a.rq = b.rq','LEFT')
  13858. ->join('(' . $B1 . ') as b1', ' a.rq = b1.rq','LEFT')
  13859. ->join('(' . $C . ') as c', ' a.rq = c.rq','LEFT')
  13860. ->join('(' . $C1 . ') as c1', ' a.rq = c1.rq','LEFT')
  13861. ->join('(' . $D . ') as d', ' a.rq = d.rq','LEFT')
  13862. ->join('(' . $D1 . ') as d1', ' a.rq = d1.rq','LEFT')
  13863. ->join('(' . $E . ') as e', ' a.rq = e.rq','LEFT')
  13864. ->join('(' . $E1 . ') as e1', ' a.rq = e1.rq','LEFT')
  13865. ->join('(' . $Bb . ') as bb', ' a.rq = bb.rq','LEFT')
  13866. ->join('(' . $Bb1 . ')as bb1', 'a.rq = bb1.rq','LEFT')
  13867. ->join('(' . $CC . ') as cc', ' a.rq = cc.rq','LEFT')
  13868. ->join('(' . $CC1 . ')as cc1', 'a.rq = cc1.rq','LEFT')
  13869. ->join('(' . $EE . ') as ee', ' a.rq = ee.rq','LEFT')
  13870. ->join('(' . $EE1 . ')as ee1', 'a.rq = ee1.rq','LEFT')
  13871. ->join('(' . $HH . ') as hh', ' a.rq = hh.rq','LEFT')
  13872. ->join('(' . $HH1 . ')as hh1', 'a.rq = hh1.rq','LEFT')
  13873. ->group('rq')
  13874. ->buildSql();
  13875. $sql_final = Db::table($db . ' db')
  13876. ->field("
  13877. DATE_FORMAT(db.rq, '%Y-%m') as rq,
  13878. ROUND(sum(db.总计册), 3) as qmcs
  13879. ")
  13880. ->where("db.rq >= '{$this->qianstart_time()}'AND db.rq <= '{$this->end_time()}' ")
  13881. ->group("DATE_FORMAT(db.rq, '%Y-%m')")
  13882. ->select();
  13883. // 初始化数据
  13884. $i = 0;
  13885. $j = 0;
  13886. $k = 0;
  13887. $list['categories'] = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
  13888. $currentYear = date("Y"); // 当前年份
  13889. $previousYear = (int)$currentYear - 1; // 去年
  13890. $previousTwoYear = (int)$currentYear - 2; // 前年
  13891. // 为三年的数据创建数组,初始值为0
  13892. $list['series'][0]['name'] = $previousTwoYear . '年'; // 前年
  13893. $list['series'][0]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13894. $list['series'][1]['name'] = $previousYear . '年'; // 去年
  13895. $list['series'][1]['data'] = array_fill(0, 12, 0); // 初始化为12个月的数据
  13896. $list['series'][2]['name'] = $currentYear . '年'; // 今年
  13897. $list['series'][2]['data'] = array_fill(0, (int)date("m"), 0); // 初始化到当前月份的数据
  13898. // 遍历查询结果并填充数据
  13899. foreach ($sql_final as $v) {
  13900. // 获取年份和月份
  13901. $year = substr($v['rq'], 0, 4);
  13902. $month = substr($v['rq'], 5, 2);
  13903. // 如果是前年数据
  13904. if ($year == $previousTwoYear) {
  13905. $list['series'][0]['data'][(int)$month - 1] = $v['qmcs'];
  13906. }
  13907. // 如果是去年数据
  13908. if ($year == $previousYear) {
  13909. $list['series'][1]['data'][(int)$month - 1] = $v['qmcs'];
  13910. }
  13911. // 如果是今年数据
  13912. if ($year == $currentYear) {
  13913. $list['series'][2]['data'][(int)$month - 1] = $v['qmcs'];
  13914. }
  13915. }
  13916. $res['status'] = 0;
  13917. $res['msg'] = '';
  13918. $res['data'] = $list;
  13919. $redis->set($redis_key, json_encode($res));
  13920. return json_encode($res);
  13921. }
  13922. //骑马册数->接口调用
  13923. public function qmcs(){
  13924. $redis=redis();
  13925. $redis_key = md5('qmcs_redis');
  13926. $redis_data = $redis->get($redis_key);
  13927. return $redis_data;
  13928. }
  13929. }